Parsi Coders
سورس کد اپلودر فایل (پی اچ پی) - نسخه قابل چاپ

+- Parsi Coders (http://parsicoders.com)
+-- انجمن: Web Development and Design (http://parsicoders.com/forumdisplay.php?fid=47)
+--- انجمن: PHP Forum (http://parsicoders.com/forumdisplay.php?fid=48)
+--- موضوع: سورس کد اپلودر فایل (پی اچ پی) (/showthread.php?tid=2440)



سورس کد اپلودر فایل (پی اچ پی) - Amin_Mansouri - 06-16-2012

کد:
Upload Files (Simple Code)<?php /*
---Description -
The Super Global Variable $_FILES is used in PHP 4.x.x.
$_FILES['upload']['size'] ==> Get the Size of the File in Bytes.
$_FILES['upload']['tmp_name'] ==> Returns the Temporary Name of the File.
$_FILES['upload']['name'] ==> Returns the Actual Name of the File.
$_FILES['upload']['type'] ==> Returns the Type of the File. So if I uploaded the file 'test.doc', the $_FILES['upload']['name']
would be 'phptut.doc' and $_FILES['upload']['type'] would be 'application/msword'.
--*/
//  $_FILES['filetoupload']  is the value of                            //
// file field from the form. <input type="file" name="filetoupload">    // // this is the upload dir where files will go.
//Don't remove the /
//Chmod it (777)
$upload_dir = "images/";   //change to whatever you want.              //51200 bytes = 50KB
$size_bytes = 51200; //File Size in bytes (change this value to fit your need) $extlimit = "yes"; //Do you want to limit the extensions of files uploaded (yes/no)
$limitedext = array(".gif",".jpg",".png",".jpeg"); //Extensions you want files uploaded limited to. also you can use:  //array(".gif",".jpg",".jpeg",".png",".txt",".nfo",".doc",".rtf",".htm",".dmg",".zip",".rar",".gz",".exe");           //check if the directory exists or not.
          if (!is_dir("$upload_dir")) {
         die ("The directory <b>($upload_dir)</b> doesn't exist");
          }
          //check if the directory is writable.
          if (!is_writeable("$upload_dir")){
             die ("The directory <b>($upload_dir)</b> is NOT writable, Please CHMOD (777)");
          }
          
  if($uploadform) // if you clicked the (Upload File) button. "If you submitted the form" then upload the file.
  {//begin of if($uploadform).
              //check if no file selected.
              if (!is_uploaded_file($_FILES['filetoupload']['tmp_name']))
              {
                     echo "Error: Please select a file to upload!. <br>»<a href=\"$_SERVER[PHP_SELF]\">back</a>";
                     exit(); //exit the script and don't do anything else.
              }               //Get the Size of the File
              $size = $_FILES['filetoupload']['size'];
              //Make sure that file size is correct
              if ($size > $size_bytes)
              {
                    $kb = $size_bytes / 1024;
                    echo "File Too Large. File must be <b>$kb</b> KB. <br>»<a href=\"$_SERVER[PHP_SELF]\">back</a>";
                    exit();
              }               //check file extension
              $ext = strrchr($_FILES['filetoupload'][name],'.');
              if (($extlimit == "yes") && (!in_array($ext,$limitedext))) {
                    echo("Wrong file extension. ");
                    exit();
              }               // $filename will hold the value of the file name submetted from the form.
              $filename =  $_FILES['filetoupload']['name'];
              // Check if file is Already EXISTS.
              if(file_exists($upload_dir.$filename)){
                    echo "Oops! The file named <b>$filename </b>already exists. <br>»<a href=\"$_SERVER[PHP_SELF]\">back</a>";
                    exit();
              }               //Move the File to the Directory of your choice
              //move_uploaded_file('filename','destination') Moves afile to a new location.
              if (move_uploaded_file($_FILES['filetoupload']['tmp_name'],$upload_dir.$filename)) {                   //tell the user that the file has been uploaded and make him alink.
                  echo "File (<a href=$upload_dir$filename>$filename</a>) uploaded! <br>»<a href=\"$_SERVER[PHP_SELF]\">back</a>";
                  exit();               }
                  // print error if there was a problem moving file.
                  else
              {
                  //Print error msg.
                  echo "There was a problem moving your file. <br>»<a href=\"$_SERVER[PHP_SELF]\">back</a>";
                  exit();
              }   }//end of if($uploadform). // If the form has not been submitted, display it!
else
  {//begin of else
  
      ?>
      <br>
      <h3>::Browse a File to Upload:</h3>
      <i>- Allowed Extensions:</i>         <b>
          <?
        // print the file extensions
        for($i=0;$i<count($limitedext);$i++)
    {
        if (($i<>count($limitedext)-1))$commas=", ";else $commas="";
        list($key,$value)=each($limitedext);
        echo $value.$commas;
    }
    ?>
    </b>
    
      <br>
      <i>- Max File Size</i> = <b><?echo $size_bytes / 1024; ?> KB </b>
      <br>
      <form method="post" enctype="multipart/form-data" action="<?php echo $PHP_SELF ?>">
      <br>
      <input type="file" name="filetoupload"><br>
      <input type="hidden" name="MAX_FILE_SIZE" value="<?echo $size_bytes; ?>">
      <br>
      <input type="Submit" name="uploadform" value="Upload File">
      </form>       <?
  
  }//end of else
//   Here is the most interesting part.
//    it views the directory contents.....i'll disscuss next version. (ver 2.0)
echo "<br><br><hr><br><b>Current Uploaded Files:</b><br>";
?>
<table border="1" bordercolor="#C0C0C0" cellspacing="1">
    <tr>
        <td bgcolor="#F4F4F4">File Name</td>
        <td bgcolor="#F4F4F4">File Size</td>
    </tr> <? $rep=opendir($upload_dir);
while ($file = readdir($rep)) {
    if($file != '..' && $file !='.' && $file !=''){
        if (!is_dir($file)){                         // print the file name and then make a link.
                        echo "<tr><td> <a href=\"$upload_dir$file\" target=_blank>
                        <img src=$upload_dir$file border=0 width=100>
                        </a>
                        </td>";
                        
                        #------------begin of file size.
                        //print the file size.
                        $file_size = filesize($upload_dir."".$file);                 if ($file_size >= 1048576)
                {
            $show_filesize = number_format(($file_size / 1048576),2) . " MB";
                }
                elseif ($file_size >= 1024)
                {
            $show_filesize = number_format(($file_size / 1024),2) . " KB";
                }
                elseif ($file_size >= 0)
                {
            $show_filesize = $file_size . " bytes";
                }
                else
                {
            $show_filesize = "0 bytes";
                }                 echo "<td> $show_filesize </td></tr>";
                        #------------end of file size.                 }
    }
}
closedir($rep);
clearstatcache(); ?>
</table>