簡體   English   中英

如何限制php的上傳文件大小

[英]How to limit Upload file size php

我有以下php代碼,可讓用戶上傳圖片。 如何修改我的代碼,以使上傳的圖像大小受到限制(例如最大為20 k)。 這是我的代碼。

<?php
/// another code ///
if($_POST)
{   

    if(!isset($_FILES['mFile']))
    {
        //required variables are empty
        die("Please add a image");
    }

    if($_FILES['mFile']['error'])
    {
        //File upload error encountered
        die(upload_errors($_FILES['mFile']['error']));
    }

    $FileName           = strtolower($_FILES['mFile']['name']);
    $auto                           = mysql_real_escape_string($_POST['auto']);
    $FileType           = $_FILES['mFile']['type']; //file type
    $FileSize           = $_FILES['mFile']["size"]; //file size


            if(move_uploaded_file($_FILES['mFile']["tmp_name"], $UploadDirectory . $NewFileName ))
         {


        mysql_query("INSERT INTO posts (title, post, img_name) VALUES ('$FileTitle', '$postURL', '$NewFileName')");

        die('Thank you for your submission.');

   }else{
        die('There seems to be a problem. please try again.');
   }
}
/// another code ///
?>

像這樣設置

<?php
ini_set('post_max_size', '20K');
ini_set('upload_max_filesize', '20K'); 

有幾種方法可以實現此目的:

以編程方式:

ini_set('post_max_size', '20K');
ini_set('upload_max_filesize', '20K');

通過php.ini:

post_max_size = 20K
upload_max_filesize = 20K

通過.htaccess:

php_value upload_max_filesize 20K
php_value post_max_size 20K

這是上傳的圖片大小的使用限制的個人樣本,請更改表格和var

$picture = $_FILES['pic']['name'];
$picsize = $_FILES['pic']['size'];
$pictype = $_FILES['pic']['type'];

if(!empty($picture)){
        if(($pictype == 'image/gif') || ($pictype == 'image/jpeg') || ($pictype == 'image/pjpeg') || ($pictype == 'image/png') && ($picsize > 0) && ($picsize <= 30000 )){
            if($_FILES['pic']['error'] == 0)
                {
                $target = UPLOADPATH . $user_name;
                echo $target;
                if(move_uploaded_file($_FILES['pic']['tmp_name'], $target))
                {
                    $query2 = "UPDATE users SET profile_image = '{$user_name}' WHERE user_name = '{$user_name}'";
                    $result2 = mysql_query($query2);
                }
                }
            else{
                echo 'upload failed';
            }


        }
        elseif(($pictype != 'image/gif') && ($pictype != 'image/jpeg') && ($pictype != 'image/pjpeg') && ($pictype != 'image/png')){
            echo 'incorrect file type';
        }
        elseif(($picsize <= 0) || ($picsize > 30000 ))
        {
            echo 'incorrect file size';
        }

在php.ini中有一個可以限制它的設置。 一些ppl為此目的使用了隱藏字段,但我不喜歡它。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM