我在Windows上使用XAMPP。通过打印$_FILES["file"]["tmp_name"]
,临时文件似乎保存在C:\ xampp \ tmp \ phpABCD.tmp中。但我无法在服务器的文件系统上看到它。但是,可以通过move_uploaded_file()
,rename()
或copy()
移动或复制文件。那么PHP在上传过程中实际上在哪里保存了临时文件?
答案 0 :(得分:32)
它将它保存在$_FILES["file"]["tmp_name"]
中指定的路径中,但在脚本执行完毕后将其删除。如果你想保留它,你可以将文件移到别处。
答案 1 :(得分:16)
在php.ini文件的upload_tmp_dir
中指定。系统在使用后会自动删除它。
答案 2 :(得分:7)
您可以通过打印
来查看php当前在哪里保存您的临时files $_FILES["file"]["tmp_name"]
sys_get_temp_dir()
答案 3 :(得分:3)
php将所有临时文件(包括上传的文件)存储在php.ini中指定的临时文件目录中。请注意,对于上传,一旦文件上传到的脚本被终止,这些文件就可能被删除(因此,除非您延迟该脚本,否则您可能无法看到上传的文件)。另一个原因可能是文件只是隐藏在文件系统上。
因此,如果您想查看该文件,您可能需要确保在资源管理器中查看所有隐藏文件,并在需要查找文件时延迟脚本。
答案 4 :(得分:3)
使用move_uploaded_file(file, path)
,指定文件以及存储文件的路径。
创建并存储该文件的副本。
答案 5 :(得分:2)
来自http://www.php.net/manual/en/features.file-upload.php#93602,“...上传的文件将继承upload_tmp_dir
指令php.ini
中指定的目录的权限。如果未设置此指令,则默认使用C:\ Windows \ Temp ......“
答案 6 :(得分:0)
请注意,该文件已在$_FILES["file"]["tmp_name"]
中保存为二进制文件,因此如果是图像或类似内容,您可以使用file_puts_contents
打开它。
答案 7 :(得分:-1)
如果您询问文件位置,则取决于服务器的设置。但是如果你问它是先保存在本地系统中还是先保存在服务器中。然后答案是保存在服务器的临时文件夹中。