création de miniature avec copyright

création de miniature avec copyright - PHP - Programmation

Marsh Posté le 21-07-2005 à 19:59:39    

Bonjour,  
 
Je cherche à réaliser un script qui effectue la chose suivante :  
lorsque j'upload la photo, qu'elle soit enregistrée dans un dossier miniature avec une largeur ou une hauteur ou les 2 de 110 pixels, selon sont format et d'un facon proportionnelle mais aussi écrire dessus un copyright avec le nom du photographe, et aussi d'un un dossier ou elle est originale et un dernier avec des dimensions plus petite sans qu'elle soit miniature.
voici ce que j'ai fait pour l'instant :  
 

Code :
  1. <html>
  2. <head>
  3. <link rel="stylesheet" href="style.css" type="text/css">
  4. </head>
  5. <?php
  6. if( isset($_POST['upload']) ) // si formulaire soumis
  7. {
  8.     $content_dir = '../photos/'; // dossier où sera déplacé le fichier
  9. $tmp_file = $_FILES['name_file']['tmp_name']; }
  10. if(!empty($descriptif) && !empty($format) && !empty($mots_cles) && !empty($lieu) && !empty($date))
  11. {
  12. print("<p class=titre>Descriptif : $descriptif<br>Format : $format<br>Mots-clés : $mots_cles<br>Lieu : $lieu<br>Date : $date<br></p>" );
  13. }
  14. else
  15. {
  16. print("<p class=titre>Remplir tous les champs</p><br>" );
  17. exit;
  18. }
  19. if( !is_uploaded_file($tmp_file) )
  20.     {
  21.     exit("<p class='titre'>Le fichier est introuvable</p>" );
  22.    }
  23. // on vérifie maintenant l'extension
  24. $type_file = $_FILES['name_file']['type'];
  25. if(!strstr($type_file, 'jpg') && !strstr($type_file, 'jpeg') && !strstr($type_file, 'bmp') && !strstr($type_file, 'gif'))
  26.     {
  27.     exit("Le fichier n'est pas une image" );
  28.     }
  29. // on copie le fichier dans le dossier de destination
  30. $name_file = $_FILES['name_file']['name'];
  31. if( !move_uploaded_file($tmp_file, $content_dir.$name_file) )
  32.     {
  33.     exit("Impossible de copier le fichier" );
  34.     }
  35. echo '<p class=titre>Le fichier a bien été uploadé</p><br>';
  36. require('connect1.php');
  37. $sql="INSERT INTO photos VALUES ('','$name_file','$id_theme','$descriptif','$id_photographe','$format','$mots_cles','$lieu','$date')";
  38. $req=mysql_query($sql) or die ('Erreur SQL <br>').$sql.'<br>'.mysql_error();
  39. $sql3="SELECT nom_photographe FROM photographe WHERE id_photographe='$id_photographe'";
  40. $req3=mysql_query($sql3) or die ('Erreur SQL3 <br>').$sql3.'<br>'.mysql_error();
  41. $nbr3=mysql_num_rows ($req3);
  42. for($i=0;$i<$nbr3;$i++)
  43. {
  44. list ($nom_photographe) = mysql_fetch_array($req3);
  45. }
  46. ?>
  47. <a href="envoi_photos.php" target="accueil">Ajouter une photo</a>
  48. <?php
  49. $img = "photos/$name_file";
  50. $img_dest ="miniatures/$name_file";
  51. $text = "$nom_photographe";
  52. function vignette($img, $img_dest, $width=110, $height=0)
  53. {
  54. $size = GetImageSize($img);
  55. $src_w = $size[0];
  56. $src_h = $size[1];
  57.   if ($height == 0)
  58.    {
  59.  $height = ($src_h / $src_w) * $width;
  60.  }
  61. $ext = explode(".", $img);
  62. $ext = $ext['1'];
  63. $dst_im = ImageCreateTrueColor($width,$height);
  64.      
  65.       if ($ext == 'jpg' or $ext == 'jpeg' or $ext == 'JPG' or $ext == 'JPEG')
  66.   {
  67.       $src_im = ImageCreateFromJpeg($img);
  68.       }
  69.       ImageCopyResampled($dst_im,$src_im,0,0,0,0,$width,$height,$src_w,$src_h);
  70.       if ($ext == 'jpg' or $ext == 'jpeg' or $ext == 'JPG' or $ext == 'JPEG')
  71.   {
  72.       ImageJpeg($dst_im,$img_dest);
  73.    }
  74.  
  75. $source = imagecreatefromjpeg($img);      // on creer une image a partir d'une source
  76. $blanc = imagecolorallocate($source, 255, 255, 255);  // on defini une couleur  
  77. imagestring($source, 4, 250, 100, $text, $blanc);  // on ecrit sur l'image ( image_src, police, x, y, text, couleur )
  78. imagejpeg($source, '$name_file');     // on enregistre l'image
  79.  
  80.      ImageDestroy($dst_im);
  81. }
  82. ?>
  83. </html>


 
et les erreurs qui vont avec :  
Warning: move_uploaded_file(photos/Hiver.jpg): failed to open stream: No such file or directory in /var/www/html/www.clic-online.fr/phototheque/_sources/recept_photos.php on line 35
 
Warning: move_uploaded_file(): Unable to move '/var/workout/tmp/phpCvvdoO' to 'photos/Hiver.jpg' in /var/www/html/www.clic-online.fr/phototheque/_sources/recept_photos.php on line 35
Impossible de copier le fichier
 

Reply

Marsh Posté le 21-07-2005 à 19:59:39   

Reply

Marsh Posté le 21-07-2005 à 22:52:28    

'../photos' existe bien ?


---------------
StarCraft Professional Gaming Database | [Ze Topic] Starcraft/BroodWar
Reply

Marsh Posté le 22-07-2005 à 10:26:37    

oui il existe mais javais pas les droits dessus!
maintenant c'est fait, par contre j'ai procédé autrement avec la miniature :  

Code :
  1. function gallery($image,$w_max,$h_max)
  2. {
  3. $taille = getimagesize($image);
  4. if (($w_max / $taille[0]) > ($h_max / $taille[1]))
  5.  {
  6.  $coeff=$h_max / $taille[1];
  7.  }
  8. else
  9.  {
  10.  $coeff=$w_max / $taille[0];
  11.  }
  12. $l_vign = floor($taille[0] * $coeff);
  13. $h_vign = floor($taille[1] * $coeff);
  14. echo "<br><a href='$image'>";
  15. echo "<img src='$image' width='$l_vign' height='$h_vign' border='0'></a><br>'$taille[0]' x '$taille[1]' -> '$l_vign' x '$h_vign'";
  16. echo "&nbsp;&nbsp;&nbsp;";
  17. }
  18. $img=$content_dir.$name_file;
  19. gallery($img,110,110);


jvoulais savoir si c'était possible de la copier maintenant quelle est en miniature dans un autre dossier ?

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed