PHP从csv下载文件,超时?

时间:2013-10-19 15:08:09

标签: php csv file-get-contents

我下面有一个php文件,它查看文件“index.csv”,其中包含两个标题,文件| path

下面的文件将请求的xml文件下载到“productxml”文件夹中。

然而,它似乎是超时或其他因为它只下载了698个文件,其中上面的csv文件中有超过300,000个文件被引用。

关于可能出现什么问题的任何想法?

<?php
  set_time_limit(0);
$fileContent = file("index.csv"); // read the file to an array
array_shift($fileContent); // remove the first line, the header, from the array
foreach( $fileContent as $line ) {
    $columns = str_getcsv( $line, "|", '"' );
    $url = $columns[1]; // as suposed previously the url is in the second column
    $filename = $columns[0];
    downloadFile( $url, $filename );
}

function downloadFile( $url, $filename ) {
    $newfname = "../productxml/" . $filename ;
    $file = fopen ($url, "rb");
    if ($file) {
        $newf = fopen ($newfname, "wb");
        if ($newf)
            while(!feof($file)) {
                fwrite($newf, fread($file, 1024 * 8 ), 1024 * 8 );
            }
    }
    if ($file) {
        fclose($file);
    }

    if ($newf) {
        fclose($newf);
    }
}

1 个答案:

答案 0 :(得分:0)

您的内存可能不足。尝试设置

<?php
ini_set("memory_limit","240M")//set your preferred count