2

次のコードがあります。

$tmpfile = $tempDirectory . $file ;

if (file_exists($tmpfile)) {

   header('Location: <some location>');

}

問題なく動作し、ファイルが存在し、新しいページにリダイレクトされます。

これで、ファイルが存在し、機能することがわかりました。そこで、FTP にアクセスして、ファイルがそこにあることを確認します。

次に、次のコードを実行します。

$tmpfile = $tempDirectory . $file ;

if (file_exists($tmpfile)) {

   unlink($tmpfile);
   header('Location: <some location>');

}

リダイレクトが機能しなくなります。PHP は何も出力しません。ファイルは FTP ディレクトリから削除されます。しかし、リダイレクトは完全に失敗します。

echounlink が存在するときに if ステートメント内に を配置すると (if ステートメント内の他のコード行の前または後に、何も出力されません。

リンク解除エラーも出ないし、FTPで確認すると明らかにファイルが削除されているのですが、どうなっているのですか?

コードが実行されると削除されるため、明らかに権限の問題ではありません。ファイルを削除する権限がない場合、ファイルを削除することはできません。

どんな助けでも大歓迎です。ありがとう!

4

1 に答える 1

1

解決策は簡単かもしれません:

[blank space] - this breaks redirect
<?php

// code

リンク解除時に PHP がクラッシュすることもあります。error_repoint 設定が E_ALL に設定されていることを確認してください。

于 2012-08-21T23:15:58.020 に答える