我可以将文件保存到 wordpress 中,但它没有显示
Posted
技术标签:
【中文标题】我可以将文件保存到 wordpress 中,但它没有显示【英文标题】:I can save the file into wordpress but it does not show it 【发布时间】:2013-01-19 09:21:18 【问题描述】:我在 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 本身上传相同的文件时,该文件将被显示。
【问题讨论】:
我已经更新了问题 我真的很沮丧,它遇到了另一个错误:( 否,它显示以下错误警告:file_put_contents(/Applications/MAMP/htdocs/wordpress/wp-content/uploads):无法打开流:是 /Applications/MAMP/htdocs/ 中的目录wordpress/wp-content/plugins/Photos/classes/Photos.php 第 46 行 【参考方案1】:好像是权限问题,试试用chmod
设置644:
file_put_contents($location, $output);
chmod($location, 0644); // <--- new code
【讨论】:
不,它没有解决问题,当它保存文件时,我什至无法在我的操作系统中打开它们 @saeed-pirdost 对不起,您应该尝试以前的solution,因为您知道require("/Applications/MAMP/htdocs/wordpress/wp-load.php");
,但是硬编码这样的路径也不是一个好习惯...
我能问你为什么当我激活我的插件时,它的结果会显示在每个页面上吗?
@saeed-pirdost 大声笑,插件在每个页面中运行,是的。但您可以通过WP hooks 管理输出的时间和内容。如果不深入了解worldwide famous codex,您将无法编写 WP 插件
@saeed-pirdost WP 找不到它,因为不知道您的文件。 WP 使用 DB 来管理所有上传。如果那是您想要的,那么您必须更多地了解 WP。最好使用一个已经工作的插件并研究它的代码。 Sayonara... :)以上是关于我可以将文件保存到 wordpress 中,但它没有显示的主要内容,如果未能解决你的问题,请参考以下文章
“调用可以抛出,但它没有用'try'标记并且错误没有处理“[重复]