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

Résolu/Fermé
Augustin_couval - 6 janv. 2021 à 13:37
Augustin_couval Messages postés 20 Date d'inscription mercredi 6 janvier 2021 Statut Membre Dernière intervention 18 février 2021 - 8 janv. 2021 à 09:38
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 38145 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 25 avril 2024 4 650
6 janv. 2021 à 13:44
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 mercredi 6 janvier 2021 Statut Membre Dernière intervention 18 février 2021
6 janv. 2021 à 13:49
<?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 38145 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 25 avril 2024 4 650
6 janv. 2021 à 14:18
Le $local_file doit correspondre à un fichier .. pas à un répertoire.
0
Augustin_couval Messages postés 20 Date d'inscription mercredi 6 janvier 2021 Statut Membre Dernière intervention 18 février 2021
6 janv. 2021 à 14:21
le $local_file n'est pas le dossier dans lequel sera téléchargé le fichier du FTP ?
0
jordane45 Messages postés 38145 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 25 avril 2024 4 650
6 janv. 2021 à 14:37
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 mercredi 6 janvier 2021 Statut Membre Dernière intervention 18 février 2021
6 janv. 2021 à 15:39
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 38145 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 25 avril 2024 4 650
6 janv. 2021 à 16:00
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 mercredi 6 janvier 2021 Statut Membre Dernière intervention 18 février 2021
6 janv. 2021 à 16:13
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 38145 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 25 avril 2024 4 650
6 janv. 2021 à 16:29
0
Augustin_couval Messages postés 20 Date d'inscription mercredi 6 janvier 2021 Statut Membre Dernière intervention 18 février 2021
Modifié le 7 janv. 2021 à 16:36
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 38145 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 25 avril 2024 4 650
7 janv. 2021 à 16:41
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 mercredi 6 janvier 2021 Statut Membre Dernière intervention 18 février 2021
Modifié le 8 janv. 2021 à 09:12
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 38145 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 25 avril 2024 4 650
8 janv. 2021 à 09:29
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 mercredi 6 janvier 2021 Statut Membre Dernière intervention 18 février 2021
8 janv. 2021 à 09:38
Merci effectivement ça marche avec un IF
Merci a toi.
0