|
|
|
|
|
|
| |
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.
| <?php
/*
PHP_FTP
Version 0.5
Ryan Flynn (ryan@ryanflynn || DALnet->#php->pizza_milkshake)
Tuesday, June 26 2001
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='', $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);
echo $this->remote_dir.$filename;
return false;
}else{
@ftp_quit($this->conn);
return true;
}
}
*/
function get($filename='', $save_as='', $passive=TRUE){
$handle = fopen($save_as, 'w');
$conn=$this->return_connection() or die;
@ftp_pasv($conn, $passive);
$this->set_remote_dir(ftp_pwd($conn));
if(!ftp_nb_fget($conn, $handle, $this->remote_dir.$filename, FTP_ASCII, 0)){
@ftp_quit($this->conn);
echo $this->remote_dir.$filename;
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;
}
}
?> | |
Usage Example - Get a file
| <?php
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
?> | |
Usage Example - Send a file
| <?php
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();
?> | |
Usage Example - how to test for completion
| <?php
if(!$f->send('c:/php/ftp/blah.txt', 'html/test.txt')){
echo "File sent successfully!";
}else{
echo "Error sending file.";
}
?> | | |
|
| Remote Archive (Zip, Tar, Gzip) downloader with FTP and local extration support Categories : PHP, FTP, Filesystem, PHP Classes, Compression | | | Check if a file exists on a remote FTP server with PHP Categories : PHP, FTP, Regexps | | | file class , uploade file , download file already uploaded on another website Categories : PHP, PHP Classes, Filesystem, Web Services | | | PHP Paypal IPN Integration Class v1.0.0 Categories : PHP, PHP Classes, Payment Gateways | | | crop and resize image class using gd library function Categories : PHP, PHP Classes, GD image library, Graphics | | | A Timing Class Categories : PHP, PHP Classes, Date Time | | | The class to check load time of your script
VERY usefull for relatively slow applications, but not only.. Categories : PHP, PHP Classes, Debugging | | | Create HTML forms dynamicly using Javascript & PHP Categories : PHP, PHP Classes, Java Script | | | usercounter class Categories : PHP, PHP Classes, Databases, MySQL, Environment Variables | | | RSS parser.
Parses RSS into an array. Quick and nasty but does the job.
No checking is done for correct Tags, only correct XML.
PHP4 needed to display result (uses print_r). Categories : PHP, XML, PHP Classes, Rich Site Summary (RSS) | | | Password Creator: This PHP code exmaple shows how to use bitwise operations on a single variable and using it as a flagged variable. The class generates passwords of a given length using specified characters and the flags. Categories : PHP, PHP Classes, Algorithms, Security | | | an example of the cyberlib payment class Categories : PHP, PHP Classes, Ecommerce, Credit Cards | | | Power Form Validation Categories : PHP, PHP Classes, Data Validation | | | MySQL Handler Categories : PHP, Databases, MySQL, Classes and Objects, PHP Classes | | | pcCalendar class - Allows for the creation of calendars in HTML pages. All output functions can be easily overridden, refer to article 1471 for an example.
Categories : PHP, Date Time, Calendar, PHP Classes | |
| | | | Bruce Somers wrote :1655
"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."
There is a function kill() in PHP? How infantile it would be.
| |
|
|
|