Anda harus menggunakan jalur absolut untuk melihat apakah file tersebut ada.
$abs_path = '/var/www/example.com/public_html/images/';
$file_url = 'http://www.example.com/images/' . $filename;
if (file_exists($abs_path . $filename)) {
echo "The file exists. URL:" . $file_url;
} else {
echo "The file does not exist";
}
Jika Anda menulis untuk CMS atau kerangka PHP maka sejauh yang saya tahu semuanya telah mendefinisikan konstan untuk jalur root dokumen.
misalnya WordPress menggunakan ABSPATH yang dapat digunakan secara global untuk bekerja dengan file di server menggunakan kode Anda serta url situs.
Contoh Wordpress:
$image_path = ABSPATH . '/images/' . $filename;
$file_url = get_site_url() . '/images/' . $filename;
if (file_exists($image_path)) {
echo "The file exists. URL:" . $file_url;
} else {
echo "The file does not exist";
}
Saya akan bekerja ekstra di sini :). Karena kode ini tidak memerlukan banyak perawatan dan cukup solid, saya akan menuliskannya dengan pernyataan singkat if:
$image_path = ABSPATH . '/images/' . $filename;
$file_url = get_site_url() . '/images/' . $filename;
echo (file_exists($image_path))?'The file exists. URL:' . $file_url:'The file does not exist';
Pernyataan singkat IF menjelaskan:
$stringVariable = ($trueOrFalseComaprison > 0)?'String if true':'String if false';