如何从输入类型打印选定的照片名称

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何从输入类型打印选定的照片名称相关的知识,希望对你有一定的参考价值。

任何人都可以告诉我,我如何打印照片名称?照片将从输入type=file中选择。

这是我到目前为止所尝试的:

$photo = $_FILES['photo']['tmp_name'];
//$photo_name = basename($photo);
echo $photo;

此代码不显示实际文件名。它打印像这样(php3515.tmp);

答案

打印文件name而不是tmpname

试试这个:

echo $_FILES['photo']['name'];
另一答案

你的案例中的php3515.tmp是PHP生成的临时文件。您必须使用move_uploaded_file()函数将此文件移动到所需位置,该函数将$_FILES['photo']['tmp_name']作为第一个参数,将path和new filename作为第二个参数。

以下是来自PHP manual的示例:

$uploaddir = '/var/www/uploads/';
$uploadfile = $uploaddir . basename($_FILES['userfile']['name']);

echo '<pre>';
if (move_uploaded_file($_FILES['userfile']['tmp_name'], $uploadfile)) {
    echo "File is valid, and was successfully uploaded.
";
} else {
    echo "Possible file upload attack!
";
}

echo 'Here is some more debugging info:';
print_r($_FILES);

print "</pre>";

请注意此示例中的$_FILES['userfile']['name'],其中包含原始文件名。

另一答案

你需要知道,you have 5 parameters中的$_FILES['userfile']

  • name - 上传文件的原始名称
  • tmp_name - 系统在磁盘上物理写入的系统名称
  • 大小 - 文件大小
  • 错误 - 错误代码 - 0表示没问题
  • type - 已保存文件的类型

如果您想要原始名称,要显示,只需使用:

$_FILES['userfile']['name']

您还具有move_uploaded_file()功能,可以将文件从临时位置安全地移动到您自己的位置。另一种方式,在PHP过程结束后,您上传的文件将被删除。

$path = __DIR__  . '/upload/' . basename($_FILES['userfile']['name']);
$result = move_uploaded_file($_FILES['userfile']['tmp_name'], $path);

$result告诉你,系统是否正确保存在给定位置的文件。

以上是关于如何从输入类型打印选定的照片名称的主要内容,如果未能解决你的问题,请参考以下文章

如何从 UISegmentedControl 的选定段呈现 UIPopover

如何从打印结果中删除数据类型名称

使用 AFNetworking 和 PHP 从照片库上传选定的图像

如何在 .NET 中获取打印机信息?

如何从 R Shiny 的选择菜单中拆分选定的列?

如何在 Swift 的另一个 ViewController 中打印选定的单元格数据?