繁体   English   中英

php 向 url 发送请求并接收 csv => 需要将此文件保存在我的服务器中

[英]php send request to url and receive csv => need save this file in my server

我的链接 (URL) 不同!!! 并且不适用于通常的方法

我已经测试了所有方法(fetch、curl、file、get、put),但它不起作用。

我这里有一个类似的 URL:'http://www.tsetmc.com/tsev2/data/ClientTypeAll.aspx?h=0&r=0'

我可以在浏览器中打开它并下载一个 csv 文件我需要在 php 中执行此操作并将 csv 文件保存在服务器上

到目前为止,这是我尝试过的:

$page = fopen('http://www.tsetmc.com/tsev2/data/ClientTypeAll.aspx?h=0&r=0'); or $page = file_get_contents('http://www.tsetmc.com/tsev2/data/ClientTypeAll.aspx?h=0&r=0');
file_put_contents('http://www.tsetmc.com/tsev2/data/ClientTypeAll.aspx?h=0&r=0');

首先要注意的是:您的一些 function 调用不正确,这可能意味着您的代码甚至没有开始请求文件。 fopen需要两个参数,而您只给它一个参数。 第一个参数是要打开的资源位置,在你的例子中是URL,第二个参数需要的是打开方式,这里你可能需要r ,表示只读。 这会生成您需要使用fread阅读的资源,请参阅fopen php.net 页面上的更多信息。

您的file_get_contents调用本身是正确的,但由于它前面的or会引发某种语法错误,但我猜 or 仅适用于 stackoverflow

file_put_contents也需要至少两个参数。 它的第一个参数是要写入的文件名,在您的情况下,它类似于file.csv ,第二个参数是要写入文件的数据,这是您使用存储在fopen中的结果的地方$page变量,请参阅file_put_contents php.net 页面上的更多信息

假设 PHP 可以访问该文件(如果我单击它不会打开的链接,可能是一些代理问题或其他问题)以下应该有效

$page = file_get_contents("http://example.com");
file_put_contents("some_file.csv", $page);

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM