PHP $ _FILES ['file'] ['tmp_name']:如何保留文件名和扩展名?

Jas*_*ero 23 php

我正在尝试从表单上传doc文件并将其发送到电子邮件.我在用

$_FILES['file']['tmp_name'];
Run Code Online (Sandbox Code Playgroud)

问题是,它返回一个随机生成的文件名.因此,当它到达收件箱时,文件名为phpvwRGKN.dat(文件名每次都是随机的).

如何保留文件名和扩展名?

注意:我正在使用geekMail类

Ala*_*nse 53

$_FILES['file']['tmp_name'];将包含服务器上文件的临时文件名.在您处理文件之前,这只是服务器上的占位符

$_FILES['file']['name']; 包含用户计算机上传文件的原始名称.

  • 谢谢你的解释!无法在网络上的任何位置找到该信息 (2认同)

Gab*_*aru 10

$_FILES["file"]["name"] - the name of the uploaded file

来自http://www.w3schools.com/php/php_file_upload.asp

  • w3schools ... yikes (5认同)
  • 大多数邮件库都有两个用于附件的文件名.一个是服务器上文件的名称/位置,另一个是您希望用户看到它的名称.在您的情况下,名称/位置是`tmp_name`,最终用户文件名是`name`. (2认同)

小智 5

$_FILES["file"]["tmp_name"]包含服务器上文件内容的实际副本,同时
$_FILES["file"]["name"]包含从客户端计算机上载的文件的名称.