-1

次のコードを使用してワードプレスのアップロードディレクトリにファイルを正常に保存できますが、ワードプレスはアップロード機能を使用してアップロードしたものだけを表示しますが、メディアライブラリには表示しません。

require("/Applications/MAMP/htdocs/wordpress/wp-load.php");

$Addr = "http://www.xxx.com" . $Addr;
$ch = curl_init();
curl_setopt($ch, CURLOPT_POST, 0);
curl_setopt($ch, CURLOPT_URL, $Addr);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$output = curl_exec($ch);
curl_close($ch);

ini_set( 'display_errors', TRUE );
error_reporting( E_ALL );

$upload_dir = wp_upload_dir(); 
$location= $upload_dir['basedir']. "/" . "a.jpg";


file_put_contents($location, $output);
echo 'Photo is uploaded';

次のアドレスに行くと、そこで写真を見ることができます。

http://localhost:8888/wordpress/wp-content/uploads/

ファイルを手動でコピーしましたが、それも表示されませんが、wordpress 自体を使用して同じファイルをアップロードすると、ファイルが表示されます。

4

1 に答える 1

2

許可の問題のようです。次のように 644 を設定してみてくださいchmod:

file_put_contents($location, $output);
chmod($location, 0644); // <--- new code
于 2013-01-19T11:56:06.723 に答える