如何从POST自定义域中获取图像名称、MIME类型、宽度、高度、文件大小?

时间:2012-12-20 作者:Advanced SEO

我需要的是一些函数来回显post中使用的图像的文件名,比如“image file name.jpg”,或者只是“image file name”。

此外,能够获得更多有关图像的信息,如:

图像宽度、图像高度、图像mime类型/格式、图像文件大小、图像扩展名这也可能会有所帮助,我有一个名为“image\\u full\\u url”的自定义字段,其中包含帖子中使用的图像的完整url地址。例如,名为“image\\u full\\u url”的自定义字段的内容为:

http://www.example.com/wp-content/uploads/2012/12/image-file-name.jpg
我正在使用那个自定义字段在需要时回显那个URL,若能有类似的东西来回显有关图像的其他数据,那个就太好了。

2 个回复
SO网友:fischi

您可以从Url获取文件,如下所示:

//get the URL from your Metafield, $post is your current Post
$image = get_post_meta( $post->ID, \'_your_image_url_meta\', true );

//set up a query to search your posts table for the Url         
global $wpdb;
$query = "SELECT ID FROM $wpdb->posts WHERE guid = %s LIMIT 1";

//prepare and launch the query
$result = $wpdb->get_results( $wpdb->prepare( $query, $image ) );

//if there are results
if ( count ( $result ) > 0 ) {

    $image_id = $result[\'0\']->ID;

    //get the image data
    $image_data = get_post_meta( $image_id, \'_wp_attachment_metadata\', true );

}   
您需要的所有信息现在都可以在$image_data. 请记住,您可能需要稍微更改脚本—例如,如果您的作者输入了一个缩略图url,您必须首先清理它,然后将查询更改为LIKE 陈述

SO网友:Karan

如果您在自定义字段中声明了图像的每个字段。使用以下代码获取所有post自定义字段数据;

<?php 
 while ( have_posts() ) : the_post(); 
 $postid=$post->ID;
 $all_meta_for_post = get_post_meta( $postid );    
 endwhile; 
?>

结束

相关推荐

Images inside post title

有没有办法在帖子标题中插入图片?它还需要在<title> 标签、永久链接等。我之所以需要这样做,是因为我有一个客户希望在页面标题中使用他们的徽标,而不是纯文本。因此,图像可能位于标题中的任何位置,因此我不能只是附加/前置图像。我能想到的唯一解决方案是使用javascript进行查找和替换,但这似乎不是一个很好的解决方案。。。