首頁 >後端開發 >php教程 >php實作檔的自動ftp更新

php實作檔的自動ftp更新

WBOY
WBOY原創
2016-07-25 09:00:291318瀏覽
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>


陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn