トップページphp
1001コメント346KB

【PHP】質問スレッドpart34【php】

■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん2006/03/21(火) 10:19:14ID:???
PHP全般の質問スレです。>>2-10も参照。

【ガイドライン】
質問の前にgoogleやマニュアルを検索してください。
http://www.php.net/manual/ja/
http://php.s3.to/namazu/


◆質問する場合の注意
1. 自分のIDを表示させること。(メール欄には何も記述しないでください)
2. ハードウェア、OSのバージョン等を明記すること。
3. 己の行った操作、変更などを詳しく明記すること。
4. エラーメッセージはそのまま表記すること。
5. 質問者としても態度をわきまえること。


◆質問後の注意
・質問者は必ずIDを表示させてください。
  書き込む場合はメール欄に何も記述しないでください。
・2回目以降は最初に質問した際のレス番号を名前欄に入れてください。
  (逆に回答者は質問者に対して>>(アンカー)をつけて答えてください。)
・解決しなくても回答をもらった場合はお礼を言う。
  (荒らし、煽りは除く)

【その他諸注意】
・正規表現・PEAR・テンプレート(Smarty等)・フレームワークはそれぞれの該当スレへ
・SQLについての質問はデータベース板(PCカテゴリ)の各スレで
・オブジェクト指向については良スレがないから本を買え
・速さについては自分でベンチをとってここに書け(違う環境の人も調べてくれるかも)

過去スレ、関連リンク、FAQ等>>2-10辺り
0002nobodyさん2006/03/21(火) 10:19:54ID:???
前スレ
【PHP】質問スレッドpart33【php】
http://pc8.2ch.net/test/read.cgi/php/1140027592/
【PHP】質問スレッドpart32【php】
http://pc8.2ch.net/test/read.cgi/php/1136276300/
【PHP】質問スレッドpart31【php】
http://pc8.2ch.net/test/read.cgi/php/1133017632/
【PHP】質問スレッドpart30【php】
http://pc8.2ch.net/test/read.cgi/php/1130190606/


関連リンク
■本家マニュアル   http://www.php.net/manual/ja/
■日本PHPユーザ会 http://www.php.gr.jp/
■PEARマニュアル  http://pear.php.net/manual/ja/
■メーリングリスト   http://ns1.php.gr.jp/mailman/listinfo/

 (以下英語)
■Smarty       http://smarty.php.net/
■Zend本家      http://www.zend.com/
■Zend Framework  http://framework.zend.com/
■php | architect   http://www.phparch.com/
■Smartyマニュアル http://smarty.php.net/manual/en/
■ZFマニュアル    http://framework.zend.com/manual/en/
■PECL本家(英語) http://pecl.php.net/

まだ英語しかないマニュアルも後々/manual/en/を/manual/ja/に変えてみたら日本語があるかもしれません。
0003nobodyさん2006/03/21(火) 10:20:32ID:???
関連スレ
【PHP】下らねぇ質問はここに書き込みやがれpart18
http://pc8.2ch.net/test/read.cgi/php/1142417901/
【PHP】PEAR Part2
http://pc8.2ch.net/test/read.cgi/php/1122899232/
[PHP]フレームワークについて語るスレ2[総合]
http://pc8.2ch.net/test/read.cgi/php/1135847024/
【Smarty】PHPのテンプレートエンジン【Flexy】
http://pc8.2ch.net/test/read.cgi/php/1118799352/
[PHP-users MLヲチ8]巣もいませんでした。
http://pc8.2ch.net/test/read.cgi/php/1132800251/
正規表現道場@2ch Part4
http://pc8.2ch.net/test/read.cgi/php/1105930285/(落ち)
Webでオブジェクト指向プログラミング
http://pc8.2ch.net/test/read.cgi/php/1133489897/

関連板
データベース(SQL、DBMSの話題はこちら)
http://pc8.2ch.net/db/
プログラム(CLI、アルゴリズム、インタプリタの話題はおそらくこちら)
http://pc8.2ch.net/tech/
Web制作(クライアントサイドの話題は問答無用でこちら)
http://pc8.2ch.net/hp/
0004nobodyさん2006/03/21(火) 10:21:06ID:???
【簡易FAQ】
1. ブラウザに何も表示されないんだけど・・・
 → error_reporting()や、php.iniのdisplay_errors、log_errorsを確認
2. include/requireに「〜.php?a=b&c=d」のようなパラメータをつけたい
 → できません
3. $a1, $a2, $a3 ... のような変数名をうまく扱いたい
 → 可変変数で実現できるけど、むしろ配列を使って$a[1], $a[2], $a[3]等とするのがベター
4. echo "$arr['hoge']['fuga']"; がうまくいかない
 → {おっぱい括弧}でくくって"{$arr['hoge']['fuga']}"にする
5. echo?print?
 → echoはコンマ区切りで書けるけど関数ではない。printは関数。パフォーマンスは気にするな
6. 値渡しと参照渡し(「&」を使う)のパフォーマンス
 → この二つはパフォーマンス目的で使いわけたらダメ。よく知らずに参照渡しにすると遅くなったりする
  参照渡しは引数に戻り値を設定したり引数を関数内で変更するなど、正しい目的に使うこと
7. CSVやTSVのファイルをスマートに扱いたい
 → まずはfgetcsv()
8. ファイル入出力関数(fopen等)でリモートファイル(http://〜とか)を扱う際の限界
 → fsockopen()でソケット通信 or PEARのHTTP系 or CURLで解決
  必要ならHTTPをはじめとする各種プロトコル(どんなデータを送受信するか)はRFCなどで調べる
9. 一定時間ごとに何かしたい
 → cron、タスクスケジューラ
10. 画像処理一般 or GDの限界
 → ImageMagick(PECLのやつ or シェルから実行)
0005nobodyさん2006/03/21(火) 10:21:38ID:???
11. 画像・音・動画はファイルで保存?DBに保存?
 → 好きにしてください
12. クッキーの情報をユーザから隠したい
 → セッション使え。ただしクッキーとセッションは仕組みが違うから同じように扱うな
13. このスレに書き込むときに自分のサイト名を晒したくない
 → http://example.com/が例文などのために予約されている
14. SQLの質問はどこで?
 → データベース板に誘導されるのが嫌ならPHPにうまく関連させて質問する
15. 記号の意味がわからないけどググりようがない
 → 「@」 エラー表示を抑制、「->」 オブジェクトのメンバにアクセス
  「==」は暗黙の型変換をしてゆるい比較、「===」は型情報も含めた厳密な比較
16. 文字列のなかに、英字のみとか数字のみとか記号が入っちゃいやんとかはどうしたらいいの?
 → ctype_〜()が手軽。複雑なパターンはpreg_〜()あたりで正規表現を使う。
17. strip_tags()で削除しないタグを複数指定したい
 → strip_tags($html, '<a><p><font>'); // htmlspecialchars()も検討すべし
18. そもそもインストールの時点でうまくいかない
 → 確認すべきはPHPのconfigureの引数、php.iniの内容と置き場所、
  Webサーバの設定(Apacheならhttpd.conf)、起動&再起動あたり
19. PHPからPOSTリクエストしたい
 →8.を参照
0006nobodyさん2006/03/21(火) 10:48:30ID:???
>>1
乙。GJ
0007nobodyさん2006/03/21(火) 10:52:53ID:???
>>1
乙です。

以前、
> 2. ハードウェア、OSのバージョン等を明記すること。
について議論なかったっけ?
バージョンに関しては、基本的に必要なのはPHPのバージョンだけで、内容によってはWebサーバとそのバージョン、もしくはOSやハードウェアって感じになると思うんだけど。

まあ「そんなテンプレ律儀に守る奴いねーよ」って言われればそれまでなんだけどさ。
0008nobodyさん2006/03/21(火) 11:00:37ID:???
> 2. ハードウェア、OSのバージョン等を明記すること。

確かにハードのバージョン書くよりは
phpやサーバのバージョンのほうが情報として意味があるよな
0009nobodyさん2006/03/21(火) 11:10:13ID:???
ハードウェア情報を書かれても困る
もっと大事な情報が欲しい
0010nobodyさん2006/03/21(火) 11:21:23ID:???
最低限PHPのバージョンだな。PHP4と5では違いが大きすぎる。
まさかPHP3使ってるやつはそういないだろうが…
0011nobodyさん2006/03/21(火) 12:21:43ID:???
> 5. echo?print?
 → echoはコンマ区切りで書けるけど関数ではない。printは関数。パフォーマンスは気にするな


printは厳密には言語関数
http://jp2.php.net/manual/ja/function.print.php
0012112006/03/21(火) 12:22:48ID:???
訂正
×言語関数
○言語構造
0013nobodyさん2006/03/21(火) 14:18:41ID:???
エスパーキボンのテンプレはカット?
↓これも追加希望

わからない五大理由
1 読まない
2 調べない
3 試さない
4 理解力が足りない
5 人を利用することしか頭にない
0014nobodyさん2006/03/21(火) 14:25:43ID:???
>>13
俺もエスパーキボンヌは名残惜しいが、ハァ?って言う人の気持ちもわからなくもないのであえて文句は言わないことにした。
その5大理由も久々に見たなw
900台で訴えないとたぶんカットされるよ。
0015nobodyさん2006/03/21(火) 14:31:38ID:???
>>11
次スレで修正が必要だね。

5. echo?print?
 → 同じ。

でどうよ?
標準的にはechoを使ったほうがいいのかな。マニュアルでも随所でechoを使ってるし。
0016nobodyさん2006/03/21(火) 14:40:40ID:???
>>13
元はといえばそれが改編の火種だから
入れるのは好ましくないと思う
0017nobodyさん2006/03/21(火) 14:55:57ID:???
>>16
> 元はといえばそれが改編の火種だから

むしろテンプレ全体がわかりづらかったから変えることになったんでしょ。
0018nobodyさん2006/03/21(火) 15:46:54ID:???
>>13は糞質問をしないandさせないために必要
0019nobodyさん2006/03/21(火) 16:58:15ID:???
糞質問は普通にスルーすればいいじゃん
0020nobodyさん2006/03/21(火) 17:28:29ID:???
嫌でも俺が貼るから意味ナス
0021nobodyさん2006/03/21(火) 18:15:18ID:???
点プレファックを余り充実させすぎると、
以降全ての回答が、
>>1-30
とかになるお燗
0022nobodyさん2006/03/21(火) 18:40:48ID:???
>>13
エスパーのやつここが元ネタかな?
http://www.redout.net/data/osietekun.html
0023nobodyさん2006/03/22(水) 02:04:05ID:???
ひとまず前スレ埋めようか
0024nobodyさん2006/03/22(水) 03:18:05ID:???
お、テンプレ変わったね。だいぶ良くなったな
0025nobodyさん2006/03/22(水) 04:24:14ID:???
wiki URL
http://wiki.2chx.net/php/
ところで、2chx.netは自宅鯖?
0026nobodyさん2006/03/22(水) 06:28:37ID:???
環境
win XP PRO SP2
php 5.1
apache 2.0(SSL対応)

MySQL 改良版拡張サポート(mysqli)を使用するためには、
php.iniの extension=php_mysqli.dll を有効にするだけでいいのでしょうか?

extensionのパスも、php_mysqli.dllの存在も確認済みです。
0027nobodyさん2006/03/22(水) 07:22:05ID:???
>>26
libmysql.dllをDLLパスの通ってるところに放り込む。
0028nobodyさん2006/03/22(水) 10:31:28ID:???
win XP PRO SP2
php 5
httpd

$str = '日本語';
echo $str;
echo "\n";
$hex = bin2hex($str);
echo $hex;
echo "\n";
$bit = base_convert($hex,16,2);
echo $bit;
echo "\n";
echo base_convert($bit,2,16);
$hex = base_convert($bit,2,16);

ここまでは出来たんですが、16進からバイナリに治せないんです
packでやっても変な ] これしか出ないので調べたらfloat型なのでぜんぜん足りないと解釈しました
ぜんぜん違うやり方でも良いので
バイナリ to 2と2 to バイナリできませんか?
0029nobodyさん2006/03/22(水) 11:30:51ID:???
質問の意図が掴みづらいが、そこまで出来んのに何やってんの?

<?php
$str = '日本語';
echo $str, "\n";
$bit = base_convert(bin2hex($str), 16, 2);
echo $bit, "\n";
$bin = pack('H*', base_convert($bit, 2, 16));
echo $bin;
0030nobodyさん2006/03/22(水) 11:31:24ID:???
質問の意図が掴みづらいが、そこまで出来んのに何やってんの?

<?php
$str = '日本語';
echo $str, "\n";
$bit = base_convert(bin2hex($str), 16, 2);
echo $bit, "\n";
$bin = pack('H*', base_convert($bit, 2, 16));
echo $bin;
■ このスレッドは過去ログ倉庫に格納されています