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

【PHP】下らねぇ質問はここに書き込みやがれ 53

■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん2007/08/25(土) 22:11:08ID:???
まず読め→【PHP マニュアル】http://www.php.net/manual/ja/
PHPで最良の教本はこの公式マニュアル。市販の書籍は嘘が多いので鵜呑みにしない。
過去スレ、関連スレ、FAQなどは>>2-10辺り

◆前スレ
【PHP】下らねぇ質問はここに書き込みやがれ 52
http://pc11.2ch.net/test/read.cgi/php/1186794483/

◆質問する時の注意
・ 自分のIDを表示させること。(メール欄に何も記述しないこと。空白も入力しちゃダメ)
・ サーバーのOS(Linux、Windows他)、WebサーバーとPHPの種類やバージョン等を明記すること。
・ 己の行った操作、変更などを詳しく明記すること。
・ エラーメッセージはそのまま表記すること。「エラーが出ます」だけでは回答不可。
・ 質問者として、態度をわきまえること。
・ 事前に公式マニュアル、リファレンス本くらいはちゃんと目を通しておくこと。

◆質問後の注意
・偽者防止に必ずIDを表示させること。(メール欄に何も記述しない)
・2回目以降は最初に質問した際のレス番号を名前欄に入れること。
・解決しなくても回答をもらった場合はお礼を言うこと。
 (荒らし、煽りは除く。煽られたときも、無闇に反論せずスルーすること。)

◆回答者への注意
・誰にレスしているのか分からないと困るので、>>(アンカー)をつけて回答すること。

【その他諸注意】
・正規表現・PEAR・テンプレート(Smarty等)・フレームワークは各該当スレへ
・SQLについての質問はデータベース板(PCカテゴリ)の各スレで
02322222007/08/30(木) 20:14:52ID:???
なんだかすごく勉強になりました。

PHPをSJISで書いている人が多いのは、うちの職場の
方々なんです。
別にルールとかは一切ないんですけどね。

グローバル変数を使いまくるようなタイプなので、ちょっ
とこちらで質問させていただいた次第です。
決してそれが悪いということを言っているわけではなく、
僕の書き方とだいぶ異なると思ったためです。

>PHPは確かにマルチバイトに強いが、 ャRードをSJIS
>で記述するのは正式サポートしていない

ということも知らなかったので、非常に説得力のある
ご意見でした。
やはりEUCで書くことにします。

皆様有難うございます。
0233大ウソつき人間2007/08/30(木) 20:22:53ID:???
今日のレスは、久しぶりにとても参考になりますね。
このスレを毎日読んでいて良かった。
0234nobodyさん2007/08/30(木) 20:29:32ID:???
sjisでもまったく問題ないよ
文字といってもコンピュータにとってはただの数字だし
0235nobodyさん2007/08/30(木) 20:33:48ID:???
>>234 無知さらし乙
0236nobodyさん2007/08/30(木) 20:34:27ID:???
>文字といってもコンピュータにとってはただの数字だし
>文字といってもコンピュータにとってはただの数字だし
>文字といってもコンピュータにとってはただの数字だし
0237nobodyさん2007/08/30(木) 21:50:00ID:???
sjisでphpコード書いたら
特定の日本語文字で\を入れないと
コンパイルエラーになるけどな。
0238nobodyさん2007/08/30(木) 21:55:41ID:???
ーなんかもエラーになりやすいですね
0239nobodyさん2007/08/30(木) 22:05:04ID:???

ダメ文字だな
0240nobodyさん2007/08/30(木) 22:44:01ID:???
それは、文字コードのせいじゃなくてphpの言語体系が糞なだけ。

たとえば、javaでいえば、sjisで書いても内部でutfに自動変換される。
0241nobodyさん2007/08/30(木) 22:48:05ID:???
>>231
自己レス。どうも標準のGDじゃだめみたいっすね。また何か考えます。じゃ。
0242nobodyさん2007/08/30(木) 22:50:53ID:???
レベル下がってきたね
0243nobodyさん2007/08/30(木) 22:53:29ID:???
>>242
行政書士が紛れ込んでいるせいじゃねwww
夏休みは、免許取得ラッシュだから、あっちこっちで行政書士が暴れまくりだよwww
ほんと、大した法律知識も持たないで金稼ぐ阿漕な商売だぜ
0244nobodyさん2007/08/30(木) 22:54:46ID:sqac9GrM
文字コードEUC-JPを使い、MySQL(バージョン: 4.1.20)でデータベースをphpMyadminで管理・運用していましたが、
この度、ドイツ語を取り扱うことになり、文字コードをUTF-8に変えました。
もちろんデータベースのレコードもUTF-8にエンコードしました。
文字化けなどはしてません。

しかしここで問題が発生しました。
phpmMyadminでの検索機能で、あるはずのレコードが検索にひっかからなくなってしまうことが起きています。

例)TBL_exampleというテーブルに、Namaeというフィールドがあり、その中にドン・ジョバンニというレコードがあります。

SELECT *
FROM `TBL_example`
WHERE `Namae` LIKE '%ドン%'
と入れると、きちんとドン・ジョバンニが結果に出てきますが、

SELECT *
FROM `TBL_example`
WHERE `Namae` LIKE '%ジョバ%'
と入れると、ドン・ジョバンニが出てきません。

Namaeフィールド以外に、英語で情報が入ったフィールドがあるのですが、そちらでは問題なかったです。

解決のためのヒントをいただければ幸いです。どうぞよろしくお願いします。
0245nobodyさん2007/08/30(木) 22:59:35ID:???
>>240
>たとえば、javaでいえば、sjisで書いても内部でutfに自動変換される。
これが「言語体系」?

そんなにSJISが好きなら--enable-zend-multibyteすりゃいいのに。
もっとも全ての入出力で変換が掛かる訳じゃないけどね。
0246nobodyさん2007/08/30(木) 23:07:20ID:???
そもそもJavaとPHPじゃ単純比較できんだろ
0247nobodyさん2007/08/30(木) 23:10:24ID:???
mysqlとの連携ってどれぐらい早いですか
たとえば掲示板の書き込みデータを区切り文字で区切って保存、読み込みするのと
mysqlのテーブルとして保存、読み込みするのはどちらが早いですか
0248nobodyさん2007/08/30(木) 23:16:43ID:???
>>247
データ件数とデータの複雑さにもよる。
100件以下で参照関係なし、とかならテキストファイル使った方がさすがに速かろう。
0249nobodyさん2007/08/30(木) 23:17:33ID:???
データ件数による
0250nobodyさん2007/08/31(金) 00:41:05ID:icDPlmBN
すみません。
テキストファイルから文字を読み出し、
1024文字で分割し、それぞれをテキストエリアに表示。
ってのがうまく出来ないんです。
どなたか教えてほしいです。
0251nobodyさん2007/08/31(金) 00:42:56ID:???
今までどういうコード書いた?
0252nobodyさん2007/08/31(金) 00:52:54ID:icDPlmBN
文字を1024文字ごとに<>を加え、それを<>を区切りに分割
までは考えたんですけど、だめですかね?
0253nobodyさん2007/08/31(金) 00:54:37ID:???
コードだよコード。
PHP語話せ
0254nobodyさん2007/08/31(金) 00:56:49ID:???
>>252
ダメっつーか、それで思った通りの結果が得られなかったのか?
それが良いコードかどうかはともかく、動くことは動きそうだが。
そもそも1024文字ごとに<>を加え、ってのがどうやったのか不明だけど。
0255nobodyさん2007/08/31(金) 00:56:56ID:icDPlmBN
携帯からなんで無理なんです。
0256nobodyさん2007/08/31(金) 00:59:53ID:???
じゃあパソコンから書き込んでください。
0257nobodyさん2007/08/31(金) 01:01:08ID:icDPlmBN
chnuk_split
explode
使いました。
0258nobodyさん2007/08/31(金) 01:01:25ID:???
>>248>>249
どうもありがとう
0259nobodyさん2007/08/31(金) 01:05:12ID:???
chunk_splitなんて関数初めて知ったよw
使いどころがなさそうな関数だな。
どんな発想でこんな関数を見つけてこれるんだ?
どっかのコードのコピペ?
しかも脆弱性情報満載

>>257
あー、まー、てめー、もっと
どんな関数があるのか調べろというこった。
0260nobodyさん2007/08/31(金) 01:06:09ID:AXGaJdGV
>>250
ファイルを読み出すときにどの関数を使っていますか。
0261nobodyさん2007/08/31(金) 01:08:06ID:icDPlmBN
脆弱性ですか。
どこに穴があるのか教えて下さい。
0262nobodyさん2007/08/31(金) 01:10:01ID:icDPlmBN
file_get_contentsです。
0263nobodyさん2007/08/31(金) 01:10:32ID:AXGaJdGV
>>257
freadを使わないのは、 freadを知らないからですか。
それともfreadでは駄目な理由があるのですか。
0264nobodyさん2007/08/31(金) 01:36:03ID:???
宿題なんだからそんなに簡単に正解のヒントをあげちゃダメっ
0265nobodyさん2007/08/31(金) 01:37:05ID:icDPlmBN
freadで1024ごとに分割して出力はどうするんですか?
0266nobodyさん2007/08/31(金) 01:46:11ID:???
HTMLの出力すらできないんかいっ
0267nobodyさん2007/08/31(金) 01:49:36ID:icDPlmBN
1024ごとに分割された出力が出来ないので、

htmlはわかりますよ。
0268nobodyさん2007/08/31(金) 01:55:24ID:???
ループ処理くらい知ってるんだろ?
0269nobodyさん2007/08/31(金) 02:02:43ID:icDPlmBN
ループ…foreachで出来ますか?
0270nobodyさん2007/08/31(金) 02:05:34ID:AXGaJdGV
http://www.php.net/fread
0271nobodyさん2007/08/31(金) 02:08:04ID:???
>>269
キミ、いくらなんでもダメすぎ。
0272nobodyさん2007/08/31(金) 02:32:31ID:icDPlmBN
わからないです。
0273nobodyさん2007/08/31(金) 02:37:01ID:???
携帯ってこんなに長くIP変わらないの?
IDおんなじだよね。

>>272
ソースかけ
0274nobodyさん2007/08/31(金) 02:37:25ID:???
学校で何を習ってるんだ、君は…
0275nobodyさん2007/08/31(金) 02:40:34ID:icDPlmBN
IP帯域は頻繁に変わりますね。
自分のサイトはPCのアクセスを.HTACCESS使って制限してます。
0276nobodyさん2007/08/31(金) 02:45:21ID:???
>>269
他のループは知らんのか。
関数より、制御構造を一通り使えるようになっとかないと何も作れないぞ。
ほとんど正解書かれてるじゃん >レス
0277nobodyさん2007/08/31(金) 02:48:58ID:???
255 名前:nobodyさん[] 投稿日:2007/08/31(金) 00:56:56 ID:icDPlmBN
携帯からなんで無理なんです。

↑こういう嘘つくやつに答える必要はない。
0278nobodyさん2007/08/31(金) 02:49:30ID:icDPlmBN
>>276さん
ループ
fread
を使う、ということでしょうか?
0279nobodyさん2007/08/31(金) 02:50:59ID:icDPlmBN
>>277
なぜ嘘だと言えるんだ?
0280nobodyさん2007/08/31(金) 02:51:58ID:???
>>278
好きなのを使え。

それ使ってもできるし
使わなくてもできる

違いは、どれが一番簡単にやれるかどうかって話しなだけだ。

で、お前が今まで書いたコードは?
0281nobodyさん2007/08/31(金) 02:53:11ID:???
>>279

275 名前:nobodyさん[] 投稿日:2007/08/31(金) 02:40:34 ID:icDPlmBN
IP帯域は頻繁に変わりますね。
0282nobodyさん2007/08/31(金) 02:56:01ID:???
携帯はIPじゃなく個体識別でID振られるんじゃなかったっけ?
0283nobodyさん2007/08/31(金) 02:56:17ID:icDPlmBN
AUのIP帯域表見てこいよ
俺はDocomoだけど、
WILLCOMなんて糞多いぞ?
0284nobodyさん2007/08/31(金) 03:02:14ID:???
>>283
それ、反論になってないw

>>277>>281は「2chのIDは接続IPごとに振られるはずだから、
IPが頻繁に変わる携帯なら毎回違うIDになるはず」と言ってる。
だが、それ自体が勘違いなので、気にする必要なし。
そんな糞仕様だったら携帯使ってるやつは自演しまくり、
他の携帯のやつとID被りまくりになる。
0285nobodyさん2007/08/31(金) 03:03:38ID:???
で、お前が今まで書いたコードは?
0286nobodyさん2007/08/31(金) 03:05:40ID:???
chnuk_split
explode
foreach
こんだけ知ってて作れないってのもどうかと思う。
効率は決して良くないが、できないことはないぞ。
0287nobodyさん2007/08/31(金) 03:11:23ID:???
>>284
お前の論理展開もおかしいぞ。

> そんな糞仕様だったら携帯使ってるやつは自演しまくり、
頻繁に変わるIPでIDが決まるなら、自演なんか出来ないだろw
お前馬鹿すぎ。
0288nobodyさん2007/08/31(金) 03:15:10ID:icDPlmBN
>>284
俺自身個体識別番号でIDなんて知らなかったんだから仕方がないだろ。
携帯に関してIPでIDという意見だったんだから、その可能性は低いだろうということを指しただけだ。

>>286
効率のいい方法が気になるんですけど、速度的にも違うんですかね?
0289nobodyさん2007/08/31(金) 03:16:17ID:???
いいから、さっさとお前が書いたコード書け
0290nobodyさん2007/08/31(金) 03:18:45ID:icDPlmBN
コードは明日でいいですか?
0291nobodyさん2007/08/31(金) 03:19:33ID:???
あぁ、来月で良いよ。
0292nobodyさん2007/08/31(金) 03:22:00ID:icDPlmBN
まずは出来る限り自分でしてきます。ヒント貰えましたから。
お休みなさい。
0293nobodyさん2007/08/31(金) 03:24:27ID:nPx6LHaB
夏休みの宿題は大変そうだな、こんな時間まで。
来年はもっと早くやろうな。
0294nobodyさん2007/08/31(金) 03:24:30ID:???
強気になったり低姿勢になったり全くなんて感情の起伏が激しい子
0295nobodyさん2007/08/31(金) 03:27:18ID:icDPlmBN
夏休みの宿題なんてとっくに終わったが?
0296nobodyさん2007/08/31(金) 03:28:34ID:???
もういいから寝ろよw
0297nobodyさん2007/08/31(金) 03:30:00ID:icDPlmBN
寝たいんだが…不眠症でな…
わりぃ
0298nobodyさん2007/08/31(金) 03:35:02ID:???
不眠症か
どうりで感情の起伏が激しいわけだ
0299nobodyさん2007/08/31(金) 03:37:52ID:icDPlmBN
そうらしいな。
まぁ…今日は朝日でも見に行くかな。
0300nobodyさん2007/08/31(金) 04:03:30ID:???
発言が脂肪フラグくさいなw
0301nobodyさん2007/08/31(金) 05:02:36ID:???
強くイ`
0302nobodyさん2007/08/31(金) 05:44:34ID:qJAlQosv
JISでもダメ文字ってんの?
UTF-8→JISに変換して送信したら
勝手にエスケープ入ったんだけど。。。
0303nobodyさん2007/08/31(金) 10:15:58ID:???
さぁ、エスパーさんの出番ですよ
0304nobodyさん2007/08/31(金) 11:20:10ID:???
よーしまかせろ
>>302
それはきっとあれだ。
EUC>UTF-8>そのまま保存>取り出し>JIS
とやったんだな。うん。
0305nobodyさん2007/08/31(金) 11:29:32ID:???
popen()実行時のPATH変数はどこで設定されているのでしょうか?
CentOS4.5です。
0306nobodyさん2007/08/31(金) 11:59:02ID:icDPlmBN
分割表示出来た。(`・ω・´)
みんなありがとう!!!!!!!!!!
0307nobodyさん2007/08/31(金) 12:17:30ID:???
>>305
そもそもPHPからプロセス起動するときは常にフルパスにしてるし
そうすべきものだと思うからそんなの意識したことも無かったけど、
多分rootユーザの環境設定じゃないの?
PHPはApacheプロセスなんだから、Apache起動時のユーザ環境を
そのまま引き継いでるんだと思うけど。
0308nobodyさん2007/08/31(金) 12:30:09ID:???
バイナリ文字列をchrで作成するのって問題ないですか?
何か切り捨てられるasciiコード番号ってあるんでしょうか
0309nobodyさん2007/08/31(金) 12:34:55ID:???
>>307
Apache起動スクリプトでPATHを変更してみて確認しました。
Apache起動時のPATH変数を引き継いでました。
ありがとうございます。
0310nobodyさん2007/08/31(金) 12:35:09ID:???
>>308
特にないんじゃない?
0311nobodyさん2007/08/31(金) 12:53:41ID:???
>>308
一般にバイナリ文字列ならpack()の方が便利だと思うよ。
つか、バイトオーダーとか、charのサイズとかバイナリの基礎知識ある?
0312nobodyさん2007/08/31(金) 13:14:13ID:???
>>247-249
んーmysqlつかって掲示板システム組んでるけど目的は早い遅いじゃないなぁ。
データと外観を別個に扱いたいというか。
外観変えようと思ったら全部のファイルにバッチ流したりってのがメンドイんで
データDBに突っ込ませてるけど間違った用法かなぁ。
0313nobodyさん2007/08/31(金) 13:20:44ID:???
トンチンカンキターーー!
0314nobodyさん2007/08/31(金) 13:23:12ID:WC6dpiwK
質問です
1.hoge.com/hoge.php?test=1234

2.hoge.com/hoge.php/1234

1は$_GETなんですが、2はどうやって1234というキーを取り出せばいいんでしょうか
0315nobodyさん2007/08/31(金) 13:26:44ID:???
apache設定
0316nobodyさん2007/08/31(金) 13:26:56ID:???
>>314
$_SERVER['PHP_SELF']
0317nobodyさん2007/08/31(金) 13:28:45ID:???
>>312
データ形式(ファイルかDBか)と外観はぜんぜん関係ないと思うけど
0318nobodyさん2007/08/31(金) 13:41:36ID:WC6dpiwK
>>316
$_SERVER['PHP_SELF']でURLを拾って分解するしかないということでしょうか?
0319nobodyさん2007/08/31(金) 13:43:43ID:???
>>318
簡単な方法はそれ
.htaccessかApacheの設定で静的URLを動的URLにしてGETで取得できるけど、
そうするのだったまずググってみ
0320nobodyさん2007/08/31(金) 13:45:53ID:WC6dpiwK
>>319
なるほど、ありがとうございます
0321nobodyさん2007/08/31(金) 13:55:52ID:???
parse_url
0322nobodyさん2007/08/31(金) 14:12:15ID:icDPlmBN
…見間違えだったやっぱ分割表示出来ない…
for文でやってみたんだが…
もぅだめだ…
スクリプト教えてくれ
0323nobodyさん2007/08/31(金) 14:15:15ID:???
>>322
なんのこと言ってんだ?
0324nobodyさん2007/08/31(金) 14:15:59ID:???
コード出すんじゃなかったの?
0325nobodyさん2007/08/31(金) 14:17:50ID:???
>>322
freadで1024Byteずつとりだしてechoで吐き出せばいいんじゃね?
0326nobodyさん2007/08/31(金) 14:21:57ID:???
>>322
まず自分で書いたコードを出せ。そしたら添削してやる。
0327nobodyさん2007/08/31(金) 14:22:07ID:icDPlmBN

$source = fopen("./a.txt","r");

for($i = 0; $i < mb_strlen($source) $i++)
{
$x = fread($source,1024);
echo "$x";
}
0328nobodyさん2007/08/31(金) 14:23:06ID:???
ワロタ
0329nobodyさん2007/08/31(金) 14:24:14ID:???
>>327
> mb_strlen($source)
この条件はおかしい。fopenの戻り値はリソースIDでしかないので
文字列の長さを取得できるようなものではない。
ファイルを全部読みきったかどうかは feof() で判定できるぞ。
0330nobodyさん2007/08/31(金) 14:26:31ID:???
このソースはワロタwwwwwww

ヒント

$source = fopen("./a.txt","r");
while(){}
$x = freas($source, 1024)
echo "{$x}"


これ組み合わせれ
0331nobodyさん2007/08/31(金) 14:29:29ID:???
必要性はないが別にforでもできる。
ま、普通はwhileを使うだろうが、この場合は根本的な解決にはならん。
■ このスレッドは過去ログ倉庫に格納されています