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

 


 Mot :   Pseudo :  
 
 Page :   1  2
Page Suivante
Auteur Sujet :

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

n°1440883
skeye
Posté le 12-09-2006 à 13:41:18  profilanswer
 

Reprise du message précédent :
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 12-09-2006 à 13:41:18  profilanswer
 

n°1440889
snp
quand on sait pas, on se tait
Posté le 12-09-2006 à 13:45:01  profilanswer
 

je l'ai mis tout a la fin de mon script et j'obtiens :
Array ( )

n°1440891
skeye
Posté le 12-09-2006 à 13:48:16  profilanswer
 

bah c'est vide.[:dawa]
Ya une couille dans le potage, là...t'es sûr que l'upload est permis dans ta config, là? [:dawao]


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

ça marche bien pour les fichiers du repertoire d'easyphp/www

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

file_uploads = On

n°1440911
skeye
Posté le 12-09-2006 à 14:03:42  profilanswer
 

je vois pas comment ça peut marcher si $_FILES est vide...:o


---------------
Can't buy what I want because it's free -
n°1440916
snp
quand on sait pas, on se tait
Posté le 12-09-2006 à 14:06:00  profilanswer
 

justement, ça marchait avant quand j'avais $doc_joint = $_POST['doc_joint'];

n°1440917
skeye
Posté le 12-09-2006 à 14:07:49  profilanswer
 

ok, lol. T'uploades pas le fichier, t'envoies le chemin en POST...[:dawa]


---------------
Can't buy what I want because it's free -
n°1440919
snp
quand on sait pas, on se tait
Posté le 12-09-2006 à 14:08:36  profilanswer
 

j'avais pourtant bel et bien le fichier en piece jointe !

n°1440921
skeye
Posté le 12-09-2006 à 14:09:36  profilanswer
 

bien entendu, le fichier uploadé est déjà sur le serveur, rigolo.[:dawao]
 
Bon, tu lis ça et tu fais tout pareil.
http://www.toutestfacile.com/php/c [...] upload.php


---------------
Can't buy what I want because it's free -
mood
Publicité
Posté le 12-09-2006 à 14:09:36  profilanswer
 

n°1441110
snp
quand on sait pas, on se tait
Posté le 12-09-2006 à 15:35:00  profilanswer
 

Bon, OK.
j'ai fait ça :

Code :
  1. if (!empty($doc_joint))
  2. {
  3. $tmp_doc_joint = move_uploaded_file($_FILES['doc_joint']['tmp_name']);
  4.    
  5.   //Les pièces jointes
  6.      $fp = fopen("$tmp_doc_joint", "r" );
  7. $bin_att = fread($fp, filesize("$tmp_doc_joint " ));
  8. fclose($fp);
  9.   //nom des pièces jointes
  10.      $mon_mail->add_attach($bin_att, "$tmp_doc_joint", "application/octet-stream" );
  11.    
  12. }
  13.     else
  14. {}


mais ça me plante tout :
Warning : wrong parameters count for move_uploaded_file() ligne 5
Warning : filesize(): stat failed for (errno=2 - no such file or directory) ligne 11
Warning : fread() supplied argument is not a valid stream ressource ligne 11
Warning : fclose() supplied argument is not a valid stream ressource ligne 12


Message édité par snp le 12-09-2006 à 15:36:24
n°1441118
skeye
Posté le 12-09-2006 à 15:37:38  profilanswer
 

'tain mais c'est compliqué de lire un message d'erreur? [:mlc]
 

Citation :

Warning : wrong parameters count for move_uploaded_file() ligne


 
ah ben voyons voir ce qu'attend move_uploaded_file(), alors! [:dawa]
 
http://fr.php.net/manual/fr/functi [...] d-file.php
 

Citation :

Description
bool move_uploaded_file ( string filename, string destination )


 
Ah ben oui, le message d'erreur a raison.[:dawa]


---------------
Can't buy what I want because it's free -
n°1441262
Djebel1
Nul professionnel
Posté le 12-09-2006 à 17:06:52  profilanswer
 

je parie que dans ta balise form tu as oublié l'attribut :  
enctype="multipart/form-data"
 
Tu peux faire voir le code hml de ton formulaire, et pas uniquement l'input pour soumettre le fichier stp ?

n°1442183
snp
quand on sait pas, on se tait
Posté le 14-09-2006 à 09:10:27  profilanswer
 

un bout de mon formulaire est :

Code :
  1. <form enctype="multipart/form-data" method="post" name="form_dde" action="add_dde_fab.php"
  2. onsubmit="javascript:emet(this,this.elements['doc_joint'].value);return false;">


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


Message édité par snp le 14-09-2006 à 09:11:00
n°1442184
skeye
Posté le 14-09-2006 à 09:14:44  profilanswer
 

Tu as corrigé ton move_uploaded_file()?:o


---------------
Can't buy what I want because it's free -
n°1442190
snp
quand on sait pas, on se tait
Posté le 14-09-2006 à 09:21:25  profilanswer
 

j'ai mis ça pour tester en attendant (script trouver sur le net) :

Code :
  1. if (!empty($doc_joint))
  2. {
  3. $repertoireDestination = "c:/temp/";
  4.     $nomDestination        = $_FILES["doc_joint"]["name"];
  5.    
  6.     if (eregi(".php", $nomDestination)) {
  7.         $nomDestination .= ".txt";
  8.     }
  9.    
  10.     if (is_uploaded_file($_FILES["doc_joint"]["tmp_name"])) {
  11.         if (rename($_FILES["doc_joint"]["tmp_name"],
  12.                    $repertoireDestination.$nomDestination)) {
  13.             echo "Le fichier temporaire ".$_FILES["doc_joint"]["tmp_name"].
  14.                  " a été déplacé vers ".$repertoireDestination.$nomDestination;
  15.         }         
  16.     } else {
  17.        echo "Le fichier n'a pas été uploadé (trop gros ?)";
  18. }


Message édité par snp le 14-09-2006 à 09:22:04
n°1442194
snp
quand on sait pas, on se tait
Posté le 14-09-2006 à 09:26:28  profilanswer
 

je suis en train de m'embrouiller là...

n°1442337
snp
quand on sait pas, on se tait
Posté le 14-09-2006 à 12:00:02  profilanswer
 

voila ce que j'ai fait :

Code :
  1. function envoi_mail($name_from, $mail_from, $name_to, $mail_to)
  2. {
  3. include '../../admin/variables.php';
  4. $utilisateur=$_POST['utilisateurs'];
  5. $doc_joint=$_FILES['doc_joint']['name'];
  6. $tmp_doc_joint=$_FILES['doc_joint']['tmp_name'];
  7. $dossier_temp="../../fichiers/temp/";
  8. $projet=$_POST['projet'];
  9. $today = date (" j-m-Y" );
  10.       //creation nouveau mail (taille MAX, "norme)"
  11.       $mon_mail = new html_mime_mail(4096000, "iso-8859-1" );
  12.       //fichier pdf créé grâce à la fonction generation_pdf() en piece jointe
  13.       $nom_dde_envoye="Demande_Fabrication $utilisateur $projet.pdf";
  14.   $mon_mail->add_attach(generation_pdf(), "$nom_dde_envoye", "application/octet-stream" );
  15.  
  16.  
  17. if (!empty($doc_joint))
  18. {
  19. $doc = move_uploaded_file($doc_joint, $dossier_temp);
  20.  print_r($_FILES);
  21.   //Les pièces jointes
  22.      $fp = fopen("$doc", "r" );
  23. $bin_att = fread($fp, filesize("$doc" ));
  24. fclose($fp);
  25.   //nom des pièces jointes
  26.      $mon_mail->add_attach($bin_att, "$doc", "application/octet-stream" );
  27.    
  28. }
  29.     else
  30. {}


 
et les msg d'erreurs que j'obtiens :
Array ( [doc_joint] => Array ( [name] => puce_bleuen.gif [type] => image/gif [tmp_name] => C:\PROGRA~1\EASYPH~1\\tmp\php51.tmp [error] => 0 [size] => 176 ) )  
Warning: fread(): supplied argument is not a valid stream resource in \formulaires\dde_fab\add_dde_fab.php on line 213
 
Warning: fclose(): supplied argument is not a valid stream resource in \formulaires\dde_fab\add_dde_fab.php on line 214

n°1442348
skeye
Posté le 14-09-2006 à 12:07:52  profilanswer
 

'tain mais pitié, on t'a dit combien de fois d'utiliser tmp_name? Tu fais un move de name, là...[:pingouino]


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

avec l'un comme avec l'autre ça plante pareil. je comprends pas tout même avec les docs

n°1442394
skeye
Posté le 14-09-2006 à 13:00:52  profilanswer
 

on s'en fout que ça plante pareil, commence par utiliser le bon.:o
 
Ensuite move_uploaded_file retourne un booleen, et toi t'essayes de faire un fread dessus...[:pingouino]


Message édité par skeye le 14-09-2006 à 13:01:37

---------------
Can't buy what I want because it's free -
n°1442396
snp
quand on sait pas, on se tait
Posté le 14-09-2006 à 13:02:43  profilanswer
 

Code :
  1. function envoi_mail($name_from, $mail_from, $name_to, $mail_to)
  2. {
  3. include '../../admin/variables.php';
  4. $utilisateur=$_POST['utilisateurs'];
  5. $doc_joint=$_FILES['doc_joint']['name'];
  6. $tmp_doc_joint=$_FILES['doc_joint']['tmp_name'];
  7. //$dossier_temp="../../fichiers/temp/";
  8. $dossier_temp="dde_fab/";
  9. $projet=$_POST['projet'];
  10. $today = date ("j-m-Y" );
  11.       //creation nouveau mail (taille MAX, "norme)"
  12.       $mon_mail = new html_mime_mail(4096000, "iso-8859-1" );
  13.       //fichier pdf créé grâce à la fonction generation_pdf() en piece jointe
  14.       $nom_dde_envoye="Demande_Fabrication $utilisateur $projet.pdf";
  15.   $mon_mail->add_attach(generation_pdf(), "$nom_dde_envoye", "application/octet-stream" );
  16.  
  17.  
  18. if (!empty($tmp_doc_joint))
  19. {
  20. $doc = move_uploaded_file($tmp_doc_joint, $dossier_temp);
  21.  print_r($_FILES);
  22.   //Les pièces jointes
  23.      $fp = fopen("$doc", "r" );
  24. $bin_att = fread($fp, filesize("$doc" ));
  25. fclose($fp);
  26.   //nom des pièces jointes
  27.      $mon_mail->add_attach($bin_att, "$doc", "application/octet-stream" );
  28.    
  29. }
  30.     else
  31. {}


 
et les msg :
Array ( [doc_joint] => Array ( [name] => implantationtechnique.jpg [type] => image/pjpeg [tmp_name] => C:\PROGRA~1\EASYPH~1\\tmp\php79.tmp [error] => 0 [size] => 71410 ) )  
Warning: fopen(1): failed to open stream: No such file or directory in c:\program files\easyphp1-8\www\xxx\formulaires\dde_fab\add_dde_fab.php on line 213
 
Warning: filesize(): Stat failed for 1 (errno=2 - No such file or directory) in c:\program files\easyphp1-8\www\xxx\formulaires\dde_fab\add_dde_fab.php on line 214
 
Warning: fread(): supplied argument is not a valid stream resource in c:\program files\easyphp1-8\www\xxx\formulaires\dde_fab\add_dde_fab.php on line 214
 
Warning: fclose(): supplied argument is not a valid stream resource in c:\program files\easyphp1-8\www\xxx\formulaires\dde_fab\add_dde_fab.php on line 215

n°1442397
skeye
Posté le 14-09-2006 à 13:03:30  profilanswer
 

Puis la destination, dans move_uploaded_file, doit pas être un répertoire, mais le chemin complet du nouveau fichier.


---------------
Can't buy what I want because it's free -
n°1442398
skeye
Posté le 14-09-2006 à 13:04:23  profilanswer
 

'tain tu fais n'importe-quoi, tu lis pas la doc, t'es lourd.:o


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

je suis un supernoob je l'admet mais la doc n'est pas franchement claire pour les débutants.
Désolé, mais je cherche des conseils.
Mon truc marchait très bien avt (qd j'etais en local) mais pour chercher des dossiers sur le serveur ça ne marchait plus. c'est ça qui m'énerves. Pour moi il s'agissait d'une broutille et là ça se transforme en usine a gaz.
J'ai passé vachement de temps sur mon fichier (ça tu t'en doutes, j'imagine) et là ça me gonfle carrément

n°1442403
skeye
Posté le 14-09-2006 à 13:16:27  profilanswer
 

bah tu ne fais même pas attention à ce qu'on te dit, aussi.:o
 
Non, tu ne peux pas récupérer un booléen (true/false) et essayer de l'ouvrir comme un fichier.[:skeye]
C'est quand même pas sorcier quand il te dit qu'il n'arrive pas à ouvrir le fichier de chercher 30 secondes pourquoi, non?:o
 
Ton truc qui marchait en local c'était du pur bol, et fonctionnait uniquement parce-que c'était en local.[:skeye]
 
Ton utilisation de move_uploaded_file est complètement farfelue, relis ce qu'elle fait, les paramètres qu'elle demande et ce qu'elle retourne, et regarde ton code...:o


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

 Page :   1  2
Page Suivante

Aller à :
Ajouter une réponse
 

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