明示的 意味 แพลตฟอร์มการเรียนรู้และพัฒนาทักษะด้วยเทคโนโลยี https://suin.io เป็นแพลตฟอร์มที่ให้คุณเรียนรู้และพัฒนาทักษะทางเทคโนโลยีอย่างสะดวกสบาย เรามุ่งมั่นในการให้ความรู้และประสบการณ์ที่มีคุณค่าในการพัฒนาตนเอง pascalcase
明示的 意味 แพลตฟอร์มการเรียนรู้และพัฒนาทักษะด้วยเทคโนโลยี https://suin.io เป็นแพลตฟอร์มที่ให้คุณเรียนรู้และพัฒนาทักษะทางเทคโนโลยีอย่างสะดวกสบาย เรามุ่งมั่นในการให้ความรู้และประสบการณ์ที่มีคุณค่าในการพัฒนาตนเอง pascalcase
PHP Advent Calendar 2013 - 7日目 昨日は@hidenorigotoさんのBeyond MVCでした。 今日は PHPあるある的な問題に対する対策について少しばかり書きたいと思います。 ※ 歯ブラシを持たせてみた *1 メモリ不足でよくやる対応 PHPで大量のデータを扱ったりすると、設定された利用可能な最大メモリ使用量を超えて PHP Fatal error: Allowed memory size of 524288330 bytes exhausted (tried to allocate 351 bytes) in ....というエラーが発生して対応に追われたことの経験がある人はかなり多いと思います。 そもそも環境のメモリに余裕があるならmemory_limitを調整してメモリの使用量を増やしたり あまり余裕がない場合は暫定的対応として、該当処理部分だけ <
ファイルに書いたphpを実行する phpの実行ファイルに、引数でphpのスクリプトを渡すと実行できる。 $ php /path/to/php/file.php コマンドラインに書いたphpを実行する phpコマンドのrオプションでコマンドラインに書いたphpを実行できる。 $ php -r "echo '123';" 123 ← 実行結果 ということは、phpがわかる人は、linuxのコマンドを知らなくてもphpで希望の処理を実行できる。 現在日時入りのメールを送るテスト $ php -r "mail('test@example.com', 'test', date('Y-m-d H:i:s') . ' メールを送ります');" wgetコマンドっぽいことをする $ php -r "echo file_get_contents('https://www.softel.co.jp/');"
本日からPHPのメモを記述して行こうと思います。 さて早速今日のネタ。 ぎじゅっやさんにてfile_get_contentsでWebページへアクセスする際に、UserAgentを変更する方法が紹介されています。 では、これを応用してfile_get_contentsを使ってPOST形式でデータを送信してみましょう。 参考コード <?php //POSTデータ $data = array( "param1" => "data1", "param2" => "data2" ); $data = http_build_query($data, "", "&"); //header $header = array( "Content-Type: application/x-www-form-urlencoded", "Content-Length: ".strlen($data) ); $cont
概要 PHPでファイルを変換したり、ダウンロードさせる処理を作る場合がある。 その時に、例えばダウンロードさせる処理の場合。 ユーザーにダウンロードさせた後はもういらない場合がよくある。 cronなどで自動的に消してもいいが、どうせなら最初から一時ファイルとして 扱ってしまえばいいのじゃないかと。 そんな時に便利なTips的な感じ。 /* 例えば文字コードを変換してダウンロードさせる場合 変換後のファイルは別にサーバーに残しておく必要がない (今回は、キャッシュの事はまた別次元として考える) */ //ローカルのファイルを読む $data = file_get_contents("data.csv"); // 文字コード変換 $data = mb_convert_encoding($data, "UTF-8", "Shift_JIS"); //ここでメモリ上にファイルを作成する $fp =
よく配列に要素が入っているかを確認するのに issetを使って以下のようにやりませんか? if(!isset($_POST["hoge"])){ ... } これは、実はあんまり良くないらしいです。 結論から言うと、以下のようにしたほうが良い。 if(!array_key_exists("hoge",$_POST)){ ... } 理由としては、配列の要素はあるが 値がnullの場合の挙動が違うから。 issetの場合は、値がnullだとfalse array_key_existsの場合はtrue と判定されるらしい。 純粋に配列要素が存在するかを知りたいなら array_key_existsを使うほうが無難というわけ。 但し、速度に違いがあるらしい。 issetの方がarray_key_existsよりも3倍はやい というエントリーを書いてる人もいたので よっぽど急ぐときには変更したほう
CakePHP歴1ヶ月未満の私が、CakePHP2.2.2にてhasAndBelongsToManyなアソシエーションを持つモデルを設計する際に少々てこずったのでその備忘録。 例えば、アニメの名前のテーブルと声優の名前のテーブルをひも付けたい、といった場合の話。(アニメの名前と声優の名前が多対多の関係のような) 当初わからなかったこと ひも付けテーブル名はどうすれば良いのか ひも付けモデルのクラス名、ファイル名はどうすれば良いのか ひも付けモデル自体のアソシエーションをどうすれば良いのか ひも付けをscaffoldで管理したい場合、コントローラのクラス名、ファイル名はどうすれば良いのか 解決のために参考にしたサイト (公式、ver1.3の情報ですが・・・) http://book.cakephp.org/1.3/ja/view/1044/hasAndBelongsToMany-HABTM
CakePHPを使っていると、モデルでHABTMを定義することがありますよね。 HABTMが何なのかってのは、まあCookBookとかを見てもらうとして、実際HABTMを使う場合、データベースのテーブルには中間テーブルと呼ばれるものを作ります。 今回はその中間テーブルに関して、ちょっとだけ僕が引っかかったところがありました。 何か読み込まれてないんですよね。中間テーブル用のモデルが。中間テーブルのモデルに書いたメソッドをコントローラーから呼ぼうとすると、そんなメソッドないって怒られる。 正直たいした話ではないんですけど、今回引っかかったときに何か強烈なデジャヴに襲われたので、たぶん以前にも同じことがあったと思うんです。だから二度あるつまづきを三度は起こさないために、ここに記しておきたい所存です。 ちなみにCake1.3で起こったことなので、もしかしたら2.0の方では起こらないかもしれない。
言語:PHP OS:(主に)UNIX系 1. exec関数とその引数 PHPには、exec関数という外部コマンドを実行できる便利な関数があります。 exec(command, [output, [return]]) commnad 外部コマンドの文字列。 output コマンドの出力が配列として格納される。 return コマンドの実行結果のステータスが格納される。 2. コマンドが失敗した場合の出力 exec関数は指定したコマンドの出力が標準出力だと、引数outputに内容が格納されます。ですが、コマンドが失敗して標準エラーで出力されると、引数outputには格納されません。 引数outputに標準エラーの内容を格納されたい場合は、指定するコマンドに2>&1を追加します。こうすることで、標準エラーが標準出力になります。 3. 使用例 例1 普通にコマンドの出力を受け取る場合
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
php で画像ファイル形式を判別する方法 getimagesize exif_imagetype mime_content_type の各館数のどれかで取得することが出来る。 各関数とモジュール 各関数はそれぞれがモジュールに含まれている。 関数名 モジュール名 getimagesize GD exif_imagetype Exif mime_content_type FileInfo これら関数を使うには、それぞれモジュールがインストールされていることが必要。 モジュールの有無はphpinfo();関数を使って確認する。 値の取り方 それぞれの関数はそれぞれ使い方が異なる mime_content_type mime_content_typeはそのものズバリな名前が帰ってくる。 <?php mime_content_type("test.jpg"); #=> "image/jpeg" g
5/3 17:45追記:t_komuraさんに指摘いただいた関数と、さらに僕が調べ直したものを含め、「ロケール設定に従う関数一覧」に25個ほど追加しました。かなり見落としがありましたね…。 PHPのロケール*1まわりについて調査したので、これをまとめてみます。 この記事は「ロケールの影響を受ける関数 - Sarabande.jp」を掘り下げたものです。masakielasticさん、ナイスな記事をありがとうございます。 PHPの文字列型と文字エンコーディング 他のモダンなLL言語と異なり、PHPは文字列の文字エンコーディングに関して何も仮定せず、単なるバイト列として管理しています。つまり、文字エンコーディングの取り扱いは各関数の実装に委ねられています。 下記の通り、これはマニュアルにも記述があるのですが、実に残念なことです。 残念ながら、PHP の各関数が文字列のエンコーディングを判断する
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く