如何在wordpress中获取文件的本地路径

时间:2014-01-06 07:02:05

标签: php wordpress

因为在wordpress中,上传的文件/图像以3种不同的大小存储,从而占用内存。我有一个代码,根据该图像的URL重新调整图像大小。调整大小的代码是:

$img = wp_get_image_editor( $image_url );
if ( ! is_wp_error( $img ) ) {
    $img->resize( 200, 200, false );
    $filename = $img->generate_filename(
        'final', 
        ABSPATH.'wp-content/uploads',
        NULL 
    );
    $img->save($filename);
}

所以我想使用这段代码从用户的本地路径调整图像大小,这样我就不会耗费太多的内存。 谁能告诉我如何获取url上传的文件的本地路径和网址?

2 个答案:

答案 0 :(得分:4)

从URL获取图像的本地路径怎么样? :

function ContentUrlToLocalPath($url){
    preg_match('/.*(\/wp\-content\/uploads\/\d+\/\d+\/.*)/', $url, $mat);
    if(count($mat) > 0) return ABSPATH . $mat[1];
    return '';
}

它假定文件位于uploads文件夹中。

答案 1 :(得分:2)

我们可以使用get_attached_file()根据附件ID检索附件文件路径

尝试:

<?php 
get_attached_file( $attachment_id); 
?>