使用ftp_get自动停止从服务器下载图像

时间:2013-02-08 09:01:42

标签: php

<?php
    //user name and password
    $ftp_server="";
    $ftp_user_name="";
    $ftp_user_pass="";

    // define some variables
    $local_file = 'localphoto/';
    $server_file `enter code here`= 'serverPhoto/';


// set up basic connection
$conn_id = ftp_connect($ftp_server);
if($conn_id)
{
    echo "connected";
}
{
 die("Couldn't connect to $ftp_server");
}

ftp_set_option($conn_id, FTP_TIMEOUT_SEC, 18000);

// login with username and password
$login_result = ftp_login($conn_id, $ftp_user_name, $ftp_user_pass);

$contents = ftp_nlist($conn_id, $server_file); 
    foreach ($contents as $file) { 

           $cont = explode('/',$file);
           $ret = ftp_get($conn_id, $local_file.$cont[4], $file,  FTP_BINARY);              
}       


// close the connection
ftp_close($conn_id);

&GT;

我有500张图片,但它只下载了200,然后停止下载。在浏览器中,脚本一直在运行,但图像未下载。请提前帮助我

1 个答案:

答案 0 :(得分:0)

你必须添加 set_time_limit(0); 以保持活着直到php脚本运行我推荐回显一些东西让浏览器知道php不挂断并保持活着

  <?php
   set_time_limit(0);
   //user name and password
   $ftp_server="";
   $ftp_user_name="";
   $ftp_user_pass="";

   // define some variables
   $local_file = 'localphoto/';
   $server_file `enter code here`= 'serverPhoto/';


  // set up basic connection
  $conn_id = ftp_connect($ftp_server);
  if($conn_id)
  {
     echo "connected";
  }else
  {
   die("Couldn't connect to $ftp_server");
  }

  ftp_set_option($conn_id, FTP_TIMEOUT_SEC, 18000);

  // login with username and password
  $login_result = ftp_login($conn_id, $ftp_user_name, $ftp_user_pass);

  $contents = ftp_nlist($conn_id, $server_file); 
  foreach ($contents as $file) { 

       $cont = explode('/',$file);
       $ret = ftp_get($conn_id, $local_file.$cont[4], $file,  FTP_BINARY);  
       echo $file."<br>";  //echo something for browser to know php not hangup and keeping Alive
       ob_flush();         
  }       


  // close the connection
  ftp_close($conn_id);
相关问题