【PHP】下らねぇ質問はここに書き込みやがれ 54
■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん
2007/09/09(日) 12:42:57ID:64tYOx8RPHPで最良の教本はこの公式マニュアル。市販の書籍は嘘が多いので鵜呑みにしない。
過去スレ、関連スレ、FAQなどは>>2-10辺り
◆前スレ
【PHP】下らねぇ質問はここに書き込みやがれ 53
http://pc11.2ch.net/test/read.cgi/php/1188047468/
◆質問する時の注意
・ 自分のIDを表示させること。(メール欄に何も記述しないこと。空白も入力しちゃダメ)
・ サーバーのOS(Linux、Windows他)、WebサーバーとPHPの種類やバージョン等を明記すること。
・ 己の行った操作、変更などを詳しく明記すること。
・ エラーメッセージはそのまま表記すること。「エラーが出ます」だけでは回答不可。
・ 質問者として、態度をわきまえること。
・ 事前に公式マニュアル、リファレンス本くらいはちゃんと目を通しておくこと。
◆質問後の注意
・偽者防止に必ずIDを表示させること。(メール欄に何も記述しない)
・2回目以降は最初に質問した際のレス番号を名前欄に入れること。
・解決しなくても回答をもらった場合はお礼を言うこと。
(荒らし、煽りは除く。煽られたときも、無闇に反論せずスルーすること。)
◆回答者への注意
・誰にレスしているのか分からないと困るので、>>(アンカー)をつけて回答すること。
【その他諸注意】
・正規表現・PEAR・テンプレート(Smarty等)・フレームワークは各該当スレへ
・SQLについての質問はデータベース板(PCカテゴリ)の各スレで
0011nobodyさん
2007/09/09(日) 16:07:50ID:sHQ1gr/Nttp://www.apache.jp/
ttp://www.php.net/
このURLのPHPとApacheはどの組み合わせでDLした方が宜しいでしょうか?
0012nobodyさん
2007/09/09(日) 16:11:22ID:???0013nobodyさん
2007/09/09(日) 16:14:01ID:???>デ
CakePHPってところからしてデザインとロジックの分離ってところだろうか...
いずれにせよそんな短い(ryじゃテンプレに入れられないな。
0014nobodyさん
2007/09/09(日) 16:16:20ID:sHQ1gr/N有難うございます、インストールしてみます。
0015nobodyさん
2007/09/09(日) 17:17:49ID:???当時PHP質問スレは無かったのですが、こちらが出来たのでこちらで質問します。
前回はShift_JIS形式のファイルで色々やってもダメだったもので、
今度はPHPファイルをEUC-JP形式にて試しました
mb_internal_encoding ("EUC-JP");
$to = "xxxx@xxxx.com";
$subject = "認証メール";
$body = "本人認証ですhttp//";
$from = "From: test<from@test.com> \r\nContent-Type: text/plain;";
$rs = mb_send_mail($to, $subject, $body, $from);
この状態で[http]と[//]の間に:を入れるとメールが送信されません
その時$rsには戻り値が入っており、if($rs)はtrueを通ります
mb_languageをJAに指定すると、英字が一つでも入ってたら駄目なようです
明確なエラーメッセージも無く解決方法が見つかりません
理由が分かるかた居ましたらよろしくお願いします
PHPはVersion 5.2.3です
0016nobodyさん
2007/09/09(日) 17:25:38ID:???0017nobodyさん
2007/09/09(日) 17:39:56ID:???レス有難う御座います
$body = '本人認証ですhttp//'; はいけるのですが、
$body = '本人認証ですhttp://';のように[:] コロンを入れると送信する事が出来ません
[""]でも['']でも同じ結果の様です
0018nobodyさん
2007/09/09(日) 18:00:28ID:sHQ1gr/Nphpinf();のファイルを作りlocalhostでアクセスしたのですが設定が反映されません。(WInXP)
php.iniの設定は
output_handler = → output_handler = mboutput_handler
default_charset = "Shift_JIS"
extension_dir = "./" → extension_dir = "C:/php/extensions"
#自分が参考書で確認した際上記のC:/php/extensionsの部分のextensionsがextになっていましたが
#phpをインスコした際のテストでモジュール指定がありませんのエラー内容にextでは無くextensionsとなっており
#extというフォルダ名をexitensionsに直してしまいました。ですのでextensionsにしましたが・・・。
extension=php_mbstring.dll ;を取り有効に
mbstring.language = Japanise 有効
mbstring.internal_encoding = EUC-JP 有効
mbstring.http_input = auto 有効
mbstring.http_output = SJIS 有効
mbstring.encoding_translation = Onにして 有効
mbstring.detect_order = auto 有効
mbstring.substitute_character = none; 有効
以上の設定をphpフォルダのphp.iniのファイル内容にて変更してみました。何が足りない部分があるのでしょうか?
0019nobodyさん
2007/09/09(日) 18:09:08ID:jOYDLkNB1時間毎に1度ある数字に+1して通し番号を発行したいのですが
何を参考にすればいいでしょうか?
0021nobodyさん
2007/09/09(日) 18:23:45ID:???0022nobodyさん
2007/09/09(日) 18:24:59ID:jOYDLkNBありがとうございました。
0024nobodyさん
2007/09/09(日) 18:36:45ID:???記述ミス申し訳ありませんでした。設定を一通り終えて、動作確認で
<?
phpinfo();
?>
というファイルをindex.phpとして作りhtdocsフォルダに置きlocalhostにアクセスしてみました。
しかしPHPに関するページの表示はされず、
<?
phpinfo();
?>
というファイル内容がそのまま表示されてしまいますが、色々と試しています・・・
0025nobodyさん
2007/09/09(日) 18:40:18ID:???0027nobodyさん
2007/09/09(日) 18:50:58ID:???・php.iniの読み込み指定
その1: Apacheのhttpd.confに PHPIniDir c:\php を書く、そしてApache再起動
その2: 環境変数 PHPRC で c:\php と指定、PCを再起動
好きな方を選べ
・extension_dir
phpのディレクトリに ext ってディレクトリがあるだろ
それがファイル名'php_'で始まる拡張モジュールの収まったディレクトリのこと
extension_dir = "c:\php\ext" って書いてやればいいよ
0028nobodyさん
2007/09/09(日) 19:28:15ID:???<IfModule mime_module>という中に
AddType application/x-httpd-php .php
AddType application/x-httpd-php-source .phps
を追加してみたのですが、空白ページに今度はなってしまいました
>>27
その1、その2、extensin_dirすべてをやり最後にindex.phpのファイル内容の
<?
phpinf();
?>
を
<?php
phpinfo();
?>
このように変換した所ページ表示がやっとできました。やっと自宅でPHPできるようになりました!
設定ミス、長文大変見ずらかったと思いますが付き合って頂いて大変助かりました
皆さん親切に何度も有難うございました!
0029nobodyさん
2007/09/09(日) 20:19:51ID:???0030nobodyさん
2007/09/09(日) 20:53:02ID:+iLUvfjNdefine("MAN", 'CO');
print <<<TEXT
{MAN}
TEXT;
みたいな感じで参照できねっすか?
0032nobodyさん
2007/09/09(日) 21:50:17ID:+iLUvfjNアリ
0034nobodyさん
2007/09/09(日) 23:45:11ID:???preg_match("/http:\/\/[a-z0-9\/\-_\.]+/i",$string,$match);
foreach($match as $key => $value){
$key++;
echo "$key"."+"."$value";
}
これに何か問題ってあるでしょうか?
0035nobodyさん
2007/09/10(月) 00:12:30ID:???答えは君だけが知っている
0036nobodyさん
2007/09/10(月) 00:27:05ID:???preg_matchの修飾子に s を指定するべし
preg_matchではなく、preg_match_allを使うべし
[a-z0-9\/\-_\.]の中の / - . はエスケープする必要なし
- は最後に書くべし
0037nobodyさん
2007/09/10(月) 00:42:18ID:v8+qYSiw下の、
http://blog.zuzara.com/2006/06/06/84/
この方法を使って、本文抽出しているのですが、うまく本文だけを抽出してくれません。
一応、
http://private.ceek.jp/archives/002039.html
ここに書いてあったことを元に、句読点が存在していれば本文要素として認めて、最後に、
$res .= $val
として結合することで、精度が上がりましたが、まだ読めないサイトがあります。
精度を上げるには他にどうすれば良いでしょうか?
フィードは、はてなRSSの人気のフィード全てを使っています。
0038nobodyさん
2007/09/10(月) 00:48:11ID:???0039nobodyさん
2007/09/10(月) 00:57:22ID:???0040nobodyさん
2007/09/10(月) 04:56:57ID:iLiEDXXmっすればいいの?
自分は
php info();
で
dbx support enabled
dbx version 1.1.0
supported databases MySQL ODBC PostgreSQL Microsoft SQL Server FrontBase Oracle 8 (oci8) Sybase-CT SQLite
てでたんだがphpのconfigureの部分はなかった。
だめなのかな?
追加できないの?
0041nobodyさん
2007/09/10(月) 05:45:14ID:???くだらない質問でもど偉そうに聞いていいスレ
http://pc11.2ch.net/test/read.cgi/php/1158647441/
0042nobodyさん
2007/09/10(月) 08:51:38ID:???たとえばecho関数にエスケープフィルタをアタッチして、
echoすれば必ずそのフィルタを経由する、みたいなことがさせたいんです。
ラッパー書けばできますが、
その関数名のままラップしたいんです
0043nobodyさん
2007/09/10(月) 08:55:59ID:???phpをcgiで動かしていますが
#!を行頭に書かなくてもphpが使えます
どういう設定をしたらそんなことができますか
004442と43
2007/09/10(月) 09:10:54ID:???0045nobodyさん
2007/09/10(月) 11:03:54ID:???ttp://pc11.2ch.net/test/read.cgi/php/983128806/752
>>44
解決したんだったら解決策を書いてくれると助かる。
004737
2007/09/10(月) 11:30:10ID:v8+qYSiwなるべく見やすくしたつもりですが・・・
004937
2007/09/10(月) 12:52:22ID:v8+qYSiwすみません。
これでも詰めたのですが、甘かったのですね。
0050nobodyさん
2007/09/10(月) 13:41:02ID:nbKfi6vVボタンを押すとダイナミックテキストの変数ipに表示させたいんですけど、
これでいいんでしょうか?
<?php
gethostbyaddr(getenv("REMOTE_ADDR".$_POST["ip"]));
?>
0051nobodyさん
2007/09/10(月) 13:49:09ID:???0052nobodyさん
2007/09/10(月) 14:25:24ID:nbKfi6vV変数は[ ]の中にいれるんでしょうか?
<?php
echo $_SERVER["REMOTE_ADDR".$_POST["ip"]] ;
?>
0053nobodyさん
2007/09/10(月) 15:04:53ID:???src="フラッシュファイル名?ip=<?php echo urlencode(gethostbyaddr($_SERVER["REMOTE_ADDR"])); ?>"
じゃないのかな。
他にも値の渡し方はいくつかあるけど。
0054nobodyさん
2007/09/10(月) 15:18:59ID:???$_SERVER["REMOTE_ADDR"]がIP調べるの定義済み変数だろ
そんくらい調べろ
echo $_SERVER['REMOTE_ADDR'] . "<br>\n" . gethostbyaddr($_SERVER['REMOTE_ADDR'];
0056nobodyさん
2007/09/10(月) 18:17:34ID:???IDも出さない馬鹿には誰もまともに答えないよ
0058nobodyさん
2007/09/10(月) 21:10:18ID:nbKfi6vV>>53さんの方法でもPHPの変数が渡せるんですね。文字列としてやった事はあるんですけどね。
拡張子をphpにして、param と embedを修正したら表示できました。同じようにURLを入れて見たら文字列としてURLが表示しました。
他の方法も是非ご教授お願いしたいです。
>>54さん勉強不足ですみません。何故だか何度やっても表示しないんですよねー。
0059nobodyさん
2007/09/11(火) 01:40:40ID:j/8aPw/kimgタグののsrcやaタグのhrefをルートからのパスで書くことができますよね
例)http://www.example.com/images/a.gif→src="images/a.gif"
例)http://www.example.com/a/b/c/→href="a/b/c/"
このbase hrefはphpのincludeには反映されないようなのですが、
includeでも同じような書き方を可能にする方法ありますか?
./や../などを使いたくないのです
0060nobodyさん
2007/09/11(火) 01:59:53ID:???0061nobodyさん
2007/09/11(火) 02:02:18ID:j/8aPw/k何かいい方法があればと思って聞いてみたんですが
006242
2007/09/11(火) 03:04:39ID:zytLbqiKだれかよろしくおねがいします
0063nobodyさん
2007/09/11(火) 05:54:29ID:???>>60
っていうかimages/a.gifも相対パスな罠。
普通にinclude("aaa.php");とか書けばいいじゃん。
相対パスだからって「./」は必須じゃない。
実行ディレクトリが違うという話なら最初に
chdir("基準ディレクトリ");すればいい。
006559
2007/09/11(火) 10:40:52ID:???相対パスが嫌な訳ではなく、../../など、階層をページによって書き直すのが嫌なのです
深い階層にいくと、./なのか../なのか、../がいくつ必要なのかよくわからなくなるので
ありがとうございます、調べてみます
0066nobodyさん
2007/09/11(火) 10:53:33ID:TKViiXpyswitch文で1つのswitchが60個x12って1ファイルだと多すぎでしょうか?
キチンと動いてるのですが、たまに12箇所で同じ部分が表示されない時はあるのです。
0068nobodyさん
2007/09/11(火) 10:56:22ID:???htmlの下質だな、スレ違いに気づけ。
0069nobodyさん
2007/09/11(火) 11:02:47ID:???0070nobodyさん
2007/09/11(火) 11:31:38ID:???switchが12個でそれぞれにcaseが60個という意味か
そんなに書いたことないなー
状況がわからないけど自分ならもっとスマートに書けそうな気はする
0073nobodyさん
2007/09/11(火) 11:48:32ID:???0074nobodyさん
2007/09/11(火) 12:20:06ID:???普通に動きそうな気はするが、ものすごく読みにくくて
バグがあっても気付きにくい構造になっちゃってる気はする。
0075nobodyさん
2007/09/11(火) 12:28:30ID:???case 1: echo "1";break;
case 2: echo "2";break;
.
.
とかすごく無駄なことをしてそう
0076nobodyさん
2007/09/11(火) 13:13:35ID:???> 12箇所で同じ部分が表示されない
これが少し気になるんだが、そのx12のswitchって
ひょっとして同じ条件を12回も再評価してるのか?
配列変数を使うとか、もう少し何とかならんのかそれ?
0077nobodyさん
2007/09/11(火) 13:25:17ID:???720行ものcase文を書き上げた根性だけは立派だよ。
スキルを身につければきっと伸びる。
0078nobodyさん
2007/09/11(火) 14:13:16ID:???> 720行ものcase文を書き上げた根性
同じ判定を12回やる内容ならコピペでしょ、ふつー。
わざわざ手で全部書いたのならそれこそバカかと。
0079nobodyさん
2007/09/11(火) 15:11:05ID:???/*===以前===*/
$min=現在時間
if(($min >="00")||($min <="15")){
$txta=現在時間00分;
$txtb=現在時間15分;
}else{
$txta=1時間+現在時間00分;
$txtb=1時間+現在時間15分;
}
/*===現在===*/
switch(date("i")){
case 00:
〜〜〜〜省略〜〜〜〜
case 15:
$txta=現在時間00分;
$txtb=現在時間15分;
break;
case 16:
〜〜〜〜省略〜〜〜〜
case 59:
$txta=1時間+現在時間00分;
$txtb=1時間+現在時間15分;
break;
default:
$txta="error";
$txtb="error";
break;
}
以前はifのものでやっていましたが他の条件のもので取得した時間で前後1時間のずれがあったりしていたのでswitchに変更しました。
このほかにそれぞれの時間を表示する時に使うcssやそのほかのテキストも同じswitch内に入れています。
ifでやる方がシンプルだと思うのですが、どうしてかうまくいきませんでした。
0081nobodyさん
2007/09/11(火) 15:30:20ID:TKViiXpyいえいえ省略したcaseの部分はbreak; してませんよ。
他にcssや他のテキストも入れていますので実際は省略する部分も少ないですが。
0082nobodyさん
2007/09/11(火) 15:32:16ID:dkCdLSVp0084nobodyさん
2007/09/11(火) 15:41:10ID:???現在の時刻で分の部分が0-15なら
$txta = "現在時間00分"
$txtb = "現在時間15分";
それ以上なら
$txta = "1時間+現在時間00分";
$txtb = "1時間+現在時間15分";
を代入したいんだと思うがその使い道はまったく見当がつかない
0085nobodyさん
2007/09/11(火) 15:44:50ID:???0086nobodyさん
2007/09/11(火) 15:46:05ID:TKViiXpyttp://apcube.net/ffxi_memo/chocobo_circuit/index.html
の表の部分です。
ttp://www.playonline.com/pcd/update/ff11/20070828N71VL2/ch04jp.jpg
を元にしています。
やはりifで作る方がいいのかな。
0087nobodyさん
2007/09/11(火) 15:46:09ID:dkCdLSVp何故一気に1時間飛ばすのかな
0088nobodyさん
2007/09/11(火) 15:49:40ID:TKViiXpyサイトを見てもらえばわかるのですが、
4コースのレースがあってそれぞれ1時間で1回のレースを行ってます。
なので、1レースが終わると次回は1時間後なのです。
0089nobodyさん
2007/09/11(火) 15:49:41ID:???if($min >='00'&&$min <='15'){
$txta=現在時間00分;
$txtb=現在時間15分;
}else{
$txta=1時間+現在時間00分;
$txtb=1時間+現在時間15分;
}
0090nobodyさん
2007/09/11(火) 15:53:03ID:???0091nobodyさん
2007/09/11(火) 15:58:25ID:TKViiXpyどうもです。
以前までそのやりかたで書いてたのですが、
レース時間が、00:45〜01:15など時間をまたいだレースなどで
うまく取得できない場合がありました。おそらく条件式をうまく使えてないのが原因だと思うのですが。
if($min >='45'&&$min <='59'&&$min >='00'&&$min<='15'){
のような感じで書いてました。
0092nobodyさん
2007/09/11(火) 16:01:21ID:Al3TIDzdDBの設計を学びたいたいです。
とりあえず練習としてMySQL+PHPで掲示板を作りたいのですが、
どういうカラムが必要なのかとかがわかりません。
MySQLスレで過去に聞いてみたのですが返答もらえませんでした。
強引にPHPと結び付けてるようで申し訳ないですが、
MySQL+PHPでDB設計を学べるようなサイトがあったら教えていただけませんか?
また、DBを使った掲示板を作る場合、
自分ならどういったカラムを作るかなど、助言いただけたらよろしくお願いします。
0094nobodyさん
2007/09/11(火) 16:10:03ID:???forで時間分だけ回して、インクリメントで分を足して行って、
該当分にだけ処理させるように記述すれば良いんじゃないかな?
0096nobodyさん
2007/09/11(火) 16:50:09ID:???0097nobodyさん
2007/09/11(火) 16:57:38ID:???0098nobodyさん
2007/09/11(火) 17:00:59ID:???× if ( ($min >='45' && $min <='59' ) || ($min >='00' && $min<='15')){
○ if ( $min >= '45' || $min <= '15' ){
0099nobodyさん
2007/09/11(火) 17:04:34ID:???if ( $min >= '45' || $min <= '15' ){
これ有効なんですか!以前のものを修正してみます。
0100nobodyさん
2007/09/11(火) 17:13:54ID:???0101nobodyさん
2007/09/11(火) 17:18:09ID:???必要なカラムは表示させたい内容や処理させたい機能によるので
「掲示板だからこのカラム」なんてパターンは無い。
まず掲示板ってどういう仕組みで成り立ってるのかから勉強してこよう。
必要な機能とデータを列挙する段階はPHPやDB以前の問題だ。
その上で、列挙された機能とデータから仕組みを設計するのがPHP(というかWebアプリ)の勉強。
それができた上で、さらにそのデータを効率化・最適化するのがDBの勉強。
010237
2007/09/11(火) 18:22:10ID:dkCdLSVp0104nobodyさん
2007/09/11(火) 18:39:49ID:???初めはきちんとDBの勉強したほうがいいと思うよ。
アルゴリズムとデータ構造や、リレーショナルデータベースの科目取るとか、教科書読むとか
0106nobodyさん
2007/09/11(火) 18:54:52ID:???こんな漠然とした内容で「精度を上げたい」と言われても
どういう場合に本文が抽出できないのかさっぱり分からんよ。
010792
2007/09/11(火) 19:12:38ID:Al3TIDzd他人のソースは正直何がなんだかわからなくて敬遠しがちです。
理解できるかは不明ですが、適当なものを探してみたいと思います。
>>101
どうもご丁寧にありがとうございます。
アドバイス通り掲示板にとって必要な機能とデータがどういうものなのか、
考えてみたいと思います。
考えてみたデータを生かしきれるかはわかりませんが、
不要なデータがあっても、とりあえず動けばいいみたいなスタンスで頑張ってみます。
>>104
そうですね。いくつか初歩的な構文は理解してるのみで、
詳細な部分は全く知らないので、いろいろ勉強してみたいと思います。
とりあえず学生ではないので授業は受けれませんw
文系だったのでそういった類の教科書も持っていないので、サイト巡回や本で勉強したいと思います。
0109nobodyさん
2007/09/11(火) 19:59:16ID:???掲示板なんてWebプログラムの初歩じゃないか。
0110nobodyさん
2007/09/11(火) 20:02:39ID:???■ このスレッドは過去ログ倉庫に格納されています