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

【PHP】下らねぇ質問はID出して書き込みやがれ 112

レス数が1000を超えています。これ以上書き込みはできません。
0001nobodyさん2011/10/31(月) 05:11:09.81ID:???
質問者はまず>>1を良く読むこと(必須!)
過去スレ、関連スレ、FAQなどは>>2-10辺り
次スレは>>980が立てる。10分以内に立たない場合、宣言してから立てたい人が立てること。

◆前スレ
【PHP】下らねぇ質問はID出して書き込みやがれ 111
http://hibari.2ch.net/test/read.cgi/php/1317232566/

◆質問用テンプレ
【OS名】CentOS
【PHPのバージョン】5.3
【連携ソフトウェア】MySQL ImageMagick
【質問内容】

◆質問する時の注意
・ スレを上げて自分のIDを表示させること。(メール欄に何も記述しない。専ブラのsageチェックを外す)
・ 己の行った操作、変更などを詳しく明記すること。
・ エラーメッセージはそのまま表記すること。「エラーが出ます」だけでは回答不可。
・ 質問者として、態度をわきまえること。
・ 事前に関連リンクの公式マニュアル、リファレンス本くらいはちゃんと目を通しておくこと。
(PHPで最良の教本はこの公式マニュアル。市販の書籍は嘘が多いので鵜呑みにしない。)

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

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

【その他諸注意】
・SQL・正規表現・PEAR・テンプレート(Smarty等)・フレームワークは各該当スレへ
0938nobodyさん2011/11/27(日) 21:33:37.99ID:???
>>937
マヌアル読みましょう
http://php.net/manual/ja/faq.html.php
=====
フォームの内容を送信するとき、GET か POST かにかかわらず data は
ブラウザによって URL エンコードされ、PHP によって URL デコードされます。
要は、URL エンコード/デコードを自分で行う必要はなく、これらの処理は
すべて自動的に行われると言うことです。
0939nobodyさん2011/11/27(日) 22:17:59.53ID:UV6OYU9k
mod_phpって何?
Apacheのモジュールですとか抜きにして具体的に説明できる人
教えてくれ

自作HTTPサーバーに組みこむ場合はどんな処理になるんでしょうか
0940nobodyさん2011/11/27(日) 22:22:59.44ID:???
Apacheのモジュールです
0941nobodyさん2011/11/27(日) 22:27:31.48ID:UV6OYU9k
>>940
モジュールってなんやねん。
cgiならforkしてパイプで標準出力ドンまでは分かった。
自分でHTTPサーバー作ってmod_phpを組み込みたいねん。
教えてーなぁ。賢い人求む。
0942nobodyさん2011/11/27(日) 22:31:41.04ID:cim/zCBY
>>938
ありがとうございました。

$title="あ.jpg";
if (@unlink("uploads/$title" )){
echo "画像ファイル削除成功!!";
} else {
echo "画像ファイル削除失敗!!";}
で日本語の名前の画像が削除できないのですが、対処法って
あるのですか?
0943nobodyさん2011/11/27(日) 22:59:42.57ID:???
>>942
前にテストやった時、それで日本語も削除できてたような気がしたけど・・
0944nobodyさん2011/11/27(日) 23:03:26.31ID:???
PHPで初めてDBに触ってみてるんだけど、正規化した後で
あるテーブルのデータ欲しい時、そのテーブルのキー持ってない場合なのですが、
結合とか使ってテーブルまたいで1回の命令でデータ取って来ていいの?
それともちまちまテーブル1個ずつ辿ってデータ取って来るべき?

結合使うと楽チンっぽいけど一度に複数テーブル扱うから
代わりにデメリットとか発生したりしないものかと愚考してます。
0945nobodyさん2011/11/27(日) 23:50:14.99ID:???
>>942
まずその方法で日本語のファイルを作ってみてはどうか
0946nobodyさん2011/11/27(日) 23:51:18.25ID:???
>>941
うーん。
考えが逆で、Apacheのモジュールを使えるようなHTTPサーバを作らないとだめだよ
0947nobodyさん2011/11/27(日) 23:52:56.09ID:???
>>944
OR/Mとかなら更新系が素直にいかないかもしれないけど、結合して抜いてくる分にはなんのデメリットもないかと
0948nobodyさん2011/11/28(月) 00:07:25.54ID:0WCVNoA5
>>946
というと、Apacheのmod_phpがつかえるように
HTTPサーバーを構築するということ?

このmod_phpって具体的にはどんな処理なんでしょうか?
0949nobodyさん2011/11/28(月) 00:16:05.44ID:???
プロセスが・・・、おや、誰か来た
0950nobodyさん2011/11/28(月) 00:30:46.49ID:0WCVNoA5
>>949
phpみたいなインタプリタだとアクセスごとの起動時に処理を食いますよね
これを解決するにはどうすればいいんでしょうか
つまり、一つのプロセスを永続的に利用して、phpを実行させるには〜
0951nobodyさん2011/11/28(月) 00:52:23.45ID:???
それがmod_phpやん
0952nobodyさん2011/11/28(月) 01:02:08.85ID:FBsM2dj0
PHPで商品管理ツールを作っているんですが、設計でどうしようか悩んでいます。
商品が1・2・3・4・5・6・7・8・9と9個あった場合

商品カテゴリA
1・3・5・7・9
商品カテゴリB
1・2・3・4・5
商品カテゴリC
2・4・6・8

とカテゴリを複数登録することができます。
商品ごとにウェイト付けをしてるんですが、並び替えをどうしようか迷ってます。
ツールで、カテゴリ毎に商品の並び替えをする場合、どのようにしたらいいとおもいますか?

スレチだったらすいません。よろしくお願いします。
0953nobodyさん2011/11/28(月) 01:14:26.13ID:???
>>952
テーブル設計が聞きたいの?
0954nobodyさん2011/11/28(月) 01:15:29.41ID:0WCVNoA5
>>951
どうやってやるの?

webサーバーでlistenしてアクセスがきたらfork

forkした後に、URLをパースして、目的のファイルを探した後に
実行ファイルのパスと実行結果をphpプロセスとパイプで共有することになる
んでしょうか。

この場合、phpは常駐してイメージではforループで待ち受けている感じになるの?
0955nobodyさん2011/11/28(月) 01:21:48.16ID:HiuRKhp3
$size=@filesize($upload_name)/1024;$size=round($size);
というように1024で割ってKBにしてますが、
1024で割るのであってますよね?
0956nobodyさん2011/11/28(月) 01:22:01.41ID:???
それ結局リクエストごとにプロセス起動してるじゃん
0957nobodyさん2011/11/28(月) 01:24:08.71ID:???
この前から知ってることを質問してるアフォがいねぇか?
0958nobodyさん2011/11/28(月) 01:34:04.00ID:0WCVNoA5
>>956

よくわからないのですが、phpってC言語を利用して構文解析を行って
その結果を実行して標準出力する訳ですよね

こいつをリクエストごとに"起動して終了"という一連の動作を省略させて
使い回しを行うには、どうすればいいのでしょうか?

小生はあまりプログラムが得意ではありません。ましてOS周りには疎いので
伝わりにくいかと思いますが、お願いします。
09599522011/11/28(月) 01:38:18.80ID:FBsM2dj0
>>953
設計というか、アルゴリズムに近いですかね。
カテゴリA内をツールで順番代えたら、カテゴリBと重複しているものは、並べ替えの影響をどうしようかなとか・・・
という感じです。
0960nobodyさん2011/11/28(月) 02:13:46.61ID:???
優先順位付けを行えばいいのでは?
自動で決めたいってならカテゴリ登録数が少ないやつを上位にするとか
(少ない=その商品との関連が強いということだから)
0961nobodyさん2011/11/28(月) 02:25:22.15ID:???
>>959
それは、どうしたいかによると思うが・・・
0962nobodyさん2011/11/28(月) 05:05:54.70ID:???
>>958
リクエストごとに、リクエストされたphpを解析して結果を返せばよくね
apacheはhttpdプロセスを複数起動していて、各子プロセスはシングルスレッドで動いてると思うよ
0963nobodyさん2011/11/28(月) 05:23:45.45ID:???
スレ違いだけど、思ったより簡単に作れるんだな
http://codezine.jp/article/detail/2502
0964nobodyさん2011/11/28(月) 08:17:53.50ID:7HJ2BA72
PHPの問題かどうかわからないんだけど
あるURLに、GETではアクセスできるけどPOSTでアクセスすると404になる
何故だかわかりません
Apacheのログ見ても普通に404になってて、エラーログなし

何が起きてるんでしょうか…
0965nobodyさん2011/11/28(月) 09:31:58.84ID:???
GETで何もないときに、存在しないページに飛ばすだけでそうなるな
0966nobodyさん2011/11/28(月) 10:32:53.78ID:HiuRKhp3
「php」って名前のリア充感とオサレ感は異常。
プログラミング言語で一番のリア充が使う言葉のような
響きがあると思います。みなさんどう思いますか?
0967nobodyさん2011/11/28(月) 11:09:38.61ID:???
つphp研究所
http://www.php.co.jp/

おっさん臭ささしかしない
0968nobodyさん2011/11/28(月) 11:22:33.03ID:???
ネタにマジレスw
0969nobodyさん2011/11/28(月) 11:50:37.98ID:???
え?
0970nobodyさん2011/11/28(月) 18:39:46.51ID:HTuNqc32
php関連でオススメの本とかってないですか?
0971nobodyさん2011/11/28(月) 18:40:39.92ID:HTuNqc32
あ、宣伝だとあれなんで
どういうところがいいとかも言ってくれるとうれしいです。
0972nobodyさん2011/11/28(月) 18:49:57.39ID:???
>>971
K&R
0973nobodyさん2011/11/28(月) 19:17:06.30ID:???
webフレームワークデザインみたいな本ないかねえ・・・
0974nobodyさん2011/11/28(月) 20:23:41.64ID:???
>>971
このスレ的にはphpマニュアル>>>phpの書籍
って感じでphpの本なんて住民が徹底的にdisってるからな。
君がphpをどの程度理解してるかでも変わってくる。
phpの初心者向けの本なんて、htmlの説明して、webサーバの
アパッチ、AN HTTPD(1.42p)、xampp、mysqlの説明で1/4〜1/3
くらいページ取ってるしな。
0975nobodyさん2011/11/28(月) 20:45:46.38ID:FBfO9m/G
levenshtein()はマルチバイトには対応していないようですが、ライブラリだとか何かいい方法とかありませんでしょうか?
0976nobodyさん2011/11/28(月) 21:31:08.85ID:???
>>975
レーベンシュタイン距離の計算アルゴリズムは各所で入手できるから
関数を自作するのがいいんじゃね。
つーかプログラマならそれぐらいやれ。ライブラリばかりに頼るな。
0977nobodyさん2011/11/28(月) 22:30:17.76ID:???
mb_levenshteinで検索
0978nobodyさん2011/11/29(火) 02:01:12.98ID:???
車輪の再発明はご遠慮願います
0979nobodyさん2011/11/29(火) 03:48:19.96ID:???
児童ポルノ画像を集めるためphpを勉強して
ケータイサイト作って、貼られる画像を保存してる
変態友人がいる。
0980nobodyさん2011/11/29(火) 04:12:11.75ID:???
俺も似たような目的で無料掲示板サービスを運営してたな
携帯持ってなかったのに携帯3キャリアとPCで絵文字相互変換ライブラリを書いた
ガキどもが「絵文字使えねーし」って騒いでたらデバッグしてたw
0981nobodyさん2011/11/29(火) 06:58:15.04ID:???
>>979
法整備進んでなかった数年前ならまだしも
もうそれ逮捕されますから
通報しとけ
0982nobodyさん2011/11/29(火) 10:00:54.03ID:WD7XMt4a
.htaccess、configファイルの設定など、
ローカル側とサーバー側で 設定が違う場合
いっぺんにアップしたりダウンしたりすると、
誤動作を起こしてしまうことがありますが、
この差を意識することなくアップしたりダウンしたりする
うまい方法はないですか?
0983nobodyさん2011/11/29(火) 10:27:36.46ID:???
FTPソフトで設定ファイルはアップ・ダウンしないよう除外設定すれば?
0984nobodyさん2011/11/29(火) 13:19:08.42ID:pb/9Q2Ix
$tab = (isset($_SESSION['tab'])) ? $_SESSION['tab'] : '';

この一行で?はどんな役割をしているのですか?
0985nobodyさん2011/11/29(火) 13:27:12.16ID:???
$_SESSION['tab'] があるかどうかチェックしてる
0986nobodyさん2011/11/29(火) 13:27:30.20ID:???
>>984
三項演算子
0987nobodyさん2011/11/29(火) 13:42:39.53ID:???
phpの初心者向けマニュアルは、Cを知っている前提で書かれているものばかり
>>971 さんお薦めのK&Rとか、Cの本を読んでからじゃないと
何が何だかわからないw
0988nobodyさん2011/11/29(火) 14:52:58.58ID:???
>>987
PHP勉強するのにCの知識は必要ないと思うけど。ポインタの概念とか不要だし。
初心者向けのPHP本を読んでも理解できない人はきっとプログラミングに向いてない。
そういう人はN88BASICから勉強するのを勧める。
0989nobodyさん2011/11/29(火) 17:43:11.35ID:???
phpマニュアルがわからないっていうなら何読んでも理解できないだろ
関数リファレンスの読み方がわからなかったけどそれも慣れの問題
0990nobodyさん2011/11/29(火) 17:49:21.36ID:???
何でもいきなり読んだだけじゃなかなかわからんよ
やってみないとな。
0991nobodyさん2011/11/29(火) 18:06:34.98ID:dAGutuld
【PHPのバージョン】5.2
switch(true){
case strcmp($param,'a') == 0:break;
case strcmp($param,'b') == 0:break;
default:break;
}
$paramに何も入っていない時に、defaultに飛ばしたい
・if文[if(isset($param)){swicth(true){〜}}else{〜}等]
・isset($param) && strcmp($param,'a')
・関数
これらを使用せず、エラー表示(Notice: Undefined index、レベル下げ×)
させずにdefaultに飛ぶ簡潔な書き方はありませんか?
0992nobodyさん2011/11/29(火) 18:08:28.53ID:???
PHPはC++の簡易版、スクリプト化といえる。
0993nobodyさん2011/11/29(火) 18:20:10.53ID:???
>>991
ありません。
0994nobodyさん2011/11/29(火) 18:45:15.71ID:???
>>993
ID変わりましたが991です
諦めてisset($param) && を使うことにします
回答ありがとうございました
0995nobodyさん2011/11/29(火) 19:25:01.74ID:???
switch(true){
case isset($param) && strcmp($param,'a') == 0:break;

まさかこうしたんだろうか…
0996nobodyさん2011/11/29(火) 19:50:35.59ID:???
>>988
ポインタ以前の話で
初歩的なことで言えば、逐次処理、ループ、条件分岐なんかは
Cの初歩の本の方が詳しく解説しているのに対して、PHPでは知ってて当然になってるし
関数の使い方も、Cで学んでいることが前提になっている(引数の渡し方、受け取り方など)
挙句の果てに、C言語では○○に相当するとか、C言語で言うところの○○であるとか
初心者向けには全然解説になってない解説が書いてあったりw
PHPの本を読んでもちんぷんかんぷんだったけど、Cの初歩の本を読みながら
簡単なテキストエディタくらいが書けるようになってからPHPに戻ったら
スラスラ書けたし、マニュアルもすんなり入ってくるようになった
オブジェクト指向的な作り方も、C++がちょっと書けるようになってから戻るとマジ捗る
歴史が古いから、解説できる人材が多いからなんだろうか?
0997nobodyさん2011/11/29(火) 19:51:57.95ID:???
>>995
そのまさかだ 俺の頭で他の方法になるとswitchの前にifしか出てこない
if(isset)の分岐はelseとdefault両方に同じコード書くことになる
それなら面倒でもisset($param)をcaseに入れてdefault一つに纏めようかと

それかswitchの前にif(!isset($param)){$param = null;}も考えていた
0998nobodyさん2011/11/29(火) 19:58:14.43ID:???

http://hibari.2ch.net/test/read.cgi/php/1322564127/

>>980はちゃんと立てるか他のやつ指名しようぜ
0999nobodyさん2011/11/29(火) 21:38:51.60ID:???
そんなミクロなところにこだわって意味あんの
1000nobodyさん2011/11/29(火) 21:53:28.42ID:???
>>998
10011001Over 1000Thread
このスレッドは1000を超えました。
もう書けないので、新しいスレッドを立ててくださいです。。。
レス数が1000を超えています。これ以上書き込みはできません。