├── .gitignore ├── README.md ├── ajax ├── addcom.php ├── catalog.php ├── catalogs.sql ├── check.php ├── checkboxes.php ├── click.html ├── comments.css ├── comments.php ├── comments.sql ├── connect.php ├── files.php ├── html.html ├── index.html ├── jquery.js ├── jquery.min.js ├── list.css ├── list.php ├── load.php ├── select.php ├── time.php ├── user.php └── users.sql ├── arrays ├── array_multisort.php ├── badplus.php ├── for.php ├── foreach_copy.php ├── foreach_ref.php ├── forkeys.php └── list.php ├── buildin └── index.php ├── cgi └── getform.htm ├── cgiinside ├── c │ ├── cookies.c │ ├── env.c │ ├── gif.c │ ├── post.c │ ├── postdecode.c │ ├── script.c │ ├── test.gif │ └── urldecode.c ├── multipart.htm └── postform.htm ├── classes ├── File │ ├── Logger.php │ └── Logger0.php ├── Math │ ├── Complex.php │ ├── Complex1.php │ └── Complex2.php ├── cache.php ├── call.php ├── call1.php ├── clone.php ├── clone0.php ├── cls.php ├── const.php ├── construct.php ├── defined.php ├── destr.php ├── destr0.php ├── oldcons.php ├── overload.php ├── refcount.php ├── serialize.php ├── static.php ├── text.obj ├── tostring.php ├── unserialize.php ├── user.php ├── user_serialize.php └── user_unserialize.php ├── classes_php ├── closure.php ├── dateinterval.php ├── dateinterval_diff.php ├── dateperiod.php ├── datetime.php ├── datetime_rss.php ├── datetime_set.php ├── datetimezone.php ├── dir.php ├── dir1.php ├── generator.php ├── generator_class.php ├── next.php ├── rewind.php └── view.php ├── composer ├── dir.php ├── file.php ├── items_range.php ├── languages.sql ├── monolog │ ├── composer.json │ ├── composer.lock │ └── index.php ├── pager │ ├── README.md │ ├── composer.json │ └── src │ │ └── ISPager │ │ ├── DirPager.php │ │ ├── FilePager.php │ │ ├── ItemsRange.php │ │ ├── Pager.php │ │ ├── PagesList.php │ │ ├── PdoPager.php │ │ └── View.php ├── pager_use │ ├── composer.json │ ├── composer.lock │ └── index.php ├── pdo.php ├── phinx │ ├── composer.json │ ├── composer.lock │ ├── db │ │ ├── migrations │ │ │ └── 20151227101306_create_user_table.php │ │ └── seeds │ │ │ └── UsersSeeder.php │ └── phinx.yml ├── photos │ ├── s_20040815135808.jpg │ ├── s_20040815135939.JPG │ ├── s_20040815140021.JPG │ ├── s_20040815140107.JPG │ ├── s_20040815140209.JPG │ ├── s_20040815140411.JPG │ ├── s_20040815140506.JPG │ ├── s_20040815140606.JPG │ ├── s_20040815140809.JPG │ ├── s_20040815141012.JPG │ └── s_20040815141200.JPG └── psysh │ ├── composer.json │ ├── composer.lock │ └── index.php ├── curl ├── curl.php ├── form.html ├── handler.php ├── headers.php ├── post.php ├── time.php └── user_agent.php ├── date ├── calendar.php ├── date.php ├── gm.php ├── microtime.php ├── strftime.php └── strtotime.php ├── except ├── PHP │ └── Exceptionizer.php ├── catchall.php ├── destr.php ├── er.php ├── error.php ├── error_catch.php ├── finally.php ├── handler.php ├── handler0.php ├── iface │ ├── exceptions.php │ ├── interfaces.php │ └── test.php ├── inherit.php ├── seh.php ├── simple.php ├── stack.php ├── submit.php ├── tostring.php ├── trace.php ├── trigger_error.php ├── w2e_hier.php └── w2e_simple.php ├── exec ├── dead.php ├── esc.php └── popen.php ├── expr ├── bits.php ├── bits_pack.php ├── bits_unpack.php ├── bool.php ├── boolinc.php ├── dynamic.php ├── eq.php ├── eqobj.php ├── exists.php ├── hardref.php ├── if.php ├── objref.php ├── var_export.php ├── warn.php └── warnoff.php ├── extensions ├── phpinfo.php ├── precision.php └── session.php ├── files ├── counter.php ├── csv.php ├── file.csv ├── file.ini ├── glob.php ├── ini.php ├── lock_ex.php ├── lock_ex_cyclic.php ├── lock_sh.php ├── slashes.php ├── textbin.php └── tree.php ├── filters ├── anonim_sanitize.php ├── boolean_validate.php ├── callback_sanitize.php ├── default.php ├── email_sanitize.php ├── email_validate.php ├── encoded_sanitize.php ├── filter_input.php ├── filter_var.php ├── filter_var_array.php ├── int_float_sanitize.php ├── int_sanitize.php ├── ip_validate.php ├── magic_quotes_sanitize.php ├── range_validate.php ├── regexp_validate.php └── special_chars_sanitize.php ├── forms ├── checkbox.php ├── cookie.php ├── dump.php ├── form.html ├── hello.php ├── ip.php ├── lock.php └── qs.php ├── fpm ├── php-fpm.conf ├── pool.d │ ├── example.com.conf │ └── example.net.conf └── sites-available │ ├── example.com │ └── example.net ├── func ├── anonim.php ├── anpar.php ├── byref.php ├── byval.php ├── call_user_func_array.php ├── closure.php ├── dumper.php ├── dumperEx.php ├── func_get_args.php ├── global.php ├── local.php ├── nested.php ├── retnull.php ├── retref.php ├── return.php ├── select.php ├── speed.php ├── static.php ├── stricttypes.php ├── toomanyargs.php ├── types.php ├── unset.php ├── varargs.php ├── varargsold.php └── virtual.php ├── funcarr ├── array_flip.php ├── array_intersect.php ├── array_reverse.php ├── asort.php ├── json_answer.php ├── json_decode.php ├── json_encode.php ├── json_index.js ├── json_index.php ├── ksort.php ├── merge.php ├── natsort.php ├── shuffle.php ├── sort.php ├── sort1.php ├── uksort.php └── usort.php ├── gd ├── button.gif ├── button.php ├── lib │ └── imagettf.php ├── pen.php ├── random.php ├── resample.php ├── sample00.gif ├── sample01.gif ├── sample02.png ├── sample03.jpg ├── sample1.jpg ├── sample2.jpg ├── sample3.jpg ├── sample4.jpg ├── sample5.jpg ├── semitransp.php ├── tile.php ├── times.ttf ├── transparent.htm ├── transparent.php └── ttf.php ├── generators ├── array.php ├── collect.php ├── combine.php ├── combine_from.php ├── keys.php ├── makerange_bad.php ├── makerange_good.php ├── object.php ├── ref.php ├── reject.php ├── return.php ├── select.php ├── send.php ├── simple.php └── yield.php ├── inherit ├── File │ ├── Logger.php │ └── Logger │ │ ├── Debug.php │ │ └── Debug0.php ├── abstract.php ├── anonym.php ├── anonym_nested.php ├── final.php ├── ifacemulti.php ├── inherit.php ├── inherit0.php ├── inherit0cast.php ├── inherit_static.php ├── pages │ ├── Cached.php │ ├── CachedA.php │ ├── Category.php │ ├── News.php │ ├── Page.php │ ├── PageA.php │ ├── StaticPage.php │ ├── cast.php │ ├── instanceof.php │ └── test.php ├── static.php ├── traits.php ├── traits_conflict.php └── traits_inherit.php ├── instruct ├── dowhile.php ├── for.php ├── foreach.php ├── goto.php ├── ifelse.php ├── require │ ├── foot.html │ ├── head.html │ └── script.php ├── trouble │ ├── aargh.php │ ├── wlib.php │ └── xllib.php └── while.php ├── iterators ├── array.php ├── directory.php ├── filter.php ├── iter_fs.php ├── iter_simple.php ├── lib │ ├── FS.php │ └── filter.php ├── limit.php ├── recursion.php ├── recursion_dir.php └── size.php ├── mail ├── attach.php ├── handler.php ├── image.php ├── lib │ ├── attach.php │ ├── mail_enc.php │ ├── mailenc.php │ ├── mailx.php │ └── template.php ├── mail.eml ├── mail.php.eml ├── mail_php.php ├── mail_simple.php ├── mail_x.php ├── s_20040815135808.jpg └── s_20040815135939.JPG ├── math ├── largetextfile.txt ├── mt_srand.php ├── nan.php └── randline.php ├── memcached ├── add.php ├── connect.php ├── connect_multi.php ├── delete_by_key.php ├── error.php ├── error_code.php ├── fetch.php ├── get_by_key.php ├── get_multi.php ├── groups.php ├── increment.php ├── server_by_key.php ├── set.php ├── set_by_key.php └── set_multi.php ├── mysql ├── .my.cnf ├── addnews.php ├── authors.sql ├── auto.sql ├── catalogs.sql ├── connect.php ├── connect_db.php ├── errors.php ├── exec.php ├── fetch.php ├── fetch_all.php ├── forums.sql ├── multi_insert.sql ├── my.cnf ├── news.html ├── news.sql ├── posts.sql ├── prepare.php ├── pri.sql ├── tbl.sql ├── tbl_insert.sql ├── tbl_order.sql ├── themes.sql └── version.php ├── namespace ├── PHP7 │ ├── Page.php │ ├── Seo.php │ └── Tag.php ├── absolute.php ├── anonim.php ├── autoload.php ├── few.php ├── few_relative.php ├── few_use.php ├── namespace.php ├── namespace_use.php ├── spl_autoload_register.php ├── use.php └── wrong.php ├── net ├── context.php ├── file.php ├── form.html ├── handler.php ├── post.php ├── socket.php └── wrap.php ├── nginx ├── mime.types ├── nginx.conf ├── sites-available │ ├── example.com │ ├── example.info │ ├── example.io │ ├── example.net │ └── example.org └── templates │ ├── default │ └── php ├── ob ├── Buffering │ └── Output.php ├── correct.php ├── gz.htm ├── gz.php ├── handle.php ├── linearize.php └── objhandle.php ├── otherfuncs ├── create_function.php ├── eval.php ├── lastmod.php ├── mkfuncs.php ├── phpinfo.php ├── sort.php ├── sort_new.php └── sort_old.php ├── perm ├── fileperms.php ├── mtime.php ├── text.txt └── typefile.php ├── phar ├── array.php ├── autoloader.php ├── autopager.phar ├── compress.phar ├── compress.phar.gz ├── compress.php ├── create.php ├── extract.php ├── foreach.php ├── gallery.phar ├── gallery.php ├── gallery_phar.php ├── gallery_use.php ├── ispager.phar ├── phpinfo.phar ├── show.php ├── stream.php ├── stub.php ├── stub_use.php ├── text.phar └── text.php ├── phpbasics └── sq.php ├── phpdocs ├── PHP7 │ └── Page.php ├── Page.php └── phpdocs │ ├── composer.json │ ├── composer.lock │ ├── docblock.php │ └── docs │ ├── .htaccess │ ├── css │ ├── bootstrap-combined.no-icons.min.css │ ├── font-awesome.min.css │ ├── jquery.iviewer.css │ ├── phpdocumentor-clean-icons │ │ ├── Read Me.txt │ │ ├── fonts │ │ │ ├── phpdocumentor-clean-icons.dev.svg │ │ │ ├── phpdocumentor-clean-icons.eot │ │ │ ├── phpdocumentor-clean-icons.svg │ │ │ ├── phpdocumentor-clean-icons.ttf │ │ │ └── phpdocumentor-clean-icons.woff │ │ ├── lte-ie7.js │ │ └── style.css │ ├── prism.css │ └── template.css │ ├── files │ ├── docblock.html │ └── docblock.php.txt │ ├── font │ ├── FontAwesome.otf │ ├── fontawesome-webfont.eot │ ├── fontawesome-webfont.svg │ ├── fontawesome-webfont.ttf │ └── fontawesome-webfont.woff │ ├── graphs │ └── class.html │ ├── images │ ├── apple-touch-icon-114x114.png │ ├── apple-touch-icon-72x72.png │ ├── apple-touch-icon.png │ ├── custom-icons.svg │ ├── favicon.ico │ ├── hierarchy-item.png │ ├── icon-class-13x13.png │ ├── icon-class.svg │ ├── icon-interface-13x13.png │ ├── icon-interface.svg │ ├── icon-trait-13x13.png │ ├── icon-trait.svg │ └── iviewer │ │ ├── grab.cur │ │ ├── hand.cur │ │ ├── iviewer.rotate_left.png │ │ ├── iviewer.rotate_right.png │ │ ├── iviewer.zoom_fit.png │ │ ├── iviewer.zoom_in.png │ │ ├── iviewer.zoom_out.png │ │ └── iviewer.zoom_zero.png │ ├── index.html │ ├── js │ ├── bootstrap.min.js │ ├── html5.js │ ├── jquery-1.11.0.min.js │ ├── jquery.dotdotdot-1.5.9.js │ ├── jquery.dotdotdot-1.5.9.min.js │ ├── jquery.iviewer.js │ ├── jquery.iviewer.min.js │ ├── jquery.mousewheel.js │ ├── jquery.smooth-scroll.js │ ├── prism.min.js │ └── ui │ │ └── 1.10.4 │ │ └── jquery-ui.min.js │ ├── namespaces │ └── default.html │ ├── phpdoc-cache-2e │ └── phpdoc-cache-settings.dat │ ├── phpdoc-cache-66 │ └── phpdoc-cache-file_a55161f66a86fef6e379665611095064.dat │ └── reports │ ├── deprecated.html │ ├── errors.html │ └── markers.html ├── preg ├── email.php ├── ex01.php ├── ex02.php ├── ex03.php ├── ex04.php ├── ex05.php ├── ex06.php ├── ex07.php ├── ex08.php ├── ex09.php ├── ex10.php ├── ex11.php ├── ex12.php ├── grep.php ├── hsc.php ├── http.php ├── largetextfile.txt ├── match_all.php ├── replace_callback.php ├── replace_callback_array.php ├── translit.php └── uniq.php ├── redirect ├── bad.php ├── book.txt ├── good.php ├── internal.php └── result.php ├── reflect ├── impl_meth.php ├── inst.php ├── inst_refl.php ├── lib │ └── Complex2.php ├── rclass.php ├── rdoc.php ├── rexcept.php ├── rext.php ├── rfunc.php └── rinherit.php ├── session ├── count.php └── handlers.php ├── standarts ├── codesniffer │ ├── composer.json │ └── composer.lock ├── indent.php ├── interpolate.php ├── psr │ ├── Cache │ │ ├── CacheItemInterface.php │ │ └── CacheItemPoolInterface.php │ ├── Http │ │ └── Message │ │ │ ├── MessageInterface.php │ │ │ ├── RequestInterface.php │ │ │ ├── ResponseInterface.php │ │ │ ├── ServerRequestInterface.php │ │ │ ├── StreamInterface.php │ │ │ ├── UploadedFileInterface.php │ │ │ └── UriInterface.php │ └── Log │ │ └── LoggerInterface.php ├── psr1right.php ├── psr1wrong.php ├── psr2.php └── server.php ├── string ├── ascii.php ├── compare.php ├── htmlspecialchars.php ├── replace.php ├── str_replace.php ├── strip_tags.php ├── strlen.php ├── translit.php ├── translit_utf8.php ├── utf8.php ├── utf8crash.php └── wordwrap.php ├── template ├── 1 │ └── news.php ├── 2 │ └── news.php ├── comp │ ├── component_gbook_add.php │ ├── component_gbook_show.php │ ├── component_news_show.php │ ├── gbook.dat │ ├── model.php │ └── view.php ├── mvc │ ├── controller.php │ ├── gbook.dat │ ├── model.php │ ├── passive │ │ ├── controller.php │ │ ├── gbook.dat │ │ └── view.htm │ └── view.php └── news.txt ├── test ├── upload ├── album.php ├── complex.php └── test.php ├── vagrant ├── Vagrantfile01 ├── Vagrantfile02 ├── Vagrantfile03 └── Vagrantfile04 ├── www ├── getallheaders.php ├── lib │ ├── http_build_url.php │ └── nocache.php ├── modify_url.php ├── parse_str.php ├── parse_url.php └── sillycount.php └── xml ├── array.php ├── attributes.php ├── attributes_list.php ├── build.php ├── build.xml ├── connect.php ├── count.php ├── enclosure.php ├── news.sql ├── read.php ├── rss.xml └── xpath.php /.gitignore: -------------------------------------------------------------------------------- 1 | # Ignore all tempfiles 2 | .swp 3 | *~ 4 | *.swp 5 | *.log 6 | *.cgi 7 | *.out 8 | .idea 9 | .DS_Store 10 | /composer/monolog/vendor/ 11 | /composer/pager_use/vendor/ 12 | /composer/phinx/vendor/ 13 | /composer/psysh/vendor/ 14 | /phpdocs/phpdocs/vendor/ 15 | /standarts/codesniffer/vendor/ 16 | /standarts/vendor/ -------------------------------------------------------------------------------- /ajax/check.php: -------------------------------------------------------------------------------- 1 | PDO::ERRMODE_EXCEPTION]); 8 | } 9 | catch (PDOException $e) { 10 | echo "Невозможно установить соединение с базой данных"; 11 | } 12 | ?> -------------------------------------------------------------------------------- /ajax/html.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Использование метода html() для изменения текста. 5 | 6 | 7 | 12 | 13 | 14 |

Тест будет изменен.

15 |
Тест останется без изменений.
16 |

Тест будет изменен.

17 | 18 | 19 | -------------------------------------------------------------------------------- /ajax/load.php: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Использование метода load() 5 | 6 | 7 | 16 | 17 | 18 |
Получить время
19 |
20 | 21 | 22 | -------------------------------------------------------------------------------- /ajax/select.php: -------------------------------------------------------------------------------- 1 | prepare($query); 12 | $cat->execute(['id' => $_GET['id']]); 13 | echo ""; 14 | while($catalog = $cat->fetch()) { 15 | echo ""; 16 | } 17 | -------------------------------------------------------------------------------- /ajax/time.php: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /arrays/badplus.php: -------------------------------------------------------------------------------- 1 | 8 | -------------------------------------------------------------------------------- /arrays/for.php: -------------------------------------------------------------------------------- 1 | "Thomas Anderson", "born" => "1962-03-11"], 4 | ["name" => "Keanu Reeves", "born" => "1962-09-02"], 5 | ]; 6 | for($i = 0; $i < count($dossier); $i++) 7 | echo "{$dossier[$i]['name']} was born {$dossier[$i]['born']}
"; 8 | ?> -------------------------------------------------------------------------------- /arrays/foreach_copy.php: -------------------------------------------------------------------------------- 1 | 7 | -------------------------------------------------------------------------------- /arrays/foreach_ref.php: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /arrays/forkeys.php: -------------------------------------------------------------------------------- 1 | "1962-03-11", 4 | "Keanu Reeves" => "1962-09-02", 5 | ]; 6 | for (reset($birth); ($k = key($birth)); next($birth)) 7 | echo "$k родился {$birth[$k]}
"; 8 | ?> -------------------------------------------------------------------------------- /arrays/list.php: -------------------------------------------------------------------------------- 1 | "; 6 | // Печатаем в цикле все элементы массива. 7 | for($i = 0; $i < count($namesList); $i++) 8 | echo $namesList[$i]."
"; 9 | ?> -------------------------------------------------------------------------------- /buildin/index.php: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /cgi/getform.htm: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Документ с формой 5 | 6 | 7 | 8 |
9 | Введите имя: 10 |
11 | Введите дату рождения: 12 |
13 | 14 |
15 | 16 | -------------------------------------------------------------------------------- /cgiinside/c/test.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorsimdyanov/php7/4796eaffdd9633bd3f3bbd9985c48da05093d4ef/cgiinside/c/test.gif -------------------------------------------------------------------------------- /cgiinside/multipart.htm: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Отправка данных POST 5 | 6 | 7 | 8 |
9 |

Name:

10 |

Box:

11 |

Area: Какой-то текст

12 |

13 |
14 | 15 | -------------------------------------------------------------------------------- /cgiinside/postform.htm: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Получение данных POST 5 | 6 | 7 | 8 |
9 |

Name1:

10 |

Name2:

11 |

12 |
13 | 14 | 15 | -------------------------------------------------------------------------------- /classes/Math/Complex.php: -------------------------------------------------------------------------------- 1 | re += $re; 11 | $this->im += $im; 12 | } 13 | } 14 | ?> -------------------------------------------------------------------------------- /classes/Math/Complex1.php: -------------------------------------------------------------------------------- 1 | re += $y->re; 9 | $this->im += $y->im; 10 | } 11 | // Преобразует число в строку (например, для вывода). 12 | function __toString() 13 | { 14 | return "({$this->re}, {$this->im})"; 15 | } 16 | } 17 | ?> -------------------------------------------------------------------------------- /classes/Math/Complex2.php: -------------------------------------------------------------------------------- 1 | re = $re; 9 | $this->im = $im; 10 | } 11 | // Добавляет к текущему комплексному числу другое. 12 | function add(MathComplex2 $y) 13 | { 14 | $this->re += $y->re; 15 | $this->im += $y->im; 16 | } 17 | // Преобразует число в строку (например, для вывода). 18 | function __toString() 19 | { 20 | return "({$this->re}, {$this->im})"; 21 | } 22 | } 23 | ?> -------------------------------------------------------------------------------- /classes/call.php: -------------------------------------------------------------------------------- 1 | re = 16.7; 8 | $obj->im = 101; 9 | // Вызов метода add() с параметрами (18.09, 303) объекта $obj. 10 | $obj->add(18.09, 303); 11 | // Выводим результат: 12 | echo "({$obj->re}, {$obj->im})"; 13 | ?> -------------------------------------------------------------------------------- /classes/call1.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorsimdyanov/php7/4796eaffdd9633bd3f3bbd9985c48da05093d4ef/classes/call1.php -------------------------------------------------------------------------------- /classes/clone0.php: -------------------------------------------------------------------------------- 1 | add($a); 9 | // При этом $x не изменяется! 10 | echo "x=", $x, ", y=", $y; 11 | // Попробуйте убрать clone - вы увидите, что $x и $y имеют 12 | // одинаковые значения, ибо ссылаются на один и тот же объект. 13 | ?> 14 | -------------------------------------------------------------------------------- /classes/cls.php: -------------------------------------------------------------------------------- 1 | var = $var; 8 | } 9 | } 10 | ?> -------------------------------------------------------------------------------- /classes/const.php: -------------------------------------------------------------------------------- 1 | NAME; // Ошибочное обращение 8 | echo self::NAME; 9 | echo "
"; 10 | echo cls::NAME; 11 | echo "
"; 12 | } 13 | } 14 | 15 | echo cls::NAME; 16 | ?> 17 | -------------------------------------------------------------------------------- /classes/construct.php: -------------------------------------------------------------------------------- 1 | add(new MathComplex2(303, 6)); 5 | echo $a; 6 | ?> -------------------------------------------------------------------------------- /classes/defined.php: -------------------------------------------------------------------------------- 1 | "; // true 5 | else echo "Константа не определена
"; 6 | 7 | if(defined("cls::POSITION")) echo "Константа определена
"; // false 8 | else echo "Константа не определена
"; 9 | ?> -------------------------------------------------------------------------------- /classes/destr.php: -------------------------------------------------------------------------------- 1 | log("Hello!"); 6 | // Теперь нет необходимости заботиться о корректном 7 | // уничтожении объекта - PHP делает все сам! 8 | } 9 | exit(); 10 | ?> -------------------------------------------------------------------------------- /classes/destr0.php: -------------------------------------------------------------------------------- 1 | log("Hello!"); 7 | // Представим, что мы случайно забыли вызвать close(). 8 | // $logger->close(); 9 | } 10 | ?> -------------------------------------------------------------------------------- /classes/oldcons.php: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /classes/serialize.php: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /classes/text.obj: -------------------------------------------------------------------------------- 1 | O:3:"cls":1:{s:3:"var";i:100;} -------------------------------------------------------------------------------- /classes/tostring.php: -------------------------------------------------------------------------------- 1 | re = 314; 5 | $a->im = 101; 6 | echo "Значение: $a"; 7 | ?> 8 | -------------------------------------------------------------------------------- /classes/unserialize.php: -------------------------------------------------------------------------------- 1 | "; 16 | print_r($obj); 17 | echo ""; 18 | ?> -------------------------------------------------------------------------------- /classes/user.php: -------------------------------------------------------------------------------- 1 | name = $name; 8 | $this->password = $password; 9 | $this->referrer = $_SERVER['PHP_SELF']; 10 | $this->time = time(); 11 | } 12 | public function __sleep() 13 | { 14 | $this->password = ""; 15 | return ['name', 'referrer', 'time']; 16 | } 17 | 18 | // Имя пользователя 19 | public $name; 20 | // Его пароль 21 | public $password; 22 | // Последняя посещенная страница 23 | public $referrer; 24 | // Время авторизации пользователя 25 | public $time; 26 | } 27 | ?> -------------------------------------------------------------------------------- /classes/user_serialize.php: -------------------------------------------------------------------------------- 1 | "; 10 | print_r($obj); 11 | echo ""; 12 | 13 | // Серилизуем объект 14 | $object = serialize($obj); 15 | 16 | // Выводим сериализованный объект 17 | echo $object; 18 | ?> -------------------------------------------------------------------------------- /classes/user_unserialize.php: -------------------------------------------------------------------------------- 1 | "; 15 | print_r($obj); 16 | echo ""; 17 | ?> 18 | -------------------------------------------------------------------------------- /classes_php/closure.php: -------------------------------------------------------------------------------- 1 | "; 3 | $check = function(array $errors) use ($message) { 4 | if (isset($errors) && count($errors) > 0) { 5 | echo $message; 6 | foreach($errors as $error) { 7 | echo "$error
"; 8 | } 9 | } 10 | }; 11 | 12 | echo "
";
13 |   print_r($check);
14 |   echo "
"; 15 | ?> -------------------------------------------------------------------------------- /classes_php/dateinterval.php: -------------------------------------------------------------------------------- 1 | sub(new DateInterval("P3Y1M14DT12H19M2S")); 4 | echo $date->format("Y-m-d H:i:s"); 5 | ?> -------------------------------------------------------------------------------- /classes_php/dateinterval_diff.php: -------------------------------------------------------------------------------- 1 | diff($date); 5 | // Выводим результаты 6 | echo $date->format("d-m-Y H:i:s")."
"; 7 | echo $nowdate->format("d-m-Y H:i:s")."
"; 8 | // Выводим разницу 9 | echo $interval->format("%Y-%m-%d %H:%S")."
"; 10 | // Выводим дамп интервала 11 | echo "
";
12 |   print_r($interval);
13 |   echo "
"; 14 | ?> -------------------------------------------------------------------------------- /classes_php/dateperiod.php: -------------------------------------------------------------------------------- 1 | format("Y-m-d")."
"; 8 | } 9 | ?> -------------------------------------------------------------------------------- /classes_php/datetime.php: -------------------------------------------------------------------------------- 1 | format("d-m-Y H:i:s"); // 14-11-2015 15:53:52 4 | ?> -------------------------------------------------------------------------------- /classes_php/datetime_rss.php: -------------------------------------------------------------------------------- 1 | format(DateTime::RSS); // Fri, 01 Jan 2016 00:00:00 +0000 4 | ?> -------------------------------------------------------------------------------- /classes_php/datetime_set.php: -------------------------------------------------------------------------------- 1 | format("d-m-Y H:i:s"); // 01-01-2016 00:00:00 4 | ?> -------------------------------------------------------------------------------- /classes_php/datetimezone.php: -------------------------------------------------------------------------------- 1 | format("d-m-Y H:i:s"); // 01-01-2016 00:00:00 5 | ?> -------------------------------------------------------------------------------- /classes_php/dir.php: -------------------------------------------------------------------------------- 1 | read()) !== false) { 6 | echo $file."
"; 7 | } 8 | // Закрываем каталог 9 | $cat->close(); 10 | ?> -------------------------------------------------------------------------------- /classes_php/dir1.php: -------------------------------------------------------------------------------- 1 | handle)) !== false) { 6 | echo $file."
"; 7 | } 8 | // Закрываем каталог 9 | closedir($cat->handle); 10 | ?> 11 | -------------------------------------------------------------------------------- /classes_php/generator.php: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /classes_php/generator_class.php: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /classes_php/next.php: -------------------------------------------------------------------------------- 1 | valid()) { 12 | echo ($obj->current() * $obj->current())." "; 13 | // К следующему элементу 14 | $obj->next(); 15 | } 16 | ?> -------------------------------------------------------------------------------- /composer/dir.php: -------------------------------------------------------------------------------- 1 | getItems() as $img) { 14 | echo " "; 15 | } 16 | // Постраничная навигация 17 | echo "

$obj

"; 18 | -------------------------------------------------------------------------------- /composer/file.php: -------------------------------------------------------------------------------- 1 | getItems() as $line) { 12 | echo htmlspecialchars($line)."
"; 13 | } 14 | // Постраничная навигация 15 | echo "

$obj

"; 16 | -------------------------------------------------------------------------------- /composer/monolog/composer.json: -------------------------------------------------------------------------------- 1 | { 2 | "require": { 3 | "monolog/monolog": "1.17.*" 4 | } 5 | } -------------------------------------------------------------------------------- /composer/monolog/index.php: -------------------------------------------------------------------------------- 1 | pushHandler($handler); 8 | $log->addWarning('Предупреждение'); 9 | ?> -------------------------------------------------------------------------------- /composer/pager_use/composer.json: -------------------------------------------------------------------------------- 1 | { 2 | "require": { 3 | "igorsimdyanov/pager": "*" 4 | } 5 | } -------------------------------------------------------------------------------- /composer/pager_use/index.php: -------------------------------------------------------------------------------- 1 | getItems() as $line) { 9 | echo htmlspecialchars($line)."
"; 10 | } 11 | // Постраничная навигация 12 | echo "

$obj

"; 13 | -------------------------------------------------------------------------------- /composer/phinx/composer.json: -------------------------------------------------------------------------------- 1 | { 2 | "require": { 3 | "robmorgan/phinx": "*" 4 | } 5 | } -------------------------------------------------------------------------------- /composer/photos/s_20040815135808.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorsimdyanov/php7/4796eaffdd9633bd3f3bbd9985c48da05093d4ef/composer/photos/s_20040815135808.jpg -------------------------------------------------------------------------------- /composer/photos/s_20040815135939.JPG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorsimdyanov/php7/4796eaffdd9633bd3f3bbd9985c48da05093d4ef/composer/photos/s_20040815135939.JPG -------------------------------------------------------------------------------- /composer/photos/s_20040815140021.JPG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorsimdyanov/php7/4796eaffdd9633bd3f3bbd9985c48da05093d4ef/composer/photos/s_20040815140021.JPG -------------------------------------------------------------------------------- /composer/photos/s_20040815140107.JPG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorsimdyanov/php7/4796eaffdd9633bd3f3bbd9985c48da05093d4ef/composer/photos/s_20040815140107.JPG -------------------------------------------------------------------------------- /composer/photos/s_20040815140209.JPG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorsimdyanov/php7/4796eaffdd9633bd3f3bbd9985c48da05093d4ef/composer/photos/s_20040815140209.JPG -------------------------------------------------------------------------------- /composer/photos/s_20040815140411.JPG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorsimdyanov/php7/4796eaffdd9633bd3f3bbd9985c48da05093d4ef/composer/photos/s_20040815140411.JPG -------------------------------------------------------------------------------- /composer/photos/s_20040815140506.JPG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorsimdyanov/php7/4796eaffdd9633bd3f3bbd9985c48da05093d4ef/composer/photos/s_20040815140506.JPG -------------------------------------------------------------------------------- /composer/photos/s_20040815140606.JPG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorsimdyanov/php7/4796eaffdd9633bd3f3bbd9985c48da05093d4ef/composer/photos/s_20040815140606.JPG -------------------------------------------------------------------------------- /composer/photos/s_20040815140809.JPG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorsimdyanov/php7/4796eaffdd9633bd3f3bbd9985c48da05093d4ef/composer/photos/s_20040815140809.JPG -------------------------------------------------------------------------------- /composer/photos/s_20040815141012.JPG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorsimdyanov/php7/4796eaffdd9633bd3f3bbd9985c48da05093d4ef/composer/photos/s_20040815141012.JPG -------------------------------------------------------------------------------- /composer/photos/s_20040815141200.JPG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorsimdyanov/php7/4796eaffdd9633bd3f3bbd9985c48da05093d4ef/composer/photos/s_20040815141200.JPG -------------------------------------------------------------------------------- /composer/psysh/composer.json: -------------------------------------------------------------------------------- 1 | { 2 | "require": { 3 | "monolog/monolog": "1.17.*", 4 | "psy/psysh": "*" 5 | } 6 | } -------------------------------------------------------------------------------- /composer/psysh/index.php: -------------------------------------------------------------------------------- 1 | pushHandler($handler); 7 | 8 | # Вызываем интерактивный отладчик 9 | eval(\Psy\sh()); 10 | 11 | $log->addWarning('Предупреждение'); 12 | ?> -------------------------------------------------------------------------------- /curl/curl.php: -------------------------------------------------------------------------------- 1 | 9 | -------------------------------------------------------------------------------- /curl/form.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Форма 5 | 6 | 7 | 8 |
9 | Имя :
10 | Пароль :
11 | 12 |
13 | 14 | -------------------------------------------------------------------------------- /curl/handler.php: -------------------------------------------------------------------------------- 1 | "; 4 | echo "Пароль - ".htmlspecialchars($_POST['pass'])."
"; 5 | } 6 | ?> -------------------------------------------------------------------------------- /curl/post.php: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /curl/time.php: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /curl/user_agent.php: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /date/date.php: -------------------------------------------------------------------------------- 1 | "); 3 | echo date("Сегодня d.m.Y
"); 4 | echo date("Этот файл датирован d.m.Y
", filectime(__FILE__)); 5 | ?> 6 | -------------------------------------------------------------------------------- /date/microtime.php: -------------------------------------------------------------------------------- 1 | ", $time); 4 | echo "С начала эпохи Unix: $time секунд.
"; 5 | ?> -------------------------------------------------------------------------------- /date/strftime.php: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /except/er.php: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /except/error.php: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /except/error_catch.php: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /except/finally.php: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /except/handler0.php: -------------------------------------------------------------------------------- 1 | '; 6 | echo "Произошла ошибка с кодом $errno!
"; 7 | echo "Файл: $file, строка $line.
"; 8 | echo "Текст ошибки: $msg"; 9 | echo ""; 10 | } 11 | // Регистрируем ее для всех типов ошибок. 12 | set_error_handler("myErrorHandler", E_ALL); 13 | // Вызываем функцию для несуществующего файла, чтобы 14 | // сгенерировать предупреждение, которое будет перехвачено. 15 | filemtime("spoon"); 16 | ?> 17 | -------------------------------------------------------------------------------- /except/iface/interfaces.php: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /except/iface/test.php: -------------------------------------------------------------------------------- 1 | getMessage()}.
"; 8 | } catch (Exception $e) { 9 | // Перехват всех остальных исключений. 10 | echo "Неизвестное исключение:
", $e, "
"; 11 | } 12 | function printDocument() { 13 | $printer = "//./printer"; 14 | // Генерируем исключение типов IFileException и INetException. 15 | if (!file_exists($printer)) 16 | throw new NetPrinterWriteException($printer); 17 | } 18 | ?> -------------------------------------------------------------------------------- /except/seh.php: -------------------------------------------------------------------------------- 1 | "; 3 | set_error_handler("handler"); 4 | { 5 | // Код, в котором перехватываются исключения. 6 | echo "Все, что имеет начало...
"; 7 | // Генерируем ("выбрасываем") исключение. 8 | trigger_error("Hello!"); 9 | echo "...имеет и конец.
"; 10 | } 11 | echo "Конец программы.
"; 12 | // Функция-обработчик. 13 | function handler($num, $str) 14 | { 15 | // Код обработчика. 16 | echo "Ошибка: $str
"; 17 | exit(); 18 | } 19 | ?> -------------------------------------------------------------------------------- /except/simple.php: -------------------------------------------------------------------------------- 1 | "; 3 | try { 4 | // Код, в котором перехватываются исключения. 5 | echo "Все, что имеет начало...
"; 6 | // Генерируем ("выбрасываем") исключение. 7 | throw new Exception("Hello!"); 8 | echo "...имеет и конец.
"; 9 | } catch (Exception $e) { 10 | // Код обработчика. 11 | echo " Исключение: {$e->getMessage()}
"; 12 | } 13 | echo "Конец программы.
"; 14 | ?> 15 | -------------------------------------------------------------------------------- /except/stack.php: -------------------------------------------------------------------------------- 1 | "; 3 | try { 4 | echo "Начало try-блока.
"; 5 | outer(); 6 | echo "Конец try-блока.
"; 7 | } catch (Exception $e) { 8 | echo " Исключение: {$e->getMessage()}
"; 9 | } 10 | echo "Конец программы.
"; 11 | function outer() { 12 | echo "Вошли в функцию ".__METHOD__."
"; 13 | inner(); 14 | echo "Вышли из функции ".__METHOD__."
"; 15 | } 16 | function inner() { 17 | echo "Вошли в функцию ".__METHOD__."
"; 18 | throw new Exception("Hello!"); 19 | echo "Вышли из функции ".__METHOD__."
"; 20 | } 21 | ?> -------------------------------------------------------------------------------- /except/submit.php: -------------------------------------------------------------------------------- 1 | 4 |
5 | 6 |
-------------------------------------------------------------------------------- /except/tostring.php: -------------------------------------------------------------------------------- 1 | ", $e, ""; 6 | } 7 | function outer() { test(101); } 8 | outer(); 9 | ?> -------------------------------------------------------------------------------- /except/trace.php: -------------------------------------------------------------------------------- 1 | "; print_r(debug_backtrace()); echo ""; 6 | } 7 | function outer($x) 8 | { 9 | // Родительская функция. 10 | inner($x * $x); 11 | } 12 | // Главная программа. 13 | outer(3); 14 | ?> -------------------------------------------------------------------------------- /except/trigger_error.php: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /except/w2e_hier.php: -------------------------------------------------------------------------------- 1 | Перехвачена ошибка!\n", $e, ""; 13 | } 14 | } 15 | ?> -------------------------------------------------------------------------------- /exec/dead.php: -------------------------------------------------------------------------------- 1 | ["pipe", "r"], // stdin 6 | 1 => ["pipe", "w"], // stdout 7 | 2 => ["file", "/tmp/error-output.txt", "a"] // stderr 8 | ]; 9 | // Запускаем процесс. 10 | $proc = proc_open("cat", $spec, $pipes); 11 | // Дальше можно писать в $pipes[0] и читать из $pipes[1]. 12 | for ($i = 0; $i < 100; $i++) 13 | fwrite($pipes[0], "Hello World #$i!\n"); 14 | fclose($pipes[0]); 15 | while (!feof($pipes[1])) echo fgets($pipes[1], 1024); 16 | fclose($pipes[1]); 17 | // Закрываем дескриптор. 18 | proc_close($proc); 19 | ?> -------------------------------------------------------------------------------- /exec/esc.php: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /exec/popen.php: -------------------------------------------------------------------------------- 1 | \n"); 6 | fwrite($fp, "To: someuser@mail.ru\n"); 7 | fwrite($fp, "Subject: here is myself\n"); 8 | fwrite($fp, "\n"); 9 | fwrite($fp, file_get_contents(__FILE__)); 10 | // Не забудем также закрыть канал. 11 | pclose($fp); 12 | ?> -------------------------------------------------------------------------------- /expr/bits_pack.php: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /expr/bits_unpack.php: -------------------------------------------------------------------------------- 1 | "; 3 | echo "Цвет: " . ((126076330 & 28) >> 2) . "
"; 4 | echo "Угол поворота: " . ((126076330 & 16352) >> 5) . "
"; 5 | echo "Высота: " . ((126076330 & 8372224) >> 14) . "
"; 6 | echo "Ширина: " . ((126076330 & 4286578688) >> 23) . "
"; 7 | ?> -------------------------------------------------------------------------------- /expr/bool.php: -------------------------------------------------------------------------------- 1 | "; 4 | if ($hundred == true) echo "переменная истинна!
"; 5 | ?> -------------------------------------------------------------------------------- /expr/boolinc.php: -------------------------------------------------------------------------------- 1 | "; 4 | $b++; 5 | echo "b: $b
"; 6 | ?> 7 | -------------------------------------------------------------------------------- /expr/dynamic.php: -------------------------------------------------------------------------------- 1 | 13 | -------------------------------------------------------------------------------- /expr/eq.php: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /expr/eqobj.php: -------------------------------------------------------------------------------- 1 | 8 | -------------------------------------------------------------------------------- /expr/exists.php: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /expr/hardref.php: -------------------------------------------------------------------------------- 1 | '271 руб. 82 коп.', 4 | 'сковорода' => '818 руб. 28 коп.' 5 | ); 6 | $b =& $A['ложка']; // $b — то же, что и элемент с индексом 'ложка' 7 | echo "Элемент с индексом 'ложка': ".$A['ложка']."
"; 8 | echo "Тип несуществующего элемента 'ложка': ".gettype($A['ложка']); 9 | ?> 10 | -------------------------------------------------------------------------------- /expr/if.php: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /expr/objref.php: -------------------------------------------------------------------------------- 1 | mind = 0.123; 8 | // Копируем объекты. 9 | $second = $first; 10 | // Изменяем "разумность" у копии! 11 | $second->mind = 100; 12 | // Выводим оба значения. 13 | echo "First mind: {$first->mind}, second: {$second->mind}"; 14 | ?> 15 | -------------------------------------------------------------------------------- /expr/var_export.php: -------------------------------------------------------------------------------- 1 | "; var_export($a); echo ""; 8 | $obj = new SomeClass(); 9 | echo "
"; var_export($obj); echo "
"; 10 | ?> -------------------------------------------------------------------------------- /expr/warn.php: -------------------------------------------------------------------------------- 1 | 2 |
3 | 4 |
5 | 9 | -------------------------------------------------------------------------------- /expr/warnoff.php: -------------------------------------------------------------------------------- 1 | 2 |
3 | 4 |
5 | 9 | -------------------------------------------------------------------------------- /extensions/phpinfo.php: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /extensions/precision.php: -------------------------------------------------------------------------------- 1 | "; 4 | echo 10.23456E+20; 5 | ?> -------------------------------------------------------------------------------- /extensions/session.php: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /files/counter.php: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /files/csv.php: -------------------------------------------------------------------------------- 1 | Строка номер $i (полей: $num):"; 6 | for ($c = 0; $c < $num; $c++) 7 | print "[$c]: $data[$c]
"; 8 | } 9 | fclose($f); 10 | ?> -------------------------------------------------------------------------------- /files/file.csv: -------------------------------------------------------------------------------- 1 | См. http://bugs.php.net/bug.php?id=12127;для проверки fgetcsv() 2 | Любимое (витаминизированное);345;9,15 3 | F12;Film;Джеймс Бонд. Золотой пистолет;2:00:15;680 4 | 5 | Who are you?;"It's okay, you're safe now.
6 | I knew you'd save me.
7 | I didn't save you, kid. You saved yourself" 8 | "с ""кавычками""";Слэш \ слэш;"""";апостроф ' апостроф 9 | -------------------------------------------------------------------------------- /files/file.ini: -------------------------------------------------------------------------------- 1 | [File Settings] 2 | ;File_version=0.2 (PP) 3 | File_version=7 4 | Chip=LM9831 5 | 6 | [Scanner Software Settings] 7 | Crystal_Frequency=48000000 8 | Scan_Buffer_Mbytes=8 // Scan buffer size in Mbytes 9 | Min_Buffer_Limit=1 // dont read scan buffer below this point in k bytes 10 | -------------------------------------------------------------------------------- /files/glob.php: -------------------------------------------------------------------------------- 1 | "; 3 | print_r(glob("c:/windows/*/*.{exe,ini}", GLOB_BRACE)); 4 | ?> 5 | -------------------------------------------------------------------------------- /files/ini.php: -------------------------------------------------------------------------------- 1 | "; print_r($ini); echo ""; 4 | echo "Chip: {$ini['File Settings']['Chip']}"; 5 | ?> -------------------------------------------------------------------------------- /files/lock_ex.php: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /files/lock_sh.php: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /files/slashes.php: -------------------------------------------------------------------------------- 1 | "; // казалось бы, правильно... 4 | $path = "c:\non\existent\file"; 5 | echo $path."
"; // а вот тут - ошибка проявилась! 6 | ?> -------------------------------------------------------------------------------- /files/textbin.php: -------------------------------------------------------------------------------- 1 | \n"; 14 | 15 | $f = fopen(__FILE__, "rt"); // текстовый режим 16 | echo makeHex(fgets($f, 100)), "
\n"; 17 | ?> -------------------------------------------------------------------------------- /files/tree.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorsimdyanov/php7/4796eaffdd9633bd3f3bbd9985c48da05093d4ef/files/tree.php -------------------------------------------------------------------------------- /filters/anonim_sanitize.php: -------------------------------------------------------------------------------- 1 | Заголовок 4 |

Первый параграф, посвященный "проверке"

5 | MARKER; 6 | echo "
";
 7 |   echo filter_var(
 8 |     $str,
 9 |     FILTER_CALLBACK,
10 |     [
11 |       'options' => function ($value) {
12 |                     return strip_tags($value);
13 |                   }
14 |     ]
15 |   );
16 |   echo "
"; 17 | ?> -------------------------------------------------------------------------------- /filters/boolean_validate.php: -------------------------------------------------------------------------------- 1 | "; 6 | var_dump(filter_var($true, FILTER_VALIDATE_BOOLEAN, FILTER_NULL_ON_FAILURE)); 7 | var_dump(filter_var($false, FILTER_VALIDATE_BOOLEAN, FILTER_NULL_ON_FAILURE)); 8 | var_dump(filter_var($null, FILTER_VALIDATE_BOOLEAN, FILTER_NULL_ON_FAILURE)); 9 | echo ""; 10 | ?> -------------------------------------------------------------------------------- /filters/callback_sanitize.php: -------------------------------------------------------------------------------- 1 | Заголовок 7 |

Первый параграф, посвященный "проверке"

8 | MARKER; 9 | echo "
";
10 |   echo filter_var($str, FILTER_CALLBACK, ['options' => 'filterTags']);
11 |   echo "
"; 12 | ?> 13 | -------------------------------------------------------------------------------- /filters/default.php: -------------------------------------------------------------------------------- 1 | [ 4 | 'min_range' => -10, 5 | 'max_range' => 10, 6 | 'default' => 10 7 | ] 8 | ]; 9 | 10 | echo filter_var(1000, FILTER_VALIDATE_INT, $options); // 10 11 | ?> -------------------------------------------------------------------------------- /filters/email_sanitize.php: -------------------------------------------------------------------------------- 1 | "; 5 | echo filter_var($email_wrong, FILTER_SANITIZE_EMAIL)."
"; 6 | ?> -------------------------------------------------------------------------------- /filters/email_validate.php: -------------------------------------------------------------------------------- 1 | "; 5 | echo "wrong= " . filter_var($email_wrong, FILTER_VALIDATE_EMAIL)."
"; 6 | ?> -------------------------------------------------------------------------------- /filters/encoded_sanitize.php: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /filters/filter_var.php: -------------------------------------------------------------------------------- 1 | "; 5 | else 6 | echo "$boolean некорректное булевое значение
"; 7 | 8 | $float = "3.14"; 9 | if(filter_var($float, FILTER_VALIDATE_FLOAT)) 10 | echo "$float корректное значение с плавающей точкой
"; 11 | else 12 | echo "$float некорректное значение с плавающей точкой
"; 13 | 14 | $url = "http://github.com"; 15 | if(filter_var($url, FILTER_VALIDATE_URL)) 16 | echo "$url корректный адрес
"; 17 | else 18 | echo "$url некорректный адрес
"; 19 | ?> -------------------------------------------------------------------------------- /filters/int_float_sanitize.php: -------------------------------------------------------------------------------- 1 | "; // 314 4 | echo intval($number); // 3 5 | ?> -------------------------------------------------------------------------------- /filters/int_sanitize.php: -------------------------------------------------------------------------------- 1 | "; // 4342 4 | echo intval($number)."
"; // 4342 5 | ?> -------------------------------------------------------------------------------- /filters/magic_quotes_sanitize.php: -------------------------------------------------------------------------------- 1 | "; 8 | print_r($arr); 9 | echo "
";
10 |   $result = filter_var_array($arr, FILTER_SANITIZE_MAGIC_QUOTES);
11 |   echo "
";
12 |   print_r($result);
13 |   echo "
";
14 | ?>


--------------------------------------------------------------------------------
/filters/range_validate.php:
--------------------------------------------------------------------------------
 1 |  [
 7 |       'min_range' => -10,
 8 |       'max_range' => 10,
 9 |     ]
10 |   ];
11 | 
12 |   if(filter_var($first, FILTER_VALIDATE_INT, $options))
13 |     echo "$first входит в диапазон -10 .. 10
"; 14 | else 15 | echo "$first не входит в диапазон -10 .. 10
"; 16 | 17 | if(filter_var($second, FILTER_VALIDATE_INT, $options)) 18 | echo "$second входит в диапазон -10 .. 10
"; 19 | else 20 | echo "$second не входит в диапазон -10 .. 10
"; 21 | ?> -------------------------------------------------------------------------------- /filters/regexp_validate.php: -------------------------------------------------------------------------------- 1 | [ 9 | 'regexp' => "/^ch\d+$/" 10 | ] 11 | ]; 12 | 13 | if(filter_var($first, FILTER_VALIDATE_REGEXP, $options)) 14 | echo "$first корректный идентификатор главы
"; 15 | else 16 | echo "$first некорректный идентификатор главы
"; 17 | 18 | if(filter_var($second, FILTER_VALIDATE_REGEXP, $options)) 19 | echo "$second корректный идентификатор главы
"; 20 | else 21 | echo "$second некорректный идентификатор главы
"; 22 | ?> -------------------------------------------------------------------------------- /filters/special_chars_sanitize.php: -------------------------------------------------------------------------------- 1 | Заголовок 4 |

Первый параграф, посвященный "проверке"

5 | MARKER; 6 | echo "
";
7 |   echo filter_var($str, FILTER_SANITIZE_FULL_SPECIAL_CHARS);
8 |   echo "
"; 9 | ?> -------------------------------------------------------------------------------- /forms/cookie.php: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /forms/dump.php: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Выводит все глобальные переменные 5 | 6 | 7 | 8 |
 9 |   
12 |   
13 | 14 | -------------------------------------------------------------------------------- /forms/form.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Cтраница с формой 5 | 6 | 7 | 8 |
9 | Логин:
10 | Пароль:
11 | 12 |
13 | 14 | -------------------------------------------------------------------------------- /forms/hello.php: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Использование данных формы 5 | 6 | 7 | 8 | 17 | 18 | 19 | -------------------------------------------------------------------------------- /forms/ip.php: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Вывод IP-адреса и браузера пользователя 5 | 6 | 7 | 8 | Ваш IP-адрес:
9 | Ваш браузер: 10 | 11 | 12 | -------------------------------------------------------------------------------- /forms/qs.php: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Вывод параметров командной строки 5 | 6 | 7 | 8 | 11 | 12 | -------------------------------------------------------------------------------- /fpm/php-fpm.conf: -------------------------------------------------------------------------------- 1 | [global] 2 | pid = /var/run/php5-fpm.pid 3 | error_log = /var/log/php5-fpm.log 4 | emergency_restart_threshold = 0 5 | emergency_restart_interval = 0 6 | include = /etc/php5/fpm/pool.d/*.conf 7 | -------------------------------------------------------------------------------- /fpm/pool.d/example.com.conf: -------------------------------------------------------------------------------- 1 | [example.com] 2 | 3 | user = www-data 4 | group = www-data 5 | 6 | listen = /var/www/$pool/fastcgi.sock 7 | 8 | listen.owner = www-data 9 | listen.group = www-data 10 | 11 | pm = dynamic 12 | pm.max_children = 5 13 | pm.start_servers = 2 14 | pm.min_spare_servers = 1 15 | pm.max_spare_servers = 3 16 | 17 | security.limit_extensions = .php .php3 .php4 .php5 18 | 19 | php_admin_value[sendmail_path] = /usr/sbin/sendmail -t -i -f admin@example.com 20 | php_admin_value[error_log] = /var/log/fpm-php/$pool.www.log 21 | php_admin_flag[log_errors] = on 22 | php_admin_value[memory_limit] = 32M 23 | -------------------------------------------------------------------------------- /fpm/pool.d/example.net.conf: -------------------------------------------------------------------------------- 1 | [net.com] 2 | 3 | user = www-data 4 | group = www-data 5 | 6 | listen = /var/www/$pool/fastcgi.sock 7 | 8 | listen.owner = www-data 9 | listen.group = www-data 10 | 11 | pm = dynamic 12 | pm.max_children = 5 13 | pm.start_servers = 2 14 | pm.min_spare_servers = 1 15 | pm.max_spare_servers = 3 16 | 17 | security.limit_extensions = .php .php3 .php4 .php5 18 | 19 | php_admin_value[sendmail_path] = /usr/sbin/sendmail -t -i -f admin@example.com 20 | php_admin_value[error_log] = /var/log/fpm-php/$pool.www.log 21 | php_admin_flag[log_errors] = on 22 | php_admin_value[memory_limit] = 32M 23 | -------------------------------------------------------------------------------- /fpm/sites-available/example.com: -------------------------------------------------------------------------------- 1 | upstream example_com { 2 | server unix:/var/www/example.com/fastcgi.sock fail_timeout=0; 3 | } 4 | server { 5 | listen 80; 6 | root /var/www/example.com/www; 7 | access_log /var/www/example.com/log/access.log; 8 | error_log /var/www/example.com/log/error.log; 9 | 10 | server_name example.com www.example.com; 11 | 12 | include /etc/nginx/templates/default; 13 | 14 | location ~* \.php$ { 15 | fastcgi_pass example_com; 16 | include fastcgi_params; 17 | fastcgi_index index.php; 18 | } 19 | } -------------------------------------------------------------------------------- /fpm/sites-available/example.net: -------------------------------------------------------------------------------- 1 | upstream example_net { 2 | server unix:/var/www/example.net/fastcgi.sock fail_timeout=0; 3 | } 4 | server { 5 | listen 80; 6 | root /var/www/example.net/www; 7 | access_log /var/www/example.net/log/access.log; 8 | error_log /var/www/example.net/log/error.log; 9 | 10 | server_name example.net www.example.net; 11 | 12 | include /etc/nginx/templates/default; 13 | 14 | location ~* \.php$ { 15 | fastcgi_pass example_net; 16 | include fastcgi_params; 17 | fastcgi_index index.php; 18 | } 19 | } -------------------------------------------------------------------------------- /func/anonim.php: -------------------------------------------------------------------------------- 1 | \n"; // выводим элемент 6 | } 7 | }; 8 | // Вызов функции 9 | $myecho("Меркурий", "Венера", "Земля", "Марс"); 10 | ?> -------------------------------------------------------------------------------- /func/anpar.php: -------------------------------------------------------------------------------- 1 | \n"; 19 | } 20 | }, ...$planets); 21 | ?> -------------------------------------------------------------------------------- /func/byref.php: -------------------------------------------------------------------------------- 1 | "; 5 | $a++; 6 | echo "После увеличения: $a
"; 7 | } 8 | # ... 9 | $num = 10; 10 | echo "Начальное значение: $num
"; 11 | increment($num); // передача по ссылке 12 | echo "После вызова функции: $num
"; // 11! 13 | ?> -------------------------------------------------------------------------------- /func/byval.php: -------------------------------------------------------------------------------- 1 | "; 5 | $a++; 6 | echo "После увеличения: $a
"; 7 | } 8 | # ... 9 | $num = 10; 10 | echo "Начальное значение: $num
"; 11 | increment($num); 12 | echo "После вызова функции: $num
"; 13 | ?> -------------------------------------------------------------------------------- /func/closure.php: -------------------------------------------------------------------------------- 1 | "; 3 | $check = function(array $errors) use ($message) 4 | { 5 | if (isset($errors) && count($errors) > 0) { 6 | echo $message; 7 | foreach($errors as $error) { 8 | echo "$error
"; 9 | } 10 | } 11 | }; 12 | 13 | $check([]); 14 | // ... 15 | $erorrs[] = "Заполните имя пользователя"; 16 | $check($erorrs); 17 | // ... 18 | $message = "Список требований"; // Уже не изменить 19 | $erorrs = ["PHP", "MySQL", "memcache"]; 20 | $check($erorrs); 21 | ?> -------------------------------------------------------------------------------- /func/dumperEx.php: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /func/func_get_args.php: -------------------------------------------------------------------------------- 1 | \n"; // выводим элемент 6 | } 7 | } 8 | // отображаем строки одну под другой 9 | myecho("Меркурий", "Венера", "Земля", "Марс"); 10 | ?> -------------------------------------------------------------------------------- /func/global.php: -------------------------------------------------------------------------------- 1 | "Январь", 4 | 2 => "Февраль", 5 | // ... 6 | 12 => "Декабрь" 7 | ]; 8 | // Возвращает название месяца по его номеру. Нумерация начинается с 1! 9 | function getMonthName($n) 10 | { 11 | global $monthes; 12 | return $monthes[$n]; 13 | } 14 | // Применение. 15 | echo getMonthName(2); // выводит "Февраль" 16 | ?> -------------------------------------------------------------------------------- /func/local.php: -------------------------------------------------------------------------------- 1 | "; // выводит его на экран 6 | // Эта $i не имеет к глобальной $i никакого отношения! 7 | } 8 | // Выводит в цикле 10 случайных чисел. 9 | for ($i = 0; $i != 10; $i++) silly(); 10 | echo PHP_OS; 11 | ?> -------------------------------------------------------------------------------- /func/nested.php: -------------------------------------------------------------------------------- 1 | "; 5 | function child($b) { 6 | echo $b + 1, "
"; 7 | return $b * $b; 8 | } 9 | return $a * $a * child($a); 10 | // фактически возвращает $a * $a * ($a+1) * ($a+1) 11 | } 12 | // Вызываем функции. 13 | father(10); 14 | child(30); 15 | // Попробуйте теперь ВМЕСТО этих двух вызовов поставить такие 16 | // же, но только в обратном порядке. Что, выдает ошибку? 17 | // Почему, спрашиваете? Читайте дальше! 18 | ?> -------------------------------------------------------------------------------- /func/retnull.php: -------------------------------------------------------------------------------- 1 | 5 | -------------------------------------------------------------------------------- /func/retref.php: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /func/return.php: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /func/static.php: -------------------------------------------------------------------------------- 1 | 10 | -------------------------------------------------------------------------------- /func/stricttypes.php: -------------------------------------------------------------------------------- 1 | =7 9 | ?> -------------------------------------------------------------------------------- /func/toomanyargs.php: -------------------------------------------------------------------------------- 1 | "; 5 | echo "Второй параметр: $snd
"; 6 | echo "Третий параметр: $thd
"; 7 | echo "Четвертый параметр: $fth
"; 8 | } 9 | // отображаем строки одну под другой 10 | $planets = ["Меркурий", "Венера", "Земля", "Марс"]; 11 | toomanyargs(...$planets); 12 | ?> -------------------------------------------------------------------------------- /func/types.php: -------------------------------------------------------------------------------- 1 | =7 8 | ?> -------------------------------------------------------------------------------- /func/unset.php: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /func/varargs.php: -------------------------------------------------------------------------------- 1 | \n"; // выводим элемент 6 | } 7 | } 8 | // отображаем строки одну под другой 9 | myecho("Меркурий", "Венера", "Земля", "Марс"); 10 | ?> -------------------------------------------------------------------------------- /func/varargsold.php: -------------------------------------------------------------------------------- 1 | \n"; // выводим элемент 5 | } 6 | } 7 | // отображаем строки одну под другой 8 | myecho("Меркурий", "Венера", "Земля", "Марс"); 9 | ?> -------------------------------------------------------------------------------- /func/virtual.php: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /funcarr/array_flip.php: -------------------------------------------------------------------------------- 1 | "Silver", 4 | "Grant" => "Hill", 5 | "Andrew" => "Mason", 6 | ]; 7 | $names = array_flip($names); 8 | print_r($names); 9 | // Array([Silver]=>Joel [Hill]=>Grant [Mason]=>Andrew) 10 | ?> -------------------------------------------------------------------------------- /funcarr/array_intersect.php: -------------------------------------------------------------------------------- 1 | red [2]=>green) 7 | ?> -------------------------------------------------------------------------------- /funcarr/array_reverse.php: -------------------------------------------------------------------------------- 1 | "Zero", 4 | "b" => "Weapon", 5 | "c" => "Alpha", 6 | "d" => "Processor" 7 | ]; 8 | asort($A); 9 | $A = array_reverse($A); 10 | print_r($A); 11 | // Array([a]=>Zero [b]=>Weapon [d]=>Processor [c]=>Alpha) 12 | ?> -------------------------------------------------------------------------------- /funcarr/asort.php: -------------------------------------------------------------------------------- 1 | "Zero", 4 | "b" => "Weapon", 5 | "c" => "Alpha", 6 | "d" => "Processor" 7 | ]; 8 | asort($A); 9 | print_r($A); 10 | // Array([c]=>Alpha [d]=>Processor [b]=>Weapon [a]=>Zero) 11 | // как видим, поменялся только порядок пар ключ=>значение 12 | ?> -------------------------------------------------------------------------------- /funcarr/json_answer.php: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /funcarr/json_decode.php: -------------------------------------------------------------------------------- 1 | "; print_r($arr); echo "
"; 5 | ?> -------------------------------------------------------------------------------- /funcarr/json_encode.php: -------------------------------------------------------------------------------- 1 | "Иван Иванов", 4 | "phones" => [ 5 | "916 153 2854", 6 | "916 643 8420" 7 | ] 8 | ]; 9 | echo json_encode($arr, JSON_UNESCAPED_UNICODE ); 10 | ?> -------------------------------------------------------------------------------- /funcarr/json_index.php: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Передача JSON-данных 5 | 6 | 7 | 8 | 9 | 10 |

Здравствуйте!

11 |
12 |

Имя:

13 |

Фамилия:

14 |

15 |

16 | 17 | 18 | -------------------------------------------------------------------------------- /funcarr/ksort.php: -------------------------------------------------------------------------------- 1 | "Alpha", 4 | "a" => "Zero", 5 | "d" => "Processor", 6 | "b" => "Weapon", 7 | ]; 8 | ksort($A); 9 | print_r($A); 10 | // Array([a]=>Zero [b]=>Weapon [c]=>Alpha [d]=>Processor) 11 | ?> -------------------------------------------------------------------------------- /funcarr/merge.php: -------------------------------------------------------------------------------- 1 | red [1]=>yellow [2]=>green [3]=>cyan [6]=>blue) 7 | ?> -------------------------------------------------------------------------------- /funcarr/natsort.php: -------------------------------------------------------------------------------- 1 | "; print_r($files); 11 | ?> -------------------------------------------------------------------------------- /funcarr/shuffle.php: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /funcarr/sort.php: -------------------------------------------------------------------------------- 1 | Four [1]=>One [2]=>Three [3]=>Two) 6 | ?> -------------------------------------------------------------------------------- /funcarr/sort1.php: -------------------------------------------------------------------------------- 1 | "Zero", 4 | "b" => "Weapon", 5 | "c" => "Alpha", 6 | "d" => "Processor" 7 | ]; 8 | sort($A); 9 | print_r($A); 10 | // Array([0]=>Alpha [1]=>Processor [2]=>Weapon [3]=>Zero) 11 | ?> -------------------------------------------------------------------------------- /funcarr/usort.php: -------------------------------------------------------------------------------- 1 | Four [1]=>One [2]=>Three [3]=>Two) 6 | ?> -------------------------------------------------------------------------------- /gd/button.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorsimdyanov/php7/4796eaffdd9633bd3f3bbd9985c48da05093d4ef/gd/button.gif -------------------------------------------------------------------------------- /gd/pen.php: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /gd/random.php: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /gd/resample.php: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /gd/sample00.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorsimdyanov/php7/4796eaffdd9633bd3f3bbd9985c48da05093d4ef/gd/sample00.gif -------------------------------------------------------------------------------- /gd/sample01.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorsimdyanov/php7/4796eaffdd9633bd3f3bbd9985c48da05093d4ef/gd/sample01.gif -------------------------------------------------------------------------------- /gd/sample02.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorsimdyanov/php7/4796eaffdd9633bd3f3bbd9985c48da05093d4ef/gd/sample02.png -------------------------------------------------------------------------------- /gd/sample03.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorsimdyanov/php7/4796eaffdd9633bd3f3bbd9985c48da05093d4ef/gd/sample03.jpg -------------------------------------------------------------------------------- /gd/sample1.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorsimdyanov/php7/4796eaffdd9633bd3f3bbd9985c48da05093d4ef/gd/sample1.jpg -------------------------------------------------------------------------------- /gd/sample2.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorsimdyanov/php7/4796eaffdd9633bd3f3bbd9985c48da05093d4ef/gd/sample2.jpg -------------------------------------------------------------------------------- /gd/sample3.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorsimdyanov/php7/4796eaffdd9633bd3f3bbd9985c48da05093d4ef/gd/sample3.jpg -------------------------------------------------------------------------------- /gd/sample4.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorsimdyanov/php7/4796eaffdd9633bd3f3bbd9985c48da05093d4ef/gd/sample4.jpg -------------------------------------------------------------------------------- /gd/sample5.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorsimdyanov/php7/4796eaffdd9633bd3f3bbd9985c48da05093d4ef/gd/sample5.jpg -------------------------------------------------------------------------------- /gd/times.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorsimdyanov/php7/4796eaffdd9633bd3f3bbd9985c48da05093d4ef/gd/times.ttf -------------------------------------------------------------------------------- /gd/transparent.htm: -------------------------------------------------------------------------------- 1 | 2 | 3 | -------------------------------------------------------------------------------- /gd/transparent.php: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /generators/array.php: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /generators/collect.php: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /generators/combine.php: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /generators/combine_from.php: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /generators/keys.php: -------------------------------------------------------------------------------- 1 | $value) { 5 | yield $key => $callback($value); 6 | } 7 | } 8 | 9 | $arr = [ 10 | "first" => 1, 11 | "second" => 2, 12 | "third" => 3, 13 | "fourth" => 4, 14 | "fifth" => 5, 15 | "sixth" => 6]; 16 | $collect = collect($arr, function($e){ return $e * $e; }); 17 | foreach($collect as $key => $val) echo "$val ($key) "; 18 | ?> -------------------------------------------------------------------------------- /generators/makerange_bad.php: -------------------------------------------------------------------------------- 1 | "; 15 | ?> -------------------------------------------------------------------------------- /generators/makerange_good.php: -------------------------------------------------------------------------------- 1 | "; 13 | ?> -------------------------------------------------------------------------------- /generators/object.php: -------------------------------------------------------------------------------- 1 | "; 6 | yield $i; 7 | } 8 | } 9 | $generator = simple(); 10 | echo gettype($generator); // object 11 | ?> 12 | -------------------------------------------------------------------------------- /generators/ref.php: -------------------------------------------------------------------------------- 1 | 0) { 6 | yield $value; 7 | } 8 | } 9 | 10 | foreach (reference() as &$number) { 11 | echo (--$number).' '; 12 | } 13 | ?> -------------------------------------------------------------------------------- /generators/reject.php: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /generators/return.php: -------------------------------------------------------------------------------- 1 | "; 20 | } 21 | echo "return = ".$generator->getReturn(); 22 | ?> -------------------------------------------------------------------------------- /generators/select.php: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /generators/send.php: -------------------------------------------------------------------------------- 1 | send("Hello, world!
"); 12 | $block->send("Hello, PHP!
"); 13 | ?> -------------------------------------------------------------------------------- /generators/simple.php: -------------------------------------------------------------------------------- 1 | "; 6 | yield $i; 7 | } 8 | } 9 | 10 | foreach(simple() as $val) { 11 | echo "квадрат = ".($val * $val)."
"; 12 | if ($val >= 5) break; 13 | } 14 | ?> -------------------------------------------------------------------------------- /generators/yield.php: -------------------------------------------------------------------------------- 1 | "; 5 | yield 1; 6 | echo "перед вторым yield
"; 7 | yield 2; 8 | echo "перед третьим yield
"; 9 | yield 3; 10 | echo "после третьего yield
"; 11 | } 12 | 13 | foreach(generator() as $i) { 14 | echo "$i
"; 15 | } 16 | ?> -------------------------------------------------------------------------------- /inherit/File/Logger.php: -------------------------------------------------------------------------------- 1 | name = $name; 11 | $this->f = fopen($fname, "a+"); 12 | } 13 | public function __destruct() 14 | { 15 | fputs($this->f, join("", $this->lines)); 16 | fclose($this->f); 17 | } 18 | public function log($str) 19 | { 20 | $prefix = "[".date("Y-m-d_h:i:s ")."{$this->name}] "; 21 | $str = preg_replace('/^/m', $prefix, rtrim($str)); 22 | $this->lines[] = $str."\n"; 23 | } 24 | } 25 | ?> -------------------------------------------------------------------------------- /inherit/abstract.php: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /inherit/anonym.php: -------------------------------------------------------------------------------- 1 | title = "Hello world!"; 14 | } 15 | }); 16 | ?> -------------------------------------------------------------------------------- /inherit/anonym_nested.php: -------------------------------------------------------------------------------- 1 | title) extends Container 10 | { 11 | 12 | private $name; 13 | 14 | public function __construct($title) 15 | { 16 | $this->name = $title; 17 | } 18 | 19 | public function print() 20 | { 21 | echo "{$this->name} ({$this->id})"; 22 | } 23 | }; 24 | } 25 | } 26 | 27 | (new Container)->anonym()->print(); 28 | ?> -------------------------------------------------------------------------------- /inherit/final.php: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /inherit/inherit.php: -------------------------------------------------------------------------------- 1 | log("Обычное сообщение"); 5 | $logger->debug("Отладочное сообщение"); 6 | ?> -------------------------------------------------------------------------------- /inherit/inherit0.php: -------------------------------------------------------------------------------- 1 | log("Обычное сообщение"); 5 | $logger->debug("Отладочное сообщение"); 6 | ?> -------------------------------------------------------------------------------- /inherit/inherit0cast.php: -------------------------------------------------------------------------------- 1 | log($msg); 11 | exit(); 12 | } 13 | ?> -------------------------------------------------------------------------------- /inherit/inherit_static.php: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /inherit/pages/cast.php: -------------------------------------------------------------------------------- 1 | render(); 6 | } 7 | $shape = new StaticPage(3); 8 | echoPage($shape); 9 | ?> 10 | -------------------------------------------------------------------------------- /inherit/pages/instanceof.php: -------------------------------------------------------------------------------- 1 | "); 8 | $obj->render(); 9 | } 10 | $page = new StaticPage(3); 11 | echoPage($page); 12 | ?> -------------------------------------------------------------------------------- /inherit/pages/test.php: -------------------------------------------------------------------------------- 1 | render(); 7 | echo $page->id($id); 8 | ?> -------------------------------------------------------------------------------- /inherit/static.php: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /inherit/traits_inherit.php: -------------------------------------------------------------------------------- 1 | "; 5 | } 6 | public function authors() { 7 | echo "Page::authors
"; 8 | } 9 | } 10 | 11 | trait Author { 12 | public function tags() { 13 | echo "Author::tags
"; 14 | } 15 | public function authors() { 16 | echo "Author::authors
"; 17 | } 18 | } 19 | 20 | class News extends Page 21 | { 22 | use Author; 23 | 24 | public function authors() { 25 | echo "News::authors
"; 26 | } 27 | } 28 | 29 | $news = new News(); 30 | $news->authors(); // News::authors 31 | $news->tags(); // Author::tags 32 | ?> -------------------------------------------------------------------------------- /instruct/for.php: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /instruct/foreach.php: -------------------------------------------------------------------------------- 1 | $v) 3 | echo "$k => $v
\n"; 4 | ?> 5 | -------------------------------------------------------------------------------- /instruct/goto.php: -------------------------------------------------------------------------------- 1 | "; 6 | if ($i >= 10) goto finish; 7 | goto begin; 8 | finish: 9 | ?> -------------------------------------------------------------------------------- /instruct/ifelse.php: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Альтернативный синтаксис if-else. 5 | 6 | 7 | 8 | 9 | Привет, ! 10 | 11 |
12 | Ваше имя:
13 | 14 |
15 | 16 | 17 | 18 | -------------------------------------------------------------------------------- /instruct/require/foot.html: -------------------------------------------------------------------------------- 1 |
2 | ©Warner Bros., 1999. 3 | 4 | -------------------------------------------------------------------------------- /instruct/require/head.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Демонстрация конструкции require 5 | 6 | 7 | 8 |


--------------------------------------------------------------------------------
/instruct/require/script.php:
--------------------------------------------------------------------------------
1 | 
6 | 


--------------------------------------------------------------------------------
/instruct/trouble/aargh.php:
--------------------------------------------------------------------------------
1 | 


--------------------------------------------------------------------------------
/instruct/trouble/wlib.php:
--------------------------------------------------------------------------------
1 | 
6 | 


--------------------------------------------------------------------------------
/instruct/trouble/xllib.php:
--------------------------------------------------------------------------------
1 | 


--------------------------------------------------------------------------------
/instruct/while.php:
--------------------------------------------------------------------------------
1 | 


--------------------------------------------------------------------------------
/iterators/directory.php:
--------------------------------------------------------------------------------
1 | ";
5 |   }
6 | ?>
7 | 


--------------------------------------------------------------------------------
/iterators/filter.php:
--------------------------------------------------------------------------------
 1 | ";
11 |   }
12 | ?>


--------------------------------------------------------------------------------
/iterators/iter_fs.php:
--------------------------------------------------------------------------------
 1 |  $entry) {
 7 |     if ($entry instanceof FSFile) {
 8 |       // Если это - файл, а не поддиректория...
 9 |       echo "$path: ".$entry->getSize()."
"; 10 | } 11 | } 12 | ?> -------------------------------------------------------------------------------- /iterators/iter_simple.php: -------------------------------------------------------------------------------- 1 | $v) { 13 | echo "$k: $v
"; 14 | } 15 | ?> -------------------------------------------------------------------------------- /iterators/limit.php: -------------------------------------------------------------------------------- 1 | "; 10 | } 11 | ?> -------------------------------------------------------------------------------- /iterators/recursion.php: -------------------------------------------------------------------------------- 1 | getDepth())." $file
"; 9 | } 10 | ?> -------------------------------------------------------------------------------- /iterators/recursion_dir.php: -------------------------------------------------------------------------------- 1 | "; 10 | 11 | if (is_dir("$path/$file")) { 12 | $depth++; 13 | recursion_dir("$path/$file"); 14 | $depth--; 15 | } 16 | } 17 | closedir($dir); 18 | } 19 | 20 | recursion_dir('.'); 21 | ?> 22 | -------------------------------------------------------------------------------- /iterators/size.php: -------------------------------------------------------------------------------- 1 | isFile()) { 6 | // Имя файла и его размер 7 | echo $file." ".$file->getSize()."
"; 8 | } 9 | } 10 | ?> -------------------------------------------------------------------------------- /mail/lib/mail_enc.php: -------------------------------------------------------------------------------- 1 | , Иванов "]; 7 | $tpl = file_get_contents("mail.eml"); 8 | foreach ($tos as $to) { 9 | $mail = $tpl; 10 | $mail = strtr($mail, [ 11 | "{TO}" => $to, 12 | "{TEXT}" => $text, 13 | ]); 14 | $mail = mailenc($mail); 15 | mailx($mail); 16 | } 17 | ?> -------------------------------------------------------------------------------- /mail/lib/template.php: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /mail/mail.eml: -------------------------------------------------------------------------------- 1 | From: Почтовый робот 2 | To: {TO} 3 | Subject: Добрый день! 4 | Content-type: text/plain; charset=utf-8 5 | 6 | Привет, {TO}! 7 | {TEXT} 8 | Это сообщение сгенерировано роботом - не отвечайте на него. -------------------------------------------------------------------------------- /mail/mail.php.eml: -------------------------------------------------------------------------------- 1 | From: Почтовый робот 2 | To: 3 | Subject: Добрый день! 4 | Content-type: text/plain; charset=utf-8 5 | 6 | Привет, ! 7 | 8 | Содержимое переменных окружения на момент отправки письма: 9 | 10 | Это сообщение сгенерировано роботом - не отвечайте на него. -------------------------------------------------------------------------------- /mail/mail_php.php: -------------------------------------------------------------------------------- 1 | "]; 8 | $a = 1; 9 | foreach ($tos as $to) { 10 | // "Разворачиваем" шаблон, передавая ему $to и $text. 11 | $mail = template("mail.php.eml", [ 12 | "to" => $to, 13 | "text" => $text, 14 | ]); 15 | // Дальше как обычно: кодируем и отправляем. 16 | $mail = mailenc($mail); 17 | mailx($mail); 18 | } 19 | ?> -------------------------------------------------------------------------------- /mail/s_20040815135808.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorsimdyanov/php7/4796eaffdd9633bd3f3bbd9985c48da05093d4ef/mail/s_20040815135808.jpg -------------------------------------------------------------------------------- /mail/s_20040815135939.JPG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorsimdyanov/php7/4796eaffdd9633bd3f3bbd9985c48da05093d4ef/mail/s_20040815135939.JPG -------------------------------------------------------------------------------- /math/mt_srand.php: -------------------------------------------------------------------------------- 1 | "; 5 | mt_srand(123); 6 | for ($i = 0; $i < 5; $i++) echo mt_rand()." "; 7 | ?> -------------------------------------------------------------------------------- /math/nan.php: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /math/randline.php: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /memcached/add.php: -------------------------------------------------------------------------------- 1 | add("key", "value")){ 5 | echo "Значение успешно установлено: ". $m->get("key"); 6 | } 7 | ?> -------------------------------------------------------------------------------- /memcached/connect.php: -------------------------------------------------------------------------------- 1 | addServer('localhost', 11211); 4 | ?> -------------------------------------------------------------------------------- /memcached/connect_multi.php: -------------------------------------------------------------------------------- 1 | addServers([ 4 | ['localhost', 11211, 10], 5 | ['localhost', 11212, 10], 6 | ]); 7 | ?> -------------------------------------------------------------------------------- /memcached/delete_by_key.php: -------------------------------------------------------------------------------- 1 | getServerList() as $server) { 10 | $keys["{$server['host']}:{$server['port']}"] = []; 11 | } 12 | // Распределяем ключи по их серверам 13 | foreach($arr as $key) { 14 | $server = $m->getServerByKey($key); 15 | $keys["{$server['host']}:{$server['port']}"][] = $key; 16 | } 17 | // Удаляем группы ключей с их сервера 18 | foreach($keys as $server => $group) { 19 | $m->deleteMultiByKey($group[0], $group); 20 | } 21 | ?> -------------------------------------------------------------------------------- /memcached/error.php: -------------------------------------------------------------------------------- 1 | add("key", "value")) echo $m->getResultMessage()."
"; 5 | if(!$m->add("key", "value")) echo $m->getResultMessage()."
"; // NOT STORED 6 | ?> -------------------------------------------------------------------------------- /memcached/error_code.php: -------------------------------------------------------------------------------- 1 | get('key'))) { 5 | if ($m->getResultCode() == Memcached::RES_NOTFOUND) { 6 | $key = 'value'; 7 | $m->add('key', $key); 8 | } 9 | } 10 | echo $key; 11 | ?> -------------------------------------------------------------------------------- /memcached/fetch.php: -------------------------------------------------------------------------------- 1 | "value1", 6 | "key2" => "value2", 7 | "key3" => "value3" 8 | ]; 9 | 10 | // Установка значений 11 | $m->setMulti($values); 12 | // Извлечение значений 13 | $m->getDelayed(array_keys($values)); 14 | while ($result = $m->fetch()) { 15 | echo $result['value']."
"; 16 | } 17 | ?> -------------------------------------------------------------------------------- /memcached/get_by_key.php: -------------------------------------------------------------------------------- 1 | getByKey($key, $key)."
"; 10 | } 11 | ?> -------------------------------------------------------------------------------- /memcached/get_multi.php: -------------------------------------------------------------------------------- 1 | "value1", 6 | "key2" => "value2", 7 | "key3" => "value3" 8 | ]; 9 | 10 | // Установка значений 11 | $m->setMulti($values); 12 | // Извлечение значений 13 | $results = $m->getMulti(array_keys($values)); 14 | echo "
";
15 |   print_r($results);
16 |   echo "
"; 17 | ?> -------------------------------------------------------------------------------- /memcached/groups.php: -------------------------------------------------------------------------------- 1 | getServerList() as $server) { 10 | $keys["{$server['host']}:{$server['port']}"] = []; 11 | } 12 | // Распределяем ключи по их серверам 13 | foreach($arr as $key) { 14 | $server = $m->getServerByKey($key); 15 | $keys["{$server['host']}:{$server['port']}"][] = $key; 16 | } 17 | echo "
";
18 |   print_r($keys);
19 |   echo "
"; 20 | ?> -------------------------------------------------------------------------------- /memcached/increment.php: -------------------------------------------------------------------------------- 1 | setOption(Memcached::OPT_BINARY_PROTOCOL, true); 6 | 7 | echo $m->increment("number", 1, 0); 8 | ?> -------------------------------------------------------------------------------- /memcached/server_by_key.php: -------------------------------------------------------------------------------- 1 | getServerByKey($key); 9 | echo "$key => {$server['host']}:{$server['port']}
"; 10 | } 11 | ?> -------------------------------------------------------------------------------- /memcached/set.php: -------------------------------------------------------------------------------- 1 | set("key", "value1")) echo $m->getResultMessage()."
"; 5 | if(!$m->set("key", "value2")) echo $m->getResultMessage()."
"; 6 | echo $m->get("key"); // value2 7 | ?> -------------------------------------------------------------------------------- /memcached/set_by_key.php: -------------------------------------------------------------------------------- 1 | setByKey($value, $value, $value)) { 9 | echo "Успешно размещено на сервере $value
"; 10 | } 11 | } 12 | ?> -------------------------------------------------------------------------------- /memcached/set_multi.php: -------------------------------------------------------------------------------- 1 | "value1", 6 | "key2" => "value2", 7 | "key3" => "value3" 8 | ]; 9 | 10 | // Установка значений 11 | $m->setMulti($values); 12 | // Извлечение значений 13 | foreach(array_keys($values) as $key) 14 | echo $m->get($key)."
" 15 | ?> -------------------------------------------------------------------------------- /mysql/.my.cnf: -------------------------------------------------------------------------------- 1 | [client] 2 | user = root 3 | password = password 4 | max_allowed_packet = 16M -------------------------------------------------------------------------------- /mysql/authors.sql: -------------------------------------------------------------------------------- 1 | CREATE TABLE authors ( 2 | id INT(11) NOT NULL AUTO_INCREMENT, 3 | name TINYTEXT, 4 | passw TINYTEXT, 5 | email TINYTEXT, 6 | url TEXT, 7 | iсq TINYTEXT, 8 | about TEXT, 9 | photo TINYTEXT, 10 | putdate DATETIME DEFAULT NULL, 11 | last_time DATETIME DEFAULT NULL, 12 | themes INT(10) DEFAULT NULL, 13 | statususer ENUM('user','moderator','admin') NOT NULL default 'user', 14 | PRIMARY KEY (id) 15 | ); -------------------------------------------------------------------------------- /mysql/auto.sql: -------------------------------------------------------------------------------- 1 | CREATE TABLE tbl ( 2 | id INT(11) NOT NULL AUTO_INCREMENT, 3 | name TINYTEXT NOT NULL, 4 | PRIMARY KEY (id) 5 | ); 6 | INSERT INTO tbl VALUES (NULL, 'Процессоры'); 7 | INSERT INTO tbl VALUES (NULL, 'Материнские платы'); 8 | INSERT INTO tbl VALUES (NULL, 'Видеоадаптеры'); 9 | SELECT * FROM tbl; -------------------------------------------------------------------------------- /mysql/catalogs.sql: -------------------------------------------------------------------------------- 1 | CREATE TABLE catalogs ( 2 | catalog_id INT(11) NOT NULL, 3 | name TINYTEXT NOT NULL 4 | ); -------------------------------------------------------------------------------- /mysql/connect.php: -------------------------------------------------------------------------------- 1 | PDO::ERRMODE_EXCEPTION]); 8 | } 9 | catch (PDOException $e) { 10 | echo "Невозможно установить соединение с базой данных"; 11 | } 12 | ?> -------------------------------------------------------------------------------- /mysql/connect_db.php: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /mysql/errors.php: -------------------------------------------------------------------------------- 1 | query($query); 8 | echo $ver->fetch()['version']; 9 | } catch (PDOException $e) { 10 | echo "Ошибка выполнения запроса: " . $e->getMessage(); 11 | } 12 | ?> -------------------------------------------------------------------------------- /mysql/exec.php: -------------------------------------------------------------------------------- 1 | exec($query); 10 | if ($count !== false) 11 | echo "Таблица создана успешно"; 12 | else { 13 | echo "Не удалось создать таблицу"; 14 | echo "
";
15 |     print_r($pdo->errorInfo());
16 |     echo "
";
17 |   }
18 | ?>


--------------------------------------------------------------------------------
/mysql/fetch.php:
--------------------------------------------------------------------------------
 1 | query($query);
 6 | 
 7 |   try {
 8 |     while($catalog = $cat->fetch())
 9 |       echo $catalog['name']."
"; 10 | } catch (PDOException $e) { 11 | echo "Ошибка выполнения запроса: " . $e->getMessage(); 12 | } 13 | ?> -------------------------------------------------------------------------------- /mysql/fetch_all.php: -------------------------------------------------------------------------------- 1 | query($query); 7 | 8 | $catalogs = $cat->fetchAll(); 9 | foreach($catalogs as $catalog) 10 | echo $catalog['name']."
"; 11 | } catch (PDOException $e) { 12 | echo "Ошибка выполнения запроса: " . $e->getMessage(); 13 | } 14 | ?> -------------------------------------------------------------------------------- /mysql/forums.sql: -------------------------------------------------------------------------------- 1 | CREATE TABLE forums ( 2 | id INT(11) NOT NULL AUTO_INCREMENT, 3 | name TINYTEXT, 4 | rule TEXT, 5 | logo TINYTEXT, 6 | pos INT(11) DEFAULT NULL, 7 | hide ENUM('show','hide') NOT NULL DEFAULT 'show', 8 | PRIMARY KEY (id) 9 | ); -------------------------------------------------------------------------------- /mysql/multi_insert.sql: -------------------------------------------------------------------------------- 1 | CREATE TABLE catalogs ( 2 | catalog_id INT(11) NOT NULL AUTO_INCREMENT, 3 | name TINYTEXT NOT NULL, 4 | PRIMARY KEY (catalog_id) 5 | ); 6 | INSERT INTO catalogs VALUES (NULL, 'Процессоры'), 7 | (NULL, 'Материнские платы'), 8 | (NULL, 'Видеоадаптеры'), 9 | (NULL, 'Жесткие диски'), 10 | (NULL, 'Оперативная память'); -------------------------------------------------------------------------------- /mysql/news.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Добавление новости 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 |
Название:
Содержимое:
24 | 25 | -------------------------------------------------------------------------------- /mysql/news.sql: -------------------------------------------------------------------------------- 1 | CREATE TABLE news ( 2 | news_id INT(11) NOT NULL AUTO_INCREMENT, 3 | name TINYTEXT NOT NULL, 4 | putdate DATETIME NOT NULL, 5 | PRIMARY KEY (news_id) 6 | ); 7 | CREATE TABLE news_contents ( 8 | content_id INT(11) NOT NULL AUTO_INCREMENT, 9 | content TEXT NOT NULL, 10 | news_id INT(11) NOT NULL, 11 | PRIMARY KEY (content_id) 12 | ); 13 | -------------------------------------------------------------------------------- /mysql/posts.sql: -------------------------------------------------------------------------------- 1 | CREATE TABLE posts ( 2 | id INT(11) NOT NULL AUTO_INCREMENT, 3 | name TINYTEXT, 4 | url TEXT, 5 | file TINYTEXT, 6 | author TINYTEXT, 7 | author_id INT(11) DEFAULT NULL, 8 | hide ENUM('show','hide') NOT NULL DEFAULT 'show', 9 | putdate DATETIME DEFAULT NULL, 10 | parent_post INT(11) DEFAULT NULL, 11 | theme_id INT(11) DEFAULT NULL, 12 | PRIMARY KEY (id) 13 | ); -------------------------------------------------------------------------------- /mysql/prepare.php: -------------------------------------------------------------------------------- 1 | prepare($query); 9 | $cat->execute(['catalog_id' => 1]); 10 | echo $cat->fetch()['name']; // Процессоры 11 | } catch (PDOException $e) { 12 | echo "Ошибка выполнения запроса: " . $e->getMessage(); 13 | } 14 | ?> -------------------------------------------------------------------------------- /mysql/pri.sql: -------------------------------------------------------------------------------- 1 | CREATE TABLE tbl ( 2 | id INT(11) NOT NULL, 3 | name TINYTEXT NOT NULL, 4 | PRIMARY KEY (id) 5 | ); 6 | INSERT INTO tbl VALUES (1, 'Видеоадаптеры'); 7 | INSERT INTO tbl VALUES (1, 'Видеоадаптеры'); -------------------------------------------------------------------------------- /mysql/tbl.sql: -------------------------------------------------------------------------------- 1 | CREATE TABLE tbl ( 2 | id INT(11) NOT NULL DEFAULT '5', 3 | id_cat INT(11) DEFAULT NULL 4 | ); -------------------------------------------------------------------------------- /mysql/tbl_insert.sql: -------------------------------------------------------------------------------- 1 | INSERT INTO tbl VALUES (10, 20); 2 | INSERT INTO tbl (id_cat, id) VALUES (10, 20); 3 | INSERT INTO tbl (id) VALUES (30); 4 | INSERT INTO tbl () VALUES (); -------------------------------------------------------------------------------- /mysql/tbl_order.sql: -------------------------------------------------------------------------------- 1 | CREATE TABLE tbl ( 2 | id_catalog int(11) NOT NULL, 3 | putdate datetime NOT NULL 4 | ); 5 | INSERT INTO tbl VALUES (5, '2016-01-04 05:01:58'); 6 | INSERT INTO tbl VALUES (3, '2016-01-03 12:10:45'); 7 | INSERT INTO tbl VALUES (4, '2016-01-10 16:10:25'); 8 | INSERT INTO tbl VALUES (1, '2016-12-20 08:34:09'); 9 | INSERT INTO tbl VALUES (2, '2016-01-06 20:57:42'); 10 | INSERT INTO tbl VALUES (2, '2016-12-24 18:42:41'); 11 | INSERT INTO tbl VALUES (5, '2016-12-25 09:35:01'); 12 | INSERT INTO tbl VALUES (1, '2016-12-23 15:14:26'); 13 | INSERT INTO tbl VALUES (4, '2016-12-26 21:32:00'); 14 | INSERT INTO tbl VALUES (3, '2016-12-25 12:11:10'); -------------------------------------------------------------------------------- /mysql/themes.sql: -------------------------------------------------------------------------------- 1 | CREATE TABLE themes ( 2 | id INT(11) NOT NULL AUTO_INCREMENT, 3 | name TINYTEXT, 4 | author TINYTEXT, 5 | id_author INT(11) DEFAULT NULL, 6 | hide ENUM('show','hide') NOT NULL DEFAULT 'show', 7 | putdate DATETIME DEFAULT NULL, 8 | forum_id INT(11) default NULL, 9 | PRIMARY KEY (id) 10 | ); -------------------------------------------------------------------------------- /mysql/version.php: -------------------------------------------------------------------------------- 1 | query($query); 7 | // Извлекаем результат 8 | $version = $ver->fetch(); 9 | echo $version['version']; // 5.5.46-0ubuntu0.14.04.2 10 | ?> -------------------------------------------------------------------------------- /namespace/PHP7/Page.php: -------------------------------------------------------------------------------- 1 | title = $title; 20 | $this->content = $content; 21 | } 22 | } 23 | ?> -------------------------------------------------------------------------------- /namespace/PHP7/Seo.php: -------------------------------------------------------------------------------- 1 | "; 13 | } 14 | public function description() 15 | { 16 | // $query = "SELECT description FROM seo WHERE id = :id LIMIT 1" 17 | echo "Seo::description
"; 18 | } 19 | public function ogs() 20 | { 21 | // $query = "SELECT ogs FROM seo WHERE id = :id LIMIT 1" 22 | echo "Seo::ogs
"; 23 | } 24 | } 25 | ?> -------------------------------------------------------------------------------- /namespace/PHP7/Tag.php: -------------------------------------------------------------------------------- 1 | "; 10 | } 11 | } 12 | ?> -------------------------------------------------------------------------------- /namespace/absolute.php: -------------------------------------------------------------------------------- 1 | "; 15 | // Это стандартная функция strlen() 16 | echo \strlen("Hello world!")."
"; 17 | ?> -------------------------------------------------------------------------------- /namespace/anonim.php: -------------------------------------------------------------------------------- 1 | tags(); 8 | ?> -------------------------------------------------------------------------------- /namespace/autoload.php: -------------------------------------------------------------------------------- 1 | tags(); 10 | ?> -------------------------------------------------------------------------------- /namespace/few.php: -------------------------------------------------------------------------------- 1 | "; 8 | print_r($obj); 9 | echo "
"; 10 | } 11 | } 12 | 13 | namespace PHP7\classes 14 | { 15 | // Класс страницы 16 | class Page 17 | { 18 | // заголовок 19 | protected $title; 20 | // содержимое 21 | protected $content; 22 | // Конструктор класса 23 | public function __construct($title = '', $content = '') 24 | { 25 | $this->title = $title; 26 | $this->content = $content; 27 | } 28 | } 29 | } 30 | ?> -------------------------------------------------------------------------------- /namespace/few_relative.php: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /namespace/few_use.php: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /namespace/namespace.php: -------------------------------------------------------------------------------- 1 | "; 8 | print_r($obj); 9 | echo "
"; 10 | } 11 | 12 | // Класс страницы 13 | class Page 14 | { 15 | // заголовок 16 | protected $title; 17 | // содержимое 18 | protected $content; 19 | // Конструктор класса 20 | public function __construct($title = '', $content = '') 21 | { 22 | $this->title = $title; 23 | $this->content = $content; 24 | } 25 | } 26 | ?> -------------------------------------------------------------------------------- /namespace/namespace_use.php: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /namespace/spl_autoload_register.php: -------------------------------------------------------------------------------- 1 | tags(); 6 | ?> -------------------------------------------------------------------------------- /namespace/use.php: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /namespace/wrong.php: -------------------------------------------------------------------------------- 1 | tags(); 8 | ?> -------------------------------------------------------------------------------- /net/context.php: -------------------------------------------------------------------------------- 1 | [ 4 | 'method' => 'GET', 5 | 'user_agent' => 'Mozilla/5.0 (Windows NT 6.3; WOW64; rv:42.0)', 6 | 'header' => 'Content-type: text/html; charset=UTF-8' 7 | ] 8 | ]; 9 | 10 | echo file_get_contents( 11 | 'http://php.net', 12 | false, 13 | stream_context_create($opts) 14 | ); 15 | ?> -------------------------------------------------------------------------------- /net/file.php: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /net/form.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Форма для отправки данных методом POST 5 | 6 | 7 | 8 |
9 | Имя:
10 | Фамилия:
11 | 12 |
13 | 14 | -------------------------------------------------------------------------------- /net/handler.php: -------------------------------------------------------------------------------- 1 | 0) echo "Здравствуйте, ".implode(" ", $name)."!"; 6 | ?> -------------------------------------------------------------------------------- /net/socket.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorsimdyanov/php7/4796eaffdd9633bd3f3bbd9985c48da05093d4ef/net/socket.php -------------------------------------------------------------------------------- /net/wrap.php: -------------------------------------------------------------------------------- 1 | Первая страница (HTTP):"; 3 | echo file_get_contents("http://php.net"); 4 | echo "

Вторая страница (FTP):

"; 5 | echo file_get_contents("ftp://ftp.aha.ru/"); 6 | ?> -------------------------------------------------------------------------------- /nginx/nginx.conf: -------------------------------------------------------------------------------- 1 | user www-data; 2 | worker_processes 4; 3 | pid /run/nginx.pid; 4 | 5 | events { 6 | worker_connections 1024; 7 | } 8 | 9 | http { 10 | 11 | sendfile on; 12 | tcp_nopush on; 13 | tcp_nodelay on; 14 | keepalive_timeout 65; 15 | 16 | include /etc/nginx/mime.types; 17 | default_type application/octet-stream; 18 | 19 | access_log /var/log/nginx/access.log; 20 | error_log /var/log/nginx/error.log; 21 | 22 | gzip on; 23 | gzip_disable "msie6"; 24 | 25 | include /etc/nginx/conf.d/*.conf; 26 | include /etc/nginx/sites-enabled/*; 27 | } -------------------------------------------------------------------------------- /nginx/sites-available/example.com: -------------------------------------------------------------------------------- 1 | server { 2 | listen 80; 3 | root /var/www/example.com/www; 4 | access_log /var/www/example.com/log/access.log; 5 | error_log /var/www/example.com/log/error.log; 6 | 7 | index index.html; 8 | 9 | error_page 404 /404.html; 10 | error_page 500 /500.html; 11 | 12 | server_name example.com www.example.com; 13 | client_max_body_size 32m; 14 | } -------------------------------------------------------------------------------- /nginx/sites-available/example.info: -------------------------------------------------------------------------------- 1 | server { 2 | listen 80; 3 | root /var/www/example.info/www; 4 | access_log /var/www/example.info/log/access.log; 5 | error_log /var/www/example.info/log/error.log; 6 | 7 | server_name example.info www.example.info; 8 | 9 | include /etc/nginx/templates/default; 10 | 11 | location ~ \.php$ { 12 | try_files $uri = 404; 13 | fastcgi_pass unix:/var/run/php5-fpm.sock; 14 | fastcgi_index index.php; 15 | include fastcgi_params; 16 | } 17 | } -------------------------------------------------------------------------------- /nginx/sites-available/example.io: -------------------------------------------------------------------------------- 1 | server { 2 | listen 80; 3 | root /var/www/example.io/www; 4 | access_log /var/www/example.io/log/access.log; 5 | error_log /var/www/example.io/log/error.log; 6 | 7 | server_name example.io www.example.io; 8 | 9 | include /etc/nginx/templates/default; 10 | include /etc/nginx/templates/php; 11 | } 12 | -------------------------------------------------------------------------------- /nginx/sites-available/example.net: -------------------------------------------------------------------------------- 1 | server { 2 | listen 80; 3 | root /var/www/example.net/www; 4 | access_log /var/www/example.net/log/access.log; 5 | error_log /var/www/example.net/log/error.log; 6 | 7 | server_name example.net www.example.net; 8 | 9 | include /etc/nginx/templates/default; 10 | } -------------------------------------------------------------------------------- /nginx/sites-available/example.org: -------------------------------------------------------------------------------- 1 | server { 2 | listen 80; 3 | root /var/www/example.org/www; 4 | access_log /var/www/example.org/log/access.log; 5 | error_log /var/www/example.org/log/error.log; 6 | 7 | server_name example.org www.example.org; 8 | 9 | include /etc/nginx/templates/default; 10 | 11 | location ~* \.php$ { 12 | try_file $uri $uri/ @php; 13 | } 14 | location @php { 15 | proxy_pass http://localhost:9000; 16 | include fastcgi_params; 17 | fastcgi_index index.php; 18 | } 19 | } -------------------------------------------------------------------------------- /nginx/templates/default: -------------------------------------------------------------------------------- 1 | # Типовые настройки, общие для всех доменов 2 | index index.php index.html; 3 | # Максимальный размер HTTP-документа 4 | client_max_body_size 32m; 5 | 6 | # Закрываем доступ к файлам .htaccess и .htpassword 7 | location ~ /\.ht { 8 | deny all; 9 | } 10 | # Не помещаем в журнальный файл обращения к favicon.ico 11 | location = /favicon.ico { 12 | log_not_found off; 13 | access_log off; 14 | } 15 | # Не помещаем в журнальный файл обращения к robots.txt, если его нет 16 | location = /robots.txt { 17 | allow all; 18 | log_not_found off; 19 | access_log off; 20 | } 21 | # Не помещаем в журнальный файл, обращения к файлам, начинающимся с /apple-touch- 22 | location ~ /apple-touch- { 23 | log_not_found off; 24 | access_log off; 25 | } 26 | -------------------------------------------------------------------------------- /nginx/templates/php: -------------------------------------------------------------------------------- 1 | location ~ \.php$ { 2 | try_files $uri = 404; 3 | fastcgi_pass unix:/var/run/php5-fpm.sock; 4 | fastcgi_index index.php; 5 | include fastcgi_params; 6 | } 7 | -------------------------------------------------------------------------------- /ob/linearize.php: -------------------------------------------------------------------------------- 1 | "; // выводит 200 5 | echo $neg(2) . "
"; // выводит -2 6 | ?> -------------------------------------------------------------------------------- /otherfuncs/eval.php: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /otherfuncs/lastmod.php: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /otherfuncs/mkfuncs.php: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /otherfuncs/phpinfo.php: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /otherfuncs/sort.php: -------------------------------------------------------------------------------- 1 | $value) echo "$key: $value
\n"; 5 | ?> -------------------------------------------------------------------------------- /otherfuncs/sort_new.php: -------------------------------------------------------------------------------- 1 | . 2 | $fruits = ["orange", "apple", "apricot", "lemon"]; 3 | usort($fruits, function($a, $b) { return $b <=> $a; }); 4 | foreach ($fruits as $key => $value) echo "$key: $value
\n"; 5 | ?> -------------------------------------------------------------------------------- /otherfuncs/sort_old.php: -------------------------------------------------------------------------------- 1 | $value) echo "$key: $value
\n"; 5 | ?> -------------------------------------------------------------------------------- /perm/fileperms.php: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /perm/mtime.php: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /perm/text.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorsimdyanov/php7/4796eaffdd9633bd3f3bbd9985c48da05093d4ef/perm/text.txt -------------------------------------------------------------------------------- /perm/typefile.php: -------------------------------------------------------------------------------- 1 | 23 | -------------------------------------------------------------------------------- /phar/array.php: -------------------------------------------------------------------------------- 1 | startBuffering(); 10 | // Формируем файл phpinfo.php 11 | $phar['phpinfo.php'] = 'stopBuffering(); 14 | } else { 15 | echo 'PHAR-архив не может быть бы записан'; 16 | } 17 | } catch (Exception $e) { 18 | echo 'Невозможно открыть PHAR-архив: ', $e; 19 | } 20 | -------------------------------------------------------------------------------- /phar/autoloader.php: -------------------------------------------------------------------------------- 1 | startBuffering(); 6 | 7 | foreach(glob('../composer/photos/*') as $jpg) { 8 | $phar[basename($jpg)] = file_get_contents($jpg); 9 | } 10 | // Назначаем файл-заглушку 11 | $phar['show.php'] = file_get_contents('show.php'); 12 | $phar->setDefaultStub('show.php', 'show.php'); 13 | // Сжимаем файл 14 | $phar->compress(Phar::GZ); 15 | 16 | $phar->stopBuffering(); 17 | } else { 18 | echo 'PHAR-архив не может быть бы записан'; 19 | } 20 | } catch (Exception $e) { 21 | echo 'Невозможно открыть PHAR-архив: ', $e; 22 | } 23 | -------------------------------------------------------------------------------- /phar/extract.php: -------------------------------------------------------------------------------- 1 | extractTo('extract'); 5 | } catch (Exception $e) { 6 | echo 'Невозможно открыть PHAR-архив: ', $e; 7 | } 8 | -------------------------------------------------------------------------------- /phar/foreach.php: -------------------------------------------------------------------------------- 1 | "; 6 | } 7 | closedir($dir); 8 | } catch (Exception $e) { 9 | echo 'Невозможно открыть PHAR-архив: ', $e; 10 | } 11 | -------------------------------------------------------------------------------- /phar/gallery.phar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorsimdyanov/php7/4796eaffdd9633bd3f3bbd9985c48da05093d4ef/phar/gallery.phar -------------------------------------------------------------------------------- /phar/gallery.php: -------------------------------------------------------------------------------- 1 |
"; 12 | } 13 | } 14 | } catch (Exception $e) { 15 | echo 'Невозможно открыть PHAR-архив: ', $e; 16 | } 17 | -------------------------------------------------------------------------------- /phar/gallery_use.php: -------------------------------------------------------------------------------- 1 | function ($value) { 9 | return preg_replace('/[^_\.\w\d]+/', '', $value); 10 | } 11 | ] 12 | ); 13 | if(file_exists($_GET['image'])) { 14 | // Выгружаем файл 15 | header('Content-Type: image/jpeg'); 16 | header("Content-Length: " . filesize($_GET['image'])); 17 | readfile($_GET['image']); 18 | exit(); 19 | } 20 | } 21 | // Файл не обнаружен 22 | header("HTTP/1.0 404 Not Found"); 23 | -------------------------------------------------------------------------------- /phar/stream.php: -------------------------------------------------------------------------------- 1 | getItems() as $line) { 9 | echo htmlspecialchars($line)."
"; 10 | } 11 | // Постраничная навигация 12 | echo "

$obj

"; 13 | -------------------------------------------------------------------------------- /phar/text.phar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorsimdyanov/php7/4796eaffdd9633bd3f3bbd9985c48da05093d4ef/phar/text.phar -------------------------------------------------------------------------------- /phar/text.php: -------------------------------------------------------------------------------- 1 | startBuffering(); 5 | $phar['largetextfile.txt'] = file_get_contents('../math/largetextfile.txt'); 6 | $phar->stopBuffering(); 7 | 8 | // Читаем содержимое PHAR-архива 9 | echo nl2br(file_get_contents('phar://text.phar/largetextfile.txt')); 10 | -------------------------------------------------------------------------------- /phpbasics/sq.php: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Простейший PHP-сценарий 5 | 6 | 7 | 8 |

Здравствуйте!

9 |

10 | \n"; 17 | echo "Текущее время: $tm
\n"; 18 | # Выводим цифры 19 | echo "А вот квадраты и кубы первых 5 натуральных чисел:
\n"; 20 | echo "

    \n"; 21 | for ($i = 1; $i <= 5; $i++) { 22 | echo "
  • $i в квадрате = " . ($i * $i); 23 | echo ", $i в кубе = " . ($i * $i * $i) . "
  • \n"; 24 | } 25 | ?> 26 |
27 |

28 | 29 | -------------------------------------------------------------------------------- /phpdocs/phpdocs/composer.json: -------------------------------------------------------------------------------- 1 | { 2 | "require": { 3 | "phpdocumentor/phpdocumentor": "2.*" 4 | } 5 | } -------------------------------------------------------------------------------- /phpdocs/phpdocs/docblock.php: -------------------------------------------------------------------------------- 1 | "; 17 | print_r($arr); 18 | echo "
"; 19 | } 20 | -------------------------------------------------------------------------------- /phpdocs/phpdocs/docs/.htaccess: -------------------------------------------------------------------------------- 1 | # Fixes a vulnerability in CentOS: http://stackoverflow.com/questions/20533279/prevent-php-from-parsing-non-php-files-such-as-somefile-php-txt 2 | 3 | RemoveHandler .php 4 | ForceType text/plain 5 | -------------------------------------------------------------------------------- /phpdocs/phpdocs/docs/css/phpdocumentor-clean-icons/Read Me.txt: -------------------------------------------------------------------------------- 1 | To modify your generated font, use the *dev.svg* file, located in the *fonts* folder in this package. You can import this dev.svg file to the IcoMoon app. All the tags (class names) and the Unicode points of your glyphs are saved in this file. 2 | 3 | See the documentation for more info on how to use this package: http://icomoon.io/#docs/font-face -------------------------------------------------------------------------------- /phpdocs/phpdocs/docs/css/phpdocumentor-clean-icons/fonts/phpdocumentor-clean-icons.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorsimdyanov/php7/4796eaffdd9633bd3f3bbd9985c48da05093d4ef/phpdocs/phpdocs/docs/css/phpdocumentor-clean-icons/fonts/phpdocumentor-clean-icons.eot -------------------------------------------------------------------------------- /phpdocs/phpdocs/docs/css/phpdocumentor-clean-icons/fonts/phpdocumentor-clean-icons.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorsimdyanov/php7/4796eaffdd9633bd3f3bbd9985c48da05093d4ef/phpdocs/phpdocs/docs/css/phpdocumentor-clean-icons/fonts/phpdocumentor-clean-icons.ttf -------------------------------------------------------------------------------- /phpdocs/phpdocs/docs/css/phpdocumentor-clean-icons/fonts/phpdocumentor-clean-icons.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorsimdyanov/php7/4796eaffdd9633bd3f3bbd9985c48da05093d4ef/phpdocs/phpdocs/docs/css/phpdocumentor-clean-icons/fonts/phpdocumentor-clean-icons.woff -------------------------------------------------------------------------------- /phpdocs/phpdocs/docs/files/docblock.php.txt: -------------------------------------------------------------------------------- 1 | "; 17 | print_r($arr); 18 | echo "
"; 19 | } 20 | 21 | -------------------------------------------------------------------------------- /phpdocs/phpdocs/docs/font/FontAwesome.otf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorsimdyanov/php7/4796eaffdd9633bd3f3bbd9985c48da05093d4ef/phpdocs/phpdocs/docs/font/FontAwesome.otf -------------------------------------------------------------------------------- /phpdocs/phpdocs/docs/font/fontawesome-webfont.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorsimdyanov/php7/4796eaffdd9633bd3f3bbd9985c48da05093d4ef/phpdocs/phpdocs/docs/font/fontawesome-webfont.eot -------------------------------------------------------------------------------- /phpdocs/phpdocs/docs/font/fontawesome-webfont.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorsimdyanov/php7/4796eaffdd9633bd3f3bbd9985c48da05093d4ef/phpdocs/phpdocs/docs/font/fontawesome-webfont.ttf -------------------------------------------------------------------------------- /phpdocs/phpdocs/docs/font/fontawesome-webfont.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorsimdyanov/php7/4796eaffdd9633bd3f3bbd9985c48da05093d4ef/phpdocs/phpdocs/docs/font/fontawesome-webfont.woff -------------------------------------------------------------------------------- /phpdocs/phpdocs/docs/images/apple-touch-icon-114x114.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorsimdyanov/php7/4796eaffdd9633bd3f3bbd9985c48da05093d4ef/phpdocs/phpdocs/docs/images/apple-touch-icon-114x114.png -------------------------------------------------------------------------------- /phpdocs/phpdocs/docs/images/apple-touch-icon-72x72.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorsimdyanov/php7/4796eaffdd9633bd3f3bbd9985c48da05093d4ef/phpdocs/phpdocs/docs/images/apple-touch-icon-72x72.png -------------------------------------------------------------------------------- /phpdocs/phpdocs/docs/images/apple-touch-icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorsimdyanov/php7/4796eaffdd9633bd3f3bbd9985c48da05093d4ef/phpdocs/phpdocs/docs/images/apple-touch-icon.png -------------------------------------------------------------------------------- /phpdocs/phpdocs/docs/images/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorsimdyanov/php7/4796eaffdd9633bd3f3bbd9985c48da05093d4ef/phpdocs/phpdocs/docs/images/favicon.ico -------------------------------------------------------------------------------- /phpdocs/phpdocs/docs/images/hierarchy-item.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorsimdyanov/php7/4796eaffdd9633bd3f3bbd9985c48da05093d4ef/phpdocs/phpdocs/docs/images/hierarchy-item.png -------------------------------------------------------------------------------- /phpdocs/phpdocs/docs/images/icon-class-13x13.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorsimdyanov/php7/4796eaffdd9633bd3f3bbd9985c48da05093d4ef/phpdocs/phpdocs/docs/images/icon-class-13x13.png -------------------------------------------------------------------------------- /phpdocs/phpdocs/docs/images/icon-interface-13x13.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorsimdyanov/php7/4796eaffdd9633bd3f3bbd9985c48da05093d4ef/phpdocs/phpdocs/docs/images/icon-interface-13x13.png -------------------------------------------------------------------------------- /phpdocs/phpdocs/docs/images/icon-trait-13x13.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorsimdyanov/php7/4796eaffdd9633bd3f3bbd9985c48da05093d4ef/phpdocs/phpdocs/docs/images/icon-trait-13x13.png -------------------------------------------------------------------------------- /phpdocs/phpdocs/docs/images/iviewer/grab.cur: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorsimdyanov/php7/4796eaffdd9633bd3f3bbd9985c48da05093d4ef/phpdocs/phpdocs/docs/images/iviewer/grab.cur -------------------------------------------------------------------------------- /phpdocs/phpdocs/docs/images/iviewer/hand.cur: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorsimdyanov/php7/4796eaffdd9633bd3f3bbd9985c48da05093d4ef/phpdocs/phpdocs/docs/images/iviewer/hand.cur -------------------------------------------------------------------------------- /phpdocs/phpdocs/docs/images/iviewer/iviewer.rotate_left.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorsimdyanov/php7/4796eaffdd9633bd3f3bbd9985c48da05093d4ef/phpdocs/phpdocs/docs/images/iviewer/iviewer.rotate_left.png -------------------------------------------------------------------------------- /phpdocs/phpdocs/docs/images/iviewer/iviewer.rotate_right.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorsimdyanov/php7/4796eaffdd9633bd3f3bbd9985c48da05093d4ef/phpdocs/phpdocs/docs/images/iviewer/iviewer.rotate_right.png -------------------------------------------------------------------------------- /phpdocs/phpdocs/docs/images/iviewer/iviewer.zoom_fit.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorsimdyanov/php7/4796eaffdd9633bd3f3bbd9985c48da05093d4ef/phpdocs/phpdocs/docs/images/iviewer/iviewer.zoom_fit.png -------------------------------------------------------------------------------- /phpdocs/phpdocs/docs/images/iviewer/iviewer.zoom_in.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorsimdyanov/php7/4796eaffdd9633bd3f3bbd9985c48da05093d4ef/phpdocs/phpdocs/docs/images/iviewer/iviewer.zoom_in.png -------------------------------------------------------------------------------- /phpdocs/phpdocs/docs/images/iviewer/iviewer.zoom_out.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorsimdyanov/php7/4796eaffdd9633bd3f3bbd9985c48da05093d4ef/phpdocs/phpdocs/docs/images/iviewer/iviewer.zoom_out.png -------------------------------------------------------------------------------- /phpdocs/phpdocs/docs/images/iviewer/iviewer.zoom_zero.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorsimdyanov/php7/4796eaffdd9633bd3f3bbd9985c48da05093d4ef/phpdocs/phpdocs/docs/images/iviewer/iviewer.zoom_zero.png -------------------------------------------------------------------------------- /phpdocs/phpdocs/docs/phpdoc-cache-2e/phpdoc-cache-settings.dat: -------------------------------------------------------------------------------- 1 | O:51:"phpDocumentor\Descriptor\ProjectDescriptor\Settings":2:{s:13:"*isModified";b:0;s:13:"*visibility";i:7;} -------------------------------------------------------------------------------- /preg/email.php: -------------------------------------------------------------------------------- 1 | $0', 10 | $text 11 | ); 12 | echo $html; 13 | ?> -------------------------------------------------------------------------------- /preg/ex01.php: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /preg/ex02.php: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /preg/ex03.php: -------------------------------------------------------------------------------- 1 | $0', // заменить их по шаблону 6 | $text // искать в $text 7 | ); 8 | echo $html; 9 | ?> 10 | -------------------------------------------------------------------------------- /preg/ex04.php: -------------------------------------------------------------------------------- 1 | "; 16 | echo "День: $matches[2]
"; 17 | echo "Месяц: $matches[3]
"; 18 | echo "Год: $matches[4]
"; 19 | ?> 20 | -------------------------------------------------------------------------------- /preg/ex05.php: -------------------------------------------------------------------------------- 1 | $1
', $text); 4 | echo "
$html
"; 5 | ?> -------------------------------------------------------------------------------- /preg/ex06.php: -------------------------------------------------------------------------------- 1 | word is bold!"; 3 | $re = '|<(\w+) [^>]* > (.*?) |xs'; 4 | preg_match($re, $str, $matches) or die("Нет тэгов."); 5 | echo htmlspecialchars("'$matches[2]' обрамлено тэгом '$matches[1]'"); 6 | ?> -------------------------------------------------------------------------------- /preg/ex07.php: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /preg/ex08.php: -------------------------------------------------------------------------------- 1 | \d{4})-(?\d{2})-(?'day'\d{2})$|"; 4 | preg_match($re, $str, $matches) or die("Соответствие не найдено"); 5 | echo "День: " . $matches['day'] . "
"; 6 | echo "Месяц: " . $matches['month'] . "
"; 7 | echo "Год: " . $matches['year'] . "
"; 8 | ?> -------------------------------------------------------------------------------- /preg/ex09.php: -------------------------------------------------------------------------------- 1 | word is bold!"; 3 | $re = '|<(\w+) [^>]* > (.*) |xs'; 4 | preg_match($re, $str, $matches) or die("Нет тэгов."); 5 | echo htmlspecialchars("'$matches[2]' обрамлено тэгом '$matches[1]'"); 6 | ?> 7 | -------------------------------------------------------------------------------- /preg/ex10.php: -------------------------------------------------------------------------------- 1 | $1'; 4 | $re1 = '|\[b\] (.*) \[/b\]|ixs'; 5 | $re2 = '|\[b\] (.*?) \[/b\]|ixs'; 6 | $result = preg_replace($re1, $to, $str); 7 | echo "Жадная версия: ".htmlspecialchars($result)."
"; 8 | $result = preg_replace($re2, $to, $str); 9 | echo "Ленивая версия: ".htmlspecialchars($result)."
"; 10 | ?> -------------------------------------------------------------------------------- /preg/ex11.php: -------------------------------------------------------------------------------- 1 | ".htmlspecialchars($str).""; 5 | ?> -------------------------------------------------------------------------------- /preg/ex12.php: -------------------------------------------------------------------------------- 1 | жирный текст'; 3 | $re = '|<(\w+).*?>(.*?)|s'; 4 | preg_match($re, $st, $p, PREG_OFFSET_CAPTURE); 5 | echo "
"; print_r($p); echo "
"; 6 | ?> 7 | -------------------------------------------------------------------------------- /preg/grep.php: -------------------------------------------------------------------------------- 1 | "; 4 | ?> -------------------------------------------------------------------------------- /preg/hsc.php: -------------------------------------------------------------------------------- 1 | "; 4 | ?> 5 |
6 |
9 | 10 |
-------------------------------------------------------------------------------- /preg/match_all.php: -------------------------------------------------------------------------------- 1 | (.*?)|s'; 9 | $text = "текст и еще другой текст"; 10 | echo "Строка: $text\n"; 11 | echo "Выражение: $re\n\n"; 12 | foreach ($flags as $name) { 13 | preg_match_all($re, $text, $mathces, eval("return $name;")); 14 | echo "Флаг $name:\n"; 15 | print_r($mathces); 16 | echo "\n"; 17 | } 18 | ?> -------------------------------------------------------------------------------- /preg/replace_callback.php: -------------------------------------------------------------------------------- 1 | Hello world!'; 3 | 4 | $str = preg_replace_callback( 5 | '{(?\w+)(?.*?>)}s', 6 | function ($m) { return $m['btag'].strtoupper($m['content']).$m['etag']; }, 7 | $str); 8 | 9 | echo htmlspecialchars($str); 10 | ?> 11 | -------------------------------------------------------------------------------- /preg/replace_callback_array.php: -------------------------------------------------------------------------------- 1 | Hello world!'; 3 | 4 | $str = preg_replace_callback_array( 5 | [ 6 | '{(?\w+)(?.*?>)}s' => function($m) { 7 | return $m['btag'].strtoupper($m['content']).$m['etag']; 8 | }, 9 | '{(?<=>)([^<>]+?)(?=<)}s' => function($m){ return "$m[1]"; } 10 | ], 11 | $str); 12 | 13 | echo htmlspecialchars($str); 14 | ?> -------------------------------------------------------------------------------- /redirect/book.txt: -------------------------------------------------------------------------------- 1 | eeee 2 | ggg 3 | eeee 4 | sssssssss 5 | xxxxxx 6 | ddd 7 | ffff 8 | уууууууу 9 | ккккккк 10 | -------------------------------------------------------------------------------- /redirect/internal.php: -------------------------------------------------------------------------------- 1 | . -------------------------------------------------------------------------------- /reflect/impl_meth.php: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /reflect/inst.php: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /reflect/lib/Complex2.php: -------------------------------------------------------------------------------- 1 | re = $re; 7 | $this->im = $im; 8 | } 9 | // Добавляет к текущему комплексному числу другое. 10 | function add(MathComplex2 $y) { 11 | $this->re += $y->re; 12 | $this->im += $y->im; 13 | } 14 | // Преобразует число в строку (например, для вывода). 15 | function __toString() { 16 | return "({$this->re}, {$this->im})"; 17 | } 18 | } 19 | ?> -------------------------------------------------------------------------------- /reflect/rclass.php: -------------------------------------------------------------------------------- 1 | ", $cls, ""; 4 | ?> -------------------------------------------------------------------------------- /reflect/rdoc.php: -------------------------------------------------------------------------------- 1 | ".$obj->getDocComment().""; 9 | ?> -------------------------------------------------------------------------------- /reflect/rexcept.php: -------------------------------------------------------------------------------- 1 | getMessage(); 6 | } 7 | ?> -------------------------------------------------------------------------------- /reflect/rext.php: -------------------------------------------------------------------------------- 1 | getConstants()); 6 | } 7 | echo "
".var_export($consts, true)."
"; 8 | ?> -------------------------------------------------------------------------------- /reflect/rfunc.php: -------------------------------------------------------------------------------- 1 | invoke("left"); 5 | ?> -------------------------------------------------------------------------------- /session/count.php: -------------------------------------------------------------------------------- 1 | 8 |

Счетчик

9 | В текущей сессии работы с браузером Вы открыли эту страницу 10 | раз(а).
11 | Закройте браузер, чтобы обнулить счетчик.
12 | Открыть дочернее окно браузера. -------------------------------------------------------------------------------- /standarts/codesniffer/composer.json: -------------------------------------------------------------------------------- 1 | { 2 | "require": { 3 | "squizlabs/php_codesniffer": "*" 4 | } 5 | } -------------------------------------------------------------------------------- /standarts/indent.php: -------------------------------------------------------------------------------- 1 | "; 5 | print_r($str); 6 | echo ""; 7 | } 8 | // PRS-1 допускает условное объявление 9 | if(!function_exists('get_magic_quotes_gpc')) 10 | { 11 | function get_magic_quotes_gpc() 12 | { 13 | return false; 14 | } 15 | } 16 | ?> -------------------------------------------------------------------------------- /standarts/psr1wrong.php: -------------------------------------------------------------------------------- 1 | "; 12 | print_r($str); 13 | echo ""; 14 | } 15 | ?> 16 | -------------------------------------------------------------------------------- /standarts/psr2.php: -------------------------------------------------------------------------------- 1 | "; 5 | } 6 | } else { 7 | echo "Не передан GET-параметр number
"; 8 | } 9 | -------------------------------------------------------------------------------- /standarts/server.php: -------------------------------------------------------------------------------- 1 | "; 3 | print_r($_SERVER); 4 | -------------------------------------------------------------------------------- /string/ascii.php: -------------------------------------------------------------------------------- 1 | "; 4 | } 5 | ?> -------------------------------------------------------------------------------- /string/compare.php: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /string/htmlspecialchars.php: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Использование htmlspecialchars() 5 | 6 | 7 | 12 | EXAMPLE; 13 | echo htmlspecialchars($example); 14 | ?> 15 | 16 | 17 | -------------------------------------------------------------------------------- /string/replace.php: -------------------------------------------------------------------------------- 1 | "you", "you" => "matrix"]; 4 | echo "str_replace(): ". 5 | str_replace(array_keys($repl), array_values($repl), $text)."
"; 6 | echo "strtr(): ". 7 | strtr($text, $repl); 8 | ?> -------------------------------------------------------------------------------- /string/str_replace.php: -------------------------------------------------------------------------------- 1 | 9 | 10 | 11 | {TITLE} 12 | 13 | 14 | {BODY} 15 | 16 | MARKER; 17 | echo str_replace($from, $to, $template); 18 | ?> 19 | -------------------------------------------------------------------------------- /string/strip_tags.php: -------------------------------------------------------------------------------- 1 | Жирный текст 4 | Моноширинный текст 5 | Ссылка 6 | ad 7 | HTML; 8 | echo "Исходный текст: $st"; 9 | echo "
После удаления тэгов: ".strip_tags($st, ""); 10 | ?> -------------------------------------------------------------------------------- /string/strlen.php: -------------------------------------------------------------------------------- 1 | "; // 21 4 | echo "В строке "$str" ".mb_strlen($str)." символов
"; // 12 5 | ?> 6 | -------------------------------------------------------------------------------- /string/translit.php: -------------------------------------------------------------------------------- 1 | "yo", 'х'=>"h", 'ц'=>"ts", 'ч'=>"ch", 'ш'=>"sh", 9 | 'щ'=>"shch", 'ъ'=>'', 'ь'=>'', 'ю'=>"yu", 'я'=>"ya", 10 | 'Ё'=>"Yo", 'Х'=>"H", 'Ц'=>"Ts", 'Ч'=>"Ch", 'Ш'=>"Sh", 11 | 'Щ'=>"Shch", 'Ъ'=>'', 'Ь'=>'', 'Ю'=>"Yu", 'Я'=>"Ya", 12 | )); 13 | return $st; 14 | } 15 | echo transliterate("У попа была собака, он ее любил."); 16 | ?> -------------------------------------------------------------------------------- /string/utf8.php: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /string/utf8crash.php: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Проблемы с обработкой UTF-8 в PHP 5 | 6 | 7 | 8 | "; 11 | $str = "Привет мир!"; 12 | echo "{$str[2]}
"; 13 | ?> 14 | 15 | -------------------------------------------------------------------------------- /template/1/news.php: -------------------------------------------------------------------------------- 1 | \n"; 3 | echo "

Последние новости:

"; 4 | $f = fopen("../news.txt", "r"); 5 | for ($i=1; !feof($f) && $i <= 5; $i++) { 6 | echo "
  • $i-я новость: ".fgets($f, 1024); 7 | } 8 | echo "\n"; 9 | -------------------------------------------------------------------------------- /template/2/news.php: -------------------------------------------------------------------------------- 1 | 2 | 3 |

    Последние новости:

    4 | 5 | 6 |
  • -я новость: 7 | 8 | 9 | -------------------------------------------------------------------------------- /template/comp/component_gbook_show.php: -------------------------------------------------------------------------------- 1 | loadTemplatefile("view.htm", true, true); 7 | // Загружаем данные гостевой книги. 8 | $book = loadBook("gbook.dat"); 9 | // В цикле генерируем HTML-код книги. 10 | foreach ($book as $id => $e) { 11 | $tpl->setCurrentBlock("book_element") ; 12 | $tpl->setVariable("NAME", $e['name']); 13 | $tpl->setVariable("TEXT", nl2br($e['text'])); 14 | $tpl->parseCurrentBlock(); 15 | } 16 | // Выводим результат. 17 | $tpl->show(); 18 | -------------------------------------------------------------------------------- /template/mvc/passive/gbook.dat: -------------------------------------------------------------------------------- 1 | a:2:{i:1091374571;a:2:{s:4:"name";s:1:"1";s:4:"text";s:69:"asato ma sad gamaya 2 | tamaso ma jyotir gamaya 3 | mrtyor mamrtam gamaya 4 | ";}i:1091374563;a:2:{s:4:"name";s:1:"2";s:4:"text";s:90:"vidyam cavidyam ca yas 5 | tad vedobhayam saha 6 | avidyaya mrtyum tirtva 7 | vidyayamrtam asnute 8 | ";}} -------------------------------------------------------------------------------- /template/mvc/passive/view.htm: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorsimdyanov/php7/4796eaffdd9633bd3f3bbd9985c48da05093d4ef/template/mvc/passive/view.htm -------------------------------------------------------------------------------- /template/mvc/view.php: -------------------------------------------------------------------------------- 1 | 2 | Гостевая книга 3 | 4 |

    Добавьте свое сообщение:

    5 |
    6 | Ваше имя:
    7 | Комментарий:
    8 |
    9 | 10 |
    11 |

    Гостевая книга:

    12 | $e) { ?> 13 | Имя человека:
    14 | Его комментарий:

    15 | 16 | 17 | -------------------------------------------------------------------------------- /template/news.txt: -------------------------------------------------------------------------------- 1 | 22.06.2004. Лоуренс Фишберн - снова спаситель человечества. На этот раз - африканских детей. 2 | 26.06.2004. Тело человека станет частью компьютерной сети 3 | 27.06.2004. Первая официальная экскурсия по городу в Matrix Online. -------------------------------------------------------------------------------- /test: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/igorsimdyanov/php7/4796eaffdd9633bd3f3bbd9985c48da05093d4ef/test -------------------------------------------------------------------------------- /upload/complex.php: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | PHP автоматически создает переменные при закачке 5 | 6 | 7 | 8 | Содержимое $_FILES: '.print_r($_FILES, true)."
    "; 11 | ?> 12 |
    13 |

    Выберите тип файлов в вашей системе:

    14 | Текстовый файл:
    15 | Бинарный файл:
    16 | 17 |
    18 | 19 | -------------------------------------------------------------------------------- /upload/test.php: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | PHP автоматически создает переменные при закачке 5 | 6 | 7 | 8 | Содержимое $_FILES: '.print_r($_FILES, true)."
    "; 11 | ?> 12 | Выберите какой-нибудь файл в форме ниже: 13 |
    14 | 15 | 16 |
    17 | -------------------------------------------------------------------------------- /vagrant/Vagrantfile01: -------------------------------------------------------------------------------- 1 | Vagrant.configure(2) do |config| 2 | config.vm.box = "ubuntu/trusty64" 3 | end 4 | -------------------------------------------------------------------------------- /vagrant/Vagrantfile02: -------------------------------------------------------------------------------- 1 | Vagrant.configure(2) do |config| 2 | config.vm.box = "ubuntu/trusty64" 3 | config.vm.provider "virtualbox" do |vb| 4 | vb.memory = "2048" 5 | end 6 | end 7 | -------------------------------------------------------------------------------- /vagrant/Vagrantfile03: -------------------------------------------------------------------------------- 1 | Vagrant.configure(2) do |config| 2 | config.vm.box = "ubuntu/trusty64" 3 | config.vm.network "forwarded_port", guest: 80, host: 8080 4 | end 5 | -------------------------------------------------------------------------------- /vagrant/Vagrantfile04: -------------------------------------------------------------------------------- 1 | Vagrant.configure(2) do |config| 2 | config.vm.box = "ubuntu/trusty64" 3 | config.vm.network "forwarded_port", guest: 80, host: 8080 4 | config.vm.provision "shell", inline: <<-SHELL 5 | sudo apt-get update 6 | sudo apt-get install -y nginx 7 | SHELL 8 | end 9 | -------------------------------------------------------------------------------- /www/getallheaders.php: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /www/lib/nocache.php: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /www/parse_str.php: -------------------------------------------------------------------------------- 1 | "; print_r($out); echo ""; 5 | ?> -------------------------------------------------------------------------------- /www/parse_url.php: -------------------------------------------------------------------------------- 1 | "; print_r(parse_url($url)); echo ""; 4 | ?> -------------------------------------------------------------------------------- /www/sillycount.php: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /xml/array.php: -------------------------------------------------------------------------------- 1 | channel->item as $item) { 5 | echo date("Y.m.d H:i", strtotime($item->pubDate))." "; 6 | echo $item->title."
    "; 7 | } 8 | -------------------------------------------------------------------------------- /xml/attributes.php: -------------------------------------------------------------------------------- 1 | channel->item as $item) { 5 | echo $item->enclosure['url']."
    "; 6 | } 7 | -------------------------------------------------------------------------------- /xml/attributes_list.php: -------------------------------------------------------------------------------- 1 | channel->item[0]->enclosure->attributes() as $name => $value) { 5 | echo "{$name} = {$value}
    "; 6 | } -------------------------------------------------------------------------------- /xml/connect.php: -------------------------------------------------------------------------------- 1 | PDO::ERRMODE_EXCEPTION]); 8 | } 9 | catch (PDOException $e) { 10 | echo "Невозможно установить соединение с базой данных"; 11 | } 12 | ?> -------------------------------------------------------------------------------- /xml/count.php: -------------------------------------------------------------------------------- 1 | channel->item->count(); // 3 5 | -------------------------------------------------------------------------------- /xml/enclosure.php: -------------------------------------------------------------------------------- 1 | 2 | $content = file_get_contents('rss.xml'); 3 | $rss = new SimpleXMLElement($content); 4 | foreach($rss->xpath('//enclosure') as $enclosure) { 5 | echo $enclosure['url'].'
    '; 6 | } 7 | -------------------------------------------------------------------------------- /xml/read.php: -------------------------------------------------------------------------------- 1 | channel->title."
    "; // PHP 5 | echo $rss->channel->description."
    "; // Портал, посвященный PHP 6 | -------------------------------------------------------------------------------- /xml/xpath.php: -------------------------------------------------------------------------------- 1 | xpath('//item[1]/enclosure/@*') as $attr) { 5 | echo "{$attr}
    "; 6 | } --------------------------------------------------------------------------------