Bonjour j'ai un petit problème lors de l'upload d'une image car c'est toujours le dernier message du script qui s'affiche "échec upload" ainsi que deux autre message le 1er:
Warning: move_uploaded_file(galerie/Blacky-from-www.metacafe.com-1.jpg) [function.move-uploaded-file]: failed to open stream: No such file or directory in C:\wamp\www\test\upload-1.php on line 32
et le 2eme:
Warning: move_uploaded_file() [function.move-uploaded-file]: Unable to move 'C:\wamp\tmp\php81A2.tmp' to 'galerie/Blacky-from-www.metacafe.com-1.jpg' in C:\wamp\www\test\upload-1.php on line 32
voici le script du formulaire:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <?php
    session_start();  
    if (!isset($_SESSION['pseudo'])) { 
       header ('Location: index.php'); 
       exit();  
    }  
    ?>
 
    <html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Untitled Document</title>
</head>
 
<body id="page1">
  <div id="main">
		<!-- header -->
		<div id="header">
			<div class="row_1">
				<ul class="menu">
					<li><a href="membre.php">Accueil</a></li>
					<li><a href="modifpseudo.php">Modifier Pseudo</a></li>
					<li><a href="modifpass.php">Modifier Mot de Passe</a></li>
					<li><a href="modifprofil.php">Modifier profil</a></li>
					<li><a href="suppcompt-4.php">Supprimer compte</a></li>
					<li><a href="upload.php">Upload</a></li>
					<li><a class="last" href="index-6.php">Forum</a></li>
				</ul>
			</div>
			<div class="row_2">
				<a href="index.php"><img alt="" src="images/logo.jpg" /></a>
			</div>
		</div>
 
    Bienvenue<?php echo htmlentities(trim($_SESSION['pseudo'])); ?>!<br
    />
 
    <a href="deconnexion.php">Déconnexion</a>
    <form method="POST" action="upload-1.php" enctype="multipart/form-data">
 
<input type="hidden" name="MAX_FILE_SIZE" value="3000000">
Fichier : <input type="file" name="photo">
<input type="submit" name="envoyer" value="Envoyer le fichier">
</form>
</body>
</html>
et le deuxième script de traitement:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Untitled Document</title>
</head>
 
<body>
<?php
$dossier = 'galerie/';
$fichier = basename($_FILES['photo']['name']);
$taille_maxi = 3000000;
$taille = filesize($_FILES['photo']['tmp_name']);
$extensions = array('.png', '.gif', '.jpg', '.jpeg');
$extension = strrchr($_FILES['photo']['name'], '.');
//Début des vérifications de sécurité...
if(!in_array($extension, $extensions)) //Si l'extension n'est pas dans le tableau
{
$erreur = 'Vous devez uploader un fichier de type png, gif, jpg, jpeg, txt ou doc...';
}
if($taille>$taille_maxi)
{
$erreur = 'Le fichier est trop gros...';
}
if(!isset($erreur)) //S'il n'y a pas d'erreur, on upload
{
//On formate le nom du fichier ici...
$fichier = strtr($fichier,
'ÀÁÂÃÄÅÇÈÉÊËÌÍÎÏÒÓÔÕÖÙÚÛÜÝàáâãäåçèéêëìíîïðòóôõöùúûüýÿ',
'AAAAAACEEEEIIIIOOOOOUUUUYaaaaaaceeeeiiiioooooouuuuyy');
$fichier = preg_replace('/([^.a-z0-9]+)/i', '-', $fichier);
if(move_uploaded_file($_FILES['photo']['tmp_name'], $dossier . $fichier)) //Si la fonction renvoie TRUE, c'est que ça a fonctionné...
{
echo 'Upload effectué avec succès !';
}
else //Sinon (la fonction renvoie FALSE).
{
echo 'Echec de l\'upload !';
}
}
else
{
echo $erreur;
}
?>
</body>
</html>
Merci.