我如何动态下载许多csv文件从其他网站动态自动到我的电脑在php中的localhost

时间:2013-02-27 09:07:57

标签: php csv

我在网站上有很多.csv文件,基本上我想知道如何动态自动下载这个文件。在localhost有下载文件夹,在下载文件夹将下载并保存自动没有鼠标/键盘触摸,然后我想从下载文件夹自动导入,无需鼠标/键盘触摸。

实际情况是,该网站每天都会保留.csv文件。但是日常软件将在MySQL数据库中自动下载和导入,无需鼠标/键盘触摸。

我如何解决它,请详细说明。如果我能解决这个问题,我真的很高兴。

1 个答案:

答案 0 :(得分:0)

在localhost服务器中使用以下PHP页面:

csvsaver.php:

<?php

    $saveLocation = 'files';
    $urls = array(
        'http://yourwebsite/folder/hello.csv',
        'http://yourwebsite/csv1.csv'
    );

    $now = date('Y-m-d_H-i');
    $dir = 'files' . '/' . $now;

    for ($i = 0; $i < count($urls); $i++){
        $url = $urls[$i];
        $file = $i . '_' . substr($url, strrpos($url,'/')+1 );
        $path = $dir . '/' . $file;

        $ch = curl_init($url);
        curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
        $data = curl_exec($ch);
        curl_close($ch);

        if (!is_dir($dir)) mkdir($dir);
        file_put_contents($path, $data);
    }
?>

例如,如果你把它放在'c:/wamp/www/csvSaver/csvsaver.php'中,你还需要在其中创建一个目录'files':c:/ wamp / www / csvSaver / files /

当您运行上述页面时,它会将两个文件保存到:

  • C:/wamp/www/csvSaver/2013-02-27_09-45/0_hello.csv
  • C:/wamp/www/csvSaver/2013-02-27_09-45/1_csv1.csv

您需要做的就是每天运行PHP页面。如果您使用的是linux,请设置一个cron作业。如果您正在使用Windows,请设置运行.bat文件的计划任务。例如,Look here.。如果这看起来太复杂,那么每天只需手动转到PHP页面。