Converter PNG para JPG com PHP

2 respostas Resolvido
php
W

Estou tentando converter um arquivo .png para .jpg usando a API do CloudConvert mas da o seguinte erro:

cURL error 7: Failed to connect to api.cloudconvert.com port 443: Timed out (see http://curl.haxx.se/libcurl/c/libcurl-errors.html)
Não Converteu!!!

O codigo é o seguinte:

<!DOCTYPE html>
<html>
<head>
	<title>PHP - Cloudconvert API Example</title>
</head>
<body>
<div class="container">
<form method="POST" action="indexPro.php" enctype="multipart/form-data">
    <div class="form-group">
        <label>Add Image:</label>
        <input type="file" name="file" class="form-control">
    </div>
    <div class="form-group">
        <button class="btn btn-success">Submit</button>
    </div>
</form>
</div>
</body>
</html>

<?php
require 'phar://cloudconvert-php.phar/vendor/autoload.php';
set_time_limit(0);
use \CloudConvert\Api;

$api = new Api("API Key");

if(!empty($_FILES["file"])){
	try {
		$ext = pathinfo($_FILES['file']['name'], PATHINFO_EXTENSION);
		$uploadFilePath = 'conversoes\slide.'.$ext;
		move_uploaded_file($_FILES['file']['tmp_name'], $uploadFilePath);
		
	$api->convert([
		"inputformat" => $ext,
		"outputformat" => "jpg",
		"input" => "upload",
		"save" => true,
		"file" => fopen($uploadFilePath, 'r'),
	])
	->wait()
	->download('conversoes\\slide.jpg');


	} catch (Exception $e) {
		echo $e->getMessage()."<br>";
	}

	if(file_exists('conversoes/output.jpg')){
		echo ("Converteu!!!");
	} else {
		echo "Não Converteu!!!";
	}

	exit;
}else{
	print_r("Pls Select image");
	exit;
}
?>

2 Respostas

J

Entrou na página indicada pela mensagem? Fora isso, tem que ver com o suporte de quem fornece essa API.

Mas por que está usando este serviço ao invés de converter de png pra jpg na sua própria aplicação?

W
Solucao aceita

Na verdade estou usando imagens para testar a API. o erro era que a rede estava impedindo a comunicação com o servidor da API.
Eu já testei e funcionou o código está a baixo.

<?php

error_reporting(0);

require 'phar://cloudconvert-php.phar/vendor/autoload.php';

use \CloudConvert\Api;

mkdir(dirname(__FILE__).'\conversoes', 0777, true);

$api = new Api("API Key");
$outputRange = "swf";
$outputFile = 'conversoes\output.'.$outputRange;

unlink($outputFile);

if(!empty($_FILES["file"])){
    try {

        $ext = pathinfo($_FILES['file']['name'], PATHINFO_EXTENSION);
        $uploadFilePath = 'conversoes\input.'.$ext;
        move_uploaded_file($_FILES['file']['tmp_name'], $uploadFilePath);

        $api->convert([
            'inputformat' => $ext,
            'outputformat' => $outputRange,
            'input' => 'upload',
            'file' => fopen($uploadFilePath, 'r'),
        ])
        ->wait()
        ->download($outputFile);

        unlink($uploadFilePath);

    } catch (Exception $e) {
        echo $e->getMessage() . "<br>";
    }

    if(file_exists($outputFile)){
        echo ("Foi convertido!!!");
    }else{
        echo ("Não foi convertido!!!");
    }

    exit;
}else{
    print_r("Pls Select image");
    exit;
}
Criado 15 de fevereiro de 2018
Ultima resposta 16 de fev. de 2018
Respostas 2
Participantes 2