提问人:Azima 提问时间:1/11/2018 最后编辑:Amit GuptaAzima 更新时间:7/4/2023 访问量:48950
注意:未知:在第 0 行未知的系统临时目录中创建的文件
Notice: Unknown: file created in the system's temporary directory in Unknown on line 0
问:
我只是使用 html 表单上传文件。
但是我得到以下错误:
注意:未知:在系统临时目录中创建的文件 第 0 行未知
这是我的 HTML:
<form name="import" method="post" action="CSVUpload" enctype="multipart/form-data">
<input type="file" name="file" /><br />
<input type="submit" name="submit" value="Submit" />
</form>
路线如下:
$f3->route('POST|PUT @CSVUpload: /CSVUpload', 'GBD\Internals\Controllers\LeaveController->csvHandler');
$f3->route('GET /CSVUpload', 'GBD\Internals\Controllers\LeaveController->csv');
这是我的控制器:
public function csv()
{
$this->f3->set('content', 'leave/csvUploader.php');
$template = new \View;
echo $template->render('dashboard/layout.php');
}
public function csvHandler()
{
$postvalue = $this->f3->get('POST.submit');
if(isset($postvalue))
{
$fileReceived = $this->f3->get('POST.file');
var_dump($fileReceived);
}
}
我正在使用无脂肪框架。
我发现上传的文件暂时存储在 .upload_tmp_dir="C:\inetpub\temp"
这里怎么了??
任何帮助都非常感谢。谢谢。
答:
这不是错误,这是通知。请参阅此请求。基本上,它只是告诉您它已经回退到系统的默认临时目录,而不是您提供的更具体的东西。您可以将其覆盖为更具体的内容(例如专门用于此应用程序的临时目录)或通过 禁用通知。我推荐前者。error_reporting()
评论
确保要保存内容的目录是可写的。
例如,在我的情况下,它是一个必须可写的 Concrete 5 目录。
评论
如果你的路径是错误的,也会发生这种情况。php.ini
upload_tmp_dir
P.S. 可能无法使用 禁用它。error_reporting()
花了 3 小时后,我发现我不小心从我的 windows 10 env 变量中删除了 and,通过添加如下路径,我的问题得到了解决temp
tmp
如果有些人在Laravel中仍然面临同样的问题并在localhost上使用XAMPP,这就是我解决此问题的方法。
- 打开并搜索
php.ini
upload_tmp_dir
- 确保路径正确。
- 如果路径类似于
upload_tmp_dir = "\xampp\tmp"
- 将路径更改为绝对路径,对我来说是这样
upload_tmp_dir = "D:\xampp\tmp"
快乐编码:)
评论
就我而言,使临时目录解决了我的问题,通过Laravel和Livewire进行记录,您将获得与XHR请求相同的消息响应。
打开您的文件并设置路径并创建该目录PHP.ini
upload_tmp_dir="C:\php\php-8.1.4\tmp"
注意:Livewire不会使用该目录,但PHP的源问题将得到解决,Livewire将正常工作。let paths = retrievePaths(request.response && JSON.parse(request.response))
提供对引导/缓存文件夹的写入权限 它将解决问题
评论