PHP İle Dosya ve Klasör Listeleme

PHP İle Dosya ve Klasör Listeleme

  • 9,594 Kez Okundu
  • PHP & MySQL
  • 11 Yorum
  • 2016-04-13 08:01:57

Bazen öyle bir an gelir ki bir dizinin içindeki klasör ve dosyaları listelemeniz veya okumanız gerekir, işte böyle durumlar için kullanabileceğiniz bir fonksiyonu sizlerle paylaşıyorum umarım faydalı olur :)

Fonksiyonumuz oldukça basit , içerisinde istemediğimiz dosyaları / klasörleri listelenmesini engelleyebilirsiniz. Dizin linkinide eklemiş olduk rahatça ulaşabilirsiniz.

function dizin_listele($dizin)
{
    if(is_dir($dizin))
    {
        if($durum = opendir($dizin))
        {
			$say=0;
            while(($dosya = readdir($durum)) !== false)
            {
                if(
				$dosya != "." && 
				$dosya != ".." && 
				$dosya != "Thumbs.db" && 
				$dosya != "admin.php" &&
				$dosya != "include" 
				// Buraya listelenmesini istemediğiniz dosya veya klasörün ismini girebilirsiniz
				)
                {
					$say++;
                    echo '<a target="_blank" href="'.$dizin.$dosya.'">'.$dosya.'</a><br>'."\n";
                }
				
            }
			echo '<br />Toplamda '.$say.' adet dosya/klasör gösterilmiştir';
            closedir($durum);
        }
    }
}
 
    dizin_listele("xtbadmin/"); 
	// Listelenecek olan klasörün yolunu belirtelim.

İyi günlerde kullanabilmeniz dileğiyle.

 Sağlıcakla Kalın...

Ali Yaman
@Ali Yaman demiş ki ;

Eline sağlık :)

admin
@admin demiş ki ;

Teşekkür Ederim :-)

ali
@ali demiş ki ;

bu güzel makale için teşekkürler. birde bunun hem yükleme hemde listeleme yapanını koyarsanız daha eftal olacaktır. 

admin
@admin demiş ki ;

@ali bahsettiğiniz olay basit aslında, lakin uğraşacak vakit bulamıyorum. Takıldığınız yerlerde yardımcı olmaya çalışabilirim yine 

Nejdet Acar
@Nejdet Acar demiş ki ;

Bulunduğu klasörün altındaki klasörleri göstermesini nasıl engelleriz.

Buraya listelenmesini istemediğiniz dosya veya klasörün ismini girebilirsiniz kısmında bazı dosyaları engelleyebiliyorum ama listelenecek klasörün altındaki klasör isimlerinin görünmesini nasıl engellerim. Bir öneriniz var mı?

admin
@admin demiş ki ;

@Necdet bey listelenmesini istemediğiniz alt dizinler için yukarıda yeri belirtilmiş alana 

$dosya != "anadizin/altdizin" &&

$dosya != "anadizin/altdizin/altdizin1"

şeklinde belirtirseniz sanırım sorununuz çözülmüş olabilir.

husnu yalin
@husnu yalin demiş ki ;

merhaba,

her klasör için ayrı yol yazmaya gerek kalmadan en son satırdaki klasör adresi yerine mevcut klasörü listelemek mümkün müdür?

 

teşekkrüler

 

 

admin
@admin demiş ki ;

@husnu Her klasör için yol belirtmeye gerek olmadanda istediğinizi yapabilirsiniz, küçük bir kaç düzeltme işinizi görecektir.

ömer
@ömer demiş ki ;

Merhaba,

Sormak istediğim birşey var. GET ile url'den gelen verinin ilgili klasörde olup olmadığını nasıl anlarız ? Örneğin dosyalar isminde bir klasörüm var ve ana dizinde bulunan ara.php?id=ornek.jpg şeklinde GET istediği göndereceğim. Bunun sonucunda dosyanın olup olmadığını nasıl ekrana yazdırabilirim ?

admin
@admin demiş ki ;

@Ömer bey, bahsettiğiniz konu için is_file() fonksiyonunu kullanabilirsiniz.

Örnek verecek olursak:

is_file('resimler/ornek.jpg'){
echo 'dosya var';
}else{
echo 'dosya yok';
}

 

Necati Şaşar
@Necati Şaşar demiş ki ;

Selamlar. Peki bu fonksiyonda en son eklenen dosyayı en üstte nasıl göstericez? Bu haliyle ilk ekleneni en üstte gösteriyor.

YORUM YAPMAK İSTER MİSİN?

    Sponsor Reklamlar
    Son Yorumlar
    Etiket Bulutu
    C#PopupFormOtomatikProgramBaşlatmaBaşlangıçBasitEkran Koruyucuc#ekran görüntüsümail göndermeexedllbirleştirmekIL MergePhpMSSQL BAĞLANTIGerçekIPRealTextBinaryConvertÇalışmaSüreHesaplamakBulmakCssjQueryHtmlScroll TopYukarı ÇıkOnMinimizeControlBoxSimge DurumunaKüçültInternetGetConnectedStateİnternetBağlantıKontrolŞifre MatikPassword GeneratorHash ŞifrelemeMD5SHA1SHA256SHA384SHA512Asimetrik ŞifrelemeRSASimetrik ŞifrelemeKriptoŞifrelemeAlgoritmaDESRC2RijndaelTripleDESKeyLogKlavye DinleTuş YakalamaGlobal HookDialogResultÇıkış MesajıUyarı MesajıFormClosingMySQLConnector/NetKullanımSoruCheckBoxListViewÇoklu SilmebiosdramexploitkontrolgüvenlikinteljavascriptrowhammerscriptPHPAdmin PanelResponsiveXtbadminFreeÜcretsizWifiWirelessKeysŞifreAnahtarPasswordKablosuz AğDepolamaŞifreler NeredeKablosuz ŞifreAndroidTelefonNasılYazılırProgramlama DiliHesap MakinesiSEONedirNasıl YapılırAnalizGoogleLinkÖzgünMobilKonuResim Robots.txtSite MapŞifreli GirişŞifreli FormŞifre KoymaŞifreli AçılışCompilingDebuggingDerlemeKarma ModMixed ModeApp.ConfigKurbanBayramMübarek OlsunBlogScriptYonetimAdminPanelText EditorMSHTMLEditorYazıDüzenleyiciEasyAppKolayUygulamaÇalıştırmaAkıllı TelefonKlavyeiOSKeyboardEl YazısıCalculatorMyScriptHand WritingDosya YöneticisiFile ExplorerFTPBluetoothRootTask ManagerGörev YöneticisiSystemTargetWeb Application PentestErrorShowHideHataGösterGizlePDOSelectInsertUpdateDeleteConnectSeçimEklemeSilmeGüncellemeMsSQLVeritabanıÇeviriçiDatabaseConverterDbConvertMaskeli IPGerçek IPTarayıcı Tespitİşletim Sistemi TespitTekil Ziyaretçi BilgileriAktif Ziyaretçi BilgileriZiyaretçi SayacıVirüsTemizlemeFirewallServiceSecurityServiceTimeServicePentestGüvenliksızma TestiuniscanwindowslinuxperlDosyaKlasörListelemekFileFolderListInternetDownloadUploadSpeedMonitorServisMsconfigStartupRunServiceIOSMatematikDenklemÇözümKameraKablosuzinternetHotspotPaylaşımAyarlarKaliLinuxSharedTerminalÖsymDuyuruTimeTimeZoneDateZamanTarihdate()time()FreelancerSerbestÇalışanJobsİşlerWebSiteVersionSürümGeçişUbuntuSunucuApachephpinfo()phpversion()FonksiyonHerseyiKopyalacopyallcopySızma TestiSQLMapWindowsPython810HotSpotWi-FiWlannetshhostednetworkAutoWlanJsGeri SayımTextAreaOtomatik KayıtSayacSaniyeCountDownXtbadminV2AjaxJavaScriptNumaraFormatPhoneNumberFormatTelefonNumarasıDebuggerDetectUnpackerDisassemblerSecurityReverseEngineeringAlgorithmMacDKHOSCTFCapture The FlagForensicTriviaIntelligenceCRC32CRYPTPASSWORD_HASHWin10StoreMağazaMicrosoftReInstallWSLPowerShellPOSTCyberSiberAdli BilişimHackerUSBCDLiveToolsBruterNmapMSSQL ServerMS SQL ExpressMS AccessOracleIBM DB2SybaseInterbaseInformixExceldBase DbfVisual FoxProMySQLConnectionŞifreleri BulCMDLaZagneEthernetTuxCutNetCutNetKillPerformansCronTabCronJobRestartStopStartBashShellWireSharkFlagUSOMBTKBase64QRÇözümlerWriteUpWrite-UpFinalReconOSINTToolScannerWebsiteSiber GüvenlikPhishingVPNWannacryMobileDeviceFunctionMobil AlgılaMobil TespitisMobilephp mobilJavascriptYazı EfektKayan YazıText EffectsearchBoxinputclassplaceholdersetIntervalsetTimeoutJSpreventBackwindowpushStatehistoryonloadblock browser back buttonVPN Nediranonimtorucuz ürünucuzurunum.commarket kıyaslaürün kıyaslakıyaslakarşılaştıra101şokhappy centermigroscarrefoursabizim marketkıyasürün fiyatıfiyat kıyaslaucuz fiyatfiyat sorVideoEmbedPlayerVideoIDgetVideoIDIframeCreditCardCard DetectKart AlgılaKart TespitKredi Kartı TespitVisaMastercardAIOpenAIChatGPTYapay Zekaquickchatkrispbeatovencleanvoicepodcastleflairillustrokepatternedstockimgcopymonkeyocoyaunbouncevidyotrymaverickquickchatpuzzlelabssounddrawcleanupresumewordedlookatheresanaiforthatsynthesiadescriptotterinkforall