Php upload défaillante

Fermé
sdrogba Messages postés 67 Date d'inscription mercredi 18 août 2010 Statut Membre Dernière intervention 3 novembre 2016 - 20 août 2011 à 14:59
graffx Messages postés 6506 Date d'inscription jeudi 22 mars 2007 Statut Contributeur Dernière intervention 24 mars 2019 - 22 août 2011 à 23:22
Bonjour,

Je suis entrain de monter un site et en attendant d'avoir mes accès sur mon hébergeur je fais des essais en local, j'en suis à essayer d'uploader des images.

Voici mon code :

$dossier = 'C:/wamp/www/Geckos/Photo/'.$nom.'/';
mkdir($dossier, 0777);
$fichier = basename($_FILES['upfile']['name']);
$taille_maxi = 100000;
$taille = filesize($_FILES['upfile']['tmp_name']);
$extensions = array('.png', '.gif', '.JPG', '.jpeg');
$extension = strrchr($_FILES['upfile']['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);

echo "fichier ".$fichier;
echo "dossier ".$dossier;
echo"fonction ".$_FILES['upfile']['tmp_name']." gggggg ". $dossier . $fichier;
if(move_uploaded_file($_FILES['upfile']['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;
}

C'est la dernière partie de code qui ne va pas il semblerait que la fonction move_uploaded_file retourne faux à chaque fois.
Enfin et ça je ne comprend pas pourquoi mais $_FILES['upfile']['tmp_name'] renvoie blanc et je ne sais pas quoi faire voici la partie formulaire

echo 'Photo 1 : <input name="upfile" type="file" size="50"><br />';

Aidez moi svp je tourne en rond depuis quelques heures déja.

Merci d'avance



A voir également:

6 réponses

graffx Messages postés 6506 Date d'inscription jeudi 22 mars 2007 Statut Contributeur Dernière intervention 24 mars 2019 1 973
20 août 2011 à 15:54
dans ton formulaire, tu as bien mis le enctype comme ca:

<form method="post" action="page.php" enctype="multipart/form-data">
0
sdrogba Messages postés 67 Date d'inscription mercredi 18 août 2010 Statut Membre Dernière intervention 3 novembre 2016
20 août 2011 à 16:06
Oui je l'ai bien mis, je n'arrive pas a trouvé ce qui ne va pas
0
graffx Messages postés 6506 Date d'inscription jeudi 22 mars 2007 Statut Contributeur Dernière intervention 24 mars 2019 1 973
20 août 2011 à 16:11
$nom est bien declaré?
pexu tu envoyer ca sur un site que je teste?
0
sdrogba Messages postés 67 Date d'inscription mercredi 18 août 2010 Statut Membre Dernière intervention 3 novembre 2016
20 août 2011 à 16:13
Ou as tu vu $nom?
0
sdrogba Messages postés 67 Date d'inscription mercredi 18 août 2010 Statut Membre Dernière intervention 3 novembre 2016
20 août 2011 à 16:14
oui il récupère le champ formulaire $_POST['nom']
0
graffx Messages postés 6506 Date d'inscription jeudi 22 mars 2007 Statut Contributeur Dernière intervention 24 mars 2019 1 973
20 août 2011 à 16:14
premiere ligne:

$dossier = 'C:/wamp/www/Geckos/Photo/'.$nom.'/';


0
sdrogba Messages postés 67 Date d'inscription mercredi 18 août 2010 Statut Membre Dernière intervention 3 novembre 2016
20 août 2011 à 16:15
dailleurs le mkdir fonctionne bien
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
graffx Messages postés 6506 Date d'inscription jeudi 22 mars 2007 Statut Contributeur Dernière intervention 24 mars 2019 1 973
20 août 2011 à 16:16
donc tu as bien mis un $nom = $_POST['nom'], ok.

fais un echo de ton upload_file pour voir ce qu' il te dit.



0
sdrogba Messages postés 67 Date d'inscription mercredi 18 août 2010 Statut Membre Dernière intervention 3 novembre 2016
20 août 2011 à 16:29
$fichier = IMGP1922.JPG
$dossier = C:/wamp/www/Geckos/Photo/jhhjg
$_FILES['upfile']['tmp_name'] = il renvoi rien
0
sdrogba Messages postés 67 Date d'inscription mercredi 18 août 2010 Statut Membre Dernière intervention 3 novembre 2016
20 août 2011 à 16:41
cest le resultat de echo
0
sdrogba Messages postés 67 Date d'inscription mercredi 18 août 2010 Statut Membre Dernière intervention 3 novembre 2016
20 août 2011 à 17:03
c'est ca que vous vouliez?
0
graffx Messages postés 6506 Date d'inscription jeudi 22 mars 2007 Statut Contributeur Dernière intervention 24 mars 2019 1 973
20 août 2011 à 17:14
upload est-il autorisé dans le php.ini?
0
sdrogba Messages postés 67 Date d'inscription mercredi 18 août 2010 Statut Membre Dernière intervention 3 novembre 2016
20 août 2011 à 17:40
php.ini

;;;;;;;;;;;;;;;;
; File Uploads ;
;;;;;;;;;;;;;;;;

; Whether to allow HTTP file uploads.
; http://php.net/file-uploads
file_uploads = On

; Temporary directory for HTTP uploaded files (will use system default if not
; specified).
; https://www.php.net/manual/en/ini.core.php#ini.upload-tmp-dir
upload_tmp_dir = "c:/wamp/tmp"

; Maximum allowed size for uploaded files.
; https://www.php.net/manual/en/ini.core.php#ini.upload-max-filesize
upload_max_filesize = 10M
0
sdrogba Messages postés 67 Date d'inscription mercredi 18 août 2010 Statut Membre Dernière intervention 3 novembre 2016
22 août 2011 à 23:01
up svp je suis toujours bloqué
0