-1

我在 localhost 上运行 wordpress,我可以使用以下代码成功地将文件保存到 wordpress 的上传目录中,但是 wordpress 不会在其媒体库中显示它们,尽管它只显示我使用其上传功能上传的那些。

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 回答