結論から書くと ユーザ名:$_SERVER['PHP_AUTH_USER'] パスワード:$_SERVER['PHP_AUTH_PW'] で取得できました。 取得できない場合は、.htaccessに以下の3行を追記してみてください。 それでは詳細……と言うほどでもないですが、詳細を書いていきます。 とあるディレクトリ配下にBASIC認証を設定して簡易会員ページっぽくしていたのですが、 認証したユーザによって処理を振り分けたいという依頼を頂戴いたしました。 ふむ。 BASIC認証のユーザ名って、プログラムから取得できるの(--?というのが今回のきっかけです。 ほんで、あれやこれやと調べたところ $_SERVER['PHP_AUTH_USER'] でユーザ名が取得できるっぽいと分かりました。 ついでに、パスワードは $_SERVER['PHP_AUTH_PW'] です。 なるほど! 早速、こん
Getting Started Introduction A simple tutorial Language Reference Basic syntax Types Variables Constants Expressions Operators Control Structures Functions Classes and Objects Namespaces Enumerations Errors Exceptions Fibers Generators Attributes References Explained Predefined Variables Predefined Exceptions Predefined Interfaces and Classes Predefined Attributes Context options and parameters Su
Don't forget, because $_REQUEST is a different variable than $_GET and $_POST, it is treated as such in PHP -- modifying $_GET or $_POST elements at runtime will not affect the ellements in $_REQUEST, nor vice versa. e.g: <?php $_GET['foo'] = 'a'; $_POST['bar'] = 'b'; var_dump($_GET); // Element 'foo' is string(1) "a" var_dump($_POST); // Element 'bar' is string(1) "b" var_dump($_REQUEST); // Does
PHPとPythonとRubyの連想配列のデータ構造がそれぞれ4〜5年ほど前に見直され、ベンチマークテストによっては倍以上速くなったということがありました。具体的には以下のバージョンで実装の大変更がありました。 PHP 7.0.0 HashTable高速化 (2015/11) Python 3.6.0 dictobject高速化 (2016/12) Ruby 2.4.0 st_table高速化 (2016/12) これらのデータ構造はユーザーの利用する連想配列だけでなく言語のコアでも利用されているので、言語全体の性能改善に貢献しています1。 スクリプト言語3つが同時期に同じデータ構造の改善に取り組んだだけでも面白い現象ですが、さらに面白いことに各実装の方針は非常に似ています。独立に改善に取り組んだのに同じ結論に至ったとすれば興味深い偶然と言えるでしょう2。 本稿では3言語の連想配列の従来実
PHP5.3でSplPriorityQueue、優先度つきキューが実装されました。 取得時、第二引数の値が高いものから順に並べ替えられます。 データの種類によっては、自力でソートする必要が無くなります。 <?php $queue = new SplPriorityQueue(); $queue->insert('低い', 10); $queue->insert('最優先', 100); $queue->insert('にばんめその1', 50); $queue->insert('にばんめその2', 50); $queue->insert('一番低い', 1); // 個数 → 5 print('件数:' . $queue->count()); // 一番目を閲覧。これは使っても無くならない。 print('一番目:' . $queue->top()); // 優先順位の高い順に取り出す f
Getting Started Introduction A simple tutorial Language Reference Basic syntax Types Variables Constants Expressions Operators Control Structures Functions Classes and Objects Namespaces Errors Exceptions Generators Attributes References Explained Predefined Variables Predefined Exceptions Predefined Interfaces and Classes Context options and parameters Supported Protocols and Wrappers Security In
MicrosoftはPHPの次期バージョン「PHP 8.0」をサポートしないそうだ。MicrosoftでPHP関連のプロジェクトマネージャを担当するDale Hirt氏は、公式サイト上でPHP 8.0以降では、PHP for Windowsをサポートする予定はないと明言した。 Microsoftが公式にサポートするPHPは現行でサポートしているPHP 7.2、PHP 7.3。PHP 7.4のみとなる。この中で最も新しいPHP 7.4のMicrosoftサポート期限は2022年11月28日までとなっている(Microsoft Support of PHP on Windows - Externals、窓の杜)。 なおKOYAMA Tetsujiさんのツイートによれば 、 これってバイナリ提供の話ではなくて、Windows版PHPは実はMSの公式サポートによって開発が支えられていたってことだよ
本当かよ????????? まずPHP7.4.7からPHP8にアップデートするだけで処理時間が1割削減されています。 ただでさえ新機能てんこ盛りだってのに、そのうえ速度も上がるとかどうなってるんだPHP8。 次いでopcacheを有効にすると処理時間が半分になります。 最後にJITを有効にしたら、処理時間がopcache有効状態の30%になりました。 30%縮まりました、ではありません。 なんだこれ。 ということで、JITを有効にするだけで、処理時間がPHP8デフォルト設定の13%になりました。 どういうことかというと、元々1分かかっていた処理が8秒で終わるようになります。 足枷を外したとかいうレベルじゃねーぞ。 これ本当に計算してるのか? 計算結果が固定値だから結果だけどこかに保存してるとかじゃないよな? しかもこれ、opcacheやJITの設定はほぼ初期値で、とりあえず有効にしただけと
Getting Started Introduction A simple tutorial Language Reference Basic syntax Types Variables Constants Expressions Operators Control Structures Functions Classes and Objects Namespaces Enumerations Errors Exceptions Fibers Generators Attributes References Explained Predefined Variables Predefined Exceptions Predefined Interfaces and Classes Predefined Attributes Context options and parameters Su
明日の日付や1週間後の日付、一時間後の時間などの日時の加算や、昨日の日付や昨年の日付などの日時の減算の方法をご紹介します。 strtotime()とDateTimeクラスでのやり方をそれぞれ見ていきましょう。 先月の日付を取得する際は、月末日の関係でおかしな日付になることもあるため、その解決法にも触れています。
Getting Started Introduction A simple tutorial Language Reference Basic syntax Types Variables Constants Expressions Operators Control Structures Functions Classes and Objects Namespaces Enumerations Errors Exceptions Fibers Generators Attributes References Explained Predefined Variables Predefined Exceptions Predefined Interfaces and Classes Predefined Attributes Context options and parameters Su
PHPDocとは、クラスや関数などのブロックに記述できるDocComment内に記述する書式の通称です。この書式の情報源として時折PSR-5が参照されることがあるので簡単に状況をまとめます。 TL;DR PSR-5の標準化ステータスは昨年10月にABANDONED (放棄・議論停滞)になりました 2018年9月26日にPSR-5とPSR-19が分割され、ともにDRAFT状態に入りました PHPDocを型注釈として利用する各処理系の実装にはばらつきがあり、PSR-5とは相違点があります PhpStormは現在のところ(2018.1 EAP)PSR-5と互換性がありません 特にチーム開発では、対応する型記述の書式について注意が必要です PhpStormに配慮して書く場合、phpDocumentorの仕様を参照する方が安全です PHPDoc リファレンス — phpDocumentor この記事
単純なフォーク <?php $pid = pcntl_fork(); if ($pid == -1) { die('could not fork'); } else if ($pid) { // we are the parent } else { // we are the child sleep(10); var_dump("We are the child:", $pid); exit; } 実行結果 pcntl_wait($status); //Protect against Zombie children var_dump("END :", $pid); \-+= 48201 takuya -bash \-+= 49054 takuya php fork.php \--- 49055 takuya php fork.php 49054 から 49055 が生えた 2個フォークした
こんにちは。ウェブ開発担当の木戸です。 突然ですが、PHP で CSV ファイルを連想配列に変換してゴニョゴニョ…ってよくやりますよね? 私も先日開発中に、CSV の関数なんだったかなーと思って「php csv」で検索していたのですが、ファーストビューが定番の fopen して fgetcsv の公式サンプルや記事ばかりでタイトル通り「?」だったので、調査してみたところ、意外と面白いことがわかりました。 やっぱり fgetcsv だけじゃなかった 似たような機能を持つ関数が複数あり、公式ドキュメントを見てもどれを使っていいかわからない、なんてこと PHP ではよくありがちです。CSV 変換もやっぱりいろんな方法がありました。 そこで今回は、あらゆる CSV 変換処理を検証し、処理時間とメモリ使用量を比較します。処理はレコードごとの連想配列に変換するのみで、よくセットでやる文字コードの変換や
Getting Started Introduction A simple tutorial Language Reference Basic syntax Types Variables Constants Expressions Operators Control Structures Functions Classes and Objects Namespaces Enumerations Errors Exceptions Fibers Generators Attributes References Explained Predefined Variables Predefined Exceptions Predefined Interfaces and Classes Predefined Attributes Context options and parameters Su
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く