PHP file_exists () bazı dosyaların yanlış dönen

0 Cevap php

Ben bir Linux sunucu üzerinde file_exists() PHP fonksiyonu ile garip bir sorun yaşıyorum.

Görüntüyü kontrol etmek için file_exists kullanarak düzenlemeden önce sunucu üzerinde olduğunda, bazen hiçbir belirgin nedeni başarısız olur. Dosya yolları mutlak vardır ve onlar belirtilen yolda% 100 ssh'dan onları kontrol ettik.

File_exists () başarısız görüntüler hala tarayıcıda gösterecektir. Kod bir temel var_dump(file_exists('/home/user/path/image.jpg')); return false bir fark yapmaz.

Dosya izinleri / mülkiyeti Tüm görüntülerin ve üst dizinleri tam olarak aynıdır. Güvenli mod kapalı. Hiçbir PHP hataları vardır. Ben şimdi değil, ne aramak için emin stumped.

İşte görüntüler sunucuda nasıl olduğunu:

/home/user/public_html/images/location/1.jpg -- will work
/home/user/public_html/images/location2/1.jpg -- won't work
/home/user/public_html/images/location2/2.jpg -- will work

Herkes herhangi bir fikir varsa ben mutlu onları çalışacağız yüzden sunucuya root erişimi var.

Şimdiden teşekkürler tavsiye için, ekstra bilgi gerekiyorsa bana bildirin.

EDIT: To answer the questions in the comments below.

  • Evet görüntüler vardır, kesinlikle önbelleğe değil.
  • Güvenli mod (zaten benim yazı bu sözü) kapalıdır.
  • Yollar symlinks ama sunucuda dosyaları konuma doğrudan bağlantılar değil.
  • Phoenix, o tutarlıdır. Çalışma dosyaları her zaman tam tersi çalışacak. Garip karakterler veya boşluklar ile bir sorun değil bu yüzden adları vb 1.jpg, 1.thumb.jpg vardır.
[root@server ~]# ls -l /home/user/public_html/images/Hawkhurst/
total 92
-rwxr-xr-x  1 user user 24501 Aug 11  2009 1.jpg
-rwxr-xr-x  1 user user  1672 Aug 11  2009 1.thumb.jpg
-rwxr-xr-x  1 user user 14983 Aug 11  2009 2.jpg
-rwxr-xr-x  1 user user  1370 Aug 11  2009 2.thumb.jpg
-rwxr-xr-x  1 user user 17238 Aug 11  2009 3.jpg
-rwxr-xr-x  1 user user  1453 Aug 11  2009 3.thumb.jpg
-rwxr-xr-x  1 user user 14168 Aug 11  2009 4.jpg
-rwxr-xr-x  1 user user  1464 Aug 11  2009 4.thumb.jpg 
[root@server ~]#

Ben hiçbir fark izinleri 777 ve 755 ile denedim. Bu klasörde, örneğin, 1 ve 2 3 iken çalışabilir & edebilir 4 yok ...

Ben ne apache / php çalışır görmek için hızlı bir test koştu ve onlar kimse olarak çalıştırmak, ancak bazı görüntüler çalışmak ve bazı aynı izinlere sahip değil bu neden açıklamıyor.

EDIT 2: Sorun çözüldü. Bir veritabanından çağrıldı dosya bazı özgün senaryo onları kaydetmeden önce temizlik her türlü çalıştırmak vermedi yapılan kimsen ... sonunda boşluk vardı, ne kadar aptal olduğuna inanamıyorum.

0 Cevap