Ошибок нет потому что ты: 1) не знаешь где смотреть? 2) выключил вывод ошибок? 3) не выполняется кусок кода который мог бы привести к ошибкам и первым двум пунктам? Выбирай
вывода нет и не знаю где смотреть ошибок нет. Я ничего не отключал скорее всего в каком-то куске кода что-то не так
Ну молодец, чо. Ты уже не первый день по каждому пердежу своего сознания бежишь на форум и не раз тебе говорили про отладку, а ты так её и не включил и до сих пор не знаешь что у тебя на сервере происходит. Про то что ты не понимаешь написанного кода я в данный момент молчу. Это твой путь копипаста и может быть он принесёт плоды. Но пока - не принесет. Потому что мы все не знаем что же там надумал твой сервер так как ты до сих пор не научился отлаживать сценарии. С международным днём пива тебя.
@ubunta2 вот пример отладки, посмотри что в $uploadFile и в какой ты папке запускаешь скрипт, выложи сюда (два пути и какой от чего), ну можешь ещё сам обмозговать всё ли там логично, учитывая пути http://phpfaq.ru/newbie/paths
некоторые ошибки уже сам начинаю сам исправлять, но пока не все --- Добавлено --- все получилось дело было в скобке
PHP: <?php ## Наследование. // Вначале подключаем "базовый" класс. require_once "File/Logger.php"; // Класс, добавляющий в FileLogger новую функциональность. class FileLoggerDebug extends FileLogger { // Конструктор нового класса. Просто переадресует вызов // конструктору базового класса, передавая немного другие // параметры. public function __construct($fname) { // Такой синтаксис используется для вызова методов базового класса. // Обратите внимание, что ссылки $this нет! Она подразумевается. parent::__construct(basename($fname), $fname); // Здесь можно проинициализировать другие свойства текущего // класса, если они будут. } // Добавляем новый метод. public function debug($s, $level = 0) { $stack = debug_backtrace(); $file = basename($stack[$level]['file']); $line = $stack[$level]['line']; // Вызываем функцию базового класса. $this->log("[at $file line $line] $s"); } // Все остальные методы и свойства наследуются автоматически! } ?> Warning: require_once(File/Logger.php): failed to open stream: No such file or directory in E:\OpenServer\domains\test\File\Logger\Debug.php on line 3 Fatal error: require_once(): Failed opening required 'File/Logger.php' (include_path='.;e:/openserver/modules/php/PHP-7.0-x64;e:/openserver/modules/php/PHP-7.0-x64/PEAR/pear') in E:\OpenServer\domains\test\File\Logger\Debug.php on line 3
Нету ошибки в коде книги. Всё нормально. Это ты с путями всё ещё не умеешь работать. И отладку всё ещё не умеешь делать.
Данный файл или каталог отсутствует я этого не знаю и хочу знать что сделать, чтоб в дальнейшем самому устранить ошибку. Я хочу научиться.
@MouseZver, хочется процитировать классику: @ubunta2, Вам следует вернуться к уроку с require и include, чтобы понять что произошло. Какого файла не хватает?
PHP: <?php ## Базовый класс. class FileLogger { public $f; // открытый файл public $name; // имя журнала public $lines = []; // накапливаемые строки public $t; public function __construct($name, $fname) { $this->name = $name; $this->f = fopen($fname, "a+"); } public function __destruct() { fputs($this->f, join("", $this->lines)); fclose($this->f); } public function log($str) { $prefix = "[".date("Y-m-d_h:i:s ")."{$this->name}] "; $str = preg_replace('/^/m', $prefix, rtrim($str)); $this->lines[] = $str."\n"; } } ?> Logger.php
@ubunta2, где он у Вас расположен относительно файла Debug.php? И где по книжке должен располагаться файл Debug.php?
@ubunta2, правильно я понимаю: E:\OpenServer\domains\test\File\Logger\Debug.php E:\OpenServer\domains\test\File\Logger.php ?
Теперь создайте где-нибудь в Вашем проекте файл php с таким содержимым: PHP: <?php echo get_include_path (); Выполните его и покажите, что будет выведено на экран.
@Ganzal, спасибо. Чето я тупанул. @ubunta2, в Вашем случае: include_path='.;e:/openserver/modules/php/PHP-7.0-x64;e:/openserver/modules/php/PHP-7.0-x64/PEAR/pear' Файл будет реквириться из директорий: 1) ./File/Logger.php 2) e:/openserver/modules/php/PHP-7.0-x64/File/Logger.php 3) e:/openserver/modules/php/PHP-7.0-x64/PEAR/pear/File/Logger.php В первом случае: 1) E:\OpenServer\domains\test\File\Logger\File\Logger.php а должно быть: E:\OpenServer\domains\test\File\Logger.php То-есть "." - это та директория из которой запущен скрипт. В Вашем случае E:\OpenServer\domains\test\File\Logger Вариантов решения проблемы несколько. Самый простой - перенести Debug.php в директорию E:\OpenServer\domains\test
E:\OpenServer\domains\test перенес в корень E:\OpenServer\domains\test и вывелся пустой экран --- Добавлено --- ошибок нет --- Добавлено --- Как Вы это поняли. Я тоже хочу понять?