Собственно в чем проблема? У тебя не загружается файл? --- Добавлено --- Что у тебя здесь? upload_class.php
PHP: <?php abstract class Upload{ protected $dir; protected $mime_types; public function uploadFile($file){ if(!$this->isSecurity($file)) return false; $uploadFile = $this->dir."/".$file["name"]; return move_uploaded_file($file["tmp_name"], $uploadFile); } public function isSecurity($file){ $blacklist = array (".php", ".phtml", ".php3", ".php4", ".html", ".htm"); foreach ($blacklist as $item){ if (preg_match("/$item\S/i", $file["name"])) return false; } $type = $file["type"]; for ($i = 0; $i< count($this->mime_type); $i++){ if ($type == $this->mime_type($i)) break; if ($i + 1 == count($this->mime_type($i)) return false; } $size = $file["size"]; if ($size > 2048000) return false; return true; } } ?>
Присоединяюсь. Там цикл на тысячу итераций. Повиснет все нахрен. Но вообще @[vs] имел ввиду, что таким образом ты избавишься от проблем с выдачей unique одинаковых результатов, коль уж оно на время ориентируется.
usleep() это микросекунды. Так что не повиснет, отработает ровно за секунду. А uniqid() будет успевать меняться.
PHP: <?php ## Генерация квази-анонимных функций. $squarers = []; for ($i = 0; $i <= 1000; $i++) { // Создаем строку, содержимое которой каждый раз будет разным. $id = uniqid("F"); // Создаем функцию. eval("function $id() { echo $i * $i; }"); $squarers[] = $id; } // Так можно вызвать функцию, чье имя берется из массива. $squarers[303](); usleep(1000); ?> 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
@ubunta2, Вы так ничему не научитесь, если не будете разбираться в том, что Вы пишите. Какая цель данного урока?
лол Держи, попробуй по-нормальному. PHP: <?php ## Генерация квази-анонимных функций. $squarers = []; for ($i = 0; $i <= 1000; $i++) { // Создаем строку, содержимое которой каждый раз будет разным. $id = ("F".$i); // Создаем функцию. eval("function $id() { echo $i * $i; }"); $squarers[] = $id; } // Так можно вызвать функцию, чье имя берется из массива. $squarers[303](); ?> --- Добавлено --- Хз, накойляд там вообще uniqid при живом-то счетчике. Наверное, "шоб було".
@ubunta2, слова "после eval" означают "после eval", а не через километр. Вообщем-то, любое руководство в IT следует выполнять буквально, если только не понимаешь досконально его смысл. Тогда можно что-то оптимизировать (но это сейчас к тебе не относится). Формируй программерское мышление.
Уж точно не в той книге, что Вы изучаете. Существует только одна книга, которую стоит изучить, чтобы научиться программировать: "Язык программирования C++" Бьерна Страуструпа Для того чтобы начать программировать на другом языке будет достаточно лишь изучить синтаксис и особенности реализации потоков ввода/вывода. А заучивание встроенных в php функций не сделает Вас программистом.
Ох, я б так не сказал. Человеку пыха туго идет. Об плюсы, боюсь, имеет шанс убиться. Не, указатели это весело, канеш, но не в данном случае.
ну не вникнув и не поняв отладку нет смысла что-то дальше учить, ну кроме там синтаксиса и понятия алгоритма --- Добавлено --- вместо того чтобы спрашивать почему не работает, ты мог бы с помощью отладки самостоятельно выяснить в чём проблема