我有这个非常讨厌的问题,脚本根本不想以新的随机生成名称上传文件。我已经多次重写该文件但没有成功。谁知道问题是什么?
我想它必须在这一行:
move_uploaded_file($_FILES["file"]["tmp_name"], "file/" . $new_name . '.' . $extension);
以下是完整的脚本:
<?php
// Generates a random filename
function random_string($length) {
$key = '';
$keys = array_merge(range(0, 9), range('a', 'z'));
for ($i = 0; $i < $length; $i++) {
$key .= $keys[array_rand($keys)];
}
if (file_exists('upload/' . $key)) {
$key = random_string(++$length);
}
return $key;
}
// Get size of file in MB
function filesizemb($file) {
return number_format(filesize($file) / pow(1024, 2), 3,'.','');
}
$filename = $_FILES['file']['name'];
$filetype = $_FILES['file']['type'];
$filesize = $_FILES['file']['size'];
// Get file extension
$extension = end(explode(".", $_FILES["file"]["name"]));
// Variable with new random name
$new_name = random_string(1);
if ($filesize < 300 * 1024 * 1024)
{
if ($_FILES["file"]["error"] > 0)
{
echo "Return Code: " . $_FILES["file"]["error"] . "<br>";
} else {
// Upload the file (this fails!)
move_uploaded_file($_FILES["file"]["tmp_name"], "file/" . $new_name . '.' . $extension);
}
} else {
echo "File is too large!";
}
?>
答案 0 :(得分:1)
您正在检查文件是否存在于&#34;上传&#34;文件夹,同时尝试将文件移动到&#34;文件&#34;夹。这可能是问题所在。