人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

PHP の質問です、 「/user/local/www/a.png」上記文字列を、正規表現にてディレクトリとファイル名に分割する方法を教えてください。

●質問者: disca
●カテゴリ:ウェブ制作
✍キーワード:PHP PNG USER WWW ディレクトリ
○ 状態 :終了
└ 回答数 : 4/4件

▽最新の回答へ

1 ● Paul
●10ポイント

http://jp2.php.net/manual/ja/function.basename.php

PHP: basename - Manual

basenameとか

dirnameとかの関数ではだめですか?


どうしても正規表現が使いたいのであれば

ごめんなさい。m(_ _)mポイント不要です。

http://jp2.php.net/manual/ja/function.dirname.php

PHP: dirname - Manual

◎質問者からの返答

ありがとうございます。

はい、正規表現でおねがいします。


2 ● elcondor
●10ポイント

http://jp.php.net/manual/ja/funcref.php

PHP: 関数リファレンス - Manual

参考URLは、PHP公式サイト(のミラー)の関数リファレンスです。


正規表現を使用するならば、

$string = ”/user/local/www/a.png”;

$list = split(”/”, $string);

$filename = array_pop($list);

$dirname = implode(”/”, $list);

でできます。

但し、「ファイル名とディレクトリ名を得る」だけが目的ならば、関数basename()とdirname()を使用して、

$filename = basename($string);

$dirname = dirname($string);

でやった方が楽だしパフォーマンスもよいと思いますが。

◎質問者からの返答

ありがとうございます。


3 ● tezcello
●50ポイント

こんな感じでどうでしょか? ???引用符(’”)は半角になおして下さいね。


<?php

$var=’/user/local/www/a.png’;


preg_match(’/(^.+¥/)(.+)/’, $var, $result);


print ”[1] = $result[1]<br />¥n”;

print ”[2] = $result[2]<br />¥n”;

?>


ブラウザで見ると、

[1] = /user/local/www/

[2] = a.png


ローカルサーバ(PHP 5.0.3)で確認済み。他の文字列でもOKかは未確認ですが。

◎質問者からの返答

求めいていた答えがありました。ありがとうございます。


4 ● catsliving
●10ポイント

ファイル名:basename(’/user/local/www/a.png’);

ディレクトリ:dirname(’/user/local/www/a.png’);


本題とは違うのかもしれませんが、上記はどうでしょうか。

◎質問者からの返答

みなさま、ありがとうございます。

回答を締め切りたいと思います。

関連質問


●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ