[Upload] Upload fichier [nouveau script]
Bonjour,
Je souhaiterais uploader un image dans un dossier. Il existe beaucoup de docs sur ce forum, mais aucun ne répond clairement à ma question, et après avoir tout essayé, je ne comprends plus rien à ce qu'il se passe ...
J'ai donc mon formulaire : newref.php
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
| <FORM method="post" enctype="multipart/form-data" action="createref.php">
[...]
<FIELDSET align="center" width="100%">
<legend class="titel">Image du produit</legend>
<BR>
<TABLE align="right" width="100%" class="white" cellspacing="10px">
<TR>
<INPUT type="hidden" name="MAX_FILE_SIZE" value="10000000" />
</TR>
<TR>
<TD style="comm">Fichier image produit :</TD>
<TD><INPUT type="file" name="image" size="20" /></TD>
</TR>
</TABLE>
</FIELDSET>
<CENTER><INPUT type="submit" value="Créer la réf."/> </CENTER></FORM>
</body>
</html> |
Et mon fichier createref.php :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26
| <?php [...]
$upfile=$HTTP_POST_FILES["image"]["tmp_name"];
echo $upfile; echo '<br />';
$file=$HTTP_POST_FILES["image"]["name"];
echo $file; echo '<br />';
$taille=$HTTP_POST_FILES["image"]["size"];
echo $taille; echo '<br />';
$repository="../prisme/type/marque/";
echo $repository; echo '<br />';
if (is_uploaded_file($upfile)) {
$extension = substr($file, strrpos($file, "."));
echo $extension; echo '<br />';
$chemin_image = $marque."/".$ref.$extension;
echo $chemin_image ; echo '<br />';
copy($file, $repository.$chemin_image);
}
else {echo "La mise à jour du fichier a échouée"; }
?>
<script language="javascript">
alert('Votre reference a bien ete creee !');
window.close();
</script> |
Voila le résultat de mes "echo" avec une image bidon de test:
Code:
1 2 3 4 5 6
| /tmp/php53G89G
Nénuphars.jpg
83794
../prisme/type/marque/
.jpg
ERCO/22165.000.jpg |
Donc pas d'erreur et pourtant aucun fichier sur le serveur, quelque soit le chemin utilisé (j'en ai essayé une dizaines différent, relatifs ou absolus, donc je pense pas que ca vienne de là).
Je ne comprends pas du tout, le script ne retourne pas d'erreurs, le fichier est bien uploadé dans le rép temp d'Apache.
Que j'utilise un copy ou un move_upload_file, j'ai le même résultat, alors que mes dossiers d'upload sont chmodés en 777....
Auriez vous une idée ??? Pour info, cela arrive à la fois sur l'hébergeur 1&1 et aussi un serveur privé de ma société. Alors que cela marche sans problème en local .... 8O
Merci de votre aide précieuse[/quote]
Re: Upload fichier, désespoir.
Citation:
Envoyé par Begood
Alors que cela marche sans problème en local ....
La réponse est alors dans la question. Si cela fonctionne en local mais pas sur ton serveur c'est clairement un problème de droits d'écritures.
Comme déjà répondu, je passerais plutôt par move_uploaded_file() que par copy(), et par $_FILES que par $HTTP_POST_FILES, obsolète depuis longtemps (PHP 4.1.0).