Jetons d'abord un coup d'oeil au code :
Regardons d'abord la partie View :
<form action="<?= Url::to(['default/datafile']) ?>" method="post" enctype="multipart/form-data"> <label for="file">Filename:</label> <input type="file" name="myFile" id="file" /> <br /> <input type="submit" name="submit" value="Submit" /> </form>
L'action ci-dessus est construite à l'aide de la classe d'assistance de YII L'URL qui peut être reconnue en interne est actionDatafile()
dans DeaufaultController.php (tutoriel recommandé : yii framework)
public function actionDatafile(){ if(empty($_FILES)){ $status = 1; $info = '没有文件上传'; } if($_FILES['myFile']['error'] === 0 || $_FILES['myFile']['error'] === '0' ){ //文件上传成功 $tmp = pathinfo($_FILES['myFile']['name']); $new_fname = $tmp['filename'].'_'.rand(1000000,9999999).'.'.$tmp['extension']; echo $new_fname; if(!move_uploaded_file($_FILES['myFile']['tmp_name'], '../runtime/file/'.$new_fname)){ $status = 1; $info = '上传(移动)失败'; }else{ $status = 0; $info = '上传成功'; } } else { //文件上传失败 $info = '文件上传失败'; switch($_FILES['myFile']['error']){ case 1: $info = '上传文件超过php.ini中upload_max_filesize配置参数'; break; case 2: $info = '上传文件超过表单MAX_FILE_SIZE选项指定的值'; break; case 3: $info = '文件只有部份被上传'; break; case 4: $info = '没有文件被上传'; break; case 5: $info = '上传文件大小为0'; break; } $status = 1; } return $info; }
trouvé après exécution
Solution :
1. Vérifiez la configuration (php.ini)
file_uploads, upload_max_filesize, post_max_size, upload_tmp_dir ont été définis.
2. Vérifiez les paramètres
et recherchez crsf dans le paramètre. Ce paramètre est inclus dans la vérification du framework yii. En ce qui concerne la vérification, c'est similaire au message d'erreur. code de vérification d'annulation, comme suit :
public function beforeAction($action) { if ($action->id == 'datafile') { $this->enableCsrfValidation = false; } return parent::beforeAction($action); }
Pour plus de contenu lié à la programmation, veuillez faire attention à la colonne Introduction à la programmation sur le site Web php chinois !
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!