|
|
|
| здравствуйте! идея такова: как запретить загрузку любых файлов за исключением zip файлов с ограничением по "весу" плюс, если пользователь/user заносит новый файл старый автоматически стираеться, можно это организовать без mysql? | |
|
|
|
|
|
|
|
для: ronin
(28.03.2006 в 12:58)
| | Можно, даже не знаю зачем здесь вообще MySQL | |
|
|
|
|
|
|
|
для: CrazyAngel
(28.03.2006 в 13:22)
| | а как технически
<?php
if($_FILES["filename"]["size"] > 1024*3*1024) # тут if не zip - хренушки
{
echo ("Размер файла превышает три мегабайта");
exit;
}
if(copy($_FILES["filename"]["tmp_name"],
"c:/temp/".$_FILES["filename"]["name"]))
{
echo("Файл успешно загружен <br>");
echo("Характеристики файла: <br>");
echo("Имя файла: ");
echo($_FILES["filename"]["name"]);
echo("<br>Размер файла: ");
echo($_FILES["filename"]["size"]);
echo("<br>Каталог для загрузки: ");
echo($_FILES["filename"]["tmp_name"]);
echo("<br>Тип файла: ");
echo($_FILES["filename"]["type"]);
} else {
echo("Ошибка загрузки файла");
}
?>
|
если в этой папке есть уже файл - то он стирается. Заранее благадарю | |
|
|
|
|
|
|
|
для: ronin
(28.03.2006 в 13:50)
| | Можно извлечь расширение файла и проверить не равно ли оно .zip
<?php
// Извлекаем из имени файла расширение
$ext = strrchr($_FILES["filename"]["tmp_name"], ".");
if($ext == '.zip') exit("Бурым медведям ходу нет");
?>
|
| |
|
|
|
|
|
|
|
для: cheops
(28.03.2006 в 14:44)
| | Уважаемые Хеопс - Вы меня неправильно поняли: наоборот, можно upload только zip'y.
<?php
// Извлекаем из имени файла расширение
$ext = strrchr($_FILES["filename"]["tmp_name"], ".");
if($ext =! '.zip') exit("Бурым медведям ходу нет");
?>
|
я добавил "!" перед zip но не работает помогите!, , спасибо за помощь!
Чтоб вы посоветовали для организации - пользователь прошел авторизацию, и попадает в областьupload после чего он может внести zip-file, который автоматически уничтожает предыдущий,. намек на механизм уничтожения, или нужно ставить таймер:) | |
|
|
|
|
|
|
|
для: ronin
(28.03.2006 в 16:28)
| | Нет символ отрицания следует использовать перед символом равно
<?php
// Извлекаем из имени файла расширение
$ext = strrchr($_FILES["filename"]["tmp_name"], ".");
if($ext != '.zip') exit("Бурым медведям ходу нет");
?>
|
| |
|
|
|
|
|
|
|
для: cheops
(28.03.2006 в 22:17)
| | у меня теперь все не пропускает - зип не зип.?
я всем балуюсь даже пишу не zip, а WinRAR zip - не помогает | |
|
|
|
|
|
|
|
для: ronin
(29.03.2006 в 10:49)
| | Не помню точно, но по моему ["tmp_name"], который ты проверяешь, вообще не имеет отношение к реальному имени файла. Там имя в темпе вроде этого fj21jk231jk12j123j1.tmp или около того, тебе надо от оригинального имени получить расширение. | |
|
|
|
|
|
|
|
для: XPraptor
(29.03.2006 в 11:26)
| | Если честно, то не понял, т.е я должен указать не только расширение, но имя файла ? | |
|
|
|
|
|
|
|
для: ronin
(29.03.2006 в 12:05)
| | Не у ['temp_name'] расширение проверяй а у ['name'] - оригинального имени. temp_name это имя файла которое во временной папке после загрузки присвоено файлу и оно имеет собственный формат и имя. | |
|
|
|
|
|
|
|
для: XPraptor
(29.03.2006 в 12:08)
| | полуцилось!!! Спасибо!!! | |
|
|
|