ftp_get what goes wrong?


#1

Description:

I’ve made a script to download multiple big video files (+/- 1 GB each).
When I run the script it will download the first file, but when I see
the file is completely transfered (same number of bytes) the function
will not
set the file complete. It somehow waits for more data. But after 60
seconds the timeout will come in and the function gives back a false.

I’ve tried the same script on files of about 35 MB and there isn’t any
problem. All the files will be downloaded and the function will return a
true.

I’ve made some changes in de php.ini file to be sure that wasn’t the
problem:
max_execution_time = 28800
max_input_time = 28800
memory_limit = 8000M
post_max_size = 8000M
upload_max_filesize = 2000M

Reproduce code:

[php]<?php
ini_set(‘error_reporting’, E_ALL);
ini_set(‘display_errors’, TRUE);
$HOST="***";
$UN="***";
$PW="***";
$DIR="***";

 $conn = ftp_connect($HOST);
 if(!$conn) {
    exit("Could not connect to server: $HOSTn");
}

if(!ftp_login($conn,$UN,$PW)) {
    ftp_quit($conn);
    exit("Could not log inn");
}

ftp_chdir($conn,$DIR);
$files = ftp_nlist($conn,".");

$i=0;
while($files[$i]){
if(substr($files[$i],-4)==".mpg"){
if(ftp_pasv( $conn, true )){echo “Pasive Moden”;}
$downloadpath=“d:/www/phpscripts/download/”.$files[$i];
if(ftp_get($conn, $downloadpath, $files[$i],FTP_BINARY)){
echo “Received file “.$files[$i].” okn”;
}
else
{
echo “Did not received file “.$files[$i].” ok!n”;
echo "Result: ".$result.“n”;
}
}
$i++;
}
ftp_quit($conn);
?>[/php]
Expected result:

I expect all files to be downloaded 1 by one. Like it does on the
littler files.

Actual result:

First file will be downloaded, but doesn’t see the whole file is in. And
the script will delete the file that was downloaded.

This are is what the script returns:
Pasive Mode

Warning: ftp_get(): Opening BINARY data connection for HAA - AGO REGIO
ZONDER VO
.mpg (640526340 bytes) in D:wwwphpscriptsftp.php on line 35
Did not received file HAA - AGO REGIO ZONDER VO.mpg ok!

Notice: Undefined variable: result in D:wwwphpscriptsftp.php on line
47
Result:

Notice: Undefined variable: fail in D:wwwphpscriptsftp.php on line
48

Warning: ftp_get(): Opening BINARY data connection for HAA - AGO REGIO
ZONDER VO
.mpg (640526340 bytes) in D:wwwphpscriptsftp.php on line 35
Did not received file HEL - VOL SAMENVATTING REGIO zonder VO.mpg ok!

Notice: Undefined variable: result in D:wwwphpscriptsftp.php on line
47
Result:

Warning: ftp_get(): Opening BINARY data connection for HAA - AGO REGIO
ZONDER VO
.mpg (640526340 bytes) in D:wwwphpscriptsftp.php on line 35
Did not received file MVV - STO ZONDER VO.mpg ok!

Notice: Undefined variable: result in D:wwwphpscriptsftp.php on line
47
Result:

Warning: ftp_get(): Opening BINARY data connection for HAA - AGO REGIO
ZONDER VO
.mpg (640526340 bytes) in D:wwwphpscriptsftp.php on line 35
Did not received file STO - GRA SAMENVATTING TBV REGIO ZONDER VO.mpg
ok!

Notice: Undefined variable: result in D:wwwphpscriptsftp.php on line
47
Result:

Warning: ftp_get(): Opening BINARY data connection for HAA - AGO REGIO
ZONDER VO
.mpg (640526340 bytes) in D:wwwphpscriptsftp.php on line 35
Did not received file VOL - FOR REGIO ZONDER VO.mpg ok!

Notice: Undefined variable: result in D:wwwphpscriptsftp.php on line
47
Result:

Notice: Undefined offset: 5 in D:wwwphpscriptsftp.php on line 24

– Mod Edit - Added PHP Tags for Easier Reading –