我可以将文件保存到 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 中,但它没有显示的主要内容,如果未能解决你的问题,请参考以下文章

按照教程制作不和谐机器人,但它没有用

如何在WordPress网站上定义元素的粘滞位置

“调用可以抛出,但它没有用'try'标记并且错误没有处理“[重复]

在数据库中保存 wordpress 联系表 7 提交

Swift 2:调用可以抛出,但它没有用'try'标记并且错误没有被处理

Swift 2.1 - 调用可以抛出,但它没有用'try'标记并且错误没有被处理