Dosyanın var olup olmadığını görmek için mutlak yolu kullanmanız gerekir.
$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";
}
CMS veya PHP çerçevesi için yazıyorsanız, bildiğim kadarıyla hepsi belge kök yolu için sabit tanımlamıştır.
Örneğin, WordPress, hem kodunuzu hem de site URL'sini kullanarak sunucudaki dosyalarla çalışmak için küresel olarak kullanılabilen ABSPATH kullanır.
Wordpress örneği:
$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";
}
Burada fazladan bir mil gidiyorum :). Bu kod çok fazla bakım gerektirmediğinden ve oldukça sağlam olduğundan, if ifadesiyle kısaca yazardım:
$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';
Shorthand IF ifadesi şöyle açıklandı:
$stringVariable = ($trueOrFalseComaprison > 0)?'String if true':'String if false';