Проблем с качване на файлове

pro12

Registered
PHP:
$tmp_name2 = $_FILES['program']['tmp_name'];
$filename2 = $_FILES['program']['name'];
$size = $_FILES['program']['size'];
$format2 = end(explode(".", $filename2));
$fileType = $_FILES['program']['type'];

$tmp_name = $_FILES['plugin']['tmp_name'];
$filename = $_FILES['plugin']['name'];
$format = end(explode(".", $filename));
if($format != "jpg" && $format != "JPEG" && $format != "png") {
echo "Формата на снимката, който сте избрали е непозволен!";
exit;
}
elseif($format2 != "zip" && $format2 != "rar" && $format2 != "mp3" && $format2 != "exe") {
echo "Формата на файла, който сте избрали е непозволен!";
exit;
}
elseif ($size> 67108864) {
    echo "Sorry, your file is too large.";
    exit;
}
elseif($namepr== NULL){  
echo "Попълнете име"; 
exit; 
} 
 
elseif($info==NULL){ 
echo "Попълнете новина"; 
exit; 
} 

elseif($catpr==NULL){ 
echo "Попълнете категория"; 
exit; 
} 
 
else { 
$picpr= 'upload/'.$filename.'';
move_uploaded_file($tmp_name, $picpr);
$programs= 'program/'.$filename2.'';
move_uploaded_file($tmp_name2, $programs);
$sql = ("INSERT INTO program(namepr, info, picpr, catpr, data, user, programs, size, name, type, data2) VALUES('$namepr','$info','$picpr','$catpr','$data', '$user', '$programs', '$size', '$filename2', '$fileType', '$data2' )"); 
if ($conn->query($sql) === TRUE) {
    echo "<div>
<span class='notification n-success'>Успешно качен файл </span></div>
   <META http-equiv='REFRESH' content='0; url=index.php'>";
} else {
    echo "Error: " . $sql . "<br>" . $conn->error;
}
 
$conn->close();
}
}
?>
Като избера снимка и фаил за качване и в папките нищо не се качва а в дб се записва адреса на снимката и на файла. Как да оправя проблема?
 
Ами най-вероятно е във формата, защото не става само да и сложиш метод пост, трябва и да кажеш че искаш да прехвърляш файлове с нея ;)

HTML:
ecntype="multipart/form-data"
:idea: :?: :?: :?:
 
Формата е в друг файл и всичко си има. Проблема се появи като преместих файловете си на др сървър.
 
Аз тъй като гледам изобщо не си проверил за $_FILES['file']{'error']. Как очакваш ние да ти кажем като сам не си проверил.

A сега като се вгледах - проверяваш само за разширение на файла(овете). Най-добре прочети някъде за правилни подходи при качване на файлове от потребители.
Има разни неща като finfo() които ти връщат mime тип, разни функции с които можеш много по-сигурно да провериш дали файлът е картинка.
 

Back
Горе