【发布时间】:2014-03-29 20:52:07
【问题描述】:
我知道这是真的:
...您可以通过在文件路径前加上“@”前缀来发布文件系统上已经存在的文件。
但是,我正在尝试使用非本地 cURL 发布文件。它存储在其他 URL 上。假设这张照片是Google's logo(不是)。它的 URL 是https://www.google.com/images/srpr/logo11w.png。所以我认为你会做这样的事情:
$file = file("https://www.google.com/images/srpr/logo11w.png");
// some more stuff
// define POST data
$post_data = array('somekey' => 'somevalue',
'image' => '@' . $file);
但是,无论出于何种原因,这似乎都不起作用。另外,我尝试使用'image' => '@' . file_get_contents($url)。再一次,这没有用。
看起来解决这个问题的一种方法是使用临时文件。这是解决这个问题的唯一方法吗?无论哪种情况,我该如何解决这个问题?
【问题讨论】:
-
你的意思是
$file = file_get_contents('...');? -
@AmalMurali 我必须将它用于非本地文件吗?
-
你试过只做
$file = "https://www.google.com/images/srpr/logo11w.png";