PHP

例外

PHP

LogicException (extends Exception) ├ BadFunctionCallException │ └ BadMethodCallException ├ DomainException ├ InvalidArgumentException ├ LengthException └ OutOfRangeException RuntimeException (extends Exception) ├ OutOfBoundsException ├ Ove…

oci

PHP

■■接続 $conn = oci_connect('hr', 'welcome', 'localhost/XE'); ■■select $stmt = oci_parse($conn, 'select * from t where pk = :id'); oci_bind_by_name($stmt, ':id', $id, -1); oci_execute($stmt, OCI_DEFAULT); ■取得① while ($row = oci_fetch_arra…

apache + php + java

PHP

■apacheユーザー環境変数にパスを通す /etc/sysconfig/httpd export JAVA_HOME=/usr/java/jdk1.7.0_15 export PATH=$PATH:$JAVA_HOME/bin CLASSPATH=.:$JAVA_HOME/jre/lib:$JAVA_HOME/lib:$JAVA_HOME/lib/tools.jar CLASSPATH=$CLASSPATH:/usr/share/java/mysql…

セッション排他ロック

PHP

session_startをした場合、同時書き込み防止のためにロックがかかる。 複数サーバでNFSを使用してセッションパスを共有している場合、同一クライアントからの接続でもAjaxなどで同時に複数接続され別サーバに振り分けられ、 別サーバ経由でNFSの共通セッショ…

ロックファイル

PHP

/** * ロックファイル関連クラス(static) * * */define("LOCK_DIR", "/var/bat/exe/");class LockFile { function check($param) { $fileName = LOCK_DIR . $param . "_CHECK.txt"; if (file_exists($fileName) == false) { return true; } else { return fa…

memcached

サーバ間で共通セッションを利用する ■memcachedインストール libevent必須だが、一緒にインストールしてくれる # yum install memcached.x86_64 Installing: memcached x86_64 1.4.13-1.11.amzn1 amzn-main 80 k Installing for dependencies: libevent x86_64 2.0.18-1…

exec

PHP

■exec(コマンド,アウトプット,戻り) $ans = exec(コマンド,$output,$ret); $ansには最終行のみしか入らない。 $outputには、各行が配列で返ってくる $retにはエラーコード エラーメッセージを得るには、コマンド 2>&1apacheユーザーでは、実行権限の無いphpファイルは…

短縮型タグ

PHP

/etc/php.ini /usr/local/lib/php.inishort_open_tag = on

2038年問題

PHP

32bitPCでは、2の32乗-1までしか扱えない pow(2, 31) - 1 = 2147483647 date('Y-m-d H:i:s', 2147483647) = 2038-01-19 12:14:07 対策は、PEARのCalcクラス require_once "Date/Calc.php"; $nextday = Date_Calc::nextDay('31', '12', '2999', '%Y-%m-%d');

セッション系

PHP

複数サーバで稼働していたりする場合、セッションが切れることがある。 メモリを確保しなければならないので、負荷が上がる(オーバーヘッド)。 サーバ間はmemcacheかNFS PHPSESSIDは、初回セッション変数登録時にクッキー値としてクライアント側に、 ブラウ…

header

PHP

header('Content-Type: text/html');ファイルの種類 拡張子 MIME-Type テキスト文書 .txt text/plain CSVファイル .csv text/csv TSVファイル .tsv text/tab-separated-values ワード文書 .doc application/msword エクセルシート .xls application/vnd.ms-e…

無名関数

PHP

array_walk($array, function(&$value,$key) use ($data1,$data2) {・・・}); $valueと$keyには$arrayの情報が。 それ以外の引数を渡したいときは、useを使用する

CURL

PHP

function getCurl($call_url,$param){ $header = array('Content-Type:application/x-www-form-urlencoded', 'Content-Type:100', 'Connection:Close' ); $USERNAME = "admin"; $PASSWORD = ".admin"; $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, $ca…

正規表現

PHP

メタ文字 , 正規表現としての意味 - [ - ] 範囲指定した文字に一致(文字クラス) [^ - ] 範囲指定した文字以外に一致 ^ 行頭に一致 $ 行末に一致 . 改行を除く任意の1文字に一致 (?!単語名). 単語名が後に続いていない任意の1文字 (?=単語名). 単語名が後…

preg_match_all

PHP

if(preg_match_all("/'\*1{ //if(preg_match_all("/(.+)/",$data,$str)){ echo ''; echo ""; // print_r($str); echo implode(",",$str[1]); echo ""; echo ""; } *1:?:(?!test|\'|,).)*)\'/",$data,$str

ソケット接続でオープン

PHP

/* * ソケット接続でオープン * / class socketOpen{ public function __construct() { $host = "q.hatena.ne.jp"; $host = "yahoo.co.jp"; $path = "/"; $port = 80; $fp = fsockopen($host, $port, $errno, $errstr, 10); if (!$fp) { echo "接続に失敗"; …

ディレクトリのファイル一覧を取得(全階層)

PHP

/* * 指定したディレクトリのファイル一覧を取得する */ class getDirList{ public $dir=array(); public $file=array(); public function getDirList($trgDir){ if ($dir = opendir($trgDir)) { while *1 !== false) { if ($file != "." && $file != "..") { if(is_d…