Problème téléchargement fichier sur un ftp [Résolu]

Signaler
-
Messages postés
15
Date d'inscription
mercredi 6 janvier 2021
Statut
Membre
Dernière intervention
15 janvier 2021
-
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

8 réponses

Messages postés
31060
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
17 janvier 2021
3 185
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


.
Messages postés
15
Date d'inscription
mercredi 6 janvier 2021
Statut
Membre
Dernière intervention
15 janvier 2021

<?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 ";
}
Messages postés
31060
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
17 janvier 2021
3 185
Le $local_file doit correspondre à un fichier .. pas à un répertoire.
Messages postés
15
Date d'inscription
mercredi 6 janvier 2021
Statut
Membre
Dernière intervention
15 janvier 2021

le $local_file n'est pas le dossier dans lequel sera téléchargé le fichier du FTP ?
Messages postés
31060
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
17 janvier 2021
3 185
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à).
Messages postés
15
Date d'inscription
mercredi 6 janvier 2021
Statut
Membre
Dernière intervention
15 janvier 2021

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?
Messages postés
31060
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
17 janvier 2021
3 185
Oui... si c'est un fichier .zip ... il faut l'ouvrir avec un logiciel de décompression et non le bloc note ...
Messages postés
15
Date d'inscription
mercredi 6 janvier 2021
Statut
Membre
Dernière intervention
15 janvier 2021

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 ?
Messages postés
31060
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
17 janvier 2021
3 185
Messages postés
15
Date d'inscription
mercredi 6 janvier 2021
Statut
Membre
Dernière intervention
15 janvier 2021

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 ?
Messages postés
31060
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
17 janvier 2021
3 185
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.
Messages postés
15
Date d'inscription
mercredi 6 janvier 2021
Statut
Membre
Dernière intervention
15 janvier 2021

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]));
						
		}			
		
		
		
	}
}

Messages postés
31060
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
17 janvier 2021
3 185
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
Messages postés
15
Date d'inscription
mercredi 6 janvier 2021
Statut
Membre
Dernière intervention
15 janvier 2021

Merci effectivement ça marche avec un IF
Merci a toi.