Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/wordpress/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何将文件保存到wordpress_Wordpress_Plugins - Fatal编程技术网

如何将文件保存到wordpress

如何将文件保存到wordpress,wordpress,plugins,Wordpress,Plugins,我在本地主机上运行wordpress,我的代码从URL检索照片,并使用文件内容将照片添加到当前目录,但我需要它将照片添加到/wordpress/wp content/uploads,wordpress在其中保存手动上载的文件 $Address = "www.xxx.com/" . $file; $ch = curl_init(); curl_setopt($ch, CURLOPT_POST, 0); curl_setopt($ch, CURLOPT_URL, $file); curl_setop

我在本地主机上运行wordpress,我的代码从URL检索照片,并使用文件内容将照片添加到当前目录,但我需要它将照片添加到/wordpress/wp content/uploads,wordpress在其中保存手动上载的文件

$Address = "www.xxx.com/" . $file;
$ch = curl_init();
curl_setopt($ch, CURLOPT_POST, 0);
curl_setopt($ch, CURLOPT_URL, $file);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$url = curl_exec($ch);
curl_close($ch);
$location = "/wordpress/wp-content/uploads/2013/a.jpg"; 
file_put_contents($location, file_get_contents($url));
if(! function_exists('wp_upload_dir'))
                {
                    define('WP_USE_THEMES',false);
                    require 'wordpress/wp-load.php';
                }
    $upload_dir = wp_upload_dir(); 
    echo $upload_dir['path'];
    echo $upload_dir['url'];
    echo $upload_dir['subdir']; 

我想我理解这个问题

此语句或任何等效语句应位于加载WP的文件顶部:

require_once("path/to/wp-load.php");
路径/to/是相对的,取决于文件的位置。例如,如果您的文件位于
wordpress/here
的文件夹中,则路径应该类似于
“./wp load.php”
,但这是您必须弄清楚的

使用如下代码,尝试显示错误,以便了解发生了什么:

ini_set( 'display_errors', TRUE );
error_reporting( E_ALL );
然后,添加以下代码:

$UploadDir = wp_upload_dir();
$UploadURL = $UploadDir['baseurl'];
$location  = $UploadURL . "/2013/a.jpg";
删除:

$location = "/wordpress/wp-content/uploads/2013/a.jpg"; and all code from:

if(! function_exists('wp_upload_dir')) {
一直到最后一行

在适当的位置插入
echo
语句以查看结果


有什么问题?您正在代码中获取WP upload目录。它不会显示任何内容如果您指的是最后一个
echo
不显示任何内容,很可能是因为
WP load.php
脚本的路径在
require'wordpress/WP load.php'中出错和WP未加载。?您的问题所在的文件在WP目录结构中的什么位置?我确实遇到了以下错误致命错误:在第36行的/Applications/MAMP/htdocs/wordpress/WP content/plugins/Photos/classes/Photos.php中调用未定义的函数WP_upload_dir()。这意味着您启用了错误显示,并且
wp load.php
的路径仍然错误。从错误中的路径来看,您的脚本比WP根目录低6级,脚本
WP load.php
位于该目录下。你需要这样的东西,
。/../../../../../../../wp load.php
删除
。/
,直到没有错误。我给了它一个绝对地址,现在它显示以下错误,无法打开流:中没有这样的文件或目录,错误在第二行$location=“Applications/MAMP/htdocs/wordpress/wp content/uploads”;文件内容($location,文件内容($url));检查以更好地了解
require
include
路径。我没有看到您上次的评论更新。您的路径正常运行时,WP似乎已经加载。您现在的问题是
file\u put
函数,更确切地说是URL参数。
// the curl thing from question...results in `$url`
$upload = wp_upload_bits('a.jpg', null, file_get_contents($url));
echo $upload['file'], $upload['url'], $upload['error'];