Имам следния скрипт, който ми качва файлове, но забелязах, защото потребителите ми качват и .php файлове. Искам да бъдат качвани само .rar, .zip файлове.
В момента като файла не е разрешен става следното ->
и по-този начин file е успешно качен :|
В момента като файла не е разрешен става следното ->
Непозволен тип файл
Файлът беше успешно качен
и по-този начин file е успешно качен :|
Код:
<?php
if ($user->data['user_id'] == ANONYMOUS){
echo "<div class=\"gtitle\"><center>Добави plugin</center></div>
<div class=\"ginfo\"><br /> Нямаш достъп до там или неси Модератор !!! <br /></div>
<div class=\"gtitle-down\"> </div>";
}
else {
if(isset($_POST['submit'])){
echo "<div class=\"gtitle\"><center>Добави plugin</center></div>
<div class=\"ginfo\"><br /> ";
$id = (int)$_GET['id'];
$direct = "./files/plugins/";
$ip = $_SERVER['REMOTE_ADDR'];
$file = $_FILES['file']['name'];
$tmp_file = $_FILES['file']['tmp_name'];
$size = $_FILES['file']['size'];
$upload_path = "".$direct."".basename($file);
if(empty($file)) {
echo "Моля изберете файл<br />";
}
if(file_exists($upload_path)){
echo "Файлът вече съществува<br />";
}
if($size == 0){
echo "Файлът е повреден<br />";
}
function random_string($max = 20){
$chars = explode(" ", 'a b c d e f g h i j k l m n o p q r s t u v w x y z 0 1 2 3 4 5 6 7 8 9');
for($i = 0; $i < $max; $i++){
$rand_key = array_rand($chars);
$screen1 .= $chars[$rand_key];
}
return str_shuffle($screen1);
}
if($size>5242880){
echo "Файлът е твърде голям<br />";
}
$extensions = array("rar","zip");
$extension_file = end(explode(".",$file));
$extension_file = strtolower($extension_file);
if(!in_array($extension_file,$extensions)){
echo "Непозволен тип файл<br />";
}
$upload=move_uploaded_file($tmp_file,$upload_path);
if($upload){
$fail = "$direct/$file";
$odobren = "ne";
$cat = "plugins";
$title = trim(strip_tags(addslashes($_POST['title'])));
$opisanie = trim(strip_tags(addslashes($_POST['opisanie'])));
$q = mysql_query("INSERT INTO `cscms_plugins` (title, opisanie, fail, cat, author, odobren) VALUES ('$title', '$opisanie', '$fail', '$cat', '$username', '$odobren')")or die(mysql_error()."<br />Грешка: ".__LINE__);
if($q = TRUE){
echo "<br /><font color=\"green\">Файлът беше успешно качен</font>";
}
else {
echo "<font color=\"red\">Грешка</font></center>";
}}
echo '<div class="gtitle-down"> </div>';
}
else{
echo "<div class=\"gtitle\"><center>Добавяне на plugin</center></div>
<div class=\"ginfo\"><div align='left'><br /> ";
?>
<form action="" method="post" enctype = "multipart/form-data">
Име:<br /> <input type="text" name="title" size="15" value=""><br />
Файл:<br /> <input type="file" name="file"> <br />
Oписание:<br /> <textarea name="opisanie" cols='45' rows='7' maxlength="250"></textarea><br />
<input name="submit" type="submit" value="Пали!">
</form>
<?php
echo ' </div>
<div class="gtitle-down"> </div>';
}
}
?>