画像を削除する場合
例: unlink('abcdef.jpg');
これは通常は削除できます
ファイル名がデータベースから読み取られる場合は削除できません
fn=$rs['abc'] ;
unlink($ fn);
を削除できません。
プロンプトメッセージ:
警告: unlink(user_logo/?d4d84f383714d5f3.jpg) [function.unlink]:
にはそのようなファイルまたはディレクトリはありません
彼はそれを非常に明確に述べていませんでしたか?
そのようなファイルまたはディレクトリはありません そのようなファイルまたはディレクトリはありません
エラーメッセージは、ファイルが存在しないというものです
パスが間違っているはずです
まずファイルが存在するかどうかを確認してから削除してください
警告はすべて、次のことを要求しますファイルまたはディレクトリが存在しません
if(file_exists($fn)){ unlink($fn);}
user_logo/ ディレクトリをチェックして、このファイルがこのディレクトリに存在するかどうかを確認してください
存在しない場合は削除します。投稿者による「」は、ファイル接尾辞を除いた単なるファイル名です。それを確認し、存在するかどうかを確認してから削除してください。
プロンプトはこのようになっているので、フォルダーにはファイル名が付いています。
この削除されたファイルは、ピクチャーフォルダーa.php user_logoと同じディレクトリにあります 判断しようとしたのですが、うまくいきませんでしたが、ファイルとフォルダーの両方が存在します。
これを確認するには、
ptint_r(glob('user_logo/*'));
未定義関数 ptint_r() の呼び出しエラー
未定義関数 ptint_r() の呼び出しエラー
print_r
2=>4d2514d09a181e1b.jpg
3=>c3f 7050e4de83 d13.gif
4=>d436ccf10d8c8141.gif
5 =>d4d84f383714d5f3.jpg
?>
ファイルは間違いなく存在します
0=>./user_logo/326601fbd562175b.jpg
2=>./user_logo /4d2514d09a181e1b.jpg
3=>./user_logo/c3f7050e4de83d13.gif
4=>./user_logo/d436ccf10d8c8141.gif
5=>./user_logo/d4d84f383 d5f3.jpg
機械は嘘をつきません, 彼は「いいえ、それは存在しないことを意味します
var_dump($fn == 'user_logo/?d4d84f383714d5f3.jpg');
bool(false)
これは誤りです、存在しませんが、確かに存在します
これで、ユーザーは写真をアップロードできます。変更して再アップロードすると、古いファイル名はデータベースに保存されます
$dlogo="select. site_user_info の User_info_logo where User_info_id=".$_SESSION["userid"] ;
$rs=mysql_fetch_array($drow);
$logomc=$rs['User_info_logo'];
if ($logomc){
$base_dir="user_logo".$logomc ;
リンクを解除 ($base_dir)
$base_dir="user_logo".$logomc;
$base_dir="user_logo / ".$logomc;
通常、このような / filename のようなファイル名を保存することはほとんどありません
最後の部分はファイル名で、最初の部分はフォルダーです。欠落しているだけ/しかし結果は同じです
警告: unlink(user_logo/?d4d84f383714d5f3.jpg) [function.unlink]: そのようなファイルまたはディレクトリはありません
ディレクトリファイルはありますが、プログラムは存在しないと認識しています
これを unlink に追加しますphp 文を実行して、どのような出力があるかを確認します。 R Echo DiRNAME (__file __). 'User_logo/? D4d84f383714d5f3.jpg'; = $rs['abc']; いいえ、'abcdef.jpg' と比較してください。
変数を使用しても影響があるとは考えないでください。内容がOKであれば、変数を使用するかどうかは関係ありません。 ..
ファイルが既に存在することを確認するために file_exists を使用したため、ファイルが存在しないというメッセージが表示されたら、それを削除する権限がないことを確認してください
先日、私はそれを削除する権限を持っていないことを確認しました。他のファイルの中に????も見つかりました 存在しますが、そのファイルは他のプロセスによって決定され、解放されていないため、このシステムは Windows と同様に、ファイルが存在するときにそれを実行したい場合に削除プロンプトを作成します。 ?削除する必要があります??
?? 見つけましたが、専門家に指摘していただければ幸いです。