Heim  >  Artikel  >  Backend-Entwicklung  >  php实现文件的自动ftp更新

php实现文件的自动ftp更新

WBOY
WBOYOriginal
2016-07-25 09:00:291303Durchsuche
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>


Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn