【PHP】下らねぇ質問はここに書き込みやがれ 36
■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん
2007/01/10(水) 11:20:10ID:???まず読め→【PHP マニュアル】http://www.php.net/manual/ja/
PHPで最良の教本はこの公式マニュアル。市販の書籍は嘘が多いので鵜呑みにしない。
過去スレ、関連スレ、FAQなどは>>2-10辺り
◆前スレ
【PHP】下らねぇ質問はここに書き込みやがれ 35
http://pc10.2ch.net/test/read.cgi/php/1166676139/
◆質問する時の注意
・ 自分のIDを表示させること。(メール欄に何も記述しないこと。空白も入力しちゃダメ)
・ サーバーのOS(Linux、Windows他)、WebサーバーとPHPの種類やバージョン等を明記すること。
・ 己の行った操作、変更などを詳しく明記すること。
・ エラーメッセージはそのまま表記すること。「エラーが出ます」だけでは回答不可。
・ 質問者として、態度をわきまえること。
・ 事前に公式マニュアル、リファレンス本くらいはちゃんと目を通しておくこと。
◆質問後の注意
・偽者防止に必ずIDを表示させること。(メール欄に何も記述しない)
・2回目以降は最初に質問した際のレス番号を名前欄に入れること。
・解決しなくても回答をもらった場合はお礼を言うこと。
(荒らし、煽りは除く。煽られたときも、無闇に反論せずスルーすること。)
◆回答者への注意
・誰にレスしているのか分からないと困るので、>>(アンカー)をつけて回答すること。
【その他諸注意】
・正規表現・PEAR・テンプレート(Smarty等)・フレームワークは各該当スレへ http://pc10.2ch.net/php/subback.html
・SQLについての質問はデータベース板(PCカテゴリ)の各スレで http://pc10.2ch.net/db/subback.html
・速さについては自分でベンチをとってここに書け(違う環境の人も調べてくれるかも)
しかし初心者が目的も定めずに速度を気にしたところでほとんど意味は無いぞ
0686684
2007/01/20(土) 20:46:48ID:???もう構わないでください。解決しました。
やはりというか、自分で調べたほうが勉強になりました。
しかし他の質問でもそうだけど、質問の意味も理解できずにレスするやつ鬱陶しいよね
0687nobodyさん
2007/01/20(土) 23:45:10ID:???0688nobodyさん
2007/01/20(土) 23:46:10ID:???0690nobodyさん
2007/01/21(日) 06:18:46ID:???0691nobodyさん
2007/01/21(日) 11:08:16ID:Y0OZFz+Sあれば教えて頂けると幸いですm(_ _)m
0692nobodyさん
2007/01/21(日) 12:11:17ID:08MwJFVu突然プログラムが実行されなくなりました
.phpを保存か開くか質問するダイアログがでます
何が原因でしょう?わかる方教えてください
ちゃんと動かなくなった時に動かしてたプログラムは
フォームに名前を入力して送信→同階層の.phpで受けて
送信した名前を表示するものです
その後はhello worldすら実行しなくなりました
助けてください、よろしくお願いします
0693nobodyさん
2007/01/21(日) 12:16:47ID:???0694nobodyさん
2007/01/21(日) 12:24:22ID:???0695nobodyさん
2007/01/21(日) 13:14:06ID:7pzdx2CI$fp = fsockopen("udp://127.0.0.1", 13, $errno, $errstr);
if (!$fp) {
echo "ERROR: $errno - $errstr<br>\n";
} else {
print "$fp";
}
?>
このようにUDP接続を行い、目的のデータを取得しようとしているのですが上手くいかないのです
具体的にはResource id #等と表示され目的のデータを取得できません
どのようにすれば取得できますか?
0696nobodyさん
2007/01/21(日) 13:16:54ID:???http://jp.php.net/fsockopen
0697nobodyさん
2007/01/21(日) 13:22:43ID:7pzdx2CIそこのテンプレート通りにやってもうまく行かないのですが・・・
0698nobodyさん
2007/01/21(日) 13:24:34ID:???0700nobodyさん
2007/01/21(日) 13:54:37ID:HMt1hfg+ファイルポインタですか?
>>697で言った通り
テンプレ↓
<?php
$fp = fsockopen("udp://127.0.0.1", 13, $errno, $errstr);
if (!$fp) {
echo "ERROR: $errno - $errstr<br />\n";
} else {
fwrite($fp, "\n");
echo fread($fp, 26);
fclose($fp);
}
?>
でやってもうまく表示されないんです
0702695
2007/01/21(日) 14:04:56ID:???windowsXP sp2
PHP4.4.4
サーバは 04Webserver
です
>>700の通り行った結果→タイムアウト(ページが表示できません)
0703nobodyさん
2007/01/21(日) 14:08:09ID:???localhostに接続できてるのか、$fpは取れているのか、書き込みで失敗しているのか
0704nobodyさん
2007/01/21(日) 14:25:08ID:???0708nobodyさん
2007/01/21(日) 14:51:24ID:08MwJFVuありがとうございます
ただ、おかしくなる前と今でhttpd.cofに変更を加えてないんです
同条件で動かなくなりました
まだ試してみますが、他の可能性についても気が向いたら教えてください
0709nobodyさん
2007/01/21(日) 14:52:40ID:xp0A917Whttpd.confが変更されてないことを確認した?
0710nobodyさん
2007/01/21(日) 17:38:28ID:Fae6i/Ozとするとき、正規表現を用いてUNKOを他の変数に代入することは出来ますか?
// Perlにおける↓のようなもの
$aaa =~ s/<!--(\w+)_START-->/$aaa/g; // $1にUNKOが代入される
0711nobodyさん
2007/01/21(日) 17:48:15ID:???0712nobodyさん
2007/01/21(日) 17:50:02ID:Fae6i/Oz0713nobodyさん
2007/01/21(日) 17:56:07ID:???0714nobodyさん
2007/01/21(日) 18:10:44ID:???現在、データベースにcategoryというテーブルがあり、格納されているデータは、
手動で数字インデックスを0から順に連番で付与して格納する仕様にあります。
当然ですが、そのテーブルから一行データを削除すると、
通常、連番でなければならない数字インデックスが、削除したデータの数字が飛んでしまいます。
この飛んだ数字を埋める為に、その削除したデータ以降のデータの数字インデックスを
一つずつ繰り上げたいのですが、スマートなコーディングが思い浮かびません。
現状は、一度削除した後に、再度、全データをfindして、ループでまわしながら、
全てのデータに0から順にupdateをかけて、その場をしのいでいます。
サーバ負荷の面からも、コードの可読性の面からも凄く泥臭いやり方になっています。
このようなコーディングをする場合は、何かうまい方法がないものでしょうか?
みなさまのお知恵をお借りしたく書き込みさせていただきました。
なお、現在のプログラムは、直ぐに書き込みいたします。
0715714
2007/01/21(日) 18:12:54ID:fPPKNR2L$comp_category->whereAdd("base='$base'");
$comp_category->whereAdd("key='$key'");
$comp_category->delete(TRUE);
$comp_category->whereAdd();
$comp_category->whereAdd("base='$base'");
$comp_category->orderBy("num");
$comp_category->find();
$comp_category_update = DB_DataObject::factory("public.category");
for($i=0;$comp_category->fetch();$i++){
$comp_category_update->whereAdd();
$comp_category_update->whereAdd("key='".$comp_category->getkey()."'");
$comp_category_update->num = $i;
$comp_category_update->update(TRUE);
}
宜しくお願いいたします。
0716714
2007/01/21(日) 18:16:30ID:???変に改行が入ってしまって、凄く読みにくくなりました。
申し訳ございません。
0717nobodyさん
2007/01/21(日) 18:22:30ID:???一行データを削除した場合は、番号が抜けたままにします。
0718nobodyさん
2007/01/21(日) 18:26:14ID:???update category set num = num - 1 where 削除したやつ以降
つーか、その連番は本当に絶対必要な仕様なのか?
あるレコードに付与された番号が時とともに変化すること自体、かなりわかりにくいと思うんだけど。
0719nobodyさん
2007/01/21(日) 18:27:12ID:???うちは実際は削除はしなくて
削除フラグ立てるだけにしてるけど
0720714
2007/01/21(日) 18:29:13ID:???お返事ありがとうございます。
シリアルによる連番は、この数字インデックスとは別に付与されています。
この数字は、テーブル内の同じ型のデータ内の連番インデックスなのです。
以下のような感じになります、
・グループAのデータが0〜5まで、連番である。
・グループBのデータが0〜6まで、連番である。
・この2つのグループは、同じcategoryテーブルに格納されている。
・自動付与の連番は、別に存在して、それを触る事はできない。
宜しくお願いいたします。
0721nobodyさん
2007/01/21(日) 18:32:37ID:???設計の方が悪いとしか言いようが無い…
0722714
2007/01/21(日) 18:34:24ID:???ありがとうございます。
やはりそういう感じで回すしかないですね。
この連番は、DBの仕様であって、自分ではどうする事もできない、おかしな仕様です。
>>719
そうですね。元を辿れば、DBの設計の問題なんですが…
このデータは、頻繁に削除され入れ替わるものですので、削除フラグで保存しておくと、
かなり肥大してしまう恐れがあります。
0723714
2007/01/21(日) 18:47:29ID:???例えば、現在4のインデックスを持つデータが1のインデックスを付与され繰り上がり、
それ以降のデータは、順番に数字がずれていく感じです。
DBの設計の問題かな?とも思いますが、これらの仕様を満たす、
よりよい設計も思い浮かばず、泣き寝入り状態になっています。
0724nobodyさん
2007/01/21(日) 18:52:26ID:???0725714
2007/01/21(日) 18:56:51ID:???徹夜で頭をひねって、もっと簡潔なコーディングができるDBの仕様を考え、提案してみます。
0726nobodyさん
2007/01/21(日) 19:18:52ID:???と俺は考えるが。
0727nobodyさん
2007/01/21(日) 19:55:13ID:Fae6i/Oz0728nobodyさん
2007/01/21(日) 20:00:56ID:???最近、PHPで構築されたっぽいサイトを見るとURLが
ファイル名.php?m=Kjifsk&p=Fgfkif
みたいな形式のサイトが多いですよね?ファイルは1つでincludeして各動作を
読み込む?のかよくわかりませんが。perlっぽい使い方な気がして。
(OpenPNEとかそんな感じかも。)
それで、なぜそういう風に=以下に識別コードか何かを付けて動作させるような
形式になってきているのでしょうか?単にindex.phpとかform.phpとかではなく。
やっぱり、セキュリティに関連するのでしょうか?
0729nobodyさん
2007/01/21(日) 20:13:31ID:???0730nobodyさん
2007/01/21(日) 20:29:24ID:???0731647
2007/01/21(日) 20:32:37ID:0sqXUt7pDB.phpの話ですがPEARのライブラリです。
これはレンサバでは問題なく動きます。
ブラウザにcookieを食わせたいんですが
ひとつのcookieに複数の値を設定する方法
(aaa=php&bbb=ohmygod こんな形の一つのcookieを作る方法です。)
が分かりませんので
ご指導お願いします。
0732728
2007/01/21(日) 20:49:11ID:???730さんの語句をググって見ましたが、なんとなくわかってきたかも。
要はファイル・機能のリクエスト(アクセス)を分散させると
それだけ負荷がかかりやすいから、1つにまとめてそこから
各部位を呼び出すようにコントロールすると言うことですね。
確かにその方が良いような気もするけど、開発している側としたら
どれがどのファイルか分かりづらくなる時もあるんですよね。。
それに単純に1ファイル毎に用意する方が使いやすいし。
とりあえずもう少し勉強します。ありがとうございました。
0733nobodyさん
2007/01/21(日) 20:58:43ID:???お前は凄まじいくらいに時代を逆走してるなw
いまどき1ファイル毎に処理する所なんてあるのか?
MVCどころか、オブジェクト指向ですら完全無視かよww
0734nobodyさん
2007/01/21(日) 21:17:26ID:???0735nobodyさん
2007/01/21(日) 21:52:01ID:???http://exsample.com/index.php
に飛ばす際、
$_POST['hoge'] = 'foo';
という値を渡したいのですが可能でしょうか?
可能でしたらやり方等お教えください
お願いしますm(_ _)m
0736nobodyさん
2007/01/21(日) 22:04:46ID:???0737nobodyさん
2007/01/21(日) 22:05:45ID:L6gn7cYVレンタルサーバーを借りてプログラムを公開しようとしてますが
データベースにアクセスできません。
自分のパソコンでは正常に動いていました。
<?php
require_once 'DB.php';
$dsn = "mysql://hibinotatsuya:(パスワード)@localhost/hibinotatsuya ";
$con = DB::connect($dsn);
if(DB::isError($con)){
exit('DBの接続に失敗しました');
}else{
echo('成功');
}
?>
Warning: main(DB.php) [function.main]: failed to open stream: No such file or directory in /home/hibinotatsuya/public/www/test.php on line 2
Fatal error: main() [function.require]: Failed opening required 'DB.php' (include_path='.:') in /home/hibinotatsuya/public/www/test.php on line 2
こういうエラーがでるんですがどこを直せばいいでしょうか?
0738nobodyさん
2007/01/21(日) 22:12:27ID:???↓
require_once '/home/hibinotatsuya/public/www/DB.php';
パスが通ってないんでしょう。
上記と違う場所に置いてるなら正しい場所を絶対パスで指し示してみること。
つーか、本名を2chに書き込まないでください
0740765
2007/01/21(日) 22:18:33ID:???http://exsample.com/index.phpに$_POST['hoge']の値が渡せればheaderでなくてもいいです。
switch($_POST['k']) {
case 1:
exsample.com/index.phpに $_POST[hoge]="foo"で飛ばす
break;
case 2:
exsample.com/index2.phpに$_POST[hoge]="foo"で飛ばす飛ばす
break;
…
}
こんな処理がしたいのです
0742nobodyさん
2007/01/21(日) 22:25:00ID:???いや・・・あきらかにPEAR::DBだろ
>>737
そのレンタルサーバでPEAR::DBが使えない可能性が高いけど、
使える可能性があるとすれば、↓かな?
/usr/local/lib/php/DB/DB.php
0743nobodyさん
2007/01/21(日) 22:44:59ID:Fae6i/Oz0744nobodyさん
2007/01/21(日) 22:48:56ID:???$_GETか$_REQUESTで取る。
それがどうしてもダメならheaderでは無理。
HTTP通信を実装してPOSTするしかない。
JavaにはHttpClientあるけどPHPにもそんなんあるのかね。
0745nobodyさん
2007/01/21(日) 23:08:42ID:xp0A917W自分のテスト環境にあるPEARライブラリの入っているディレクトリを丸ごと
レンタルサーバーにうpする。
で、そのディレクトリを、include pathに追加する。
0748nobodyさん
2007/01/22(月) 01:08:55ID:???GIFアニメを合成した場合、最初のコマで止ってしまいます。
GIFアニメをそのまま動かすにはどうすれば良いのでしょうか?
0749nobodyさん
2007/01/22(月) 01:17:17ID:H0oVPkgdhttp://58.188.237.103/iranai/
0750749
2007/01/22(月) 01:26:28ID:H0oVPkgd0753nobodyさん
2007/01/22(月) 02:15:54ID:???| ノ\ ヽ |
/ ●゛ ● | |
| ∪ ( _●_) ミ j
彡、 |∪| | J
/ ∩ノ ⊃ ヽ
( \ / _ノ | |
.\ “ /__| |
\ /___ /
0754nobodyさん
2007/01/22(月) 02:16:30ID:???0756nobodyさん
2007/01/22(月) 18:20:28ID:XtuQ8nwW色々気にする必要があるのかと思い、現在作成しているシステムも
作り直した方が良いのか否か、本気で悩んでいます。
過去レスも見ると、同じような質問もあったりして、「常識」の部類みたいですが
みなさんもやはり「常識」だと思われているのでしょうか?
どうもクラスとかの使い方がよくわからなくて、まとめられないのですが、
見るサイトすべてオブジェクト指向っぽいので、このままでいいのかと悩みます。
0757nobodyさん
2007/01/22(月) 18:23:29ID:???趣味でやってるなら、好きなようにすればいい。
だが、勉強という意味合いもこめて、開発しているなら、
有名所のフレームワークやオブジェクト指向型プログラミングは絶対必須!
これができないと、PHPを使えるなんて口が裂けてもいえるようなレベルではない。
0758nobodyさん
2007/01/22(月) 18:27:09ID:???担当しているサイトは顧客のニーズによって、毎月機能追加・変更が行われいるので、
オブジェクト指向で作って正解だった思う。(元々Java技術者だったし)
現在のシステムが稼動実績があるなら、あえてつくり直す必要もないと思うけど、
拡張性がある程度要求されるシステムなら、オブジェクト指向も検討に値すると思うよ。
0759nobodyさん
2007/01/22(月) 18:29:34ID:???その人のレベルにもよると思うから常識とまでは言わないけど…
フレームワークやオブジェクト指向は、一度作ってしまえば、拡張も修正も凄く楽になる。
最初は面倒だと思うだろうけど、後々の事を考えたら作り直す価値はあるかも。
0760756
2007/01/22(月) 18:32:57ID:???かなりお詳しいご説明ありがとうございます。
仕事でやっておりまして、プログラミングは元々プログラマーがやるのですが、
自分はディレクション等をしているので、ある程度のプログラミング知識も
必要だと思い、最近PHPとMySQLであれこれやっています。
それでそこそこ作れるようになってきたのですが、どうもコピー・ペーストする
作業が多く、デザインが重複する箇所も多くて、デザインとの両立が難しいです。
だから調べていたらオブジェクト指向とかフレームワークとかの知識が必要
みたいで悩んでました。
これまでうちの会社で依頼しているプログラマーでオブジェクト指向的な作りを
しているプログラマーが皆無だったのですが、もしかしたら私の指示が悪いの
かもしれません。やっぱり必要みたいなので、もう少し勉強してみます。
0761nobodyさん
2007/01/22(月) 18:37:10ID:???技術系の知識をある程度持っているディレクターは、
重宝されると思いますよ。技術者からも信頼されるし。
ただ、依頼しているプログラマーがそれだと。。。
0762nobodyさん
2007/01/22(月) 18:38:47ID:???>オブジェクト指向的な作りをしているプログラマーが皆無
なんつー会社だよw
フレームワークはともかく、オブジェクト指向なんて10数年前に最重要項目として位置づけられていたのに…
JavaやCの開発する時にどんなコードを書いているのか凄く気になるww
0763nobodyさん
2007/01/22(月) 18:41:48ID:x9xZGXV7DB::DataObject使ってるんですが、
「機能不足」「主流ではない」みたいな書き込みを見かけたので気になってます。
良かったら教えてくださいー。
0764756
2007/01/22(月) 18:41:58ID:???個人・外注ともに依頼していますが、オブジェクト指向とかフレームワーク
に沿った作りをしているのは皆無でした。
データの受け取りもregister_globalがonの設定での作りだし。
だから、私にはそれが常識だと思い、2chで指摘されるまで
register_globalもoffにするものだとは思ってませんでした。
0766nobodyさん
2007/01/22(月) 18:48:06ID:yHPtupAO最近は、JavaやCが未経験なプログラマーも多いよ。
ちなみに、俺は、経験があるのはアセンブラーとphpだけだw
(Cもやってたけど、経験があるとは言えない程度だし)
0767nobodyさん
2007/01/22(月) 18:51:23ID:???アセンブラなんて大学の授業でしかやったことねーw
そーいやFortranも大学のときにやってたなw
今は、Javaが70%でC系が15%でPHPが5%であとその他。
Perlとかももう使わなくなってきたな。
0768nobodyさん
2007/01/22(月) 18:52:59ID:x9xZGXV7返事どうもです。
使ってて今のところ全然機能不足は感じないのですが、
もっといいのあるならそっち使ってみようかなと思ったっす。
もっと使い込んでみます。
0769nobodyさん
2007/01/22(月) 19:00:51ID:wVC7HJOQ特定の文字と言う訳でも無く、何か原因があるのでしょうか?
0770nobodyさん
2007/01/22(月) 19:02:59ID:uNp0p6nz現実にあるんだよ。
0771nobodyさん
2007/01/22(月) 19:07:32ID:???確かにプログラマとしてまともに生きていくにはJavaマスターは絶対必須だな。
PHPも楽天が使ってるって事で案件増えてはいるけど、Webの主流はJavaだな。
Javaだと金稼げるしw
0772nobodyさん
2007/01/22(月) 19:07:38ID:???向いているという言語とは(今のところ)言えないでしょう?
仕事ならともかく、「これできない奴ってバカスww」とか押しつける奴は
変態だよ変態。まったくねぇ。
0774nobodyさん
2007/01/22(月) 19:11:30ID:???0775nobodyさん
2007/01/22(月) 19:12:05ID:???0776nobodyさん
2007/01/22(月) 19:16:09ID:???フォームから入力された文字列を、サニタイズしないところも結構あるくらいだ。
そのくらいのことでは驚かんぞ!w
0781nobodyさん
2007/01/22(月) 19:30:18ID:???参考書も見ずに、いろいろなWebシステムがスラスラかけるくらい。
あと、フッっと思いついた機能をなんの苦もなしに、サラッっと追加できるくらい。
0782nobodyさん
2007/01/22(月) 19:31:55ID:???小さなシステム(10人月程度)でいいから、
一から設計からテストまで完了させること。
四苦八苦しながらも、一から全てに関われば必ず見えてくるものがあるはず。
経験則から。
0784初心者
2007/01/22(月) 19:39:11ID:???んですけど、セッションでログイン機能があるHPの場合、変更したほうがいいのでしょか?
■ このスレッドは過去ログ倉庫に格納されています