我在localhost上运行wordpress,我可以使用以下代码将文件成功保存到wordpress的上传目录中,但wordpress不会在其媒体库中显示它们,尽管它只显示我使用其上传功能上传的那些。 / p>
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本身上传相同的文件时,文件就会显示出来。
答案 0 :(得分:2)
似乎有权限问题,请尝试使用chmod
设置644:
file_put_contents($location, $output);
chmod($location, 0644); // <--- new code