Eger PHP den azda olsa anlıyorsanız asagıdaki kodlar size yardımcı olacaktır. Dosya yukleme scriptidir buda.
<?php
$site_name = $_SERVER['HTTP_HOST'];
$url_dir = "http://".$_SERVER['HTTP_HOST'].dirname($_SERVER['PHP_SELF']);
$url_this = "http://".$_SERVER['HTTP_HOST'].$_SERVER['PHP_SELF'];
$upload_dir = "files/";
$upload_url = $url_dir."/files/";
$message ="";
/************************************************************
* Yükleme Klasorunun Yaratılması
************************************************************/
if (!is_dir("files")) {
if (!mkdir($upload_dir))
die ("Upload Klasoru bulunamadı ");
if (!chmod($upload_dir,0755))
die ("CHMOD 755 yapılamadı.");
}
/************************************************************
* Kullanıcı İşlemlerinin Yapılması
************************************************************/
if ($_REQUEST[del]) {
$resource = fopen("log.txt","a");
fwrite($resource,date("Ymd h:i:s")."DELETE - $_SERVER[REMOTE_ADDR]"."$_REQUEST[del]\n");
fclose($resource);
if (strpos($_REQUEST[del],"/.")>0); //Saldırılara Karşı
else if (strpos($_REQUEST[del],"files/") === false); //Saldırılara Karşı
else if (substr($_REQUEST[del],0,6)=="files/") {
unlink($_REQUEST[del]);
print "<script>window.location.href='$url_this?message=deleted successfully'</script>";
}
}
else if ($_FILES['userfile']) {
$resource = fopen("log.txt","a");
fwrite($resource,date("Ymd h:i:s")."UPLOAD - $_SERVER[REMOTE_ADDR]"
.$_FILES['userfile']['name']." "
.$_FILES['userfile']['type']."\n");
fclose($resource);
$message = do_upload($upload_dir, $upload_url);
print "<script>window.location.href='$url_this?message=$message'</script>";
}
else if (!$_FILES['userfile']);
else
$message = "Geçersiz Dosya Tanımlaması";
/************************************************************
* Dosya Listesi
************************************************************/
$handle=opendir($upload_dir);
$dosya_listesi = "";
while ($file = readdir($handle)) {
if(!is_dir($file) && !is_link($file)) {
$dosya_listesi .= "<br><a href='$upload_dir$file'>".$file."</a>";
$dosya_listesi .= " <a href='?del=$upload_dir$file' title='delete'>x</a>";
}
}
function do_upload($upload_dir, $upload_url) {
$temp_name = $_FILES['userfile']['tmp_name'];
$file_name = $_FILES['userfile']['name'];
$file_name = str_replace("\\","",$file_name);
$file_name = str_replace("'","",$file_name);
$file_type = $_FILES['userfile']['type'];
$file_size = $_FILES['userfile']['size'];
$result = $_FILES['userfile']['error'];
$file_url = $upload_url.$file_name;
$file_path = $upload_dir.$file_name;
//Dosya Adı Kontrolu
if ( $file_name =="") {
$message = "Geçersiz Dosya Adı ";
return $message;
}
//Dosya Boyutu Kontrolu
else if ( $file_size > 2000000) {
// print $file_size;
// $message = "Yüklemek istediğiniz dosya 1MB dan büyük.";
// return $message;
}
//Dosya Uzantısı Kontrolu
else if ( strpos($file_name,".php") !== false
|| strpos($file_name,".cgi") !== false
|| strpos($file_name,".htm") !== false
|| strpos($file_name,".phtm") !== false )
return;
else if ( strpos($file_type,"image") !== false || $file_type == "application/msword");
else {
//$message = "Sadece resim yada ms-word dosyalarını yükleme izniniz var." ;
//$message .= "<br> .zip gibi diyer uzantılara izin serverınızdan izin verebilirsiniz " ;
//return $message;
}
$result = move_uploaded_file($temp_name, $file_path);
if (!chmod($file_path,0755))
$message = "CHMOD 755 yapılamadı.";
else
$message = ($result)?"$file_name Başarılı bir şekilde yüklendi." :
"Hata Oluştu";
return $message;
}
?>
<center>
<font color=red><?=$_REQUEST[message]?></font>
<br>
<form name="upload" id="upload" ENCTYPE="multipart/form-data" method="post">
Dosya Yükle <input type="file" id="userfile" name="userfile">
<input type="submit" name="upload" value="Upload">
</form>
<br>
<br><b>Dosyalar</b>
<hr width=70%>
<?=$dosya_listesi?>
</center>
<?
if ($_REQUEST[debug]==1) print "------------------Ayıklama Bilgileri----------------<br>";
if ($_REQUEST[debug]==1) print "site=$site_name<br>dir=$url_dir<br>url=$url_this<br>";
if ($_REQUEST[debug]==1) print "Yükleme dir=$upload_dir<br>Yükleme url=$upload_url<br>";
?>