有我的Excel文件上传问题。代码在我的localhost中完美运行,但在真实服务器中却没有。 这是我的控制器代码:
class UploadController extends \yii\web\Controller
{
public function actionIndex()
{
$model = new UploadForm();
if (Yii::$app->request->isPost) {
$model->excelFile = UploadedFile::getInstance($model, 'excelFile');
if ($model->upload()) {
$query = Yii::$app->db->createCommand('SHOW TABLES FROM reporting')
->queryAll();
if ($query==null) {
$nodb="no";
return $this->render('index',['model' => $model,'nodb' => $nodb,]);
}else{
$this->redirect(URL_FOLDER.'backend/controllers/import.php?filename='.$model->excelFile.'&dbname='.DB_NAME);
}
}
}
return $this->render('index',['model' => $model,]);
}
}
这是我的模型代码:
class UploadForm extends Model
{
/**
* @var UploadedFile
*/
public $excelFile;
public function rules()
{
return [
[['excelFile'], 'file', 'skipOnEmpty' => false, 'extensions' => 'xls'],
];
}
public function upload()
{
if ($this->validate()) {
$this->excelFile->saveAs('uploads/' . $this->excelFile->baseName . '.' . $this->excelFile->extension);
return true;
} else {
return false;
}
}
}
我在重复的问题中尝试使用解决方案,但它没有帮助,并且无法在真实服务器中找到php.ini
答案 0 :(得分:2)
答案 1 :(得分:1)
我认为您在Web服务器上的文件夹没有写入权限。为您需要存储文件的文件夹授予写入权限。
此外,您可以使用php_ini中的设置来设置错误。
语法是
的ini_set("的display_errors""在&#34);
这将重新出现错误。我的编码实践说在最终部署之前使用
的ini_set("的display_errors""在&#34);看到所有的错误和一个完成的最终错误
部署ini_set(" display_errors"," Off");用于禁用错误显示。