如何在php上传脚本中只允许程序语言扩展


How to allow only program languages extensions in php upload script

好的,这是我上传文件的脚本

$target = "cloud/"; 
$target = $target . basename( $_FILES['uploaded']['name']) ; 
$ok=1;   
if(move_uploaded_file($_FILES['uploaded']['tmp_name'], $target)) 
{
echo "The file ". basename( $_FILES['uploaded']['name']). " has been uploaded";
mysql_query("INSERT INTO data (`id`,`title`,`url`,`display`) VALUES ('NULL','". basename( $_FILES['uploaded']['name']). "','http://test.info/". basename( $_FILES['uploaded']['name']). "','1');");
} 
else {
echo "error";
}

我应该添加什么来只允许像.html.php.cpp这样的扩展?

您可以这样做:

$file_ext =  strtolower(pathinfo($_FILES['uploaded']['name'],PATHINFO_EXTENSION));
$extensions = ['html', 'php', 'cpp', ...]; 
if ( (in_array($file_ext, $extensions) )
{
//do whatever
}

我希望这能有所帮助。