[URGENT] -PHP- déplacement de fichiers (suite...)

-PHP- déplacement de fichiers (suite...) [URGENT] - PHP - Programmation

Marsh Posté le 10-08-2002 à 19:02:14    

J'ai un formulaire qui upload les fichiers vers un répertoire images...
plusloin dans les formulaires, je crée un répertoire... comment faire pour déplacer les fichiers uploader dans ce répertoire...
 
je sais mettre les noms des fichiers dans un cookie (par exemple), mais je ne connais pas la commande servant à déplacer les fichiers... quelqu'un peut m'aider...
 
note : assez urgent
 
merci


Message édité par xkamui le 12-08-2002 à 23:37:15
Reply

Marsh Posté le 10-08-2002 à 19:02:14   

Reply

Marsh Posté le 10-08-2002 à 19:08:44    

rename


---------------
brisez les rêves des gens, il en restera toujours quelque chose...  -- laissez moi troller sur discu !
Reply

Marsh Posté le 10-08-2002 à 19:09:53    

'rename' ça sert à déplacer  :??:  
 
comment ça s'utilise ??...
 
sans savoir, j'aurais plutot cru que 'rename' servait à renomer...

Reply

Marsh Posté le 10-08-2002 à 19:11:12    

renommer un fichier /toto/tata.txt en /tutu/tata.txt, ça le déplace en même temps.


---------------
brisez les rêves des gens, il en restera toujours quelque chose...  -- laissez moi troller sur discu !
Reply

Marsh Posté le 10-08-2002 à 19:12:39    

cool !!  :wahoo:  
 
alors je programme ça comment exactement ??

Reply

Marsh Posté le 10-08-2002 à 19:14:42    

Genre comme ça :  
 

Code :
  1. function moveFile ($filename, $destDir, $currentDir){
  2.     if ($destDir == "" ) {
  3.     print  "<font color=\"red\">No destination dir given </font><br>";
  4.     return "[No destination dir given] ";
  5.     }
  6.     if (($currentDir == "." ) || ($currentDir == "" )) {
  7.         $destination = "$destDir/$filename";
  8.     $source="$filename";
  9.     } else {
  10.     $destination = "$currentDir/$destDir/$filename";
  11.     $destDir = "$currentDir/$destDir";
  12.     $source = "$currentDir/$filename";
  13.     }
  14.     if (!is_dir ($destDir)){
  15.     print  "<font color=\"red\">Error with destination dir $destDir </font><br>";
  16.     return "[Error with destination dir $destDir] ";
  17.     }
  18.     if (rename ($source, $destination)) {
  19.     print  "<font color=\"green\">Moving file $source to $destination done</font><br>";
  20.     return  "[Moved $source to $destination] ";
  21.     } else {
  22.     print  "<font color=\"red\">Error moving file $source to $destination</font><br>";
  23.     return "[Error moving $source to $destination] ";
  24.     }
  25. }


Message édité par kadreg le 10-08-2002 à 19:15:36

---------------
brisez les rêves des gens, il en restera toujours quelque chose...  -- laissez moi troller sur discu !
Reply

Marsh Posté le 10-08-2002 à 19:16:41    

juste histoire d'être sur... car y'a beaucoup en code...
 
rename ($source, $destination); ça suffit ??

Reply

Marsh Posté le 10-08-2002 à 19:18:04    

Oui, mais $destination doit contenir le nom du fichier, d'ou le blabla avant


Message édité par kadreg le 10-08-2002 à 19:18:12

---------------
brisez les rêves des gens, il en restera toujours quelque chose...  -- laissez moi troller sur discu !
Reply

Marsh Posté le 10-08-2002 à 19:19:53    

merci beaucoup beaucoup beaucoup beaucoup beaucoup beaucoup beaucoup beaucoup beaucoup beaucoup beaucoup beaucoup beaucoup beaucoup beaucoup beaucoup beaucoup beaucoup beaucoup beaucoup beaucoup beaucoup beaucoup beaucoup beaucoup beaucoup beaucoup beaucoup beaucoup beaucoup beaucoup beaucoup beaucoup beaucoup beaucoup beaucoup beaucoup beaucoup beaucoup beaucoup beaucoup beaucoup beaucoup beaucoup beaucoup beaucoup beaucoup beaucoup beaucoup beaucoup beaucoup beaucoup beaucoup beaucoup beaucoup beaucoup beaucoup beaucoup beaucoup beaucoup beaucoup beaucoup beaucoup beaucoup beaucoup beaucoup beaucoup beaucoup beaucoup beaucoup beaucoup beaucoup beaucoup beaucoup beaucoup beaucoup beaucoup beaucoup beaucoup beaucoup beaucoup beaucoup beaucoup beaucoup beaucoup beaucoup beaucoup beaucoup beaucoup beaucoup beaucoup beaucoup beaucoup beaucoup beaucoup beaucoup beaucoup beaucoup beaucoup beaucoup beaucoup beaucoup beaucoup beaucoup beaucoup beaucoup beaucoup beaucoup beaucoup beaucoup beaucoup beaucoup beaucoup beaucoup beaucoup beaucoup beaucoup beaucoup beaucoup beaucoup beaucoup beaucoup beaucoup beaucoup beaucoup beaucoup beaucoup beaucoup beaucoup beaucoup beaucoup beaucoup beaucoup beaucoup beaucoup beaucoup beaucoup beaucoup beaucoup beaucoup beaucoup beaucoup beaucoup beaucoup beaucoup beaucoup beaucoup beaucoup beaucoup beaucoup beaucoup beaucoup beaucoup !!!  :jap:


Message édité par xkamui le 10-08-2002 à 19:22:14
Reply

Marsh Posté le 11-08-2002 à 22:56:28    

J'ai un petit problème... voilà ce que je met :  
 

Code :
  1. $Query="SELECT idf, photo_princ, photo_sec from motos order by idf DESC";
  2.  $Result=MYSQL_QUERY ("$Query" );
  3.  $Tab=MYSQL_FETCH_ROW ($Result);
  4.  $ID=$Tab[0];
  5.  $source1="image/$Tab[1]";
  6.  $source2="image/$Tab[2]";
  7.  $sql="UPDATE motos SET km='$km', modele='$modele', annee='$annee', prix='$prix', commentaire='$commentaire', new='$new', categorie='$categorie', marque='$marque', date=NOW(), promotion='$promotion', date_arrivee='$date_arrivee' WHERE idf like $ID";
  8.  $req=mysql_query($sql);
  9.      if ($req!=false)
  10.          {
  11.     print("<center><font color=\"#FF0000\">Ajout des données de la moto effectué.</font></center><BR>\n" );
  12.     chdir(image);
  13.     $idf=mysql_insert_id();
  14.     $moto_idf="moto".$Tab[0];
  15.     mkdir($moto_idf,0755);
  16.     session_unregister("moto_idf" );
  17.     session_register("moto_idf" );
  18.     session_unregister("idf" );
  19.     session_register("idf" );
  20.     $destination1="image/$moto_idf/$Tab[1]";
  21.     $destination2="image/$moto_idf/$Tab[2]";
  22.     rename ($source1, $destination1);
  23.     rename ($source2, $destination2);


 
et il me dit :  
 
Warning: rename() failed (No such file or directory) in c:\program files\easyphp\www\web\alliance\admin\motos\rec_moto.php4 on line 166
 
Warning: rename() failed (No such file or directory) in c:\program files\easyphp\www\web\alliance\admin\motos\rec_moto.php4 on line 167

 
pkoi il veut pas me déplacer mes images ??!!

Reply

Marsh Posté le 11-08-2002 à 22:56:28   

Reply

Marsh Posté le 11-08-2002 à 23:00:21    

Parcequ'il trouve pas le fichier source ou qu'il ne peut pas créer le fichier destination.
 
Avant le rename, fait lui afficher $source1, $source2, $destination1 et $destination2, histoire de voir ce qu'il tente de manipuler.
 


---------------
brisez les rêves des gens, il en restera toujours quelque chose...  -- laissez moi troller sur discu !
Reply

Marsh Posté le 11-08-2002 à 23:01:38    

ok, je regarde ça...

Reply

Marsh Posté le 11-08-2002 à 23:05:19    

en rouge, c'était en trop...

Code :
  1. $Query="SELECT idf, photo_princ, photo_sec from motos order by idf DESC";
  2.  $Result=MYSQL_QUERY ("$Query" );
  3.  $Tab=MYSQL_FETCH_ROW ($Result);
  4.  $ID=$Tab[0];
  5.  $source1="image/$Tab[1]";
  6.  $source2="image/$Tab[2]";
  7.  $sql="UPDATE motos SET km='$km', modele='$modele', annee='$annee', prix='$prix', commentaire='$commentaire', new='$new', categorie='$categorie', marque='$marque', date=NOW(), promotion='$promotion', date_arrivee='$date_arrivee' WHERE idf like $ID";
  8.  $req=mysql_query($sql);
  9.      if ($req!=false)
  10.          {
  11.     print("<center><font color=\"#FF0000\">Ajout des données de la moto effectué.</font></center><BR>\n" );
  12.     chdir(image);
  13.     $idf=mysql_insert_id();
  14.     $moto_idf="moto".$Tab[0];
  15.     mkdir($moto_idf,0755);
  16.     session_unregister("moto_idf" );
  17.     session_register("moto_idf" );
  18.     session_unregister("idf" );
  19.     session_register("idf" );
  20.     $destination1="image/$moto_idf/$Tab[1]";
  21.     $destination2="image/$moto_idf/$Tab[2]";
  22.     rename ($source1, $destination1);
  23.     rename ($source2, $destination2);


Message édité par xkamui le 11-08-2002 à 23:06:14
Reply

Marsh Posté le 12-08-2002 à 23:42:36    

j'ai de nouveau un petit pb...
 
quand j'upload certaines images, j'ai ça qui s'affiche :  
 
"Something barfed, check the path to and the permissions for the upload directory"
 
Les images ne doivent pas dépasser les tailles 640x480 et faire plus de 100Ko... celles que j'upload entrent dans ces critères mais ne s'upload pas...
 
pire encore, elles sont bien récupérées dans mes variables et ajoutées à ma base, mais sans pour autant figurer sur le serveur...
 
Je suis avec un server de chez wanadoo... si quelqu'un sait, premièrement, pkoi ça me fait ça chez wanadoo, et deuxièmement, comment l'éviter, ça m'arrangerais pas mal...
 
Je tiens à ajouter que j'arrive à uploader des images, donc, ce n'est pas une histoire de permission d'upload... car en essayant une autre fois, ça marche.

Reply

Marsh Posté le 13-08-2002 à 12:06:14    

C une kestion de droits sur les fichiers et repertoires que tu manipule...
 
Je ne sais pas exactement comment on regle le pb proprement car je suis encore debutant mais je pense q un chmod("777" ) devrait suffir...

Reply

Sujets relatifs:

Leave a Replay

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