好得很程序员自学网

<tfoot draggable='sEl'></tfoot>

用php写 ftp文件上传函数教程 - php函数

用php写 ftp文件上传函数教程

本篇教程是一款关于用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测试数据   break ;   case   "mkdir" ;   phpftp_mkdir(  $phpftp_user ,  $phpftp_passwd ,  $phpftp_dir ,  $new_dir  );   break ;   case   "" ;   phpftp_login();   break ;   }    ?> 

查看更多关于用php写 ftp文件上传函数教程 - php函数的详细内容...

  阅读:42次