2017-02-28 164 views
-10

我想从网站“http://nccpl.com.pk/market-information/fipi-lipi/fipi-sector-wise”下载文件,但有提取按钮来下载excel文件。我如何使用php每天自动下载它。使用php下载文件

+0

为什么会有mysqli标签?如果没有授予您许可,则无法访问外部网站的文件。然而,如果它允许你使用cURL。 –

+0

有一个悬而未决的编辑http://stackoverflow.com/review/suggested-edits/15368520想要删除该mysqli标签 –

+0

@ Fred-ii-我猜测OP不仅希望我们编写php代码来获取文件,但也添加一些mysqli魔法将它添加到他的数据库:-) – jeroen

回答

1

数据导出链接正在从浏览器的JavaScript表中以JavaScript的方式生成CSV。出于这个原因,您将无法使用PHP下载它,因为该文件实际上并不存在。

但是,通过下载页面的html并解析它,您可以通过表格生成除PHP之外的文件。但是,我不知道PHP中可用于此目的的工具。

-2
readfile($file) 

是你需要我的朋友。 这是php.net

<?php 
$fichero = 'mono.gif'; 

if (file_exists($fichero)) { 
    header('Content-Description: File Transfer'); 
    header('Content-Type: application/octet-stream'); 
    header('Content-Disposition: attachment; filename="'.basename($fichero).'"'); 
    header('Expires: 0'); 
    header('Cache-Control: must-revalidate'); 
    header('Pragma: public'); 
    header('Content-Length: ' . filesize($fichero)); 
    readfile($fichero); 
    exit; 
} 
?> 
+1

这个答案是为了让一个网站*提供*下载*它已经托管的*,这根本不是问题所在,即网页抓取动态生成的文件。 –

-1

相信该文件被自动更新,你可以只使用

header('Location: /path-to-file/filename');

<?php header('Location: '/docs/pdf/mypdf.pdf'); ?>

只写它变成一个片段。 PHP文件,并让用户在他分享时.php文件舔下载buttton。确保文件有权下载。

+0

如果涉及用户,如何按照问题中指定的方式“自动”下载? – ADyson

+0

你可以做的是创建一个像这样的按钮Download或将其添加到一个按钮,使用php – Kuldeep

+0

自动下载文件是的,但这仍然是用户必须通过单击按钮调用的过程。 OP想要“每天自动下载”,这实际上意味着没有用户干预。让用户每天都这样做是不可靠的,距“自动”还有很长的路要走。它需要一个由定时器(例如cron或Windows Scheduled Tasks)触发的自动化脚本,而不是GUI。只是制作一个将用户重定向到另一个链接的按钮不是自动化。 – ADyson