Probleme chemin dirname()

Probleme chemin dirname() - PHP - Programmation

Marsh Posté le 09-04-2010 à 21:05:09    

Bonsoir,  
 
Disons que mon arborescence est comme ci dessous
 

Code :
  1. / = racine du site
  2. |
  3. |-- index.html
  4. |
  5. |-- secu
  6.   |-- archives_z
  7.   |       |-- 2001
  8.   |-- fileupload.php


 
Je suis donc dans mon fichier "fileupload.php" (qui se trouve dans le dossier "secu" ) et de là j'upload un fichier dans mon sous dossier "2001",  en utilisant un dirname($path).
 
Et je n'arrive pas du tout à le faire...
-Si je fais $path="secu/"; Ca me le place dans secu (normal, ou presque)
-Si je fais $path="archives_z/"; Ca me met une erreur
-Si je fais $path="./archives_z/"; Ca me met une erreur
-Si je fais $path="/archives_z/"; Ca me met une erreur
-Si je fais $path="secu/archives_z/"; Ca me met une erreur
 
bref, j'ai essayé plein de chose, rien ne marche...
Voici l'zrreur en question:  

Citation :

Warning: move_uploaded_file(secu/archives_z/planning_du_20100409181545.jpg) [function.move-uploaded-file]: failed to open stream: No such file or directory in D:\Programmes\wamp\www\secu\fileupload.php on line 18
 
Warning: move_uploaded_file() [function.move-uploaded-file]: Unable to move 'D:\Programmes\wamp\tmp\php760E.tmp' to 'secu/archives_z/planning_du_20100409181545.jpg' in D:\Programmes\wamp\www\secu\fileupload.php on line 18


 
Si ca peut vous aider, voici une partie de mon script de fileupload.php. La ligne 18 correspond a la derniere ligne présente ci dessous

Code :
  1. $path = "secu/archives_z/";
  2. $nomOrigine = $_FILES['monfichier']['name'];
  3. $elementsChemin = pathinfo($nomOrigine);
  4. $extensionFichier = $elementsChemin['extension'];
  5. $extensionsAutorisees = array("jpeg", "jpg", "gif" );
  6. if (!(in_array($extensionFichier, $extensionsAutorisees))) {
  7.     echo "Le fichier n'a pas l'extension attendue";
  8. } else {   
  9.     // Copie dans le repertoire du script avec un nom
  10.     // incluant l'heure a la seconde pres  
  11.     $repertoireDestination = dirname($path) ."/";
  12.     $nomDestination = "planning_du_".date("YmdHis" ).".".$extensionFichier;
  13.     if (move_uploaded_file($_FILES["monfichier"]["tmp_name"],
  14.                                      $repertoireDestination.$nomDestination)) {


 
Je ne dirais pas non contre un peu d'aide :mouarf:
Merci

Reply

Marsh Posté le 09-04-2010 à 21:05:09   

Reply

Marsh Posté le 10-04-2010 à 12:05:00    


Salut,
 
En PHP tu as une constante qui s'appelle __FILE__ et qui contient le chemin absolu vers le script php courant.
Donc dans fileupload.php tu peux faire :

Code :
  1. $path = dirname(__FILE__) . '/archives_z';


Ca devrait marcher.
 
Bon courage

Reply

Marsh Posté le 10-04-2010 à 12:48:19    

Non, ca ne marche pas.  
J'ai essayé avec '/archives_z';  et '/archives_z'/; et dans ces deux cas ca me les enregistre dans mon dossier "secu" et non pas dans mon sous dosser archives_z ...
 
Peut etre une histoire de slash et antishash?  
Car ca m'ecris (d'apres ce que j'ai mis dans le "echo" )

Citation :

Fichier temporaire déplacé vers D:\Programmes\wamp\www\secu/planning_du_test31.xls

Reply

Sujets relatifs:

Leave a Replay

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