Probleme move_uploaded_file

Grand_Xa -  
Gremy87 Messages postés 360 Statut Membre -
Bonjour tout le monde,

J apprend le php en ce moment et j'ai désespérément besoin d'aide sur un souci d upload:

Voila le topo, j ai realisé un petit site entre amis pour partager des photos.chacun peut créer un album et ensuite déposer ses photos sur l album crée.
L'utilisateur arrive sur le formulaire suivant:
<form method="post" action="upload.php" enctype="multipart/form-data">
<label for="album">Selectionner un album:</label><br/>
<select name="album">
<?php include("connection.inc");
$bdd=mysql_connect($host,$user,$password)or die('erreur de connexion au serveur');
mysql_select_db($bd,$bdd)or die('erreur de connexion a la base de donnees');
$reponse= mysql_query("SELECT*FROM dossier");
while ($donnees = mysql_fetch_array($reponse))
echo "<option value=".$donnees['album'].">".$donnees['nom_album']."</option>";
mysql_close($bdd);
?>
</select><br/>
<label for="photo" >Envoyer une photo:</label><br/>
<input type="hidden" name="MAX_FILE_SIZE" value="2097152">
<input type="file" name="photo" id="photo"><br/>
<input type="submit" name="submit" value="Envoyer la photo"></p>
</form>

Jusqu'ici tout va bien c est apres le probleme
la page d'upload.php:

<?php
// Testons si le fichier a bien été envoyé et s'il n'y a pas d'erreur
if (isset($_FILES['photo']) AND $_FILES['photo']['error'] == 0)
{
// Testons si le fichier n'est pas trop gros
if ($_FILES['photo']['size'] <=2097152 )
{
// Testons si l'extension est autorisée
$infosfichier = pathinfo($_FILES['photo']['name']);
$extension_upload = $infosfichier['extension'];
$extensions_autorisees = array('jpg', 'jpeg', 'gif', 'png');
if (in_array($extension_upload, $extensions_autorisees))
{
include("connection.inc");
$bdd=mysql_connect($host,$user,$password)or die('erreur de connexion au serveur');
mysql_select_db($bd,$bdd)or die('erreur de connexion a la base de donnees');
$reponse= mysql_query("SELECT COUNT*FROM album");
$new_nom=$reponse++;
$dest1='highslide/images/large/'.$_POST['album'].'/';
$dest2='highslide/images/thumbs/'.$_POST['album'].'/';
$ancien_nom=$_FILES['photo']['tmp_name'];
$destfinale1=$dest1.$new_nom;
$destfinale2=$dest2.$new_nom;
// On peut valider le fichier et le stocker définitivement
move_uploaded_file($ancien_nom,$destfinale1);
move_uploaded_file($ancien_nom,$destfinale2);
?>
<div class="boite"><p>L'envoi a bien été effectué</p>
<p><a href="ajout_photos.php">ok</a></p></div>
<?php
}
else
{
?>
<div class="boite"><p>L'extension du fichier est erronée, retour au formulaire</p>
<p><a href="ajout_photos.php">ok</a></p></div>
<?php
}
}
else
{
?>
<div class="boite"><p>La photo est trop lourde, retour au formulaire</p>
<p><a href="ajout_photos.php">ok</a></p></div>
<?php
}
}
else
{
?>
<div class="boite"><p>Problème avec la photo, retour au formulaire</p>
<p><a href="ajout_photos.php">ok</a></p></div>
<?php
}
?>

Le big probleme apparait avec des messages d 'erreur suivants, précision je fait les test en local:

Warning: move_uploaded_file() [function.move-uploaded-file]: The second argument to copy() function cannot be a directory in C:\wamp\www\FAMILLEBONNEJEANNE2\upload.php on line 33

Warning: move_uploaded_file() [function.move-uploaded-file]: Unable to move 'C:\wamp\tmp\php2D61.tmp' to 'highslide/images/large/test/' in C:\wamp\www\FAMILLEBONNEJEANNE2\upload.php on line 33

Warning: move_uploaded_file() [function.move-uploaded-file]: The second argument to copy() function cannot be a directory in C:\wamp\www\FAMILLEBONNEJEANNE2\upload.php on line 34

Warning: move_uploaded_file() [function.move-uploaded-file]: Unable to move 'C:\wamp\tmp\php2D61.tmp' to 'highslide/images/thumbs/test/' in C:\wamp\www\FAMILLEBONNEJEANNE2\upload.php on line 34

Merci pour votre aide( la ligne 33 et 34 correspond a la ligne move_uploaded_file

1 réponse

Gremy87 Messages postés 360 Statut Membre 38
 
Bonjour,

il me semble que le 2ème paramètre de move_uploaded_file doit etre le dossier de destination ainsi que le nom que le fichier aura apres la copie.

move_uploaded_file("C:\toto\tutu.jpg","D:\amstramgram\coucou.jpg")

et pas seulement "D:\amstramgram\"

voila =)
2
xa
 
Merci beaucoup pour ta réponse, le problème est résolu
j'ai changé la variable $new_nom =$reponse++; en
$new_nom=($reponse++).'.'.$extension_upload et ca marche impeccable.
Erreur de débutant
encore merci pour ta reponse hyper rapide
0
Gremy87 Messages postés 360 Statut Membre 38
 
*quant on a pas grand chose a faire de ses journées, on aide les autres =)*

pense a mettre résolu ;)
0