ホームページ  >  記事  >  バックエンド開発  >  PHPのリンク解除削除の問題

PHPのリンク解除削除の問題

WBOY
WBOYオリジナル
2016-06-23 13:56:011565ブラウズ

画像を削除する場合
例: unlink('abcdef.jpg');
これは通常は削除できます
ファイル名がデータベースから読み取られる場合は削除できません
fn=$rs['abc'] ;
unlink($ fn);
を削除できません。
プロンプトメッセージ:
警告: unlink(user_logo/?d4d84f383714d5f3.jpg) [function.unlink]:

にはそのようなファイルまたはディレクトリはありません


ディスカッション (解決策) への返信

彼はそれを非常に明確に述べていませんでしたか?
そのようなファイルまたはディレクトリはありません そのようなファイルまたはディレクトリはありません

エラーメッセージは、ファイルが存在しないというものです
パスが間違っているはずです

まずファイルが存在するかどうかを確認してから削除してください
警告はすべて、次のことを要求しますファイルまたはディレクトリが存在しません

if(file_exists($fn)){  unlink($fn);}

user_logo/ ディレクトリをチェックして、このファイルがこのディレクトリに存在するかどうかを確認してください
存在しない場合は削除します。投稿者による「」は、ファイル接尾辞を除いた単なるファイル名です。それを確認し、存在するかどうかを確認してから削除してください。

皆さん、リンクを解除してください(user_logo/?d4d84f383714d5f3.jpg)

プロンプトはこのようになっているので、フォルダーにはファイル名が付いています。

この削除されたファイルは、ピクチャーフォルダーa.php user_logoと同じディレクトリにあります

判断しようとしたのですが、うまくいきませんでしたが、ファイルとフォルダーの両方が存在します。

これを確認するには、
ptint_r(glob('user_logo/*'));

結果を投稿


未定義関数 ptint_r() の呼び出しエラー

未定義関数 ptint_r() の呼び出しエラー

print_r


他のものを使用して読みました
0=>326601fbd562175b.jpg 1=>33020b4dfad41335.gif

2=>4d2514d09a181e1b.jpg
3=>c3f 7050e4de83 d13.gif
4=>d436ccf10d8c8141.gif
5 =>d4d84f383714d5f3.jpg
?>

ファイルは間違いなく存在します
0=>./user_logo/326601fbd562175b.jpg

1=>./user_logo/33020b4dfad413 35.gif

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)
これは誤りです、存在しませんが、確かに存在します

unlink(user_logo?1d8daa1bc872d00f.gif )


これで、ユーザーは写真をアップロードできます。変更して再アップロードすると、古いファイル名はデータベースに保存されます
$dlogo="select. site_user_info の User_info_logo where User_info_id=".$_SESSION["userid"] ;

$drow=mysql_query($dlogo);

$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であれば、変数を使用するかどうかは関係ありません。 ..

ファイルまたはフォルダーが存在しないというメッセージが表示された場合は、パスが間違っていることがわかります。 PHP ファイルと画像の相対位置を見てください

ファイルが既に存在することを確認するために file_exists を使用したため、ファイルが存在しないというメッセージが表示されたら、それを削除する権限がないことを確認してください

先日、私はそれを削除する権限を持っていないことを確認しました。他のファイルの中に????も見つかりました 存在しますが、そのファイルは他のプロセスによって決定され、解放されていないため、このシステムは Windows と同様に、ファイルが存在するときにそれを実行したい場合に削除プロンプトを作成します。 ?削除する必要があります??

?? 見つけましたが、専門家に指摘していただければ幸いです。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。