J'essaye de convertir un JPG (bien n'importe quelle image) en PNG. J'ai un formulaire HTML qui affiche l'image très bien sur le serveur. J'ai besoin de renommer ce fichier et aussi le convertir en PNG. Plus tard dans mon code après avoir fait une insertion de base de données de table liée, je renommer le fichier encore une fois pour ajouter l'ID d'enregistrement au nom de fichier pour assurer son unicité. Je suis plus un programmeur objectif C que PHP, donc je me bats ici avec ce code que j'ai trouvé dans d'autres questions qui ne semblent pas fonctionner pour moi.PHP Convertir l'image POST en PNG
est ici print_r($_FILES);
Array ([image] => Array ([name] => BBnL9Ho.jpg [type] => image/jpeg [tmp_name] => /tmp/phphhqHam [error] => 0 [size] => 1636))
Alors, je veux le convertir en PNG et renommer BBnL9Ho.jpg to image1.png
. Je l'ai essayé d'utiliser le code suivant, mais en vain:
$newfileName = imagepng(imagecreatefromjpeg($_FILES['image']['tmp_name']), "image1.png");
plus tard après que je fais une table de base de données associée INSERT, je change le nom à nouveau et ajouter l'ID de l'enregistrement de base de données associée (je stocke le nom du fichier table séparée puis reste des données de formulaire en raison d'un à plusieurs):
$fileName="$lastinsertID".$newfileName;
puis-je insérer ce nom dans la base de données qui entre correctement. Je dois ensuite déplacer le fichier vers un répertoire de téléchargement que j'essaie de faire comme suit:
move_uploaded_file("$fileName",$dir . $fileName);
Voici où est mon problème. Le fichier ne bouge pas et quand je vérifie les attributs du fichier, il semble qu'il n'ait pas réellement converti le fichier. Je l'utilise pour vérifier le type:
$fileType = $_FILES["image"]["type"];
et il montre encore qu'il s'agit d'un fichier JPG. Je dois manquer quelque chose de très évident mais j'apprécierais de l'aide.
Merci beaucoup. Utilisez le script suivant pour convertir une image (JPEG, PNG et GIF) au format PNG.
Wow, c'est génial! Je vous remercie! Je vais travailler sur la mise en œuvre et revenir vers vous. Merci beaucoup! Il me faudra peut-être quelques jours pour y revenir. – mreynol
@mreynol De rien. Faites-moi savoir sur les progrès. –
D'accord, j'ai été capable de donner un coup de feu et c'est allé beaucoup plus loin. Il a converti l'image en PNG !! :) Il stockait également le nouveau nom d'image dans la base de données, mais il avait ajouté le nom du répertoire dans lequel je voulais le déplacer, au nom de fichier dans la base de données. En outre, il n'a pas déplacé le fichier vers mon emplacement $ dir. Enfin, je voudrais que l'image résultante soit (lastinsertID) image1.png (par exemple 12345image1.png). – mreynol