Contenu connexe
Similaire à Le client FTP de PHP5 (20)
Le client FTP de PHP5
- 2. Le logo PHP est du domaine public
http://commons.wikimedia.org/wiki/File:PHP-logo.svg
Ce document est licencié sous licence
◦Attribution-NonCommercial-ShareAlike
◦CC BY-NC-SA
Plus de détails:
http://creativecommons.org/licenses/by-nc-sa/3.0/fr/
LightPath 2014© - http://www.jmrenouard.fr
2
- 3. Lecture un répertoire avec PHP
Envoi de fichier avec PHP
Récupération de fichier avec PHP
Lecture un répertoire avec PHP/Curl
Envoi de fichier avec PHP/Curl
Récupération de fichier avec PHP/Curl
Possibilité avancée
LightPath 2014© - http://www.jmrenouard.fr
3
- 5. <?php // Mise en place d'une connexion basique $conn_id = ftp_connect($ftp_server); // Identification avec un nom d'utilisateur et un mot de passe $login_result = ftp_login($conn_id, $ftp_user_name, $ftp_user_pass); // Récupération du contenu d'un dossier $contents = ftp_nlist($conn_id, "."); // Affichage de $contents var_dump($contents);
?>
LightPath 2014© - http://www.jmrenouard.fr
5
- 6. <?php $file = 'somefile.txt'; $remote_file = 'readme.txt'; // Mise en place d'une connexion basique $conn_id = ftp_connect($ftp_server); // Identification avec un nom d'utilisateur et un mot de passe $login_result = ftp_login($conn_id, $ftp_user_name, $ftp_user_pass) ; // Charge un fichier if (ftp_put($conn_id, $remote_file, $file, FTP_ASCII)) { echo "Le fichier $file a té chargé avec succèsn"; } else { echo "Il y a eu un problème lors du chargement du fichier $filen"; } // Fermeture de la connexion ftp_close($conn_id); ?>
LightPath 2014© - http://www.jmrenouard.fr
6
- 7. <?php $file = 'somefile.txt'; $remote_file = 'readme.txt'; // Mise en place d'une connexion basique $conn_id = ftp_connect($ftp_server); // Identification avec un nom d'utilisateur et un mot de passe $login_result = ftp_login($conn_id, $ftp_user_name, $ftp_user_pass) ; // Charge un fichier if (ftp_get($conn_id, $remote_file, $file, FTP_ASCII)) { echo "Le fichier $file a té chargé avec succèsn"; } else { echo "Il y a eu un problème lors du chargement du fichier $filen"; } // Fermeture de la connexion ftp_close($conn_id); ?>
LightPath 2014© - http://www.jmrenouard.fr
7
- 9. Utilisation du mode FTP de curl
$url='ftp://login:mot_de_passe@serveur/‘;
$ch = curl_init($url);
curl_setopt($ch, CURLOPT_TIMEOUT, $timeout);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE);
curl_setopt($ch, CURLOPT_FTPLISTONLY, TRUE);
$ret = curl_exec ($ch);
curl_close ($ch);
$files=preg_split ('/[rn]+/', $ret, -1, PREG_SPLIT_NO_EMPTY);
print_r($files);
LightPath 2014© - http://www.jmrenouard.fr
9
- 10. $url='ftp://login:mot_de_passe@serveur/fichier.txt‘;
$nom_local=‘fichier.txt’;
$fp = fopen ($nom_local, 'r');
$ch = curl_init ($url);
curl_opt ($ch, CURLOPT_INFILE, $fp);
curl_setopt ($ch, CURLOPT_INFILESIZE, filesize($nom_local));
curl_setopt($ch, CURLOPT_UPLOAD, TRUE);
curl_setopt ($ch, CURLOPT_TRANSFERTEXT, TRUE);
$path = parse_url ($url, PHP_URL_PATH);
curl_setopt($ch, CURLOPT_POSTQUOTE, array("SITE CHMOD 0444 $path"));
$ret = curl_exec ($ch);
curl_close($ch);
fclose($fp);
LightPath 2014© - http://www.jmrenouard.fr
10
- 13. Récupération récursive
Transfert récursif
Transfert sur changement de taille
Transfert sur changement de date
Mirrorring avec suppressions orphelins
LightPath 2014© - http://www.jmrenouard.fr
13
- 14. LightPath:
◦Société de conseil et d’ingénierie
◦Formations, Conseil, Audit et mise en oeuvre
◦jmrenouard@lightpath.fr
Jean-Marie RENOUARD
◦jmrenouard@gmail.com
◦Twitter: @jmrenouard
◦http://www.jmrenouard.fr
LightPath 2014© - http://www.jmrenouard.fr
14