Droits d'acces en local sur apache
Bonjour ;-)
J'ai besoin d'un renseignement. Actuellement en formation webmestre, j'ai un exo a faire pour uploader des fichiers.
J'ai winn2000 pro et j'ai installé easyphp.
Jusqu'a present je n'ai eu aucun souci pour faire mes exo (je peux lire ecrire dans des fichiers etc..)
Mais il semblerait que je n'ai pas suffisament de droits pour faire cette manip (l'upload se fait via un formulaire avec un <input type="file"'> le dit formulaire traiteépar un script php)
Et quand je veux afficher mes 4 $HTTP_POST_FILE, rien ne s'affiche. De lus si je veux copier le fichier uploader ds un autre dossier, j'ai un message me disant que je n'ai pas les droits necessaires.
Pourriez-vous m'aider ? Je voudrais bien tester mon exo :-)
D'avance merci
Sylvie
J'ai besoin d'un renseignement. Actuellement en formation webmestre, j'ai un exo a faire pour uploader des fichiers.
J'ai winn2000 pro et j'ai installé easyphp.
Jusqu'a present je n'ai eu aucun souci pour faire mes exo (je peux lire ecrire dans des fichiers etc..)
Mais il semblerait que je n'ai pas suffisament de droits pour faire cette manip (l'upload se fait via un formulaire avec un <input type="file"'> le dit formulaire traiteépar un script php)
Et quand je veux afficher mes 4 $HTTP_POST_FILE, rien ne s'affiche. De lus si je veux copier le fichier uploader ds un autre dossier, j'ai un message me disant que je n'ai pas les droits necessaires.
Pourriez-vous m'aider ? Je voudrais bien tester mon exo :-)
D'avance merci
Sylvie
12 réponses
-
WebmasterVoici un petit lien bien utile concernant l'upload avec PHP :
http://www.phpfrance.com/tutorials/index.php?id=10
-
Merci pour le lien :-) mais mon souci, n'est pas exactement là. Il s'agit d'un probleme d'acces ...
Tu as une idée ?
D'avance merci
Sylvie -
ah windows lol
Oui Windows empèche la copie de fichier malgré les accès autorisés à tout le monde.
Pour commencer fait un clic droit pour aller dans propriété. Tu vas dans partage, tu mets partager ce fichier, tu mets autorisation et tout le monde.
Sur XP malgré tout ça ça ne fonctionne pas donc je te conseille de te mettre sur Linux car là ça marche sans aucun problème.
Peux tu copier l'erreur please? -
Voici le message
Warning: Unable to create '': Permission denied in c:\program files\easyphp\www\seance6\sea6-exo4.php on line 14
Sylvie -
ok.
mets le programme maintenant pour voir véritablement l'erreur-
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>Seance 6 - Exercice 4 : Upload et Affichages d'images</title>
</head>
<body>
<?
if(!empty($Upload)){
$nom=$HTTP_POST_FILES["Upload"]["name"];
$type=$HTTP_POST_FILES["Upload"]["type"];
$taille=$HTTP_POST_FILES["Upload"]["size"];
$nomtemp=$HTTP_POST_FILES["Upload"]["tmp-name"];
echo "$nom<BR>$type<br>$taille<br>$nomtemp";
$test=copy($Upload,$nom);
if ($test==0){
echo "fichier non copié";
}
else{
echo"fichier copié";
}
}
?>
</body>
</html> -
@VDPP/S : J'ai partager le dosiier mais rien n'y fait. je crois que je vais faire mon exo, sur Linux.
Sylvie
-
-
Encore moi :-)
Ce que je ne comprends pas, c'est que je peux creer un fichier, écrire dedans ect.. alors pourquoi ne pas pouvoir copier ??
Sylvie -
créer un fichier est autorisé car c'est toi qui donne les droits d'où le 0777 qu'on met en deuxième argument. Le copier fonctionne mais par exmple sous windows, supprimer un dossier n'est pas une chose facile " AUTORISATION DENIED". Pourtant supprimer un fichier marche très bien.
Si tu copies des dossier qui ont eux mêmes des dossiers tu dois créer une concaténation de copie de fichier avec des création de dossier car on ne copie pas des dossiers mais des fichiers.
Je te conseille fortement de bosser sur Linux -
Excuses-moi pour mes questions mais j'essaie de comprendre :
Dans l'exemple du script, je demande bien a copier un fichier ? (et non un dossier), donc cela devrait fonctionner ? -
$test=copy($Upload,$nom);
donc ici $Upload est un fichier.
Es tu bien placé là où tu copie. Si non utilise le chdir pour te placer là où tu vieux copier.
Je vais aller voir un truc et je reviens -
La ou je copie je suis dans mon repertoire courant (c:/program files/easyphp/www/seance6
-
-
Je viens de faire un test en recopiant le script de laltruiste.com
En fait mon fichier n'est PAS téléchargé....
Je suis allée voir dans php.ini et a priori la directive track_var est activée (enfin c'est ce que je comprends : voici la ligne telle qu'elle est ds le fichier de config ==>;Note - track_vars is ALWAYS enabled as of PHP 4.0.3
Tu as une idée ??
Sylvie