phpでFTPを使おうとしています。
初回アップロードの際は、ディレクトリを作成します。
次はディレクトリは作成は不要です。
しかし
ftp_mkdir($ftps, "/public_html/hoge/");
と書くと、
2回目以降ディレクトリが存在する旨のエラーが出ます。
これを避けるにはどうしたらいいんでしょう?
$file = "/public_html/hoge/";
if(!file_exists($file)) {
ftp_mkdir($ftps, $file);
}
ディレクトリが既に存在しているか確認すればよのでは?
http://q.hatena.ne.jp/answer(ダミー)
ftp_chdir()を使えば存在するか否かを判定できます。
(ディレクトリ位置が変わるので注意)
$dir = "public_html/hoge"; if (@ftp_chdir($ftps, $dir)) { echo "exist! ".$dir; } else { @ftp_mkdir($ftps, $dir); }
ftp_nlist()も使えるかなぁと思ったのですが、ディレクトリの中が空の場合も、
そのディレクトリが存在しない場合も空の配列を返すので区別できませんでした。
そこでdirname()で一つ上のディレクトリを指定することで、存在すれば
"public_html/hoge"のような配列が返ります。無ければ空の配列です。
ftp_nlist($ftps, dirname($dir))
@演算子を用いればエラー表示を抑圧できます。
回答者 | 回答 | 受取 | ベストアンサー | 回答時間 | |
---|---|---|---|---|---|
1 | ![]() |
7回 | 6回 | 0回 | 2008-08-01 10:35:50 |
コメント(0件)