Wordpress download_url(),导入本地文件

时间:2017-04-11 13:35:22

标签: php wordpress image-uploading

我想从本地存储的图片中设置帖子特色图片,但我无法在服务器上创建临时文件。

当我尝试这样做时:

require_once(ABSPATH . "wp-admin" . '/includes/image.php');
require_once(ABSPATH . "wp-admin" . '/includes/file.php');
require_once(ABSPATH . "wp-admin" . '/includes/media.php');

$url = ABSPATH . 'import/photos/test/test.jpg'; // DON"T WORK, BUT FILE EXISTS
// $url = 'http://example.com/import/photos/test/test.jpg'; - WORKS
$tmp = download_url( $url );
var_dump($tmp);

我在tmp上有这个错误:

object(WP_Error)#11636 (2) { ["errors"]=> array(1) { ["http_request_failed"]=> array(1) { [0]=> string(46) "Предоставлен неверный URL." } } ["error_data"]=> array(0) { } }

存储文件的路径是正确的。如果我尝试从网址导入该文件,则会正确上传并向我显示string(20) "/tmp/test-jMHjga.tmp"

为什么我不能使用本地服务器路径?

1 个答案:

答案 0 :(得分:0)

因为download_url()使用WP_Http类通过HTTP协议获取远程资源。所以路径必须是一个URL。