Rumah >pembangunan bahagian belakang >tutorial php >php实现文件的自动ftp更新

php实现文件的自动ftp更新

WBOY
WBOYasal
2016-07-25 09:00:291318semak imbas
php实现的使用ftp自动更新上传文件的代码,有需要的朋友,可以参考下。

完整代码。

<html>
<head>
<body>
<h1>Mirror update</h1>
<?php
/**
 * php ftp自动更新上传文件
 * site bbs.it-home.org
*/
//变量设置
$host='192.168.11.12';
$user='ftp_user';
$password='ftp_pwd';
$remotefile='/pub/files/test.rar';
$localfile='/tmp/files.rar';
//connect to host
$conn=ftp_connect($host);
if(!$conn)
{
 echo 'Error: 无法连接ftp服务器<br/>';
 exit;
}
echo "Connected to $host.<br/>";
@ $result=ftp_login($conn,$user,$password);
  if(!$result)
  {
   echo "Error: 用户 $user 登录失败。<br/>";
   ftp_quit($conn);
   exit;
  }
  echo "login as $user<br/>";
  //check file times to see if an update is required
  echo 'Checking file time....';
  if(file_exists($localfile))
  {
   $localtime=filetime($localfile);
   echo 'Local file last updated';
   echo date('G:i j-M-Y',$localtime);
   echo '<br/>';
  }
  else
     $localtime=0;
    
  $remotetime=ftp_mdtm($conn,$remotefile);// 获取远程文件的修改时间函数
     if (!($remotetime>=0))
     {
      echo 'Can/'t access remote file time.<br/>';
      $remotetime=$localtime+1; //make sure of an update
      
     }
     else
     {
      echo 'Remote file last updated';
      echo date('G:i j-M-Y',$remotetime);
      echo '<br/>';
     }
     if(!($remotetime>$localtime))
     {
      echo 'Local copy is up to date.<br />';
        exit;
     }
     //download file
     echo 'Getting file from server....<br />';
     $fp=fopen($localfile,'w');
     if(!$success=ftp_fget($conn,$fp,$remotefile));
     {
      echo 'Error:Could not download file';
      ftp_quit($conn);
      exit;
     }
     fclose($fp);
     echo "File download successfully";
     //close connection to host
     ftp_quit($conn);

//fget()函数的用法:    
//ftp_get($conn,$localfile,$remotefile);
?>
</body>
</head>
</html>


Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn