Faal olarak çalışan Sitemizin Resim uploadından her dosya yüklenebiliyor. Ben sadece jpg ve gif yüklenebilmesini bunun haricindeki tüm uzantıların uploadda yasaklanmasını çalışmamasını istiyorum. Bunu ne kadar bir ücrete yaparsınız?
İlgilenen arkadaşlar tekliflerini pm atsınlar lütfen
Ücreti ile Php Upload koda kısıtlama getirilecek
4
●414
- 24-02-2010, 22:12:31Eger 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>"; ?>