Page 1 sur 1
récupérer fichier .txt sur un serveur
Posté : 07 févr. 2012, 15:18
par Geezy
Salut à tous,
Je travaille sur un projet web météo avec pour but de rapatrier les données météo depuis un automate et j'aimerais savoir comment fait-on pour récupérer un fichier .txt sur serveur svp?
Merci par avance
Re: récupérer fichier .txt sur un serveur
Posté : 07 févr. 2012, 15:24
par xTG
file_get_contents() fonctionne avec les URLs.

Ainsi que fopen() et autres fonction de même utilité.
Re: récupérer fichier .txt sur un serveur
Posté : 07 févr. 2012, 15:29
par Geezy
ok je suis un débutant en matière de code
si j'ai bien compris je le place au début de mon code qui servira à lire et à écrire un fichier .txt ?
Re: récupérer fichier .txt sur un serveur
Posté : 07 févr. 2012, 17:26
par xTG
Attention vouloir écrire dans un fichier distant c'est plus du tout la même problématique...
Faut que le serveur soit configuré pour autoriser cela ! Et c'est rarement fait pour raison de sécurité.
Ou alors il faut que le script soit sur le serveur où se trouve le fichier, ou bien qu'il mettre à disposition un script de lecture/écriture (webservice).
Re: récupérer fichier .txt sur un serveur
Posté : 07 févr. 2012, 17:51
par Geezy
ok j'utilise un serveur eWon sur lequel je dois rapatrier les données météo pour l'afficher sur excel tout d'abord puis sur mon site web météo:
donc il y a 4 étapes:
1er étape: Rapatrier le fichier .txt du serveur en question PHP
2ième étape: Lire et ECRIRE un ficher .txt
3ième étape: afficher en excel
4ième étape: rediriger les données excel sur mon site web météo
De ce fait voici le code que j'ai effectué (en pièce jointe)
<body>
<h2 align="center">Récupération de données</h2>
<?php
$fp = fopen("fichier.txt","r" );
while(!feof($fp)) // Tant que l'on n'est pas à la fin du fichier on continue de lire le fichier
{
$ligne = fgets($fp, 1024); //lecture ligne par ligne
if(substr($ligne, 0, 1) == 'P')
{
echo 'C\'est cette ligne qui contient un P:'.$ligne.'<br>';
}
else
{
echo $ligne.'<br>';
}
}
fclose($fp);
?>
</body>
</html>
puis la classe file
<?php
class File
{
protected $_file = null;
protected $_lines = array();
public function __construct()
{
}
protected function _download()
{
// code PHP pour aller chercher sur un FTP
// sauvegarde du fichier télécharger quelque part en local
$this->_file = 'nom_fichier_enregistré';
}
public function read()
{
if (is_null($this->_file)) {
$this->_download();
}
$file = $this->_file;
// traitement du fichier avec le fopen
foreach ($lines as $line) {
$this->_lines[] = array('date', 'temperature', 'je sais pas');
}
}
public function getLines()
{
return $this->_lines;
}
public function toHtml()
{
$html = '';
foreach ($this->_lines as $line) {
$html .= $line['date'];
}
return $html;
}
}
?>