请注意,上传图片后文件仍在TMP文件夹中,当我使用echo命令时:
所以上传的图片没有扩展名?!这是“正常”的吗?还是缺少了一些Php GD配置?谢谢提前。
$_FILES['file']['tmp_name']
我举个例子:
/tmp/phpZnmIfT
所以上传的图片没有扩展名?!这是“正常”的吗?还是缺少了一些Php GD配置?谢谢提前。
PHP使用临时名称存储文件,这就是你看到的东西。毕竟,两个或更多人可能会上传相同的“file.doc”,如果PHP使用该名称将其存储在服务器上,则一个将覆盖另一个。
您可以使用$_FILE['file']['name']
检索原始客户端文件名。有关$_FILE数组结构的完整详细信息,请单击此处。
$logo = $request->file('companyLogo');
然后$logo->getClientOriginalName()
可以给你原始文件名,你也可以按以下方式检查原始扩展名和文件大小:
$logo->getClientOriginalExtension()
$logo->getSize()
$_FILES
数组的其余部分,您将获得原始上传名称以及已上传文件的MIME类型,您可以使用它来在上传后执行进一步的文件操作(例如使用move_uploaded_file()
移动/重命名文件,如前面的帖子所建议的)。是的,这很正常。文件类型(MIME类型)存储在$_FILES['userfile']['type']
中。