-1

私のコードはURLから写真を取得し、file_put_contentsを使用してそれらを現在のディレクトリに追加しますが、Wordpressが手動でアップロードしたファイルを保存する/ wordpress/wp-content/uploadsに追加する必要があります。

$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']; 
4

2 に答える 2

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結果を確認するには、適切な場所にステートメントを挿入します。

于 2013-01-19T06:45:59.480 に答える