2016-12-28 6 views
0

でmoveiploadfileするバリデーション(サイズとタイプ)を実装する方法:私は、コントローラ内のコードを次しているYiiの1

if(move_uploaded_file($_FILES[$key]['tmp_name'], $name)) { 
    echo 'Success'; 
} else { 
    echo 'fail'; 
} 

私はサイズと種類の点でファイルをアップロードするための制限を実装する必要があります。 サイズが2メガバイトを超えるファイルをアップロードできないようにし、PDFドキュメントのみをアップロードしてください。ユーザーがこれらの検証ルールを実行しないと、エラーメッセージが表示されます。どうしたらいいですか?

答えて

1

これを行う最も良い方法は、Yii検証ルールを使用することです。

  1. rule in the modelを追加します。
  2. ルールの設定をmaxSizetypesに設定します。コントローラ内の
  3. Handle the file upload
+0

ウィジェットを使用してファイルを取得しているため、このコードに検証を追加できません – phpdev

+0

カスタムウィジェットですか? – Bizley

+0

それは私のものではありませんが、私はそれをインターネットから取り出しました – phpdev

0

アップロードコードの前にこれを試してみてください:

$filename=$_FILES['file']['name']; 
//For size 
if($_FILES["Upload"]["size"]>20000000) //2 mb 
    { 
    echo "File size should be less than 2MB"; 
    } 
// for extention 
$ext = substr($filename, strpos($filename,'.'), strlen($filename)-1); 
if($ext=='pdf') 
{ 
echo "write the code to upload file"; 
} 
else 
{ 
echo "Only jpg or gif file is allowed"; 
} 

はそれが役に立てば幸い!

関連する問題