カテゴリー別アーカイブ: PHP

phpMyAdmin でテーブル一覧がページングされるのを解除する

最近のバージョンの PHPMyAdmin は左側のフレームに表示されるテーブル一覧がページングされるようになった。

テーブルを選択する際にいちいちページを切り替えて探さないといけないので、自分にとっては何のメリットも無いどころか、かなり使いにくくなってしまった。

しばらくそのままで使っていたが、我慢の限界で、ページングしないようにできないものか設定をいじってみたら、ページングを解除できた。

vi config.inc.php で以下を追加する

$cfg[‘MaxNavigationItems’] = 100;
$cfg[‘MaxTableList’] = 100;

ログアウトしてログインしなおせば、ページングされずに1画面で表示されるようになった。

テーブルが100個以上ある場合は数字をもっと大きくすれば大丈夫だと思います。

 

preg_match の正規表現でglobal(全文)オプションが使えない

文字列 “abcdefgabcdefg” に対して、正規表現で /abc/ とやると、最初にでてくる abc がマッチして、二回目の abc にはマッチしない。

文字列に出てくるすべての abc にマッチさせたいばあいは、 /abc/g と言った具合に最後に g オプションをつける。

php の preg_match でも g オプションでいけるだろうと思い

preg_match ( ‘/abc/g’ , $string , $matches ) ;

としたところ

PHP Warning:  preg_match(): Unknown modifier ‘g’

という警告が出た。

調べてみたところ、こういう場合は

preg_match_all のほうを使え、ということだった

preg_match_all ( ‘/abc/’ , $string , $matches ) ;

で解決。めでたし。

ていうか、g オプションつけてよ。。。

PHP で複数ファイルのアップロード処理を書いたが20個しかアップロードできない。

最近のブラウザだと、input タグに multiple 属性をつけると、ひとつのタグで複数のファイルをアップロードすることができる

<input type=”file” name=”files[]” multiple>

こんな感じで簡単。

しかし、調子に乗って30個ぐらいのファイルを一度にアップしようとしたら、一部のファイルしかアップされませんでした。

数えてみるとちょど20個で、それ以降のファイルは取得できない。

調べてみたところ、やっぱり制限がありました。

デフォルトでは20個のようですが、php.ini に max_file_uploads を追加してあげれば制限値を変えられるようです。

私の環境では /etc/php.ini に max_file_uploads = 100 を追加したら100個までアップロードできるようになりました。

変えられるからといってあまり大きい値にするのもどうかと思うので、運用を考えて必要最小限の値にしておきましょう。

php.ini を変更したらWebサーバの再起動も忘れずに。