Решил написать сктипт для загрузки файла. Вроде бы все правильно, но загружает он только изображения и текстовые файлы. Подскажите в чем проблема.
<?php
header("Content-Type: text/html; charset=utf-8");
$ok = $_POST['ok'];
if(!$ok)
{
?>
<h2>Загрузка файлов</h2>
<form action='' method='post' enctype='multipart/form-data'>
<input type='hidden' name='MAX_FILE_SIZE' value='50000000' />
Загрузить файл : <input type='file' name='userfile' />
<input type='submit' value='Загрузить' name='ok' />
</form>
}
else
{
$upfile = './upload/'.$_FILES['userfile']['name'];
if($_FILES['userfile']['error'] > 0)
{
echo "Проблема: ";
switch($_FILES['userfile']['error'])
{
case 1: echo "размер файл больше upload_max_filesize"; break;
case 2: echo "размер файл больше max_file_size"; break;
case 3: echo "загружена только часть файла"; break;
case 4: echo "файл не загружен"; break;
}
exit();
}
if(!move_uploaded_file($_FILES['userfile']['tmp_name'], $upfile))
{
echo "Проблема: невозможно переместить файл";
exit();
}
echo "Файл успешно загружен!<br>";
}
Спустя 19 часов, 27 минут, 25 секунд (27.07.2011 - 08:14) Mirexzpalich написал(а):
а ограничение на размер файла в php.ini какое?
Спустя 19 минут, 47 секунд (27.07.2011 - 08:34) phz написал(а):
Попробуй к примеру:
echo ini_get('upload_max_filesize').'<br>';
ini_set('upload_max_filesize', '8M');
echo ini_get('upload_max_filesize');
Спустя 2 часа, 10 минут, 46 секунд (27.07.2011 - 10:45) killer8080 написал(а):
minok94
а как же безопасность?
а как же безопасность?
Спустя 20 часов, 53 минуты, 4 секунды (28.07.2011 - 07:38) minok94 написал(а):
В php.ini поставил также 50мб как и MAX_FILE_SIZE.
Это работает нормально, но загружаются не все типы файлов, например .mp3 .avi и т.д. Как это исправить?
Это работает нормально, но загружаются не все типы файлов, например .mp3 .avi и т.д. Как это исправить?
Спустя 1 час, 35 минут, 3 секунды (28.07.2011 - 09:13) killer8080 написал(а):
minok94
в php.ini post_max_size и upload_max_filesize
и в плане безопасности твой скрипт дырявый как решето.
в php.ini post_max_size и upload_max_filesize
и в плане безопасности твой скрипт дырявый как решето.
Спустя 8 часов, 20 минут, 44 секунды (28.07.2011 - 17:34) minok94 написал(а):
Подскажи как сделать лучше или где можно посмотреть про это...
Спустя 2 часа, 16 минут, 50 секунд (28.07.2011 - 19:50) killer8080 написал(а):
minok94
нужно проверять тип файла, перед тем как вызывать move_uploaded_file()
В твоём варианте можно свободно загрузить на сервер свой php скрипт, и ... думаю чем это грозит пояснять не нужно
нужно проверять тип файла, перед тем как вызывать move_uploaded_file()
В твоём варианте можно свободно загрузить на сервер свой php скрипт, и ... думаю чем это грозит пояснять не нужно
Цитата (minok94 @ 28.07.2011 - 17:34) |
Подскажи как сделать лучше или где можно посмотреть про это... |
можешь почитать на ирбисе
Спустя 1 день, 10 часов, 20 минут, 40 секунд (30.07.2011 - 06:11) minok94 написал(а):
Спасибо!