Gå til innhold

Er det mulig å logge inn til FTP via php?


Anbefalte innlegg

Videoannonse
Annonse
Jeg bare lurer på om det er mulig!

Altså..

Vist jeg f.eks skal laste opp ett bilde via ett php script, er det da mulig at scriptet kan logge seg inn på FTP kontoen?

5754209[/snapback]

Det skulle vel være fult mulig

 

 

Kanskje dette er noe du kan bruke... Ikke min kode, heler ikke ut prøvd:

Description:

Alot of people have asked for VERY simple FTP functionality with PHP, so here it is. This class was designed with very simplistic transfers in mind. You simple create the class, get/send a file and then 'kill()' the object. It's that simple. I you find it useful.


Code:


<?php

/*
   PHP_FTP
   Version 0.5
   Ryan Flynn (ryan@ryanflynn || DALnet->#php->pizza_milkshake)
   Tuesday, June 26 2001
   
   Alot of people have asked for VERY simple FTP functionality with PHP, so here it is.
   This class was designed with very simplistic transfers in mind. You simple create the class,
   get/send a file and then 'kill()' the object. It's that simple. I you find it useful.
   
   Example:
   
   //Get a file
       require("class.ftp.php"); //include library
       $f=new PHP_FTP('ftp.somesite.com', 'username', 'password'); //specify connect info
       $f->get('html/test.txt', 'c:/php/ftp/blah.txt'); //yes, tested on Windows
       $f->kill(); //optional destroy class method
           
   //Send a file
       require("class.ftp.php");
       $f=new PHP_FTP('ftp.somesite.com', 'username', 'password', 21); //optional port as 4th arg
       $f->send('c:/php/ftp/blah.txt', 'html/test.txt'); //yes, tested on Windows
       $f->kill();
    
    //how to test for completion
       if(!$f->send('c:/php/ftp/blah.txt', 'html/test.txt')){
           echo "File sent successfully!";
       }else{
           echo "Error sending file.";
       }
    
    Notes:
       Remember to have all permissions set to their appropriate settings before using
           this class
*/


   class PHP_FTP{
   
       var $server='';
       var $username='';
       var $password='';
       var $port=21;
       var $remote_dir='';
       
           function PHP_FTP($server, $username='anonymous', $password='[email protected]', $port=21){
               $this->server=$server;
               $this->username=$username;
               $this->password=$password;
               $this->port=$port;
           }
           
       //exterior
           
           function send($filename='', $save_as='', $passive=TRUE){
               $conn=$this->return_connection() or die;
               @ftp_pasv($conn, $passive);
               $this->set_remote_dir(ftp_pwd($conn));
                   if(!ftp_put($conn, $save_as, $filename, FTP_BINARY)){
                       @ftp_quit($this->conn);
                       return false;
                   }else{
                       @ftp_quit($this->conn);
                       return true;
                   }
               return true;
           }
           
           function get($filename='', $save_as='', $passive=TRUE){
               $conn=$this->return_connection() or die;
               @ftp_pasv($conn, $passive);
               $this->set_remote_dir(ftp_pwd($conn));
                   if(!ftp_get($conn, $save_as, $this->remote_dir.$filename, FTP_BINARY)){
                       @ftp_quit($this->conn);
                       return false;
                   }else{
                       @ftp_quit($this->conn);
                       return true;
                   }
           }
           
           function kill(){
                   if($this->conn)
                       $this->disconnect();
               unset($this);
           }
       
       //interior
           function return_connection(){
               $conn_id = @ftp_connect($this->server, $this->port) or die("Could not connect to FTP");
               $login_result = @ftp_login($conn_id, $this->username, $this->password) or die("Could not login to FTP");
               return $conn_id;
           }
           
           function set_remote_dir($dir){
               $x = substr($dir, (strlen($dir)-1));
                   if($x != "/" && $x != "\\")
                       $dir.="/";
               $this->remote_dir=$dir;
           }
   }
?>


Lenke til kommentar

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
×
×
  • Opprett ny...