PHP Dizin işleme

2 Cevap http

Benim proje dosyaları klasöründe uzak sunucuda bulunur. Ben bu şekilde bu klasördeki bir dosyaya erişmek:

http://www.example.com/searchtest.html

Bu kullanıcı tipleri anahtar kelimelerle arama Girdi Box ile bir sayfa açılır. Arama komut kök kendisi bulunan bir. Php dosyasıdır. Komut girilen anahtar kelimelere benzer adla. Html dosyaları aramak için vardır. Bu. Html dosyaları da tüm. Php dosyalarının bulunduğu aynı kök klasöründe bulunur.

Benim uygulama Ben yerel makinede çalışırken iyi çalışan ve iyi arama yapabiliyor, ama benim sitede barındırılan zaman, bu hata verir:

Warning: file_get_contents(//.rnd) [function.file-get-contents]: failed to open stream: Permission denied in /home/myServer/public_html/example/search1.php on line 40 .rnd

O benim dizindeki dosyalara erişmek için çalışıyorum bir satırda hata veriyor. Aşağıda benim kod parçacığını. Ve evet, ben yönetici ve ben sitemde tüm ayrıcalıklara sahip.

$matchingFiles = array();
$dirName = "\\";
$dh = opendir($dirName);
while(  ($file = readdir($dh))  !== false)
{
        $fullPath = $dirName . "/" . $file;
        if(is_dir($fullPath)) continue; // Skip directories

        similar_text($lcSearch,strtolower($file),$percentSimilar);
        if($percentSimilar >= $percentMatch)
        {
                $matchingFiles[] = $fullPath;
        }
}

Bu "opendir" fonksiyonu muhtemelen hata verir.

Ben de $dirName doğru yolu veya değil tutan olup olmadığını bilmek istiyorum. Bu doğru komut çalıştırıldığı yerden aynı yolu tutmak gerekir.

2 Cevap

Eğer bir kamu gönderme sunucu ayrıntı ihmal $ dirName atamasını değişmedi varsayarsak, arama yoluna o ayar olmalı. Lütfen kullanımı oldukça statik olduğundan, ben örneğin, açmak için dizinin tam yolunu kullanarak öneririm

$dirName = '/home/myServer/public_html';

Ve tabii ki arayacak tüm dosyalar için izinleri sunucu olarak çalışan kullanıcı ile uyumlu olduğundan emin olun.

Eğer alıyorsanız uyarı file_get_contents fonksiyonu için, ama ben senin kod parçasında görmüyorum. Search1.php hattı 40 nedir?