slywalker | Bonsoir à tous,
je viens vers vous car là je commence à m'arracher les cheveux. Je pose les bases : je débute en php et le script suivant est le résultat de recherches sur le net avec une partie arrangée à ma sauce.
Le but de mon script est d'uploader des images sur un serveur. Cette fonction marche très bien, il n'y a pas de soucis. Maintenant le but c'est que quelle que soit l'image uploadée, elle soit resizée en 800*600. Et là, ça coince ! pour info, ce script est exécuté sur une page perso free !
voici donc mon fameux script :
Code :
- <html>
- <HEAD>
- <TITLE>Dynetpomme.fr : upload d'images</TITLE>
- </HEAD>
- <body text="FFB432" link="888888" vlink="888888" bgcolor="000000">
- <center>
- <?php
- $width_maxi = "800";
- $height_maxi = "600";
- $taille_maxi = 1024000;
- $fichier = $_FILES['fichier']['name'];
- $taille=$_FILES['fichier']['size'];
- $tmp = $_FILES['fichier']['tmp_name'];
- $size_tmp=getimagesize ($tmp);
- $valid_ext = array('png', 'PNG', 'gif', 'GIF', 'jpg', 'JPG', 'jpeg', 'JPEG');
- $ratio=$size_tmp[0]/$width_maxi;
- if ($fichier !="none" ) {
- if (!in_array( substr(strrchr($fichier_name, '.'), 1), $valid_ext ) ){
- echo "<big>Veuillez selectionner un fichier de type png, gif ou jpg !</big>";
- }
- else{
- if (($taille < $taille_maxi)&&($size_tmp[0]<=$width_maxi)&&($size_tmp[1]<=$height_maxi)) {
- $point=strrpos($fichier, "." );
- if ($point)
- $extension=substr ($fichier, $point);
- else
- $extension ="";
- $date=date("ymdhis" );
- $chemin="images/";
- $nouveau_nom = $chemin.$date.$extension;
- if (move_uploaded_file($tmp, $nouveau_nom)) {
- echo "<big>Fichier ".$fichier." ajoute</big>";
- echo "<br><br>Pour afficher votre image dans une page du forum par exemple, inserer le code suivant : ";
- echo "<br><br><table bgcolor=white border=3 bordercolor='FFB432'><tr><td><font color=black><b></b></td></tr></table>";
- echo "<br><br><img src=".$nouveau_nom.">";
- }
- else {
- echo "<big>Transfert echoue</big>";
- echo "<br><br><br><br>La largeur de l'image ne doit pas etre superieure a $width_maxi pixels.";
- echo "<br><br>La hauteur de l'image ne doit pas etre superieure a $height_maxi pixels.";
- echo "<br><br>Le fichier ne doit pas depasser $taille_maxi Mo.<br>";
- }
- }
- else {
- $src=imagecreatefromjpeg($fichier);
- $newwidth=$size_tmp[0]/$ratio;
- $newheight=$size_tmp[1]/$ratio;
- $temp=imagecreatetruecolor($newwidth,$newheight);
- imagecopyresampled($temp,$src,0,0,0,0,$newwidth,$newheight,$size_tmp[0],$size_tmp[1]);
- $extension ="";
- $date=date("ymdhis" );
- $chemin="images/";
- $nouveau_nom = $chemin.$date.$extension;
- imagejpeg($temp,$nouveau_nom,100);
- imagedestroy($src);
- imagedestroy($tmp);
- echo "la nouvelle largeur est : $newwidth";
- echo "<br>la nouvelle hauteur est : $newheight";
- echo "<br>le ratio est : $ratio";
- }
- }
- }
- function form() {
- global $taille_maxi;
- echo '<hr/>';
- echo '<form enctype="multipart/form-data" action="upload.php" method="post">';
- echo '<p><input type="hidden" name="max_file_size" value="36120" />';
- echo 'Taille maximale du fichier acceptee: ' . ($taille_maxi / 1024000) . 'Mo';
- echo '<input name="fichier" type="file" size="35" />';
- echo '<input type="submit" value="Telecharger" id="bouton" />';
- echo '</p></form>';
- echo '</body></html>';
- }
- ?>
- <br>
- <br>
- <a href="index.html" target="_blank" onClick="self.window.close()"><b>[Retour a Dynetpomme]</b></a>
- <a href=upload.html><b>[Charger une nouvelle image]</b></a>
- </center>
- </body>
- </html>
|
et l'erreur que j'obtiens et la suivante :
Code :
- Warning: imagecreatefromjpeg(DEL0006.JPG) [function.imagecreatefromjpeg]: failed to open stream: No such file or directory in mnt/157/sdb/c/d/slywalker02/upload.php on line 55
- Warning: imagecopyresampled(): supplied argument is not a valid Image resource in /mnt/157/sdb/c/d/slywalker02/upload.php on line 59
- Warning: imagedestroy(): supplied argument is not a valid Image resource in /mnt/157/sdb/c/d/slywalker02/upload.php on line 65
- Warning: imagedestroy(): supplied argument is not a valid Image resource in /mnt/157/sdb/c/d/slywalker02/upload.php on line 66
|
Si vous avez des idées ou suggestions (ou questions), je suis preneur Merci par avance pour l'aide que vous pourrez m'apporter PS : si vous voulez vous en rendre compte par vous mêmes => http://mirror2.slywalker.com/upload.html |