Php 使用媒体时Wordpress无效的图像URL\u sideload\u图像

Php 使用媒体时Wordpress无效的图像URL\u sideload\u图像,php,wordpress,Php,Wordpress,我正在使用wordpress功能媒体侧载图像从外部链接上传图像,如下所示: $url = 'http://pinnaclepublic.pinewoodsa.co.za/vehicles/plugins/ViewImage.aspx?guid=F92A44F3-71AC-4B2C-8BC4-8CC53578B722&VehicleId=101887&ImageNumber=1&Size=3'; $post_id = 101; media_sideloa

我正在使用wordpress功能媒体侧载图像从外部链接上传图像,如下所示:

   $url = 'http://pinnaclepublic.pinewoodsa.co.za/vehicles/plugins/ViewImage.aspx?guid=F92A44F3-71AC-4B2C-8BC4-8CC53578B722&VehicleId=101887&ImageNumber=1&Size=3';
   $post_id = 101;

   media_sideload_image ($url,$post_id);
但我得到了一个错误:

WP_Error Object
(
    [errors] => Array
        (
            [image_sideload_failed] => Array
                (
                    [0] => Invalid image URL
                )

        )

    [error_data] => Array
        (
        )

)
问题:
如何使media_sideload_图像与我无法更改的特定url一起正常工作。

如果您在
/wp admin
您需要包括media.php和includes

require_once(ABSPATH . 'wp-admin/includes/media.php');
require_once(ABSPATH . 'wp-admin/includes/file.php');
require_once(ABSPATH . 'wp-admin/includes/image.php');
有关的文档,请参见注释


您也可以像这样创建自己的函数问题:

$url = 'http://pinnaclepublic.pinewoodsa.co.za/vehicles/plugins/ViewImage.aspx?guid=F92A44F3-71AC-4B2C-8BC4-8CC53578B722&VehicleId=101887&ImageNumber=1&Size=3';
$url_with_pseudo_extension = $url . '?ext=.jpeg'
这是URL的问题。Wordpress的文件模块无法从您提供的URL中识别任何文件扩展名。因此抛出了这个错误。 看看这个函数的源代码

解决方案:

$url = 'http://pinnaclepublic.pinewoodsa.co.za/vehicles/plugins/ViewImage.aspx?guid=F92A44F3-71AC-4B2C-8BC4-8CC53578B722&VehicleId=101887&ImageNumber=1&Size=3';
$url_with_pseudo_extension = $url . '?ext=.jpeg'
在过去的一个小时里,我一直在面对这个问题。在严重头痛之后,我能用一把斧子把它砍掉

您所要做的就是在 等于“.jpeg”或“.png”的URL

示例:

$url = 'http://pinnaclepublic.pinewoodsa.co.za/vehicles/plugins/ViewImage.aspx?guid=F92A44F3-71AC-4B2C-8BC4-8CC53578B722&VehicleId=101887&ImageNumber=1&Size=3';
$url_with_pseudo_extension = $url . '?ext=.jpeg'

这将使URL安全地从文件模块中退出,而不会抛出任何错误。

您是否在
wp内容
文件夹上的/wp admin/?权限上下文之外使用此功能?很抱歉,我如何检查此项,我不是很确定。我正在开发一个插件,该插件从外部链接获取图像,并将其附加到自定义帖子类型。抱歉,但老实说,我不确定我是否在/wp admin的上下文之外。了解这一点的简单方法是什么?您在wp admin之外使用此函数。您可以尝试要求这些文件。虽然我还没试过。