【问题标题】:add file to $_FILES array by reading remote file通过读取远程文件将文件添加到 $_FILES 数组
【发布时间】:2014-02-10 05:22:01
【问题描述】:

我对 php 很陌生,我们正在尝试为 wordpress 编写一个插件。我们有一个带有图像的服务器,我们希望插件有一个从服务器下载的图像列表。然后它需要遍历该列表并将每个图像从服务器读取到 $_FILES 变量中,然后我们可以将其传递给 wordpress media_handle_upload 函数。

我已经能够使用以下代码读取远程文件。但我不确定从这里去哪里。

$url = 'http://www.planet-source-code.com/vb/2010Redesign/images/LangugeHomePages/PHP.png';

$img = curl_init();
curl_setopt($img, CURLOPT_URL, $url);
curl_setopt($img, CURLOPT_HEADER, 1);
curl_setopt($img, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($img, CURLOPT_BINARYTRANSFER, 1);
$file = curl_exec($img);
curl_close($img);


$file_array = explode("\n\r", $file, 2);
$header_array = explode("\n", $file_array[0]);
foreach($header_array as $header_value) {
  $header_pieces = explode(':', $header_value);
  if(count($header_pieces) == 2) {
    $headers[$header_pieces[0]] = trim($header_pieces[1]);
  }
}
header('Content-type: ' . $headers['Content-Type']);
header('Content-Disposition: ' . $headers['Content-Disposition']);


$imgFile = substr($file_array[1], 1);
echo $imgFile;

【问题讨论】:

    标签: php curl wordpress


    【解决方案1】:

    解决方案:查找表

    以 json、xml 或 txt 格式创建图像名称列表或图像文件路径(链接)列表。所以它就像查找表一样。它可以很容易地解析(就像 RSS 提要定制一样)。调用json或xml文件,获取数组形式的数据。现在您可以轻松处理它了

    【讨论】:

    • 这是我将数据从我的服务器获取到 php 的计划。我问的是,一旦我下载了一张图片,如何将它及其所有信息添加到 wordpress 函数使用的全局 $_FILES 变量中?
    • 如果下载是自动的(catch),很难将所有信息保存到$_FILES中。最好制作一个数组并将数据插入其中。您可以使用“for each”设置来一一分配数据并传递给 $_FILES。
    • 我会尽力帮助你
    • 使用 imagecreatefromstring(),如果您的项目基于采样或网络提取器。
    • 我的理解是 $_FILES 变量会自动填充有关已上传文件及其临时保存位置的大量信息。所以,我不确定如何用我下载的文件中的信息填充它并确保它设置正确。感谢您愿意提供帮助,但我真的需要查看一些代码......我只是没有足够的 php 经验来接受这个概念并在没有看到任何示例代码的情况下运行它。谢谢。
    猜你喜欢
    • 1970-01-01
    • 2017-07-14
    • 1970-01-01
    • 2012-06-19
    • 2020-04-24
    • 2015-10-11
    • 2023-03-21
    • 2013-10-15
    • 1970-01-01
    相关资源
    最近更新 更多