开发者

Transfer files between servers using php

Hello
I wrote a little code in php that enables me to download a file from one
 website to my own!
but there is a little problem here!
I can only Download files from my website that are less than 4MB:(
Now my question is that in what way I can Download special 
part of files from other websites!
like from 1st byte to 10th byte!

And second question is how to get file 
Information before starting D开发者_StackOverflow社区ownload!
(I want files size for downloading)

http://www.polarpengi.gigfa.com/code.htm


function downloadFileFromUrl($url, $dstFilepath) {
    $fr = @fopen($url, 'r');
    if($fr === false) {
        throw new Primage_Proxy_Storage_SourceNotFound($url);
    }
    $fw = fopen($dstFilepath, 'w');
    if($fw === false) {
        throw new Exception('Writing to file "' . $dstFilepath . '" failed');
    }

    $timeLimit = 1000;
    set_time_limit($timeLimit);
    $deadline = time() + 1000;

    while(!feof($fr)) {
        $bufferString = fread($fr, 10000);
        fwrite($fw, $bufferString);
        if($deadline - time() < 10) {
            fclose($fw);
            fclose($fr);
            unlink($dstFilepath);
            throw new Primage_Proxy_Storage_SourceNotFound($url);
        }
    }
    fclose($fw);
    fclose($fr);
}


You can define a limit of how much bytes the curl operation will read using:

curl_setopt($ch, CURLOPT_RANGE,"1-2000"); //where 1-2000 range of downloaded bytes 

however I don't think using curl to download a file is appropriate. Use file instead.

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜