اضافات آپلود فایلها

amirtala65

Member
سلام می یک کد آپلود توی سایتم قرار دادم میخوام 1) فایلهای بیش از 500 کیلو بایت را آپلود نکنه 2) نوع فیلهایش rar , zip ,pdf, doc باشه 3)میخوام اگه توی پوشه ای که فایلها ذخیره میشه دو تافایل هم اسم بودند هر دو سیو بشن با دو اسم مختلف
خیلی ممنون
 

Cussed

Member
سلام یک نمونه کد قرار میدم امیدوارم به دردت بخوره

PHP:
<?php
   // Configuration - Your Options
      $allowed_filetypes = array('.jpg','.gif','.bmp','.png'); // These will be the types of file that will pass the validation.
      $max_filesize = 524288; // Maximum filesize in BYTES (currently 0.5MB).
      $upload_path = './files/'; // The place the files will be uploaded to (currently a 'files' directory).
 
   $filename = $_FILES['userfile']['name']; // Get the name of the file (including file extension).
   $ext = substr($filename, strpos($filename,'.'), strlen($filename)-1); // Get the extension from the filename.
 
   // Check if the filetype is allowed, if not DIE and inform the user.
   if(!in_array($ext,$allowed_filetypes))
      die('The file you attempted to upload is not allowed.');
 
   // Now check the filesize, if it is too large then DIE and inform the user.
   if(filesize($_FILES['userfile']['tmp_name']) > $max_filesize)
      die('The file you attempted to upload is too large.');
 
   // Check if we can upload to the specified path, if not DIE and inform the user.
   if(!is_writable($upload_path))
      die('You cannot upload to the specified directory, please CHMOD it to 777.');
 
   // We'll start handling the upload in the next step
 
?>
 

Masoud1365

مدیر انجمن
سلام می یک کد آپلود توی سایتم قرار دادم میخوام 1) فایلهای بیش از 500 کیلو بایت را آپلود نکنه 2) نوع فیلهایش rar , zip ,pdf, doc باشه 3)میخوام اگه توی پوشه ای که فایلها ذخیره میشه دو تافایل هم اسم بودند هر دو سیو بشن با دو اسم مختلف
خیلی ممنون

بستگی به کد شما داره ! کلاسهای زیادی برای آپلود فایل هست یکیشو بگیرید و ببینید که داخلش چیکار کرده و روی کد خودتون اعمال کنید !
 

amirtala65

Member
کاربر محترم Cussed خیلی ممنون مورد یک و دو رو خوب فهمیدم میشه مورد سوم رو یه کم توضیح بدی این چی میکنه در واقع من یه فایل روی سایتم قرار دادم که مردم میان اونو آپلود میکننن پر کرده و دوباره اسکن کرده و میفرستن احتمالا اسم خیلی از اونا یکی بشه حالا این چی میکنه اگه یکی بود اجازه آپلود نمیده؟
من میخوام اجازه بده ولی یه اسم خودش روش بذاره تا هر دو سیو بشن
در ضمن من از این کد استفاده میکنم:
PHP:
$name=$_FILES['f1']['name'];
$x=$_FILES['f1']['tmp_name'];
@mkdir("./khadem");
$file="./khadem/".$name;  
copy($x,$file);
 

Cussed

Member
سلام خوب من هم کمی مبتدی هستیم و باید اساتید در این مورد نظر بدهند

ولی من اگر جای شما بودم نام فایل ها رو رندوم قرار میدادم

این function رو ببین

PHP:
  function random_string($counts){
  $str = "abcdefghijklmnopqrstuvwxyz";//Count 0-25
  for($i=0;$i<$counts;$i++){
  $output .= rand(0,9);
  $output .= $str[rand(0,25)];
  }
  return $output;
  }

  $rand = random_string(2);
حالا باید نام فایل رو با کمک rand$ تغییر بدی

نتیجه شما ذخیره شدن تصویر با نامی مثل 6sga.jpg هست و در صورت آپلود دباره همان فایل نام آن به صورت رندوم تغییر خواهد کرد

این کد هم ببین
$rand = random_string(2);

اگر 2 رو به 4 تغییر بدی نام فایل شما 8 رقمی میشه و میتونی بیشترش هم بکنی...

و یک کد دیگه هم هست که میتونی با این نام فایل ها رو به صورت Hash و Uniqe در بیاری
PHP:
$rand = md5(uniqid(rand()));
موفق باشی
 
آخرین ویرایش:

جدیدترین ارسال ها

بالا