Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/file/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
File Yii2下载文件功能_File_Pdf_Download_Transactions_Yii2 - Fatal编程技术网

File Yii2下载文件功能

File Yii2下载文件功能,file,pdf,download,transactions,yii2,File,Pdf,Download,Transactions,Yii2,我需要从文件夹下载文件/上传,但我只是在调用操作时出现超时错误, 任何人都可以帮助我:( 如果下载时间太长,我认为有两种可能 您可以增加脚本的最大执行时间。这不是最好的解决方案,因为对于太大的文件,脚本仍然会超时,但这是最简单的解决方案(可能存在与您的问题无关的性能考虑因素)。为此: ini\u集('max\u execution\u time',5*60)//5分钟 您可以使用Apache的X-SendFile头(如果此模块仅在Apache中启用)让Apache处理文件的发送。有关详细信

我需要从文件夹下载文件/上传,但我只是在调用操作时出现超时错误, 任何人都可以帮助我:(


如果下载时间太长,我认为有两种可能

  • 您可以增加脚本的最大执行时间。这不是最好的解决方案,因为对于太大的文件,脚本仍然会超时,但这是最简单的解决方案(可能存在与您的问题无关的性能考虑因素)。为此:
ini\u集('max\u execution\u time',5*60)//5分钟

  • 您可以使用Apache的X-SendFile头(如果此模块仅在Apache中启用)让Apache处理文件的发送。有关详细信息,请参阅Yii2文档。请注意IEresponse->xSendFile($file)中的错误;
    }

    您想发送给客户端的文件的大小是多少?如何使用ini_集('max_execution_time',5*60);您必须在
    Yii:$app->response->sendFile('max_execution_time',5*60)
    之前使用
    ini_集('max_execution_time',5*60)
    (或者
    设置时间限制(5*60)
    以详尽无遗)给下载时间。文档和。
       public function actionDownload() {
       $path = Yii::getAlias('@webroot') . '/uploads';
    
       $file = $path . '/1.pdf';
    
       if (file_exists($file)) {
    
       Yii::$app->response->sendFile($file);
    
      } 
    }