Dinamik bir klasörün içeriğini listelemek bir senaryo var mı?

5 Cevap php

Ben Wordpress benim şirketin intranet sitesi yeniden tasarlama yaşıyorum ve ihtiyaç duydukları şeylerden biri şirket notlar bir arşiv. Orada bir yerde kaydedilmiş 300 notlar ve ben (bir yerel (ağ) klasörüne ve dinamik bu klasörün içindekiler listesini otomatik oluşturmak içeriğini okuyacak çalıştırabilirsiniz bir jQuery komut olup olmadığını merak ediyorum ve o dosyaya bir köprü olarak bu isimleri oluşturmak, ama ben dosyaları listeleyebilirsiniz eğer, ben) köprü kendimi etiketlemek dahil alabilirsiniz.

Ben her zaman el (bunu yapmak için birkaç gün alacağını) köprülerin listesini oluşturabilirsiniz ama ben dinamik olarak oluşturabilir, yeni bir not ilave olduğunda, komut dosyası otomatik olarak korumak için site yapmak çok daha kolay bunu içerecektir.

Bu mümkünse mi?

Bu muhtemelen PHP yapılabilir olduğunu biliyorum, ama bu yapmanız gereken sayfa bir php sayfa değil, bir php dosya uzantısı yok ve koşamam wordpress oluşturulan alt sayfaları biridir php kodu (ben biliyorum)

Her türlü yardım için şimdiden teşekkür ederiz.

5 Cevap

Bunu yapmak için hızlı bir şekilde Apache'nin temel özelliklerinden birini kullanın ve böyle bir "Dizin" girdisinde "Endeksleri" anahtar kelime eklemeyi httpd.conf yapılandırma dosyası değiştirmek için:

<Directory /var/www/html/company/memo/folder>
   Options Indexes FollowSymLinks
</Directory>

Bu dosyaların bir dizin listeleme dosyaları herhangi oluşturulur bağlantıları ile gösterilen neden ve dosya izinleri dayalı erişim verecektir. Eğer değişiklik yapmak ve gitmek iyidir sonra web sunucusunu yeniden başlatın.

jQuery izleyicinin tarayıcısı üzerinde çalışacak ve bu nedenle herhangi bir dosya veya klasör veya ağ paylaşımları göremiyorum. Javascript dosya sistemi erişim izin verilmez. Sen sunucunun ucundan bunu yapmak gerekir, ve (PHP söylediğiniz gibi) genellikle dosya içinde demektir. Herhangi bir web sunucusu bunu yapabilirdi, sadece klasöre doğrudan bağlamayı deneyin ve Apache veya IIS bir indeks sayfası oluşturmak gerektiğini, wordpress kullanmak bile yok.

İşte bir örnek. Açıkçası açmak istediğiniz gidiyoruz dizinini değiştirmek ve yerine sonuçları uyaran, bir div veya sayfa veya ihtiyacınız ne olursa olsun doldurabilirsiniz.

<?php
if($_POST['list']){
    if($handle = opendir('.')){
        echo "Directory handle: $handle\n";
        echo "Files: \n";
        while(($file = readdir($handle))!=false)echo "$file\n";
    }
    closedir($handle);
    exit;
}
?>
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
    <head>
        <meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
        <script type="text/javascript" src="include/js/jQuery/jquery-1.4.1.min.js"></script>
        <script type="text/javascript">
            $(document).ready(function(){
                jQuery.post('test.php?', {list: 1}, function(response){
                    alert(response);
                    });
            });
        </script>
    </head>
    <body>
    </body>
</html>

Karl bunu yapmak için en iyi yolu, bir sunucu tarafı programlama dilinde, doğru.

Eğer hala JS bunu istiyorsanız Ancak, benim kadarıyla sadece IE'de çalışır ve bazı güvenlik sınırları aşmak zorunda kalacak, ActiveX kullanabilirsiniz.

CodeProject tutorial

Sen WP forumlarında daha iyi bir şans olabilir, ama Exec-PHP plugin ve PHP5 en arasındaki scandir, birlikte bir şeyler elde etmek mümkün olmalı. (Eğer PHP4 ile sıkışmış konum, özellikle eğer. Çok scandir sayfada kullanıcı yorumları kontrol)