php - 超链接强制文件下载 - 如何在服务器上保存文件?

标签 php mysql csv

我想建立一个网站,主要以图表形式显示数据。图表数据应来自MySQL数据库。目前我不知道如何在我的服务器上保存 CSV 文件以便稍后为我的数据库提供数据。

问题在于该文件保存在另一台服务器上,并且仅通过引用 PHP 文件的超链接提供(例如 www.asdf.com/fore_csv_download.php)。

是否可以将 CSV 文件下载到我的服务器?

保存文件后,我应该能够使用以下命令将数据加载到数据库中: MYSQL automatically insert csv files from folder using mysqlimport

后来我考虑使用 cron 作业自动化此过程。

最佳答案

如果需要在其他服务器上检索文件,请使用 CURL,例如:

<?ph
$source = 'http://www.asdf.com/fore_csv_download.php';

$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $source);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
$data = curl_exec ($ch);
curl_close ($ch);

file_put_contents('/var/www/data/file.csv', $data);

如果需要本地下载,请创建一个如下页面(例如download.php):

<?php
$file = FULL PATH CSV FILE from "Database" (only a example);

header('Content-Type: text/csv');
header('Content-Length: ' . filesize($file));
header('Content-Disposition: attachment; filename="' . basename($file) . '"');

echo file_get_contents($file);

关于php - 超链接强制文件下载 - 如何在服务器上保存文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30011172/

相关文章:

c# - mysql插入max+1错误

python - 需要对 Python 中的几个 CSV 文件中的每一行进行数学运算

java - 处理 CSV 文件中的重复 header 名称

php - 000webhost 主机不允许连接到此 MySQL 服务器

php - 在 LIKE 中使用逗号分隔的 mySQL 列值

PHP 撤消按钮

java - 写入 CSV 文件导致 JVM 崩溃

php - 将 C++ 程序作为 cronjob 运行时出现问题

php - 自定义 socket.io 的断开连接事件

php - Laravel 缓存大量查询