0
<?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);

?>

全部で 500 個の画像がありますが、200 個までしかダウンロードできず、ダウンロードが停止します。ブラウザでは、スクリプトは実行され続けていますが、画像はダウンロードされていません。助けてください事前に感謝します

4

1 に答える 1

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);
于 2013-02-08T09:06:52.653 に答える