Home >Backend Development >PHP Problem >How to delete files in php ftp

How to delete files in php ftp

藏色散人
藏色散人Original
2020-08-13 10:29:123210browse

php How to delete files through ftp: first connect to ftp; then download the file through the "ftp_get" function; then use the "ftp_delete($con,"eee.doc");" method to directly delete the file.

How to delete files in php ftp

Recommended: "PHP Video Tutorial"

php operation ftp upload files, create directories, delete files, delete Directory, download files to the local

<?php  
  
$host = &#39;xxx&#39;;  
$user = &#39;user&#39;;  
$pwd = &#39;123&#39;;  
$con = ftp_connect($host);  
$login = ftp_login($con,$user,$pwd);  
if($login){  
    echo "ftp链接成功!<br/>";  
    }  
  
$file1="baaa.doc";    
echo ftp_put($con,$file1,"2222/aaa.doc",FTP_BINARY);//file1shi ftp的路径   第二个参数是当前服务器上的路径  2222/aaa.doc是本地的路径  
echo  "<br>";  
$file2="测试aaa.doc"; //中文也是好使的  
echo ftp_put($con,$file2,"2222/测试.doc",FTP_BINARY);//file1shi ftp的路径   第二个参数是当前服务器上的路径  2222/aaa.doc是本地的路径  
echo  "<br>";  
    $path="444/555";//创建目录只能一层一层的创建  
    $dir=explode("/", $path);   
    $path="";   
   for ($i=0;$i<count($dir);$i++)   
   {   
       $path.="/".$dir[$i];   
       echo $path."<br>";   
       if(!@ftp_chdir($con,$path)){   
         @ftp_chdir($con,"/");   
         if(!@ftp_mkdir($con,$path)){   
          $ret=false;   
          break;   
         }   
       }   
   }   
  
   ftp_put($con,"eee.doc","2222/aaa.doc",FTP_BINARY);//file1shi ftp的路径   第二个参数是当前服务器上的路径  此时放到了555下面  
   // echo ftp_pwd($con)."<br>";//当前目录名  
   //exit;  
    @ftp_chdir($con,"../");   
  ftp_put($con,$file1,"2222/aaa.doc",FTP_BINARY); //附件放到了444里面    FTP_ASCII  
  //把当前目录切换为父目录  
    ftp_cdup($con);  //回到了上一级目录  默认的是share下  
    ftp_put($con,"ccc.doc","2222/aaa.doc",FTP_BINARY); //附件放到了444里面   
     @ftp_chdir($con,"444"); //进入到了444目录  
     //文件下载  
    ftp_get($con,"2222/aaa1.doc", "baaa.doc", FTP_BINARY);//第一个是本地   第二个是ftp的路径文件  
     @ftp_chdir($con,"555");//进入555  
     ftp_delete($con,"eee.doc"); //删除文件是好使的  
     ftp_cdup($con);   
     ftp_rmdir($con,"555");  //删除目录  
    echo ftp_pwd($con)."<br>";//当前目录名  
    //http://www.w3school.com.cn/php/php_ref_ftp.asp  
  
  ftp_close($con);  
  
  
  
?>  
</body>  
</html>

ftp is not very efficient, it is recommended to use curl

function file_upload($ftpIp,$ftpUser,$ftpPwd,$path,$fileSavePath){
  $curlobj = curl_init();//初始化
  //传入ftp的目标文件,如&#39;ftp://192.168.3.1/test/1.jpg&#39;
  curl_setopt($curlobj,CURLOPT_URL,"ftp://".$ftpIp."/".$path);
  curl_setopt($curlobj,CURLOPT_HEADER,0);//不输出header
  curl_setopt($curlobj,CURLOPT_RETURNTRANSFER,0);
  //time out after 300s 
  curl_setopt($curlobj,CURLOPT_TIMEOUT,2000);//超时时间
  //通过这个函数设置ftp的用户名和密码,没设置就不需要! 
  curl_setopt($curlobj,CURLOPT_USERPWD,$ftpUser.&#39;:&#39;.$ftpPwd);
 
  $outfile = fopen($fileSavePath,&#39;w+&#39;); //保存到本地文件的文件名 
  curl_setopt($curlobj,CURLOPT_FILE,$outfile);
 
  $rtn = curl_exec($curlobj);
  if(curl_errno($curlobj)){
    writeLog(&#39;Curl error: &#39; . curl_error($curlobj));
  }
  fclose($outfile);
  curl_close($curlobj);
   if($rtn == 1){
    return true;
   }else{
    unlink($fileSavePath);//如果下载失败,但是本地open了这个文件,所以要删除
    return false;
   }
 
}

The above is the detailed content of How to delete files in php ftp. For more information, please follow other related articles on the PHP Chinese website!

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