【发布时间】:2016-02-17 09:35:21
【问题描述】:
我正在使用脚本上传和重命名文件。 表格如下所示。
<form action="" enctype="multipart/form-data" method="post">
<input type="text" name="shortlink" placeholder="Shortlink"><br>
<input id="file" name="file" type="file" />
<input id="Submit" name="submit" type="submit" value="Submit" />
php上传器长这样
if (isset($_POST['submit']))
{
$filename = $_FILES["file"]["name"];
$file_basename = substr($filename, 0, strripos($filename, '.')); // get file extention
$file_ext = substr($filename, strripos($filename, '.')); // get file name
$filesize = $_FILES["file"]["size"];
$allowed_file_types = array('.doc','.docx','.jpg','.jpeg','.pdf');
if (in_array($file_ext,$allowed_file_types) && ($filesize < 20000000000000))
{
// Rename file
$newfilename = $_POST['shortlink'] . $file_ext;
if (file_exists("upload/" . $newfilename))
{
// file already exists error
echo "You have already uploaded this file.";
}
else
{
move_uploaded_file($_FILES["file"]["tmp_name"], "upload/" . $newfilename);
echo "File uploaded successfully.";
}
}
elseif (empty($file_basename))
{
// file selection error
echo "Please select a file to upload.";
}
elseif ($filesize > 20000000000000)
{
// file size error
echo "The file you are trying to upload is too large.";
}
else
{
// file type error
echo "Only these file typs are allowed for upload: " . implode(', ',$allowed_file_types);
unlink($_FILES["file"]["tmp_name"]);
}
}
当我尝试上传简单的文本文件(.txt、.doc、.docx)时,它可以完美运行。但是当我尝试上传任何 .jpg 图像时,它没有响应。表格刚刚清除,仅此而已。没有错误信息或任何东西。 谁能告诉我错误在哪里?
【问题讨论】:
-
它对我来说很好用。
-
@marwej,你能告诉我们你遇到了什么错误吗?
-
第一次成功上传图片时出现问题,但第二次上传任何具有不同名称的相同扩展文件时会出现“您已经上传此文件”的错误。
-
刚刚发现它适用于较小的文件。但是当我尝试上传大于 5mb 的更大图像时,我遇到了同样的问题。
-
我没有收到任何错误消息。表格只是清除,没有任何反应。