Page 1 sur 2

upload img en local ca marche ou pas ?

Posté : 18 avr. 2005, 23:30
par olivia
Salut, je souhaite utiliser la fonction move_uploaded_file en local avant de mettre mon site sur le serveur et j'ai un refus de repertoire de destination
permanent sous easyphp.
ma variable destination est : $variable='../www/telechar/';
sachant que le telechargement temporaire est dans le repertoire tmp de easyphp. Le php.ini est correct et j'ai fait un tour sur le faq de phpfrance, mais sans résultat: je ne trouve pas. Pourquoi ai je se problème? Pourriez vous m'aider?
Merci olivia

Posté : 18 avr. 2005, 23:33
par Gentoo Warrior
Vérifie si ton répertoire n'est pas sur lecture seule

Posté : 18 avr. 2005, 23:50
par olivia
merci geento, je viens de verifier mais la case a cocher lecture seule est est désactivée.

Posté : 19 avr. 2005, 00:08
par Gentoo Warrior
Voilà un code avec le strict minimum, s’il ne fonctionne pas chez toi... c'est un problème de configuration alors.
<?php
if (isset($_FILES)) 
{
$chemin_destination = '';
move_uploaded_file($_FILES['nom_du_fichier']['tmp_name'], $chemin_destination.$_FILES['nom_du_fichier']['name']);
}
?>
<FORM method="POST" ENCTYPE="multipart/form-data" action="<?php echo $PHP_SELF; ?>">
          <INPUT type=hidden name=MAX_FILE_SIZE  VALUE=2048>
          <INPUT type=file name="nom_du_fichier">
          <INPUT type=submit value="Envoyer">
</FORM>
n'oublie pas de mettre le nom de ton dossier dans $chemin_destination = '';

Posté : 19 avr. 2005, 00:10
par olivia
Gentoo peu être que cela ne marche pas en local?

Posté : 19 avr. 2005, 00:15
par Gentoo Warrior
si ça fonctionne très bien chez moi, même avec windaube :wink:

Posté : 19 avr. 2005, 00:28
par olivia
Merci pour ton code, mais toujours rien.
Dans php.ini j'ai pourtant
upload_max_filesize 2m
upload_tmp_dir C:\Program Files\Easyphp\tmp\
par contre
user_dir no value c'est peut être là le problème?
Merci pour ton aide, deux semaines que je cherche sans trouver.

Posté : 19 avr. 2005, 00:39
par Gentoo Warrior
rajoute ce code :
if ($_FILES['nom_du_fichier']['error']) 
{
 echo $_FILES['nom_du_fichier']['error'];
}
juste, après le :

if (isset($_FILES))
{

et dis-moi le numéro de l'erreur

Posté : 19 avr. 2005, 00:51
par Gentoo Warrior
haaa, j'oubliais de te dire que tu dois fixer la taille maximum du fichier a uploader dans :

<INPUT type=hidden name=MAX_FILE_SIZE VALUE=2048>

Ici, teste avec des petits fichiers de 1 ou 2 Ko seulement si ça va avec ceux-là c'est que tu dois changer la taille, elle est trop petite.

Posté : 19 avr. 2005, 00:56
par olivia
Gentoo, merci mais il ne s'affiche rien comme erreur. Page blanche avec la balise FORM.
Saches que si j'envoie mes données dans mysql, avec champs longblob, name, type et size, tout s'enregistre sans erreur. Aussi mon navigateur est nescape, c'est peut être lui qui ne correspond pas.

Posté : 19 avr. 2005, 01:01
par olivia
j'ai mis 100000 comme valeur, mais toujours rien.

Posté : 19 avr. 2005, 01:06
par Gentoo Warrior
je viens de m'en rendre compte.

ton script est dans le répertoire de easyphp "www" c'est ca ?

alors ta variable doit pas etre $variable='../www/telechar/';
mais $variable='telechar/';

idem pour mon script : $chemin_destination='telechar/';

Posté : 19 avr. 2005, 01:22
par olivia
Je ne comprend pas, cela ne fonctionne toujours pas même en changeant cette variable. Si j'ai bien saisie le fichier jpg devrait être enregistrer dans mon répertoire situé dans l'arbo www de easyphp.
Mais rien.

Posté : 19 avr. 2005, 01:28
par Gentoo Warrior
Logiquement, il devrait être uploader dans ton répertoire telechar.

dans www , tu devrais avoir ça :
  • script->upload
    dossier->telechar
franchement, je vois plus ce qui pourrait cloché :? désolé

Peut-être Netscape ???

Posté : 19 avr. 2005, 01:43
par olivia
Merci Gentoo pour ton temps, je viens de le tester avec IE et cela ne fonctionne pas non plus. Mon arbo est
C:/ProgramFiles/Easyphp/www/telechar/index.php
et la mémoire tampon
C:/ProgramFiles/Easyphp/tmp/
c'est pour cela que j'avais mis $variable="../www/telechar/";