OVH Community, votre nouvel espace communautaire.

Uploader un fichier en php


Slasher
26/06/2004, 18h11
En fait je vient de comprendre la source principale de mon problème...

Dans le fichier formulmaire, je fesais déjà un test pour voir si un fichier étais déjà présent sur le serveur :

$filename = $local_dir."/ressources/pochette.jpg";
if (file_exists($filename))
{
....
}
else
{
...

Il semblerais que l'erreur se produise toujours lorsque j'utilise la fonction "if (file_exists($filename))" !

Je vais virer cette ligne pour l'instant mais si quelqu'un sais comment faire pour que le formulaire d'envoi de fichier fonctionne toujours après l'emploi de cette fonction, ce serais sympat !

Slasher
26/06/2004, 17h13
Merci, ca marche !!!

Scripts finaux :

albums_pochette_form.php :

echo "
";
echo "
Envoyez ce fichier :";
echo "";
echo "
";
echo "
";
?>

albums_pochette.php :

if (move_uploaded_file ($_FILES['Fichier']['tmp_name'],"/home/xxxxxxxx/www/images/pochette.jpg"))
{
print '

Téléchargement réussi !

';
}
else
{
print '

Téléchargement échoué !';
}
?>


grddam
26/06/2004, 03h47
Il me semble qu'il faut utiliser move_uploaded_file() et non copy dans le cas présent.

Slasher
26/06/2004, 00h17
Ca ne fonctionne pas non plus en utilisant cette syntaxe.
J'ai cherché sur pas mal de sites et je n'ai rien trouvé qui fonctionne (ou alors j'ai sauté un truc).

Quand je fais :

copy($_FILES[$NomFichier]["name"], "/home/xxxxxxxx/www/hmm/admin/pochette.jpg");

-> pas de message d'erreur mais le fichier n'est pas uploadé


Quand je fais :

copy($NomFichier["name"], "/home/xxxxxxxxxxx/www/hmm/admin/pochette.jpg");

-> message d'erreur : Warning: copy(a): failed to open stream: No such file or directory in /home/xxxxxxxxx/www/hmm/admin/albums_pochette.php on line 32

Pharmespace
23/06/2004, 08h23
L'upload de fichiers te renvoie un tableau.
Donc :
copy($NomFichier["name"], "../ressource...etc...

Ou mieux :

copy($_FILES[$NomFichier]["name"], "../ressource...etc...

$FILES["tmp"] : nom du fichier une fois uploadé
$FILES["name"] : nom du fichier destination
$FILES["size"] : taille en octets
$FILES["type"] : type du fichier
$FILES["error"] : n° de l'erreur d'upload.

Suffit de cherche dans Google par exemple.

Slasher
14/06/2004, 21h56
Bonjour,

J'essaye d'uploader un fichier à l'aide d'un script php.

D'un coté j'ai un formulaire :

---







Envoyer la pochette :

---

De l'autre coté, le script qui doit uploader le fichier :

---
if (!file_exists("../ressources/$id_groupe"))
{
mkdir("../ressources/$id_groupe",0755);
}

if (!file_exists("../ressources/$id_groupe/$id_album"))
{
mkdir("../ressources/$id_groupe/$id_album",0755);
}

copy($NomFichier, "../ressources/$id_groupe/pochette.jpg");
---

Et j'obtient l'erreur suivante lorsque le second script est appelé (ici en essayant de transférer un fichier "alcooper_pic2.jpg") :

"Warning: copy(alcooper_pic2.jpg): failed to open stream: No such file or directory in /home/heavymet/www/hmm/admin/albums_pochette.php on line 30"

Ce qui est étrange c'est que j'ai récupéré le script sur un projet que j'avais déjà fait et qui fonctionnas très bien !

Une idée ?