トップページ⇒php
986コメント361KB

【PHP】質問スレッドpart27【php】

■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん05/03/03 22:41:23ID:???
・PHP全般の質問スレです。
・新規質問の方は上げてください。age進行でお願いします。
・質問する際には環境も明記。
・正しい日本語で分かりやすく。
・レスがつかないからって逆切れする厨お断り。
・解決しなくてもこたえてもらったら礼を。
■本家
 http://www.php.net/
■日本 PHP ユーザ会
 http://www.php.gr.jp/
■PHP マニュアル
 http://www.php.net/manual/ja/
■PEAR マニュアル
 http://pear.php.net/manual/ja/
過去スレ, 関連スレ等>>2-10辺り
0611nobodyさん2005/04/09(土) 15:44:49ID:???
メモ帳でphpファイルを作ってみましたが、ファイル名は××.phpでよろしいでしょうか?
アップしたときに××.
php.txtと出ますが、問題ないでしょうか?
0612nobodyさん2005/04/09(土) 15:47:55ID:???
アップしたんなら開いてみれば問題あるかないか分かると思うけど。
普通にphpファイルとして動作させるのなら.txtは要らない。
0613nobodyさん2005/04/09(土) 15:53:36ID:???
>>612
アップしたらファイル名にtxtと付くんですよ...
何故でしょう?
0614nobodyさん2005/04/09(土) 15:55:07ID:???
>>613
メモ帳で保存した時についてるんじゃ?
アップしたあとでもファイル名変えれば良いだけ。
0615nobodyさん2005/04/09(土) 15:56:09ID:???
CGIを使っているけどユーザーには使わせない鯖なんじゃねぇの
0616nobodyさん2005/04/09(土) 16:05:53ID:???
>>608
ああ、そうなんですかわかりました。
ありがとうございます
06175962005/04/09(土) 16:18:04ID:???
register_globals ONにしたら
なんなくうごくのですが、
危険ですよね。。

でも引数ってregister_globals OFFだと
どうやって渡すのですか?
register_globals ONでしかうごかない
プログラムしか掛けません。。

どなたか、OFFで動かすテクニックというか
そんなサイトにでも誘導していただけませんか・・・
0618nobodyさん2005/04/09(土) 16:18:50ID:???
>>613
えっ!?
アップ先のファイル名っつ変えられるんですか?
よろしかったか仕方を教えて下さい!!
0619nobodyさん2005/04/09(土) 16:23:33ID:???
ファイルマネージャかFTPソフトにそういう機能が付いてると思う。
0620nobodyさん2005/04/09(土) 16:23:50ID:???
ワロタ
0621nobodyさん2005/04/09(土) 16:25:51ID:???
>>619
有難うございます。
0622nobodyさん2005/04/09(土) 16:28:27ID:???
>>617
はじめに(初歩の初歩)ぐらいは読もうな。
http://www.php.net/manual/ja/tutorial.php
最もその中で書かれてるハイパーリンク先の詳細が重要
0623nobodyさん2005/04/09(土) 16:40:38ID:???
こういうスレもあるんでよろしく。

【PHP】くだらねぇ質問はここに書き込みやがれpart4
http://pc8.2ch.net/test/read.cgi/php/1110697712/l50
0624nobodyさん2005/04/09(土) 16:45:36ID:???
>>610
流れを読まずに書き子。
数値を文字列として扱えればいいだけなら、varcharに入れたらよいのでは?
06256052005/04/09(土) 17:11:13ID:SXkH7OvC
>>624
それだと必要な機能は出来ますが、
MySQLのリファレンスによるとインデックスを使う際は対象となる文字列の桁数が少ない方が良いらしいのです。
1桁に使われる文字の種類数が少ない事で桁数を減らした場合と同様な効果があるとしたらくたびれもうけだけど。
(これがありえそうで怖い)
でもHDD使用量が抑えられるという効果は確実にありそうだし出来ればやりたいのです。
06265892005/04/09(土) 17:26:34ID:fpNXc15C
すんません。
>>589もよろしくお願いします。。。
0627nobodyさん2005/04/09(土) 17:26:57ID:???
>>625
その数値がどれくらいユニークなのかは知らんが、先頭の数バイト分だけ
インデックスを作成することもできるよ。
alter table hoge add index (column(4))
見たいな感じでね。

ま、しかしHDDのお値段と復号やらなんやらの手間とを天秤にかければ・・・
てなことも考慮した方が良いのでは。
0628nobodyさん2005/04/09(土) 17:35:07ID:???
>>626
認証ページにて、
1.認証に成功→サーバ内にセッション情報を保存して該当ページへリダイレクト
2.認証に失敗→認証ページへ戻る

FTPの該当ページではセッション情報を検索して、存在すればアクセス許可。
なければ認証ページへリダイレクト。

セッション情報の保存法はcookieでもセッションでもファイルでもDBでも
お好きなように。検索のためのキーはリダイレクトするときに渡す必要が
あるのでGETにするしかないので、セッション作成毎にユニークなIDを作成する。
こんなところか。

あ、当然セッション情報は有効期限を設けて定期的に消去する。
普通はログオフ時に削除すればいいんじゃね。
盗聴が怖ければSSLで暗号化するしかないんじゃないの?
と、とりあえず適当に書いてみた。推敲もしてません。
06295892005/04/09(土) 19:04:25ID:fpNXc15C
>>628
> FTPの該当ページではセッション情報を検索して

↑これ、具体的にどうしたら良いのでしょうか?
FTPのページではPHP等は動かせないですよね?
0630nobodyさん2005/04/09(土) 19:47:32ID:6OokWNUO
セッションについて聞きたいのですが
トップページにて認証を行いアカウント等セッションに登録して別ページにheaderで飛ばします。
ここではセッション内容が正しく表示されます。
次にこのページから適当なページに<a href〜でリンク先に飛びます。 このページでもセッションは表示されます。

続いてブラウザを閉じずに認証ページにURL指定か戻るとかで移動して違うアカウントで入ります。
headerで飛んだページは2つ目のアカウントが正しく表示されます。
が、この後このページから先ほどの3ページ目へリンクで飛ぶと前のアカウントのデータが表示されてしまいます。
リミッターはnocache lifetimeも0にしているのですがどうしてなんでしょうか?

取得するだけのページならsession_start()だけでいいですよね?
0631nobodyさん2005/04/09(土) 19:54:09ID:???
>>629
ファイルをダウンロード(orアップロード)させたいんでしょ?
プロトコルにhttpを使うかftpを使うかは関係なく、
urlを直打ちしてダウンロードさせなければよいのでしょ?
そのための認証ページを作るという意味なんだけど・・・
0632nobodyさん2005/04/09(土) 21:15:02ID:???
コンテンツ事の認証にユーザーIDの空ファイルを利用しようかと想うのですが
サーバーとしてファイルの数が多くなるというのは良くないのでしょうか?
0633nobodyさん2005/04/09(土) 23:52:34ID:???
最近学習始めた初心者です。

クラス概念が有る様ですが、ディストラクタの起動する要因が判らない
ので、知っていたら教えて下さい。
0634nobodyさん2005/04/09(土) 23:58:39ID:???
>>629
ちょっと書き方がわるかった。
要はhttpでもftpでもいいが、ユーザがアクセスできるところにファイルを
置いては認証もへったくれもないという事。
だからダウンロードさせるファイルはブラウザでアクセスできない場所へ
置いておいて(※)、ダウンロードのページではまず認証状況を確認し、次に
phpを使ってファイルを読み取り、ftpのヘッダと共にファイルを送信してやる。
とこういう流れになるかと。

※たとえばApacheでDocumentRootを/usr/local/apache/htdocsにしてるなら、
/usr/local/apache/Download(適当)/に置いておけば、url直うちでは
たどり着けない。
0635nobodyさん2005/04/10(日) 00:01:57ID:???
>>633
オブジェクトが消滅するとき。
0636nobodyさん2005/04/10(日) 00:03:44ID:???
みんなもうphp5に移行してんの?
0637nobodyさん2005/04/10(日) 00:20:25ID:???
>>636
PHP5に対応したcacheってあったっけ?
あればそろそろ移行してもいいかな。
06386332005/04/10(日) 00:31:17ID:???
>>635
どうやったら消滅するのですか?
unset? それとも、die?
0639nobodyさん2005/04/10(日) 01:30:02ID:???
>>636
みんあがしたらするよ。
0640nobodyさん2005/04/10(日) 03:02:33ID:???
>>636
SOHOとしてはレン鯖とかホスティング鯖に普通に入りだしたら移行
っつーか移行せざるを得ない、結局みんなが使い出したらかw
0641nobodyさん2005/04/10(日) 07:20:50ID:???
>>640
同じく...なんだけど、php3->php4のときは共存できたので、
未だにphp3のままのところがあるわな。

php4とphp5は(通常)共存できないので、中小企業向けレン鯖は当面php4のままだろう。
レン鯖のphp5対応鯖に新規or乗換する蔵が出てくるのはいつのことなんだろう。。。
0642nobodyさん2005/04/10(日) 09:04:55ID:???
>>637
Zend製品は対応してる。PHPAは全然動き無いし、
MMcacheは開発休止してる。

スクリプトキャッシュじゃないけど、VM最適化パッチはかなり効くね。
PHP5.1だけじゃなくて、PHP4.4とかで入れてくんないかな。
0643nobodyさん2005/04/10(日) 12:00:23ID:???
XREA鯖はPHP4 5 両対応
0644nobodyさん2005/04/10(日) 12:59:48ID:jGzXhnVH
「中田様、小野さん、中村選手、用務員、警備員、柳沢様」(、区切り)
これを↓で変換すると

$message = preg_replace( "/(.+?)(選手|さん|様)?$/" , '$1選手', $message);

「中田選手、小野選手、中村選手、用務員選手、警備員選手、柳沢選手」
となってしまいます。
「中田選手、小野選手、中村選手、用務員、警備員、柳沢選手」
となるように(語尾に「選手」「さん」「様」がついていない場合はそのままにしておくように)
するには、どのように書き換えたら良いですか?
0645nobodyさん2005/04/10(日) 13:26:17ID:???
>>644
mb_ereg系を使って方がよさげ。
$message=mb_ereg_replace('([^、])(選手|さん|様)' , '\1選手', $message)
0646nobodyさん2005/04/10(日) 13:46:51ID:jGzXhnVH
>>645
お答えありがとうございます。
ごめんなさい、mb_ereg_replaceのように実験的なステータスにある関数は使えないんですよ。
0647nobodyさん2005/04/10(日) 14:08:09ID:???
>>646
そうなのか。いっそ単純に
$message=preg_replace('/(さん|様)/' , '選手', $message);
でいいんじゃね。>>644も「、」が区切りと認識してないし。
0648nobodyさん2005/04/10(日) 14:11:22ID:???
何度もスマソ。
こう書くと区切りの「、」がそれなりに機能するかな。
$message=preg_replace('/(さん|様)(、|$)/' , '選手$2', $message);

0649nobodyさん2005/04/10(日) 14:14:59ID:jGzXhnVH
>>647
>>648
出来ました。
そうでした。なんか難しく考えすぎてたみたいでした。
ありがとうございます!
0650nobodyさん2005/04/10(日) 14:38:57ID:???
>>646
mb_ereg_replaceは、今はもう実験的位置づけじゃないよ。
http://jp2.php.net/manual/en/function.mb-ereg-replace.php
0651nobodyさん2005/04/10(日) 18:05:37ID:???
2次元配列があるのですが、
2次元目の配列の個数で、
1次元目をソートすることはできますか?
ランキングっぽいことをやろうとしているんですが…
0652nobodyさん2005/04/10(日) 18:14:29ID:???
ア…
multisort使えば出来そうですね
おさわがわせいかましt

お騒がせしました。
0653nobodyさん2005/04/10(日) 18:27:15ID:???
最近のプログラマは自前のコードでソートプログラムすら書けないのか・・・
なんというか、質が落ちたな・・・
0654nobodyさん2005/04/10(日) 18:28:19ID:???
それは初心者ですらできなきゃいけない事なのですか?
0655nobodyさん2005/04/10(日) 18:45:34ID:???
自前でやるより処理が早い事もあると想うが?
0656nobodyさん2005/04/10(日) 18:46:28ID:???
>>654
「効率的な」とか「高速な」ソートを作るという訳でなければ、
要するにアルゴリズムが理解できないプログラマといえる。

まあ色んなプログラマがいるからソートの仕組みが組み立てられない
ことが即駄目プログラマとは言えないけど、概ね駄目。
0657nobodyさん2005/04/10(日) 18:55:28ID:???
なんでも便利な関数でやっちゃうのが抵抗あるんでしょ。それくらい頭を使え、と。
変なたとえだけど、鉛筆をカッターで削ってた時代の人が、機械でガ〜〜ってやってる若者を見て、今時の若者はカッターも使えんのか、みたいな感じなんだよ。
0658nobodyさん2005/04/10(日) 19:08:28ID:???
そういや昔、便利な関数の存在を知らずに自分で作ってた事あったなぁ
そんな経験ない?
0659nobodyさん2005/04/10(日) 19:30:15ID:???
しかし自前のコードがすらすら組めるなら
質問スレなんて必要ないわけだが。

PHPが普及してきたからこそ、質問スレは盛り上がるし
質問は増えてくるのに、それをみて
レベルが下がったというのは如何な物か。
0660nobodyさん2005/04/10(日) 19:39:15ID:???
みんな色々な質問したり、発見したりして成長していくんだからさ。
>>653
こういう事をさらさら言えるほうが、人間として質が落ちてる気がするよ。
0661nobodyさん2005/04/10(日) 19:42:57ID:???
>>659
うん?平均的にレベルが下がったのは事実だよね。

いいんじゃないの。平均が下がったお陰で
マニュアル読まずにこういったスレに書き込んでも、
怒られることもなしに誰かしら教えてくれるような
環境が出来た訳だから。英語が読めなくても誰か
翻訳してくれるしね。
0662nobodyさん2005/04/10(日) 19:45:16ID:???
それでいいとおもう
0663nobodyさん2005/04/10(日) 19:58:13ID:???
なんか根っからの職業プログラマ…っていうかおっさんが混ざってるみたいだな(w
給料いくら?
0664nobodyさん2005/04/10(日) 20:10:10ID:???
30半ばのおっさんなので70マソ/月。職業プログラマではない。
0665nobodyさん2005/04/10(日) 20:23:06ID:???
給料70万ももらってるやつが
2chのこんなところにいんなよpu
0666nobodyさん2005/04/10(日) 20:38:13ID:???
リーマンで30半ばで70万なら良い方だな?職業何?
俺の知り合いの奴らなんてみんな月の手取り30〜40ぐらいでひ〜ひ〜言ってるが、普通はそんなもんだろ。
俺はリーマンやったことないから分からんが。

知り合いに>>653みたいな事を言う職業プログラマがいるんだが、年収350万ぐらいだって聞いて
なんか惨めだな〜と思って。

俺は大学時代な〜んも勉強せずに、5年程前フリーターやりながら趣味で覚えたperl⇒PHPレベル。
今年の確定申告で250程国に貢いできたといえば、年収も分かるだろ。
大した事はないが、それでもそこらのリーマンよりはよっぽど稼いでるわけで。


何が言いたいかというと、くだらん事にこだわらずに効率よく結果を出しゃぁいいんだよって事だ。
苦労せずとも結果が出せるに越した事はない。
自己満足の世界に陶酔しても、金が稼げるわけでもなし。


>>665
携帯関連とか株関連の板見た事無いみたいだね。
年収1000万程度(スレによってはカス扱い)の奴なんか腐る程いるぞ。
0667nobodyさん2005/04/10(日) 20:38:29ID:???
スクリプト言語の特性上
どんどん便利になっていくし使う人への敷居も低くなっていく
でもそれを先人が「使う人間のレベルが下がった」だけで
割り切ってしまうのもなんだかなあ
0668nobodyさん2005/04/10(日) 21:02:23ID:H4Hn0Vk9
現在PHPがセーフモードになっているレンタルサーバーを使っています。
ディレクトリの所有者とスクリプトの所有者が一致していなければ
いけないらしいので、PHPスクリプトを自動生成するスクリプト内で、
//makephpfile.php
$filep = fopen("test.php","w"); //open file
chown("test.php",'username');
flock($filep, LOCK_EX);
fputs($filep,$dat); //write data
fclose($filep);
としたのですが、スクリプトファイルの所有者がapacheになってしまい
ファイルの読み込みなどがうまくいきません。


スクリプトを生成するファイル(makephpfile.php)とそれが入っている
ディレクトリの所有者は、usernameで統一しています。

誰かいい解決方法を知っていたら教えてください。
よろしくお願いします。
0669nobodyさん2005/04/10(日) 21:16:07ID:???
インディーズの頃好きだったバンドがブレイクしちゃって
昔はよかったとか、今はミーハーなファンばっかりだとか言う奴いるけど
そういうのと同じじゃない?
0670nobodyさん2005/04/10(日) 21:41:42ID:???
雑談はいい加減にして質問か回答しろよ
0671nobodyさん2005/04/10(日) 21:48:57ID:???
ごめん。
0672nobodyさん2005/04/10(日) 22:26:19ID:???
>>668
ファイルの所有者を変更できるのはふつうrootだけ

というわけで別の方法を考えた方が良さそう。管理者にgidで
チェックするようにしてくれって頼むとか。
0673nobodyさん2005/04/10(日) 23:14:44ID:???
$str = abcdefg.hoge.tokyo.ne.jp
ereg_replace("^.+?\.","*****.",$str);

これで下の様に頭の部分を隠したいのですがエラーが発生してしまいます
何かPHPの記述方法があるのでしょうか?
*****.hoge.tokyo.ne.jp
0674nobodyさん2005/04/10(日) 23:29:59ID:???
フォルダごとにディスクの容量を計算したいですが、うまくいきません。
フォルダの残量は disk_free_space を使って表示できたのですが、
使用量をどのようにして表示させようか悩んでいます。
ちなみに、PHPはセーフモードで動いています。
$dir_space = `du -sb ./test`;も使おうとしましたが、うまくいきません。
ご教授よろしくお願いします。
0675nobodyさん2005/04/10(日) 23:30:42ID:???
確認していませんが
ereg_replace("^[^\.]+(\..+)$",\\1 ,$hoge)

質問です
ファイルに書き込みをしていますが
fputs($fp, 'うんうん'."\n")
を2回繰り返しても改行されず「うんうんうんうん」になってしまいます。どこがおかしいのですか?
0676nobodyさん2005/04/10(日) 23:51:06ID:???
>>675
ドットの否定で逝けましたヒントありがとん
ereg_replace("^[^\.]+","*****" ,$str);

1. \n --> <BR>
2. \n --> \r\n
とかかな
0677nobodyさん2005/04/11(月) 16:47:47ID:???
$db = pg_connect(dbname);
if (pg_connection_status($db) == PGSQL_CONNECTION_OK) {
echo "DB Connetcion status is OK!";
}
else {
echo "DB Connection status ERROR";
}

$sql = 'select * from tablename';
$result = pg_query($db, $sql);

で、結果が

Connection status is OK!
Warning: pg_query(): supplied argument is not a valid PostgreSQL link resource in filename.php on line 10

となってしまうのは、何が原因なんでしょう??
postmaster は動いていますし、一瞬検索ができた時もありました・・・・・
PHPは事象の再現性がヘンな時が多々ありますが、「そういうもの」なんでしょうか?
0678nobodyさん2005/04/11(月) 21:57:46ID:???
数値が入った二つの変数を、足すのではなく繋げる方法はありませんか?
例えば
$int1 = 5; バイナリデータで101
$int2 = 10; バイナリデータで1010
この$int1と$int2をくっつけて、1011010というデータを持った変数を作りたいのです。
0679nobodyさん2005/04/11(月) 22:21:08ID:d8tTZrxp
一番後ろの字が「1」でなければ「←合格」を付け足すような流れにするつもりで
以下の文を書いたのですがうまくいきません。

$text = preg_replace("^(1$)", "←合格", $text);

鈴木1
佐藤
田中
山本1

↓スクリプト実行

鈴木
佐藤←合格
田中←合格
山本

このような結果を出すためにはどのように書き換えたらよいでしょうか?
0680nobodyさん2005/04/11(月) 22:45:48ID:???
>>678
そういう値が欲しいのなら素直にシフトさせてandを取る。
二進数表現の文字列が欲しいのならsprintf("%b%b",,)

>>679
ハット記号はその場合否定じゃなくって行頭になる
多分こんな感じかな
preg_replace('/([^1])$/', '¥1<-合格', $text)
0681nobodyさん2005/04/11(月) 23:45:32ID:???
PHP4.3.11の内蔵GDってbundled (2.0.28 compatible) になってるけど、

GD Graphics Library "gdImageCreateFromPngCtx()" Integer Overflow
Software: GD Graphics Library 2.x
Update to version 2.0.32 or later.
http://secunia.com/advisories/12996/


これに対応してるのかな?
06826682005/04/12(火) 00:12:58ID:???
>>672
返信ありがとうございます。
Xreaのサポート掲示板に問い合わせたところ、
GIDチェックモードは無理でしたが、PerlのCGIで
何とか解決しました。
0683nobodyさん2005/04/12(火) 01:25:26ID:???
$str = aaaaaaa;

preg_match("/[\x20-\x7E\xA1-\xA5\xDE-\xDF]{50,}?/", $str)
└OK
mb_regex_encoding("SJIS");
mb_ereg("[\x20-\x7E\xA1-\xA5\xDE-\xDF]{50,}", $str)
└OK(?つけてもOK)
mb_ereg("[\x20-\x7E\xA1-\xA5\xDE-\xDF]{50,}", $str)
└mb_ereg(): mbregex compile err: premature end of regular expression
mb_ereg("^[0-9a-zA-Z_\.\-]+@[0-9a-zA-Z\.\-]+\.[0-9a-zA-Z]+$",$str)
└OK
ereg("[\x20-\x7E\xA1-\xA5\xDE-\xDF]{50,}?", $str)
└ereg(): REG_BADRPT
ereg("[\x20-\x7E\xA1-\xA5\xDE-\xDF]{50,}", $str)
└OK
お聞きしたいことがあります、
・eregの最短指定"?"の有無
・mb_eregのエンコーディング指定によってエラーが起こらないもの
そもそもエラーが起こらないものの違い
0684nobodyさん2005/04/12(火) 02:16:01ID:???
HTML_QuickFormで
$name[] = &HTML_QuickForm::createElement('text', '姓', null, '姓');
$name[] = &HTML_QuickForm::createElement('text', '名', null, '名');
$form->addGroup($name, 'name', '名前', ' ');
こんな感じでテキストフィールドの前にラベル付けたいんだけど、
できなかった毛?
0685nobodyさん2005/04/12(火) 06:51:49ID:???
>>684
$renderer = & $form->defaultRenderer();
$renderer->setGroupElementTemplate('{label} {element}', 'name');
てな感じで可能かと。
group.phpのtoHTML()の中で、上と同様の処理があって そこで{element}だけにしているので
elementのラベルが消えてるんじゃないかなぁ。あんまり自信ないけど。
0686nobodyさん2005/04/12(火) 09:55:50ID:???
アンケートを作ってみました
<FORM ACTION="http://www.example.com/example.php" METHOD=POST>
氏名:<INPUT TYPE=TEXT NAME="name"><BR>
メールアドレス:<INPUT TYPE=TEXT NAME="email" ISTYLE=3> <BR>
<BR>
選択<BR>
<SELECT NAME="test">
<OPTION VALUE="a">A
 
<OPTION VALUE="b">B
 
<OPTION VALUE="c">C
 
</SELECT><BR>
<BR>
テスト<BR>
<TEXTAREA NAME="impression"  rows=" COLS=10 5"></TEXTAREA><BR>
<BR>
テスト<BR>
<INPUT TYPE=RADIO NAME="test1" VALUE="a">A<BR>
<INPUT TYPE=RADIO NAME="test1" VALUE="b>B<BR>
<INPUT TYPE=RADIO NAME="test1" VALUE="c">C<BR>
<INPUT TYPE=RADIO NAME="test1" VALUE="d">D<BR>
<BR>
<INPUT TYPE=SUBMIT NAME="submit" VALUE="送信" id="submit"> <INPUT TYPE=RESET VALUE="やり直し"><BR>
<BR>
<BR>
</FORM>
内容を一度確認して送信するようにするには、どうすればよろしいですか?
0687nobodyさん2005/04/12(火) 10:24:19ID:???
>>686
http://pc8.2ch.net/test/read.cgi/php/1110697712/511-512
0688nobodyさん2005/04/12(火) 11:42:38ID:???
Ruby 界隈で Ruby on Rails が話題になっているけど、
PHP でも欲しくね?もうある?
0689nobodyさん2005/04/12(火) 11:51:03ID:???
必要と感じないので自分で作ろうとは思わない。
使いたくなったらRubyを使えばいいだけだし。
0690nobodyさん2005/04/12(火) 17:41:03ID:???
携帯の各機種ごとに分かれて位置情報を習得したいのですが
どうすればよいでしょうか?
思いつきません・・・
0691nobodyさん2005/04/12(火) 18:13:56ID:???
>>690
習得するなら、一生懸命勉強せよ。

取得したいなら、各キャリアごとに情報を収集せよ。

0692nobodyさん2005/04/12(火) 20:28:41ID:???
>>685さんどうも。
もれHTML_QuickForm_Renderer_Object使ってるから、
そのソメッド使えんみたいだわ。
QuickFormやめて、Flexyおんりーにするぽ。
0693nobodyさん2005/04/12(火) 20:44:35ID:???
すいません、
perlの正規表現ではカッコで括ったところがマッチすると、
$1,$2という変数に格納してくれるという便利な機能がありますけど、
phpで似たようなことは出来ますでしょうか。

具体的には

2005/04/09(金),01時12分00秒,ほげほげ

という形のデータを

[01:12:00],ほげほげ

という、時刻とテキストだけの形に直したいんですが…。
自分ではカンマでsplitして、substrで何回かに分けて時、分、秒の変数を作って
後でそれをくっつけるという処理しか思いつきません。

どなたか簡潔な方法を知っていらしたらよろしくお願いします。
0694nobodyさん2005/04/12(火) 20:52:21ID:???
preg_match
0695nobodyさん2005/04/12(火) 21:22:42ID:???
\\1 〜 \\9
0696nobodyさん2005/04/12(火) 21:23:32ID:???
あ、eregの話ね。
0697nobodyさん2005/04/12(火) 23:22:24ID:???
>>695
$hoge=ereg_replace("([0-9]{2})時([0-9]{2})分([0-9]{2})秒", "[(\\1):(\\2):(\\3)]", $hoge);

みたいにしたんですが無理でした。
なんでだろ…。
06986972005/04/12(火) 23:24:47ID:???
あ、できました、ありがとうございます。
0699nobodyさん2005/04/12(火) 23:46:47ID:???
pg_insertで、複数行同時追加ってできますか?
07006972005/04/12(火) 23:47:03ID:???
ああ、この\\1とかってperlの$1とかみたいに変数じゃないから次の行まで値を保持したりできないんですね…。
0701nobodyさん2005/04/13(水) 00:31:58ID:???
つ print_r($hoge);
0702nobodyさん2005/04/13(水) 01:11:49ID:???
おいおまいら!
漏れはセッション使用するときに
session_cache_limiter('none');
こうやって設定しているんだが、これはセキュリティーホールになりますか。
0703nobodyさん2005/04/13(水) 01:42:35ID:???
例えば掲示板のプログラムで記事投稿フォームを作る時、
フォームから投稿内容を受け取り記事追加処理をするphpファイルを新たに作るか、
それとも外部ファイルに記事追加処理関数を書いてその関数を呼び出す形を取るか、
どちらがいいと思いますか?あるいは他にもっといい方法がありますか?
0704nobodyさん2005/04/13(水) 02:02:01ID:???
自分が書きやすい方で。
0705nobodyさん2005/04/13(水) 02:11:31ID:???
関数には引数に応じて処理を分ける物があるけど、ああいうのって中で普通にswitchとか使ってるの?
もしそうだと、どの処理をする時にもswitch処理が必要になって
それなら最初から関数を分けてしまった方が処理が速そうな気がするんだけど。
0706nobodyさん2005/04/13(水) 02:23:22ID:???
>>704
レスありがとう。

ファイルにするとユーザーとの通信の手間が入ってくるわけでその点が余計な負荷になる。
外部ファイルの関数にすると、もしかしてその関数を使わない場合でもメモリに外部ファイルがロードされてしまうのかと思うと
フォームを開いただけで投稿処理をしなかった場合に無駄になる。

単純に書きやすい方で選ぶというだけでは無い選択肢だと思うんだが。
0707nobodyさん2005/04/13(水) 03:28:56ID:???
>>705
関数が増えると関数を特定する処理に選択肢が増え(ry
ていうかそれくらいのこと、処理速度にはほとんど影響ないだろ
気にするな

>>706
おまえもその程度の負荷は気にするな
0708nobodyさん2005/04/13(水) 07:42:50ID:???
>>703

関数を呼び出す手前で require_once() する。

ユーザーとの通信の手間って何のこと?
0709nobodyさん2005/04/13(水) 07:54:01ID:???
>>706
いいぞ ベイべー!
負荷をかけるやつは普通のプログラムだ!!
負荷をかけないやつは何もしないプログラムだ!!
ホント 戦場は地獄だぜ! フゥハハハーハァー
0710nobodyさん2005/04/13(水) 09:06:20ID:???
>>705
処理の多くが他のユーザー定義関数と「かぶる」場合、「かぶらない」部分だけ
switch〜caseなんかで分岐させれば、コードを短くできる。また「かぶる」部分
に何らかの修正が必要となった場合、関数1つなら1つ修正すればいいだけだが、
関数を分けていれば全部を修正しないといけない。

>>706もだけど、処理スピードなんて気にする暇あったら、もっと他に考えなけ
ればいけない事があるんではないの?と俺は思った。

>>706
そこまで気にするなら、投稿処理の時だけ該当ファイルをrequireすればいい。
CPUやメモリの負荷率見れるなら見てみ。
全く気にする必要のないレベルに間違いない。
■ このスレッドは過去ログ倉庫に格納されています