2014-02-14 58 views
0

需要獲取上傳文件的尺寸,例如寬度,高度,尺寸等。我嘗試使用getimagesize(),但這不起作用。我得到一個錯誤,無法獲得上傳文件的尺寸在php

Warning: getimagesize(C:/wamp/www/KSHRC/uploads/): failed to open stream: No such file or directory in C:\wamp\www\KSHRC\registration\multi_fileupload.php on line 31 

Notice: Array to string conversion in C:\wamp\www\KSHRC\registration\multi_fileupload.php on line 31 

下面的代碼,

for($i=0; $i < count($_FILES['userfile']['tmp_name']);$i++) 
{ 
    $root = $_SERVER['DOCUMENT_ROOT']."/KSHRC/uploads/";  
    $filename = $_FILES['userfile']['name'][$i]; 
    echo $size = getimagesize($root.$filename); 
} 

請幫助我..

+0

我想你應該循環'$ _FILES ['userfile']'而不是$ _FILES ['userfile'] ['tmp_name']'。你可以發佈'var_dump($ _ FILES ['userfile'])'? – Rikesh

+0

'$ _FILES'將您的文件引入tmp文件夾。你必須首先在你想要的文件夾中移動它 – 2014-02-14 08:27:48

+0

但是當我回顯$ filename時,它會返回正確的文件名。 – coderaiseR

回答

0

,你必須將文件從tmp目錄移動到您的首先需要的文件夾,然後你可以通過使用你的功能獲得圖像尺寸getimagesize

for($i=0; $i < count($_FILES['userfile']['tmp_name']);$i++) 
{ 
    $root = $_SERVER['DOCUMENT_ROOT']."/KSHRC/uploads/";  
    $filename = $_FILES['userfile']['name'][$i]; 

    move_uploaded_file($_FILES['userfile']['tmp_name'], $root.$filename); 
    echo $size = getimagesize($root.$filename); 
} 

更新

您還可以通過$_FILES['userfile']['size']獲取文件大小篩選

$size = $_FILES['userfile']['size']; 

這將字節

更新2

$ARR_FILES = $_FILES['userfile']; 

for($i=0; $i < count($ARR_FILES);$i++) 
    { 
     $root = $_SERVER['DOCUMENT_ROOT']."/KSHRC/uploads/";  
     $filename = $ARR_FILES[$i]['name']; 
     $tmp_name = $ARR_FILES[$i]['tmp_name']; 
     list($width, $height, $type, $attr) = getimagesize($tmp_name); 
     echo $width; 
     echo $height; 
    } 
返回大小
+0

是否有一個類似的代碼來獲得圖像的寬度和高度for $ _FILES ['userfile'] ['size']; – coderaiseR

+0

不,它會以字節爲單位給出大小,你是否想要查找圖像的寬度和高度? – 2014-02-14 08:39:45

+0

user3300295:是的,需要找到寬度和高度 – coderaiseR