Précédent   Forum des professionnels en informatique > PHP > Langage > Fichiers
Fichiers Forum d'entraide sur les fichiers avec PHP. Avant de poster -> FAQ fichiers et Sources fichiers
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 27/11/2006, 21h03   #1
Invité régulier
 
Inscription : septembre 2004
Messages : 15
Détails du profil
Informations forums :
Inscription : septembre 2004
Messages : 15
Points : 6
Points : 6
Par défaut [Upload] image uploadée mais n'apparait pas dans le répertoire

Bonjour,

Je me retrouve face à un problème étrange :

J'ai un script d'upload qui fonctionne bien sur mon espace d'hébergement, mais qui rencontre un sérieux problème chez un autre hébergeur.

L'upload se fait bien car j'arrive à récupérer le nom du fichier temporaire :

Code :
1
2
3
4
5
 
<?php
echo "<b>".$_FILES['ma_photo']['tmp_name']."</b>";
// renvoie : /tmp/phpRAeIIK
?>
Code :
1
2
3
4
5
 
<?php
echo "<b>".$_FILES['ma_photo']['error']."</b>";
// renvoie : 0
?>
C'est au moment de déplacer l'image que rien ne se produit :

J'ai un répertoire "images" à la racine.
Code :
1
2
3
4
5
 
<?php
echo "<b>".$_SERVER['document_root']"</b>";
// renvoie : /var/www/html/utilisateur/
?>
Le chemin absolu de mon répertoire devrait donc être :

/var/www/html/utilisateur/images/

Lorsque je veux déplacer mon fichier temporaire uploadé je fait (en simplifiant) :

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
 
<?php
$dest_dossier = "/var/www/html/utilisateur/images/";
$dest_fichier = "mon_fichier.jpg";
 
if (move_uploaded_file($_FILES['ma_photo']['tmp_name'], $dest_dossier . $dest_fichier))
{
echo " <b>téléchargement ok <b>";
}
else
{
echo "<b>Erreur de déplacement</b>";
}
// renvoie : Erreur de déplacement
?>
J'ai essayé les chemins suivants :
Code :
1
2
3
4
5
6
7
8
9
10
 
<?php
$dest_dossier = "/var/www/html/utilisateur/images/";
$dest_dossier = "var/www/html/utilisateur/images/";
$dest_dossier = "/var/www/html/utilisateur/images";
// et les chemins relatifs aussi (mon script est dans un répertoite "/var/www/html/utilisateur/maintenance")
$dest_dossier = "../images";
$dest_dossier = "../images/";
 
?>
Je n'y comprend rien du tout

en faisant un phpinfo(), j'obtient :

file_uploads : on
upload_max_filesize : 15M
upload_tmp_dir : no value
post_max_size : 8M

Impossible de déplacer le fichier uploadé. Il n'y a pas d'erreur dans mon script qui fonctionne très bien sur un autre hébergeur.

1 ) Quelle peut être mon erreur (si il y en a une).
2 ) Est-il possible que le problème vienne de la configuration serveur (je n'ai pas accès au php.ini).

Merci d'avance, je m'arrache les cheveux...
yodaazen est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 27/11/2006, 21h10   #2
Membre habitué
 
Inscription : février 2005
Messages : 153
Détails du profil
Informations forums :
Inscription : février 2005
Messages : 153
Points : 116
Points : 116
il faut d'abord utiliser

Code :
1
2
3
4
5
 
if(!@is_uploaded_file($nomTemporaire)){
    echo "Le fichier est introuvable";
    exit;
}
il me semble et apres utiliser move_uploaded_file() ; je fais comme ca pour mon upload et ca marche (le chemin n'est pas depuis la racine du serveur dans mon script pour info)
Halukard est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 27/11/2006, 22h11   #3
Invité régulier
 
Inscription : septembre 2004
Messages : 15
Détails du profil
Informations forums :
Inscription : septembre 2004
Messages : 15
Points : 6
Points : 6
Par défaut [résolu]


Merci pour la réponse mais il y avait en fait un problème d'autorisation sur le répertoire "images". Le passage en CHMOD 777 a résolu mes soucis.
yodaazen 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 13h14.


 
 
 
 
Partenaires

Hébergement Web