Php dosya Upload / Dizin listeleme uygulamasi

İlgili Konular: Php

Yüklendigi dizine dosya upload etmenizi saglar , yüklenmis dosyalari listeler.Listpath gibi saldiri betiklerine karsi .php yüklenmesi engellenmistir.

<?php
$stil ="<style>
body, input,{
border: 1px solid silver;
color : 306090;
background-color:#ffffff;
font-family: verdana;
font-size: 8pt
}
BODY A:link {
COLOR: #444444; TEXT-DECORATION: underline
}
BODY A:visited {
COLOR: #444444; TEXT-DECORATION: underline
}
BODY A:active {
COLOR: #444444; TEXT-DECORATION: underline
}
BODY A:hover {
COLOR: #688ca3; TEXT-DECORATION: underline
}
</style>
<META http-equiv=Content-Type content=text/html; charset=windows-1254>
"
;
echo $stil;
//Server Degiskenleri
$adres2 = "http://".$_SERVER['HTTP_HOST'].dirname($_SERVER['PHP_SELF']);
if ( empty($upload_edelim)) {
//Diger dosyalari listeliyoruz..
//Upload edilmis dosyalari listeleme
$dizin_adi = "./";
$dosya_url = "./";
$dizin = opendir ($dizin_adi);
print ("<b><font color=red>Bu dizindeki Dosyalar:</font></b><br>\n");
while ( gettype ( $bilgi = readdir( $dizin ) ) != boolean ) {
if ( is_dir( "$dizin_adi/$bilgi" ) ){
continue;
}
print ("<A href=\"$dosya_url/$bilgi\">$bilgi</A> <br>\n");
}
closedir ($dizin);
?>
<br />
<div align=left>Dosya upload<form name="upload_yapalim" enctype="multipart/form-data" action="<?=$PHP_SELF?>" method="post">
<input type="file" name="dosyamiz">
<br />
<input type="submit" name="upload_edelim" value="Gönder">
</form></div><? } ?>
<?
//Baslik Bilgisi
$title="Upload";
 //Sayfa basligi (title bilgisi)
echo("<title>$title</title>");
//Boyut siniri ( En fazla kaç byte upload edilebilecek ?
$boyut_siniri = "750000";
if($upload_edelim == "Gönder") {
//Dosya Kontrolü ( Listpath & FSO script kodlarina karsi koruma )
if ( $dosyamiz_type == "text/plain" ) die("$stil <center>Özür dileriz..Ama <u>script</u> dosyalari yüklenemez.</center>") ;

if ( $dosyamiz_type == "application/x-httpd-php" )  die("$stil <center>Özür dileriz..Ama <u>script</u> dosyalari yüklenemez.</center>") ;

if ( $dosyamiz_type == "application/octet-stream" ) die("$stil <center>Özür dileriz..Ama <u>script</u> dosyalari yüklenemez.</center>") ;

//Dosya Boyutu Büyüklügü Kontrolü
if ( $dosyamiz_size > $boyut_siniri) die(" $stil; <center>Upload etmek istediginiz dosya çok <u>büyük</u>.</center>");
//Dosya Adini Kontrol Edelim
if ( $dosyamiz_name == "" ) die(" $stil; <center>Dosya <u>adi</u> yok !");
copy ( $dosyamiz, $dosyamiz_name ); //Upload
echo("$stil <center><i>Dosya basariyla upload edildi.</i><br>
<b>Adres : <a href='$adres2/$dosyamiz_name'>$dosyamiz_name</a> | Büyüklügü : $dosyamiz_size Byte. | Tip : $dosyamiz_type </center>"
);
//Bitti !
}
?>

Yeni yorum veya soru gönder

Bu alanın içeriği gizlenecek, genel görünümde yer almayacaktır.
  • Glossary terms will be automatically marked with links to their descriptions. If there are certain phrases or sections of text that should be excluded from glossary marking and linking, use the special markup, [no-glossary] ... [/no-glossary]. Additionally, these HTML elements will not be scanned: a, abbr, acronym, code, pre.
  • Eklediğiniz bağlantılara rel="nofollow" eklenerek, eklediklerinizin arama motorları tarafından bu site üzerinden indexlenmesi engellenir.

  • You may insert videos with [video:URL]

Biçimlendirme seçenekleri hakkında daha fazla bilgi


CAPTCHA
Bu soru sizin gerçek bir ziyaretçi olup olmadığınızı anlamak için sorulmaktadır..
CAPTCHA resmi
Resimdeki karakterleri giriniz.