1. 2. $id = isset($_POST['id'])? $_POST['id'] : 0;
3. $filename = 'http://saberlily-images.stor .sinaapp.com/' .strval($id). '.jpg'
4. if(file_exists($filename)){
5. echo '';
6. }else{
7. echo '';
8. }
9. ?>
このコードの 3 行目で参照されているファイル名関数のどこが間違っていますか? ? ?パスをローカルに変更しましたが、アクセスできます
しかし、パス「http://saberlily-images.stor.sinaapp.com/load.jpg」は問題ありません
7 行目は正常にアクセスできるためです
問題はどこですか
解決してください、ありがとうございます!
file_exists はローカル ファイルを確認することしかできません。これが必要な場合は、get_headers を使用してヘッダー情報をリモートで取得します。
var_dump(file_exists('http://saberlily-images.stor.sinaapp.com/load.jpg'));
$id = isset($_POST['id'])? $_POST['id'] : 0;$filename = 'http://saberlily-images.stor.sinaapp.com/load.jpg';if(getimagesize($filename)){ echo '11<img src="'.$filename.'" width="auto" height="auto">';}else{ echo '<img src="http://saberlily-images.stor.sinaapp.com/load.jpg" width="auto" height="auto">';}
'';
外側に単一引用符があるため、$filename を解析できません
file_exists は http ではなくローカルであるとのみ判断できます
<?php$filename = '/path/to/foo.txt';if (file_exists($filename)) { echo "The file $filename exists";} else { echo "The file $filename does not exist";}?>
function check_remote_file($url){ $result = get_headers($url, 1); if($result[0]=='HTTP/1.1 200 OK'){ return true; }else{ return false; }}$id = isset($_POST['id'])? $_POST['id'] : 0;$filename = 'http://saberlily-images.stor.sinaapp.com/' .strval($id). '.jpg';if(check_remote_file($filename)){ echo '<img src=".$filename." width="auto" height="auto">';}else{ echo '<img src="http://saberlily-images.stor.sinaapp.com/load.jpg" width="auto" height="auto">';}