[表示 : 全て 最新50 1-99 101- 201- 301- 401- 501- 601- 701- 801- 901- 2chのread.cgiへ]
Update time : 12/12 10:55 / Filesize : 264 KB / Number-of Response : 939
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

【PHP】下らねぇ質問はここに書き込みやがれ 61



1 名前:nobodyさん mailto:sage [2007/12/19(水) 03:33:51 ID:???]
まず読め→【PHP マニュアル】www.php.net/manual/ja/
PHPで最良の教本はこの公式マニュアル。市販の書籍は嘘が多いので鵜呑みにしない。
過去スレ、関連スレ、FAQなどは>>2-10辺り

◆前スレ
【PHP】下らねぇ質問はここに書き込みやがれ 60
pc11.2ch.net/test/read.cgi/php/1196511516/

◆質問する時の注意
・ 自分のIDを表示させること。(メール欄に何も記述しないこと。空白も入力しちゃダメ)
・ サーバーのOS(Linux、Windows他)、WebサーバーとPHPの種類やバージョン等を明記すること。
・ 己の行った操作、変更などを詳しく明記すること。
・ エラーメッセージはそのまま表記すること。「エラーが出ます」だけでは回答不可。
・ 質問者として、態度をわきまえること。
・ 事前に公式マニュアル、リファレンス本くらいはちゃんと目を通しておくこと。

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

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

【その他諸注意】
・正規表現・PEAR・テンプレート(Smarty等)・フレームワークは各該当スレへ
・SQLについての質問はデータベース板(PCカテゴリ)の各スレで

73 名前:nobodyさん mailto:sage [2007/12/21(金) 01:30:19 ID:???]
それはどちらかというとメモリの使用量とかをしてないのが問題なんだろ
多用してるのが解ってるならだいたいピーク時にどれぐらい消費してるとか
そういうのをチェックしてない時点でダメなんだろ

74 名前:nobodyさん mailto:sage [2007/12/21(金) 01:31:37 ID:???]
>>72
基本的に参照渡しもそのまま渡すのも
関数内で変更しない限り内部的に一緒

75 名前:nobodyさん [2007/12/21(金) 01:35:41 ID:1HbS1x3e]
>>74
ありがとう。気がラクになった。
面倒でなければ、情報ソースかヒントだけでも教えてくれるとありがたい。

76 名前:nobodyさん mailto:sage [2007/12/21(金) 01:51:45 ID:???]
>>75
記事自体は凄く古いが
www.sound-uz.jp/php/test/first2.html
ここだったと思う

まぁphpのサイトにもパフォーマンスのためだけに使うなって書いてるし
www.php.net/manual/ja/language.references.return.php

それでも気になるならmemory_get_usageとか使って
メモリの消費量をチェックしてみるといいかもね

77 名前:45 mailto:sage [2007/12/21(金) 02:41:08 ID:???]
>>62
本当にありがとうございます、感動しました
頑張ります

78 名前:nobodyさん mailto:sage [2007/12/21(金) 04:34:35 ID:???]
>>62
>既出の通りブラウザ複製などの場合値が書き換わっちゃうのでやらない。
これなんか問題あんの?



79 名前:nobodyさん [2007/12/21(金) 05:02:52 ID:k3WWlkOg]
質問です。
指定した数の乱数順列を生成する関数とかってありますか?
例えば10を指定した場合、
4,3,2,9,8,7,10,1,6,5
3,6,4,2,1,9,7,10,8,5
のような並びで配列とかに格納してくれるような感じで。
もし知っている方いましたら教えてください。
お願いします。

80 名前:nobodyさん mailto:sage [2007/12/21(金) 06:01:09 ID:???]
>>79
shuffle()

81 名前:nobodyさん mailto:sage [2007/12/21(金) 06:18:03 ID:???]
>>80
ありがとうございました。



82 名前:nobodyさん [2007/12/21(金) 10:14:56 ID:O7QmdYOi]
質問です。
ローカルテストのためWindowsXPにApache/2.0.61(Win32) PHP/5.25をインストーラーでインストールしたのですが、
パスを指定してアクセスすると.phpのファイルだけHTTP500内部サーバーエラーが出て表示してくれません。
.htmlは表示されますし、.pqpとか適当な拡張子をつけたファイルも表示はしてくれました。

Apache MonitorではPHPのバージョン表記もされていて、
インストールは完了しているようなのですが、何か原因が分かればお願いします。

83 名前:nobodyさん mailto:sage [2007/12/21(金) 11:07:39 ID:???]
>>76
なるほど。PHPよく出来てるな。
どうもありがとう。

84 名前:nobodyさん mailto:sage [2007/12/21(金) 11:18:19 ID:???]
phpの開発に携わるには、どうしたらいいのかな?
こんな中で開発に携わっている人いる?

いや、一つのメソッドでもいいので実装したら、
それだけで経歴書に「phpの開発メンバー」とかって書けるかなぁ、って。
出来たら、自分が作ったメソッドに自分の名前の一部で使えたら最高なんだけど。

85 名前:nobodyさん mailto:sage [2007/12/21(金) 11:19:19 ID:???]
>>82
自分は詳しくないけど、まずはApacheのエラーログ見たら?

86 名前:nobodyさん mailto:sage [2007/12/21(金) 11:54:40 ID:???]
phpで500エラーってcgiとして動かそうとしてるのか?

87 名前:nobodyさん mailto:sage [2007/12/21(金) 11:55:36 ID:???]
って、5.2.4以降はエラーをブラウザに返さないで500出すようになったのか

88 名前:nobodyさん mailto:sage [2007/12/21(金) 11:59:36 ID:???]
マッピングされてないだけだったりして

89 名前:nobodyさん mailto:sage [2007/12/21(金) 12:04:23 ID:???]
>>84
単にPHP自体の開発が出来るということを示したいだけなら、
野良モジュールをpeclにでも登録すれば?

あるいはメインストリームなモジュールのバグ一覧を見て、
未解決のバグのパッチを辛抱強く投げつづけるか。

そうでなければ、本家MLに参加して議論とパッチの応酬を繰り返すとか。


しかし経験からいわせてもらうと、PHPの開発がホイホイ出来る奴は
PHP言語を使う仕事にはなかなかつかせてもらえない罠


90 名前:nobodyさん mailto:sage [2007/12/21(金) 12:10:20 ID:???]
ちと質問なんですが、
『排他ロック中には他のプロセスが割り込めないので
ロックは1つかければ十分』…と聞いたんですが
例えば…


$lock_fp = fopen("lock.txt","w");
flock($lock_fp,LOCK_EX);

$fl = fopen("data.dat","w");
if($fl){
 fwrite($fl,$write_data);
 fclose($fl);
}

fclose($lock_fp);


こうしておけば、data.datの方もlock.textがロック解除されるまでは
書き込んだりできないんでしょうか?

91 名前:nobodyさん mailto:sage [2007/12/21(金) 12:29:26 ID:???]
>>89
なるほど、参考になるわ。ありがとう。もしかして、開発メンバー?
>しかし経験からいわせてもらうと、PHPの開発がホイホイ出来る奴は
>PHP言語を使う仕事にはなかなかつかせてもらえない罠
これは、どうして?
PHPを開発した人は守秘義務とかに縛られて、
PHPを使った開発はできないとか?

>>90
これ、ちょうど俺が実装したかったロジックだ。なんというタイミング。
俺が実装したいメソッドは、一つのメソッドで面倒なロックをやってくれるもの。

boolean write_data_with_safety_lock($file_name, $data)
ファイル名と書き込みデータを引数で渡せば、
ロック機構を実装したこのメソッドが安全に書き込めるというメソッド。

このメソッド作ったら、絶対php6.0とかに採用されると思っているんけど。ニーズも絶対あるし。



92 名前:nobodyさん mailto:sage [2007/12/21(金) 12:47:28 ID:???]
phpはオープンソースです

93 名前:nobodyさん [2007/12/21(金) 13:02:05 ID:S3fUHMf0]
pearだったかのコーディング規約で、PHPだけのファイルの場合、
<?php だけで、最後の ?> は付けないってのがあったと思うんだけど
これって個人的にはすごく気持ち悪いんですが、こんなもんなんでしょうか?

94 名前:93 mailto:sage [2007/12/21(金) 13:03:54 ID:???]
>>93
ああ、ZendFrameworkのコーディング規約でした。

95 名前:nobodyさん mailto:sage [2007/12/21(金) 13:10:57 ID:???]
最後に?>を付ける事によって?>以降に書かれた文字列が表示される
表示される事による見つけにくーいバグを回避する事ができる

と俺は勝手に解釈
まぁ画像をphpで出力されてたりとか
携帯向けにHTML出力する時にこういうので苦労した事あったから
俺はつけないけど

96 名前:nobodyさん mailto:sage [2007/12/21(金) 13:13:40 ID:???]
>>91
>>PHP言語を使う仕事にはなかなかつかせてもらえない罠
>これは、どうして?

単なる元野良モジュール作者だけど、
単純にCでマルチプラットフォームな開発が出来る奴ぁそれを仕事にした方がぶっちゃけ収入が良いのです。


97 名前:93 mailto:sage [2007/12/21(金) 13:52:16 ID:???]
>>95
ああ、なるほど。
改行コードとか目に見えにくい文字列もありますね。
ありがとでした、納得しました。

98 名前:nobodyさん [2007/12/21(金) 14:35:20 ID:J4pqu08c]
童貞先輩が新人女子OLにアタックしてるwww何とかしてくれwww

99 名前:nobodyさん mailto:sage [2007/12/21(金) 15:20:15 ID:???]
くだらねえwww

100 名前:nobodyさん mailto:sage [2007/12/21(金) 15:46:33 ID:???]
おい上原ぁ!!お前が何とかしろ!

101 名前:nobodyさん mailto:sage [2007/12/21(金) 15:53:53 ID:???]
""を含むhtmlタグ入り文章をechoやprintで表示、
変数に格納するにはどうしたらいいんでしょうか。
初心者質問スマソ。



102 名前:nobodyさん mailto:sage [2007/12/21(金) 16:01:46 ID:???]
> ◆質問する時の注意
> ・ 自分のIDを表示させること。(メール欄に何も記述しないこと。空白も入力しちゃダメ)
> ・ サーバーのOS(Linux、Windows他)、WebサーバーとPHPの種類やバージョン等を明記すること。
> ・ 己の行った操作、変更などを詳しく明記すること。
> ・ エラーメッセージはそのまま表記すること。「エラーが出ます」だけでは回答不可。
> ・ 質問者として、態度をわきまえること。
> ・ 事前に公式マニュアル、リファレンス本くらいはちゃんと目を通しておくこと。

103 名前:nobodyさん mailto:sage [2007/12/21(金) 16:03:59 ID:???]
>>101
www.php.net/manual/ja/language.types.string.php

104 名前:101 mailto:sage [2007/12/21(金) 16:04:34 ID:???]
自己解決しました

<a href="index.html">2ちゃんねる</a>だったら

echo "<a href=\"index.html\">2ちゃんねる</a>";とするか
echo '<a href="index.html">2ちゃんねる</a>';とすることで解決しました。

君たちみたいなバカに聞いたのが間違いでした、ニートどもは黙って職安いきなさいクズ

105 名前:nobodyさん [2007/12/21(金) 16:11:34 ID:Bll92Vnt]
Ethnaでのトランザクション処理について、
DB更新を処理ごとに複数の関数で作成する場合は
エラー時にロールバックするためにそれぞれの関数の頭に
 $db = $this->backend->getDB();
 $db->db->autocommit(false);
 $db->begin();
これを書く必要がありますか?
それとも
 $db = $this->backend->getDB();
だけでOKですか?

106 名前:nobodyさん mailto:sage [2007/12/21(金) 16:13:00 ID:???]
最近>>1読まないやつ多いな

>・正規表現・PEAR・テンプレート(Smarty等)・フレームワークは各該当スレへ

107 名前:nobodyさん mailto:sage [2007/12/21(金) 16:23:19 ID:???]
$db = $this->backend->getDB();
$db->begin();
のみでOK

108 名前:101 mailto:sage [2007/12/21(金) 16:40:25 ID:???]
>>103-104
ありがとう。専ブラなんでsageチェック外すの忘れてました。
>>104さん、他人を騙ってる割にはいい人ですね感謝。

109 名前:90 [2007/12/21(金) 16:57:32 ID:mXpbsFrG]
あれま、レスが無いと思いきや、同じくsageてました。失敬。

あらかじめロックファイルの方で排他ロックを制御できれば
処理が簡単でいいなぁ、と思ったんですが、>>90のやり方で
data.datに対しての同時書き込みは防げますでしょうか?

110 名前:nobodyさん [2007/12/21(金) 17:00:05 ID:mCAqxYSI]
音楽(asxファイル)の再生数をカウントするスクリプトを作りたいのですが
PHPをどこにはさんでよいのかがわかりません。

一覧ページで再生する曲をチェックし、フォームで取得しています。

form actionで指定したページに

<OBJECT ID='Player' width='300' height='48'
CLASSID='CLSID:6BF52A52-394A-11d3-B153-00C04F79FAA6'>
<PARAM name='autoStart' value='true'>
<PARAM name='URL' value='file_name.asx'>
<embed src='file_name.asx' autostart='true' width=300 height=48></embed>
</OBJECT>
を記述しています。

PHP5.2.4 APACHE2

よろしくお願いいたします。

111 名前:nobodyさん [2007/12/21(金) 17:00:17 ID:bUxsI4En]
ログイン画面から入る会員領域のトップページを作ってるんですが、
入力されたID・パスが違うときはエラー画面に飛ばす処理が上手くいきません

session_start();
/* ログイン情報問い合わせ-----------------------------------------*/
require_once 'config.inc.php';//DB接続関連の設定ファイルの読み込み
require_once 'adodb/adodb.inc.php';//ADOdbモジュール読み込み
$DB = NewADOConnection(_DB_TYPE);//接続の設定
$DB -> pconnect(_DB_HOST, _DB_USER, _DB_PASS, _DB_NAME);
if(!$DB){//接続エラー時
  header("Location: /system/index.html?ec=1");?//エラーページへ
  exit;
}
php部分は上記の記述だけですが、表示すらされません。リダイレクトもされません
//if文の中のheader;とexit;をコメントアウトすれば、省略されてる
<html>タグ以下のページデザイン部分が表示されます
headerはすべての出力よりも先に書くというルールは知ってるんですが
何も出力してないはずでわけがわかりません
低レベルですみません、教えてください



112 名前:nobodyさん [2007/12/21(金) 17:01:30 ID:bUxsI4En]
すみません、間違えました
×入力されたID・パスが違うとき
○接続エラーのとき

113 名前:nobodyさん mailto:sage [2007/12/21(金) 17:01:36 ID:???]
>>106
テンプレのスレなんてねーぞコラ

114 名前:nobodyさん mailto:sage [2007/12/21(金) 17:02:43 ID:???]
自分で立てろカス

115 名前:nobodyさん mailto:sage [2007/12/21(金) 17:15:35 ID:???]
>>113
あるだろボケ
pc11.2ch.net/test/read.cgi/php/1186096518/

116 名前:105 [2007/12/21(金) 17:35:04 ID:Bll92Vnt]
>>107
ありがとうございます。助かりました。

>>106
すいませんでした。Ethna固有の機能ではなかったので「Ethnaの環境でやってます」という意識でした。

117 名前:nobodyさん mailto:sage [2007/12/21(金) 18:01:23 ID:???]
>>110
音楽ファイルを読み込む前か後ろにカウント処理

118 名前:nobodyさん mailto:sage [2007/12/21(金) 18:02:09 ID:???]
>>111
headerの使い方をもう一度確認

119 名前:110 [2007/12/21(金) 18:42:10 ID:mCAqxYSI]
>>117
やってみたのですが、やっぱりページカウンターになってしまいました。
if(isset($_POST['maker'])) {
$db = new mysqli("*","*","*","*");
$stt = $db->prepare("select * from music_lank where url=?");
$stt->bind_param("s",$_POST['maker']);
$stt->execute();
if($stt->fetch()!==TRUE) {
$sql="insert into music_lank(url,count) values(?,1)";
}
else {
$sql="update music_lank set count=count+1 where url=?";
}
$stt->close();
$stt2 = $db->prepare($sql);
$stt2->bind_param("s",$_POST['maker']);
$stt2->execute();
$db->close();
print("
<OBJECT ID='Player' width='300' height='48'
CLASSID='CLSID:6BF52A52-394A-11d3-B153-00C04F79FAA6'>
<PARAM name='autoStart' value='true'>
<PARAM name='URL' value='ASX/{$_POST['maker']}.asx'>
<embed src='ASX/{$_POST['maker']}.asx' autostart='true' width=300 height=48></embed>
</OBJECT>
<br>
");
}
冒頭の「isset」が原因なのはわかるんですが
埋め込みのメディアプレーヤーの再生ボタンを
押した瞬間にPHPを発動できれば解決なんですが・・・。

120 名前:nobodyさん mailto:sage [2007/12/21(金) 19:39:49 ID:???]
そりゃそんなところに仕込めばページカウンターになるw

121 名前:110 [2007/12/21(金) 19:49:36 ID:mCAqxYSI]
どこに仕込めばよいのかがわからないです・・。



122 名前:nobodyさん mailto:sage [2007/12/21(金) 19:55:42 ID:???]
>>119
>埋め込みのメディアプレーヤーの再生ボタンを
>押した瞬間にPHPを発動できれば解決なんですが・・・。

むり。どうしてもやりたいならAjaxとかFlashつかえ

123 名前:nobodyさん mailto:sage [2007/12/21(金) 19:57:20 ID:???]
1.再生ボタンを素材で用意して、そこを押すと再生ページに移動
2.FlashでActionScriptで組み込む

124 名前:110 [2007/12/21(金) 20:00:51 ID:mCAqxYSI]
>>122
無理でしたか。それが分かっただけで一歩進めました。

ありがとうございました。

>>123
ありがとうございます。

125 名前:nobodyさん mailto:sage [2007/12/22(土) 00:11:25 ID:???]
windows, xammp な環境で
ttp://localhost/rawurlencode(UTF8なファイル名).html
のようにアクセスすると、ローカル上の
UTF8なファイル名.html
ではなく
SJISなファイル名.html
にアクセスしにいくんですが、これってどういう理屈かご存知の方いませんか?
firefox, ie7 共になります。
これって windows じゃなくて linux サーバ上だと
EUCなファイル名.html
を見にいったりすることになるんですかね?厄介。

126 名前:nobodyさん mailto:sage [2007/12/22(土) 00:13:29 ID:???]
>>1
◆質問する時の注意
・ 自分のIDを表示させること。(メール欄に何も記述しないこと。空白も入力しちゃダメ)
・ サーバーのOS(Linux、Windows他)、WebサーバーとPHPの種類やバージョン等を明記すること。
・ 己の行った操作、変更などを詳しく明記すること。
・ エラーメッセージはそのまま表記すること。「エラーが出ます」だけでは回答不可。
・ 質問者として、態度をわきまえること。
・ 事前に公式マニュアル、リファレンス本くらいはちゃんと目を通しておくこと。

127 名前:nobodyさん [2007/12/22(土) 00:15:38 ID:YFLFW+ip]
echo <<<EOF
〜〜
EOF
ってのがよくあるけど、この〜〜の部分で関数を実行できないの?
echo <<<EOF
<td>$hoge->gethoge(1);</td>
EOF
って感じ。関数でなく、変数を書いてその値を表示ならできたんだけど。。

128 名前:nobodyさん mailto:sage [2007/12/22(土) 00:26:48 ID:???]
>>127
>>1
◆質問する時の注意 
・ 自分のIDを表示させること。(メール欄に何も記述しないこと。空白も入力しちゃダメ) 
・ サーバーのOS(Linux、Windows他)、WebサーバーとPHPの種類やバージョン等を明記すること。 
・ 己の行った操作、変更などを詳しく明記すること。 
・ エラーメッセージはそのまま表記すること。「エラーが出ます」だけでは回答不可。 
・ 質問者として、態度をわきまえること。 
・ 事前に公式マニュアル、リファレンス本くらいはちゃんと目を通しておくこと。 

129 名前:nobodyさん [2007/12/22(土) 00:45:03 ID:VmEGw74T]
教えて下さい。
よく、以下の表示を見るのですが、これはどのように制御しているのでしょうか?
セッション数を取得して閾値を越えたら、この表示を出すといった処理なのでしょうか?
私も作りたいとは考えているのですが、何を基準にしていいいのか分かりません。宜しくお願いします。

現在アクセスが集中しています。
現在アクセスが集中しており表示しにくい状態となっております。
申し訳ございませんが、しばらく時間を置いてからアクセスするようお願いいたします。

130 名前:nobodyさん mailto:sage [2007/12/22(土) 00:49:58 ID:???]
>>129
httpのステータスコード見て判別すれ

131 名前:nobodyさん mailto:sage [2007/12/22(土) 01:39:24 ID:???]
>>127
できるよ。ある関数を使うけどね



132 名前:nobodyさん mailto:sage [2007/12/22(土) 01:40:47 ID:???]
>>129
考えられる方法
1.apacheの設定


セッション使うのはもったいないからapacheの設定だな

133 名前:133 [2007/12/22(土) 03:51:34 ID:PQDDH9MU]
レン鯖やヤフーメイルで仮登録
→メールが送られてきて、リンクをクリックすると本登録
→サーバスペースやメールboxが作られる

この一連の動作を自分のサイトで実現しようと思ったら何を勉強すればいいだろうか。
phpとDB系を組み合わせればできる?

134 名前:nobodyさん mailto:sage [2007/12/22(土) 04:03:34 ID:???]
>>129
DB関連でエラー出たらそれ出してるんだと思ってた。。
セッションやApacheへの接続数より、DBがボトルネックになることが
多い気がするし、「現在アクセスが集中しています。」の表示が出るまで
ちょっと時間かかるサイトが多いし。

ただしDB接続エラーでこれ出すだけでもDBに負荷かかるんで、132の言う
通りApacheでやるのが一番いいかなあ。
Apacheの設定、PHPでセッション数、DBの接続エラー全部でそういう処理
入れといて、DBの接続エラー出る前にApacheの接続数の上限に達する
ようにうまく調整するのが一番よさそう。

135 名前:nobodyさん mailto:sage [2007/12/22(土) 04:21:23 ID:???]
>>133
メールサーバとサーバOSもかな。Webサーバもね。

・仮登録メールを受信してPHPを実行する仕組みが必要。これはメールサーバ。
 本登録用のメールはPHPがメーラーの役割を果たして、メールサーバ利用して
 返信する。
・サーバスペースは物理的にHDDにフォルダ作ることになるから、PHPからシェル
 コマンド叩くとかの処理がいる。手動であらかじめ作っといて、空きがないなら
 登録拒否とかでもいいかもだけど。。
・メールボックス作成はやったことないんでよくわからん。
 コマンドラインでそういう処理ができるメールサーバはありそうだから、やっぱり
 PHPから実行することになるかな。これも手動であらかじめ、ってできるかもだけど。
・Webサーバの知識はWebアプリ作る以上当たり前。


その機能を実装するだけなら通り一遍の知識でも動くと思うけど、
サーバスペース貸与サービスってレンタルサーバでできるのかな?
できないなら自分でサーバたてて運用することになるんで結構大変。
特にメールサーバは下手に立てるとWebサーバ以上に迷惑をかけることになるので。

知り合いがそういうサービス個人でやってたけど、自宅にサーバ
置いてたしなあ。

136 名前:127 mailto:sage [2007/12/22(土) 05:00:56 ID:???]
自己解決しました
一旦外で実行してから読み込めばいいんですね どうもお騒がせしました

137 名前:nobodyさん mailto:sage [2007/12/22(土) 05:57:17 ID:???]
>>133
分かりにくい質問だけどメールサーバ関係ないんだろ?
セッションやmd5でユニークな値を持つチケットを発行すれば済む話

138 名前:133 mailto:sage [2007/12/22(土) 06:35:51 ID:???]
>>135 レスありがとうございます。
実は趣味で自宅鯖立てて、最近スペース貸出を考えているのですよ。
それでそんなプログラムできればいいかな、と。

PHPって結構いろんなことできるんですね。PHPを習得するとともに、まずメル鯖立てるために固定IPゲットせねばw
135さんのレスをもとに勉強の方針立てて頑張りたいと思います。

ところでこんな時間にレス、て何者?w

139 名前:nobodyさん mailto:sage [2007/12/22(土) 09:36:10 ID:???]
今日は休日だからな。
自鯖立てるのは結構だが、質問内容からするとかなり不安なので、
最初は審査はさんで手動登録にするとして、鯖管としての勉強をするのが第一。
踏み台になって周りに迷惑かけないようにね。

140 名前:133 mailto:sage [2007/12/22(土) 11:10:17 ID:???]
>>139
余計なお世話です。

141 名前:nobodyさん [2007/12/22(土) 11:21:56 ID:JyLvDbSd]
classが存在するか調べる方法はありませんか?

PEARでDB.phpが読み込まれているかチェックするために
クラスチェック("DB")のようにしたいのです



142 名前:nobodyさん [2007/12/22(土) 11:24:26 ID:JyLvDbSd]
class_existsで解決しました

143 名前:nobodyさん [2007/12/22(土) 13:21:02 ID:iV97cpSO]
$str = "1+2+3"; というようになっているstring があったとして、
これを数式だと解釈して 1+2+3 (= 6) を返すような関数て
ありましたかね?

144 名前:nobodyさん mailto:sage [2007/12/22(土) 13:21:36 ID:???]
>>143
eval

145 名前:nobodyさん [2007/12/22(土) 13:36:39 ID:iV97cpSO]
>>144 ありがとう。

$str = "1+2";
echo $str. "\n";
eval("\$str2 = $str ;");
echo $str2. "\n";

解決した。

146 名前:138 mailto:sage [2007/12/22(土) 13:46:19 ID:???]
>>133
まあ鯖管やるといろいろと勉強になるし、がんばってくれ。
ただ139と同意見でもあるので、いっぺんにいろいろやろうとせずに
PHPならPHPだけって感じでやっていったほうがいいと思う。
メールサーバは半日放置すればすぐ踏み台にされるし、他のメール
サーバの管理者から文句が来たり、ISPその他から警告来ることがあるよ。

147 名前:nobodyさん [2007/12/22(土) 15:17:14 ID:JyLvDbSd]
PEARのmimeDecodeで
$structure = Mail_mimeDecode::decode($params);
をしたときに、メールの件名・本文の文字コードを取得したいのですが、
本文はcontent-typeにありますけど、件名がありません。
どこで取得すればよいのでしょうか?

148 名前:nobodyさん [2007/12/22(土) 15:29:17 ID:XDbomIjm]
本でもWebでもいいんですが、PHPの長い良質なソースコードないですか?

勉強したいので。。独学ですが、普通の本のソースじゃものたりなくなりました。。

よろしくお願いします。

149 名前:nobodyさん mailto:sage [2007/12/22(土) 15:35:26 ID:???]
>>148
pear
zend framework
あたりかな

150 名前:148 [2007/12/22(土) 15:40:37 ID:XDbomIjm]
>>149
どうもありがとうございます。その2つをとりあえず見てみます。あと、思いついたんですが
洋書でいいのないですかね?あっちの方が本格的な気がして。。洋書でいいのを知っている方
教えてください。よろしくお願いします。

151 名前:nobodyさん mailto:sage [2007/12/22(土) 15:49:04 ID:???]
シェル形式(perl形式)のコメント#って廃止予定とかあったりする?
あまり使われてないようだけど、#がスクリプトに混ざってたりしたら気持ちわるかったりするのかな

#昔書いたスクリプトで、いたるところにコメントで/* */を使ってあるのをメンテしてて、
#/* */使って問題箇所を切り分けようとしたら酷い目にあった



152 名前:nobodyさん mailto:sage [2007/12/22(土) 15:50:38 ID:???]
>>150
「気がする」程度なら必要ない
それよりまず日本語ドキュメントを完全マスターすべし

153 名前:nobodyさん mailto:sage [2007/12/22(土) 15:54:32 ID:???]
>>148
PHP5でクラス使ってるのが所望なら、mediaWIKIおすすめ
俺はめまいがして静かにエディタを閉じたけどw


154 名前:nobodyさん mailto:sage [2007/12/22(土) 15:54:49 ID:???]
ユーザーが入力した式を
evalで実行してます。
(計算機のようなものです)

でもこうすると、ユーザーがたとえばファイル読み書きなんかの
命令を入れたら実行されてしまいます。

なんかいい方法はありますか?
ちなみに単純な計算機ではなく、関数など複雑な
式を入力することが出来きることが条件です。

155 名前:nobodyさん mailto:sage [2007/12/22(土) 15:55:21 ID:???]
pearなんてあんま良質とは思えないのも多々ある訳だが
動物本でも読んだら?

156 名前:nobodyさん mailto:sage [2007/12/22(土) 16:00:36 ID:???]
pearといえばNET_IP_V4←うろおぼえ
で、どんなIPアドレスでもネットワーク内ある(trueになる)という、
物凄いバグありバージョンがあったな
設置だけして使ってはいなかったけど

157 名前:nobodyさん mailto:sage [2007/12/22(土) 16:13:35 ID:???]
>>154
なんのためにそんなの作ってんの?

158 名前:nobodyさん mailto:sage [2007/12/22(土) 16:23:32 ID:???]
>>154
自分も式を扱うプログラム書いてるけど、色々処理が必要なので真面目にパースしてる。

簡単に済ませるなら、正規表現で計算式以外の要素が無い事を確認するのが良いんじゃないかと思う。
正規表現では対応しにくいようなら、Tokenizer使って分解してチェックじゃないかな。
jp2.php.net/tokenizer

159 名前:nobodyさん mailto:sage [2007/12/22(土) 17:20:10 ID:???]
>>157
複雑な検索条件入力 ですが?

160 名前:nobodyさん mailto:sage [2007/12/22(土) 18:52:20 ID:???]
>>154
>>1
◆質問する時の注意
・ 自分のIDを表示させること。(メール欄に何も記述しないこと。空白も入力しちゃダメ)
・ サーバーのOS(Linux、Windows他)、WebサーバーとPHPの種類やバージョン等を明記すること。
・ 己の行った操作、変更などを詳しく明記すること。
・ エラーメッセージはそのまま表記すること。「エラーが出ます」だけでは回答不可。
・ 質問者として、態度をわきまえること。
・ 事前に公式マニュアル、リファレンス本くらいはちゃんと目を通しておくこと。

161 名前:148 mailto:sage [2007/12/22(土) 19:01:21 ID:???]
>>152 日本語ドキュメントもしっかり読んでみます。ありがとうございました。
しかし、ソースを打ちたい。。

>>153 MediaWikiをググって見てみました。今のところどういうものかわかりませんが
時間ができたらよく調べてみようとおもいます。どうも有用な情報ありがとうございました。

お二方、お礼が遅くなりすみませんでした。ありがとうございました。



162 名前:nobodyさん mailto:sage [2007/12/22(土) 20:40:17 ID:???]
>>150
Advanced PHP Programming
がいいよ(洋書)。

163 名前:nobodyさん mailto:sage [2007/12/22(土) 23:19:52 ID:???]
>>162
すごい、きになる。
やっぱ洋書がいいのかなあ

164 名前:nobodyさん mailto:sage [2007/12/23(日) 01:20:47 ID:???]
別に変わらんと思うが

165 名前:nobodyさん mailto:sage [2007/12/23(日) 01:28:41 ID:???]
そりゃまぁ、書いてある事は同じだろ。
というか違う事が書いてあったら困る。

166 名前:nobodyさん mailto:sage [2007/12/23(日) 02:11:39 ID:???]
>>163
もう少しで新しいバージョンのが出るらしい。
今気付いたけど、Amazon見ても目次もないから買おうか迷ってる人が判断できないな。
もったいない。

この本には、中括弧の置き方くらいの事に関しても、BSD style, GNU style,
K&R style のそれぞれの説明とかがある。

あと、Extensionの説明だけでなく、「Writing SAPIs and Extending the Zend Engine」
なんて章があって、SAPIで使ってる構造体から説明してる。

データベースマッピングの複数のデザインパターンの説明もあって、
The Active Record Pattern とかいろいろ書いてある。

もちろんその他には、エラーハンドリング、テンプレートシステム、テスト、
キャッシング、セッション、認証、RPC、プロファイリングとかの説明もある。

なんて言うか、本格的。
なんで日本語訳されてないんだろう。

167 名前:nobodyさん [2007/12/23(日) 03:32:32 ID:KIQSv7/M]
[a.php]
<?
$hoge = 'a';
〜インクルードここまで
$hoge = 'b';
?>

[include.php]
<?
include 'a.php';
echo $hoge;
?>

$hoge = a にしたい場合、ifで制御する方法はありませんか?
include_break();みたいな

168 名前:167 [2007/12/23(日) 03:33:34 ID:KIQSv7/M]
ifで制御 → if以外で制御

169 名前:nobodyさん mailto:sage [2007/12/23(日) 04:06:10 ID:???]
ファイル分ければ?

170 名前:nobodyさん mailto:sage [2007/12/23(日) 04:16:30 ID:???]
>>167
わざわざ難しく考えないで、今できる知識で組めよ。
コードを今の10倍の量を書いたとき、新しい技法を覚えるってことよ

171 名前:nobodyさん mailto:sage [2007/12/23(日) 04:57:03 ID:???]
phpに関する初歩的な質問です。書いたコードは下に示します。
htmlquickformでメールフォームを作りたいのですが、その過程でprocess関数を使うところでつまづいてしまいました。
process('test',false)としてfunction test($values)と受け取るのですが、
具体的にvaluesが何の値を受け取っているのかがよく分からないのです。

下のコードでいうと
function mail($values)
{
mb_send_mail(??????????????);
}
のところで、「valuesって一体何?」と思うわけです。
直感的にmb_send_mail(:::@:::,$subject,$body);としてもダメなようですし、、、混乱してます。(C→phpとやってきたからかな、、、



172 名前:nobodyさん mailto:sage [2007/12/23(日) 04:57:57 ID:???]
ryaku
$form->addElement('header',NULL,'お問い合わせ');
$form->addElement('text','name','名前');
$form->addElement('text','mail','メールアドレス');
$form->addElement('text','subject','件名');
$form->addElement('text','body','本文');
$form->addElement('submit','sbm','送信');

$form->addRule('name','名前を入力してください。','required','client');
$form->addRule('mail','メールアドレスを入力してください。','required','client');
$form->addRule('mail','メールアドレスを正しく入力してください。','email','client');
$form->addRule('body','本文を入力してください。','required','client');

$form->setRequiredNote('<font color="Red">*</font> 必須項目です。');
$form->setJsWarnings('入力ミスによりエラーが発生しました。','エラーをご確認の上、再度[送信]ボタンをクリックしてください。');

if($form->validate())
{
$form->process('mail',FALSE);
}
else
{
$form->display();
}

function mail($values)
{
mb_send_mail(??????????????);
}

?>

173 名前:nobodyさん mailto:sage [2007/12/23(日) 05:00:50 ID:???]
◆質問する時の注意
・ 自分のIDを表示させること。(メール欄に何も記述しないこと。空白も入力しちゃダメ)
・ サーバーのOS(Linux、Windows他)、WebサーバーとPHPの種類やバージョン等を明記すること。
・ 己の行った操作、変更などを詳しく明記すること。
・ エラーメッセージはそのまま表記すること。「エラーが出ます」だけでは回答不可。
・ 質問者として、態度をわきまえること。
・ 事前に公式マニュアル、リファレンス本くらいはちゃんと目を通しておくこと。







[ 続きを読む ] / [ 携帯版 ]

前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧]( ´∀`)<264KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef