Home  >  Article  >  Backend Development  >  Tutorial on writing ftp file upload function in PHP_PHP tutorial

Tutorial on writing ftp file upload function in PHP_PHP tutorial

WBOY
WBOYOriginal
2016-07-20 11:07:32774browse

This tutorial is about using PHP to write ftp file upload functions. PHP is very powerful. You can use its own functions to implement FTP functions and realize the file upload function

This tutorial is about Tutorial on writing ftp file upload function using PHP tutorial. PHP is very powerful. You can use its own functions to implement the function of FTP and realize the file upload function. The following is a complete example

function phpftp_top() {
echo "n";
echo " n";
echo "n";
echo "PHP FTP Client v1.4n";
echo "echo "n";
echo "nn";
}

function phpftp_bottom() {
echo "nn";
echo "
n";
echo "n" ;
echo "n";
}

function phpftp_login() {
phpftp_top();
echo "n";
$ftp = @phpftp_connect( $phpftp_user, $phpftp_passwd );
if ( ! $ftp ) {
echo "FTP login failed!n";
echo "Start over?n";
phpftp_bottom();
} else {
if ( ! $phpftp_dir ) {
$phpftp_dir=ftp_pwd( $ftp );
}
if ( ! @ftp_chdir( $ftp, $phpftp_dir ) ) {
echo "Can't enter that directory!

n";
$phpftp_dir=ftp_pwd( $ftp );
}
echo "Current directory: " . $phpftp_dir . "
n";
if ( $phpftp_dir == "/" ) {
$phpftp_dir="";
}
echo "

n";
if ( $contents = ftp_nlist( $ftp, "." ) ) {
$d_i=0;
$f_i=0;
sort($contents);
for ( $i=0; $i < count( $contents ); $i++ ) {
$file_size = ftp_size( $ftp, $contents[$i] );
if ( $file_size == -1 ) {
$nlist_dirs[$d_i]=$contents[$i];
$d_i++;
} else {
$nlist_files[$f_i]=$contents[$i];
$nlist_filesize[$f_i]=$file_size;
$f_i++;
}
}
echo "nn";
} else {
echo "

Directory empty or not readable

n";
}
echo "

n";
echo "Directories
n";
echo "
n";
echo "n";
echo "n";
echo "n";
echo "n";
echo "
n";
echo "n";
echo "
n";
echo "
nn";
echo "Files
n";
echo "
n";
echo "n";
echo "n";
echo "n";
echo "n";
echo "
n";
echo "n";
echo "
n";
echo "
nn";
echo "

n";
echo "

n";
$cdup=dirname( $phpftp_dir );
if ( $cdup == "" ) {
$cdup="/";
}
echo "n";
echo "n";
echo "n";
echo "n";
echo "n";
echo "
n";
echo "

n";
echo "

n";
echo "n";
echo "n";
echo "n";
echo "n";
echo "n";
echo "n";
echo "n";
echo "
n";
echo "

nn";
echo "

n";
echo "n";
echo "n";
echo "n";
echo "n";
echo "n";
echo "n";
ftp_quit( $ftp );
phpftp_bottom();
}
}

function phpftp_cd( $phpftp_user, $phpftp_passwd, $phpftp_dir, $select_directory ) {
echo "n";
$new_directory=$phpftp_dir . "/" . $select_directory;
phpftp_list( $phpftp_user, $phpftp_passwd, $new_directory );
}

function phpftp_mkdir( $phpftp_user, $phpftp_passwd, $phpftp_dir, $new_dir ) {
echo "n";
$ftp = @phpftp_connect( $phpftp_user, $phpftp_passwd );
if ( $phpftp_dir == "" ) {
$phpftp_dir="/";
}
if ( ! $ftp ) {
@ftp_quit( $ftp );
phpftp_top();
echo "FTP login failed!

n";
echo "Start over?n";
phpftp_bottom();
} else {
$dir_path = $phpftp_dir . "/" . $new_dir;
@ftp_mkdir( $ftp, $dir_path );
@ftp_quit( $ftp );
phpftp_list( $phpftp_user, $phpftp_passwd, $phpftp_dir );
}
};


function phpftp_get( $phpftp_user, $phpftp_passwd, $phpftp_dir, $select_file ) {
$ftp = @phpftp_connect( $phpftp_user, $phpftp_passwd );
if ( $phpftp_dir == "" ) {
$phpftp_dir="/";
}
if ( ( ! $ftp ) || ( ! @ftp_chdir( $ftp, $phpftp_dir ) ) ) {
@ftp_quit( $ftp );
phpftp_top();
echo "FTP login failed!

n";
echo "Start over?n";
phpftp_bottom();
} else {
srand((double)microtime()*1000000);
$randval = rand();
$tmpfile="/var/tmp/xfers/" . $select_file . "." . $randval;
if ( ! ftp_get( $ftp, $tmpfile, $select_file, FTP_BINARY ) ) {
ftp_quit( $ftp );
phpftp_top();
echo "FTP get failed!

nStart over?n";
phpftp_bottom();
} else {
ftp_quit( $ftp );
header( "Content-Type: application/octet-stream" );
header( "Content-Disposition: attachment; filename=" . $select_file );
readfile( $tmpfile );
}
@unlink( $tmpfile );
}
}

function phpftp_put( $phpftp_user, $phpftp_passwd, $phpftp_dir, $userfile, $userfile_name ) {
srand((double)microtime()*1000000);
$randval = rand();
$tmpfile="/var/tmp/xfers/" . $userfile_name . "." . $randval;
if ( ! @copy( $userfile, $tmpfile ) ) {
phpftp_top();
echo "Upload failed! Probably no space on server for temp file.

nStart over?n";
phpftp_bottom();
} else {
if ( ! $ftp = @phpftp_connect( $phpftp_user, $phpftp_passwd ) ) {
unlink( $tmpfile );
phpftp_top();
echo "FTP login failed!

nStart over?n";
phpftp_bottom();
} else {
ftp_put( $ftp, $userfile_name, $tmpfile, FTP_BINARY );
ftp_quit( $ftp );
unlink( $tmpfile );
phpftp_list( $phpftp_user, $phpftp_passwd, $phpftp_dir );
}
}
}

switch( $function ) {
case "dir";
phpftp_list( $phpftp_user, $phpftp_passwd, $phpftp_dir );
break;
case "cd";
phpftp_cd( $phpftp_user, $phpftp_passwd, $phpftp_dir, $select_directory );
break;
case "get";
phpftp_get( $phpftp_user, $phpftp_passwd, $phpftp_dir, $select_file );
break;
case "put";
phpftp_put( $phpftp_user, $phpftp_passwd, $phpftp_dir, $userfile, $userfile_name );
break;
case "mkdir";
phpftp_mkdir( $phpftp_user, $phpftp_passwd, $phpftp_dir, $new_dir );
break;
case "";
phpftp_login();
break;
}

?>


www.bkjia.comtruehttp://www.bkjia.com/PHPjc/444933.htmlTechArticle本篇教程是一款关于用php写 ftp文件上传函数教程哦,php功能很强大,可以用他自身带的函数来实例ftp的功能,实现文件上传功能哦 本篇教程...
Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn