Uploader une image dans un dossier précédent
Fermé
nik029
Messages postés
281
Date d'inscription
mardi 1 juillet 2008
Statut
Membre
Dernière intervention
13 avril 2022
-
Modifié par nik029 le 15/05/2013 à 19:11
nik029 Messages postés 281 Date d'inscription mardi 1 juillet 2008 Statut Membre Dernière intervention 13 avril 2022 - 25 mai 2013 à 19:52
nik029 Messages postés 281 Date d'inscription mardi 1 juillet 2008 Statut Membre Dernière intervention 13 avril 2022 - 25 mai 2013 à 19:52
A voir également:
- Uploader une image dans un dossier précédent
- Dossier appdata - Guide
- Mettre un mot de passe sur un dossier - Guide
- Image iso - Guide
- Impossible de supprimer un dossier - Guide
- Comment agrandir une image - Guide
16 réponses
jeremy.s
Messages postés
1226
Date d'inscription
lundi 28 mars 2011
Statut
Membre
Dernière intervention
2 septembre 2013
79
17 mai 2013 à 17:42
17 mai 2013 à 17:42
Enlève la vérif :
// On vérifit si le répertoire d'upload existe
elseif (!file_exists($repertoire))
{
$erreur = '<div class="alert alert-error"><p><strong>Oops !</strong> Le dossier d\'upload n\'existe pas ou plus.</p></div>';
}
Ensuite essaye ca :
// On upload le fichier sur le serveur.
if (move_uploaded_file($_FILES['fichier']['tmp_name'],$repertoire.'/'.$nom_fichier))
{
$url = 'http://site.hebergeur.com/'.$repertoire.'/'.$nom_fichier.'';
}
else
{
echo '<div class="alert alert-error"><p><strong>Oops !</strong> L\'image n\'a pas pu être uploader sur le serveur...</p></div>';
}
// On vérifit si le répertoire d'upload existe
elseif (!file_exists($repertoire))
{
$erreur = '<div class="alert alert-error"><p><strong>Oops !</strong> Le dossier d\'upload n\'existe pas ou plus.</p></div>';
}
Ensuite essaye ca :
// On upload le fichier sur le serveur.
if (move_uploaded_file($_FILES['fichier']['tmp_name'],$repertoire.'/'.$nom_fichier))
{
$url = 'http://site.hebergeur.com/'.$repertoire.'/'.$nom_fichier.'';
}
else
{
echo '<div class="alert alert-error"><p><strong>Oops !</strong> L\'image n\'a pas pu être uploader sur le serveur...</p></div>';
}
jeremy.s
Messages postés
1226
Date d'inscription
lundi 28 mars 2011
Statut
Membre
Dernière intervention
2 septembre 2013
79
15 mai 2013 à 20:08
15 mai 2013 à 20:08
Salut !
J'espère ne pas dire de connerie en disant que :
../ dépend de ton serveur, il faut vérifié si ca fonctionne, et si tu as les droits pour remonter dans le dossier parent.
Sinon, je pense avoir trouvé :
$nom_fichier = time().$extention;
// On upload le fichier sur le serveur.
if (move_uploaded_file($_FILES['fichier']['tmp_name'], $nom_fichier))
{
$url = 'http://site.hebergeur.com/i/'.$nom_fichier.'';
}
Tu n'utilises pas ton $repertoire ... Donc c'est un peu normal que ton image ne va pas la où tu le souhaite si tu ne lui dit pas d'y aller.
Et puis derniere chose, je ne pense que vérifier si le dossier d'upload existe soit judicieux, car dans le move_uploaded_file si le dossier n'existe pas il le cré automatiquement il me semble
J'espère ne pas dire de connerie en disant que :
../ dépend de ton serveur, il faut vérifié si ca fonctionne, et si tu as les droits pour remonter dans le dossier parent.
Sinon, je pense avoir trouvé :
$nom_fichier = time().$extention;
// On upload le fichier sur le serveur.
if (move_uploaded_file($_FILES['fichier']['tmp_name'], $nom_fichier))
{
$url = 'http://site.hebergeur.com/i/'.$nom_fichier.'';
}
Tu n'utilises pas ton $repertoire ... Donc c'est un peu normal que ton image ne va pas la où tu le souhaite si tu ne lui dit pas d'y aller.
Et puis derniere chose, je ne pense que vérifier si le dossier d'upload existe soit judicieux, car dans le move_uploaded_file si le dossier n'existe pas il le cré automatiquement il me semble
nik029
Messages postés
281
Date d'inscription
mardi 1 juillet 2008
Statut
Membre
Dernière intervention
13 avril 2022
44
16 mai 2013 à 16:42
16 mai 2013 à 16:42
Oui mais si je met genre :
(car mon répertoire c'est i)
c'est là même chose que :
non ?
if (move_uploaded_file($_FILES['fichier']['tmp_name'], $nom_fichier)) { $url = 'http://site.hebergeur.com/'.$repertoire.'/'.$nom_fichier.''; }
(car mon répertoire c'est i)
c'est là même chose que :
if (move_uploaded_file($_FILES['fichier']['tmp_name'], $nom_fichier)) { $url = 'http://site.hebergeur.com/i/'.$nom_fichier.''; }
non ?
jeremy.s
Messages postés
1226
Date d'inscription
lundi 28 mars 2011
Statut
Membre
Dernière intervention
2 septembre 2013
79
16 mai 2013 à 18:05
16 mai 2013 à 18:05
Mais il faut tu le précise dans la fonction move_uploaded_file !
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
nik029
Messages postés
281
Date d'inscription
mardi 1 juillet 2008
Statut
Membre
Dernière intervention
13 avril 2022
44
17 mai 2013 à 17:36
17 mai 2013 à 17:36
Lorsque mon code est comme ça :
L'image ne s'enregistre toujours par dans le bon dossier.
Et quand je configure mon répertoire comme ça :
Le message d'erreur s'affiche : Le dossier d'upload n'existe pas ou plus.
<?php $poids_max = 100000; // Poids max de l'image en octets (1Ko = 1024 octets) $repertoire = '../../../i'; // Repertoire d'upload if (isset($_FILES['fichier'])) { // On vérifit le type du fichier if ($_FILES['fichier']['type'] != 'image/png' && $_FILES['fichier']['type'] != 'image/jpeg' && $_FILES['fichier']['type'] != 'image/jpg' && $_FILES['fichier']['type'] != 'image/gif' && $_FILES['fichier']['type'] != 'image/bmp' && $_FILES['fichier']['type'] != 'image/jpg' && $_FILES['fichier']['type'] != 'image/png' && $_FILES['fichier']['type'] != 'image/ico') { $erreur = '<div class="alert alert-error"><p>Le fichier doit être au format *.jpeg, *.bmp, *.jpg, *.png, *.ico *.gif ou *.png .</p></div>'; } // On vérifit le poids de l'image elseif ($_FILES['fichier']['size'] > $poids_max) { $erreur = '<div class="alert alert-error"><p>Votre image est trop lourde.</p></div>'; } // On vérifit si le répertoire d'upload existe elseif (!file_exists($repertoire)) { $erreur = '<div class="alert alert-error"><p><strong>Oops !</strong> Le dossier d\'upload n\'existe pas ou plus.</p></div>'; } // Si il y a une erreur on l'affiche sinon on peut uploader if(isset($erreur)) { echo '' . $erreur . ''; } else { // On définit l'extention du fichier puis on le nomme par le timestamp actuel if ($_FILES['fichier']['type'] == 'image/jpeg') { $extention = '.jpeg'; } if ($_FILES['fichier']['type'] == 'image/jpeg') { $extention = '.jpg'; } if ($_FILES['fichier']['type'] == 'image/png') { $extention = '.png'; } if ($_FILES['fichier']['type'] == 'image/gif') { $extention = '.gif'; } $nom_fichier = time().$extention; // On upload le fichier sur le serveur. if (move_uploaded_file($_FILES['fichier']['tmp_name'], $nom_fichier)) { $url = 'http://site.hebergeur.com/'.$repertoire.'/'.$nom_fichier.''; } else { echo '<div class="alert alert-error"><p><strong>Oops !</strong> L\'image n\'a pas pu être uploader sur le serveur...</p></div>'; } } } else { } ?>
L'image ne s'enregistre toujours par dans le bon dossier.
Et quand je configure mon répertoire comme ça :
$repertoire = 'i'; // Repertoire d'upload
Le message d'erreur s'affiche : Le dossier d'upload n'existe pas ou plus.
nik029
Messages postés
281
Date d'inscription
mardi 1 juillet 2008
Statut
Membre
Dernière intervention
13 avril 2022
44
17 mai 2013 à 17:51
17 mai 2013 à 17:51
Cette fois, l'image va bien s'enregistrer dans le dossier indiqué ! Merci beaucoup de ton aide ! :)
jeremy.s
Messages postés
1226
Date d'inscription
lundi 28 mars 2011
Statut
Membre
Dernière intervention
2 septembre 2013
79
17 mai 2013 à 17:55
17 mai 2013 à 17:55
Le répertoire est à préciser dans la fonction, ne l'oublie pas ;-) Et s'il n'existe pas il est créé donc pas besoin de vérifier.
nik029
Messages postés
281
Date d'inscription
mardi 1 juillet 2008
Statut
Membre
Dernière intervention
13 avril 2022
44
18 mai 2013 à 18:23
18 mai 2013 à 18:23
Depuis quelques heures, j'ai ce message d'erreur qui s'affiche :
Que veut-il dire ?
Warning: move_uploaded_file() [function.move-uploaded-file]: Unable to move '/tmp/phpeRLdL4' to 'i/1368894103.png' in /home/a3389209/public_html/e/config/index.php on line 47
Que veut-il dire ?
jeremy.s
Messages postés
1226
Date d'inscription
lundi 28 mars 2011
Statut
Membre
Dernière intervention
2 septembre 2013
79
18 mai 2013 à 22:29
18 mai 2013 à 22:29
Qu'il a pas pu mettre le fichier dans le dossier i/
nik029
Messages postés
281
Date d'inscription
mardi 1 juillet 2008
Statut
Membre
Dernière intervention
13 avril 2022
44
19 mai 2013 à 22:05
19 mai 2013 à 22:05
Comment ça se fait (le dossier est de permission 777) ?
jeremy.s
Messages postés
1226
Date d'inscription
lundi 28 mars 2011
Statut
Membre
Dernière intervention
2 septembre 2013
79
20 mai 2013 à 17:58
20 mai 2013 à 17:58
T'as changé quelque chose dans le code ?
nik029
Messages postés
281
Date d'inscription
mardi 1 juillet 2008
Statut
Membre
Dernière intervention
13 avril 2022
44
21 mai 2013 à 08:48
21 mai 2013 à 08:48
Non justement, c'est pour ça que je comprends pas...
A part le répertoire qui est devenu : '../i''
A part le répertoire qui est devenu : '../i''
jeremy.s
Messages postés
1226
Date d'inscription
lundi 28 mars 2011
Statut
Membre
Dernière intervention
2 septembre 2013
79
21 mai 2013 à 14:31
21 mai 2013 à 14:31
Bah c'est surement ca ;-) Regarde le chemin si c'est le bon ! Il faut un chemin relatif, donc met toi dans le dossier de ton fichier php et regarde où est le dossier où tu veux mettre l'image !
nik029
Messages postés
281
Date d'inscription
mardi 1 juillet 2008
Statut
Membre
Dernière intervention
13 avril 2022
44
21 mai 2013 à 16:37
21 mai 2013 à 16:37
C'est ce que j'ai fait mais le problème persiste
jeremy.s
Messages postés
1226
Date d'inscription
lundi 28 mars 2011
Statut
Membre
Dernière intervention
2 septembre 2013
79
21 mai 2013 à 16:46
21 mai 2013 à 16:46
Essaye de voir avec realpath() de tes deux fichiers
Fais un realpath('dossier où tu veux uploadé'); et un realpath('fichier qui execute le code php');
Fais un realpath('dossier où tu veux uploadé'); et un realpath('fichier qui execute le code php');
nik029
Messages postés
281
Date d'inscription
mardi 1 juillet 2008
Statut
Membre
Dernière intervention
13 avril 2022
44
25 mai 2013 à 19:52
25 mai 2013 à 19:52
Donc je dois faire
C'est bien ça ?
$repertoire = realpath('../i'); // Repertoire d'upload
C'est bien ça ?