Accueil > Forum > > > > Lecture via FTP
Lecture via FTP
mardi 6 janvier 2009 à 18:11:29 |
Lecture via FTP

geek1983
|
Bonjour, j'aimerais récupérer les données de la 6ième ligne contenue dans mon fichier texte qui se trouve sur un serveur FTP. J'ai réussi en téléchargeant le fichier texte sur mon serveur et en utilisant les valeurs retourner par la fonction file(). Mais mon problème est que le téléchargement est long, donc j'aimerais lire directement mon fichier texte sur le serveur FTP sans le télécharger. Quelqu'un aurais une solution? Merci
|
|
mardi 6 janvier 2009 à 20:57:09 |
Re : Lecture via FTP

Teclis01
|
bah il faut un serveur apache sur la machine surement un 2.x ensuite suffit de connaitre son ip et de faire un file_get_contents mais je suppose qu'il telechargera intégralement le contenu ... ou un fopen ... Enfin essaye >_< Il vaut mieux poser une question et passer pour bête que le rester toute sa vie Les geeks n'ont pas une case en moins ils commencent juste à compter à partir de zéro
|
|
mardi 6 janvier 2009 à 21:35:17 |
Re : Lecture via FTP

kohntark
|
Salut,
En FTP c'est mort. Après tout dépend de tes droits et de ce qui est installé sur le serveur : rien => c'est mort apache / PHP => tu crées un petit script qui, à son appel, va lire la ligne 6 en local et la renvoie au script appelant.
Pour file_get_contents je ne pense pas qu'il y ait de questions à ce poser, il téléchargera le fichier entier. Par contre pour fopen ...
Kohntark -
|
|
mardi 6 janvier 2009 à 23:03:21 |
Re : Lecture via FTP

geek1983
|
Malheureusement, aucun moyen d'installer un autre serveur car le FTP est intégré sur un module APC pour afficher la température des sondes dans la salle des serveurs. J'ai aussi essayé avec fopen('ftp://...', 'r') var_dump($data); mais pour une raison inconnu ça ne fonctionne pas... Il me retourne "resource(4) of type (stream)"...
Voici mon code complet, peut être quelqu'un pourra t'il optimiser la vitesse d'exécution...
$server = '172.16.8.243'; $username = 'xxxx'; $password = 'xxxx'; $local_file = 'data.txt'; $ftp_file = 'data.txt'; if($connexion = ftp_connect($server)){ if(@ftp_login($connexion, $username, $password)){ @ftp_get($connexion, $local_file, $ftp_file, FTP_BINARY); if($fh = @fopen($local_file, 'r')){ $data = file($local_file); fclose($fh); $gmx = substr($data[6], 20, 2); $nx = substr($data[6], 34, 2); echo '<ul>'; if($gmx >= '24'){ echo '<li><strong>Serveur GMX : <font color="orange">'.$gmx.'°c</font></strong></li>'; }elseif($gmx >= '27'){ echo '<li><strong>Serveur GMX : <font color="red">'.$gmx.'°c</font></strong></li>'; }else{ echo '<li><strong>Serveur GMX : <font color="green">'.$gmx.'°c</font></strong></li>'; } if($nx >= '24'){ echo '<li><strong>Serveur NX : <font color="orange">'.$nx.'°c</font></strong></li>'; }elseif($nx >= '27'){ echo '<li><strong>Serveur NX : <font color="red">'.$nx.'°c</font></strong></li>'; }else{ echo '<li><strong>Serveur NX : <font color="green">'.$nx.'°c</font></strong></li>'; } echo '</ul>'; }else{ echo 'Impossible de trouver le fichier source.'; } ftp_close($connexion); }else{ echo 'connexion impossible en tant que '.$username; } }else{ echo 'Impossible de se connecter à '.$server; }
|
|
mardi 6 janvier 2009 à 23:37:14 |
Re : Lecture via FTP

kohntark
|
Re,
Perso je ne vois pas de solution pour optimiser sensiblement ton script. Quand tu parles de téléchargement long, ça signifie quoi ? 10 sec ? 20 minutes ? Le script est appelé à chaque appel de la page ? Combien pèse ce fichier ? N'y a t il pas moyen de configurer ton module pour générer plusieurs fichiers (moins lourds), voir de le purger en fonction de la taille ? Peut être mettre en place un système de cache pour éviter le rechargement trop fréquent du fichier ?
Cordialement,
Kohntark-
|
|
mercredi 7 janvier 2009 à 15:00:06 |
Re : Lecture via FTP

geek1983
|
- Le téléchargement dure approximativement 20 secondes. - Oui le script est appeler à chaque appel de la page puisque c'est un widget que j'ai créé pour Wordpress. - Le fichier à télécharger est de 118 ko - J'ai pensé à mettre en place un système de cache mais ce n'est pas possible puisque nous devons avoir une lecture de la température à chaque "refresh" de la page.
Merci pour votre aide.
|
|
mercredi 7 janvier 2009 à 21:35:38 |
Re : Lecture via FTP

kohntark
|
Salut,
Je ne pense pas qu'il soit possible de réduire ce temps dès l'instant où tu ne peux pas agir sur le système distant.
Quelques petites questions et idées supplémentaires tout de même : Ton serveur qui récupère le fichier est il en LAN avec le FTP ? (dans la salle serveurs) Vu le temps de téléchargement j'imagine que ce n'est pas le cas; tu n'as pas moyen de récupérer ça sur un serveur présent dans la salle ?
Par ailleurs je ne suis pas d'accord avec toi sur le cache. Tu pourrai facilement ne télécharger le fichier que toutes les 3...5 minutes, voir plus. Une t° ambiante n'évolue pas si vite que ça, même en cas de panne de clim (ou alors c'est qu'il y a le feu, mais c'est trop tard :o)). Forcément, si tu n'as qu'une dizaine de connexions par heure ça ne vaut certainement pas le coup, par contre si ce nombre est important tu peux vite y gagner. Une solution aussi, à coupler avec la précédente, serait de télécharger le fichier en arrière plan. Tu fais simplement de ton script un démon (après de légères modifications) Tu gommes ainsi le temps de téléchargement pour l'utilisateur.
Juste par curiosité il contient quoi d'autre ce fichier pour être aussi volumineux ? Il n'est pas du tout configurable ?
Cordialement,
Kohntark -
|
|
mercredi 7 janvier 2009 à 21:44:24 |
Re : Lecture via FTP

kohntark
|
Mais j'y pense, tu pourrais peut être faire quelque chose avec les sockets. En gros : Tu crées la socket qui va bien qui lance le téléchargement du fichier. Au fur et à mesure que tu reçois le fichier tu contrôles le numéro de ligne : - tu ne fais rien sur les lignes 1...5 - tu captures et mets en forme la ligne 6 - tu envoies au client sans attendre le reste du fichier (tu peux même tuer la socket) Tu ne télécharges alors que les 6 premières lignes. J'ai adopté ce système sur un robot que j'ai fait il y a deux ans, ça marche très bien (HTTP, jamais testé en FTP)
Cordialement,
Kohntark -
|
|
mercredi 7 janvier 2009 à 22:58:04 |
Re : Lecture via FTP

geek1983
|
Tu a de très bonnes idées mon chère... Je vais essayer les sockets, mais dit moi, comment tu t'y prendrais pour faire une sorte de demon? Aurais tu un tutoriel quelconque dans tes favoris par hasard?
|
|
mercredi 7 janvier 2009 à 23:55:59 |
Re : Lecture via FTP

geek1983
|
Ok, j'ai trouver un tutoriel, j'essaie et je t'en reparle!
|
|
Cette discussion est classée dans : fichier, lecture, texte, ftp, serveur
Répondre à ce message
Sujets en rapport avec ce message
Lecture de fichier [ par koko ]
Je voudrais lire un fichier fichier.txt dans la page index.phpvoici ma fonction$fp = fopen("fichier.txt","r"); $donnees = fgets($fp,255); fclose(
Problème d'upload de fichier [ par phenixoiseau ]
phénixOiseauBonjour,Voilà j'ai écrit un script pour charger un fichier vers un serveur. Lorsque j'execute le script depuis ma machine le chargement du
Problème d'upload de fichier [ par phenixoiseau ]
phénixOiseauBonjour,Voilà j'ai écrit un script pour charger un fichier vers un serveur. Lorsque j'execute le script depuis ma machine le chargement du
Problème d'upload de fichier [ par phenixoiseau ]
phénixOiseauBonjour,Voilà j'ai écrit un script pour charger un fichier vers un serveur. Lorsque j'execute le script depuis ma machine le chargement du
PB de DL un fichier sur un Serveur FTP [ par Xilofeon ]
BonjourVoila je voudrai que qaund ma page ce charge un fichier sur un serveur FTP demande a être téléchargé.Voila ce ke j'ai deja esayé de faire :<b
exploration de fichier [ par gillou365 ]
Salut,J'ai deux serveur : un apache/php/mysql et un ftp. J'ai créé une page pour explorer les fichiers. Elle marche très bien sur le premier serveur.
FTP : de windows à linux [ par ben83 ]
Bonjour,Lorsque je teste en local (Winsows IIS) le code php qui effectue simplement un upload (ftp_put) de fichier , je n'ai aucun problème. Par contr
Lecture fichier [ par stanilou ]
Salut, Mon soucis est que j'ai un fichier texte assez gros et qui se remplis au fil des visites sur mon site, or des fois j'ai besoin de chercher des
Lecture fichier texte chez l'utilisateur [ par Gandalf5798 ]
Bonjour,la question est contenu dans le titre :est-il possible de lire le contenu d'un fichier situé sur le disque dur de l'utilisateur ?J'ai déjà ess
Lecture d'un fichier texte et enregistrement dans une BDD [ par DarkTiteuf ]
Bonsoir a tous, voila je cherche a lire des informations dans un fichier lisible par un éditeur de texte. Ces informations seront par la suite stocké
Livres en rapport
|
Derniers Blogs
ROSLYN FLUENT APIS: ROSLYNHELPER NUGET PACKAGEROSLYN FLUENT APIS: ROSLYNHELPER NUGET PACKAGE par Matthieu MEZIL
Si vous utilisez Roslyn et que vous vous voulez vous simplifier le code du code rewriter, je vous conseille d'installer mon NuGet package RoslynHelper ....(read more) ...
Cliquez pour lire la suite de l'article par Matthieu MEZIL POUR RAPPEL ! LES SPéCIFICATIONS DES PROTOCOLES OFFICE ET SHAREPOINT SONT DISPONIBLES SUR MSDNPOUR RAPPEL ! LES SPéCIFICATIONS DES PROTOCOLES OFFICE ET SHAREPOINT SONT DISPONIBLES SUR MSDN par neodante
Quelle est le point commun entre : Microsoft il y a 10 ans et Apple aujourd'hui ? Réponse: avoir une politique de protocoles propriétaires et fermés :) Car pour rappel (si si je vous assure c'est important de le rappeler), la majorité des spécifications e...
Cliquez pour lire la suite de l'article par neodante JOYEUX ANNIVERSAIRE NIXJOYEUX ANNIVERSAIRE NIX par ebartsoft
Souhaitons un bon et joyeux anniversaire à notre hôte à tous, Nix.
Je ne le répéterais jamais assez mais sans lui rien ne serait possible. Il défit en permanence les lois de la gravité et comme il le dit si bien, si tu lui fais confiance ça devra...
Cliquez pour lire la suite de l'article par ebartsoft IMAGINE CUP 2012, MAKE A SIGN EN FINALEIMAGINE CUP 2012, MAKE A SIGN EN FINALE par junarnoalg
Voilà qui est fait, la nouvelle est officielle ! L'équipe belge "Make a Sign" va au pays des kangourous défendre son projet dans la catégorie Software Design. http://www.imaginecup.com/CompetitionsContent/Competition/WorldwideFinalists.aspx V...
Cliquez pour lire la suite de l'article par junarnoalg KINECT 1.5 IS OUT !KINECT 1.5 IS OUT ! par Vko
La version 1.5 du Kinect For Microsoft vient tout juste de sortir ! Plein de nouveautés: Tracking de squelette en Near Mode Détection en position assise Détection faciale avec un SDK dédié Documentation et des guideline (enfin) Un out...
Cliquez pour lire la suite de l'article par Vko
Logiciels
sDEVIS-FACTURES vlPRO (8.1.0.3)SDEVIS-FACTURES VLPRO (8.1.0.3)sDEVIS-FACTURES vlPRO a été mis au point pour les particuliers, créateurs, entrepreneurs, artisa... Cliquez pour télécharger sDEVIS-FACTURES vlPRO 974 Application Server (12.2.4.6)974 APPLICATION SERVER (12.2.4.6)Développez de puissantes applications dans un environnement de 'cloud computing', clusterisé, séc... Cliquez pour télécharger 974 Application Server vPicture (1.4.2.1)VPICTURE (1.4.2.1)Avec vPicture, hébergez vos images facilement et rapidement.
vPicture est un utilitaire simple, ... Cliquez pour télécharger vPicture Easy-Planning (2.2.1.6)EASY-PLANNING (2.2.1.6)Easy-Planning permet de créer des plannings sous la représentation de diagrammes et est adapté au... Cliquez pour télécharger Easy-Planning COM-BACKUP (2.0)COM-BACKUP (2.0)
COM-BACKUP est un logiciel de sauvegarde qui permet de planifier les sauvegardes de vos dossiers ...
Cliquez pour télécharger COM-BACKUP
|