Fonction COPY, erreur persistante et très gênante....

Fonction COPY, erreur persistante et très gênante.... - PHP - Programmation

Marsh Posté le 12-02-2003 à 23:26:45    

Bonjour,
 
J'utilise :  
 
PHP 4.3
Apache v1.3
avec un BDD MySQL crée sous phpMyAdmin 2.4.0
 
J'arrive à la fin d'un script, et je fait un ptit outil pour uploader des images.
 
Pour copier les images sur le serveur, j'utilise la fonction COPY comme suit :
 
 
copy($mini_photo_name,"photos/mini/$postedfile_name" )
 
Pour info, toutes mes variables sont correctes, le repertoire "photos/mini/" existe et voici l'erreur que je reçois :
 
Warning: copy(pictest.jpg) [function.copy]: failed to create stream: No such file or directory in c:\webroot\condrogest\admin.php on line 591
 
En gros...je ne comprend pas...
 
La dernière solution que je vois c'est une restriction des accès niveau du serveur.
J'ai pas trop configuré le serveur Apache ni MySQL...
C'est quasi tout les réglages par défaut...
 
Merci si on peut m'aider :hello:
 
 
 
 

Reply

Marsh Posté le 12-02-2003 à 23:26:45   

Reply

Marsh Posté le 12-02-2003 à 23:30:47    

C'est la fonction move_uploaded_file() qu'il faut utiliser :
 
http://www.php.net/manual/en/features.file-upload.php


---------------
Laissez l'Etat dans les toilettes où vous l'avez trouvé.
Reply

Marsh Posté le 12-02-2003 à 23:35:27    

Merci !!!
 
J'essaie ça de suite :)
 
Je prenais exemple sur le script d'un ami écrit en php3 et apparement ça a bien changé hum :)
 
:hello:

Reply

Marsh Posté le 13-02-2003 à 00:41:23    

Boah :(
 
La je suis fatigué j'abandonne voici ce que je met :
 
 
if(move_uploaded_file($_FILES['mini_photo'],"photos/mini/$postedfile_name" )) {
 
// On vient de copier le fichier. Si ça a marché, alors il faut tout de suite enregistrer ses références dans la table "file_attach"
 
$register = mysql_query("INSERT INTO file_attach SET file_id='$file_id',file_name='$postedfile_name',file_ext='$file_ext',file_type='$file_type'" );
     
$msg = "La mini-photo a été correctement enregistrée";
    } else {
     
$msg = "Erreur : La mini-photo n'a pas été enregistrée";
    }
      }

 
Plus aucun message d'erreur mais le fichier sélectionné dans le champ n'est jamais uploadé dans le rep "photos/mini/" comme demandé...
 
COntinuerai demain...


Message édité par Robbb le 13-02-2003 à 00:44:44
Reply

Marsh Posté le 13-02-2003 à 19:19:59    

Bon, j'ai découvert en faisant tester mon script sur une autre machine ou j'ai transféré ma BDD que en fait c'était juste une question de protection de repertoire en écriture...
 
La machine sur laquelle j'ai testé celà fonctionne sous Linux Debian et il a suffit à l'utilisateur d'enlever toute les restriction sur le rep en écriture pour que cela fonctione...
 
DOnc en gros...ce que je cherche à présent, c'est le moyen de faire la même chose sous......me flinguez pas.....WIN98SE :D
 
Merci si quelqu'un peut m'aider ;)
 
 
Pas de : "Installe Linux"
Ni de : "Installe XP"
 
Merci :hello:

Reply

Marsh Posté le 14-02-2003 à 13:02:29    

Up !! :bounce: :/

Reply

Marsh Posté le 14-02-2003 à 13:55:04    

vu qu'il n'y a pas de gestion des droits sous 98, tout le monde devrait pouvoir ecrire dans ton repertoire (y compris apache)
 
si ca ne marche pas, tu as surement un probleme dans la config de ton php (safe mode ?)
 
mais 'installes linux' ca serait une bonne idee  :whistle:

Reply

Marsh Posté le 14-02-2003 à 14:14:57    

apolon34 a écrit :

vu qu'il n'y a pas de gestion des droits sous 98, tout le monde devrait pouvoir ecrire dans ton repertoire (y compris apache)
 
si ca ne marche pas, tu as surement un probleme dans la config de ton php (safe mode ?)
 
mais 'installes linux' ca serait une bonne idee  :whistle:  


 
Installer Linux, c'est dans mes plans mais pour le moment je n'ai pas le temps.
 
Je vais regarder à ma config de PHP alors merci ! ;)

Reply

Marsh Posté le 14-02-2003 à 14:18:58    

Nan safe mode=OFF

Reply

Marsh Posté le 14-02-2003 à 14:19:56    

tu sais que tu as une fonctions qui te permets de vérif que le fichier est uploadé?? is_uploaded_file
c qd même plus propre de vérifier ça avant d'essayer de copier le fichier!
et pi aussi, un servuer apache et php sous win!!  :pt1cable:  
alors sous win98 en plus!  :pt1cable:  :pt1cable:  :pt1cable:  
m'enfin, chacun ses goûts!! :hello:

Reply

Marsh Posté le 14-02-2003 à 14:19:56   

Reply

Marsh Posté le 14-02-2003 à 14:39:27    

arghbis a écrit :

tu sais que tu as une fonctions qui te permets de vérif que le fichier est uploadé?? is_uploaded_file
c qd même plus propre de vérifier ça avant d'essayer de copier le fichier!
et pi aussi, un servuer apache et php sous win!!  :pt1cable:  
alors sous win98 en plus!  :pt1cable:  :pt1cable:  :pt1cable:  
m'enfin, chacun ses goûts!! :hello:  


 
Ecoute, je te demande pas comment tu trouve mon environnement de travail !
 
Je savais très bien que mon fichier s'uploadait donc je n'avais pas besoin de is_uploaded_file...
 
Mais c'est bon j'ai trouvé la solution :
 
Il fallait écrire :
 
move_uploaded_file($_FILES['mini_photo']['tmp_name'];,"photos/mini/$postedfile_name" )
 
Voilà c'était gentil de vouloir aider ;)


Message édité par Robbb le 14-02-2003 à 14:40:37
Reply

Marsh Posté le 14-02-2003 à 14:45:27    

rahlala, si on peut même pu troller incidieusement un vendredi après-midi!! pff! ou va le monde!!!  :whistle:  :whistle:  
 
désolé de pas t'avoir donné la solution plus tôt, mais j'avais pas vu que tu n'avais pas mis le [temp_name] dans ton essai avec move!  :sweat:  :jap:

Reply

Marsh Posté le 14-02-2003 à 14:55:11    

arghbis a écrit :

rahlala, si on peut même pu troller incidieusement un vendredi après-midi!! pff! ou va le monde!!!  :whistle:  :whistle:  
 
désolé de pas t'avoir donné la solution plus tôt, mais j'avais pas vu que tu n'avais pas mis le [temp_name] dans ton essai avec move!  :sweat:  :jap:  


 
Oops ça fait un ptit moment que je suis plus sur HFR...j'avais oublié que Vendredi était devenu jour des Trolls :lol:  
 
Merci quand même ;)

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed