我只是使用 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);
}
}
我正在使用 fat-free 框架。
发现上传的文件暂存在
upload_tmp_dir="C:\inetpub\temp"
.
这里有什么问题??
非常感谢任何帮助。谢谢。
这不是错误,这是通知。请参阅此请求。基本上,它只是告诉您它已退回到系统的默认临时目录,而不是您提供的更具体的内容。您可以将其覆盖为更具体的内容(例如专门针对此应用程序的临时目录)或通过
error_reporting()
禁用通知。我推荐前者。
确保您要保存内容的目录是可写的。
例如,在我的例子中,它是一个必须可写的 Concrete 5 目录。
如果您的
php.ini
有错误的upload_tmp_dir
路径,也会发生这种情况。
附注可能无法使用
error_reporting()
禁用它。
如果有些人在 Laravel 和在本地主机上使用 XAMPP 时仍然面临同样的问题,这就是我解决这个问题的方法。
php.ini
并搜索upload_tmp_dir
upload_tmp_dir = "\xampp\tmp"
upload_tmp_dir = "D:\xampp\tmp"
快乐编码:)
在我的例子中,创建临时目录解决了我的问题,通过 Laravel 和 Livewire 进行记录,您将得到 same message 与 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))
将起作用。