Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- <?php
- class ftp{
- private $host;
- private $user;
- private $pass;
- public $conn_id;
- public $verbose;
- function __construct($host,$user,$pass){
- $this->host=$host;
- $this->user=$user;
- $this->pass=$pass;
- $this->connect();
- }
- function connect(){
- $this->conn_id = ftp_connect($this->host,21,3);
- if(!$this->conn_id){
- return false;
- }
- $login_result = @ftp_login($this->conn_id, $this->user, $this->pass);
- // Vérification de la connexion
- if ((!$this->conn_id) || (!$login_result)) {
- $this->verbose.="<div class='error'>La connexion FTP a échoué !</br>";
- $this->verbose.="Tentative de connexion au serveur ".$this->host." pour l'utilisateur ".$this->user."</div>";
- }
- else {
- $this->verbose.="<div class='notice'>Connexion au serveur ".$this->host.", pour l'utilisateur ".$this->user."</div>";
- }
- }
- function chDir($dir){
- $this->verbose.="<div class='notice'>Dossier courant : " . ftp_pwd($this->conn_id) . "\n";
- $res=ftp_chdir($this->conn_id, $dir);
- // Tentative de modification du dossier en "somedir"
- if ($res) {
- $this->verbose.="Le dossier courant est maintenant : " . ftp_pwd($this->conn_id) . "\n";
- } else {
- $this->verbose.="Impossible de changer de dossier\n";
- $this->mkdir($dir);
- ftp_chdir($this->conn_id, $dir);
- }
- $this->verbose.="</div>";
- return $res;
- }
- function ls(){
- // Récupère la liste des fichiers de /
- return ftp_rawlist($this->conn_id, ".");
- }
- function cat(){
- return ftp_nlist($this->conn_id, ".");
- }
- function flushVerbose(){
- $out=$this->verbose;
- $this->verbose="";
- return $out;
- }
- function mtime($file){
- // Récupération de la date de dernière modification
- $buff = ftp_mdtm($this->conn_id, $file);
- if ($buff != -1) {
- return date("Y-m-d H:i:s.", $buff);
- } else {
- return false;
- }
- }
- function mkdir($dir){
- $res=ftp_mkdir($this->conn_id,$dir);
- if ($res) {
- $this->verbose.="<p class='notice'>Le dossier $dir a été créé avec succès\n</p>";
- } else {
- $this->verbose.="<p class='error'>Il y a eu un problème lors de la création du dossier $dir</p>\n";
- }
- return $res;
- }
- function put($file){
- if(is_file($file)){
- $str=file_get_contents($file);
- $baseName=basename($file);
- $temp="temp/".$baseName;
- file_put_contents($temp,$str);
- }
- else return false;
- // Chargement d'un fichier
- $destination_file=ftp_pwd($this->conn_id) ."/". $baseName;
- $upload = ftp_put($this->conn_id, $destination_file, $temp, FTP_BINARY);
- // Vérification du status du chargement
- if (!$upload) {
- $this->verbose.="<div class='error'>Le chargement FTP a échoué!</div>";
- } else {
- $this->verbose.="<div class='notice'>Chargement de $file vers ".$this->host." en tant que $destination_file</div>";
- }
- }
- function __destruct(){
- // Fermeture du flux FTP
- @ftp_close($this->conn_id);
- }
- }
- ?>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement