سلام
من می خوام با php یه آپلودر درست کنم که جی کوئری هم باشه یعنی میزان فایل آپلود شده رو به درصد نشون بده.
همچنین بشه تموم فرمت ها رو با خیال راحت اپلود کرد از جمله php و net و css . js و ....
چه راهی به ذهنتون میرسه؟
آیا اسکریپت امنی داریم در این زمینه که بهم معرفی کنید؟
آیا استفاده از تیکه کد
$imageFileType = strtolower(pathinfo($target_file,PATHINFO_EXTENSION));
و
$_FILES["file"]["type"]
برای امنیت بخشی به آپلودر کفایت میکنه؟ با این که میخوام اجازه آپلود فایل php هم بدم.
آیا توی فایل htaccess باید تغییراتی ایجاد کنم؟
یه نمونه کد گذاشتم که کمک میکنه ، توش حجم فایل و پسوند ها رو به دلخواه خودت میتونی تغییر بدی
همچنین از آپلود فایل با پسوند exe و لینک بودن جلوگیری شده
کد رو میتونی به دلخواه خودت refactor کنی
<?php
$file = $_FILES;
if($file["error"] == 0) {
$fileName = $file["name"];
$fileType = $file["type"];
$fileTmp = $file["tmp_name"];
$fileError = $file["error"];
$fileSize = $file["size"];
$uploadOk = 1;
$targetMain = ""; // masire delkhah
$newName = "picture";
$allowedTypes = ["image/jpg", "image/jpeg", "image/png", "image/bmp"];
// pasvand hayi ro ke mikhay upload she tayin ***
// be onvane mesal 3ta nemoone gozashtam
if (!is_executable($fileName) AND !is_link($fileName)){
if(!in_array($fileType, $allowedTypes)) {
$uploadOk = 0;
}
if($fileSize > 5242880) { // size delkhah ro bar hasbe byte moshakhas ***
$uploadOk = 0;
}
if($uploadOk == 1) {
$ext = pathinfo($fileName, PATHINFO_EXTENSION);
$target = $targetMain.$newName.".".$ext;
move_uploaded_file($fileTmp, $target);
}
clearstatcache(true);
}
}
?>
@bamdad
ممنونم.
این کد برای اجازه آپلود فایل php امن هست؟
منظورم اینه که در قسمت
$allowedTypes
به فایل php هم اجازه اپلود بدیم.
ببین تو فایل php ممکنه یکسری کد نوشته شده باشه که برنامه رو دچار مشکل کنه ، مثلا ممکنه یه اسکریپت بنویسه هزار تا کار بکنه ،
بنابراین توصیه نمیشه ، در کل هر فایلی بخای میتونی آپلود کنی در صورتی که پسوندشو اضافه کنی
آیا مایل به ارسال نوتیفیکیشن و اخبار از طرف راکت هستید ؟