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

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

レス数が900を超えています。1000を超えると表示できなくなるよ。
0001nobodyさん2006/07/23(日) 20:00:03ID:???
PHPに関するくだらねぇ質問用スレです。
ここならお前の下らない質問に回答があるかも知れません。

まず読め【PHP マニュアル】
http://www.php.net/manual/ja/

過去スレは>>2
0809nobodyさん2006/08/04(金) 17:07:30ID:???
>>805
それのどの辺がJavaなんだ
0810nobodyさん2006/08/04(金) 17:08:27ID:???
>>807
ですよね
自分も書いた後にヤバイなと思った
正確には、「JavaScript(Ajax)でもPHPでも」かな

監視は一応思いついたのですが、負荷かかってよろしくないんじゃないかと思ったもので・・・
最近、気になるお年になったのよ
0811nobodyさん2006/08/04(金) 17:09:06ID:???
>>792 >>795 >>801
ありがレス。

MySQLはデフォルトUTF-8を選択したほうが+環境構築も楽なようですね。

申し遅れましたがサーバOSはlinux、クライアントOSはWindows、ブラウザはIE6以上をターゲットとしています。
またシステム利用者に対してメールの配信も行います。

その辺を考慮してもShift_JISは避けたほうがいいのでしょうか?
0812nobodyさん2006/08/04(金) 17:09:50ID:???
>>810
タイマー監視だと確かに重い場合もあるかもだが
入力イベントでの監視なら全然問題ないだろう。
つーか、Ajaxじゃふつー。
0813nobodyさん2006/08/04(金) 17:10:19ID:???
>>811
Yes

LAMPはUTF-8がよかです
0814nobodyさん2006/08/04(金) 17:11:11ID:???
>>811
絶対避けろ
0815nobodyさん2006/08/04(金) 17:12:07ID:???
>>812
なるほどなるほど
早速、Scriptこしらえてみますー
0816nobodyさん2006/08/04(金) 17:27:51ID:???
>>811
というか、あらゆる場合でShift_JISはお勧めできない。
0817nobodyさん2006/08/04(金) 17:34:42ID:???
>>811
MySQL はバージョンによって結構、動作が変わるから
文字コードに苦労したくないのなら、できるだけ
4.1x 以降は使わないほうがいい。
0818nobodyさん2006/08/04(金) 17:36:25ID:???
phpMyAdminも化けるからな・・・
0819nobodyさん2006/08/04(金) 17:45:06ID:???
JavaScriptの話題だが、タイマー監視って setTimeout() とか setInterval() の事か?
マジありえんぞ、そんな実装
INPUTタグのonchange()イベントで数えて7になったらリロードでいいじゃん

てか、どうせJavaScript使うならAjaxにしてリロードなくしたほうがいいな
0820nobodyさん2006/08/04(金) 17:52:19ID:???
>>819
onchange使っているのに悩ませるなw
Ajaxでリロードなくすって、バックヤードでリロードしまくっているじゃねぇか
0821nobodyさん2006/08/04(金) 17:56:17ID:???
>>820
はっ?こいつ何言ってんだ?
0822nobodyさん2006/08/04(金) 18:00:23ID:???
>>811
UTF-8 を選択するなら「〜」の文字のテストをお忘れなく。
0823nobodyさん2006/08/04(金) 18:11:23ID:???
?
0824nobodyさん2006/08/04(金) 18:50:20ID:???
LAMPなら、全てをEUC-JPで統一するのが一番ラク。
0825nobodyさん2006/08/04(金) 20:05:20ID:???
タイマー監視って
1秒ごとにチェック?

イベント監視のほうがましそう

cronで24時間動かすならわかるが
0826nobodyさん2006/08/04(金) 20:52:15ID:???
>>825
JavaScriptでクライアント側の処理だ

cronって何の話だw 読解力ねえのか
0827nobodyさん2006/08/04(金) 21:01:16ID:???
>>825
>cronで24時間動かす

おいおい、cronで24時間毎秒起動するって、どんなシステムだよそれ。

っていうか>>826も指摘してるが、話の流れとcronは関係ないし。
0828nobodyさん2006/08/04(金) 21:09:21ID:???
cronって言ってみたかっただけだよね(�V_>�V) ノ( ´・ω・) >>825
0829nobodyさん2006/08/04(金) 21:31:50ID:U81MXz/d
質問です。

クラスについて学ぼうと思っているのですが、前段階としてクラスを使う
メリットについて認識できていません。

「例えばこういう場合に、関数だけじゃ面倒じゃん」という例があったら
教えてください。
0830nobodyさん2006/08/04(金) 21:50:59ID:vf7pOYMI
ttp://masago.kir.jp/php20040106.php

ここにあるみたいに
ttfをPNGにして出力する処理をしてるんですが
背景色を透過にすることはできるんでしょうか?

$black = imagecolorallocate($image, 0, 0, 0);

できるとしたら↑の部分をどう記述したらいいんでしょうか?
0831nobodyさん2006/08/04(金) 21:52:51ID:???
システムを相互作用するオブジェクトの集合として設計したとき、
関数構造化だけでは記述力不足に陥る
08328292006/08/04(金) 21:58:50ID:U81MXz/d
>>831
>システムを相互作用するオブジェクトの集合

すいません、経験が無いためこれがイメージできませんでした。
具体的にイメージしやすい例示をしていただけると助かります。
0833nobodyさん2006/08/04(金) 22:03:03ID:???
>>829
手短なところでは関数(メソッド)呼び出しの時に
「(」と「)」の間が短くなって打ちやすく・見やすくなるw
0834nobodyさん2006/08/04(金) 22:10:40ID:???
abstractクラスでプロトタイプ作れる・・・とか列挙してったらきり無いわ
0835nobodyさん2006/08/04(金) 22:17:51ID:???
用は保守性。
0836nobodyさん2006/08/04(金) 22:18:17ID:???
>>830
pngわからんけど、透過するにはgifしかないんじゃなかったっけ・・
0837nobodyさん2006/08/04(金) 22:27:06ID:???
透過は~alpha()関数
0838nobodyさん2006/08/04(金) 22:48:13ID:???
>>836
透過pngでぐぐるといいよ。
0839nobodyさん2006/08/04(金) 23:03:30ID:???
>>836
gifとpngは透過できる
ttp://www.animegif.net/animegif/format.html

phpで透過使えるかどうかはわからんけど
0840(^ω^)2006/08/04(金) 23:45:54ID:???
>>829
PHPでは説明しにくいな…

たとえばPHPの実行時間を計る部分を考える(PukiWikiの画面最下のConvert Timeみたいなやつ)。
次の方法で取得するとする。
1.処理が始まる前に今の時間を取得し変数$time1に代入。
2.処理が終わったら今の時間を取得し変数$time2に代入。
3.差を出力する関数を用意する(print_jikkou_jikan($jikan_no_sa))。
これは関数で簡単に実現できる(ソース省略)。
ここで、これを掲示板A、画像掲示板B、日記C、ブログD、リンク集E、アクセス解析Fなど、いろんな所で使いたいとする。
関数は簡単に書ける。しかし1. 2.で変数に代入しなければいけない。当然元のソースを修正して変数を用意することになる。
すると変数名や関数名のバッテイングを注意しないといけない。またプログラムでは、いろんな設定や状態の保持など、大量に変数や関数を使う。その変数関数地獄の中に埋もれることになる。
0841(^ω^)長文スマソ2006/08/04(金) 23:47:45ID:???
しかし、クラスにまとめてしまえばメンバ変数・メンバ関数が使えるから、関数のバッテイングは起きない。
変数のバッテイングも関数のみに比べれば減る(上の例では変数は2つだが、ブログの設定など変数が何十個何百個ならそれだけバッテイングの危険が増える)。
またクラスでまとめられるから、正しくない関数に変数を入れてしまう可能性が減る。
上の例では、$jikan_no_saに誤ってパスワードの入っている変数を入れてしまったらパスワードが出力されてしまう(そんな偶然まずないけどw)。
0842(^ω^)長文スマソ2006/08/04(金) 23:49:15ID:???
また、ドラクエのプログラムを考える。
さあ作ろうと思った時、いきなりでは何から作ればいいかよく分からないと思う。
しかしクラスを使うと、キャラクターの状態クラス(HPとかMPとか覚えた技とか)、マップ管理クラス(今どこにいるとか敵出現率は〇%だとか宝箱は座標30,45にあるとか)、
BGMクラス、実際に描画するクラスとか、役割別に分けられるから理解しやすいし作りやすい。
また継承を使って、キャラクタークラスを(十字キーで操作できる)主人公クラス、(くり出す技を自動で考える)敵キャラクラスなど、いろいろ機能の追加ができる。関数だけではさすがに面倒じゃないか?

長文スマン。説明下手でスマン。まあそのうちクラスなしでは不便に思うようになるよ。
0843nobodyさん2006/08/05(土) 00:07:05ID:???
スレ違いだっつってんだろーが馬鹿か
0844nobodyさん2006/08/05(土) 00:18:22ID:???
phpについてググる時、マニュアルのミラー避けに使う
おまいらなりの万能NGワード生成法を教えてくれ
0845nobodyさん2006/08/05(土) 00:20:10ID:???
>>844
ローカルにマニュアルを用意しておく
0846nobodyさん2006/08/05(土) 00:28:41ID:???
下手っつか、説明になってないっつか、なんだろうなコレ

>>829
必要に迫られるか、便利さに気が付くかするまでは使わなくていいよ。
0847nobodyさん2006/08/05(土) 01:08:14ID:???
人間の考えなんて偏ってるから
名前をつけようとすると同じような名前をつけちゃうのよね
0848nobodyさん2006/08/05(土) 02:16:22ID:DDZI29mp
これどういう意味でしょうか
Parse error: syntax error, unexpected $end in xxx/xxx/xx
0849nobodyさん2006/08/05(土) 02:20:03ID:DDZI29mp
{ } の個数のようですね・・・
何行目がおかしいのだろうか・・・
08508292006/08/05(土) 03:19:22ID:9YvlTMOh
皆さんアドバイスありがとうございます。

複雑なプログラムを組む場合や複数名で作業する場合は、クラスを使うと
変数名がゴチャゴチャしないという効用があることはよくわかりました。

しかし逆に、PHPではその程度の効用しかないのでしょうか?
0851nobodyさん2006/08/05(土) 03:30:42ID:???
質問であります。
PHPのfor文にはbreakはありますが、skipがありません。
JAVA等にはskipがありとても便利なんですが、みなさんskipの代替にどのような処理をしておられますか?
実例があると、とても勉強になりますので宜しくお願いします。
0852nobodyさん2006/08/05(土) 03:38:25ID:???
まあphpでしかも個人で作る分にはOOPなんて必要ないだろうな
0853nobodyさん2006/08/05(土) 03:38:52ID:???
co(ry
0854nobodyさん2006/08/05(土) 03:42:52ID:???
>>853
ご指摘どうも、continueでした、ごめんなさい。

PHPのcontinueは次のループ処理の最初からやり直しす挙動なんですが、JAVAのようにその回だけをスキップしたいんです。

あとラベル付きbreak文のような制御処理の実例も見てみたいです。
0855nobodyさん2006/08/05(土) 03:58:10ID:???
ナポリタンクラスだな。
0856nobodyさん2006/08/05(土) 04:08:39ID:???
>PHPのcontinueは次のループ処理の最初からやり直しす
>JAVAのようにその回だけをスキップしたいんです。
その回をスキップしたら、次のループの最初に行くんではないのか?
0857nobodyさん2006/08/05(土) 04:31:27ID:???
>>856
えーとですね
for($i=0;$i<=10;$i++){
for($j=0;$j<=10;$j++){
if($j==5) continue;
}
}

上記の記述で入れ子になっているfor文のカウンタ$jが5だった場合continueしていますが、これがPHPだと入れ子になってるfor文を抜けてしまうんです。
JAVAの場合だと5回目のループ処理だけをスキップして6回目のループ処理を始めてくれるんですが。
0858nobodyさん2006/08/05(土) 04:32:19ID:???
意味不明。
if (その回) continue; で何の不満があるのか。
0859nobodyさん2006/08/05(土) 04:34:51ID:???
後出しキタorz
0860nobodyさん2006/08/05(土) 04:39:25ID:???
セミコロンの書き忘れとかないのか?
0861nobodyさん2006/08/05(土) 05:20:58ID:O2vt3cXl
flockして書き込む際に、set_file_buffer($fp,0)しなければいけないという解説を、よく見かけるんですが、本当に必要なんでしょうか?
書き込むという事は当然、排他モードでロックするわけですから、ロック中は他のプロセスは書き込みも読み込みもできないはずですよね?
だったらバッファを気にする必要ないと思うんですが・・
何かOSのトラブルだとか予期せぬ事を想定して、念のための処置なんでしょうか?
08628612006/08/05(土) 05:26:45ID:O2vt3cXl
私が拝見したサイトから引用させてもらいます。

>バッファにある値と、ディスクにある値が異なる瞬間があるわけで、
>つまり、バッファがあると、せっかく flock を使ってロックしても、
>書き込まれる前のデータをディスクから読み出してしまうことがあるわけです。

これの意味がわかりません。
排他モードでflockした時点で、自分が書き込んでる最中に読み込まれる可能性がそもそもないのでは?
0863nobodyさん2006/08/05(土) 05:30:44ID:???
貧民的プログラミング
0864nobodyさん2006/08/05(土) 05:30:46ID:???
>>850
関数もそうだけど、シンプルなプログラムを作る分には別にそんなの使わなくても何とかなっちゃうよ。
クラス・オブジェクトは関数・構造化のさらに上を行く設計手法であり考え方なので、
それなりに複雑なプログラムでないと、メリットを享受できない場合が多いです。
上位の設計手法であるため、設計が下手だと無駄に冗長で保守性も拡張性も低いクラスを作りがちだし。

プログラムが大きくなってくると、関連する複数の関数+それが管理する変数群、の集合で
1個のモジュールになるようにインクルードファイルを作るケースが増えてくることがあるけど、
普通に作ると管理変数群を全て配列にでもしないと同じ処理を複数同時に動かすことができなかったりします。
クラスの仕組みはこういう問題を容易に、かつ分かりやすく解決します。
でもそれなりに大規模なプログラムでないと、そのメリットはあまり見えてきません。

オブジェクト指向に慣れてくると、設計の考え方が単純になって作りやすくなる、という場合もあるけど、
それはあくまで何度も作って慣れた場合の話なので、結局のところ「必要を感じないなら使う意味は
あまり無い」ものである場合が多いんじゃないかと思います。
0865nobodyさん2006/08/05(土) 05:32:25ID:???
>>857
入れ子のループを抜けてしまうのはbreakだと思う。
continueは入れ子($jループ)の次回($j=6)を実行するよ。
0866nobodyさん2006/08/05(土) 05:55:52ID:???
>>856,858,865
すいません、出来ました・・・。
アレェ?なんでだろ・・・、さっきは動かなかったのに・・・。
どうもお騒がせしますた、吊ってきます・・・。
0867nobodyさん2006/08/05(土) 06:02:43ID:???
関数名がごちゃごちゃしないとか信じるなよw
専スレ行け
0868nobodyさん2006/08/05(土) 06:11:44ID:???
>>861
その問題はロック中の話ではなく、ロック解除後に他のプロセスが読み込みにきたときに
まだ書き込みが終わっていない状態のファイルを読み込んでしまう場合がある、という話。
それについての議論
ttp://pukiwiki.sourceforge.jp/dev/?BugTrack2%2F166
結論部分
ttp://pukiwiki.sourceforge.jp/dev/?BugTrack2%2F166#kee64b6f
多分、その記事はこれのことだと思うけど
ttp://www.stackasterisk.jp/tech/php/php02_01.jsp
その記事に対する反論
ttp://testwiki.xn--xnq.jp/?PHP%2F%A5%D5%A5%A1%A5%A4%A5%EB%A5%ED%A5%C3%A5%AF%2F%A5%CE%A1%BC%A5%C8#f4a10010
結局のところは、>>862のサイトの説明は誤りであり、set_file_buffer()は不要という話に落ち着いてるよ。
反論の中では、記事の意図について
> また、fflushが使われていない理由としては、 PHP3では、fflushが使えなかったため、説明の簡略化を考えて
> fflushを使わずにサンプルを作ったように思われます。(ftruncateが省かれているのもおそらくそのため。)
と推測されています。
そのサイトの説明はPHP3〜4への移行期に書かれたもので非常に古いです。
とりあえずここの議論内容を読んで、自分で色々実験してみてはどうでしょう。
0869nobodyさん2006/08/05(土) 06:20:35ID:???
非リアルタイムOSだし、ディスクと同期するわけでもなんだねこれ
0870nobodyさん2006/08/05(土) 06:31:47ID:???
>>869
日本語でおk
08718612006/08/05(土) 06:45:01ID:???
>>868
完璧に納得しました。ありがとうございました。
0872nobodyさん2006/08/05(土) 08:08:38ID:???
どうかお答えください
同性愛サロン、同性愛板、大人の同性愛を見て以来、
掲示板一覧に訪問済みの色がついたまま消えません。
他は消えます。
別に興味深々だったわけではなく、ちょっと調べたいことがあっただけでつ。
これってなんでこうなるの?
どうしたら消せるの?
0873nobodyさん2006/08/05(土) 08:12:20ID:???
ごめん板違い...?
0874nobodyさん2006/08/05(土) 08:21:52ID:???
超板違い
0875nobodyさん2006/08/05(土) 08:33:22ID:???
>>872
ネタ?w
0876nobodyさん2006/08/05(土) 08:42:14ID:???
>>872
それは運命だよ
0877nobodyさん2006/08/05(土) 09:00:48ID:???
ネタじゃあないでつ
皆さんはなりませんか...
恥ずかしながら他板逝ってきます
0878nobodyさん2006/08/05(土) 09:41:54ID:Tub8+xQy
履歴キャッシュをクリアする。
0879nobodyさん2006/08/05(土) 09:43:17ID:???
>>864
>普通に作ると管理変数群を全て配列にでもしないと同じ処理を複数同時に動かすことができなかったりします。

↑なぜ??? なぜ配列にしないと動かないの?
ちょっと意味が分からないんだが・・・
0880nobodyさん2006/08/05(土) 09:51:50ID:???
同じ変数を上書きしちゃうからだろ。
0881nobodyさん2006/08/05(土) 10:19:25ID:???
関数内で作った変数のリファレンスを返す手もあるけどな。
PHPのクラス自体がそんな感じの動きなわけだが。
0882nobodyさん2006/08/05(土) 11:11:52ID:Da4T0gqI
PHP5とApache2.2を
FedoraCore5に
ソースインストールしようと思っています。

その際にPHPを静的モジュールとして
インストールしたいのですが、
そもそもApache2.2に対して
PHPを静的インストールする事って可能でしょうか?

PHP.netには
Apache 1.3.x (Unix システム用)に対する
静的インストール例はあったのですが、
Apache 2.0 (Unixシステム用)に対する
例がなかったのでちょっと気になってます。
0883nobodyさん2006/08/05(土) 11:22:41ID:???
Apache2.2はやめとけ
08848822006/08/05(土) 11:46:19ID:???
>>883
えー!? な、なぜ???
なんかヤバイんでしょうか??
0885nobodyさん2006/08/05(土) 11:48:01ID:???
htmlでformタグを利用せずに
phpからpostメソッドでデータを送信する方法を教えてくださいませ。
getメソッドなら簡単にできるのですが。
0886nobodyさん2006/08/05(土) 11:58:58ID:???
>>885
socket
08878852006/08/05(土) 12:01:33ID:???
もう少しkwsk
申し訳ないですが、例なんかをきぼんぬ
0888nobodyさん2006/08/05(土) 12:04:18ID:???
>>887
ttp://jp.php.net/manual/ja/function.fsockopen.php
まずはここを読んだのか?
まあこのページでは、普通にPOSTでtext/htmlな例がないが、
著者がsockを使うプログラマは
HTML通信などは当たり前に知っているはずだという固定観念から、
かえって基本的な例が載ってないように思える。
0889nobodyさん2006/08/05(土) 12:07:37ID:???
bimal dot das at maxartists dot com
08-Jun-2006 03:22

が好例だった。
0890nobodyさん2006/08/05(土) 12:09:55ID:???
日本が入るなら urlencode を忘れずに(文字コードと)
08918852006/08/05(土) 12:48:57ID:???
レスサンクスです、
これこそソケットに関しての知識なんでしょうが、
$varsのところがpostする内容であってるでしょうか??
0892nobodyさん2006/08/05(土) 13:00:52ID:???
>>891
そうだよ。

albertohf at hotmail dot com
04-Aug-2006 01:01
の例なら $postdata がそう。

Duukkis
27-Feb-2006 10:13
の例はマルチパートでファイルアップロードをやる例だな。

でもこれはソケットの知識ではなく、HTTPのプロトコルの知識だな。
0893nobodyさん2006/08/05(土) 13:00:52ID:???
リファレンス読んでも分からんようなカスには無理
Hello worldでも作っとけ
0894nobodyさん2006/08/05(土) 13:08:01ID:???
アセンブリ言語で
08958852006/08/05(土) 13:09:18ID:???
>>892
ありがとうございました m(_ _)m
0896nobodyさん2006/08/05(土) 13:10:30ID:???
ふむ。HTTPに関しては俺も昔はRFCを見たものだった。
0897拓海2006/08/05(土) 13:24:22ID:Tub8+xQy
http://www.abcoroti.com/~rent/rspace/bbs3/wwwlng.cgi?print+200608/06080018.txt
お願いします。なぜか500エラーが出て困ってます。原因は何なのでしょうか?
0898拓海2006/08/05(土) 13:25:46ID:Tub8+xQy
403エラーでした。
0899nobodyさん2006/08/05(土) 13:26:22ID:???
すれ違いなのでスルー
0900nobodyさん2006/08/05(土) 13:35:02ID:???
>>897
2chに頼るから
スレ違いだから
マルチだから
ゲームCGIという厨くさいものを設置するから
0901nobodyさん2006/08/05(土) 13:37:06ID:???
>>897
お前がヴァカだからに決まっている。
0902nobodyさん2006/08/05(土) 13:48:38ID:???
指定されたページの特定の部分だけ引用して表示するにはどうすればいいでしょうか?

例えばYahoonewsのニュースの部分だけを引用して表示する とか。
0903nobodyさん2006/08/05(土) 13:50:00ID:???
>>902
そのページの引用したい部分をドラッグで範囲指定した後、Ctrl + C でコピーをしてくる。
0904nobodyさん2006/08/05(土) 13:51:34ID:???
>>903
いやいや、phpで自動的にやる方法 を聞いてるのですが、
0905nobodyさん2006/08/05(土) 13:53:43ID:???
>>885
HTTP_Requestなら一瞬
0906nobodyさん2006/08/05(土) 13:57:38ID:???
>>904
fileでページを読んできて、その特定の部分を特定できるパターンを自分で考えろ。
それにより、パターンマッチや、strpos 等でその部分を読み取る。
0907nobodyさん2006/08/05(土) 18:34:39ID:???
>>902
引用したいサイト側にRSSなどを作成してもらったりする

file読み込みなら迷惑かけんように毎時cron等で鯖内に静的ファイル保存とかしる
0908nobodyさん2006/08/05(土) 20:06:46ID:???
>>902
phpよりもxsl
0909拓海2006/08/05(土) 21:06:17ID:Tub8+xQy
すいませんが>>897お願いします。もしかしてここには誰もわかる人はいないのでしょうか?
レス数が900を超えています。1000を超えると表示できなくなるよ。