Jquery, Ajax ve PHP ile dizin içeriğini okumak ve göstermek |
|||||||||
jQuery ile yapılabilecek diğer güzel bir uygulama da sunucudaki klasör içeriğinde gezinmek. Uygulamada
sunucu tarafındaki dosyaları ve klasör içeriklerini kullanıcı tarafında rahat bir şekilde görebileceğiz. Tüm bunları
yaparken Ajax, jQuery kütüphanesini ve PHP dilini kullanacağız.
Yapacağımız uygulamada temel olarak aşağıdaki fonksiyon ve yöntemleri kullanacağız:
İlk olarak XAMPP gibi sunucu paket programlarını kullarak kurmuş olduğunuz sunucunuzun htdocs klasöründe boş bir PHP sayfası yaratalım. GET motodla PHP sayfasına istediğimiz dizin ismini yollayacağız ve yolladığımız dizin ismine göre PHP bize dizin içeriğini JSON datası olarak yollayacak. JSON ile tanışmayanlar için basit bir örnek yapalım: PHP kodumuz: <?php // Datamızı ilk olarak dizi olarak hazırlıyoruz $JSON_olacak_dizimiz["kitaplar"]=array(); // daha sonra diziye dataları giriyoruz. array_push( $JSON_olacak_dizimiz["kitaplar"], "Da Vinci Sifresi","Mutluluk","Ferrari'sini Satan Bilge"); echo "JSON verisine çevrilecek dizimiz<pre>"; print_r($JSON_olacak_dizimiz); echo "</pre>"; // ve json_encode ile dizimizi <strong>JSON </strong> datasına çeviriyoruz. echo "<br />JSON verisine çevrilmiş hali: <br /><br />"; echo json_encode($JSON_olacak_dizimiz); ?> ![]() JSON ile biraz alıştırma yaptıktan sonra uygulamızın ilk kısmına geçelim. Dizin içeriğini okuyup JSON tipinde çıktı verecek PHP kodumuz (Sunucu tarafı)Uygulamanın özellikleri şöyle olacak:
JSON çıktısı üretecek directory.php kodumuz: <?php // Tüm dizin içeriğini içerecek dizi $dircontent=array(); // dizin bilgilerini içerecek dizi $dircontent["directories"]=array(); // dosya bilgilerini içerecek dizi $dircontent["files"]=array(); // çalışılan ortamdaki içeriği ifade edecek nokta (.) $dirname="."; // dir değişkenin set edilip edilmediğini kontrol et : ( 'directory.php?dir=dizinismi' gibi bir ifade var mı?) if (isset( $_GET['dir']) ) // varsa istemediğimiz karakterleri filtreleyip değişkeni al $dirname=preg_replace('#[^-a-zA-Z0-9_/]#' ,'',$_GET['dir']); // dizin içiriğini oku $dh= opendir($dirname) or die("couldn't open directory"); while( !($file = readdir($dh))=== false ) { // dizin olup olmadığını kontrol et if (is_dir("$dirname/$file")) { // '.' , '..' ifadelerini güvenlik açısından kaldırıyoruz. // İstemediğimiz içeriklerin görüntelenmesini istemeyiz. if ($file!='.' && $file!='..') // dizin ise 'directories' dizisine dizin isimlerini gir array_push($dircontent["directories"],$file ); } else // dosya ise 'files' dizisine dosya isimlerini gir array_push($dircontent["files"], $file ); } // açılan dizini kapat closedir($dh); //açılan dizinin adresini 'current_dir' ismiyle gir $dircontent["current_dir"]=$dirname; // Diziyi JSON verisine çevir ve tarayıcaya yolla echo json_encode($dircontent); ?> ![]() Şimdi de dir değişkeni koyarak 'directories' dizindeki 'data' ismindeki dizini parametre olarak yollayıp tekrat test edelim: ![]() PHP kodumuzun çalıştığını gördükten sonra kullanıcı tarafında çalışmaya başlayabiliriz. JSON çıktısını okuyup listeleyecek jQuery kodumuzu sayfaya ekleme kısmı (Kullanıcı tarafı)Buraya kadar anlattıklarımı uygulamanın temelde nasıl çalıştığını anlatmak için yazdım. Yazdığım jQuery kodu uzun olduğu için buraya yazmak yerine direk olarak nasıl kullancağımızı anlatacağım. Fakat her satırına yorum yaptığım için jQuery kodunu açıp yorumlardan inceleyebilirsiniz.Şimdi oluşturduğumuz html sayfasına ( dizinoku.htm) aşağıdaki satırları ekleyerek jQuery kütüphanesini, kodumuzu ve css dosyamızı sayfaya dahil edelim. <html> <head> <!-- jQuery kütüphanesini sayfaya dahil ediyoruz --> <script src="jquery-1.3.2.min.js"></script> <!-- dizin içeriğini alıp listeleyecek jQuery scriptimiz --> <script src="dizinListele.js"></script> <!-- dizinleri ve dosyaları daha iyi görmek için küçük iconlar ekliyoruz. --> <link type="text/css" rel="stylesheet" href="dizinIcons.css"/> </head> <body> <div id="dircontent"> </div> </body> </html> |
|||||||||
|
|||||||||
|
May 2013 (1)
July 2010 (1)
April 2010 (4)
March 2010 (1)
February 2010 (3)
December 2009 (2)
November 2009 (1)
October 2009 (4)
September 2009 (16)
August 2009 (21)
July 2009 (4)
July 2010 (1)
April 2010 (4)
March 2010 (1)
February 2010 (3)
December 2009 (2)
November 2009 (1)
October 2009 (4)
September 2009 (16)
August 2009 (21)
July 2009 (4)
PHP ile JSON verisi ya ..
FireFox User Agent Swi ..
ASP.NET ile MySQL iliş ..
Büyük boyutlu tablolar ..
PHP ve Jquery Ajax ile ..
Jquery ile Form ToolTi ..
SQL injection ve Korun ..
PHP ve Jquery ile Goog ..
ASP.NET ile Google son ..
Jquery ile dinamik tab ..
FireFox User Agent Swi ..
ASP.NET ile MySQL iliş ..
Büyük boyutlu tablolar ..
PHP ve Jquery Ajax ile ..
Jquery ile Form ToolTi ..
SQL injection ve Korun ..
PHP ve Jquery ile Goog ..
ASP.NET ile Google son ..
Jquery ile dinamik tab ..
Etiketler
| 3d-modelleme | 3d-oyun-programlama | Animasyon | Araba | Arama-yapmak | Asp.net | Binary-data | Çek-bırak | Fulltex-index | Gridview | İlişkisel-veritabanı | Java | Java-me | Javascript | Jquery | Linq | Linq-to-sql | M3g-api | Mobile | Mysql | Normal-formlar | Normalizasyon | Phone-chech-point | Rozet | Tasarım | Veritabanı | Veritabanı-işlemleri |arama
Loading
sosyal




