用php写 ftp文件上传函数教程
发布时间:2022-06-17 08:40:49 所属栏目:PHP教程 来源:互联网
导读:本篇教程是一款关于用php写 ftp文件上传函数教程,php功能很强大,可以用他自身带的函数来实例ftp的功能,实现文件上传功能,代码如下: ?php function phpftp_top() { echo !-- function phpftp_top -- ; echo html ; echo head ; echo titlePHP FTP Client v1.4
|
本篇教程是一款关于用php写 ftp文件上传函数教程,php功能很强大,可以用他自身带的函数来实例ftp的功能,实现文件上传功能,代码如下: <?php function phpftp_top() { echo "<!-- function phpftp_top --> "; echo "<html> "; echo "<head> "; echo "<title>PHP FTP Client v1.4</title> "; echo "</head> "; echo "<body bgcolor="#ffffff"> "; echo "<font face="courier"> "; } function phpftp_bottom() { echo " <!-- function phpftp_bottom --> "; echo "</font> "; echo "</body> "; echo "</html> "; } function phpftp_login() { phpftp_top(); echo "<!-- function phpftp_login --> "; echo "<p> "; echo "<form action="ftp.php3" method=post> "; echo "Login: "; echo "<input name="phpftp_user" type="text"> "; echo "<p> "; echo "Password: "; echo "<input name="phpftp_passwd" type="password"> "; echo "<p> "; echo "Directory: "; echo "<input name="phpftp_dir" type="text"> "; echo "<p> "; echo "<input type="hidden" name="function" value="dir"> "; echo "<input type="submit" value="connect"> "; echo "</form> "; echo "<p> "; phpftp_bottom(); } /* This function does not return TRUE/FALSE - it returns the value of $ftp, the current FTP stream. */ function phpftp_connect( $phpftp_user, $phpftp_passwd ) { $phpftp_host="localhost"; $ftp = ftp_connect( $phpftp_host ); if ( $ftp ) { if ( ftp_login( $ftp, $phpftp_user, $phpftp_passwd ) ) { return $ftp; } } } function phpftp_list( $phpftp_user, $phpftp_passwd, $phpftp_dir ) { phpftp_top(); echo "<!-- function phpftp_list --> "; $ftp = @phpftp_connect( $phpftp_user, $phpftp_passwd ); if ( ! $ftp ) { echo "<strong>FTP login failed!</strong> "; echo "<a href="ftp.php3">Start over?</a> "; phpftp_bottom(); } else { if ( ! $phpftp_dir ) { $phpftp_dir=ftp_pwd( $ftp ); } if ( ! @ftp_chdir( $ftp, $phpftp_dir ) ) { echo "<font color="#ff0000"><strong>Can't enter that directory!</strong></font><p><p> "; $phpftp_dir=ftp_pwd( $ftp ); } echo "<strong>Current directory:</strong> " . $phpftp_dir . " "; if ( $phpftp_dir == "/" ) { $phpftp_dir=""; } echo "<table border=0 cellspacing=20> "; 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 "<tr><td> "; echo "<font face="courier"><strong>Directories</strong></font> "; echo "<form action="ftp.php3" method=post> "; echo "<input type="hidden" name="function" value="cd"> "; echo "<input type="hidden" name="phpftp_user" value="" . $phpftp_user . ""> "; echo "<input type="hidden" name="phpftp_passwd" value="" . $phpftp_passwd . ""> "; echo "<input type="hidden" name="phpftp_dir" value="" . $phpftp_dir . ""> "; echo "<select name="select_directory" size="10" width="100"> "; for ( $i=0; $i < count( $nlist_dirs ); $i++ ) { echo "<option value="" . $nlist_dirs[$i] . "">" . $nlist_dirs[$i] . "</option> "; } echo "</select> "; echo "<input type="submit" value="Enter Directory"> "; echo "</form> "; echo "</td><td> "; echo "<font face="courier"><strong>Files</strong></font> "; echo "<form action="ftp.php3" method=post> "; echo "<input type="hidden" name="function" value="get"> "; echo "<input type="hidden" name="phpftp_user" value="" . $phpftp_user . ""> "; echo "<input type="hidden" name="phpftp_passwd" value="" . $phpftp_passwd . ""> "; echo "<input type="hidden" name="phpftp_dir" value="" . $phpftp_dir . ""> "; echo "<select name="select_file" size="10"> "; for ( $i=0; $i < count( $nlist_files ); $i++ ) { echo "<option value="" . $nlist_files[$i] . "">" . $nlist_files[$i] ." ($nlist_filesize[$i] bytes)". "</option> "; } echo "</select> "; echo "<input type="submit" value="Download File"> "; echo "</form> "; echo "</td></tr> "; } else { echo "<p><font color="#ff0000"><strong>Directory empty or not readable</strong></font><p> "; } echo "</table> "; echo "<p> "; echo "<form action="ftp.php3" method=post> "; $cdup=dirname( $phpftp_dir ); if ( $cdup == "" ) { $cdup="/"; } echo "<input type="hidden" name="function" value="dir"> "; echo "<input type="hidden" name="phpftp_user" value="" . $phpftp_user . ""> "; echo "<input type="hidden" name="phpftp_passwd" value="" . $phpftp_passwd . ""> "; echo "<input type="hidden" name="phpftp_dir" value="" . $cdup . ""> "; echo "<input type="submit" value="Go up one directory"> "; echo "</form> "; echo "<p> "; echo "<form enctype="multipart/form-data" action="ftp.php3" method=post> "; echo "<input type="hidden" name="max_file_size" value="1000000"> "; echo "<input type="hidden" name="phpftp_user" value="" . $phpftp_user . ""> "; echo "<input type="hidden" name="phpftp_passwd" value="" . $phpftp_passwd . ""> "; echo "<input type="hidden" name="phpftp_dir" value="" . $phpftp_dir . ""> "; echo "<input type="hidden" name="function" value="put"> "; echo "<input type="submit" value="Upload this:"> "; echo "<input name="userfile" type="file"> "; echo "</form> "; echo "<p> "; echo "<form action="ftp.php3" method=post> "; echo "<input type="hidden" name="function" value="mkdir"> "; echo "<input type="hidden" name="phpftp_user" value="" . $phpftp_user . ""> "; echo "<input type="hidden" name="phpftp_passwd" value="" . $phpftp_passwd . ""> "; echo "<input type="hidden" name="phpftp_dir" value="" . $phpftp_dir . ""> "; echo "<input type="submit" value="Make subdirectory:"> "; echo "<input name="new_dir" type="text"> "; ftp_quit( $ftp ); phpftp_bottom(); } } function phpftp_cd( $phpftp_user, $phpftp_passwd, $phpftp_dir, $select_directory ) { echo "<!-- function phpftp_cd --> "; $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 "<!-- function phpftp_mkdir --> "; $ftp = @phpftp_connect( $phpftp_user, $phpftp_passwd ); if ( $phpftp_dir == "" ) { $phpftp_dir="/"; } if ( ! $ftp ) { @ftp_quit( $ftp ); phpftp_top(); echo "<font color="#ff0000"><strong>FTP login failed!</strong></font><p><p> "; echo "<a href="ftp.php3">Start over?</a> "; 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 "<font color="#ff0000"><strong>FTP login failed!</strong></font><p><p> "; echo "<a href="ftp.php3">Start over?</a> "; 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 "<font color="#ff0000"><strong>FTP get failed!</strong></font><p><p> <a href="ftp.php3">Start over?</a> "; 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 "<font color="#ff0000"><strong>Upload failed! Probably no space on server for temp file.</strong></font><p><p> <a href="ftp.php3">Start over?</a> "; phpftp_bottom(); } else { if ( ! $ftp = @phpftp_connect( $phpftp_user, $phpftp_passwd ) ) { unlink( $tmpfile ); phpftp_top(); echo "<font color="#ff0000"><strong>FTP login failed!</strong></font><p><p> <a href="ftp.php3">Start over?</a> "; 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 ); //开源代码phpfensi.com break; case "mkdir"; phpftp_mkdir( $phpftp_user, $phpftp_passwd, $phpftp_dir, $new_dir ); break; case ""; phpftp_login(); break; } ?> (编辑:鹤壁站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
