2016-09-22 128 views
0

我正在使用php上传文件到数据库。我可以知道为什么我上传时没有获得足够的尺寸?当我print_r($_FILES)的大小使其返回:PHP - 检查文件上传大小

Array 
(
    [uploaded] => Array 
     (
      [name] => Array 
       (
        [0] => f2-CP-2016.pdf 
        [1] => 
        [2] => 
       ) 

    [size] => Array 
       (
        [0] => 0 
        [1] => 0 
        [2] => 0 
       ) 

我有上传文件,但大小还是返回0。我想打一个确认为size > 3MB它会返回一个错误。下面是我的代码:

for($i=0; $i < count($_FILES['uploaded']['name']); $i++){ 
    $array = array($_FILES['uploaded']['name']); 
    $tmpFilePath = $_FILES['uploaded']['tmp_name'][$i]; 
    $filesize_upload = $_FILES['uploaded']['size'][$i]; 

    if($filesize_upload > 3145728){ 
     die('File is BIG'); 
    } else { 
     //proceed to upload 
    } 

} 

Update with error:

这是我收到

[error] => Array 
      (
       [0] => 1 
       [1] => 4 
       [2] => 4 
      ) 
+0

'回声文件大小($ tmpFilePath);' – CatalinB

+0

实际上是有文件?否:服务器可能阻止了上传。是任何机会的文件大小0字节?不:可能它太大了?一些更多的信息将是精彩的。 – Jakumi

+0

$ _FILES ['uploaded'] ['error']的错误代码是!= 0? – CatalinB

回答

1

检查上传的数组中的错误索引...你可能有定义错误性质的代码错误。

Read the Error messages

+0

感谢您的信息。目前不在我的电脑前。稍后再提供更新 – Amran