请有人可以帮忙吗?我有以下代码将文件上传到我的服务器并将其重命名为登录用户所在的用户。例如,用户'可口可乐爱好者'上传了一个jpeg - 脚本也会重命名jpeg'coca-cola-lover.jpg'。限制文件上传到只需jpegs与php
我的问题是,我需要它来限制上传到只是jpegs - 也限制文件大小为2MB。
请帮助 - 我试图找到一个解决方案整晚。
在此先感谢
// Your file name you are uploading
$file_name = $HTTP_POST_FILES['ufile']['name'];
$username = $row_Recordset1['username'];
$ext = end(explode('.', $file_name));
$renamed_file_name = $username;
$new_file_name=$renamed_file_name.'.'.$ext;
//set where you want to store files
//in this example we keep file in folder upload
//$new_file_name = new upload file name
//for example upload file name cartoon.gif . $path will be upload/cartoon.gif
$path= "../sites/images/users/".$new_file_name;
if($ufile !=none)
{
if(copy($HTTP_POST_FILES['ufile']['tmp_name'], $path))
{
echo "Successful<BR/>";
//$new_file_name = new file name
//$HTTP_POST_FILES['ufile']['size'] = file size
//$HTTP_POST_FILES['ufile']['type'] = type of file
echo "File Name :".$new_file_name."<BR/>";
echo "File Size :".$HTTP_POST_FILES['ufile']['size']."<BR/>";
echo "File Type :".$HTTP_POST_FILES['ufile']['type']."<BR/>";
}
else
{
echo "Error";
}
}
+1最好的办法,以确定文件类型。 –
您不能依赖getimagesize(),因为如果您将一些php代码注入二进制映像并将其重命名为3vil.php,您将能够执行嵌入式php代码。 –
是的,对,后更新 – user187291