Précédent   Forum des professionnels en informatique > PHP > PHP & SGBD > PHP & MySQL
PHP & MySQL Forum d'entraide sur les fonctions MySQL avec PHP. Avant de poster -> FAQ MySQL, Cours MySQL et Sources MySQL. Pour les questions concernant le moteur MySQL plutôt que les fonctions PHP, merci d'utiliser le forum MySQL.
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 05/04/2011, 17h54   #1
Invité régulier
 
Homme amine korteby
Étudiant
Inscription : avril 2011
Messages : 68
Détails du profil
Informations personnelles :
Nom : Homme amine korteby
Localisation : Algérie

Informations professionnelles :
Activité : Étudiant
Secteur : High Tech - Multimédia et Internet

Informations forums :
Inscription : avril 2011
Messages : 68
Points : 9
Points : 9
Par défaut Problème UPLOAD image

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:
Citation:
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:
Citation:
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 :
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 :
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.
makamine est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 05/04/2011, 21h19   #2
Membre Expert
 
Inscription : septembre 2010
Messages : 1 242
Détails du profil
Informations forums :
Inscription : septembre 2010
Messages : 1 242
Points : 1 564
Points : 1 564
Ton dossier doit être défini par rapport au serveur.
Tu peux faire par exemple :

Code :
1
2
3
4
5
6
$adresse_racine = (substr($_SERVER['DOCUMENT_ROOT'],-1) == '/')? $_SERVER['DOCUMENT_ROOT'] : $_SERVER['DOCUMENT_ROOT'].'/' ;
 
$dest = 'galerie/'
$dossier = $adresse_racine.$dest;
 
//reste du code
Cela dit, le répertoire de destination doit être indiqué par rapport à la racine www. Si tu teste en local avec plusieurs sites installés sur la racine du serveur d'évaluation (dans le répertoire www) tu dois indiquer pour un chemin de répertoire valide :

$dest = 'nom_du_repertoire_du_site/galerie/';

et pour un fonctionnement sur le serveur distant, simplement :
$dest = 'galerie/';


Après si tu veux un script tout fait qui peut faire beaucoup de choses sans te casser la tête tu peux regarder ce code:
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
<?php require('class_upload.php');
 
$up = new Telechargement('Documents','form1','doc');
 
$extensions = array('pdf','txt');
$up->Set_Extensions_accepte ($extensions);
 
$up->Upload('reload');
?>
<form enctype = "multipart/form-data" action = "#" method = "post">      
<input name = "doc" type = "file" size = "70" />                                 
<input type = "submit" name = "form1" value = "Envoyez"  />    
</form>
__________________
- Réalisations
- Interface graphique : génération en javascript d'objets défilants, texte et/ou images, mode horizontal ou vertical.
ABCIWEB est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 05/04/2011, 21h59   #3
Invité régulier
 
Homme amine korteby
Étudiant
Inscription : avril 2011
Messages : 68
Détails du profil
Informations personnelles :
Nom : Homme amine korteby
Localisation : Algérie

Informations professionnelles :
Activité : Étudiant
Secteur : High Tech - Multimédia et Internet

Informations forums :
Inscription : avril 2011
Messages : 68
Points : 9
Points : 9
je vais essayer et rendre la réponse
makamine est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 05/04/2011, 22h02   #4
Membre émérite
 
Avatar de vorace
 
Homme
Développeur
Inscription : août 2010
Messages : 587
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France, Meurthe et Moselle (Lorraine)

Informations professionnelles :
Activité : Développeur

Informations forums :
Inscription : août 2010
Messages : 587
Points : 861
Points : 861
et juste une petite correction :
Code :
1
2
3
4
5
6
7
8
9
 
    <?php
    session_start();  
    if (!isset($_SESSION['pseudo'])) { 
       header ('Location: index.php'); 
       exit();  
    }  
    ?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
tu avais fait l'inverse et ton header n'aurait pas fonctionné...
__________________
Développeur informatique contrarié...
vorace est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 06/04/2011, 09h20   #5
Membre éprouvé
 
Avatar de radicaldreamer
 
Homme Guillaume
Développeur Web
Inscription : décembre 2007
Messages : 353
Détails du profil
Informations personnelles :
Nom : Homme Guillaume
Âge : 21
Localisation : France, Haut Rhin (Alsace)

Informations professionnelles :
Activité : Développeur Web
Secteur : High Tech - Multimédia et Internet

Informations forums :
Inscription : décembre 2007
Messages : 353
Points : 473
Points : 473
Et juste un peu de propagande:

http://www.verot.net/php_class_upload.htm

Gérer l'upload de fichier (et d'image donc) ainsi que le traitement d'image (redimensionnement à la volé, crop, ajout de filigrane etc...)

un MUST HAVE
__________________
Si ce que tu as à dire n'est pas plus beau que le silence, alors tais toi.

- Pensez à voter pour les messages qui vous ont été utiles ainsi que de mettre
radicaldreamer est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 12/04/2011, 17h41   #6
Invité régulier
 
Homme amine korteby
Étudiant
Inscription : avril 2011
Messages : 68
Détails du profil
Informations personnelles :
Nom : Homme amine korteby
Localisation : Algérie

Informations professionnelles :
Activité : Étudiant
Secteur : High Tech - Multimédia et Internet

Informations forums :
Inscription : avril 2011
Messages : 68
Points : 9
Points : 9
désoler de ne pas avoir rependue à ce sujet depuis longtemps, mais c'est bon j'ai trouver mon erreur c'est le nom du répertoire de destination qui été mal écrit.
Merci à vous.
makamine est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 01h57.


 
 
 
 
Partenaires

Hébergement Web