我在localhost上运行wordpress,我的代码从url检索照片并使用file_put_contents将它们添加到当前目录,但我需要将它们添加到/ wordpress / wp-content / uploads,其中wordpress保存手动上传的文件
$Address = "www.xxx.com/" . $file;
$ch = curl_init();
curl_setopt($ch, CURLOPT_POST, 0);
curl_setopt($ch, CURLOPT_URL, $file);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$url = curl_exec($ch);
curl_close($ch);
$location = "/wordpress/wp-content/uploads/2013/a.jpg";
file_put_contents($location, file_get_contents($url));
if(! function_exists('wp_upload_dir'))
{
define('WP_USE_THEMES',false);
require 'wordpress/wp-load.php';
}
$upload_dir = wp_upload_dir();
echo $upload_dir['path'];
echo $upload_dir['url'];
echo $upload_dir['subdir'];
答案 0 :(得分:2)
http://codex.wordpress.org/Function_Reference/wp_upload_bits
// the curl thing from question...results in `$url`
$upload = wp_upload_bits('a.jpg', null, file_get_contents($url));
echo $upload['file'], $upload['url'], $upload['error'];
答案 1 :(得分:1)
我想我理解这个问题。
此文件或任何等效语句应位于文件顶部以加载WP:
require_once("path/to/wp-load.php");
path/to/
是相对的,取决于文件的位置。例如,如果您的文件位于wordpress/here
的文件夹中,则路径应该类似于"../wp-load.php"
,但这是您必须要弄清楚的。
尝试显示错误,以便您知道发生了什么,使用类似这样的代码:
ini_set( 'display_errors', TRUE );
error_reporting( E_ALL );
然后,添加以下代码:
$UploadDir = wp_upload_dir();
$UploadURL = $UploadDir['baseurl'];
$location = $UploadURL . "/2013/a.jpg";
卸下:
$location = "/wordpress/wp-content/uploads/2013/a.jpg"; and all code from:
if(! function_exists('wp_upload_dir')) {
直到最后一行。
在适当的位置插入echo
语句以查看结果。