- []
Приколемся и напишем текстовый редактор на PHP
Не зря был выбран ник, которым я свечусь на всех форумах "Idler" - да … от безделья можно ведь и *** сломать
Ну вот очередная дурь в голову, хотя и заняться чем есть. Просто вдруг решил посмотреть как работают stream-wrappers на PHP. А чтобы скучно не стало - тестами не ограничился, а написал простенький редактор.
Редактор умеет записывать введенный в STDIN текст в указанный (уже после ввода текста) файл.
Посмотрим что нам понадобится? Да практически ничего - цикл с проверкой вводимого символа на соответствие символу конца файла. Кто не знает - это ^D или просто Ctrl+D. Обращаться ко входному потоку будет как к php://stdin , информацию об ошибках будем выводить в php://stderr
Надо заметить что это стабильно работает начиная с версии PHP 5.2.1
Итак! Без комментакриев… САМЫЙ ПРОСТОЙ ТЕКСТОВЫЙ РЕДАКТОР в 19 строк, да еще и на PHP!!! Посмотрим, что он умеет?!
#!/usr/bin/php <?php $stream=$name=''; $fp = fopen('php://stdin','r'); while($t=fread($fp,1)){ if($t===chr(0)) break; $stream.=$t; } fclose($fp); echo "Имя файла, для сохранения:"; $name=trim(fread(STDIN,4096)); echo "\n\n{$name}\n\n{$stream}"; if(strlen($name)<1 ){ file_put_contents('php://stderr',"Неверное имя файла\n"); exit(1); } file_put_contents($name,$stream); echo "Файл {$name} сохранен\n"; exit (0);
Не густо? А что вы хотели от 19 строк? Положил его в ~/bin/ - т.к иногда vim - это лишнее - просто ввести пару строк и сохранить из в файле… Посмотрим, может быть со временем прикручу к нему пару фич..

