За последние 24 часа нас посетил 222921 программист и 2215 роботов. Сейчас ищет 1471 программист ...

Превозмогания тред

Тема в разделе "PHP для новичков", создана пользователем ubunta2, 27 июн 2017.

  1. [vs]

    [vs] Суперстар
    Команда форума Модератор

    С нами с:
    27 сен 2007
    Сообщения:
    10.559
    Симпатии:
    632
    Нужно просто после eval() добавить строчку
    PHP:
    1. usleep(1000);
     
  2. Danil005

    Danil005 Активный пользователь

    С нами с:
    2 янв 2015
    Сообщения:
    528
    Симпатии:
    30
    Собственно в чем проблема? У тебя не загружается файл?
    --- Добавлено ---
    Что у тебя здесь? upload_class.php
     
  3. ubunta2

    ubunta2 Зэк
    [ БАН ]

    С нами с:
    27 июн 2017
    Сообщения:
    947
    Симпатии:
    28
  4. Danil005

    Danil005 Активный пользователь

    С нами с:
    2 янв 2015
    Сообщения:
    528
    Симпатии:
    30
    --- Добавлено ---
    Класс Upload дай.
     
  5. ubunta2

    ubunta2 Зэк
    [ БАН ]

    С нами с:
    27 июн 2017
    Сообщения:
    947
    Симпатии:
    28
    PHP:
    1. <?php
    2.  
    3.         abstract class Upload{
    4.    
    5.         protected $dir;
    6.         protected $mime_types;
    7.        
    8.         public function uploadFile($file){
    9.             if(!$this->isSecurity($file)) return false;
    10.             $uploadFile = $this->dir."/".$file["name"];
    11.             return move_uploaded_file($file["tmp_name"], $uploadFile);
    12.         }
    13.     public function isSecurity($file){
    14.         $blacklist = array (".php", ".phtml", ".php3", ".php4", ".html", ".htm");
    15.         foreach ($blacklist as $item){
    16.             if (preg_match("/$item\S/i", $file["name"])) return false;
    17.         }
    18.         $type = $file["type"];
    19.         for ($i = 0; $i< count($this->mime_type); $i++){
    20.             if ($type == $this->mime_type($i)) break;
    21.             if ($i + 1 == count($this->mime_type($i)) return false;
    22.  
    23.         }
    24.         $size = $file["size"];
    25.         if ($size > 2048000) return false;
    26.         return true;
    27.     }
    28.         }
    29. ?>
     
  6. ubunta2

    ubunta2 Зэк
    [ БАН ]

    С нами с:
    27 июн 2017
    Сообщения:
    947
    Симпатии:
    28
    зачем?
     
  7. Fell-x27

    Fell-x27 Суперстар
    Команда форума Модератор

    С нами с:
    25 июл 2013
    Сообщения:
    12.156
    Симпатии:
    1.771
    Адрес:
    :сердА
    Присоединяюсь. Там цикл на тысячу итераций. Повиснет все нахрен.
    Но вообще @[vs] имел ввиду, что таким образом ты избавишься от проблем с выдачей unique одинаковых результатов, коль уж оно на время ориентируется.
     
  8. denis01

    denis01 Суперстар
    Команда форума Модератор

    С нами с:
    9 дек 2014
    Сообщения:
    12.227
    Симпатии:
    1.714
    Адрес:
    Молдова, г.Кишинёв
    отладку до сих пор не понял?
     
  9. [vs]

    [vs] Суперстар
    Команда форума Модератор

    С нами с:
    27 сен 2007
    Сообщения:
    10.559
    Симпатии:
    632
    usleep() это микросекунды. Так что не повиснет, отработает ровно за секунду. А uniqid() будет успевать меняться.
     
  10. Fell-x27

    Fell-x27 Суперстар
    Команда форума Модератор

    С нами с:
    25 июл 2013
    Сообщения:
    12.156
    Симпатии:
    1.771
    Адрес:
    :сердА
    Принято.
     
  11. ubunta2

    ubunta2 Зэк
    [ БАН ]

    С нами с:
    27 июн 2017
    Сообщения:
    947
    Симпатии:
    28
    PHP:
    1. <?php ## Генерация квази-анонимных функций.
    2. $squarers = [];
    3.   for ($i = 0; $i <= 1000; $i++) {
    4.     // Создаем строку, содержимое которой каждый раз будет разным.
    5.     $id = uniqid("F");
    6.     // Создаем функцию.
    7.     eval("function $id() { echo $i * $i; }");
    8.     $squarers[] = $id;
    9.   }
    10.   // Так можно вызвать функцию, чье имя берется из массива.
    11.   $squarers[303]();
    12.    usleep(1000);
    13. ?>
    Fatal error: Cannot redeclare F5980bb71526bb() (previously declared in E:\OpenServer\domains\test\1.php(7) : eval()'d code:1) in E:\OpenServer\domains\test\1.php(7) : eval()'d code on line 1
     
  12. Maputo

    Maputo Активный пользователь

    С нами с:
    30 июл 2015
    Сообщения:
    1.136
    Симпатии:
    173
    @ubunta2, Вы так ничему не научитесь, если не будете разбираться в том, что Вы пишите. Какая цель данного урока?
     
  13. Fell-x27

    Fell-x27 Суперстар
    Команда форума Модератор

    С нами с:
    25 июл 2013
    Сообщения:
    12.156
    Симпатии:
    1.771
    Адрес:
    :сердА
    лол
    Держи, попробуй по-нормальному.
    PHP:
    1. <?php ## Генерация квази-анонимных функций.
    2. $squarers = [];
    3.   for ($i = 0; $i <= 1000; $i++) {
    4.     // Создаем строку, содержимое которой каждый раз будет разным.
    5.     $id = ("F".$i);
    6.     // Создаем функцию.
    7.     eval("function $id() { echo $i * $i; }");
    8.     $squarers[] = $id;
    9.   }
    10.   // Так можно вызвать функцию, чье имя берется из массива.
    11.   $squarers[303]();
    12. ?>
    --- Добавлено ---
    Хз, накойляд там вообще uniqid при живом-то счетчике. Наверное, "шоб було".
     
  14. Maputo

    Maputo Активный пользователь

    С нами с:
    30 июл 2015
    Сообщения:
    1.136
    Симпатии:
    173
    @Fell-x27, теперь он спросит "Почему вывелось 91809?" :D
     
  15. Fell-x27

    Fell-x27 Суперстар
    Команда форума Модератор

    С нами с:
    25 июл 2013
    Сообщения:
    12.156
    Симпатии:
    1.771
    Адрес:
    :сердА
    Я верю в лучшее.
     
    Ganzal, [vs] и Maputo нравится это.
  16. [vs]

    [vs] Суперстар
    Команда форума Модератор

    С нами с:
    27 сен 2007
    Сообщения:
    10.559
    Симпатии:
    632
    @ubunta2, слова "после eval" означают "после eval", а не через километр. Вообщем-то, любое руководство в IT следует выполнять буквально, если только не понимаешь досконально его смысл. Тогда можно что-то оптимизировать (но это сейчас к тебе не относится).
    Формируй программерское мышление.
     
  17. ubunta2

    ubunta2 Зэк
    [ БАН ]

    С нами с:
    27 июн 2017
    Сообщения:
    947
    Симпатии:
    28
    303*303=91809
    303 в квадрате
    --- Добавлено ---
    а как этому научиться?
     
    Fell-x27 и Maputo нравится это.
  18. ubunta2

    ubunta2 Зэк
    [ БАН ]

    С нами с:
    27 июн 2017
    Сообщения:
    947
    Симпатии:
    28
    не особо пока практиковал
     
  19. Fell-x27

    Fell-x27 Суперстар
    Команда форума Модератор

    С нами с:
    25 июл 2013
    Сообщения:
    12.156
    Симпатии:
    1.771
    Адрес:
    :сердА
    Прислушиваться к советам и извлекать уроки.
    Ты понял, в чем была твоя ошибка до этого?
     
  20. Maputo

    Maputo Активный пользователь

    С нами с:
    30 июл 2015
    Сообщения:
    1.136
    Симпатии:
    173
    Уж точно не в той книге, что Вы изучаете.
    Существует только одна книга, которую стоит изучить, чтобы научиться программировать:
    "Язык программирования C++" Бьерна Страуструпа
    Для того чтобы начать программировать на другом языке будет достаточно лишь изучить синтаксис и особенности реализации потоков ввода/вывода. А заучивание встроенных в php функций не сделает Вас программистом.
     
  21. Fell-x27

    Fell-x27 Суперстар
    Команда форума Модератор

    С нами с:
    25 июл 2013
    Сообщения:
    12.156
    Симпатии:
    1.771
    Адрес:
    :сердА
    Ох, я б так не сказал. Человеку пыха туго идет. Об плюсы, боюсь, имеет шанс убиться. Не, указатели это весело, канеш, но не в данном случае.
     
  22. Maputo

    Maputo Активный пользователь

    С нами с:
    30 июл 2015
    Сообщения:
    1.136
    Симпатии:
    173
    Яж не предлагаю изучить C++. Хотя бы первые 3 главы прочесть. Там очень доходчиво все изложено.
     
  23. denis01

    denis01 Суперстар
    Команда форума Модератор

    С нами с:
    9 дек 2014
    Сообщения:
    12.227
    Симпатии:
    1.714
    Адрес:
    Молдова, г.Кишинёв
    ну не вникнув и не поняв отладку нет смысла что-то дальше учить, ну кроме там синтаксиса и понятия алгоритма
    --- Добавлено ---
    вместо того чтобы спрашивать почему не работает, ты мог бы с помощью отладки самостоятельно выяснить в чём проблема
     
  24. ubunta2

    ubunta2 Зэк
    [ БАН ]

    С нами с:
    27 июн 2017
    Сообщения:
    947
    Симпатии:
    28
    ну по-немногу начинаю понимать
     
  25. Fell-x27

    Fell-x27 Суперстар
    Команда форума Модератор

    С нами с:
    25 июл 2013
    Сообщения:
    12.156
    Симпатии:
    1.771
    Адрес:
    :сердА
    Нет, перечитай еще раз комментарий [vs] и скажи, в чем была твоя ошибка, и почему не заработало?