Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
MySQL на примерах. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель PHP 5 / 6 (3 издание). Авторы: Кузнецов М.В., Симдянов И.В. Социальная инженерия и социальные хакеры. Авторы: Кузнецов М.В., Симдянов И.В. PHP на примерах (2 издание). Авторы: Кузнецов М.В., Симдянов И.В. C++. Мастер-класс в задачах и примерах. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: upload.php и excel
 
 автор: ronin   (28.03.2006 в 12:58)   письмо автору
 
 

здравствуйте! идея такова: как запретить загрузку любых файлов за исключением zip файлов с ограничением по "весу" плюс, если пользователь/user заносит новый файл старый автоматически стираеться, можно это организовать без mysql?

   
 
 автор: CrazyAngel   (28.03.2006 в 13:22)   письмо автору
 
   для: ronin   (28.03.2006 в 12:58)
 

Можно, даже не знаю зачем здесь вообще MySQL

   
 
 автор: ronin   (28.03.2006 в 13:50)   письмо автору
 
   для: 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(
"Ошибка загрузки файла");
   }
?>



если в этой папке есть уже файл - то он стирается. Заранее благадарю

   
 
 автор: cheops   (28.03.2006 в 14:44)   письмо автору
 
   для: ronin   (28.03.2006 в 13:50)
 

Можно извлечь расширение файла и проверить не равно ли оно .zip
<?php
    
// Извлекаем из имени файла расширение
    
$ext strrchr($_FILES["filename"]["tmp_name"], "."); 
    if(
$ext == '.zip') exit("Бурым медведям ходу нет");
?>

   
 
 автор: ronin   (28.03.2006 в 16:28)   письмо автору
 
   для: cheops   (28.03.2006 в 14:44)
 

Уважаемые Хеопс - Вы меня неправильно поняли: наоборот, можно upload только zip'y.

<?php 
    
// Извлекаем из имени файла расширение 
    
$ext strrchr($_FILES["filename"]["tmp_name"], "."); 
    if(
$ext =! '.zip') exit("Бурым медведям ходу нет"); 
?> 

я добавил "!" перед zip но не работает помогите!, , спасибо за помощь!
Чтоб вы посоветовали для организации - пользователь прошел авторизацию, и попадает в областьupload после чего он может внести zip-file, который автоматически уничтожает предыдущий,. намек на механизм уничтожения, или нужно ставить таймер:)

   
 
 автор: cheops   (28.03.2006 в 22:17)   письмо автору
 
   для: ronin   (28.03.2006 в 16:28)
 

Нет символ отрицания следует использовать перед символом равно
<?php 
    
// Извлекаем из имени файла расширение 
    
$ext strrchr($_FILES["filename"]["tmp_name"], "."); 
    if(
$ext != '.zip') exit("Бурым медведям ходу нет"); 
?>

   
 
 автор: ronin   (29.03.2006 в 10:49)   письмо автору
 
   для: cheops   (28.03.2006 в 22:17)
 

у меня теперь все не пропускает - зип не зип.?
я всем балуюсь даже пишу не zip, а WinRAR zip - не помогает

   
 
 автор: XPraptor   (29.03.2006 в 11:26)   письмо автору
 
   для: ronin   (29.03.2006 в 10:49)
 

Не помню точно, но по моему ["tmp_name"], который ты проверяешь, вообще не имеет отношение к реальному имени файла. Там имя в темпе вроде этого fj21jk231jk12j123j1.tmp или около того, тебе надо от оригинального имени получить расширение.

   
 
 автор: ronin   (29.03.2006 в 12:05)   письмо автору
 
   для: XPraptor   (29.03.2006 в 11:26)
 

Если честно, то не понял, т.е я должен указать не только расширение, но имя файла ?

   
 
 автор: XPraptor   (29.03.2006 в 12:08)   письмо автору
 
   для: ronin   (29.03.2006 в 12:05)
 

Не у ['temp_name'] расширение проверяй а у ['name'] - оригинального имени. temp_name это имя файла которое во временной папке после загрузки присвоено файлу и оно имеет собственный формат и имя.

   
 
 автор: ronin   (29.03.2006 в 12:48)   письмо автору
 
   для: XPraptor   (29.03.2006 в 12:08)
 

полуцилось!!! Спасибо!!!

   
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования