Модераторы: 2man

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> upload скрипт, если кому нужен будет... 
:(
    Опции темы
dm9
Дата 13.12.2004, 04:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Дмитрий Копытин
****


Профиль
Группа: Vingrad developer
Сообщений: 3876
Регистрация: 22.7.2002
Где: Москва

Репутация: 1
Всего: 137



Сегодня пытался найти скрипт, который осуществляет upload на сервер. Требовалось, чтобы был защищён паролем. Нашёл штук пять, все глючные какие-то, половину вообще непонятно сразу как ставить. Пришлось написать свой. В общем, если кому надо будет, и не захочется изобретать велосипед, то вот:

Код
<?php
   $TITLE      = "Upload файлов"; //Заголовок окна
   $MAX_SIZE   = 1024*1024;       //Максимальный размер загружаемого файла в байтах. Ноль - нет ограничений
   $UPLOAD_DIR = "C:/Upload/";    //Папка, куда будут загружаться файлы
   $PASS_REQ   = "Yes";           //Нужен ли пароль на upload ("Yes" или "No")
   $PASSWORD   = "123";           //Пароль, если он нужен
?>

<html>
<head>
<title><?php echo $TITLE ?></title>
<style>
body {
   text-align: center;
}
</style>
</head>
<body>
   <br />
   <br />

<?php
   if ($MAX_SIZE <= 0) {
       $OUTPUT_LIMIT = "Нет ограничений";
   } else {
       $OUTPUT_LIMIT_SIZE = $MAX_SIZE;
       $OUTPUT_LIMIT_UNIT = "Байт";
       if ($OUTPUT_LIMIT_SIZE >= 1024) {
           $OUTPUT_LIMIT_SIZE = $OUTPUT_LIMIT_SIZE / 1024;
           $OUTPUT_LIMIT_UNIT = "КБайт";
       }
       if ($OUTPUT_LIMIT_SIZE >= 1024) {
           $OUTPUT_LIMIT_SIZE = $OUTPUT_LIMIT_SIZE / 1024;
           $OUTPUT_LIMIT_UNIT = "МБайт";
       }
       if ($OUTPUT_LIMIT_SIZE >= 1024) {
           $OUTPUT_LIMIT_SIZE = $OUTPUT_LIMIT_SIZE / 1024;
           $OUTPUT_LIMIT_UNIT = "ГБайт";
       }
       $OUTPUT_LIMIT = (int)$OUTPUT_LIMIT_SIZE . " " . $OUTPUT_LIMIT_UNIT;
   }
   if (!isset($_FILES["upfile"])) {
?>

   Максимальный размер отправляемого файла: <?php echo $OUTPUT_LIMIT; ?><br />
   <br />
   <form enctype="multipart/form-data" method="post" action="<?php echo $HTTP_SERVER_VARS['PHP_SELF'] ?>">
       <input type="file" name="upfile" size="70" style="width: 500px;" /><br /><br />
       <?php
           if ($PASS_REQ == "Yes") {echo "Пароль: <input type=\"password\" name=\"passw\" size=\"20\" /><br /><br />\n";}
       ?>
       <input type="submit" value="Отправить файл" /><br />
   </form>

<?php
   } else {
       if (($PASS_REQ == "Yes") && ($HTTP_POST_VARS["passw"] != $PASSWORD)) {
           printf ("Ошибка. Неправильный пароль.");
       } else {
           printf ("<b>Загружаемый файл</b><br />");
           printf ("Имя: %s<br />", $HTTP_POST_FILES["upfile"]["name"]);
           //printf ("Temp имя: %s<br />", $HTTP_POST_FILES["upfile"]["tmp_name"]);
           printf ("Размер: %s<br />", $HTTP_POST_FILES["upfile"]["size"]);
           //printf ("Тип: %s<br />", $HTTP_POST_FILES["upfile"]["type"]);
           if (($MAX_SIZE != 0) && ($HTTP_POST_FILES["upfile"]["size"] > $MAX_SIZE)) {
               printf ("Ошибка. Размер файла больше допустимого.");
           } else {
               if (copy ($HTTP_POST_FILES["upfile"]["tmp_name"], $UPLOAD_DIR.$HTTP_POST_FILES["upfile"]["name"])) {
                   printf ("Файл удачно скопирован.");
               } else {
                   printf ("Ошибка копирования файла на сервере.");
               }
           }
       }
   }
?>

</body>
</html>


Найдёте ошибки - напишите :-)))))
Добавлено @ 04:34
PS По-хорошему, ещё надо защитить сервер от аплоада больших файлов. Но это другой вопрос, про администрирование Web-серверов...

Это сообщение отредактировал(а) dm9 - 13.12.2004, 04:32
PM MAIL ICQ   Вверх
Opik
Дата 13.12.2004, 12:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Vingrad developer
Сообщений: 1918
Регистрация: 6.10.2004
Где: Рига

Репутация: 7
Всего: 55



Цитата
printf ("...");

лучше просто
Код

print "...";

это быстрее
Цитата
<?php echo $TITLE ?>

обычно это делается так:
Код

<?=$TITLE?>

Цитата
$HTTP_SERVER_VARS['PHP_SELF']

$HTTP_SERVER_VARS - лучше не юзать, лучше юзать $_SERVER.
что является суперглобальной переменной...т.е:
Код

$_SERVER['PHP_SELF'].

аналогично с $HTTP_POST_VARS ( $_POST ) и $HTTP_POST_FILES ( $_FILES ), и есть ещё ( $_GET )

PM MAIL Skype   Вверх
dm9
Дата 13.12.2004, 18:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Дмитрий Копытин
****


Профиль
Группа: Vingrad developer
Сообщений: 3876
Регистрация: 22.7.2002
Где: Москва

Репутация: 1
Всего: 137



Цитата(Opr @ 13.12.2004, 12:04)
Цитата 
$HTTP_SERVER_VARS['PHP_SELF'] 

$HTTP_SERVER_VARS - лучше не юзать, лучше юзать $_SERVER.
что является суперглобальной переменной...т.е:

Код 

$_SERVER['PHP_SELF'].


Это сделано для совместимости с более ранними версиями PHP.
Добавлено @ 18:32
Цитата(Opr @ 13.12.2004, 12:04)
обычно это делается так:

Код 

<?=$TITLE?>


Спасибо, я вспоминал, как это записать короче, но так нигде и не нашёл smile
Добавлено @ 18:34
Цитата(Opr @ 13.12.2004, 12:04)
аналогично с $HTTP_POST_VARS ( $_POST ) и $HTTP_POST_FILES ( $_FILES ), и есть ещё ( $_GET )


Спасибо, конечно... Есть ещё много чего :-))))))

Это сообщение отредактировал(а) dm9 - 13.12.2004, 18:35
PM MAIL ICQ   Вверх
penizillin
Дата 13.12.2004, 19:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 312
Регистрация: 10.11.2004

Репутация: 1
Всего: 9



short tags не везде поддерживаются, с ними нужно быть осторожным.
PM MAIL ICQ   Вверх
dm9
Дата 13.12.2004, 20:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Дмитрий Копытин
****


Профиль
Группа: Vingrad developer
Сообщений: 3876
Регистрация: 22.7.2002
Где: Москва

Репутация: 1
Всего: 137



А что такое "short tags"?
PM MAIL ICQ   Вверх
Opik
Дата 13.12.2004, 20:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Vingrad developer
Сообщений: 1918
Регистрация: 6.10.2004
Где: Рига

Репутация: 7
Всего: 55



<?=$title?>
PM MAIL Skype   Вверх
IZ@TOP
Дата 13.12.2004, 23:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Панда-бир!
****


Профиль
Группа: Участник
Сообщений: 4795
Регистрация: 3.2.2003
Где: Бамбуковый лес

Репутация: 3
Всего: 73



Меня ни когда не ламало написать <?php echo $Variables; ?>. Считаю это хорошим тоном в программинге на РНР.
Добавлено @ 23:21
Это если не использовать шаблоны smile


--------------------
Один из розовых плюшевых-всадников апокалипсиса... очень злой...

Семь кругов ада для новых элементов языка
Мои разрозненные мысли
PM MAIL WWW ICQ Skype GTalk   Вверх
Opik
Дата 13.12.2004, 23:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Vingrad developer
Сообщений: 1918
Регистрация: 6.10.2004
Где: Рига

Репутация: 7
Всего: 55



IZ@TOP
Это лишь дело вкуса.
PM MAIL Skype   Вверх
dm9
Дата 13.12.2004, 23:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Дмитрий Копытин
****


Профиль
Группа: Vingrad developer
Сообщений: 3876
Регистрация: 22.7.2002
Где: Москва

Репутация: 1
Всего: 137



А поясните фразу
Цитата(penizillin @ 13.12.2004, 19:55)
short tags не везде поддерживаются


Это где так?
PM MAIL ICQ   Вверх
IZ@TOP
Дата 13.12.2004, 23:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Панда-бир!
****


Профиль
Группа: Участник
Сообщений: 4795
Регистрация: 3.2.2003
Где: Бамбуковый лес

Репутация: 3
Всего: 73



dm9, это там где стиль аспешный отключен smile


--------------------
Один из розовых плюшевых-всадников апокалипсиса... очень злой...

Семь кругов ада для новых элементов языка
Мои разрозненные мысли
PM MAIL WWW ICQ Skype GTalk   Вверх
dm9
Дата 13.12.2004, 23:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Дмитрий Копытин
****


Профиль
Группа: Vingrad developer
Сообщений: 3876
Регистрация: 22.7.2002
Где: Москва

Репутация: 1
Всего: 137



Ну ты и ругнулся smile

Цитата(IZ @ 13.12.2004, 23:40)
стиль аспешный

Можно для ламеров поподробнее? smile)


PM MAIL ICQ   Вверх
IZ@TOP
Дата 14.12.2004, 00:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Панда-бир!
****


Профиль
Группа: Участник
Сообщений: 4795
Регистрация: 3.2.2003
Где: Бамбуковый лес

Репутация: 3
Всего: 73



<%, <? это можно назвать ASP тегами. А РНР кроме обычных <?php ?> предусмотрены так же <script language="PHP" runat="server"> </script>, <? ?>.


--------------------
Один из розовых плюшевых-всадников апокалипсиса... очень злой...

Семь кругов ада для новых элементов языка
Мои разрозненные мысли
PM MAIL WWW ICQ Skype GTalk   Вверх
dm9
Дата 14.12.2004, 00:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Дмитрий Копытин
****


Профиль
Группа: Vingrad developer
Сообщений: 3876
Регистрация: 22.7.2002
Где: Москва

Репутация: 1
Всего: 137



Хм... а разве <? ?> - это ASP ?
Хотя, я не разбираюсь smile
PM MAIL ICQ   Вверх
IZ@TOP
Дата 14.12.2004, 00:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Панда-бир!
****


Профиль
Группа: Участник
Сообщений: 4795
Регистрация: 3.2.2003
Где: Бамбуковый лес

Репутация: 3
Всего: 73



Цитата(dm9 @ 14.12.2004, 01:45)
Хм... а разве <? ?> - это ASP ?
Хотя, я не разбираюсь

Это стиль ASP тегов. Во всяком случае насколько я знаю из книг которые читал, точнее была одна такая, автор правда предпочтение отдавал именно продуктам Microsoft и PHP задел в своей книге не так уж серьеъзно, но для новичка было достаточно. Вот от туда это выражеие я и вспомнил "Стиль ASP". В общем в приницпе разницы нет практически, что <?php или <?, но по всем канонам советуют использовать именно <?php. Хотя может это все глупости smile


--------------------
Один из розовых плюшевых-всадников апокалипсиса... очень злой...

Семь кругов ада для новых элементов языка
Мои разрозненные мысли
PM MAIL WWW ICQ Skype GTalk   Вверх
dm9
Дата 14.12.2004, 01:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Дмитрий Копытин
****


Профиль
Группа: Vingrad developer
Сообщений: 3876
Регистрация: 22.7.2002
Где: Москва

Репутация: 1
Всего: 137



А, кажется, я понял, что ты имеешь в виду. <? ?> - это ASP-стиль в том смысле, что по аналогии с <% %> smile
В самом ASP, кажется, <? ?> не используется.
PM MAIL ICQ   Вверх
Ответ в темуСоздание новой темы Создание опроса
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Другие движки / фрейморки | Следующая тема »


 




[ Время генерации скрипта: 0.0576 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.