Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Le client FTP de PHP5

867 views

Published on

Présentation du client FTP de PHP 5

Published in: Education
  • Be the first to comment

  • Be the first to like this

Le client FTP de PHP5

  1. 1. Jean-Marie Renouard LightPath 2014©
  2. 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. 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
  4. 4. LightPath 2014© - http://www.jmrenouard.fr 4
  5. 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. 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. 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
  8. 8. LightPath 2014© - http://www.jmrenouard.fr 8
  9. 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. 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
  11. 11. $sortie=‘fichier.txt’; $url='ftp://login:mot_de_passe@serveur/fichier.txt‘; if ($fp = fopen ($sortie, 'w')) { $ch = curl_init ($url); curl_setopt ($ch, CURLOPT_FILE, $fp); $ret = curl_exec ($ch); curl_close ($ch); fclose ($fp); } LightPath 2014© - http://www.jmrenouard.fr 11
  12. 12. LightPath 2014© - http://www.jmrenouard.fr 12
  13. 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. 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

×