Le client FTP de PHP5

Post on 03-Jul-2015

130 views 0 download

description

Présentation du client FTP de PHP 5

Transcript of Le client FTP de PHP5

Jean-Marie Renouard

LightPath 2014©

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

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

LightPath 2014© - http://www.jmrenouard.fr 4

<?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

<?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ès\n"; } else { echo "Il y a eu un problème lors du chargement du fichier $file\n"; } // Fermeture de la connexion ftp_close($conn_id); ?>

LightPath 2014© - http://www.jmrenouard.fr 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_get($conn_id, $remote_file, $file, FTP_ASCII)) { echo "Le fichier $file a té chargé avec succès\n"; } else { echo "Il y a eu un problème lors du chargement du fichier $file\n"; } // Fermeture de la connexion ftp_close($conn_id); ?>

LightPath 2014© - http://www.jmrenouard.fr 7

LightPath 2014© - http://www.jmrenouard.fr 8

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 ('/[\r\n]+/', $ret, -1, PREG_SPLIT_NO_EMPTY);

print_r($files);

LightPath 2014© - http://www.jmrenouard.fr 9

$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

$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

LightPath 2014© - http://www.jmrenouard.fr 12

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

LightPath: ◦ Société de conseil et d’ingénierie

◦ Formations, Conseil, Audit et mise en œuvre

◦ jmrenouard@lightpath.fr

Jean-Marie RENOUARD ◦ jmrenouard@gmail.com

◦ Twitter: @jmrenouard

◦ http://www.jmrenouard.fr

LightPath 2014© - http://www.jmrenouard.fr 14