Forbidden (après un $_FILES)

Forbidden (après un $_FILES) - PHP - Programmation

Marsh Posté le 17-02-2004 à 16:35:43    

Bonjour !
 
J'ai inséré un script de téléchargement de fichier sur le serveur,  le fichier s'insere bien sur le serveur après la creation d'un repertoire (aleatoire), les chemins s'inserent bien dans la bdd ensuite... mais quand je link dessus.. il me dit par exemple :
 
 

Forbidden
You don't have permission to access /php/bat/clients/BAT170204e655f/cat1.gif on this server.
 
 
--------------------------------------------------------------------------------
 
Apache/1.3.29 Server at www.clonecopy.net Port 80


 
et pourtant le fichier est bien sur le serveur à l'endroit indiqué... d'où pourrait venir l'erreur ?
 
Merci
 
Freed

Reply

Marsh Posté le 17-02-2004 à 16:35:43   

Reply

Marsh Posté le 17-02-2004 à 16:39:45    

D'un problème de droits ! Vérifie que le user avec lequel s'exécute PHP a les droits d'accès en lecture vers le répertoire. Sinon, chmod.


---------------
Everyone thinks of changing the world, but no one thinks of changing himself  |  It is the peculiar quality of a fool to perceive the faults of others and to forget his own  |  Early clumsiness is not a verdict, it’s an essential ingredient.
Reply

Marsh Posté le 17-02-2004 à 16:39:47    

comment sont les droits sur le fichier en question ?

Reply

Marsh Posté le 17-02-2004 à 16:44:41    

mais ce que je comprends pas c que je peux même pas faire un lien sur un fichier HTML! Regardez ma syntaxe :
 

Code :
  1. <a href=<? echo "/php/bat/".$data['path'].$data['file_in']; ?> target="_blank"><? echo $data['file_in']; ?></a>


 
Logiquement si $data['file_in']="fichier.html", il devrait l'ouvrir comme une page web classique non ?
 
Comment mon programme pourrait ecrire un fichier sur le serveur et ne pas l'autoriser en lecture ensuite ??
 
Où puis je voir si les acces sont limités ? c quel fichier ?
 
voici la maniere que je créé le repertoire avant de copier le fichier dedans :
 

Code :
  1. $smartdate=date("dmy" );
  2. $smartnum=md5 (uniqid (rand()));
  3. $smartnum2=substr($smartnum,0,5);
  4. $batnum="BAT".$smartdate.$smartnum2;
  5. $uploaddir = 'clients/'.$batnum.'/';
  6. mkdir($uploaddir,0777);


 
est-ce que je mets un parametre qui limite les acces aux fichiers ?


Message édité par freed102 le 17-02-2004 à 16:47:28
Reply

Marsh Posté le 19-02-2004 à 13:24:26    

j'ai toujours pas resolu mon prob de "forbidden"... je comprends pas ! :( !

Reply

Marsh Posté le 19-02-2004 à 13:37:49    

cf la réponse de Taiche, le user apache n'a pas le droit d'accès en lecture [:proy]
tu as vérifié?

Reply

Marsh Posté le 19-02-2004 à 13:39:48    

bah je sais pas comment qu'on fait ! :(

Reply

Marsh Posté le 19-02-2004 à 14:41:50    

youpi !!!
 
j'ai fait ça :

Citation :


if (move_uploaded_file($_FILES['userfile']['tmp_name'], $uploaddir.$_FILES['userfile']['name']))  
 {
  chmod ($uploaddir.$_FILES['userfile']['name'], 0755);
 
[...]
}


 
... et ça marche !! :))
 
Merci !!

Reply

Sujets relatifs:

Leave a Replay

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