2014-01-06 2 views
5

アップロードされたファイル/イメージは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でアップロードされたファイルのローカルパスとURLを取得する方法を教えてもらえますか?

答えて

1

我々は添付ファイルIDに基づいて、添付ファイルのパスをget_attached_file()使うために取得でき

試してみてください。

<?php 
get_attached_file($attachment_id); 
?> 
+0

私は何をしたいが代わりにアップロードフォルダ内の画像を使用してので、私は(彼が画像をアップロードする場合)は、ユーザーのパソコンにある画像のURLを使用して、サイズを変更するためにそのURLを利用したいですイメージを保存して、自分のフォルダに保存します。ご回答いただきありがとうございます。 – wingskush

3

どのようにそのURLから画像のローカルパスを取得するため、この程度? :

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

ファイルがアップロードフォルダにあることを前提としています。

関連する問題