fileinfo PHP扩展未安装在真实服务器中

时间:2016-04-30 23:06:03

标签: php file-upload yii2

有我的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

2 个答案:

答案 0 :(得分:2)

我的解决方案是: 在cPanel的主页上转到:logiciel =>选择PHP版本 以及您的扩展名diplay列表,您可以选择您需要的内容: enter image description here

答案 1 :(得分:1)

我认为您在Web服务器上的文件夹没有写入权限。为您需要存储文件的文件夹授予写入权限。

此外,您可以使用php_ini中的设置来设置错误。

语法是

的ini_set("的display_errors""在&#34);

这将重新出现错误。我的编码实践说在最终部署之前使用

的ini_set("的display_errors""在&#34);看到所有的错误和一个完成的最终错误

部署ini_set(" display_errors"," Off");用于禁用错误显示。