Dizin PHP Var olup olmadığını kontrol edin

4 Cevap php

Biliyorum, I know, bu soo kolay geliyor. Ama internette doğru cevabı bulmak için görünmüyor olabilir.

Ben buldum çözümün bir kullanımı oldu is_dir.

if(is_dir($dir))
  echo 'directory exists';
else
  echo 'drectory not exist';

Ama bu wrong -- All this function does is to check whether the $dir bir dizin olduğunu, bu dizin var olup olmadığını kontrol edin, ya da değildir. Diğer bir deyişle ben koyarsanız:

$rootDir = "C:\\Documents and Settings\\test\\My Documents\\Image Directory\\Me Dog\\";

o fonksiyonu web sunucuda böyle bir dizin bulabilirsiniz olsa bile, gerçek dönecektir.

Herhangi bir fikir?

4 Cevap

Düzgün çalışmalıdır. is_dir() belgeleri:

Returns TRUE if the filename exists and is a directory, FALSE otherwise.

Peki, yine de bu denemek değilse:

if(file_exists($dir) && is_dir($dir))

BTW. Bu işlevlerin sonuçları istatistik önbelleğinde önbelleğe alınır. clearstatcache() bu önbelleği temizlemek için kullanın.

Muhtemelen is_dir sonra opendir() kullanmak isteyeceksiniz () yolu bir dizin (olabilir) kabul eder.

Kaynak opendir tarafından döndürülen () Eğer bir dizin var biliyorum ve zaten okumak için bir kolu var, geçerlidir.

Sadece bir geçerli tanıtıcı iade edilirse, () iki şekilde closedir aramak emin olun.

Edit:

Bu cevap size dizini iki şekilde açıyor olacağız varsayar. Eğer sadece) bir yol (/ aklı başında geçerli, File_exists olmasını sağlamak için gerekiyorsa çok daha ucuzdur.

Bu deneyebilirsiniz:

if(is_dir($dir) && is_writeable($dir))
{
    // ...
}
bool file_exists ( string $filename )

Bir dosya veya dizinin mevcut olup olmadığına bakar.

http://php.net/manual/en/function.file-exists.php