Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1373 connectés 

  FORUM HardWare.fr
  Programmation
  PHP

  [PHP] Warning: copy() failed to open stream: Permission denied

 


 Mot :   Pseudo :  
 
 Page :   1  2
Page Précédente
Auteur Sujet :

[PHP] Warning: copy() failed to open stream: Permission denied

n°1114783
texaff
Posté le 09-06-2005 à 20:29:00  profilanswer
 

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.
 
 
 
 
 
 
 

mood
Publicité
Posté le 09-06-2005 à 20:29:00  profilanswer
 

n°1114788
yoyo354
Yoyo, le roi du ...
Posté le 09-06-2005 à 20:31:04  profilanswer
 

Vérifie les droits d'accès que tu as sur le fichier.  
Sous nux, "ls -ail"

n°1114790
texaff
Posté le 09-06-2005 à 20:31:37  profilanswer
 

ouai mais justement je suis sur xp!  donc impossible de gerer ca (enfin je pense pas)!

n°1114826
texaff
Posté le 09-06-2005 à 20:47:59  profilanswer
 

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...???

n°1114906
yoyo354
Yoyo, le roi du ...
Posté le 09-06-2005 à 22:04:27  profilanswer
 

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é ?

n°1114970
ritzle
Posté le 09-06-2005 à 22:38:58  profilanswer
 

je pense qu'il veut dire que c'est quand il copie vers son hébergeur

n°1115010
Badze
Aime les frites
Posté le 09-06-2005 à 23:05:41  profilanswer
 

Une fois sur lhebergeur, tu peux modifier les droit du fichier.

n°1115210
texaff
Posté le 10-06-2005 à 03:56:22  profilanswer
 

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 ( :lol: ) 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!!!
 
 

n°1115211
texaff
Posté le 10-06-2005 à 03:57:49  profilanswer
 

ps2 : les fautes dortograf c'est pas ma fote je suis trop nul!!!

n°1115212
texaff
Posté le 10-06-2005 à 04:01:07  profilanswer
 

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 :
  1. <?
  2. $pseudo=$_GET['pseudo'];
  3. ?> 
  4. <html>
  5. <title>Forum</title>
  6. <Body bgcolor=#FFFFFF>
  7. <table border=0 BGcolor=#D5E6E1 >
  8. <form method="post" action="insert.php3?pseudo=<? print($pseudo); ?>">
  9.     <tr> <td>    <p>PHOTO : <br>
  10.             <input type="file" size=20 name="fileup" >
  11.           </p>
  12.           <p>&nbsp; </p>
  13.         </td></tr>
  14.       <tr>
  15.         <td width="433">
  16.           <input type="image" src="img/benvoyer.gif" alt="envoyer" name="image2">
  17.           <a href="insert.php"><img src="img/bannuler.gif" border=0 ></a>
  18.         </td>
  19.     </tr>
  20. </form>
  21.   </table>
  22. </center>
  23. </body></html>

     
 
 
 
fichier : insert.php3
 

Code :
  1. <?
  2. session_start();
  3. //$pseudo = $_SESSION['pseudo'];
  4. //$pass =$_SESSION['pass'];
  5. $pseudo = $_GET['pseudo'];
  6. $file = $_POST['fileup'];
  7. $dirname = 'upload';
  8. print("le fichier est en cours d'upload<br>" );
  9. copy($file,$dirname."/".$pseudo.".jpg" );;
  10. print("le fichier est uploader" );
  11. ?>
  12. <html>
  13. <body>
  14. <meta http-equiv="refresh"
  15. content="1;URL=http://xxxxxxxxx.free.fr/photo/insert.php?pseudo=<?
  16. print($pseudo);?>">
  17. </body>
  18. </html>


Message édité par texaff le 10-06-2005 à 13:24:56
mood
Publicité
Posté le 10-06-2005 à 04:01:07  profilanswer
 

n°1115226
ritzle
Posté le 10-06-2005 à 08:08:21  profilanswer
 

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.

n°1115260
el_gaucho
Posté le 10-06-2005 à 09:15:31  profilanswer
 

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....)

n°1115610
texaff
Posté le 10-06-2005 à 12:48:43  profilanswer
 

ritzle a écrit :

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.


 
 
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 :D qui n auront absolument pas l'idée de faire ca!!)
 
bon j'essaie de voir le prop du dossier

n°1115613
texaff
Posté le 10-06-2005 à 12:52:20  profilanswer
 

el_gaucho a écrit :

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....)


 
 
j'ai tout les droits,  
je le lance a la main  
 
je vois pas ou on voit les droits???
 
merci!

n°1115635
texaff
Posté le 10-06-2005 à 13:13:15  profilanswer
 

j'en ai marre je comprends tjrs pas!!! le coup du lecture seule ca m'etonne!!

n°1115669
el_gaucho
Posté le 10-06-2005 à 13:41:15  profilanswer
 

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?

n°1115679
texaff
Posté le 10-06-2005 à 13:55:39  profilanswer
 

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!
 

n°1115810
texaff
Posté le 10-06-2005 à 15:04:01  profilanswer
 

ok le prob est résolu!!
 
merci
 
c'etait $file = $_POST['fileup'];  
 
il fallait utilisé
 
$file = $_POST['fileup']['tmp_name'];
 
merci pour tout
 

n°1431159
snp
quand on sait pas, on se tait
Posté le 25-08-2006 à 09:13:53  profilanswer
 

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 ?


Message édité par snp le 25-08-2006 à 09:14:12
n°1431227
snp
quand on sait pas, on se tait
Posté le 25-08-2006 à 10:29:00  profilanswer
 

Voici mon code :
FORMULAIRE classique en POST:

Code :
  1. <input type="file" name="doc_joint"> <span class="Style1">(si plusieurs, les zipper)


 
fichier de TRAITEMENT :

Code :
  1. $doc_joint=$_POST['doc_joint'];
  2. $fp = fopen("$doc_joint", "w" );
  3. $bin_att = fread($fp, filesize("$doc_joint " ));
  4. fclose($fp);


 
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 !!

Message cité 1 fois
Message édité par snp le 25-08-2006 à 10:39:25
n°1431257
skeye
Posté le 25-08-2006 à 11:13:51  profilanswer
 

snp a écrit :

Voici mon code :
FORMULAIRE classique en POST:

Code :
  1. <input type="file" name="doc_joint"> <span class="Style1">(si plusieurs, les zipper)


 
fichier de TRAITEMENT :

Code :
  1. $doc_joint=$_POST['doc_joint'];
  2. $fp = fopen("$doc_joint", "w" );
  3. $bin_att = fread($fp, filesize("$doc_joint " ));
  4. fclose($fp);


 
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 !!


 

texaff a écrit :

ok le prob est résolu!!
 
merci
 
c'etait $file = $_POST['fileup'];  
 
il fallait utilisé
 
$file = $_POST['fileup']['tmp_name'];
 
merci pour tout


 
 
:??:

n°1431260
snp
quand on sait pas, on se tait
Posté le 25-08-2006 à 11:15:36  profilanswer
 

ça marche pas mieux alors j'ai viré cette variable ['tmp_name']

n°1431261
skeye
Posté le 25-08-2006 à 11:17:25  profilanswer
 

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?:o

n°1431265
snp
quand on sait pas, on se tait
Posté le 25-08-2006 à 11:27:25  profilanswer
 

déjà essayé aussi...
je remet tmp_name alors.

n°1431751
snp
quand on sait pas, on se tait
Posté le 26-08-2006 à 11:15:02  profilanswer
 

up

n°1432460
snp
quand on sait pas, on se tait
Posté le 28-08-2006 à 12:37:27  profilanswer
 

up svp

n°1432461
skeye
Posté le 28-08-2006 à 12:44:38  profilanswer
 

down.[:dawa]

n°1432937
snp
quand on sait pas, on se tait
Posté le 29-08-2006 à 10:49:10  profilanswer
 

up

n°1433563
snp
quand on sait pas, on se tait
Posté le 30-08-2006 à 10:16:50  profilanswer
 

up

n°1440831
snp
quand on sait pas, on se tait
Posté le 12-09-2006 à 12:40:43  profilanswer
 

up

n°1440857
Djebel1
Nul professionnel
Posté le 12-09-2006 à 13:06:12  profilanswer
 

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.

n°1440858
snp
quand on sait pas, on se tait
Posté le 12-09-2006 à 13:08:26  profilanswer
 

mais j'ai déjà essayé et ça ne marche pas mieux !!!!!

n°1440860
Djebel1
Nul professionnel
Posté le 12-09-2006 à 13:09:59  profilanswer
 

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 ?

n°1440863
snp
quand on sait pas, on se tait
Posté le 12-09-2006 à 13:15:07  profilanswer
 

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 :
  1. <?php
  2. include_once("../../outils/html_mime/html_mime_mail.inc" );
  3. require("../../outils/pdf/fpdf.php" );
  4. //**********************************************************************************************//   
  5. //******************************************VERIFICATION******************************************//   
  6. //**********************************************************************************************//     
  7. if (isset($_FILES['doc_joint']))
  8. {
  9.        
  10. $doc_joint=$_FILES['doc_joint']['tmp_name'];
  11. }
  12. //**********************************************************************************************//   
  13. //******************************************CREATION PDF******************************************//   
  14. //**********************************************************************************************//  
  15. //*******************************VARIABLES RECUPEREES**********************************//
  16. include '../../admin/variables.php';
  17. $utilisateur=$_POST['utilisateurs'];
  18. $delai=$_POST['delai'];
  19. $lieu=$_POST['lieu'];
  20. $projet=$_POST['projet'];
  21. $description=$_POST['description'];
  22. $doc_joint = $_FILES['doc_joint']['tmp_name'];
  23. $daei=$_POST['daei'];
  24. $section=$_POST['section'];
  25. $budget=$_POST['compte'];
  26. $today = date ('j-m-Y');
  27. //*******************************MISE EN PAGE**********************************//   
  28.   $pdf->SetTextColor(0,0,230);
  29.   $pdf->SetFont('Arial','B',12);
  30.   $pdf->Cell(0,5,"DOCUMENTS JOINTS : ",1,1,'C');
  31.   $pdf->Ln(10);
  32. if (!empty($doc_joint)){
  33.    $doc = substr(strrchr($doc_joint, "\\" ), 1);
  34.    
  35.   $pdf->SetFont('Arial','',9);
  36.   $pdf->Cell(0,5,"$doc",0,1,'C');
  37.   $pdf->Ln(10);
  38.   }
  39.  
  40.   else {
  41.   $pdf->SetFont('Arial','',9);
  42.   $pdf->Cell(0,5,"PAS DE DOCUMENTS FOURNIS",0,1,'C');
  43.   $pdf->Ln(10);
  44.   }
  45.  
  46.  
  47. //**********************************************************************************************//   
  48. //******************************************ENVOI MAIL******************************************//   
  49. //**********************************************************************************************//
  50. function envoi_mail($name_from, $mail_from, $name_to, $mail_to)
  51. {
  52. include '../../admin/variables.php';
  53. $utilisateur=$_POST['utilisateurs'];
  54. $doc_joint = $_FILES['doc_joint']['tmp_name'];
  55. $projet=$_POST['projet'];
  56. $today = date (" j-m-Y" );
  57.   $nom_pdf = "Demande_Fabrication $utilisateur $projet $today.pdf";
  58.   $url = $rep_dde_fab.$nom_pdf;
  59.       //creation nouveau mail (taille MAX, "norme)"
  60.       $mon_mail = new html_mime_mail(4096000, "iso-8859-1" );
  61.       //fichier pdf créé grâce à la fonction generation_pdf() en piece jointe
  62.       $nom_dde_envoye="Demande_Fabrication $utilisateur $projet.pdf";
  63.   $mon_mail->add_attach(generation_pdf(), "$nom_dde_envoye", "application/octet-stream" );
  64.  
  65.  
  66. if (!empty($doc_joint))
  67. {
  68.   //Les pièces jointes
  69.      $fp = fopen("$doc_joint", "r" );
  70. $bin_att = fread($fp, filesize("$doc_joint " ));
  71. fclose($fp);
  72.   //nom des pièces jointes
  73.      $mon_mail->add_attach($bin_att, "$doc_joint", "application/octet-stream" );
  74.    
  75. }
  76.     else
  77. {}
  78.  
  79. ?>


Message édité par snp le 12-09-2006 à 13:43:08
n°1440872
skeye
Posté le 12-09-2006 à 13:27:07  profilanswer
 

T'as pas plus gros comme paté?[:dawao]
C'est trop compliqué de mettre que ce qui peut servir?
C'est infaisable de mettre le message d'erreur que tu obtiens?[:autobot]


---------------
Can't buy what I want because it's free -
n°1440876
snp
quand on sait pas, on se tait
Posté le 12-09-2006 à 13:35:59  profilanswer
 

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'];

n°1440877
skeye
Posté le 12-09-2006 à 13:38:11  profilanswer
 

snp a écrit :

Notice undefined index doc_joint lignes 189 et 85.


[:mlc]
 
montre le code de ton formulaire.:o


---------------
Can't buy what I want because it's free -
n°1440878
snp
quand on sait pas, on se tait
Posté le 12-09-2006 à 13:38:35  profilanswer
 

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'];

n°1440879
snp
quand on sait pas, on se tait
Posté le 12-09-2006 à 13:39:31  profilanswer
 

la partie concernée du formulaire :

Code :
  1. <!-------------------------PIECES JOINTES---------------------------->
  2. <div align="center" class="IntraBE2">
  3. <p>DOCUMENT JOINT</p>
  4. <span class="IntraBE">
  5. PLANS, NORMES, CDC etc... : <input type="file" name="doc_joint"> <span class="Style1"></span>
  6. <br />
  7.  
  8.      
  9. </div>
  10. <hr />


Message édité par snp le 12-09-2006 à 13:39:49
n°1440883
skeye
Posté le 12-09-2006 à 13:41:18  profilanswer
 

ok, fais un print_r($_FILES) dans le script, pour voir ce qu'il t'affiche.:o


---------------
Can't buy what I want because it's free -
mood
Publicité
Posté le   profilanswer
 

 Page :   1  2
Page Précédente

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  PHP

  [PHP] Warning: copy() failed to open stream: Permission denied

 

Sujets relatifs
[PHP - MySQL] Insertion nouvel item ds menu déroulant[ Réglé] Champ select et PHP
Player MP3 (stream) en Flash dispo et completProgrammation site PHP
[PHP] Tester si une valeur existe dans un tableau [RESOLU]conversion de PDF en JPEG en PHP
CGI avec Perl ou PHPopen cv pb avec le déplacemnt d'une fenêtre image
[PHP] Aide pour tri de tableau multi-dimensionnelSQL Access PHP
Plus de sujets relatifs à : [PHP] Warning: copy() failed to open stream: Permission denied


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR