Bonjour à tous,
Avant d'écrire ce POST, j'ai regardé les différents messages postés ayant un rapport avec mon souci sans résultat.
J'ai un formulaire où l'on doit permettre à quelque de déposer un doc PDF sur notre site.
Dans mon traitement, j'ai cette fameuse erreur :
Warning: ftp_put() [function.ftp-put]: /var/www/vhosts/domaine.truc/subdomains/subdomains_name/httpdocs/v1/files/clients_doc/dossier_client/PFL2011.pdf: No such file or directory in /var/www/vhosts/domaine.truc/subdomains/subdomains_name/httpdocs/v1/modules/gesdom/lib/class/class_repartions_materiel.php on line 516.
Voici la portion de code incriminée :
Vous aurez remarqué que j'ai procédé à un test sur les ligne 509 à 512 qui affichent les résultats suivants :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36 $nomOrigine = $arr_file["name"]; $nomSource = $arr_file["tmp_name"]; $taille = $arr_file["size"]; $nomDestination = $this->clean_file_name( $nomOrigine ); $extension = strrchr($nomOrigine, '.'); if( $extension != ".pdf" ){ $num_erreur = 2; $msg_erreur = "<p class='msg_upload_error'>Le fichier que vous avez tenté de mettre en ligne n'est pas au format PDF.</p>"; }elseif( $taille >= 1048576 ){ $num_erreur = 3; $msg_erreur = "<p class='msg_upload_error'>Le fichier que vous avez tenté de mettre en ligne est trop volumineux : les fichiers sont limités à 2 Mo.</p>"; } if( !$num_erreur ){ /** * S'il n'y a pas d'erreur, on déplace le fichier */ if($this->_debug){ echo "<hr/>"; echo "509 : Nom de la source = ". $nomSource . "<br/>"; echo "510 : la source existe = ". (is_file($nomSource) ? "Oui" : "NON") . "<br/>"; echo "511 : le dossier existe = ". (is_dir ($path_snc) ? "Oui" : "NON") . "<br/>"; echo "512 : Nom du justificatif = ". $path_snc.$nomDestination . "<br/>"; echo "<hr/>"; } $upload = ftp_put( $this->_conn_id, $path_snc.$nomDestination, $nomSource, FTP_BINARY ); if( !$upload ){ $num_erreur = 4; $msg_erreur = "<p class='msg_upload_error'>Le fichier n'a pas pu être mis en ligne pour une raison indéterminée.</p>"; } }
Donc mes fichiers et dossiers existent. Et pour précision le dossier possède un CHMOD à 0777 (alors que 0755 suffirait).
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 509 : Nom de la source = /tmp/phppLsquc 510 : la source existe = Oui 511 : le dossier existe = Oui 512 : Nom du justificatif = /var/www/vhosts/domaine.truc/subdomains/subdomains_name/httpdocs/v1/files/clients_doc/dossier_client/PFL2011.pdf
Dernière précision, la connexion se fait dans une classe externe : d'autre fichier procèdent bien à un Upload (vers un dossier différent).
ET là je bloque complètement. Toutes suggestions et / ou explications seront la bienvenues.
D'avance Merci
Partager