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

php初心者です。
phpでFTPを使おうとしています。

初回アップロードの際は、ディレクトリを作成します。
次はディレクトリは作成は不要です。

しかし
ftp_mkdir($ftps, "/public_html/hoge/");
と書くと、
2回目以降ディレクトリが存在する旨のエラーが出ます。

これを避けるにはどうしたらいいんでしょう?

●質問者: panda007
●カテゴリ:インターネット ウェブ制作
✍キーワード:FTP hoge PHP アップロード エラー
○ 状態 :終了
└ 回答数 : 2/3件

▽最新の回答へ

1 ● kou32rr
●35ポイント

$file = "/public_html/hoge/";

if(!file_exists($file)) {

ftp_mkdir($ftps, $file);

}

ディレクトリが既に存在しているか確認すればよのでは?

http://q.hatena.ne.jp/answer(ダミー)


2 ● tobeoscontinue
●35ポイント

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))


@演算子を用いればエラー表示を抑圧できます。

関連質問


●質問をもっと探す●



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