2017-04-11 102 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。