Lenteurs scan FTP

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : Lenteurs scan FTP

Re: Lenteurs scan FTP

par casio » 16 mai 2014, 00:35

Je viens d'appliquer donc le mode passif, et le fclose.
Cela ne change visiblement rien, toujours :
Connecté en tant que : user

Warning: ftp_get(): HEADER.html: Permission deny in /dons-test.php on line 34
erreur au téléchargement
Warning: ftp_get(): SIP: Permission deny in /dons-test.php on line 34
erreur au téléchargement
Warning: ftp_get(): compteur.txt: Permission deny in /dons-test.php on line 34
erreur au téléchargement
Warning: ftp_get(): destock.txt: Permission deny in /dons-test.php on line 34
erreur au téléchargement
Warning: ftp_get(): dons.txt: Permission deny in /dons-test.php on line 34
erreur au téléchargement
Warning: ftp_get(): listing.php: Permission deny in /dons-test.php on line 34
erreur au téléchargement
Warning: ftp_get(): pied.htm: Permission deny in /dons-test.php on line 34
erreur au téléchargement
Voici donc le code actuel :
<?php
// Variables
$ftpip = "notreserveurFTP";
$user = "user";
$pass = "password";
$compte = "web";
$port = "21";
$fichier = 'dons.txt';
$fpdons = 'ftp://'.$user.':'.$pass.'@'.$ftpip.'/'.$compte.'/'.$fichier;

// Moteur
$conn_id = ftp_connect($ftpip);
$login_result = ftp_login($conn_id, $user, $pass);
	// Debug
	echo "Connect&eacute; en tant que : " . $user . "<br/>";

if ((!$conn_id) || (!$login_result)) {
	echo "La connexion FTP a &eacute;chou&eacute;e !<br/>";
	die;
	} 

// Activation du mode passif
ftp_pasv($conn_id, true);

//On fait la liste des fichier à lire
$buff = ftp_nlist($conn_id, $compte);

for ($i=0; $i<count($buff); $i++){
	$serveur_file = $buff[$i];
	// Tente de télécharger le fichier $serveur_file et de le sauvegarder dans le fichier $monmicro_file 
	$download = ftp_get($conn_id, $fichier, $serveur_file, FTP_ASCII);
	if (!$download) {
		echo "erreur au t&eacute;l&eacute;chargement";
		} 
	else {
		if (!$fp = fopen($fichier,"r")) {
			$erreur = $erreur."non chargement <br/>";
			}
		else {
			while (!feof($fp)) {
				//On traite le fichier
				echo "Test...";
				}
			}
			fclose($fp);
		}
	}

// Fermeture de la connexion
ftp_close($conn_id);
?>
Any idea ? :(

Re: Lenteurs scan FTP

par moogli » 14 mai 2014, 07:23

Salut,

Après le traitement du fichier me semble le bonne endroit ? ;)
Donc après le while.

As tu essayé le mode passif ? http://fr2.php.net/manual/fr/function.ftp-pasv.php (ça peu aider)


@?

Re: Lenteurs scan FTP

par casio » 13 mai 2014, 23:19

Ha non, en effet, pas de fclose, même sur l'original... Étrange..

Concrètement, comment dois-je l'intégrer ?

Re: Lenteurs scan FTP

par xTG » 13 mai 2014, 11:14

Et le fclose() y est-il ? :P
Pas de fopen() sans fclose() !

Re: Lenteurs scan FTP

par casio » 13 mai 2014, 00:50

Oups, désolé, mauvais copié-collé. Le ftp-close() y est bien sur :
<?php
// Variables
$ftpip = "adresseserveurFTP";
$user = "user";
$pass = "pass";
$compte = "web";
$port = "21";
$fichier = 'dons.txt';
$fpdons = 'ftp://'.$user.':'.$pass.'@'.$ftpip.'/'.$compte.'/'.$fichier;

// Moteur
$conn_id = ftp_connect($ftpip);
$login_result = ftp_login($conn_id, $user, $pass);
	// Debug
	echo "Connect&eacute; en tant que : " . $user . "<br/>";

if ((!$conn_id) || (!$login_result)) {
	echo "La connexion FTP a &eacute;chou&eacute;e !<br/>";
	die;
	} 

//On fait la liste des fichier à lire
$buff = ftp_nlist($conn_id, $compte);

for ($i=0; $i<count($buff); $i++){
	$serveur_file = $buff[$i];
	// Tente de télécharger le fichier $serveur_file et de le sauvegarder dans le fichier $monmicro_file 
	$download = ftp_get($conn_id, $fichier, $serveur_file, FTP_ASCII);
	if (!$download) {
		echo "erreur au t&eacute;l&eacute;chargement";
		} 
	else {
		if (!$fp = fopen($fichier,"r")) {
			$erreur = $erreur."non chargement <br/>";
			}
		else {
			while (!feof($fp)) {
				//On traite le fichier
				echo "Test...";
				}
			}
		}
	}

// Fermeture de la connexion
ftp_close($conn_id);
?>
Cela ne change donc rien dans le cas présent... :(

Re: Lenteurs scan FTP

par xTG » 12 mai 2014, 18:26

Un fopen() mais pas de fclose() associé. C'est peut être le souci si cela survient dès le second fichier ?

Re: Lenteurs scan FTP

par casio » 12 mai 2014, 15:03

Récapitulons,

Voici le code PHP actuel, un peu nettoyé par rapport au précèdent :
<?php
// Variables
$ftpip = "notreadresseFTP";
$user = "user";
$pass = "password";
$compte = "web";
$port = "21";
$fichier = 'dons.txt';
$fpdons = 'ftp://'.$user.':'.$pass.'@'.$ftpip.'/'.$compte.'/'.$fichier;

// Moteur
$conn_id = ftp_connect($ftpip);
$login_result = ftp_login($conn_id, $user, $pass);
	// Debug
	echo "Connect&eacute; en tant que : " . $user . "<br/>";

if ((!$conn_id) || (!$login_result)) {
	echo "La connexion FTP a &eacute;chou&eacute;e !<br/>";
	die;
	} 

//On fait la liste des fichier à lire
$buff = ftp_nlist($conn_id, $compte);

for ($i=0; $i<count($buff); $i++){
	$serveur_file = $buff[$i];
	// Tente de télécharger le fichier $serveur_file et de le sauvegarder dans le fichier $monmicro_file 
	$download = ftp_get($conn_id, $fichier, $serveur_file, FTP_ASCII);
	if (!$download) {
		echo "erreur au t&eacute;l&eacute;chargement";
		} 
	else {
		if (!$fp = fopen($fichier,"r")) {
			$erreur = $erreur."non chargement <br/>";
			}
		else {
			while (!feof($fp)) {
				//On traite le fichier
				echo "Test...";
				}
			}
		}
	}
?>
Peut-être cela vient-il de notre nouveau serveur FTP, hébergé sur un NAS Synology.

Un pb d'arborescence ou de nomenclature d'arborescence ?

Re: Lenteurs scan FTP

par xTG » 12 mai 2014, 14:53

Il a même mieux que lecture seule.
Le fichier semble avoir les droits en écriture/lecture pour tout le monde (même pour les personnes non identifiées).

J'avoue ne pas comprendre du coup...
J'ai cherché un peu sur le net et personne ne semble remonter de problème avec cette fonction.
Il doit donc y avoir un effet provoqué par autre chose mais quoi...

Re: Lenteurs scan FTP

par casio » 12 mai 2014, 13:05

Je joints une capture d'écran faite à l'instant, connecté avec le compte en lecture seul :
Capture d'écran 2014-05-12 13.03.47.png

Re: Lenteurs scan FTP

par xTG » 12 mai 2014, 12:56

Quel est la permission des fichiers impactés ? (dans le cas où tu aurais une mauvaise interprétation des droits)
Cela me semble bizarre que ftp_get doive être sur un compte avec droit en écriture ou bien être l'auteur du fichier pour fonctionner.
Donc je réitère ma question.

Re: Lenteurs scan FTP

par casio » 12 mai 2014, 12:00

LE fichier impacté, un fichier nommé "dons.txt" est accessible uniquement en lecture avec ce compte FTP.
J'utilise un compte admin. pour le maintenir à jour.

Re: Lenteurs scan FTP

par xTG » 12 mai 2014, 10:13

Ce n'est en fait pas une preuve. J'aurai préféré que tu me dises que d'autres fichiers n'indiquaient pas de problème de droit en fait. ;)
Est-ce le cas ?

Quel est la permission des fichiers impactés ? (dans le cas où tu aurais une mauvaise interprétation des droits)

Re: Lenteurs scan FTP

par casio » 12 mai 2014, 07:58

Oui, et pour preuve, il m'affiche deux autres lignes identiques (pb de droits) avec des fichiers présents dans l'arborescence aussi, mais pas en cause.

Re: Lenteurs scan FTP

par xTG » 12 mai 2014, 07:44

Es-tu sûr du chemin vers le fichier ? Et quand je parle de chemin je parle de chemin serveur et non web (http).

Re: Lenteurs scan FTP

par casio » 11 mai 2014, 21:05

Les droits, il les a, mais en lecture, puisqu'il doit juste lire et afficher le contenu d'un fichier .TXT.