[PHP-users 31708] Re: ftp_rawlistで取得した情報を元にファイル名を削除するには

hide1 @ mvi.biglobe.ne.jp hide1 @ mvi.biglobe.ne.jp
2007年 3月 19日 (月) 01:06:24 JST


>\t(タブ)でもsplitしてみたのですが、うまくsplitされません。

>何かいい方法はありませんか?そもそもsplitするのが間違っているのでしょうか。
恐らく正規表現で可能だと思います。


ややこしく聞こえますが、問題は文字列の抽出がうまく出来ないことだと思います。
まずはvar_dump($file_list)の結果か、
うまく抽出できない文字列を提示されてはいかがでしょう?


ちなみに私の環境(PHP4.4.4)で試したところ、
日付の隣が時間の物と年度の物がありました。
また、結果のどれをスペースでsplitしても
$val[0]に日付は入りませんでした。


FTPサーバー1(vsFTPd2.0.1)
Array
(
    [0] => -rw-r--r--    1 500      501         39428 Dec 08 02:21 default.php
    [1] => -rw-r--r--    1 500      501          2498 Feb 06 05:55 file.php
    [2] => drwxr-xr-x    5 500      501          4096 Feb 21 08:22 public_html
)

FTPサーバー2(vsFTPd2.0.1)
Array
(
    [0] => drwxr-xr-x   23 0        0            4096 Feb 14  2006 ******
    [1] => drwxrwxrwx    6 70       70           4096 Feb 16  2006 *****.ini
    [2] => drwxr-xr-x   10 524      519          4096 Feb 06 08:56 public_html
    [3] => -rw-r--r--    1 524      519            83 Feb 01 02:47 ******.php
)

ひで


ごろ猫 wrote:
> こんばんわ。ごろ猫と申します。いつもこのMLにはお世話になってます。
>
> さて、このたびは、FTP先のファイルにおいて
>     $file_list = ftp_rawlist( $res_ftp, "/" );
> で取得したファイル情報を元にある日付を過ぎていなかったら該当ファイルを削除しようと思っています。
>
>     foreach( $file_list as $file_name ){
>      $val = split(" ",$file_name);
>         ・・・・(日付判断文及び削除)・・・・
>     }
>
> で$val[0]から日付の情報は取得でき、該当ファイルはわかるのですが、ファイル名を取り出そうとした場合にファイル名に空白が含まれていると、ファイル名がばらばらに配列に代入されるのでうまくいきません。
>
> \t(タブ)でもsplitしてみたのですが、うまくsplitされません。
> 何かいい方法はありませんか?そもそもsplitするのが間違っているのでしょうか。
>
> ご存知の方、ご教授ください。 
>
> _______________________________________________
> PHP-users mailing list  PHP-users @ php.gr.jp
> http://ml.php.gr.jp/mailman/listinfo/php-users
> PHP初心者のためのページ - 質問する前にはこちらをお読みください
> http://www.php.gr.jp/php/novice.php3
>
>
>   



PHP-users メーリングリストの案内