array_multisort( array &$array1, mixed $array1_sort_order = SORT_ASC, mixed $array1_sort_flags = SORT_REGULAR, mixed ...$rest ): bool array_multisort() は、複数の配列を一度に、 または、多次元の配列をその次元の一つでソートする際に使用可能です。 連想配列のキー (string) は不変ですが、 数値添字は再度振り直されます。 注意: 比較結果が等しくなる二つの要素があった場合、それらの並び順は保持されます。PHP 8.0.0 より前のバージョンでは、ソートした配列におけるそれらの並び順は不定でした。 注意: この関数をコールすると、配列の内部ポインタは最初の要素にリセットされます。 パラメータ array1 ソートしたい配列。 array1
2021年1月3日追記 PHP7.4以降では標準メソッドだけで書ける。 thr3a.hatenablog.com 以下過去分 ありそうだけどコレって標準関数で用意されてないんだね・・・ これが魔法の一行 preg_split("//u", $text, -1, PREG_SPLIT_NO_EMPTY);<pre> <?php $str = "abcdeあい う えお"; $result = preg_split("//u", $str, -1, PREG_SPLIT_NO_EMPTY); var_dump($result); 結果 array(12) { [0]=> string(1) "a" [1]=> string(1) "b" [2]=> string(1) "c" [3]=> string(1) "d" [4]=> string(1) "e" [5]=> string(3) "あ"
cURL でのファイルアップロード方法が分からず試行錯誤してました。 色々と調べて$f = fopen($_FILES[$file_data]['tmp_name'], 'r');をcurl_setopt($conn, CURLOPT_INFILE, $f);で指定してみたりもしましたが上手くいきませんでした…。 もしかしたら別の環境では上手くいくのかしら…? 最終的に上手く動いてくれた方法の覚書です。 <?php // API $url = 'http://api-server/'; $tmpfile = $_FILES[$file_data]['tmp_name']; $filename = $_FILES[$file_data]['name']; $data = array( 'filedata_param' => '@' . $tmpfile . ';filename=' . $f
はじめに PHPアプリケーションからWebアプリケーションに対してアクセスすることは多々あります。もっともよくあるケースはREST APIなどのテキストのみを返すWebアプリケーションへのアクセスかと思います。しかしまれにGoogle ChromeやFirefoxを操作したときのようにJavaScriptの動作を伴ったアクセスを行いたいときもありますよね。 PHPにはV8jsという拡張モジュールもあるようですが、今回は PHP PhantomJS を利用してその要件を実現することにします。 PHP PhantomJSとは PHP PhantomJSは別途インストールしたPhantomJSをPHPから使うためのインターフェイスを提供してくれるライブラリです。PhantomJSはいわゆる「ヘッドレスブラウザ」というものでGUIを持たないブラウザです。 当エントリでは基礎知識としてPhantom
サイト作成時にユーザーからファイルをアップロードしてもらう場合に気をつけることとして「それが正しいフォーマットかどうか」という点があります。 つまり偽装ファイルでないかどうかということですね。 これを判定するにはMIME-Typeを調べるのが良いとされています。 Webブラウザーからの情報は信用しない=基本 正しいファイルフォーマットを知るためには、ファイルのMIME-Type情報を取得して判断するのですが、ブラウザーがサーバーに伝えるMIME-Typeはウソの情報を与えることもできます。 Webブラウザは拡張子を変えるだけで騙される!? 突然ですが、適当なテキストファイルを作成して拡張子を「.gif」に変えてみてください。 Windowsだと警告がでますが、無視してOKするとテキストファイルが画像アイコンに変わります。 これだけでWebブラウザーは「画像だ」と認識してしまいます。 MIM
2016年11月3日(祝)、大田区産業プラザPiOにて開催された国内最大のPHPイベント「PHPカンファレンス2016」。レバテックフリーランスでは、カンファレンスセッションの登壇者のひとり・和田卓人氏にインタビューを実施しました。 テスト駆動開発の先駆者として知られる和田氏ですが、今回の講演テーマは「PHP7で堅牢なコードを書く-例外処理、表明プログラミング、契約による設計」。あえてテスト以外のテーマを設定した理由をはじめ、PHPの優位性や今注目している言語、初心者エンジニアへのアドバイスなど、幅広くお話を伺ってきました。 <この記事の要約> 1. PHPの良い点は、ゆるふわな言語に見せかけて堅牢なコードも書けるところ。悪い点は、覚えることが多くて難しいところ。 2. テストを書いていればコードの品質が高いわけではない。また、テストが書けないくらい問題を抱えたコードでも、中から改善してい
El Capitanが覚えられなくてYosemiteの次の奴と言ってしまった白浜(@pandamachine715)です。 今回はグリーも協賛させていただいているPHPカンファレンス2015の参加レポートをお届けしたいと思います。まとめへのリンクもあるので合わせて是非。 どのセッションも内容が濃く大変勉強になったのですが、特に印象に残ったものを3つほど。 SPEEDING UP THE WEB WITH PHP 7 まずはPHPの生みの親、Rasmus Lerdorf氏(@rasmus)の基調講演。 逐次通訳付きのセッションですが、非常に聞き取りやすい英語で話していただいています。 http://talks.php.net/tokyo15#/ 内容もさることながらやはり印象に残ったのはQ&Aの場面。 (php7をプロダクション環境で利用する際にリスクを抑えるにはどうすれば良いかとの質問に
ファーストサーバーといえば、ファーストサーバ岡田良介社長、新幹線で全裸になって逮捕とかファーストサーバ障害、深刻化する大規模「データ消失」の事案で有名な会社ですが、この会社の提供する共用サーバーもなかなかぶっ飛んでました。 VPSやクラウドサービスが浸透した現代では驚くほど時代遅れ且つ特殊です。 何も知らない私がいつものノリでLaravelアプリをファーストサーバーにデプロイしたら、全然まともに動かず、すごく苦労させられました。 私と同じような苦労をする方が出ないことを願って、その原因と対策方法を紹介します。 このお話に出てくるサーバーはファーストサーバーの共用サーバーで、PHPのバージョンは5.3.19です。 なんでそうした?PHPのconfigureオプション ./configure --enable-cgi --with-config-file-path=/usr/local/lib
LAMP環境(Linux-Apache httpd-MySQL-PHP)におけるWebアプリケーションのパフォーマンスチューニングにおいて、ここではPHPに関するポイントを整理しておきたいと思います。 なお、記事投稿時点でのPHPは、バージョン5.3.9です。 1.実行コードキャッシュ コンパイル言語ではなくインタープリター言語であるPHPでは、同じコードの構文解析・コンパイルを繰り返さないことがパフォーマンス上の重要なポイントです。 そこで、構文解析・コンパイル後のコード(実行コード)をキャッシュすることで、同じコードを使用する二度目以降のリクエストについては、キャッシュされた実行コードを使用することができるようになります。 そのような実行コードのキャッシュ機能は、 eAccelerator APC(Alternative PHP Cache) を利用することで実現できます。 eAcce
wget https://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm
8. 管理画面にIP制限をかける wp-adminとwp-login.phpにアクセスできるホストを信頼できるIPアドレスのみに制限する方法です。たとえパスワードがそのまま外部に流出したとしても、社外から管理画面に入ることができなくする対策です。ただ、これは自由にログインさせるコミュニティサイトでは無理ですし、そうでない場合でも利便性が低下しますので、ケース・バイ・ケースで行うべき対策でしょう。 via.WordPress使いならこれだけはやっておきたい本当のセキュリティ対策10項目 惜しい、非常に惜しい。 セキュリティ対策としては良いんですが、これやっちゃうと一部のプラグインが動作しなくなったりしてハマりポイントになる可能性があります。 WordPress で Ajax を実装するためには、以下のような手法が良く用いられます。 add_action('wp_ajax_example',
TL;DR CMS を組み込んだサイトを構築する上で、ページを高速表示するために最初に取り入れておきたいことなどを簡潔に書いておきます。 2016/07/03:高速化についての新しい方法を追加しました。確実に速くなる、リニューアルで行ったサイト高速化への手順を全公開。 VPS 高速化のために VPS で試して比較的効果があったことを、次回また組み込む時のためにメモ。 1.VPS / SSD に リクエスト数や画像の容量にもよりますが、WordPress を組み込んで一番高速表示されたのがこれだったので。当たり外れがあるかもしれませんが、 さくらの VPSSSD(2G)に WP を置き、レンタルサーバと比較すると、とんでもなく高速表示。試用期間中は遅くて不安になりますが、契約後当日に高速になります。 さくら VPS | Sakura VPS 設定マニュアル さくら VPS の初期設定 | 離
ごあいさつエントリだけというのもなんなので、引き続きfujimotoです。実質上1つめのような気がするこのエントリでは、PHPが3倍くらい(少なくとも2倍くらいは...)速くなるGree Fast Processorというのを先月作ってみたのでご紹介です。 すぐわかるまとめ Gree Fast Processorというのを使ってみると、シンプルなsymfonyのプロジェクト(xav.ccで試しました)でも2倍弱、結構複雑なアプリケーションだと7倍くらい速くなったりします。いくつかの制約がありますが、パフォーマンスに飢えているかたはお試しください。 こちらはなんかすごい速くなっている感じのグラフ(一番上が速くなった版のRequests per Second、赤が通常版のRequests per Second): これはさすがにbest caseすぎる気がしますが、普通にやっても2倍弱くらいは
まず絶対パスで書いた場合、 require_once '/path/to/a.php'; 当たり前ですが'/path/to/a.php'というファイルがダイレクトにオープンされて読み込まれます。 何の問題ないですね。 一方、絶対じゃないパス名(ファイル名だけとか)を書いたらどうなるでしょうか? require_once 'PEAR.php' この場合、PHP実行エンジンはinclude_pathで指定されたディレクトリを順番に探索します。 もしinclude_pathが'/home/dqn/app:/home/dqn/extlib:/home/dqn/lib:/usr/share/pear'となっている場合、 PHP実行エンジンは下記のようにファイルを探索します。 /home/dqn/app/PEAR.php あるかな・・・ないぉ! /home/dqn/extlib/PEAR.php ある
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く