php

owncloudを高速化メモ

cronの見直し デフォルトではページ開くたびに更新が発生するっぽい() 素直にCrontabで定期的に実行させたほうがよさげ apacheユーザーでcrontabを開く sudo crontab -u www-data -e 以下追加 * * * * * php -f /var/www/owncloud/cron.php owncloud側の発…

Twitterの投票非公式APIのメモ

php

gist.github.com gist.github.com hiroto-k.hatenablog.com

【PHP】Ubuntu 16.04ではPHP5.6をインストールすることは出来ない

発端 さぁ心機一転、Ubuntu16.04でPHPインストールしようとした。まぁ7.xも悪くないけど今回は安定志向ということでPHP5.6をインストールすることに sudo apt show php 結果 user@ubuntu:~$ sudo apt show php Package: php Version: 1:7.0+42+deb.sury.org~…

【MySQL】Cannot execute statement: impossible to write to binary log since BINLOG_FORMAT = STATEMENTと出る

MySQLアップデートするとOwncloudが動かない。 おかしいと思って見ると以下の様なエラーが出てた。 An exception occurred while executing 'INSERT INTO `oc_users` ( `uid`, `password` ) VALUES( ?, ? )' with params ["user", "************************…

【CakePHP】ビューごとにタイトルを設定する

この辺はRailsより柔軟だなって思った とりあえずやり方教えろ まずapp/View/Layouts/default.ctpにて <html> <head> <title><?php echo $this->fetch('title'); ?></title> と書いておく。 んで各ビューにて assign('title', "自己紹介のページ"); とやるとその文字がタイトルになる </head></html>…

【PHP】強いランダムな文字列を生成する

php

ランダムな文字列を生成したい場合 7672ff626cとか14158e33deがほしい場合 ランダムな数値が欲しい場合 3807350098とか487496953とかが数字のみ(0-9)で欲しい場合はさっきのやつにbin2hex()を加えればおk この場合与えた(数値*2)+2が返ってくる…

composer installとcomposer requireの違い

なんてことはなかった composer installはインストールするだけ。composer requireはインストール&composer.jsonに依存状況を記述 つまりcomposer requireはnpm install -S socket.ioに相当する

【PHP】連想配列の特定のキーのみ削除したい人生だった

php

コード 4, "name"=>"Hoge"]; $array[] = ["id"=>3, "name"=>"Piyo"]; $array[] = ["id"=>2, "name"=>"Fuga"]; $array[] = ["id"=>1, "name"=>"Foo"]; print_r(array_map(function ($v) { unset($v["name"]);return $v; }, $array)); 結果 Array ( [0] => Arr…

Rubyのsort_byをPHPでも使いたい人へ 配列内の値でソート

php

rubyのsort_byはめっちゃ便利。マジで ary = [{id: 2,name:"hoge"},{id: 3,name:"hoge"},{id: 1,name:"hoge"}] p ary.sort_by { |_| _[:id] } => [{:id=>1, :name=>"hoge"}, {:id=>2, :name=>"hoge"}, {:id=>3, :name=>"hoge"}] ぜひこんなメソッドがPHPにあ…

【PHP】file_get_contentsでエラーの分岐

php

file_get_contentsは非常に便利なPHPのメソッドでたった一行で外部URLを取得できる が、しかし存在しないURLだったとかサーバーエラーとかの例外に弱い PHP Warning: file_get_contents(http://hogehoge.com/hoge/): failed to open stream: HTTP request f…

PHPのビルトインサーバーではDocumentRootを指定できる

php

知ってた? ビルトインサーバーとは 本来PHPで開発する際はWebサーバーを建てなきゃいけないのでApacheやnginxをインストールしなきゃいけない。 けどPHP5.4で実装されたビルトインサーバー機能を使えばPHPがWebサーバーとして起動してくれるので、Apache等…

PHPで「1ヶ月前の今日」を求めることはできない

php

久々にPHPFXXK案件に遭遇してしまった・・・・・ やりたかったこと 一ヶ月前の今日を求める 例を挙げると 2016年4月28日 → 2016年3月28日 2016年1月28日 → 2015年12月28日 ただし2016年3月31日のように先月にその日付が存在しない(先月日数<今月日数)場合…

やっとPHPでアップロードする処理を書いてみた

php

そういえばPHPでアップロードするフォーム画面作ったことないなぁってことで作成 今回は JSON形式のみアップロード可 日本語含むファイル名はまだ想定していない ファイルサイズ上限付き

PHPでファイルのアップロード

php

そういえばやったことないな、と <html> <head> <meta charset=utf-8" /> <title></title> </head> <body> <form action="" method="post" enctype="multipart/form-data"> <input type="file" name="upfile" /> <input type="submit" value="アップロード" /> </form> </body> </html>

PHPでファイルの一覧を取得する方法

php

PHPにはDirectoryIteratorという便利な方法があるっぽい。 $path = dirname(__FILE__); $dir = new DirectoryIterator($path); foreach ($dir as $file) { $file = mb_convert_encoding($file, "UTF-8", "auto"); echo $file . "<br>"; } だがこれだと「.」と「.…

PHPを使ってmp3のタグ情報を取得する方法

getID3ってのを使えばできる。 インストール ubuntu最高や sudo apt-get install php-getid3 これで/usr/share/php-getid3にインストールされる。 サンプル analyze($filename); getid3_lib::CopyTagsToComments($fileInfo); …

英語の単数形を複数形に変換するプログラムを作成してみた

php

例えば「book」って投げたら「books」で返したり、「box」で投げたら「boxes」で返ってくるようなメソッド。 そもそも複数形の命名規則って? ここが一番手こずった。今まで感覚でやってたしググっても上位のサイトが結構間違ってる。 基本的には語尾に -s …

TwitterのStreamAPIをPHPで使ってみる

php

ネットでよく貼られてるベーシック認証によるStreamAPIはもう出来ないっぽい? が、イチから認証すると面倒なので、tmhOAuthというライブラリを使う。やったね user->lang === "ja"){ $screenName = $tweet->user->screen_name; $text = $twe…

PHPで文字つきの画像を出力する

php

PHPで日本語(マルチバイト)を含む文字列を一文字ずつ配列に分割させる方法

php

ありそうだけどコレって標準関数で用意されてないんだね・・・ これが魔法の一行 preg_split("//u", $text, -1, PREG_SPLIT_NO_EMPTY);<pre> string(1) "a" [1]=> string(1) "b" [2]=> string(1) "c" [3]=> string(1) "d" [4…</pre>

PHPで文字列の配列を文字数の長さでソートする方法

php

これ一行でできるんだね。惚れたわ usort($a, create_function('$a,$b', 'return mb_strlen($a, "UTF-8") - mb_strlen($b, "UTF-8");')); サンプル <pre> </pre>

新・loginpack

php

いつものやつ少しだけ改良(?)した

PHPで処理時間を計測する方法

php

以下のように2回microtime()メソッドを使ってその差を計算するといった形。

PHPで出力バッファリングを使って「処理中」と表示させてみる

php

通常だとphpで文字を表示させようとしてもすべての処理が完了してから一気に出力されるので出来ない。 しかし出力バッファを強制出力させることで処理中でも表示か可能になる。 結論から言えば 時間のかかる処理の前にob_flush()とflush()を実行させる サン…

PHPでユーザーにファイルをダウンロード「させる」方法

php

最近でPDFとか動画もブラウザ内で表示されるのでファイルとして保存されることは少なくなったけど、 あえて任意のファイルをダウンロードさせたい場合はPHPで実現できる

file_get_contents&POST送信を実現する方法

php

通常はGETメソッドで渡すけど、制限が多いので、POSTで渡してみる。 post_file_get_contents.php 'nanashi', 'id' => '1234', ); $options = array('http' => array( 'method' => 'POST', 'content' => http_build_query($data), )); $contents = file_get_…

MeCabをPHPで使う

php

もうソース貼り付けるだけでいいよね(適当 array("pipe", "r"), 1 => array("pipe", "w") ); $process = proc_open($exe_path, $descriptorspec, $pipes); if (is_resource($process)) { fwrite($pipes[0], $st…

APIを自作してみる

php

なんてことはなかった。けどローカル環境だとうまく試せない。 たとえば文字列を受け取って小文字のアルファベットを大文字に変換してJSON形式で返却するAPI

php.iniのデフォルト設定メモ

php

最近やたらと初期設定する回数が多い気がするのでまとめた 日本語に関する設定 ;mbstring.language = Japaneseの;を外す mbstring.internal_encoding = EUC-jpの;を外してUTF-8へ default_charset = "UTF-8"の;を外す date.timezone = Asia/Tokyoへ変更 セキ…

xampp+cakePHPでインストール→Hello Worldまでやってみる

そもそもcakePHPってなんなのかよく分かってない。何だそのケーキ、うまいの? 今回試した環境は以下 Windows7 64bit xampp インストール 公式サイトからダウンロード CakePHP: 高速開発 php フレームワーク。 Home zip形式なのでxampp\htdocsに展開してフォ…

Yahooの日本語形態素解析APIをPHPで使ってみる

php

Yahoo!デベロッパーネットワークにて公開されている日本語形態素解析APIを使って簡単にテキスト解析をしてみる。 あらかじめアプリケーションIDを取得しておく。

ImageFapからオイシイ画像を抽出するスクリプト

php

画像URLを抽出するだけだからダウンロード自体は個人でやる必要がある <html> <head> <meta charset="utf-8" /> <meta name="viewport" content="width=device-width,minimum-scale=1.0,maximum-scale=1.0,user-scalable=no"/> <title>ImageFapF**k</title> </head> <body> <h1>ImageFapF**k</h1> <form action="" method="post"> </form></body></html>