在WordPress中按文件名获取上传的图像路径

时间:2013-08-22 作者:Thompson

我们可以通过文件名在wordpress中获得上传的图像路径吗?实际上,我知道用PHP解析uploads 文件夹,并匹配每个文件。但无论何时运行此脚本,这种方式都会在服务器上产生高负载。

还有其他可能的方法吗?

谢谢

注意:我没有任何与之相关的帖子。我只有图像文件名。这样,我只需要找到完整的图像上传路径,例如。http://www.abc.com/wp-content/uploads/2013/02/test.png

2 个回复
SO网友:s_ha_dum

我不是百分之百确定我理解你想要什么,但是。。。

WordPress将连接的媒体视为自定义帖子类型。文件名(不含扩展名)存储为post_title$wpdb->posts 桌子因此,要获得路径,只需搜索文件名减去扩展名。

$q = new WP_Query(
  array(
    \'fields\' => \'ids\',
    \'name\'=>\'1011722_472449312832633_575764530_n\',
    \'post_type\' =>\'attachment\',
    \'post_status\' => \'inherit\',
    \'ignore_sticky_posts\' => true,
    \'posts_per_page\' => 1
  )
);
$attid = $q->posts[0];
您可以使用$attidget_attached_filewp_get_attachment_image 或其他附加功能,以获取所需的其他信息。

SO网友:Rituparna sonowal

也许这对你有帮助。我没有写详细的内容,因为我不确定这是否是真正的问题。

if ( ! function_exists( \'wp_handle_upload\' ) ) {
    require_once( ABSPATH . \'wp-admin/includes/file.php\' );
}
//selected file to upload
$uploadedfile = $_FILES[\'attachdoc\'];

//wp_handle_upload to upload the file. Check documentation.
$upload_overrides = array( \'test_form\' => false );
$movefile = wp_handle_upload( $uploadedfile, $upload_overrides );

if ( $movefile && !isset( $movefile[\'error\'] ) ) {
   //uploaded file url
   $attachments = $movefile[\'url\'];
   //uploaded file path
   $attachments = $movefile[\'file\'];
}

结束

相关推荐

Resize uploaded images

Possible Duplicate:Resizing all images 我有一个我建立的新闻门户,客户想要不同大小的特色图片。我已经准备好了我想要的第一个尺寸,他们已经发布了大约200多篇帖子,都准备好了这个尺寸。现在,如果我改变大小,它只会在新帖子上改变/或重新上传当前的特色图片(手工操作太多了)。我的问题是,有没有办法调整上传图像的大小?