Problème téléchargement fichier sur un ftp

Résolu
Augustin_couval -  
Augustin_couval Messages postés 20 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,
j'essaie de télécharger un fichier sur un server FTP dont j'ai accès,
Depuis FILEZILA, j'arrive à télécharger le fichier mais pas avec le script php
J'ai deux erreurs :

Warning: ftp_get(C:\Users\augustin.couvale\Documents\Projet): failed to open stream: Permission denied in C:\laragon\www\appTest\public\test.php on line 17

Warning: ftp_get(): Error opening C:\Users\augustin.couvale\Documents\Projet in C:\laragon\www\appTest\public\test.php on line 17
problème






Configuration: Windows / Chrome 87.0.4280.88
A voir également:

8 réponses

jordane45 Messages postés 38480 Date d'inscription   Statut Modérateur Dernière intervention   4 746
 
Bonjour

Le script... quel script ?

À lire entièrement avant de nous poster ton code

https://codes-sources.commentcamarche.net/faq/11288-les-balises-de-code


.
0
Augustin_couval Messages postés 20 Date d'inscription   Statut Membre Dernière intervention  
 
<?php


$ftp_server = "**";
$ftp_user_name = "**";
$ftp_user_password = "**";
$remote_file = "** Fichier Distant";
$local_file = "C:\Users\augustin.couvale\Documents\Projet";



//connexion au ftp
$conn_ftp = ftp_connect($ftp_server,21) or die ("conn impossible");

$login_result = ftp_login($conn_ftp, $ftp_user_name, $ftp_user_password);

if(ftp_get($conn_ftp, $local_file, $remote_file, FTP_ASCII)){
	echo "Le fichier ".$local_file." a été téléchargé";

}else {
	echo "problème ";
}
0
jordane45 Messages postés 38480 Date d'inscription   Statut Modérateur Dernière intervention   4 746
 
Le $local_file doit correspondre à un fichier .. pas à un répertoire.
0
Augustin_couval Messages postés 20 Date d'inscription   Statut Membre Dernière intervention  
 
le $local_file n'est pas le dossier dans lequel sera téléchargé le fichier du FTP ?
0
jordane45 Messages postés 38480 Date d'inscription   Statut Modérateur Dernière intervention   4 746
 
C'est le chemin (contenant le nom sous lequel il doit être enregistré ) du fichier
Il suffit de lire la doc https://www.php.net/manual/fr/function.ftp-get.php

local_file
Le chemin vers le fichier local (sera écrasé si le fichier existe déjà).
0
Augustin_couval Messages postés 20 Date d'inscription   Statut Membre Dernière intervention  
 
Merci, J'arrive maintenant à télécharger le fichier sur le FTP mais, le fichier est fichier.zip,
lorsque je l'ouvre sur le bloc note, il affiche des caractère spéciaux comme ceux-ci :

PK   ¶‹’Q N PRICE.TXTe J éóùð  @  P  m^   §   ú  € Äó×óñø  e  f  \ÔÔ}Û’£<¯öùªZ÷àÊѷꝤm³?L'ôtÞÉn²éžùîÿBþG²ÁÆ$N'=Ðÿ¤pÀ<H–,Éòd>ù6™ÿZEðÁá—²ÒØ<ËJª$áóØ=Ì?ÄfwÞž„N¥|ÂJ U­¶\@ ÄÌüŠ­Qjs\¢~¨JæêØ·ßÉ7é’¤ši+Š™”ß&tGû/ÞàŠt¨H%µ’²L“Çp—›—Csiþóñ´ÄÁ#þ/VŸ¦ö¾¸Î7ßÉÿþÏäcØ%ªà?áÊûÝ{}Çó~¿þ-öÇ)c©µ|/O(ƒo«e½Çúð†‚|Ç»_”j±Ó:Sº{oªm× pJ
û öXª*~|”øÿÆ¥ÃC´ìJœú


avez vous une idée?
0
jordane45 Messages postés 38480 Date d'inscription   Statut Modérateur Dernière intervention   4 746
 
Oui... si c'est un fichier .zip ... il faut l'ouvrir avec un logiciel de décompression et non le bloc note ...
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Augustin_couval Messages postés 20 Date d'inscription   Statut Membre Dernière intervention  
 
merci ca fonctionne comme ça, je voudrais automatiser la décompression pour que quand je télécharge le fichier, il soit directement décompresser et que je puisse l'ouvrir directement avec le bloc note par exemple.
Avez-vous une idée svp ?
0
jordane45 Messages postés 38480 Date d'inscription   Statut Modérateur Dernière intervention   4 746
 
0
Augustin_couval Messages postés 20 Date d'inscription   Statut Membre Dernière intervention  
 
Re bonjour, j'ai une autre petite question,

maintenant que j'arrive à décomprésser le fichier j'aimerai mettre dans un autre fichier les 100 premières lignes du fichier initial, je n'ai pas trouver sur le net.

//ouverture du fichier resultat ou création si il n'existe pas
if (($handle_result = fopen("C:/Users/augustin.couvale/Documents/Projet/fiche_produit.txt", "a+")) !== FALSE) 
{
//ouverture du fichier initial
if(($handle = fopen("C:/Users/augustin.couvale/Documents/Projet/PRICE.TXT", "r+")) !== FALSE){

 while(($data = fgetcsv($handle, 1000, ",")) !== FALSE){
  //ecriture sur le fichier resultat des colones souhaitée.  
  fputcsv($handle_result, 
  array($data[1],$data[4],$data[5],$data[7],$data[12],
     $data[13],$data[16]));
 }

 //fermeture du fichier inital
 fclose($handle);
}
//fermeture du fichier resultat
fclose($handle_result);
}









Je voudrais que les 100 premières lignes du fichier PRICE.txt soit écrites dans le fichier fiche_produit.txt.


Avez vous une idée ?
0
jordane45 Messages postés 38480 Date d'inscription   Statut Modérateur Dernière intervention   4 746
 
Il te suffit de incrémenter une variable à chaque fois que tu lis une nouvelle ligne dans ton wile
Et de tester grâce à If... Si tu as atteint la valeur de 1000... Et si c'est le cas, sortir de la boucle

Ps: à l'avenir, pense à poser une question par discussion... c'est beaucoup plus facile pour s'y retrouver sur le forum surtout si un internaute rencontrait les mêmes difficultés que toi..

Ps2: la question initiale étant traitée, merci de mettre ce sujet en résolu.
0
Augustin_couval Messages postés 20 Date d'inscription   Statut Membre Dernière intervention  
 
Merci jai essayer quelque chose comme ça mais ça na pas l'air de fonctionner :

if(($handle = fopen("C:/Users/augustin.couvale/Documents/Projet/PRICE.TXT", "r+")) !== FALSE)
{
	fwrite($handle_result, ' "nom_fabricant_description_1" , "description_2" , "ref_unique" , "statut_produit" , "code_barre" , "poids_produit"');
	$row = 1;
	while(($data = fgetcsv($handle, 1000, ",")) !== FALSE)
	{

		$row++;
		while ($row < 10000) 
		{
		fputcsv($handle_result, 
		array($data[1].$data[4],$data[5],$data[7],$data[12],
			  $data[13],$data[16]));
						
		}			
		
		
		
	}
}

0
jordane45 Messages postés 38480 Date d'inscription   Statut Modérateur Dernière intervention   4 746
 
Je te dis de faire un IF ... et toi tu fais un WHILE ..... tu ne vois pas le souci ??

https://www.php.net/manual/fr/control-structures.if.php
https://www.php.net/manual/fr/control-structures.break.php
0
Augustin_couval Messages postés 20 Date d'inscription   Statut Membre Dernière intervention  
 
Merci effectivement ça marche avec un IF
Merci a toi.
0