任何人都可以告诉我,我如何打印照片名称?照片将从输入type=file
中选择。
这是我到目前为止所尝试的内容:
$photo = $_FILES['photo']['tmp_name'];
//$photo_name = basename($photo);
echo $photo;
此代码不显示实际文件名。它打印如下(php3515.tmp
);
答案 0 :(得分:4)
打印文件name
而不是tmpname
试试这个:
echo $_FILES['photo']['name'];
答案 1 :(得分:2)
php3515.tmp
是由PHP生成的临时文件。您必须使用move_uploaded_file()
函数将此文件移动到所需位置,该函数将$_FILES['photo']['tmp_name']
作为第一个参数,将路径和新文件名作为第二个参数。
以下是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.\n";
} else {
echo "Possible file upload attack!\n";
}
echo 'Here is some more debugging info:';
print_r($_FILES);
print "</pre>";
在此示例中注意$_FILES['userfile']['name']
,其中包含原始文件名。
答案 2 :(得分:2)
您需要知道$_FILES['userfile']
中的you have 5 parameters:
如果您想要原始名称,要显示,请使用:
$_FILES['userfile']['name']
您还有一个功能move_uploaded_file()
,可让您安全地将文件从临时位置移动到您自己的位置。另一种方式,在PHP过程结束后,您上传的文件将被删除。
$path = __DIR__ . '/upload/' . basename($_FILES['userfile']['name']);
$result = move_uploaded_file($_FILES['userfile']['tmp_name'], $path);
$result
告诉您,系统是否正确地将文件保存在给定位置。