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

agxfikkp  于 2022-12-15  发布在  PHP
关注(0)|答案(1)|浏览(140)

我的链接(网址)是不同的!!!和不工作与通常的方法
我已经测试了所有的方法(fetch、curl、file、get、put),但是它不起作用。
我有一个类似的网址在这里:"所有客户端类型"
我可以在浏览器中打开它,并下载一个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');
iugsix8n

iugsix8n1#

先做重要的事:你的一些函数调用不正确,这可能意味着你的代码甚至没有开始请求文件。fopen需要两个参数,而你只给了一个。第一个参数是要打开的资源位置,在你的例子中是URL,第二个参数是打开模式,你可能需要r在这里,这意味着只读。这会导致您需要使用fread读取资源,请参阅有关fopen php.net page的更多信息。
您的file_get_contents调用本身是正确的,但是由于它前面的or,它将抛出某种语法错误,但是我猜测or仅用于堆栈溢出
file_put_contents也需要至少两个参数,第一个参数是要写入的文件名,在您的情况下可能是沿着file.csv的内容,第二个参数是要写入文件的数据,这是您使用存储在$page变量中的fopen结果的位置,请参阅file_put_contents php.net page的更多信息
假设PHP可以访问该文件(如果我单击链接,它将不会打开,可能是一些代理问题或其他问题),下面的代码应该可以工作

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

相关问题