2012年11月29日木曜日

PHPでアップロードに失敗した場合のエラー内容を調べる方法

PHP: エラーメッセージの説明 - Manual
PHP 4.2.0 以降、PHP はファイル配列とともに適当なエラーコードを返します。 エラーコードは、PHP によるファイルアップロードの間に生成され、 ファイル配列の['error'] 要素で アクセス可能です。言い換えると、エラーは、 $_FILES['userfile']['error'] でアクセス可能でしょう。

まずはこの値をチェックする

2012年11月28日水曜日

サクラエディタでPHPの関数をハイライトしたり入力補完したりする方法

PHPにおすすめのエディタ(個人的に) : アシアルブログ
サクラエディタでは、PHPの色設定ファイルがすでにありますが、設定ファイルの作成も非常に簡単です。
関数名を改行で区切ったテキストファイルを作ればいいだけなので、PHPで、以下のように簡単に作れます。

手元のサクラエディタではPHP用設定ファイルが無かったが、上記を参考に作って設定できた。

入力支援(コード補完)はメニューの 設定→タイプ別設定→支援 から簡単に見つかるから良いが、色を付けるにはまず 設定→共通設定→強調キーワード→セット追加 でPHP用キーワードファイルを作成する必要があった。これへのインポートのデフォルトの拡張子はkwdだが、そのマスク(フィルタリング)を*.*にすれば他の拡張子のファイルでも問題なくインポートできた。

2012年11月21日水曜日

PHP5.3で MySQLの 16バイトの古いパスワードが使えない

【php】mysqlndを使うとMySQLに接続できない? at softelメモ
mysqlndを使う場合は、長いパスワードのユーザーを作るしかないですね。

「OK packet 1 bytes shorter than expected in ...」とか、
「mysqlnd cannot connect to MySQL 4.1+ using the old insecure authentication. Please use an administration tool to reset your password with the command SET PASSWORD = PASSWORD('your_existing_password'). This will store a new, and more secure, hash value in mysql.user. If this user is used in other scripts executed by PHP 5.2 or earlier you might need to remove the old-passwords flag from your my.cnf ...」とか言われてエラーになる。

素直にMySQLの設定変えて、必要に応じてパスワードもハッシュ後41文字ので登録しなおせばいいんだろうけど、諸事情によりそれをすっ飛ばしたい。
結局、他の環境で作った41文字のパスワードに変えて、 FLUSH PRIVILEGES; したらエラーが出なくなったのでMySQLの設定変更もせずに済んだ。
めでたしめでたし。

Excelの複数シートを それぞれCSVファイルとして保存する マクロ(VBA)

エクセルの複数シートをCSVファイルに変換したい - Office系ソフト - 教えて!goo
現在、エクセルのVer2002を使用しており、CSV(カンマ区分け)ファイル変換を実行することが多くあります。
現状、CSVに変換すべきブック中のシート数が多い(EX.90~140)場合の作業で大変苦労をしています。

メモ。
ファイルを共有可にしている場合はVBAを使えないので共有を解除すると。
あと、マクロ付きExcelって拡張子変わったんだ…

Excel 2010で VBE (Visual Basic Editor)を起動する方法

Office 2010 Excelでマクロを作成するには - meiyaの勝手気ままなblog - Yahoo!ブログ
というより、VBA画面をどうやって出すのかわからないかと思います。
 実はマクロを作成するためのマクロのメニューは初期では表示されておらず、設定で表示させるようにする必要があります。

メニューにないと思ったら…
上記リンク先の最後の記述も気になる。

2012年11月15日木曜日

MySQLでマルチバイト文字の文字数をカウントする方法

List6-8 文字列の長さを調べる - i am BEST - livedoor Wiki(ウィキ) for スマートフォン
一般的に LENGTH はバイト数を返し、CHAR_LENGTH は文字数を返す、と考えておいていいと思います。

UTF-8だと多くの全角文字は3バイトなので LENGTH('あ') = 3 になってしまうので、 CHAR_LENGTH() を使えばいいのかー。

予約後を大文字にするとは、"Oracleあがり"かな

2012年11月7日水曜日

処理時間の長いPHPでブラウザ側のタイムアウトを防ぐ方法

ブラウザ(IE7)のタイムアウトを防ぐ方法。 - Chocotte de Choo
echo str_pad('', 256);

IEでは256バイトを超えると出力が表示されるようになるので、わざと
256バイト分の空文字を出力するようにする、というもの。

上記と同じ記述があちらこちらで散見されるが、空文字はいくつ出力してもゼロバイトじゃないんだろうか?


  1. set_time_limit()
  2. ob_end_clean()
  3. echo など
  4. flush()
の合わせ技についてはたしかに効力があった。
これは冒頭に1回やればいいのか、定期的にやらないといけないかは要調査。

.

2012年11月5日月曜日

IEのタイムアウト時間を変更するために変更が必要なレジストリの項目

Internet Explorer - がしまっくす
ReceiveTimeout?:
KeepAliveTimeout?:
ServerInfoTimeout?:KeepAliveTimeout?>120000 (2 分) を設定する場合、同じ値を設定

3つもあるのか!

IEのタイムアウト秒数を変更する VBScript

ieのHTTPタイムアウトエラーまでの時間をチューニングする方法は.. - 人力検索はてな
IEのタイムアウトを設定するスクリプトを作成してみました。

注 : この設定は、Internet Explorer 4.0 SP1 より前のバージョンの Internet Explorer では機能しません。

以下のソースを、IEタイムアウト設定.vbs など任意の名前にしてデスクトップなどに配置して、ダブルクリックしてください。

Windows7でも使えるのかな?
必要十分な機能・UIは素晴らしい。

ブログ アーカイブ

カテゴリー