2016-08-16 14 views
0

ファイルのアップロード中に選択されたファイル数をカウントするためにphpのカウント関数を使用しています。カウントに応じていくつかの条件を適用したい。ファイルが選択されていない場合は、カウント値をチェックして1と表示し、1つのファイルを選択すると2つのファイルを選択した後に2を表示します。以下のコードを見つけてください。あなたがファイルを持っていない場合でも任意のsuggsetionsをありがとう..がカウント関数がデフォルト値1で表示されています

$form['upload_fieldset']['file'] = array(
    '#type' => 'file', 
    '#title' => 'Choose a File', 
    '#name' => 'files[]', 
    '#attributes' => array('multiple' => 'multiple'), 

); 
function xxx_submit_file_upload($form, &$form_state) { 
    $num_files = count($_FILES['files']['name']); 

echo '<pre>';print_r($num_files);exit;//Here I am getting count as 1. if no files were chosen also. 
+0

'数($ _ FILES [ 'ファイル'])'または単に '回数($ _ FILES)'や 'ますprint_r($ _ FILES)' – devpro

+0

uはそれをテストしましたか?してみてください? ? – devpro

+0

ちょうど今、count($ _ FILES ['file s'])をテストしました。これは正しい結果を与えます。私の知っているかもしれない私のコードの問題は何ですか? – Suraj

答えて

0

$_FILES['files']['name']''に設定されているので、ファイルがアップロードされている場合は、確認することができます。1.

としてカウントしたりせず、カウント:

$upload_error = $_FILES['files']['error'][0]; 

if ($upload_error === UPLOAD_ERR_NO_FILE) { 
    $num_files = 0; 
} else { 
    $num_files = count($_FILES['files']['name']); 
} 
1

以下のコードは私のために働いています。あなたはそれを試すことができます。

$num_files = 0; 
foreach ($_FILES['files']['name'] as $name) { 
    if (!empty($name)) 
     $num_files++; 
} 

if($num_files == 0){ 
    echo "No file selected"; 
}else{ 
    echo $num_files." files uploaded."; 
} 
関連する問題