注意:未知:在第 0 行未知的系统临时目录中创建的文件

Notice: Unknown: file created in the system's temporary directory in Unknown on line 0

提问人:Azima 提问时间:1/11/2018 最后编辑:Amit GuptaAzima 更新时间:7/4/2023 访问量:48950

问:

我只是使用 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"

这里怎么了??

任何帮助都非常感谢。谢谢。

php html 文件上传 fat-free框架

评论

0赞 xfra35 1/11/2018
您运行的是哪个版本的 PHP?
0赞 vnv 5/15/2021
在 php.ini 中检查sys_temp_dir。stackoverflow.com/questions/34741530/......

答:

16赞 Alex Howansky 1/11/2018 #1

这不是错误,这是通知。请参阅此请求。基本上,它只是告诉您它已经回退到系统的默认临时目录,而不是您提供的更具体的东西。您可以将其覆盖为更具体的内容(例如专门用于此应用程序的临时目录)或通过 禁用通知。我推荐前者。error_reporting()

评论

0赞 jlh 6/4/2021
具体来说,如果提供的目录不存在,则可能会发生这种情况。
7赞 Serdar D. 10/17/2019 #2

确保要保存内容的目录可写的

例如,在我的情况下,它是一个必须可写的 Concrete 5 目录。

评论

0赞 Silidrone 1/2/2021
对我来说,文件夹的权限是 776,直到我将它们更改为 777 才起作用。对我来说,PHP要求在目录上公开执行并不意味着,但我想它确实如此。还有:“它停止哭泣”,那个让我崩溃了哈哈。
2赞 jlh 6/4/2021
请不要使用权限 777。这是可怕的安全性。使目录归需要使用它的用户所有,并使用限制性权限。
7赞 ViliusL 3/5/2020 #3

如果你的路径是错误的,也会发生这种情况。php.iniupload_tmp_dir

P.S. 可能无法使用 禁用它。error_reporting()

1赞 Kunal Rajput 12/11/2021 #4

花了 3 小时后,我发现我不小心从我的 windows 10 env 变量中删除了 and,通过添加如下路径,我的问题得到了解决temptmp

enter image description here

3赞 hassanrazadev 2/21/2023 #5

如果有些人在Laravel中仍然面临同样的问题并在localhost上使用XAMPP,这就是我解决此问题的方法。

  • 打开并搜索php.iniupload_tmp_dir
  • 确保路径正确。
  • 如果路径类似于upload_tmp_dir = "\xampp\tmp"
  • 将路径更改为绝对路径,对我来说是这样upload_tmp_dir = "D:\xampp\tmp"

快乐编码:)

评论

0赞 Nazari 4/15/2023
谢谢,您的解决方案让人想一想,我的 PHP 目录中是否有临时目录,但我没有。
0赞 Nazari 4/15/2023 #6

就我而言,使临时目录解决了我的问题,通过LaravelLivewire进行记录,您将获得与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))

1赞 Prem MohanTyagi 7/4/2023 #7

提供对引导/缓存文件夹的写入权限 它将解决问题

评论

0赞 Community 7/5/2023
您的答案可以通过额外的支持信息得到改进。请编辑以添加更多详细信息,例如引文或文档,以便其他人可以确认您的答案是正确的。您可以在帮助中心找到有关如何写出好答案的更多信息。
0赞 Yogendra 7/7/2023
这并不能提供问题的答案。一旦你有足够的声誉,你就可以对任何帖子发表评论;相反,提供不需要提问者澄清的答案。- 从评论