Warning: copy() failed to open stream: Permission denied [PHP] - PHP - Programmation
Marsh Posté le 09-06-2005 à 20:31:04
Vérifie les droits d'accès que tu as sur le fichier.
Sous nux, "ls -ail"
Marsh Posté le 09-06-2005 à 20:31:37
ouai mais justement je suis sur xp! donc impossible de gerer ca (enfin je pense pas)!
Marsh Posté le 09-06-2005 à 20:47:59
ce ki m'enerve c pourkoi es ce qu'en local ca marche tre bien et des que je passe sur internet ca marche plus...???
Marsh Posté le 09-06-2005 à 22:04:27
D'un coté, ce n'est pas un serveur de production ? Donc, ce n'est pas si grave...
Aufète, qu'entends-tu par "je passe sur internet" ? Tu utilises une redirection genre dyndns ? ip dédié ?
Marsh Posté le 09-06-2005 à 22:38:58
je pense qu'il veut dire que c'est quand il copie vers son hébergeur
Marsh Posté le 09-06-2005 à 23:05:41
Une fois sur lhebergeur, tu peux modifier les droit du fichier.
Marsh Posté le 10-06-2005 à 03:56:22
en fait c pas ca
je suis chez moi ca veut dire je passe par http://127.0.0..etc quand je veux dir le net je passe par pas chez moi ( ) mais par un autre pc (qui habite loin tres loin...) qui passe par mon adresse ip internet ( http://82. etc.. )
les serveur dédié et companie je m'en tape
ce qui me fait DéBLOQUé c'est que je me di le dossier sur lequel j'essay d'ecrire il a un chmod pourri mais le prob c'est que je suis sous xp donc pas de prob a ce niveau la...
Grosse erreur !!!
je vais voir le dossier sur lequel j'essaie d'ecrire et la je vois (tjrs sous xp ) qu'il est en lecture seul! je me dis miracle! le probleme est la je decoche je valide et c dans la poche!
mais voila une fois effectué ca change rien ca merd.. toujours
je vais revoire les proprietés du repertoire et la hop c de nouveau en lecture seul!!!
Borde.. de Merd... c'est pas possible je viens de décocher!!
et en fait ca reviens a chaque fois!!! aidez moi!!!
ps: je suis aller voir le .htaccess ou j'ai fait "allowed for all" histoire d'avoir pas de prob!!
merci de m'aider!!!
Marsh Posté le 10-06-2005 à 03:57:49
ps2 : les fautes dortograf c'est pas ma fote je suis trop nul!!!
Marsh Posté le 10-06-2005 à 04:01:07
je peux vous montrer mon code (pour l'instant je suppose que la personne qui vient sait qu'il faut pas mettre un fichier de merde....)
le pseudo vient du site precedent ?pseudo=etc...
fichier index.php3
Code :
|
fichier : insert.php3
Code :
|
Marsh Posté le 10-06-2005 à 08:08:21
remarque qui n'a rien à voir avec le probleme :
si tu va directement à insert.php3 sans passer par le formulairet'aura des messages d'erreur paske les var $_GET et $_POST n'existeront pas.
Marsh Posté le 10-06-2005 à 09:15:31
premierement, as tu tous les droits admin sur ton xp?
Easyphp tourne comme un service ou c'est toi qui le lance?
quand tu fais propriété sur ton dossier, click sur l'onglet sécurité et regarde les droits qu'il y a (peut etre meme aller voir le proprietaire dans parametres avancés....)
Marsh Posté le 10-06-2005 à 12:48:43
ritzle a écrit : remarque qui n'a rien à voir avec le probleme : |
oui mais ca je m'en tape aussi! je vois pas comment quelqu'un aura envie de venir direct sur cette page ( et puis le site sera utilisé par des glands qui n auront absolument pas l'idée de faire ca!!)
bon j'essaie de voir le prop du dossier
Marsh Posté le 10-06-2005 à 12:52:20
el_gaucho a écrit : premierement, as tu tous les droits admin sur ton xp? |
j'ai tout les droits,
je le lance a la main
je vois pas ou on voit les droits???
merci!
Marsh Posté le 10-06-2005 à 13:13:15
j'en ai marre je comprends tjrs pas!!! le coup du lecture seule ca m'etonne!!
Marsh Posté le 10-06-2005 à 13:41:15
deja 2 ;; dans :
copy($file,$dirname."/".$pseudo.".jpg" );;
ensuite tu peux regarder vers la fonction :
move_uploaded_file($filename,$destination);
et TRES IMPORTANT, dans ta balise FORM tu dois avoir enctype="multipart/form-data"
mais le plus simple c'est que tu ailles voir ce tutorial :
http://dream.media-box.net/index.php?showtopic=4819
sinon, le repertoire dans lequel tu veux uploader il est bien sur :
e:\easyphp1-8\www\up\upload\ ?
alors mets bien ton $dirname='e:\easyphp1-8\www\up\upload';
et non $dirname='upload';
accessoirement, si le problème ne vient que quand tu essaie d'uploader de l'exterieur : as tu un firewall?
Marsh Posté le 10-06-2005 à 13:55:39
oui j'ai un firewall mais il est desactivé (pour loccasion)
je suis derriere une routeur mais j'ai di au routeur de roouter tout le port 80 sur ma poire
j'essaie ce ke tu me di je regarde le tuto et je tien au courant
merci!
Marsh Posté le 10-06-2005 à 15:04:01
ok le prob est résolu!!
merci
c'etait $file = $_POST['fileup'];
il fallait utilisé
$file = $_POST['fileup']['tmp_name'];
merci pour tout
Marsh Posté le 25-08-2006 à 09:13:53
Salut,
je viens de trouver ce post en faisant une recherche.
J'ai le même problème que texaff :
en local, l'upload de fichiers contenus dans mon répertoire easyPHP http://127.0.0.1/ ce passe sans problème. Par contre, dès que je veux aller chercher un fichier sur un lecteur réseau ou même une autre partition de mon DD ça plante : permission denied. Pourtant j'ai bien le controle total sur tout.
quelq'un peut-il m'aider SVP ?
Marsh Posté le 25-08-2006 à 10:29:00
Voici mon code :
FORMULAIRE classique en POST:
Code :
|
fichier de TRAITEMENT :
Code :
|
et mon message d'erreur :
Warning fopen(le fichier à uploader avec son chemin.jpg): failed to open stream: Permission denied in le fichier de traitement.php on line 207
warning filesize (le fichier à uploader avec son chemin.jpg) (errno=2 - Nos such file or directory) on line 208
warning fread(): supplied argument is not a valid stream ressource in line 208
warning fclose(): supplied argument is not a valid stream ressource in line 209
Merci de m'aider !!
Marsh Posté le 25-08-2006 à 11:13:51
snp a écrit : Voici mon code :
|
texaff a écrit : ok le prob est résolu!! |
Marsh Posté le 25-08-2006 à 11:15:36
ça marche pas mieux alors j'ai viré cette variable ['tmp_name']
Marsh Posté le 25-08-2006 à 11:17:25
euh oui mais non, c'est quand même tmp_name qu'il faut utiliser.
et tu ne devrais pas l'ouvrir en lecture plutot qu'en écriture?
Marsh Posté le 12-09-2006 à 13:06:12
faut pas faire :
$doc_joint = $_POST['doc_joint'];
mais :
$doc_joint = $_FILES['doc_joint']['tmp_name'];
C'est vrai qu'il était difficile d'obtenir cette information qui nécessitait au moins dix secondes de recherche sur google. Ca méritait au moins d'attendre la réponse pdt 15 jours.
Marsh Posté le 12-09-2006 à 13:09:59
bah essaye de débugger : fais un
print_r($_FILES)
et dis-nous ce que ça met.
Ton hébergeur autorise l'upload de fichier au moins ? Tu as accès au php.ini ?
Marsh Posté le 12-09-2006 à 13:15:07
je suis en local pr le moment avec easyphp parce que c'est pour une base locale partagée (intranet).
ce que je ne comprends pas c'est qu'il me met un undefined index !
je met mon code complet :
Code :
|
Marsh Posté le 12-09-2006 à 13:27:07
T'as pas plus gros comme paté?
C'est trop compliqué de mettre que ce qui peut servir?
C'est infaisable de mettre le message d'erreur que tu obtiens?
Marsh Posté le 12-09-2006 à 13:35:59
j'ai tout mis pour que vous compreniez la mécanique du truc...
pour le msg d'erreur c'est ça :
Notice undefined index doc_joint lignes 189 et 85.
Ce que je trouve bizarre c'est que pour un fichier compris sous le repertoire d'easyphp/www ça marche ss pb mais dès que je prend un fichier d'ailleurs ça foire.
je viens de remarquer que j'obtiens ces msg a chaque fois (quelque soit le fichier et son emplacement) qd je met
$doc_joint = $_FILES['doc_joint']['tmp_name'];
Marsh Posté le 12-09-2006 à 13:38:11
snp a écrit : Notice undefined index doc_joint lignes 189 et 85. |
montre le code de ton formulaire.
Marsh Posté le 12-09-2006 à 13:38:35
autre chose etrange : le mail envoyé contient la piece jointe mais fait 0Ko. de plus, le nom de la piece jointe apparait bien sur le PDF généré !
mais avec $doc_joint = $_POST['doc_joint'];
Marsh Posté le 12-09-2006 à 13:39:31
la partie concernée du formulaire :
Code :
|
Marsh Posté le 12-09-2006 à 13:41:18
ok, fais un print_r($_FILES) dans le script, pour voir ce qu'il t'affiche.
Marsh Posté le 09-06-2005 à 20:29:00
Warning: copy(C:\Documents and Settings\All Users\Documents\Mes images\Échantillons d'images\Nénuphars.jpg): failed to open stream: Permission denied in e:\easyphp1-8\www\up\insert.php on line 15
ceci merde uniquement quand je ne suis plus en local sinon ca marche tres bien...
je trouve absolument rien!!
j'utilise Easyphp 1.8
c'est censé uploader une image venant de l'exterieur sur mon pc.