Converter PNG para JPG com PHP

2 respostas Resolvido
php
wferreiracosta

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

javaflex

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?

wferreiracosta
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