cmoijulie | 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 :
- <html>
- <head>
- <link rel="stylesheet" href="style.css" type="text/css">
- </head>
- <?php
- if( isset($_POST['upload']) ) // si formulaire soumis
- {
- $content_dir = '../photos/'; // dossier où sera déplacé le fichier
- $tmp_file = $_FILES['name_file']['tmp_name']; }
- if(!empty($descriptif) && !empty($format) && !empty($mots_cles) && !empty($lieu) && !empty($date))
- {
- print("<p class=titre>Descriptif : $descriptif<br>Format : $format<br>Mots-clés : $mots_cles<br>Lieu : $lieu<br>Date : $date<br></p>" );
- }
- else
- {
- print("<p class=titre>Remplir tous les champs</p><br>" );
- exit;
- }
- if( !is_uploaded_file($tmp_file) )
- {
- exit("<p class='titre'>Le fichier est introuvable</p>" );
- }
- // on vérifie maintenant l'extension
- $type_file = $_FILES['name_file']['type'];
- if(!strstr($type_file, 'jpg') && !strstr($type_file, 'jpeg') && !strstr($type_file, 'bmp') && !strstr($type_file, 'gif'))
- {
- exit("Le fichier n'est pas une image" );
- }
- // on copie le fichier dans le dossier de destination
- $name_file = $_FILES['name_file']['name'];
- if( !move_uploaded_file($tmp_file, $content_dir.$name_file) )
- {
- exit("Impossible de copier le fichier" );
- }
- echo '<p class=titre>Le fichier a bien été uploadé</p><br>';
- require('connect1.php');
- $sql="INSERT INTO photos VALUES ('','$name_file','$id_theme','$descriptif','$id_photographe','$format','$mots_cles','$lieu','$date')";
- $req=mysql_query($sql) or die ('Erreur SQL <br>').$sql.'<br>'.mysql_error();
- $sql3="SELECT nom_photographe FROM photographe WHERE id_photographe='$id_photographe'";
- $req3=mysql_query($sql3) or die ('Erreur SQL3 <br>').$sql3.'<br>'.mysql_error();
- $nbr3=mysql_num_rows ($req3);
- for($i=0;$i<$nbr3;$i++)
- {
- list ($nom_photographe) = mysql_fetch_array($req3);
- }
- ?>
- <a href="envoi_photos.php" target="accueil">Ajouter une photo</a>
- <?php
- $img = "photos/$name_file";
- $img_dest ="miniatures/$name_file";
- $text = "$nom_photographe";
- function vignette($img, $img_dest, $width=110, $height=0)
- {
- $size = GetImageSize($img);
- $src_w = $size[0];
- $src_h = $size[1];
- if ($height == 0)
- {
- $height = ($src_h / $src_w) * $width;
- }
- $ext = explode(".", $img);
- $ext = $ext['1'];
- $dst_im = ImageCreateTrueColor($width,$height);
-
- if ($ext == 'jpg' or $ext == 'jpeg' or $ext == 'JPG' or $ext == 'JPEG')
- {
- $src_im = ImageCreateFromJpeg($img);
- }
- ImageCopyResampled($dst_im,$src_im,0,0,0,0,$width,$height,$src_w,$src_h);
- if ($ext == 'jpg' or $ext == 'jpeg' or $ext == 'JPG' or $ext == 'JPEG')
- {
- ImageJpeg($dst_im,$img_dest);
- }
-
- $source = imagecreatefromjpeg($img); // on creer une image a partir d'une source
- $blanc = imagecolorallocate($source, 255, 255, 255); // on defini une couleur
- imagestring($source, 4, 250, 100, $text, $blanc); // on ecrit sur l'image ( image_src, police, x, y, text, couleur )
- imagejpeg($source, '$name_file'); // on enregistre l'image
-
- ImageDestroy($dst_im);
- }
- ?>
- </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
|