3

私は他の人と同じ構文を使用していますが...動作しません。

ディレクトリからファイルのリンクを解除するために、かなりの数のオプションを試しました。

概要: delete.php (アクションを実行するファイル) はメイン フォルダーにあります。削除するファイル(画像)は、サブディレクトリ「upload」の下にあります。

$file = $name . '.' . $ext; 

$tmpfile = 'upload/'. $file; 
unlink($tmpfile);

これよりも。

if (!unlink("upload/$file")) {
    echo "Error deleting ... $file  ... from directory";
}
else {
    echo "Deleted $file";
}

などなど。エラーログはこちら

unlink(upload/Glauber_3232_MAGNOLIA_ST__016.jpg) [function.unlink]: 30 行目の /home2/braaasil/public_html/openhouse/delete.php にそのようなファイルまたはディレクトリはありません

したがって、メイン ディレクトリ (delete.php の場所) を終了して、画像があるサブディレクトリ "upload" に移動できません。どんな提案でも大歓迎です。

編集

public_html

   openhouse (sub domain)

      delete.php (this is a file)

      upload (this is sub folder)

これがはっきりしない場合は、写真を撮ることができます。delete.php とサブフォルダーのアップロードは同じレベルにあり、どちらもオープンハウスの子供です。これが明確であることを願っています。

4

2 に答える 2

4

スクリプトに問題はありませんが、アプリケーションに間違ったパスを指定していると思われるため、アップロード フォルダーの下に指定されたファイルが見つかりません。

サブフォルダーを使用していると思いますが、uploadルートフォルダーを指しているため、フォルダーが見つかりません。

試す:unlink (__DIR__ . '/upload/' . $file);

動作する場合は、次のようにも使用できます。"./upload/$file"

于 2013-09-25T20:44:09.083 に答える
0

ごめんなさい !すべてのエントリに対してコマンド strtolower を使用していたにもかかわらず、何らかの理由で DB が image.jpg と image.JPG の両方を受け入れ始めました。

この質問に投稿されているコードそのものによって画像が削除されています。お時間をいただき誠にありがとうございました。もう一度お詫び申し上げます。

他のすべての場合: DB では大文字と小文字が区別される可能性があるため、DB、ファイル、および検索がすべて小文字に設定されていることを確認してください。

于 2013-09-25T21:53:46.343 に答える