【PHP】質問スレッドpart30【php】
■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん
2005/10/25(火) 06:50:06ID:Q4oGlTH3【基本ルール】
・新規質問の方は上げてください。age進行でお願いします。
・質問者は2回目以降、最初のレス番号を名前欄に入れてください。
・回答者は質問者に対して>>(アンカー)をつけてください。
・煽り・荒らしは放置。荒らしに反応した香具師も荒(ry
・解決しなくてもこたえてもらったら礼を。
【質問テンプレ】
・マニュアルを調べたか、google検索したか(調べたキーワード)
・タイトル(禁:教えてください!etc) 例:requireとinclude
・内容 例:requireとincludeはどう違うのですか?
・質問する際には環境も明記。
【その他諸注意】
・正規表現・PEAR・テンプレート(Smarty等)・フレームワークはそれぞれの該当スレへ
・SQLについての質問はデータベース板(PCカテゴリ)の各スレで
・オブジェクト指向については良スレがないから本を買え
・速さについては自分でベンチをとってここに書け(違う環境の人も調べてくれるかも)
【PHP マニュアル】
http://www.php.net/manual/ja/
※マニュアル上部の「search for」から検索を活用すべし(便利)。
過去スレ、関連リンク、FAQ等>>2-10辺り
0581nobodyさん
2005/11/15(火) 20:20:51ID:???関数を2回定義したらFATAL ERROR。(オーバーロードもできない)。
grepでひっかかったのって呼び出しじゃないの?
0582nobodyさん
2005/11/15(火) 20:23:23ID:???class A { function hoge() {} }
class B { function hoge() {} }
class C { function hoge() {} }
ってオチかと
0583nobodyさん
2005/11/15(火) 20:24:56ID:???else { function hoge() {} }
もありうるな(あんまないかw)
0584580
2005/11/15(火) 20:28:05ID:???早速のレスどうもです。
別ファイル[ファイルX]に記述されてるのを呼び出してるんですけど見てたら
そのファイル[呼び出し元B]自体がrequire_onceで、
他のファイル[呼び出し元A]に呼ばれてるます('A`)
[呼び出し元A]の中ではrequire_onceで10個ぐらいよびだしてるので
その中のいずれかで、call_user_funcで呼び出してるファイルを
さらに呼び出してるぽいかも。
こういう階層にするのってPHPで一般的なのかな?
grepでひっかかったのは
function 呼び出し関数名(){
ってなってるのでたぶん間違ってないと思います。
本来なら、関数名だけで判断できるように同じ関数名は避けるべきっすよね?
もうちょっと調べてみますー。おかげで考えがまとまりました。
ありがとうございましたー。<m(_)m>
0585580
2005/11/15(火) 20:29:45ID:PU11Oeigおお、書いてる間にさらにレスが!ありがとうございます。
classは使ってないぽいです。
if文の中で関数定義なんてできるんすね。
phpって結構なんでもありだなぁ・・・。
0586nobodyさん
2005/11/15(火) 20:34:45ID:???require_once()は、スクリプトの実行時に同じファイ ルが複数回読み込まれ、評価される可能性がある場合に、
関数の再定義や 変数値の再代入といった問題を回避するために一回だけ読み込ませるため に使用します。
(マニュアルより)
も覚えとくといいかも
0587nobodyさん
2005/11/15(火) 20:34:48ID:???0588550
2005/11/15(火) 20:49:22ID:???rpm -ihv http://download.fedora.redhat.com/pub/fedora/linux/core/updates/4/i386/php-mysql-5.0.4-10.5.i386.rpm
本当に有難う御座います。
0590580
2005/11/15(火) 20:59:15ID:???同じ名前にして処理をかえるような仕掛けでした。
人のソースはやっぱ仕掛けがわかりにくいです('A`)
どうも、お騒がせしますた。
>>587
初心者の質問なんてそんなもんじゃ?
0592490
2005/11/15(火) 21:21:35ID:bjEKtblWpsql --help の一部です。
Connection options:
-h HOSTNAME specify database server host (default: local socket)
-p PORT specify database server port (default: 5432)
-U NAME specify database user name (default: xxxx)
-W prompt for password (should happen automatically)
上記に合わせて、config.phpを変更しました。が、ダメでした。。。
configの書き方と設定の仕方がわるいのでしょうか?
PHPですか、postgreSQLの設定ですか?
どうしたらいいですか?急いでいます!わかる方,お願いします。
0593名無し募集中。。。
2005/11/15(火) 21:26:58ID:???掲示板への質問の仕方が悪いんじゃない?
0594nobodyさん
2005/11/15(火) 21:35:19ID:???0595532
2005/11/15(火) 21:35:33ID:???キタノ?
本物キターーーノ?
ワクテカw
0596nobodyさん
2005/11/15(火) 21:37:32ID:???0597nobodyさん
2005/11/15(火) 21:37:53ID:???>>493-495の流れで
>というか、急いでるんです。
と言い出し、挙句の果てには
>>518-519
>ちょっと自分で本屋に行って勉強してみます。
等と戯けた事を言い出す始末だけどna
(つか本を買おうという気もまるでなし('A`))
0598nobodyさん
2005/11/15(火) 21:37:58ID:???0599nobodyさん
2005/11/15(火) 21:39:49ID:???0600nobodyさん
2005/11/15(火) 21:47:24ID:???今日は、キチガイのオンパレードだな…
1) postgresへの接続は具体的なコードは?、コードはオマイが書いたのか?
2) configの書き方うんぬんと書いてあるが、configとは何?、内容は何?
>>490 のカキコより
3) エラーメッセージが "unknown host name: localhost" と表示されているが該当マシンで ping localhost はOK?
4) port=8040 となっているが、postgresの初期設定では 5432 のはず。オマイが変更しているのか?
5) 該当マシンで以下を行うと正常に接続できる?
psql -hlocalhost -p8040 -Utestuser2 -dtestdb2
psql -h127.0.0.1 -p8040 -Utestuser2 -dtestdb2
psql -hlocalhost -p5432 -Utestuser2 -dtestdb2
psql -h127.0.0.1 -p5432 -Utestuser2 -dtestdb2
後、急いでる、急いでるってバカの一つ覚えみたいにわめくな。
急いで解決したければ、質問の仕方から考え直せ。
0601490
2005/11/15(火) 22:01:24ID:NEc3YLTapsql -hlocalhost -p8040 -Utestuser2 -dtestdb2
psql -h127.0.0.1 -p8040 -Utestuser2 -dtestdb2
は接続拒否でした。残り2つの-p5432の方はOKです。
config.php
<?php
if(ereg("config.php",$_SERVER["PHP_SELF"]))
{
exit();
}
define("DB_HOST","localhost");
define("DB_PORT",5432);
define("DB_NAME","testdb2");
define("DB_USER","testuser2");
define("DB_CONN","host=" .DB_HOST
."port=" .DB_PORT
."dbname=" .DB_NAME
."user=" .DB_USER);
?>
0602nobodyさん
2005/11/15(火) 22:06:15ID:???>は接続拒否でした。残り2つの-p5432の方はOKです。
おいおいこれが釣りじゃなく本気ならやべーぞお前技術者向いてないよw
0603nobodyさん
2005/11/15(火) 22:13:57ID:???ここまでしつこい&知らないと逆に感心するなw
define(."DB_CONN","dbname=" .DB_NAME );
一度これだけでやってみれ、portは5432な
つか本買わないんだったらマニュアル読めや
0604nobodyさん
2005/11/15(火) 22:16:29ID:???0605600
2005/11/15(火) 22:18:14ID:???ポート8040ってのはどこから出てきたんだ…
その状況だと >>490 の時点とはエラーメッセージが変わってるんじゃないのか?
1) 念のため聞くが、WEBサーバー(PHPが動作しているサーバー)とpostgresが動作している
サーバーは同じサーバー?
2) 現在のエラーメッセージは?
3) 接続パラメータにパスワードがないが、パスワードなしでOK?
4) 先のカキコで聞いたが、無視しやがるので再度。postgresへ接続する部分の具体的なコードは?
0606nobodyさん
2005/11/15(火) 22:20:00ID:???0608nobodyさん
2005/11/15(火) 22:27:04ID:AP0zNwzy通常の画像〜.pngなどはサーバー側で更新されていなければ再取得せずにキャッシュが使われますが、PHPで書いてある場合にはどのようにしたら同じような挙動をさせることができるでしょうか?
0609nobodyさん
2005/11/15(火) 22:29:05ID:???参考書とかマニュアルなんて読めるわけが無いよな
0612490
2005/11/15(火) 22:34:07ID:NEc3YLTaありがとうございます。
>>603
これでいいでしょうか?
config.php
<?php
if(ereg("config.php",$_SERVER["PHP_SELF"]))
{
exit();
}
define("DB_NAME","testdb2");
define("DB_CONN","dbname=" .DB_NAME);
?>
結果ですが、ダメみたいです。
<br /><b>Warning</b>:
pg_connect()
[<a href='function.pg-connect'>
function.pg-connect</a>]
Unable to connect to PostgreSQL server: FATAL:
user "nobody" does not exist
---------------------------------------------------
0613490
2005/11/15(火) 22:34:33ID:NEc3YLTa<?php
require("config.php");
$db=pg_connect(DB_CONN);
header("Content-Type:text/plain;Charset=EUC-JP");
if($db==FALSE)
{
echo " not connect db?n " ;
}
else
{
echo "database connect ok?n" ;
}
?>
0615nobodyさん
2005/11/15(火) 22:39:06ID:???0616nobodyさん
2005/11/15(火) 22:45:26ID:???rfc嫁
last-modifiedとif-none-matchをみてレスポンス返せばいいが
HTTP1.1に準拠するのは結構面倒だぞ
0617608
2005/11/15(火) 22:55:52ID:???header("Last-modified: 〜")のようにすればいいのですね。
>>616
if-none-matchというのもこれから調べてみます。
ありがとうございました。
0618nobodyさん
2005/11/15(火) 22:57:48ID:???違う。304レスポンス/ステータスを返す
Web鯖がやってるのと同じことをする
ところで下のほうにくだスレがあるの見えてる?
0620600
2005/11/15(火) 22:59:11ID:???サンクス。>>490 からのスレを全部読んでいなかった漏れが悪かった。
で、全部読んだら脱力した…。今回とほとんど同じ流れじゃん。
>>490 からすると同じ事を何度も聞きやがって、と思うかもしれんが
聞かれてもしょうがないよな…
スマンが、この件からは離脱するわ。付き合いきれん。
0623nobodyさん
2005/11/15(火) 23:07:42ID:???test1.php
<?php
$db=pg_connect("dbname=testdb2 user=testuser2");
if($db==FALSE) {
echo "NG";
} else {
echo "OK";
}
?>
なら、どうよ?
0624nobodyさん
2005/11/15(火) 23:11:07ID:???user "nobody" does not exist
なんだと思う?
気づけよ┐(´ー`)┌
#623をやって、今度はパスワでエラーかもw
0625nobodyさん
2005/11/15(火) 23:14:58ID:???どうしてダメなのかはサッパリ分かってないし、分かろうともしていない
0626nobodyさん
2005/11/15(火) 23:18:02ID:???急いでいるみたいだから、みんな準備しとけよ。
0628nobodyさん
2005/11/15(火) 23:51:35ID:???”ある意味”こっちのほうがレベル低いよねw
明日こそ旨く伝えられるようにがんばるぞ!
0629nobodyさん
2005/11/15(火) 23:55:07ID:???PostgreSQLスレでは、育てきれません。
0632nobodyさん
2005/11/16(水) 03:49:50ID:???0633nobodyさん
2005/11/16(水) 03:53:16ID:???0634nobodyさん
2005/11/16(水) 06:55:21ID:???0635634
2005/11/16(水) 07:44:56ID:???0637nobodyさん
2005/11/16(水) 11:27:45ID:???0638nobodyさん
2005/11/16(水) 12:30:06ID:???全体的によく見比べれ。つーか低脳はくだスレに帰れ。
0639nobodyさん
2005/11/16(水) 12:34:04ID:???質問と回答以外書き込まなければいいと思うよ。
0640nobodyさん
2005/11/16(水) 12:35:10ID:???【基本ルール】
・煽り・荒らしは放置。荒らしに反応した香具師も荒(ry
(>>1より一部引用)
0641nobodyさん
2005/11/16(水) 13:59:29ID:???0642nobodyさん
2005/11/16(水) 14:11:46ID:???0643nobodyさん
2005/11/16(水) 14:20:49ID:pHA2FDGy数値をキーとする配列(キーそのものにはあまり意味はないです)に含まれる値だけを取りだして、それをキーとするにはどのようにしたらよいでしょうか?(検索効率を上げるため)
生成された配列の値は使用しないので何でもよく、(キーにするという性質上)重複は削除するものとします。
何か案をお持ちの方いらっしゃいましたらよろしくお願いします。
0644nobodyさん
2005/11/16(水) 14:32:10ID:???0645nobodyさん
2005/11/16(水) 14:48:02ID:???案っていうか、オマイさんが言ったことをゴリゴリと書いても大した手間ではないだろうに。
確かにPHPの関数を使った方が短く書けるだろうけど、それに拘るのなら自分で PHP マニュアルの
array_xxxx 関係を読めばいいのではないのか?
多分、array_values、array_combine 辺りで可能だと思う。
0646nobodyさん
2005/11/16(水) 14:51:21ID:pHA2FDGyレスありがとうございます。
実はarray_count_valuesで一発だったようです。
array_combineも便利そうですね。
どうもありがとうございましたm(_ _)m
0647nobodyさん
2005/11/16(水) 15:03:11ID:???0649nobodyさん
2005/11/17(木) 00:40:21ID:???生活にハリがなくなったよ。しょぼーん。
0651nobodyさん
2005/11/17(木) 01:20:25ID:???0652nobodyさん
2005/11/17(木) 03:25:55ID:V06oZKlxたとえば$pattern = "/[0-9]{1,2}[A-Za-z]{3,4}/";なら
51TuAG
8ntQb
93dzL
:
のように複数の文字列をランダムに生成する形です。
どなたかご教授いただけますでしょうか?
0653nobodyさん
2005/11/17(木) 03:59:17ID:???0654652
2005/11/17(木) 04:47:47ID:V06oZKlxうまく伝えられなかったようなので申し訳ありません。
0655nobodyさん
2005/11/17(木) 04:59:32ID:???いきなり"."がくるかもしれなくて"["もくるかもしれなくて
その場合どこかに"]"があって……
と考えてコードを書けばええやん。
パターンがもっと限定されてるなら、それはそれでやりようあるし。
0656nobodyさん
2005/11/17(木) 06:15:07ID:???やりたいことがよくわからんが、uniqid か何かで出した文字列に
preg_replaceで s/[^任意の正規表現]//g やればええんちゃう?
運が悪いと1文字も残らないかもしれないけど
0657nobodyさん
2005/11/17(木) 06:16:49ID:???だったら配列に使える文字入れてrandとかで一文字ずつ決めちゃった方が簡単でしょ
0658nobodyさん
2005/11/17(木) 09:33:53ID:???ランダムな文字列生成関数を作って、
それが正規表現にマッチするまでぐるぐる回したら?
重くはなるかとは思うが。。。
0659nobodyさん
2005/11/17(木) 09:36:29ID:???0660658
2005/11/17(木) 09:44:54ID:???気にしないならいいや
0662nobodyさん
2005/11/17(木) 10:31:12ID:???そう言われれば確率的には同じだな。。。
0663nobodyさん
2005/11/17(木) 12:02:09ID:???掲示板を作成していて古い順に並ぶので
0664nobodyさん
2005/11/17(木) 12:06:12ID:???ってか、それはPHPの質問かと小一時間
0666nobodyさん
2005/11/17(木) 16:28:45ID:???0667nobodyさん
2005/11/17(木) 16:33:19ID:???0669nobodyさん
2005/11/17(木) 16:37:22ID:???0670nobodyさん
2005/11/17(木) 16:38:27ID:???0671nobodyさん
2005/11/17(木) 16:44:22ID:???0672nobodyさん
2005/11/17(木) 16:49:11ID:???ttp://php.s3.to/db/src/source.php?p-bbs-db.php
(^ω^;)
0673nobodyさん
2005/11/17(木) 16:57:20ID:???0674nobodyさん
2005/11/17(木) 17:03:24ID:???PHPをバージョンアプしましょう!
PHPに重大な脆弱性
PHPに関するセキュリティ情報
とあるのがまたなんとも言えず。。。
ところで「バージョンアプ」って。
0675nobodyさん
2005/11/17(木) 17:06:59ID:???0679nobodyさん
2005/11/17(木) 19:00:18ID:???http://www.atmarkit.co.jp/fsecurity/rensai/webhole02/webhole01.html
0680nobodyさん
2005/11/17(木) 19:12:16ID:???公開してるサンプルソース全部見直したらいいのに...
初心者が真に受ける率が高いって判って放置してんのかな。
■ このスレッドは過去ログ倉庫に格納されています