【问题标题】:Programmatically Creating Thumbnails in Wordpress Displays Image As Binary以编程方式在 Wordpress 中创建缩略图将图像显示为二进制
【发布时间】:2017-01-10 02:38:31
【问题描述】:

我正在尝试以编程方式将图像上传到 Wordpress。除了我尝试生成图像缩略图和其他中间尺寸的最后两行之外,一切都在工作。函数 wp_generate_attachment_metadata() 似乎正确地生成了新的图像大小,但它随后尝试将生成的图像显示为二进制而不是返回适当的元数据数组。为什么二进制(见下图)被回显到我的屏幕上?如何抑制它?

$filetype = wp_check_filetype( basename( $image ), null );
$attachment = array(
    'guid'           => wp_upload_dir()['url'] . '/' . basename( $image ),
    'post_mime_type' => $filetype['type'],
    'post_content'   => '',
    'post_status'    => 'inherit',
    'post_title'     => preg_replace( '/\.[^.]+$/', '', basename( $image ) )
);
$attach_id = wp_insert_attachment( $attachment, $image );
update_field('image', $attach_id, $post_id);

$attach_data = wp_generate_attachment_metadata( $attach_id, $image );
$response = wp_update_attachment_metadata( $attach_id, $attach_data );

这是回显的二进制样本。

【问题讨论】:

  • 嗯,二进制码是011000101000,不是这个。你也没有说它何时/如何输出这个,你应该发布你的代码的相关部分......

标签: php wordpress


【解决方案1】:

所以事实证明,在函数显示乱码之后,是一条简短的错误消息(无法打开流:HTTP wrapper does 不支持可写连接)。事实证明,函数“wp_generate_attachment_metadata”需要图像的绝对路径。将 $image 变量更改为绝对路径(从 Web 路径,http://website.com/path/to/image.png)解决了这个问题。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-06-07
    • 2021-04-24
    • 2014-11-25
    • 1970-01-01
    • 2012-04-18
    • 2018-08-18
    • 2012-01-26
    • 1970-01-01
    相关资源
    最近更新 更多