2017-04-11 76 views
0

我想从本地存储的图片设置张贴精选图像,但我不能在服务器上创建临时文件。本地文件导入的WordPress的download_url()

当我尝试这样做:

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"

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

回答

0

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