【问题标题】:Adding File Type restriction in my upload script在我的上传脚本中添加文件类型限制
【发布时间】:2015-02-26 08:56:06
【问题描述】:

我有一个上传脚本,它就像上传文件的魅力一样。我还在脚本中设置了上传大小限制。但是我想在我的脚本中设置文件类型限制,但我在实现它时感到困惑。谁能帮我这个?我只想允许 JPG、JPEG、PNG、GIF、PDF 和 DOC 文件。我怎样才能做到这一点?请帮忙。

这是我的上传脚本。

<?php 
$conn=mysql_connect("localhost","root","") or die(mysql_error());
$sdb=mysql_select_db("project101test",$conn) or die(mysql_error());



if(isset($_POST['submit'])!=""){
$name=$_FILES['photo']['name'];
$size=$_FILES['photo']['size'];
$type=$_FILES['photo']['type'];
$temp=$_FILES['photo']['tmp_name'];
$caption1=$_POST['caption'];
$link=$_POST['link'];


$limit_size=512000; // Define file size limit in Bytes.
$size_in_kb=1024; // File size in KB
$divide=$limit_size/$size_in_kb; // Dividing both the variables to get the size in KB.


if($size > $limit_size){
echo "Your file size is over limit<BR>";
echo "<BR>File size limit = $divide KB";
}

else {
move_uploaded_file($temp,"admin/files/".$name);

$insert=mysql_query("insert into upload(name, fname, phone, email, message)values('$name','$_POST[fname]','$_POST[phone]','$_POST[email]','$_POST[message]')");
}



if($insert){
echo "File Uploaded";
}
else{
die(mysql_error());
}
}
?>

PHP 专家请帮助我。

【问题讨论】:

标签: php html ajax post file-upload


【解决方案1】:

尝试使用文件扩展名检查条件

$extension = substr($_FILES['photo']['name'], strrpos($_FILES['photo']['name'], '.'));

 $extension = strtolower($extension);

if( $extension == ".jpg" || $extension == ".jpeg" || $extension == ".gif" ||$extension == ".png" )
{
 // File upload code
}

【讨论】:

  • 可能也想检查 mime 类型。因为有人可以伪造扩展名。
  • 是的,我也想检查 mime 类型...请帮帮我..!
  • 此代码有效。谢谢mohamed_i,但如果文件不是可接受的格式,我如何显示错误消息..?
猜你喜欢
  • 1970-01-01
  • 2010-12-16
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-06-14
  • 2014-03-21
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多