upload img en local ca marche ou pas ?

Eléphant du PHP | 61 Messages

18 avr. 2005, 23:30

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

Eléphant du PHP | 139 Messages

18 avr. 2005, 23:33

Vérifie si ton répertoire n'est pas sur lecture seule

Eléphant du PHP | 61 Messages

18 avr. 2005, 23:50

merci geento, je viens de verifier mais la case a cocher lecture seule est est désactivée.

Eléphant du PHP | 139 Messages

19 avr. 2005, 00:08

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 = '';

Eléphant du PHP | 61 Messages

19 avr. 2005, 00:10

Gentoo peu être que cela ne marche pas en local?

Eléphant du PHP | 139 Messages

19 avr. 2005, 00:15

si ça fonctionne très bien chez moi, même avec windaube :wink:

Eléphant du PHP | 61 Messages

19 avr. 2005, 00:28

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.

Eléphant du PHP | 139 Messages

19 avr. 2005, 00:39

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

Eléphant du PHP | 139 Messages

19 avr. 2005, 00:51

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.

Eléphant du PHP | 61 Messages

19 avr. 2005, 00:56

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.

Eléphant du PHP | 61 Messages

19 avr. 2005, 01:01

j'ai mis 100000 comme valeur, mais toujours rien.

Eléphant du PHP | 139 Messages

19 avr. 2005, 01:06

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/';

Eléphant du PHP | 61 Messages

19 avr. 2005, 01:22

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.

Eléphant du PHP | 139 Messages

19 avr. 2005, 01:28

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 ???

Eléphant du PHP | 61 Messages

19 avr. 2005, 01:43

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/";