0

私のコードは 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']; 

インデックスファイルに次の部分をコピーしましたが、問題は解決しませんでした

  if(! function_exists('wp_upload_dir'))
                    {
                        define('WP_USE_THEMES',false);
                        require 'wordpress/wp-load.php';
                    }
4

1 に答える 1

1

いくつかのアイデア:

$uploads = wp_upload_dir();
$upload_path = $uploads['baseurl']; // get uploads dir

rename("a.jpg", trailingslashit($upload_path) . "a.jpg"); // move

参照: http://codex.wordpress.org/Function_Reference/wp_upload_dir
参照: http://php.net/manual/en/function.rename.php

アップデート

あなたはWPの外で働いていると思います。wp_upload_dir()コードの前にすべての WP 機能を取得するには、これを試してください。

if ( ! function_exists('wp_upload_dir'))
{
    define('WP_USE_THEMES', false);
    require PATH_WP_DIR . '/wp-load.php';
    // ex: require '/wordpress/wp-load.php';
}
于 2013-01-19T01:52:09.890 に答える