PHP : Move_uploaded_file()
Résoluwewes2013 -
J'essaye de paramétrer un script pour un upload multiple de fichiers. J'aimerais utiliser celui-là : https://olance.developpez.com/articles/web/javascript/multiupload/ que je trouve très esthétique et très pratique.
Seul problème, je n'arrive pas uploader les fichiers ... je me suis aidé de cet article : https://forums.commentcamarche.net/forum/affich-4231288-move-uploaded-file-php, mais je n'arrive toujours pas à trouver la bonne syntaxe, car la fonction Move_uploaded_file() me renvoie toujours FALSE.
Voici ma page en php :
$dossier = '/fichiers/';
foreach($_FILES as $fichier)
{
if(move_uploaded_file($fichier['name'], $dossier.$fichier['name']))
{
echo 'Upload effectué avec succès pour le fichier '.$fichier['name'] '. "<br/>";
}
else
{
echo 'Echec de l\'upload. '. "<br/><br/>";
}
}
Merci de m'indiquer quoi faire, j'ai essayé de multiples syntaxes mais je n'arrive jamais à uploader de fichiers...
Cordialement,
Jonas001
- Move_uploaded_file()
- Php move_uploaded_file - Meilleures réponses
- Move_uploaded_file php - Meilleures réponses
- Expert php - Télécharger - Langages
- Easy php - Télécharger - Divers Web & Internet
- Php alert ✓ - Forum PHP
- Joomla 1.5 php 5.3 ✓ - Forum PHP
- Audit code php - Forum PHP
45 réponses
- 1
- 2
- 3
Le problème porte sur l'upload multiple de fichiers via un script PHP, car move_uploaded_file retourne FALSE et le chemin d'arrivée ainsi que l'usage du nom temporaire posent problème. Des solutions recommandent d'utiliser le nom temporaire ($_FILES['fichier']['tmp_name']) et de construire le chemin serveur avec $_SERVER['DOCUMENT_ROOT'] pour stocker dans un dossier accessible côté serveur, par exemple /uploads/. En cas d'erreur, certaines réponses insistent sur l'importance d'utiliser le chemin absolu côté serveur, par exemple $_SERVER['DOCUMENT_ROOT'] . '/fichiers/', et de vérifier que le dossier existe et dispose des droits d'écriture. En cas d'échec persistant, vérifier aussi les droits d'écriture du dossier et les paramètres PHP tels que upload_max_filesize et post_max_size, qui peuvent bloquer l'upload même si move_uploaded_file est correctement appelé.
Perso j'ai fait une frame dans la page que les gens visionnent. Cette frame s'appelle index.html qui la page index.html présent dans l'archive.
Cette page index.html effectue un envoi en post pour la page upload.php, dont le code est :
<?php
foreach($_FILES as $fichier)
{
$dossier =$_SERVER['DOCUMENT_ROOT']. '/html/upload/fichiers/';
$fich=$fichier['name'];
if(move_uploaded_file($fichier['tmp_name'],$dossier . $fich))
{
echo 'Upload effectué avec succès pour le fichier '.$fichier['name'] . "<br/>";
}
else
{
echo '<font color="red">Echec de l\'upload pour le fichier <f/ont>'.$fichier['name']. "<br/><br/>";
}
}
?>
Pense donc à modifier avec ton propre chemin la partie /html/upload/fichiers/' , c'est tout ce que tu as à faire.
Après ce script est joli mais peu efficace, c'est dur d'uploader plus de 2 ou 3 photos de 400ko, donc c'est pas la joie je trouve
- 1
- 2
- 3