【PHP】下らねぇ質問はここに書き込みやがれ 46
レス数が1000を超えています。これ以上書き込みはできません。
0001nobodyさん
2007/05/12(土) 16:43:57ID:???PHPで最良の教本はこの公式マニュアル。市販の書籍は嘘が多いので鵜呑みにしない。
過去スレ、関連スレ、FAQなどは>>2-10辺り
◆前スレ
【PHP】下らねぇ質問はここに書き込みやがれ 45
http://pc11.2ch.net/test/read.cgi/php/1177635762/
◆質問する時の注意
・ 自分のIDを表示させること。(メール欄に何も記述しないこと。空白も入力しちゃダメ)
・ サーバーのOS(Linux、Windows他)、WebサーバーとPHPの種類やバージョン等を明記すること。
・ 己の行った操作、変更などを詳しく明記すること。
・ エラーメッセージはそのまま表記すること。「エラーが出ます」だけでは回答不可。
・ 質問者として、態度をわきまえること。
・ 事前に公式マニュアル、リファレンス本くらいはちゃんと目を通しておくこと。
◆質問後の注意
・偽者防止に必ずIDを表示させること。(メール欄に何も記述しない)
・2回目以降は最初に質問した際のレス番号を名前欄に入れること。
・解決しなくても回答をもらった場合はお礼を言うこと。
(荒らし、煽りは除く。煽られたときも、無闇に反論せずスルーすること。)
◆回答者への注意
・誰にレスしているのか分からないと困るので、>>(アンカー)をつけて回答すること。
【その他諸注意】
・正規表現・PEAR・テンプレート(Smarty等)・フレームワークは各該当スレへ
・SQLについての質問はデータベース板(PCカテゴリ)の各スレで
0002nobodyさん
2007/05/12(土) 16:44:31ID:???【PHP】下らねぇ質問はここに書き込みやがれ 44
http://pc11.2ch.net/test/read.cgi/php/1176364487/
【PHP】下らねぇ質問はここに書き込みやがれ 43
http://pc11.2ch.net/test/read.cgi/php/1175368910/
【PHP】下らねぇ質問はここに書き込みやがれ 42
http://pc11.2ch.net/test/read.cgi/php/1174217841/
【PHP】下らねぇ質問はここに書き込みやがれ 41
http://pc11.2ch.net/test/read.cgi/php/1173163186/
【PHP】下らねぇ質問はここに書き込みやがれ 40
http://pc11.2ch.net/test/read.cgi/php/1172151461/
0003nobodyさん
2007/05/12(土) 16:45:00ID:???■本家マニュアル http://www.php.net/manual/ja/
■日本PHPユーザ会 http://www.php.gr.jp/
■PEARマニュアル http://pear.php.net/manual/ja/
■メーリングリスト http://ns1.php.gr.jp/mailman/listinfo/
■ZFマニュアル http://framework.zend.com/manual/ja/
(以下英語)
■Smarty http://smarty.php.net/
■Zend本家 http://www.zend.com/
■Zend Framework http://framework.zend.com/
■php | architect http://www.phparch.com/
■Smartyマニュアル http://smarty.php.net/manual/en/
■PECL本家(英語) http://pecl.php.net/
0004nobodyさん
2007/05/12(土) 16:45:23ID:???1.文字コードは何を使えばいいの?
→1.UTF-8 2.EUC-JP のどちらか。迷うようなやつはShift_JISは使っちゃダメ。
2. このスレに書き込むときに自分のサイト名を晒したくない
→ http://example.com/が例文などのために予約されている。hogehoge.comは使っちゃダメ。
3. ブラウザに何も表示されないんだけど・・・
→ Apacheの設定を見直せ。ファイルの拡張子は何にしてて、その拡張子でPHPを呼ぶようになっているか?
4. 記号の意味がわからないけどググりようがない
→ 「@」 エラー表示を抑制、「->」 オブジェクトのメンバにアクセス、「::」 静的なメソッド呼び出し、
「==」は暗黙の型変換をしてゆるい比較、「===」は型情報も含めた厳密な比較
5. echo "$arr['hoge']['fuga']"; と書いたらエラーになった
→ {おっぱい括弧}でくくって"{$arr['hoge']['fuga']}"にする
6. 一定時間ごとに自動的に何かしたいんだけど
→ cronかタスクスケジューラを使え。
7.extractって危険なの?
→変数上書き&初期化忘れなどで危険。楽だからという理由だけで安易に使わない。
8. include/requireに「〜.php?a=b&c=d」のようなパラメータをつけたい
→ URL呼び出しなら可能だけど、普通のファイル呼び出しではできません
9.include/requireでURLを指定しても何も起きない
→ .phpの拡張子のファイルをURLで呼び出すと、1度PHPプログラムとして実行された結果になる。
0005nobodyさん
2007/05/12(土) 16:45:39ID:???→ 確認すべきはPHPのconfigureの引数、php.iniの内容と置き場所、
Webサーバの設定(Apacheならhttpd.conf)、起動&再起動あたり
11. SQLの質問はどこで?
→ データベース板に誘導されるのが嫌ならPHPにうまく関連させて質問する
12. 文字列のなかに、英字のみとか数字のみとか記号が入っちゃいやんとかはどうしたらいいの?
→ ctype_〜()が手軽。複雑なパターンはpreg_〜()あたりで正規表現を使う。
13. $a1, $a2, $a3 ... のような変数名をうまく扱いたい
→ 可変変数で実現できるけど、むしろ配列を使って$a[1], $a[2], $a[3]等とするのがベター
14. echoとprintってどう違うの?
→ よく議論される話題であるが基本的に両者とも同じ。 以下ちょっとした議論。
http://www.faqts.com/knowledge_base/view.phtml/aid/1/fid/40
15. クッキーの情報をユーザから隠したい
→ セッション使え。ただしクッキーとセッションは仕組みが違うから同じように扱うな
16. strip_tags()で削除しないタグを複数指定したい
→ strip_tags($html, '<a><p><font>'); // htmlspecialchars()も検討すべし
17. CSVやTSVのファイルをスマートに扱いたい
→ まずはfgetcsv()。ただし日本語を含むと正常に動作しない場合があるので注意だ。
18. 値渡しと参照渡し(「&」を使う)のパフォーマンスの違い
→ C言語じゃないので、パフォーマンス目的で使いわけたらダメ。参照渡しにすると逆に遅くなったりする
参照渡しは引数に戻り値を設定したり引数を関数内で変更するなど、正しい目的に使うこと
19. ファイル入出力関数(fopen等)でリモートファイル(http://〜とか)を扱う際の限界
→ fsockopen()でソケット通信 or PEARのHTTP系 or CURLで解決
必要ならHTTPをはじめとする各種プロトコル(どんなデータを送受信するか)はRFCなどで調べる
20. PHPからPOSTリクエストしたい
→19.を参照
21. 画像処理一般 or GDの限界
→ ImageMagick(PECLのやつ or シェルから実行)
22. 画像・音・動画はファイルで保存?DBに保存?
→ 好きにしてください
0007nobodyさん
2007/05/12(土) 16:53:14ID:uqNjkBgIconstには配列が記述できないですよね。
何かいい方法はないでしょうか?
0008nobodyさん
2007/05/12(土) 17:02:48ID:???0009nobodyさん
2007/05/12(土) 17:18:33ID:???_,..-'''"__ ※ `"'- 、 \
/>゙⌒ヽ ̄ ̄ ̄"'- 、 ※ \. \
/ ./ : :\ : :\ : : \ ∨ \
. / / : :ハ : :\ : : ヘ ※ ∨ _〆)
/ : :i : i: : :ト、 : : ヘ : :ヘ. | イ__/
/ : :i : : /,イ イ: :ト、\__,: :∧ : : :| ※゙|.八
l l : : :l_ // ル゙i: :ノィr‐─< 〉: :.,' .l: : \
l l. : :tノ.厶イ ル゙ (て刀ア.,': :./ ※ .l: : \
|∧ : :∨ (てカ` ゞ―゙ /: :/ .ト、 : : \
. ゝ : : \.ゞ┘ , ////,.イ ※ l: \ : : \ 下らねぇ質問は
. `(>┬-ゝ// r 、 个 ∧.: : \ : : '., ここに書き込みやがれですぅ
. ) 人.X゙\ `‐' / .| ※ /.: :',: : \: : l
/./ : : )゙※/゙テ=r‐ャ<.___人. /: : ',: : \: : l
/./ : :/ /゙f .〉〉刀, 〉 〕 `X乃ミY)∧: : \/
/./ : :/./_「| Y| /\ ∧ ヘ\  ̄ハ.: : \
/./ : : ,イ 辷竺ミY .∧ 》 ∧ノ 〉 \. l.: : ヘ
. /./., -'"/ノ 廴_辷竺ミ乃ゝノ∧ノ / ※ / |.: : : : ',
/./ / ./^''^''廴___) ∧ノ 〈 〈 l: : : : l
. / ※ / Y / 人^''^''^∨ノ∠_.', ', l',.: : : : |
0011nobodyさん
2007/05/12(土) 18:08:44ID:???0012nobodyさん
2007/05/12(土) 18:20:39ID:???・「先に立ってる向こうが本スレ、ここは重複」で向こうを46として使う。(通常、これ)
保守なんかしなくてもこっちも落ちないだろうから、ここが将来の47に。
・放置して沈める。現状のままレスが一定数つかなければ即死判定で消える。
たぶん誰かが書くので生き延びる。
・削除整理に持って行ってみる。スレタイや 1 の文言がアレすぎる事例なら
住民合意次第で後から立ったほうを本スレ扱いしてもらえる場合もあったと思う。
どれか。つーか、番号の変え忘れだけでなんで重複が立ってるんだ。
0013nobodyさん
2007/05/12(土) 18:37:00ID:???0014nobodyさん
2007/05/12(土) 21:10:57ID:???0015nobodyさん
2007/05/12(土) 21:12:02ID:???職場から書き込んでる人が多いんじゃない?
0016nobodyさん
2007/05/12(土) 21:53:16ID:???(postで文字列・行番号を送信)
textからファイルを1行ずつ配列に突っ込む、
配列の指定された行に文字列代入、(この時改行を突っ込む)
その後ファイルに出力。
とやってるんだけど、どうしてもpostで受け取ったところに改行が入らない。
\r\n、\n、\r、CRLF、0xA、0x0D全部ダメでした。
改行を入れるのに良い方法があればご教授宜しくお願いします。
※環境:windowsXP proSP2 IE6 XAMPP2.3
※状況としては、DB使えない鯖でDB的な事がやりたい。
で、1つずつファイルを用意して、1行で1つのパラメータとして管理。行番号でIDとしてやってみた。
0017nobodyさん
2007/05/12(土) 22:10:37ID:???> textからファイルを1行ずつ配列に突っ込む、
> 配列の指定された行に文字列代入、(この時改行を突っ込む)
> その後ファイルに出力。
この説明を自分で読んでどう思う、あとIDな
0018nobodyさん
2007/05/12(土) 22:18:35ID:???ソース晒せ
0019nobodyさん
2007/05/12(土) 23:38:29ID:???こういうこと?
【1】 管理画面的なページからファイルに書き込みたい文字列と行番号を送信
【2】 【1】の文字列と行番号を受け取ったプログラムが受け取った文字列をファイルに書き込み
だよな?
で、ファイルの書き込む位置として【1】から受け取った行番号を使うんだよな?
0020nobodyさん
2007/05/12(土) 23:41:43ID:???ちゃんと文字列に改行つけられてないんだろ?
$fp = fopen ("/unnko/file.txt");
fputs ($fp, $_POST['文字列' . "\r\n"]);
fclose($fp);
コレでもだめ?
002120
2007/05/12(土) 23:42:32ID:???氏ね!俺氏ね!
0022nobodyさん
2007/05/13(日) 00:13:47ID:???0023nobodyさん
2007/05/13(日) 01:14:36ID:???0024nobodyさん
2007/05/13(日) 01:17:52ID:bVkJL6kZ仮にあるユーザが10秒かかる処理をリクエストしたとき
その10秒間は他のユーザがアクセスしても無応答になるの?
0026nobodyさん
2007/05/13(日) 01:40:06ID:EaEIAfe4お勧めのレン鯖ってないかな?
これはメール鯖借りるだけでもできたっけ?
0027nobodyさん
2007/05/13(日) 02:01:55ID:bVkJL6kZ確か自分で高負荷のかかる処理をさせたときは待たされた記憶があるんですが
その判定って何でやってるんですか?IPアドレス?セッション?
0028nobodyさん
2007/05/13(日) 02:03:04ID:???手元の本見てると、
class xxxx {
private $_name;
function getName(){return $this->_name;}
function setName($namae){$this->_name = $namae;}
}
って言うのがあるんですが、
この$_name の「_」には何か特別な意味があるんですか?
$nameとする場合と意味が違うんでしょうか?
0031nobodyさん
2007/05/13(日) 02:06:46ID:???ありがとうございます。じゃ、作者の癖みたいなものですね?
あと、
{return $name;} じゃダメなんでしょうか? this って必要でしょうか?
マニュアルで検索しても出てこないような?
http://jp2.php.net/manual-lookup.php?pattern=this&lang=ja
0032nobodyさん
2007/05/13(日) 02:08:54ID:EaEIAfe4昨日って?
0033nobodyさん
2007/05/13(日) 02:29:01ID:???それはシステム自体(つまりサーバ全体)自体が負荷が
高くて処理が遅くなってたんじゃないのかな?
PHP自体はIPとかセッションじゃなくてリクエスト単位で
アパチェがスッドレ立ててるはずだよ
0035nobodyさん
2007/05/13(日) 03:02:00ID:???0036nobodyさん
2007/05/13(日) 03:08:49ID:???メンバ変数のことです。
0037ぷぅ
2007/05/13(日) 03:11:20ID:eYzfHo380040nobodyさん
2007/05/13(日) 03:27:12ID:???板違い、やさしい住民がいる板に誘導してやるからさっさとでていけクズ
【マジレス】超初心者の質問に答えるスレ49【エスパー】
http://pc11.2ch.net/test/read.cgi/win/1178613757/
0042nobodyさん
2007/05/13(日) 07:35:57ID:???クラスのどこ読めばいいの?
$thisがインスタンスとだけ言われちゃどういう意図でいったのか意味が伝わらない。
0043nobodyさん
2007/05/13(日) 08:10:34ID:???0044nobodyさん
2007/05/13(日) 10:25:54ID:???このスレのレベルの低さが伺えるなw
0045nobodyさん
2007/05/13(日) 10:27:35ID:???顔が真っ赤になって書き込みを続けているというだけの話だろうね
0046nobodyさん
2007/05/13(日) 10:33:12ID:???そのへんの一般常識がごっそり抜けてる奴が結構居ると思うよ。
0047nobodyさん
2007/05/13(日) 11:32:57ID:???表示された=動いたーうごかないー、みたいなやつにありがちだ。
意味もわからずDBを入れるわ、クラス使うわ
0048nobodyさん
2007/05/13(日) 12:26:51ID:???恐ろしや・・・
0049nobodyさん
2007/05/13(日) 12:27:00ID:/gq+so5C空メって何?
0050nobodyさん
2007/05/13(日) 12:33:10ID:EaEIAfe4メールが送られてきたらPHPを実行する みたいな感じ
0051nobodyさん
2007/05/13(日) 12:38:40ID:???0052nobodyさん
2007/05/13(日) 13:12:19ID:???0053nobodyさん
2007/05/13(日) 14:49:01ID:???.forward ファイルを編集して fopen('php://stdin', 'r'); で受け取ればいい
0054nobodyさん
2007/05/13(日) 15:03:59ID:???0055nobodyさん
2007/05/13(日) 15:46:59ID:???0056nobodyさん
2007/05/13(日) 16:07:42ID:???0057nobodyさん
2007/05/13(日) 17:17:10ID:JyhsaAbc/proc 0 0 0 0% /proc
↑のようなデータがあります。
この行の"0%"のみを抜き出して表示させたいのですが、
以下のようなスクリプトを実行すると、
何も表示されません。0=無として動いているようです。
$a = 0;
$hairetu = explode(" ", "$proc");
// ↑の$procに「/proc 0 0 0 0% /proc」の内容が入ってます。
while( $a < 34 ) {
if ( ereg("%", $hairetu[$a]) ) {
$str = "$hairetu[$a]";
}
$a++;
}
print "$str<br>";
// ↑ここで何も表示されない
分かりにくくて申し訳ありませんが、対処方法を教えてください。
0058nobodyさん
2007/05/13(日) 17:17:44ID:???0060nobodyさん
2007/05/13(日) 17:27:12ID:???$a = 0;
$hairetu = explode(" ", "/proc 0 0 0 0% /proc");
while( $a < 34 ) {
if ( ereg("%", $hairetu[$a]) ) {
$str = "$hairetu[$a]";
}
$a++;
}
print "$str<br>";
で出てくるけど
0062nobodyさん
2007/05/13(日) 22:04:51ID:w30SUErwいまいちソースが予想付かない、どういう組み方すればいいかなんとかご教授
お願いできませんでしょうか。スレ違いならそっちいくんでスレ指定おねがいします。
初めて1か月だがプログラミング向いてないんかな・・・。
0063nobodyさん
2007/05/13(日) 22:28:16ID:???0064nobodyさん
2007/05/13(日) 22:34:48ID:???もしやるとしたら正しい日付のフォーマットを自分で作るしかねえんだよ!
0065nobodyさん
2007/05/13(日) 22:36:29ID:???おれは62じゃないから、念のため。
006662
2007/05/13(日) 22:59:48ID:???いやそういう指定受けたもので。
>>64
でもやらなきゃならんのですよ。
ううむ・・。基本日数は1800年の1月1日が水曜日って事ぐらいしか・・
0067nobodyさん
2007/05/13(日) 23:05:30ID:???0068nobodyさん
2007/05/13(日) 23:08:17ID:???1800年の1月1日から、求める月の最初の日付まで何日間経ったか数えて、
それを7で割ったあまりで1日の曜日を求めて、ってことになりますね。
閏年は4で割り切れる年、ただし100で割り切れない年である、しかし400で割り切れる年はやはり閏年である、という事実を使って日数を求めればよいです。
0071nobodyさん
2007/05/13(日) 23:16:04ID:???0072nobodyさん
2007/05/13(日) 23:17:30ID:???007366
2007/05/13(日) 23:21:39ID:w30SUErw残念だが無理
>>68
わかりました、それをヒントに考えてみます。
>>70
フロチャートから書いてる段階だからまだ入力してないんだ・・。
>>71
説明不足でした、正確には日付関数系をなし。
なんとか頑張ってみます、ありがとうございました。
0074nobodyさん
2007/05/13(日) 23:23:08ID:???0075nobodyさん
2007/05/13(日) 23:23:35ID:???学校の宿題だろ
0076nobodyさん
2007/05/13(日) 23:24:06ID:???スルーしろよ。
0077nobodyさん
2007/05/13(日) 23:25:31ID:???謎は深まるばかりだな
0078nobodyさん
2007/05/13(日) 23:28:46ID:???0081nobodyさん
2007/05/13(日) 23:37:33ID:Abz7uB+8アパッチを起動してPHPが動きません
PHP4を設定する資料は沢山あっても5の資料が無いので教えてください
0083nobodyさん
2007/05/13(日) 23:41:09ID:Abz7uB+8どうもありがとう
0085nobodyさん
2007/05/14(月) 00:30:06ID:???そこで、停止している10秒間に、10、9、8、7、、、と
カウントダウンを表示させたいのですが、どのように記述すれば
良いでしょうか
0087nobodyさん
2007/05/14(月) 00:46:07ID:???こんなんじゃダメか?
for ($i = 10; $i >= 0; $i--) {
printf("\r%2d", $i);
sleep(1);
}
0088nobodyさん
2007/05/14(月) 00:52:05ID:???0089nobodyさん
2007/05/14(月) 00:56:58ID:5a5f7yKwThx!なるほど。バッチで実行してもいいんじゃね?phpでpopアクセスするやつ作って。
0091nobodyさん
2007/05/14(月) 01:07:06ID:anxZlOK/$imoon=5;
function leap($year){
$count=0;
$count += floor($year/4);
$count -= floor($year/100);
$count += floor($year/400);
return $count;
}
$leap = leap($iyear)-leap(1800+(($imoon>2)?-1:0));
echo "leap=$leap\n";
$moon = array(0,31,28,31,30,31,30,31,31,30,31,30,31);
$day = ($iyear-1800)*365 + $leap;
for($i=1; $i<$imoon; $i++)
$day+=$moon[$i];
echo "day=$day\n";
$dotw=($day+3)%7;
echo "dotw=$dotw\n";
for($i=0; $i<$dotw; $i++)
echo " ";
for($i=1; $i<=$moon[$imoon]; $i++){
printf("%2d ",$i);
if(!(($i+$dotw)%7))
echo "\n";
}
0092nobodyさん
2007/05/14(月) 01:07:34ID:???0093nobodyさん
2007/05/14(月) 01:12:07ID:???0094nobodyさん
2007/05/14(月) 01:14:51ID:w1xXl1JOon/Apache2.2/conf/httpd.conf: Cannot load C:/php/php5apache2.dll into server: \x
8ew\x92\xe8\x82\xb3\x82\xea\x82\xbd\x83\x82\x83W\x83\x85\x81[\x83\x8b\x82\xaa\x8
c\xa9\x82\xc2\x82\xa9\x82\xe8\x82\xdc\x82\xb9\x82\xf1\x81B
Note the errors or messages above, and press the <ESC> key to exit. 27...
C:/php/php5apache2.dllはあるのにこう言われます
何故ですか
0095nobodyさん
2007/05/14(月) 01:15:34ID:w1xXl1JO0096nobodyさん
2007/05/14(月) 01:16:34ID:dsmo737wエラーメッセージ答えてもエラー内容わからないと解決しなくね?
0099nobodyさん
2007/05/14(月) 01:22:01ID:???apache2,2用のdllを呼んでからでなおしてこいやボンクラ
0100nobodyさん
2007/05/14(月) 01:23:47ID:???0101nobodyさん
2007/05/14(月) 01:37:31ID:Rgccl4HD$str2 = "/BBB/CCC/DDD";
から共通部分の"/BBB/CCC"だけを抜き取るにはどうしたらいいの?
0102nobodyさん
2007/05/14(月) 01:40:52ID:???0103nobodyさん
2007/05/14(月) 01:53:13ID:w1xXl1JOどうもありがとう
おかげでエラーは出なくなりました
でもまだテスト用のスクリプト動かすとエラーが出ます
たとえば
<? phpinfo() ?>
だけのphpファイルを開くと
Parse error: syntax error, unexpected '@' in C:\Pr 略 est\phpinfo.php on line 2
になります
他のスクリプトの内容でも同じエラーです
質問厨ですいません
0104nobodyさん
2007/05/14(月) 01:56:07ID:???0105nobodyさん
2007/05/14(月) 01:57:06ID:w1xXl1JOその通りでした
ありがとうございました
0106nobodyさん
2007/05/14(月) 02:01:42ID:???0107nobodyさん
2007/05/14(月) 02:02:37ID:???0108nobodyさん
2007/05/14(月) 02:06:24ID:???0109nobodyさん
2007/05/14(月) 02:07:51ID:???0110nobodyさん
2007/05/14(月) 02:17:09ID:???確かにそれはそうだ。
でも出来るけどやらないのと出来ないからやらないでは
全然意味合いが違ってくると思うんだ。
0113101
2007/05/14(月) 03:04:28ID:Rgccl4HD$str2 = "/BBB/CCC/DDD";
$temp = end(explode("/", $str1));
$pattern = "`^(.*{$temp})`";
preg_match($pattern, $str2, $match);
echo $match[1];
自分で書いたのはこんな感じなんだけどなんかたまたま動いてるだけな気がするんです
"/"で分割したから$str1が"/"で終わっちゃうと当然思い通りには動作しないし。
$str1はファイルの絶対パス、すなわち"/"で終わらないって条件下ならこれでいいのかな
やりたいことをうまく説明できてなくてすまん
0114nobodyさん
2007/05/14(月) 03:24:35ID:???難しく考えすぎるな。楽をしろ
0115nobodyさん
2007/05/14(月) 05:38:18ID:Qx50SkdAそこで、停止している10秒間に、10、9、8、7、、、と
カウントダウンを表示させたいのですが、どのように記述すれば
良いでしょうか
0116nobodyさん
2007/05/14(月) 05:54:14ID:???CLIならループで。
Webならクライアント側のJavaScriptで。
必要ならばセッション張って。
それ以前に仕様を見直したほうが無難。
0117nobodyさん
2007/05/14(月) 06:46:28ID:Qx50SkdAWEBでやりたいと思ってます
なるほど。JavaScriptかぁ・・・
例えば、10秒のGifアニメを張るとかもアリでしょうか?
>それ以前に仕様を見直したほうが無難。
どういう点がマズイ仕様でしょうか
0118nobodyさん
2007/05/14(月) 07:11:02ID:???・・・・・・。
0120nobodyさん
2007/05/14(月) 09:06:46ID:???サーバー資源を10秒も食いっぱなしにすんなよ。
JavaScriptで10秒timerかけて、10秒後にサーバーに再アクセス、が妥当じゃないの?
GIFアニメの再生速度はマシンパワーに依存するから「10秒の」ってのは作れないと思う。
これもJavaScriptで1秒間隔で別の画像に次々切り替えるとかにすれば。
0121nobodyさん
2007/05/14(月) 09:36:02ID:???<script type="text/javascript">
onload = function () {
var counter = document.getElementById("counter");
var n = 10;
(function () {
counter.innerHTML = n;
if (n-- > 0) setTimeout(arguments.callee, 1000);
else counter.innerHTML = "ぬるぽ";
})();
}
</script>
<span id="counter"></span>
0122nobodyさん
2007/05/14(月) 11:35:48ID:dsmo737wタイトルが見ることができません。
何かタイトルを見る方法はないのでしょうか?
あと、メールアドレスが偽装で送られてきた場合は、
この関数ではそれを見破る(?)ことはできるのでしょうか?
0124nobodyさん
2007/05/14(月) 11:56:04ID:dsmo737w@メールのタイトルを取得する方法
Aメールアドレスが偽装されている部分はどうなるの?
です
0125nobodyさん
2007/05/14(月) 12:06:16ID:???1. ヘッダを取得する関数があるような気はしませんか。
2. ヘッダを取得する関数があるような気はしませんか。
何を以って偽装とするのかわかんないけど
複数プロバと契約しててSMTP1つで片づけてる人も「偽装」?
0126nobodyさん
2007/05/14(月) 12:08:59ID:dsmo737wあー
mb_send_mailなのでヘッダーで自分のメールアドレスを指定してたりすると偽装?
わっかんねwwwwww
headerに
[subject] => =?ISO-2022-JP?B?GyRCJCokUiQ1IXkbKEI=?=
ってりましたが、これですか、どもです
こんな形の文字化け初めてみました
0127nobodyさん
2007/05/14(月) 12:29:35ID:???発信元サーバー情報は取得できるよ。
0128nobodyさん
2007/05/14(月) 12:44:30ID:dsmo737wmessage_idの項目のことですかね?
=?ISO-2022-JP?B?GyRCJCokUiQ1IXkbKEI=?=
↑文字化けしてますけど、どうやって戻すのでしょう?
mb_convert_encoding($str, "utf-8","iso-2022-jp")
mb_convert_encoding($str, "utf-8","auto")
試しましたが元に戻りません・・・
0129nobodyさん
2007/05/14(月) 12:50:43ID:???0130nobodyさん
2007/05/14(月) 12:51:48ID:dsmo737w落ち着け
下のは新しい質問だ
0131nobodyさん
2007/05/14(月) 12:57:58ID:???mb_decode_mimeheader
ていうかそんなのも分からずメール関連やろうなんて無謀だから諦めた方が…
まずはメールのプロトコルとかヘッダーとか理解したほうがいいよ
0133nobodyさん
2007/05/14(月) 13:09:19ID:dsmo737wなるほど!urlencodeみたいなものですね
0134nobodyさん
2007/05/14(月) 13:27:38ID:fBoB1LaJ最初にif文で$_GETで受け取るべき値があれば受け取り変数$nameに入れるとします。受け取る値がない場合はもちろん受け取りません。
そしてTEXTBOX(<input type="text">)に$_GETで得た値をデフォルトで入れます。$_GETで受け取らない場合は
textboxはデフォルトでは空白です。
それを実現するには、
本によると<input type="text" value="<? echo $name; ?>">となっています。
最初のif文では
if(isset($_GET)) {
$name=$_GET;
}
としています。要するに$_GETが空白の場合は$nameは使用しません。
その場合、<input type="text" value="<? echo $name; ?>">での$name使用は
エラーにならないんですか?C言語だといきなり今まで使用していない変数(値も代入されていない)を使うとエラーになるんですが。。
PHPでは、エラーもなく通るんですか?
たしか、なにかの本ではこのような状況のとき、厳密にはエラーになるときもあるとかいてありました。
0136134
2007/05/14(月) 13:35:37ID:fBoB1LaJどうもありがとうございます。中身がない場合は空のデータなんですね。
ということは<input type="text" value="">となるんですね。
ありがとうございました。
0137nobodyさん
2007/05/14(月) 13:37:29ID:???$name = "value=\"".$_GET."\"";
<input type="text"<? echo $name; ?>>
にすればいいかもしれんね
0138nobodyさん
2007/05/14(月) 13:50:25ID:???$array[0]['type']
で見れるけど
simplexmlloadだと、
配列の中身見るとき$xml->type;だよね
0139虚弱PHP
2007/05/14(月) 13:56:21ID:???質問は↓でいいのかな?
> C言語だといきなり今まで使用していない変数(値も代入されていない)を使うとエラーになるんですが。。
> PHPでは、エラーもなく通るんですか?
そういうもんです。
スクリプト系の言語ではわりと普通のことだと思います。
NOTICEも表示するようにしとけば、NOTICEは起きると思いますよ。
0141nobodyさん
2007/05/14(月) 14:33:07ID:???0142nobodyさん
2007/05/14(月) 14:38:16ID:???というif文があるんですが、$valueが'flg'という文字列でも上記のif文がtrueになるのはなぜですか?
$ret[] = $value['table'] . '.' . $key;
という文がそのif文の中にはあるんですが、この部分の返り値が"f.hoge"となってます。
0143142
2007/05/14(月) 14:44:08ID:L2qcEQSyあと、たまに同じ値を比べてもFALSEな時があるんですが、
それもforeachブロック内です。
===で比べないとTRUEになりません。
なんかあるんでしょうか。
0144nobodyさん
2007/05/14(月) 14:51:14ID:???代入する場合は存在していなくても問題ない。
参照する場合は存在していないとNOTICEエラーが発生する。
(Undefined〜系、エラーレベルE_ALLじゃないと出ない。値的にはnullが返る。
それはそうとその通りだと$_GETは常にセットされてるし、配列なんだけど写しミス?
>>142
文字列型も配列型のように角括弧でバイト単位でアクセス出来る為。
ただしオフセットは数字以外は[0]と見なされて1byte目を参照することになる。
そのfはflgの先頭文字。
0145nobodyさん
2007/05/14(月) 15:16:58ID:???0146nobodyさん
2007/05/14(月) 15:21:02ID:???登録しないで視聴した場合、それなりの料金はIPから調査されてちゃんと後日請求されます
0147nobodyさん
2007/05/14(月) 16:09:05ID:k9XxZtyZどういうケースで使うのでしょうか?
カウンターでカウントするときに使用するぐらいはわかるのですが、
ブロック内が終わっても値を保持し続けるといっても、
具体的にどういうケースで使えばいいのかいまいち理解できません。
どういう所で使うのか、具体的なケースをいくつかあげていただけませんでしょうか?
0148nobodyさん
2007/05/14(月) 16:16:40ID:???0149nobodyさん
2007/05/14(月) 16:17:37ID:???0152nobodyさん
2007/05/14(月) 16:35:11ID:k9XxZtyZそうですか。
いくつか例をあげていただければ、共通項が見出せると思ったのですが、
頻繁に使うことはないとのことなので気にしないことにします。
0153nobodyさん
2007/05/14(月) 16:45:23ID:???他は特に使わないと困るって所があまり無い気がする。
0154nobodyさん
2007/05/14(月) 16:47:02ID:???楽して勉強しようとするな
0155nobodyさん
2007/05/14(月) 16:48:14ID:???0156nobodyさん
2007/05/14(月) 16:58:26ID:???そういう俺ルールを作るなボケ。
くだらねぇ質問ならなんでもいいんだよカス。
ていうかこの時間の回答者は煽ることしかできない低レベルな馬鹿ばっかりだな。
俺も含めて。
0157nobodyさん
2007/05/14(月) 17:00:26ID:???0158nobodyさん
2007/05/14(月) 17:08:22ID:???0159nobodyさん
2007/05/14(月) 17:09:21ID:byqD8Lza定数を定義するときは、constを使えばいいのでしょうか?
// メソッドのみにしか使えないとエラー
public static final $CONSTANT = "CONSTANT";
// これでいいのかな?
const CONSTANT = "CONSTANT";
0161nobodyさん
2007/05/14(月) 17:34:13ID:Gq/W6/hfhoge2の中には、inc.phpというファイルがあり、
main.phpから、inc.phpを呼び出しています。
そこで、main.phpから、inc.phpが置かれている、「hoge2」という値を取得したいんですが、どうしたらいいんでしょうか?
よろしくおねがいします。
0162161
2007/05/14(月) 17:36:08ID:Gq/W6/hf上の書き込みの、3行目、
X main.phpから、inc.phpを呼び出しています。
O inc.phpからmain.phpを呼び出しています。
ファイル名が逆のままですが、よろしくです。
0163nobodyさん
2007/05/14(月) 17:42:51ID:???0164nobodyさん
2007/05/14(月) 17:50:21ID:Gq/W6/hfどうもありがとうございます。
/php/hoge2 って感じで出力されるんですが、hoge2だけ(自分のいるディレクトリ名だけ)を取得したい場合の関数ってあります?
それとも、これを正規表現なりでいじって取るしかないんでしょうか。
何度もすいません。よろしくおねがいします。
0166nobodyさん
2007/05/14(月) 18:01:29ID:xEs1nUuBhttp://pc11.2ch.net/test/read.cgi/php/1168450843/86-
でpreg_replaceに関して質問していましたが話題が正規表現からズレてきましたので
こちらで質問させてください。
----------------------------------------------------------
90 :86:2007/05/14(月) 15:45:03 ID:???
後方置換する時に関数かましたくマニュアル眺めてたら「e修飾子」をみつけたのですが
>>87の「S修飾子」と同時に使おうと
$pattern = "/(.*?)<html_start>(.*)<html_end>(.*?)/se";
$replacement = "'\\2''\\1''\\3'";
こんなコードを書いてみた所
Parse error: syntax error, unexpected T_CONSTANT_ENCAPSED_STRING
Failed evaluating code:
といった感じで怒られます
修飾子2個は同時に使えないのでしょうか…?
----------------------------------------------------------
以上ですがまとめますと
「preg_replaceの修飾子を2個指定したい(eとs)時の正しい書式」
を教えてくださいまし。
0167nobodyさん
2007/05/14(月) 18:03:15ID:???0168nobodyさん
2007/05/14(月) 18:03:16ID:byqD8Lzaわからないなら答えなくていいですよ。
やはりPHPはユーザレベルも低いですね。
失望しました。
0169nobodyさん
2007/05/14(月) 18:04:09ID:???くだらない質問でもど偉そうに聞いていいスレ
http://pc11.2ch.net/test/read.cgi/php/1158647441/
0170nobodyさん
2007/05/14(月) 18:05:03ID:Gq/W6/hfありがとうございます。解決しました!
ところで、もう1個疑問があるのですが、
a.phpでdefine("OUT", "out.html")と定義して、./hoge/b.phpをrequireで呼び出したとき、
b.phpでOUTに出力すると、b.phpのディレクトリにファイルができるのか、a.phpにファイルができるのか、よくわかりません。
今自分で、試してみると、a.phpのディレクトリに出力されたんですけど、
b.phpのディレクトリ上でout.htmlとして書き込んでいるのに、なぜ、a.phpのディレクトリにできちゃうんでしょうか?
requireの挙動がよく理解できない・・・。
0171nobodyさん
2007/05/14(月) 18:08:37ID:byqD8Lzaまさに私にぴったりですね。
でも過疎ってるので遠慮しときます。
本当に>>160みたいな害虫は死ねばいいのに。
答えられないけど何かいいたいやつの決まり文句は、
「マニュアル見れ」だよね。
0172nobodyさん
2007/05/14(月) 18:15:15ID:???GD2で、tiff画像を読み込みたいのですが、マニュアルにimagecreatefromtiffが見当たりません。
何かほかに方法はありますが?
0175172
2007/05/14(月) 18:17:51ID:N76OGPmpIDが出てませんでした。
ちなみに、海外サイトで次のような例があったのですが、動きませんでした。
$bild="einbildeben.tif";
Header("content-type: image/tiff");
$im = @readfile($bild);
return $im;
0176nobodyさん
2007/05/14(月) 18:20:45ID:N76OGPmpたびたびすみません。入れ違いでした。
環境は、OSX+MAMPで、PHPは5.16です。
0177nobodyさん
2007/05/14(月) 18:26:00ID:???0178nobodyさん
2007/05/14(月) 18:30:57ID:Gq/W6/hf0179nobodyさん
2007/05/14(月) 18:34:06ID:???$replacement が間違っていないか?
$replacement = "'\\2' . '\\1' . '\\3'";
じゃないの
0180166
2007/05/14(月) 18:40:16ID:???仰せの通り、
$replacement = "'\\2'.nl2br('\\1').'\\3'";
で通りました!
nl2brで囲んだ\\1がクオートで囲まれていなかったのが原因、というオチでした。
(・∀・)アリガd
0181nobodyさん
2007/05/14(月) 18:50:11ID:???もう少し落ち着け
// b.php
function b_write() {
// ファイル書き込む処理
}
// a.php
require('b.php');
define("OUT", "out.html");
b_write(OUT);
で、a.php のスクリプトをブラウザから動かしたってこと?
out.html は相対パス指定になっているから
スクリプトの実行されているカレントディレクトリを基本にして
パスを生成するのだから、当然
a.php があるディレクトリ + out.html という風に解釈
される
もしこうなら require の問題ではないぞ
0183nobodyさん
2007/05/14(月) 18:54:45ID:???requireは対象を実行させるわけじゃなく、対象を自分に組み込んで実行するから。
>>171
160じゃないがそのレベルじゃ解らないも何も無いだろ…。
オブジェクト定数の項に書いてあるし、
何より自分で答え書いてるんだから試せば終わりだし…。
ああ…釣りですか。
0184nobodyさん
2007/05/14(月) 19:56:37ID:???とやると、hoge2が消えるのは仕様でつか?
0185nobodyさん
2007/05/14(月) 19:59:57ID:???0186nobodyさん
2007/05/14(月) 20:25:56ID:???0187nobodyさん
2007/05/14(月) 20:37:25ID:/zb+oLLW0188nobodyさん
2007/05/14(月) 20:43:07ID:???変数展開が必要かどうかと中身に ' か " を含むかどうか。
どっちでもいい場合は、将来的に変数展開を追加する可能性があるかどうか。
もっぱら、配列キーの場合は ' で、それ以外は " にすることが多い。
0190nobodyさん
2007/05/14(月) 21:32:30ID:???0191nobodyさん
2007/05/14(月) 21:40:43ID:???0192nobodyさん
2007/05/14(月) 21:41:33ID:???0193nobodyさん
2007/05/14(月) 21:56:56ID:???変数の中身を表示したいときだけ→'
0194nobodyさん
2007/05/14(月) 21:59:31ID:???かといって''."\".''とかだと余計おかしいし。
ということで、最近は全部""でやってる。
0195nobodyさん
2007/05/14(月) 22:05:26ID:dsmo737wecho "";
?>
とすると、ソースで
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML><HEAD>
<META http-equiv=Content-Type content="text/html; charset=shift_jis"></HEAD>
<BODY></BODY></HTML>
と表示されるんだけど
これを消す関数のようなものありませんでしたっけ?
0196nobodyさん
2007/05/14(月) 22:13:26ID:???>エスケープするときだけ"\"で、他は''だと統一性があまりないよね。
統一性はあるだろ。統一性というのが変なら規則性はあるだろ。
0198nobodyさん
2007/05/14(月) 22:23:59ID:dsmo737wサンクス!
0199nobodyさん
2007/05/14(月) 22:26:38ID:???彡 ノW \从/V W \ ミ
( ノ | ノ \)
∩V 、、 | >V7
(eLL/ ̄ ̄\/ L/ ̄ ̄\┘/3)
(┗( )⌒( )┛/
~| \__/ | \__/ |~ / ̄ ̄ ̄ ̄ ̄ ̄
爻 < | ; 爻 < 君たち、どんどん質問をぶつけてくれたまえ23時までなら私がすべてに答えてしんぜよう
~爻 \_/ _, 爻~ \______
~爻__/⌒ ̄ ̄ ̄~~ヽ_ 爻~
/ ー ̄ ̄\_ ̄\
_一‘ < ̄ ̄\\\J
<\ ー ̄ ̄ヽ_ヽJ  ̄\_
\ _ニニニヽ ) ~\
\ _/⌒|\ ヽ_~~ ~⌒\_
__/~ V \_| ~\_
0200nobodyさん
2007/05/14(月) 22:28:31ID:dsmo737wPEAR使ったことないんだけどどうやって使うの?
0202nobodyさん
2007/05/14(月) 22:36:27ID:tsqMY0Kqif文にbreakを書いても抜け出せませんでした。
breakでは抜け出せないのでしょうか?
どなたかご教授お願いいたします。
for ($i=0; $i<5; $i++) {
if ($i == 3) {
$nissuu = $i;
break;
}
}
0204nobodyさん
2007/05/14(月) 22:38:44ID:???それはむずかしい質問だ。pearは楽をするために使うものである。
>>201
/ || :ヽ
┌|(⌒ヽ :|| ..:⌒: |┐ / ̄ ̄ ̄ ̄ ̄ ̄ ̄
|::|::ヽ.__:):||(___ノ ::|::| │
|:|: .. :|| .. |:| │
:|: .. || ..|| < 日本語でおk
:\ [_ ̄] /::| │
:: |\|_|_|_|_/:::| \________
__| | / / :|___
0205nobodyさん
2007/05/14(月) 22:44:07ID:???別の問題では?
$nissuu = 0;
for ($i=0; $i<5; $i++) {
if ($i == 3) {
$nissuu = $i;
break;
}
}
print_r($nissuu); // 3
0207nobodyさん
2007/05/14(月) 23:14:34ID:tsqMY0Kq0208nobodyさん
2007/05/14(月) 23:36:25ID:???0209nobodyさん
2007/05/14(月) 23:48:47ID:dsmo737wfunction a(){
echo "a";
}
function b(){
$this->a();
}
}
x::b();
こうすると
Using $this when not in object context
というエラーが返ってきました。
b()からa()を呼び出すのはどうすれば良いのでしょうか?
0210nobodyさん
2007/05/14(月) 23:53:26ID:???0211nobodyさん
2007/05/14(月) 23:55:11ID:dsmo737w$obj = new x();
$obj->b();
で解決しました
0212nobodyさん
2007/05/15(火) 00:14:53ID:???0215nobodyさん
2007/05/15(火) 00:25:49ID:???0216nobodyさん
2007/05/15(火) 00:28:01ID:b/094IjkOrder deny,allow
Deny from All
と記述しているのに、アクセスできてしまいます。
httpd.confも
AccessFileName .htaccess
と指定しています。
なぜでしょう?
0217nobodyさん
2007/05/15(火) 00:33:53ID:zmGOBMeaempty($array)でいい?
0218nobodyさん
2007/05/15(火) 00:41:34ID:???0219nobodyさん
2007/05/15(火) 00:45:38ID:???それだと$arrayが0や""や"0"やNULLの場合も真が返る。
$arrayが空の配列の時のみ真にしたいなら
$array === array()
0221nobodyさん
2007/05/15(火) 00:51:05ID:???これもPHP的に空であるのでemptyが正解
0222nobodyさん
2007/05/15(火) 00:54:17ID:???0223nobodyさん
2007/05/15(火) 01:05:17ID:???http.confのディレクトリセクションのAllowoverrideディレクティブにLimitキーワードが指定されてるかどうか
確かめなさい。しかし、スレ違いだから返事はよろしい。
0225nobodyさん
2007/05/15(火) 01:16:58ID:???0226187
2007/05/15(火) 01:27:16ID:VFvSiaRRありがとうございます
0227nobodyさん
2007/05/15(火) 08:22:03ID:????/∵∴∵∴\?
?/∵∴∵∴∵∴\?
/∵∴∴,(・)(・)∴|?
|∵∵/ ?○ \|?
|∵?/ 三 | 三 | / ̄ ̄ ̄ ̄ ̄?
|∵?| __|__? | < てめえらさっさと起きろ!!?
?\| \_/ / \_____?
? ? ?\____/?
0228nobodyさん
2007/05/15(火) 10:09:00ID:7hthTDm5すいません、もう少し詳しく書きます。
アクセスしたファイル:index.php
index.php内でファイル名などを設定している。
(define("OUT", "out.html");)
index.phpが上のディレクトリにある、main.phpを呼び出す(require("../main.php");)。
main.phpから、同じディレクトリにあるwrite.phpを呼び出す。
main.phpから、write.phpにある、書き込み処理の関数を実行する。 write_hoge();
そうすると、index.phpがあるディレクトリにファイルができあがるんですが、
write.phpで、書き込み処理を行ってるので、write.phpがあるディレクトリにできあがると予想したんですが、
なぜ、こうなったんでしょうか?
write.phpにとってOUTとは、自分のディレクトリのout.htmlになりますよね?
それとも、書き込み処理をするファイルの位置は関係なく、定義したファイルの位置からのOUTと解釈されるんでしょうか?
0229nobodyさん
2007/05/15(火) 10:39:30ID:???requireやincludeは指定したファイルの内容を
埋め込むものと考えればいい
その場合main.phpやwreite.phpの内容は
index.phpに「埋め込まれる」ので
OUTに書き込む場合の相対パスは
main.phpやwreite.phpのパスに影響されない
0230nobodyさん
2007/05/15(火) 10:48:11ID:8bGiD1y7WinにXAMPPをインストールしようと思っておりますが、
常時ネットにも接続するためセキュリティーが不安です。
標準のProgram Files\XAMPP か
C:XAMPP か
それとも他のドライブに入れた方が良いのですかね?
ファイアウォールと.htaccessで拒否すれば、そこまで深く考える必要はないのでしょうか?
みなさん、どうしてますか?
0231nobodyさん
2007/05/15(火) 10:57:53ID:sdtp9zq7定数があればいいんだけどね。残念ながらない。
0234nobodyさん
2007/05/15(火) 11:32:57ID:???limit 0,1付けた方がいいですかね?
暗黙的に1つに限定されているから、パースのコストの方が高くつく?
0235nobodyさん
2007/05/15(火) 11:38:12ID:???気にするな
0236nobodyさん
2007/05/15(火) 11:53:31ID:b/094Ijk行
[1] 適当なデータ
[2] わかんない><;
[3] 123456789
[4] ABCDEFG
[5] こんにちは
[6] example.com
[7] Hoge Hoge
[8] Hello world
こういうデータで、
特定の行のみ削除する方法はないでしょうか?
一度、fileで展開してその行を削除し、書き換えるようなやり方ではなく、
行を削除するだけというのはできませんか?
0238nobodyさん
2007/05/15(火) 11:57:19ID:b/094Ijkサンクス
0239nobodyさん
2007/05/15(火) 11:57:29ID:???行の幅が固定長ならできるんだがな。
あとはfseekとかで、書き換える行以降のみを変更するってことならできなくもなさそうだ。
0240nobodyさん
2007/05/15(火) 12:30:07ID:???富豪プログラミングしようぜ。
0242nobodyさん
2007/05/15(火) 12:36:05ID:i5vBSj25コスト的にもね
0243nobodyさん
2007/05/15(火) 12:36:24ID:???0244nobodyさん
2007/05/15(火) 12:37:47ID:???0245nobodyさん
2007/05/15(火) 12:44:13ID:???0246nobodyさん
2007/05/15(火) 12:45:11ID:???0247nobodyさん
2007/05/15(火) 13:00:36ID:???>>245-246が言いたい事言ってくれてるよ。
DELETEをする事によって起こるコストとバグあった時の危険度を考えると
DELETEをむやみに流すってのはどうかと思うんだ
0248nobodyさん
2007/05/15(火) 14:08:20ID:b/094Ijk皆どんなソフトでやってます?
classとfunction増えすぎてファイルがわけわかんなくなってきたwww
0249nobodyさん
2007/05/15(火) 14:23:21ID:???0250nobodyさん
2007/05/15(火) 14:25:33ID:b/094Ijkサンクス
とりあえずPHPエディタをダウソしてみたところ、
クラスやfunctionが管理できそうなので、
これを使ってみようと思います。
(各クラス、functionにコメントをつけることができればベストなんですが・・・)
0251nobodyさん
2007/05/15(火) 14:26:43ID:???そうすると、わかんなくならないようにするために、設計に力が入るようになる。
0253nobodyさん
2007/05/15(火) 14:58:04ID:b/094Ijkとりあえず
class XXX {
/****************
説明
****************/
}
こんな感じでは書いてる
エディタの左にクラスとメソッドがツリー式に表示されてるんだが、
それにカーソル合わせると、その説明が出るとかだとうれしいなwwww
0256nobodyさん
2007/05/15(火) 16:17:09ID:7hthTDm5何もしてないのに、<や>がエスケープされる・・・。なぜ?
0257nobodyさん
2007/05/15(火) 16:22:05ID:???0258nobodyさん
2007/05/15(火) 16:37:28ID:6TG+QTaBはじくスクリプトを書いてるのですが$をはじく
if(eregi("$",$keyword)){
return false;
}else{
return true;
}
と\をはじく
if(eregi("\\",$keyword)){
return false;
}else{
return true;
}
だけが正しく機能してくれません。
正規表現などでググったのですが、これらを認識させる方法を
明記されてるところが無くほとほと困ってます。
osはfreeBSD、phpのバージョンは4.4.6です(レンタルサーバ)
0260nobodyさん
2007/05/15(火) 16:54:35ID:???エスケープ特殊文字であるバックスラッシュは、エスケープのエスケープしろ。
\\\\じゃないとなぜ駄目なのかを考えてみよう。
なお「半角文字」なんていう言葉は変だから使うの辞めようね。
0263258
2007/05/15(火) 17:22:25ID:6TG+QTaB落ちてるのかと思い、再度「php 質問」で2ch内検索しなおして出てきた
あちらのスレに書きなおしたつもりだったのですがマルチになってたようですね。
ちなみに>>261は赤の他人です、気分を悪くする流れにしてしまい申し訳ありませんでした。
>>260 \$で試してみたところ、やはりうまくいきませんでした。
ちなみに、$が入っていようが無かろうが
if(eregi("\$",$keyword)){
return false;
}
のところで必ず引っかかりfalseを返してしまうようです。
0265nobodyさん
2007/05/15(火) 17:26:27ID:???return false;
}
メタ文字エスケープする時に\$とか\\とかじゃだめだってばさ。
0266nobodyさん
2007/05/15(火) 17:31:26ID:???要件的に正規表現を使わなくてもよさそうな気がする。
0267nobodyさん
2007/05/15(火) 17:31:34ID:6TG+QTaB今試してみたところうまくいきました。
\\\\じゃ無いとダメなのかはもう少し詳しく調べてみようと思います。
くだらない質問を光の速さで回答していただきありがとうございました。
あと、半角文字という言葉の使用は以後注意して使わないようにもします。
ありがとうございました。
0268258
2007/05/15(火) 17:35:25ID:6TG+QTaB色々ミスってスイマセンでした、訂正しておきます。
>>266 ほかにも色々ある正規表現のテストと
ゆくゆくは[a-z]なども使う事があるかと思い
試している途中で詰まった事なのです。
0269nobodyさん
2007/05/15(火) 18:14:44ID:???0270nobodyさん
2007/05/15(火) 18:15:41ID:???0271258
2007/05/15(火) 18:32:31ID:AwqtLTCzなにがどう書かれているのか理解する事もできませんでした。
PHPも中々置くが深いんですね、>>269が理解できるよう
さらに深く学んで生きたいと思います。ありがとうございます。
0272nobodyさん
2007/05/15(火) 18:42:17ID:???0273nobodyさん
2007/05/15(火) 18:56:42ID:???0274nobodyさん
2007/05/15(火) 19:00:24ID:???だったらやめたほうがいいよ
0275nobodyさん
2007/05/15(火) 19:37:30ID:???可読性がない自己満足な書き方をするのは誉められたものじゃない。
0276nobodyさん
2007/05/15(火) 19:54:26ID:???0277nobodyさん
2007/05/15(火) 20:49:07ID:Fy2AtB8k0278nobodyさん
2007/05/15(火) 21:28:28ID:???0279nobodyさん
2007/05/15(火) 21:52:35ID:???だと俺も思う。
一行プログラムがポイントではなくて、
strposの返り値を理解して、三項演算子でFALSEチェックするというのは正統派じゃん。
0280nobodyさん
2007/05/15(火) 22:04:24ID:???0281nobodyさん
2007/05/15(火) 22:06:33ID:FHaxfx0y変数間でコピーしても必ず参照としてコピーされますか?
丸々コピーされてメモリ大量消費されたりしませんか?
0282nobodyさん
2007/05/15(火) 22:10:02ID:???まあお好みだけど、そのヒネクレ口調だけはやめたほうがいいな。
仕事で嫌われるよ。能力ないのに嫌われたら困るだろお前も
0284nobodyさん
2007/05/15(火) 22:38:40ID:UJ71PYY7ほとんどの場合は接続IDだからコピーされても
無視できるだろう
ただし、pear::DB とか PDO のインターフェースは
結構でかい
0288nobodyさん
2007/05/15(火) 22:52:10ID:GtGfJ8qNさくっとかっこいいやり方ってありますか?
0289nobodyさん
2007/05/15(火) 22:56:21ID:???0290nobodyさん
2007/05/15(火) 23:00:29ID:???select name,phone from shain where shain_id = 'foo';
call phone;
get appointment;
if(define('appointment') && appointment == TRUE )
{
return 'SUCCESS';
} else {
return FALSE;
}
0291nobodyさん
2007/05/16(水) 00:39:57ID:???休み時間は?
仮に休み時間が1時間としても、
退出時間−出勤時間−1
としてはいけない。半休とか使う場合があるからだ。
だから単純な方法は無い。
0292nobodyさん
2007/05/16(水) 00:53:26ID:???0295nobodyさん
2007/05/16(水) 01:16:31ID:???0296nobodyさん
2007/05/16(水) 01:17:33ID:???^^^^^^^^
0297nobodyさん
2007/05/16(水) 01:28:05ID:PGjb3KVb(管理者以外の他の登録者からは見えないようにしたい)
ちなみに、管理者を$site_admin、 登録者本人を$user_owninfoとして、
管理者のみだと、
<{if $site_admin == true}>
中身
<{/if}>
で上手く行くんですが、そこに登録者本人をプラスして、
<{if $site_admin == true && $user_owninfo == true}>
中身
<{/if}>
としてみると結局$site_admin == trueの部分しか機能していません。
どうかお知恵をお貸しください。
0298nobodyさん
2007/05/16(水) 01:29:45ID:???0299nobodyさん
2007/05/16(水) 01:30:02ID:???0300nobodyさん
2007/05/16(水) 02:12:16ID:???0301nobodyさん
2007/05/16(水) 02:33:19ID:ceM6XUKn読み込むときに複合化しなきゃダメなのかな?
知り合いに自分の作ったやつあげるときに、そのclass.incの中身見られたくないのよ
0302297
2007/05/16(水) 02:33:43ID:PGjb3KVb単純な間違いでした。
お騒がせしました。
0303nobodyさん
2007/05/16(水) 02:34:46ID:QKxTyLUDmysqliの関数を実行する時に、
prepareステートメントとか bind_param()とか execute()を使う場合と
使わない場合で、どのような違いがあるんですか?
こんな場合は使ったほうがいい、ってのありますか?
参考にしている本を見ると、リストDBに「人名」「自己紹介」「HPのurl」を
追加するのに使っていますが、この程度なら普通にやっても同じでは?
という気がします
0304nobodyさん
2007/05/16(水) 02:40:07ID:???PHPスクリプトを暗号化するソフトなら安いので1万円出してお釣がきますので探してください。
あとは高いのでZendにもでてますよ
0305nobodyさん
2007/05/16(水) 02:42:10ID:ceM6XUKnサンクス
無料で何かあるかと思ってた俺哀れorz
PHPって実行時にコンパイルするけど、
あらかじめコンパイルしておけば実行するとき早くね?wwwww
0306nobodyさん
2007/05/16(水) 02:47:49ID:???0307nobodyさん
2007/05/16(水) 02:49:27ID:ceM6XUKnいや、そっちのほうが早いかなって思っただけ
0308nobodyさん
2007/05/16(水) 02:51:22ID:???端的に言えば異なるパラメータを用いて複数回実行するようなSQL文で使うとパフォーマンスがあがるってところかな。(キャッシュが働く
あとはパラメータの自動クォートでユーザー入力からのSQLインジェクション対策とか。
具体的にはID指定して何度もSELECTする様なのとか、ユーザー入力を条件に使うSELECTとか、INSERT全般とか。
0310nobodyさん
2007/05/16(水) 03:26:08ID:???ありがとうございます
アドバイスを読んでると、かなりありがたい機能ですね
じゃ、もうprepareステートメントを使うやり方を徹底しても問題ないですかね。
普通のやり方のほうがかえって好都合ってのはないですよね?
0311nobodyさん
2007/05/16(水) 03:33:40ID:???0313nobodyさん
2007/05/16(水) 04:16:02ID:???for ($i = 1; $i <= 100; $i++) {
echo $calc;
}
こうやった場合って、100回計算が実行されるのか、
すでに計算が終わったものを100回出力しているのか、
どちらなのでしょうか?
0314nobodyさん
2007/05/16(水) 04:17:25ID:???0315313
2007/05/16(水) 04:19:56ID:9TTx9/gy0316nobodyさん
2007/05/16(水) 04:22:59ID:???ふほ?
http://www.php.net/manual/ja/language.expressions.php
0317nobodyさん
2007/05/16(水) 04:23:42ID:???0318nobodyさん
2007/05/16(水) 04:26:26ID:???0319313
2007/05/16(水) 04:27:47ID:9TTx9/gyすみません。日本語がおかしかったです・・・
>>317
どうもエスパーな質問にお答えいただきありがとうございます。
ということは100回計算してベンチをとるといったことをするには、
別の書き方をしないとならないわけですね。
0321nobodyさん
2007/05/16(水) 04:55:24ID:???0322313
2007/05/16(水) 07:12:33ID:9TTx9/gyレスありがとうございます。
>大丈夫か?変数に入ってる値は計算されたあとの値だぞ
常識といわれるかもしれませんが、
こういうことは今まであまり意識したことがなかったので、
基礎プログラム力に欠けてるのかもしれません。
サンプルいじりながら勉強したのがまずかったかなぁorz
いろいろ基礎から勉強しなおしたいと思います。
0324nobodyさん
2007/05/16(水) 07:40:47ID:???これ嘘だよね?
$result = mysql_query('select * from table');
$result1 = $result;
ってやってもid受け渡しされるだけでしょ
こんなので丸々コピーされてたらえらいことになる
0325nobodyさん
2007/05/16(水) 08:02:38ID:???※たまには質問者も回答者になりたいんです
※長い目で見てやってください
^ o^
0326nobodyさん
2007/05/16(水) 08:53:56ID:ygtreCsOのように、関数名に!をつけてfalseを得たいのですが
この書き方が通用しない関数はありますか?
0327nobodyさん
2007/05/16(水) 09:14:03ID:???無いんじゃない?
>>322
誰だって初めは分からんよ。
プログラム力がある人って何だ。生まれたときからプログラムの仕組みについて把握してる人のことかよ。
皆本やらWebサイトで地道に学んできたんだよ。
ぐちぐち言ってないでいいからリンク先のPHPマニュアルでいいから読めよ。んで理解するよう努力しろ。
意味不明な言い訳してそれすら避けてる奴こそ軽蔑に値するわ。
0328nobodyさん
2007/05/16(水) 09:20:33ID:???Cの入門書かって1ページであきて
そんなおれだけどPHPの公式マニュアルの関数一覧以外のページは一通り通した。
おれにできたことは>>322にもできるよ
0329nobodyさん
2007/05/16(水) 10:31:07ID:s+XLyY4I自分自身のURLを取得するにはどうすればいいですか?
0331nobodyさん
2007/05/16(水) 10:34:43ID:???0332nobodyさん
2007/05/16(水) 10:42:41ID:???ありがとうございます
情報がかなり細切れにされていますが
絶対URLは、これらの値を組み合わせて作るしかないですか?
あとhttpかhttpsかの情報が入ってないようですが
どうすれば分かるのでしょうか
0333nobodyさん
2007/05/16(水) 10:55:35ID:???あとID消さないように
0334nobodyさん
2007/05/16(水) 11:22:37ID:s+XLyY4ISERVER_PROTOCOLというのがありました
ありがとうございました
0335nobodyさん
2007/05/16(水) 11:22:39ID:wGr5bjeW完全に行き詰まってしまったので書き込みさせていただきます
フォームに入力した項目をメールとFAXで受信したいのですが
メールでの受信までは確認できたのですが
FAXでの受信方法が今ひとつわかりません
検索したのですが何やらソフトが必要みたく
それもいっぱいあってどれを使ったらできるのかが
わかりません。
どなたか分かるかたいらっしゃるでしょうか??
ちなにみOSはXPです。
0336nobodyさん
2007/05/16(水) 12:12:14ID:wGr5bjeW完全に行き詰まってしまったので書き込みさせていただきます
フォームに入力した項目をメールとFAXで受信したいのですが
メールでの受信までは確認できたのですが
FAXでの受信方法が今ひとつわかりません
検索したのですが何やらソフトが必要みたく
それもいっぱいあってどれを使ったらできるのかが
わかりません。
どなたか分かるかたいらっしゃるでしょうか??
0337nobodyさん
2007/05/16(水) 12:21:08ID:???0338nobodyさん
2007/05/16(水) 12:24:48ID:???http://pc11.2ch.net/test/read.cgi/hp/1178272099/384
0340nobodyさん
2007/05/16(水) 12:30:22ID:???一体PHPとなんの関係があるのか問い質したい。
0341nobodyさん
2007/05/16(水) 13:25:20ID:???いっぱいあるのなら、どれでも良いじゃないか
フリーのやつだってあるんだから、試してみろ
GUIで文章を設定するようなやつは除外だぞ
0343nobodyさん
2007/05/16(水) 15:25:20ID:qm+GGeYHhttp://pc11.2ch.net/test/read.cgi/php/1169725490/417
制作板でも同じようなの見た希ガス
0346nobodyさん
2007/05/16(水) 16:18:51ID:???http://jp.php.net/manual/ja/reserved.variables.php#reserved.variables.server
マニュアル嫁。
あと質問したいならID出せ。
0347nobodyさん
2007/05/16(水) 17:03:32ID:???マニュアルも糞もないだろ。httpsは結局後付のport番号で判定するしかない。
_SERVER変数にわたる「プロトコール」は、HTTP over SSLでしかない。つまりはHTTPであって
httpsではないんだよ。わかるか?
0348nobodyさん
2007/05/16(水) 17:06:12ID:???> 'HTTPS'
> スクリプトが HTTPS プロトコルを通じて実行されている場合に 空でない値が設定されます。
>
> ISAPI を IIS で使用している場合は、HTTPS プロトコルを通さないでリクエストが行われたときの値は off となることに注意しましょう。
0349nobodyさん
2007/05/16(水) 17:08:28ID:???0350nobodyさん
2007/05/16(水) 17:27:05ID:???これだからマニュアルは読んどかないと。
0351nobodyさん
2007/05/16(水) 18:42:59ID:???0352nobodyさん
2007/05/16(水) 20:41:26ID:xTzSxSz1strstrとかで検索してやるほかになんかありますか?
0353352
2007/05/16(水) 20:42:48ID:xTzSxSz10354nobodyさん
2007/05/16(水) 20:49:05ID:???0355nobodyさん
2007/05/16(水) 20:56:14ID:???0356352
2007/05/16(水) 20:59:27ID:xTzSxSz1正規表現系で処理するしかない?
0357nobodyさん
2007/05/16(水) 21:03:04ID:???0358352
2007/05/16(水) 21:06:25ID:xTzSxSz10359nobodyさん
2007/05/16(水) 21:12:20ID:???0360352
2007/05/16(水) 21:16:13ID:xTzSxSz1ごめん結局rtrimでいいような設計に作り直したので質問終了で。
0361nobodyさん
2007/05/16(水) 21:30:59ID:???0362352
2007/05/16(水) 21:33:13ID:xTzSxSz10363nobodyさん
2007/05/16(水) 21:55:32ID:c3gVMJYw0365nobodyさん
2007/05/16(水) 22:01:19ID:???ペッパーランチは全店臨時休業するべき
0366nobodyさん
2007/05/16(水) 22:16:15ID:QKxTyLUD以下のスクリプトをshowList($cid)に適当な引数をつけて実行してるんですが、
DBに登録してあるデータが print_r($ctgAry)."<br><br>"; print "<br><br>".$ctgAry[0];
ともに帰ってきません。 $ctgAry は対応データ数分の要素を持つ連想配列には
なっているんですが、値が格納されてません。 なぜでしょう? どなたかお願いします。
<?php
class Category{
private $_cid; private $_cname; private $_img;
public function getCid(){return $this->_cid;}
public function getCname(){return $this->_cname;}
public function getImg(){return $this->_img;}
public function setCid($cid){$_cid = $cid;}
public function setCname($cname){$_cname = $cname;}
public function setImg($img){$_img = $img;}
//$cidをparentにもつ(子)カテゴリの一覧を表示
public static function showList($cid){
$ctgAry = array();
$db = new mysqli("localhost","root","pass","php5");
$rs = $db->query("select * from src_category where parent=".$cid);
while(($row = $rs->fetch_array(MYSQLI_ASSOC)) != FALSE){
$ctgObj = new Category;
$ctgObj -> setCid($row['cid']);
$ctgObj -> setCname($row['cname']);
$ctgObj -> setImg($row['img']);
$ctgAry[] = $ctgObj;
}
$db->close;
print_r($ctgAry)."<br><br>";//@
print "<br><br>".$ctgAry[0];//A
}
}
0367nobodyさん
2007/05/16(水) 22:18:48ID:???>対応データ数分
日本語おかしいよ
0368nobodyさん
2007/05/16(水) 22:21:32ID:???$this抜け?
public function setCid($cid){$_cid = $cid;}
public function setCname($cname){$_cname = $cname;}
public function setImg($img){$_img = $img;}
0369nobodyさん
2007/05/16(水) 22:31:26ID:???非常に読みにくい。
showListメソッドの返り値が○○であることを想定しているのですが
××が返ってきます。
$cfgAry配列にキーはセットされていますが値が入っていません。
原因が分からないので教えてください。
でおk。30点。
0370nobodyさん
2007/05/16(水) 22:39:25ID:AwoOmWos記入項目のたくさんある掲示板スクリプトはないでしょうか?
普通は名前、メアド、URL、本文程度ですが、この項目が5つとか6つとか
自由に増やしたりできるようなスクリプトです。
探すと以外になくて困り果てています。どうかお願い致します。
0371nobodyさん
2007/05/16(水) 22:42:25ID:???【CGI】こんなCGI探してますver.22
http://pc11.2ch.net/test/read.cgi/hp/1166794984/2-3
0372366
2007/05/16(水) 22:42:49ID:QKxTyLUD現在 print_r($ctgAry)."<br><br>";//@ の実行結果は以下が返ってきています
Array ( [0] => Category Object ( [_cid:private] => [_cname:private] => [_parent:private] => [_img:private] => )
[1] => Category Object ( [_cid:private] => [_cname:private] => [_parent:private] => [_img:private] => ) )
自分としては、以下のかたちになると思っていたので、なぜ失敗してるのか知りたいのです
Array ( [0] => Category Object ( [_cid:private] =>200 [_cname:private] =>つり [_parent:private] =>100 [_img:private] =>tsuri.jpg )
[1] => Category Object ( [_cid:private] =>300 [_cname:private] =>読書 [_parent:private] =>100 [_img:private] =>book.jpg ) )
どなたかよろしくお願いします
0374nobodyさん
2007/05/16(水) 22:53:19ID:???public function setCid($cid){$_cid = $cid;}
$_cid じゃなくて $this->_cid じゃないの
0376nobodyさん
2007/05/16(水) 23:28:19ID:M7GC2N8vpreg_matchを使って文字列の半角英数記号をチェックしています。
if (preg_match("/^[a-zA-Z0-9\s\(\)\_\-\+\!\?\.\,]+$/", $str)) {
echo ("Error");
}
基本的に問題無く動いているのですが、何故か文字列に”,”(カンマ)が含まれると
エラーとなりません。
ググってもそれっぽいのが見付かりません・・・orz
どうかよろしくお願いします。
0377nobodyさん
2007/05/16(水) 23:30:27ID:???0378366
2007/05/16(水) 23:36:31ID:QKxTyLUDすみません、>>368さんのアドバイスが良くわからなくて考えてました
できました! って言っても>>374さんの言うとおりにしただけですけど…
とにかく助かりました
ちょっと変数の参照方法と有効範囲を理解してないみたいなんで勉強しなおします
ありがとうございました
0379nobodyさん
2007/05/16(水) 23:41:32ID:???変数のスコープとかより
「オブジェクト指向」「クラス」「プロパティ」「メソッド」
について勉強したほうがいいと思うよ。
それら知らないでクラス使っても意味ないし。
0380376
2007/05/16(水) 23:48:24ID:M7GC2N8vさっそくの返事ありがとうございます。
カンマの前のエスケープを外して試してみましたが、
結果は変わりませんでした。
0381nobodyさん
2007/05/16(水) 23:50:22ID:???試してみた
$str = "sdavdszfba,bgdsdc";
if (preg_match("/^[a-zA-Z0-9\s\(\)\_\-\+\!\?\.\,]+$/", $str)) {
echo ("Error");
}
出力「Error」
0382366
2007/05/16(水) 23:55:06ID:QKxTyLUDですよねー
でも、勉強して本読んでもぴんと来ないんで、とりあえず作ってみるかという状況です
右往左往しながら身に着けたいと思います
ありがとうございました
0383376
2007/05/17(木) 00:28:06ID:CgLLPlaf試して頂き、ありがとうございます。
自分でもいろいろ調べてみたところ、
どうやらカンマを?と変換していることが原因でした。
(表示すると、カンマで表示されるので気が付きませんでした。)
そこでこの”?”をpreg_matchで引っ掛ける方法を探しましたが
見付かりませんでした。
どなたかよろしくお願いします。
0384nobodyさん
2007/05/17(木) 00:31:35ID:???0386376
2007/05/17(木) 00:42:05ID:CgLLPlafアドバイスありがとうございます。
383では?と変換なっていますが、カンマを半角の”&#44;”に変換していました。
384さんの言う通り、変換せず、preg_matchを行うことで解決しました。
皆さん、ありがとうございました!!
0387nobodyさん
2007/05/17(木) 01:46:20ID:???0388nobodyさん
2007/05/17(木) 01:50:18ID:???0389nobodyさん
2007/05/17(木) 02:43:19ID:fM6fqwb/以下のIF文を簡潔に書きたいのですが、どうすればよいでしょうか・・・。
if($id !=3 and $id !=4 and $id != 7 and $id !=10 ){
略
}
こんな感じでうま〜くまとめたいなと思っているのですが当然エラーになってしまいます。
if($id !=(3,4,7,10)){
}
ググろうにもどんな言葉で検索すればよいのか分からず・・・。
よろしくお願いします。
0390nobodyさん
2007/05/17(木) 03:17:54ID:???if(in_array($id, $os)) ){
}
0392389
2007/05/17(木) 03:36:48ID:fM6fqwb/in_arrayという関数があるのだね。
どうもありがとー!^^
0393nobodyさん
2007/05/17(木) 03:41:13ID:???case 3:
case 4:
case 7:
case 10:
break;
default:
...
}
簡潔というか 最初の書き方が一番素直で 何をしたいのかわかりやすい
(読みやすい)と思うけども
0394389
2007/05/17(木) 03:44:31ID:fM6fqwb/どうもありがとう。
これでもよかったのですが、今後アクションをしたくない$idが増えることもあってカンタンに数字を追加できるような仕組みにしたいなと思っていたのです。
ちょうど今、in_array使って解決しました!
0395nobodyさん
2007/05/17(木) 06:57:02ID:kwGc8Yxoコードに問題があって、たとえばforで無限ループしたりでCPU使用率が100%担った場合があります
そういうケースを防ぐためのphp.iniかapacheで設定ってありませんか?
環境はWinXP、PHP5.2..2、Apache2.0.59です。
0396nobodyさん
2007/05/17(木) 09:50:12ID:???基本的にPHPには無限ループ対策としてデフォルトで30秒のタイムアウトが設定されていたはず
任意で設定したいならプログラム内で
set_time_limit(秒数);
で設定できる
※ただしexecなどでシステムのセッション増やして負荷かける場合は別
0397nobodyさん
2007/05/17(木) 09:57:36ID:tXPJ1ejE多次元配列で使うには、ほとんど一度一次元に落とし込んでからしか使えないのでしょうか?
※女性のポイントの合計は?
array_sum($a) ... $a[0][women][piont]
二次元以上の特定キーの合計を求めたり…
0398nobodyさん
2007/05/17(木) 09:58:32ID:kwGc8YxoレンタルサーバでCGIなどでCPUに一秒以上負荷かけると処理を停止するようなことをどこかで見たので
1秒に設定しました
0400nobodyさん
2007/05/17(木) 10:13:51ID:???http://jp.php.net/manual/ja/function.array-walk-recursive.php
0403nobodyさん
2007/05/17(木) 16:11:58ID:M9OeXCs3配列$sampleAry に対して print_r($sampleAry); を実行したら以下の結果を得ました
Array ( [0] => Category Object ( [_cid:private] => 120 [_cname:private] => 読書 [_parent:private] => [_img:private] => c120.gif )
[1] => Category Object ( [_cid:private] => 110 [_cname:private] => つり [_parent:private] => [_img:private] => c110.gif ) )
この配列から 読書 という結果を得るには、どうしたらいいんでしょう?
print_r($sampleAry[0]["cname"];
としてもエラーが出るのですが…
0404nobodyさん
2007/05/17(木) 16:14:27ID:???0406nobodyさん
2007/05/17(木) 16:52:58ID:???print_r($sampleAry[0]->cname);
とかやってみて
多分
Fatal error: Cannot access private property 〜
オブジェクトに値を取得するメソッドが用意されてるはずだよ
0407nobodyさん
2007/05/17(木) 16:55:10ID:???したいのですがどうしたらいいのでしょうか?
>>403
echo $sampleAry["0"]->_cname; かな?
0410nobodyさん
2007/05/17(木) 17:55:45ID:LNZtxJHm何か方法はありませんか?
開いているファイルのディレクトリ名を取得しようと
dirname("./")を試しましたがダメでした。
インクルードファイルで取得したいので、
個別にファイル名を入力できません。
ファイル名を別に取得し、入力すれば良いかもしれませんが、
何かもっとスマートなやり方があるような気もします。
ご存知の方がいましたら、ご教授お願いします。
0411nobodyさん
2007/05/17(木) 18:05:05ID:???0413nobodyさん
2007/05/17(木) 18:32:08ID:LNZtxJHm>>411
すみません、記述不足でした。
カレントディレクトリ名とは別に、
一階層上のディレクトリ名も取得できるようにしたいのですが、
それも含めて方法はありませんか?
0415403
2007/05/17(木) 18:42:59ID:M9OeXCs3ありがとうございました
[0] => Category Object ( [_cid:private] => 120 [_cname:private] => 読書 [_parent:private] => [_img:private] => c120.gif )
は配列じゃないんですね オブジェクトになるんですね。理解できてない点がわかって良かったです。
あと、>>406-407 さんのやり方で変数にアクセスする方法もわかりました。
とても助かりました。ありがとう!
0416nobodyさん
2007/05/17(木) 19:00:52ID:???だとしたら無理じゃないか?includeは文字列とってきてevalしてるだけだと思うし
chdir("mydir");
include(."hoge.php");
//hoge.phpでdirname(getcwd());
chdir("../");
0417nobodyさん
2007/05/17(木) 19:18:57ID:LNZtxJHmgetcwd( );がまったく初見でしたので、
これについてもう少し勉強してから来ます。
ググッた感じでは何とかなりそうです。
ありがとうございました。
0418nobodyさん
2007/05/17(木) 19:52:40ID:LNZtxJHmあくまでディレクトリ名のみを抽出したいのです。
例えば
ttp://www2.2ch.net/test/2ch.html
で test というディレクトリ名のみを抽出するにはどうしたら良いでしょうか?
現時点で思いつく方法は
dirname(getcwd()); で抽出した
ttp://www2.2ch.net/testを
explodeを使い「/」指定で削り取るというものですが、
これが最も簡潔な方法でしょうか?
0419nobodyさん
2007/05/17(木) 20:04:26ID:???0421nobodyさん
2007/05/17(木) 20:31:51ID:???0422nobodyさん
2007/05/17(木) 20:40:48ID:Yw1DLo3EPHPエディタでプロジェクトでの開発って、秀丸などのような開発に比べて
どんなメリットがあるのでしょうか?
0423nobodyさん
2007/05/17(木) 20:59:30ID:???適当なプロジェクトで使って見れば?
小規模のスクリプトはPHPエディタ使ってるけど、
シンプルでそこそこ使いやすいよ。
0424nobodyさん
2007/05/17(木) 21:45:37ID:???最強のPHPエディタはなに?
http://pc11.2ch.net/test/read.cgi/php/1133785416/561
561 名前:nobodyさん[sage] 投稿日:2007/05/17(木) 20:34:54 ID:???
補完はタイプの速度とか面倒だからって言う意味じゃなくて、
タイポを防ぐために使うって感じかな。
vim、emacsと比較した時の秀丸の優位性ってなに?
秀丸ってデフォでPHP色分けとか補完って出来る?
0426nobodyさん
2007/05/18(金) 03:02:03ID:ZEXAtg4Aある変数が何バイトか調べたい場合には何を使えばよいのでしょうか?
マニュアルによるとPHPでsizeof()ってcount()のエイリアスと書かれていたので。。。
0429nobodyさん
2007/05/18(金) 03:10:36ID:???解決しました。ありがとうございました
0432nobodyさん
2007/05/18(金) 03:25:07ID:???0433nobodyさん
2007/05/18(金) 03:49:33ID:???0435nobodyさん
2007/05/18(金) 04:50:45ID:???つまんね
0437nobodyさん
2007/05/18(金) 13:12:16ID:+e1CHg4F0438nobodyさん
2007/05/18(金) 13:15:25ID:???0440nobodyさん
2007/05/18(金) 13:21:54ID:???0441nobodyさん
2007/05/18(金) 14:06:16ID:eSvvOlXE表示するページでは元に戻す方法ってありませんかね?
0442nobodyさん
2007/05/18(金) 14:13:39ID:???htmlspecialcharsで変換した文字を元に戻したい文字を指定して置換できる関数を使う
ほかにもっと簡単なやりかたが文字列関数にあるけど関数リファレンス読めばここで質問しないはずなんだけどなぁ
0443nobodyさん
2007/05/18(金) 14:17:35ID:???0444nobodyさん
2007/05/18(金) 16:07:43ID:oLfZwhqN0445444
2007/05/18(金) 16:21:39ID:oLfZwhqNですが、送信しようとしたらエラーが発生しました・・・
Failed to connect to mailserver at "sd006.just-size.net" port 25, verify your "SMTP" and "smtp_port" setting in php.ini or use ini_set()
PHP.iniの変更箇所は、SMTP、smtp_port、sendmail_fromだけで良いのでしょうか?
0446nobodyさん
2007/05/18(金) 16:41:26ID:???0447nobodyさん
2007/05/18(金) 16:51:38ID:oLfZwhqNかもしれないです。
smtp.mail.yahoo.co.jpで試してみてもダメでした。
アカウントとパスワードを設定する項目がないのですが、どういう風に設定すれば良いのでしょうか?
0449nobodyさん
2007/05/18(金) 17:08:39ID:GewnQXcHだが、何事も出来ることを確認してからスレに書き込む姿勢は良いと思う
0450nobodyさん
2007/05/18(金) 17:17:55ID:oLfZwhqNimap_openでメール鯖にアクセスしようと思ったのですが、
Couldn't open stream {pop.mail.yahoo.co.jp:25/pop3}INBOX
とエラーが返ってきます。
SSL認証とかそういうのが必要なのでしょうか?
0451nobodyさん
2007/05/18(金) 17:28:26ID:???急いであれこれできるようになろうとせずに、もっと少しずつ覚えていけばいいと思うよ。
0452nobodyさん
2007/05/18(金) 17:31:32ID:???プロバイダのSMTPを使おうとあれこれ悩むより
自前でSMTP立てた方がいいと思う
0454nobodyさん
2007/05/18(金) 17:32:02ID:oLfZwhqN0455nobodyさん
2007/05/18(金) 17:38:15ID:oLfZwhqNIPが固定じゃないから外部とメールのやり取りができない・・・
0457nobodyさん
2007/05/18(金) 18:09:02ID:oLfZwhqNそれでもlocal外での送受信はできませんでした
0459nobodyさん
2007/05/18(金) 18:34:40ID:???つ[チェックリスト]
・DDNSが対応してない => 対応したところに移れ
・ルーターのポート設定がわからん => とりあえずDMZで設定してテスト
・メル鯖の設定がわからん => メール関連のスレヘ…
・メール飛ばしてもエラー番号がついて戻ってくる => おそらくメル鯖設定が悪い番号ググれ
以上
0460nobodyさん
2007/05/18(金) 18:38:38ID:oLfZwhqN前に聞いたときはプロパイダの問題といわれたんだが・・・
とりあえずもう一度調べてきます
有難う御座いました
0461nobodyさん
2007/05/18(金) 19:04:28ID:???0462nobodyさん
2007/05/18(金) 19:26:05ID:???Apache/2.0.52
PHP 5.1.6
なぜか
input type="file"
のPOSTデータだけが渡らないのです。他のPOSTデータは渡ります。
他のいくつかのサーバで試したところ、問題なく動いてるのでApacheの
設定だと思うのですが、どなたかお知恵貸してください。
0464441
2007/05/18(金) 19:36:44ID:eSvvOlXEPHP4なので、htmlspecialchars_decodeが使えない事が分かりました・・。
PHP4のサーバで使えて、htmlspecialcharsで変換する前の状態に戻す
方法はありませんでしょうか?
0466nobodyさん
2007/05/18(金) 19:45:01ID:???http://jp.php.net/htmlspecialchars-decode
のUser Contributed Notesにコードそのものが書いてある
0467nobodyさん
2007/05/18(金) 19:58:35ID:???それが・・・・
Array
(
[name] => test.gif
[type] =>
[tmp_name] =>
[error] => 7
[size] => 0
)
なんですわ。。。error 7って・・・
0469nobodyさん
2007/05/18(金) 20:04:48ID:???0470nobodyさん
2007/05/18(金) 20:06:59ID:???http://jp.php.net/manual/ja/features.file-upload.errors.php
0471nobodyさん
2007/05/18(金) 20:12:18ID:???ディスクが一杯だったよ。
管理者ぬっころしたくなってきた。
ログたまりまくりんぐ。
パーティーションの切り方が悪すぎ。
0472nobodyさん
2007/05/18(金) 20:21:25ID:d/lAW2v7その値リストはどうしてますか?
'FALSE'と'TRUE'だと、
デフォルトでそういう定数がありそうなので
ちょっと紛らわしいような気がします。
0474nobodyさん
2007/05/18(金) 20:59:30ID:???0475nobodyさん
2007/05/18(金) 21:06:56ID:???static $moge = 'boke';
static $fuga = self::$moge;
}
こうするとエラーになるんだけど
staticなプロパティーに
staticなプロパティーを代入することって出来ないの?
0476nobodyさん
2007/05/18(金) 21:20:21ID:???0477nobodyさん
2007/05/18(金) 21:43:20ID:???0478nobodyさん
2007/05/18(金) 21:49:30ID:???0479nobodyさん
2007/05/18(金) 22:28:18ID:ySJdsQiL間違ってることはわかる
でもどう間違ってるか具体的に説明できん俺・・・・・
0480nobodyさん
2007/05/18(金) 22:49:32ID:???メンバー変数に、定数以外のもので初期化代入できるかどうかが
マニュアル的に、はっきりしない。
ttp://www.php.net/manual/ja/language.oop.php
この説明(class Cart)を見ると
<?php
class Cart{
var $name = $firstname;
}
?>
なんていうのは、あたかもphp5なら動きそうなのに、実はphp4と同様動かない。
0482nobodyさん
2007/05/18(金) 22:55:47ID:???確かにそのページの「PHP4では動作しない」っていう
書き方だけを見ると誤解しそうな書き方ではあるが、
PHP5の説明のページにも明示的にプロパティの初期化には
定数しか扱えないと書いてある
http://jp.php.net/manual/ja/language.oop5.basic.php
0483nobodyさん
2007/05/18(金) 22:55:48ID:???staticか非staticかに関わらず、メンバの初期値は定数のみ。
他の言語でも大体同じ。
PHPでデフォルト値を共通化したいなら、オブジェクト定数とか使う。
じゃだめなのか?
0484nobodyさん
2007/05/18(金) 22:55:58ID:???0485480
2007/05/18(金) 22:57:55ID:???なるほど。これか。
>デフォルト値は定数でなければなりません。(たとえば) 変数、クラスのメンバあるいは関数コールなどは使用できません。
勉強になった。さんきゅ。
0486nobodyさん
2007/05/18(金) 22:58:22ID:???そんなのはっきりムリって書いてあんだろ。
もっと論理的な根拠を求めてんのかと思った。
0487nobodyさん
2007/05/18(金) 23:05:19ID:???0488475
2007/05/18(金) 23:18:31ID:???dクス
0489nobodyさん
2007/05/19(土) 00:32:14ID:/rdI7UAAなぜ定数しか使えないかというと
メモリに確保されるタイミングによるんだよ。
メモリにない物は参照できないので代入できない・・・・
後は任せた>>490
0491nobodyさん
2007/05/19(土) 01:09:35ID:???0493nobodyさん
2007/05/19(土) 02:21:28ID:5dZMG2UG0495nobodyさん
2007/05/19(土) 02:43:17ID:???0496nobodyさん
2007/05/19(土) 03:30:54ID:???0497nobodyさん
2007/05/19(土) 06:29:26ID:MWMv22M6当方、夢もなにもない25歳です。
こんな私ですがいままで徹夜してマニュアル読んでコード書いてPHPを学習してました。
PHPは夢を作る道具になれますか?
0498nobodyさん
2007/05/19(土) 07:29:44ID:???精進してください。
0499nobodyさん
2007/05/19(土) 07:35:15ID:MWMv22M6ありがとうございます。
0500nobodyさん
2007/05/19(土) 07:48:29ID:zLRg1KJ9正規表現でWHEREを目印にして抜き出すとすると、
その前にSET HOGE='WHERE POGA'
等があった時にもヒットしてしまいます。
いわば「地の文」のWHEREだけがヒットするようにしたいのですが
いい方法があれば教えてください
0501nobodyさん
2007/05/19(土) 07:52:44ID:???0502nobodyさん
2007/05/19(土) 08:02:51ID:G8ONhPg2と言うのを作っています。ソースは以下の通りです。
$array=array();
for($i=0;$i<5;$i++){
$number = rand(1,18);
if(array_search("$number",$array)){
}else{
$array[] = $number;
echo $number."<br />";
}
}
一度表示した数字を配列に入れて同じ数字が出たら出力しない
と言ったイメージなのですが、どうも上手く行きません。
ソースの指摘・アドバイスをしていただけないでしょうか?
0504nobodyさん
2007/05/19(土) 08:19:33ID:???for ($i=0; $i<5; $i++) {
$rand[] = rand(1, 3)
;
}
//出力
$ary = array();
foreach($rand as $v) {
if (!in_array($v, $ary)) {
echo "<p>$v</p>";
} else {
echo "重複<br />";
}
$ary[] = $v;
}
あとはじぶんで改造しろ
0505502
2007/05/19(土) 08:23:24ID:???ありがとうございます。つまり、乱数生成と出力を分けた方が良いって
事ですね。
ちょっとやってみます。ありがとうございました。
0506nobodyさん
2007/05/19(土) 08:25:00ID:???まあ書き方はいくらでもある。
ちなみにarray_searchを使うのはまちがえ
(PHP 4 >= 4.0.5, PHP 5)
array_search -- 指定した値を配列で検索し、見つかった場合に対応するキーを返す
0507nobodyさん
2007/05/19(土) 10:04:49ID:vtcxjqU80509nobodyさん
2007/05/19(土) 10:47:01ID:???でも引用符とコメントだけ排除すればいいだけなら、ちょっとした字句解析でできそうではある。
whereの場所が特定できたら、構文は無視してorder byみたいな別のキーワードのとこまでを抜き出しちゃえばいいのかな。
これくらいの処理なら、PHPで書いてもそんなに重くはならないはず。
0511nobodyさん
2007/05/19(土) 11:52:10ID:???0512nobodyさん
2007/05/19(土) 11:52:54ID:???0514nobodyさん
2007/05/19(土) 12:05:46ID:???0515nobodyさん
2007/05/19(土) 12:18:26ID:???扱いやすい手法に見えるけど。
0516nobodyさん
2007/05/19(土) 12:27:12ID:???0517nobodyさん
2007/05/19(土) 12:32:02ID:???0518nobodyさん
2007/05/19(土) 12:39:03ID:???0519nobodyさん
2007/05/19(土) 12:45:45ID:???俺の環境だと
Fatal error: Allowed memory size of 16777216 bytes exhausted (tried to allocate 16 bytes) in C:\home\php\test.php on line 2
メモリリミットあげれば大丈夫なのかな
0520nobodyさん
2007/05/19(土) 12:47:12ID:???↑これは一応隠すべきだったね すでにダミーのにしてあったらスマソ
0521nobodyさん
2007/05/19(土) 12:50:53ID:a8u10R/40523nobodyさん
2007/05/19(土) 13:36:37ID:???0524nobodyさん
2007/05/19(土) 13:37:13ID:???0526nobodyさん
2007/05/19(土) 14:00:49ID:???0527nobodyさん
2007/05/19(土) 14:00:57ID:???0528nobodyさん
2007/05/19(土) 14:11:11ID:???パスを含むエラーを表示させるのが問題だと考える人の2パターンだと思うけど
ここは前者だな
0529nobodyさん
2007/05/19(土) 14:15:29ID:???0530nobodyさん
2007/05/19(土) 14:22:36ID:???$hoge[8] = 10;
$hoge[10] = 50
という配列($hoge[0]などはnull)を
$hoge[0] = 100;
$hoge[1] = 10;
$hoge[2] = 50
に変える方法きぼんう
0532nobodyさん
2007/05/19(土) 14:34:35ID:???0533nobodyさん
2007/05/19(土) 14:38:30ID:???0534nobodyさん
2007/05/19(土) 14:44:03ID:???0535nobodyさん
2007/05/19(土) 15:08:31ID:???0536nobodyさん
2007/05/19(土) 15:18:24ID:???このスレもりあげてください
http://pc11.2ch.net/test/read.cgi/php/1162858489/
0537nobodyさん
2007/05/19(土) 15:48:47ID:???0538nobodyさん
2007/05/19(土) 16:29:31ID:???このスレで質問に答えてる人たちはどんな仕事してるんですか?
0539nobodyさん
2007/05/19(土) 16:32:48ID:???0540nobodyさん
2007/05/19(土) 16:49:32ID:???簡単に書けますか? グラフのライブラリって使い易い物ありますか?
0541nobodyさん
2007/05/19(土) 17:04:25ID:???誰かが変な回答してるとついつい訂正したくなるでしょ。
0542nobodyさん
2007/05/19(土) 17:05:13ID:MWMv22M6以下のコードの前に事前に最新9行分のデータを変数に格納して、それに最新の1行を連結するのが妥当でしょうか?
$string = "テスト\n";
$fopen = fopen("tyatto.log","a");
fwrite($fopen, $string);
fclose($fopen);
0543nobodyさん
2007/05/19(土) 17:05:25ID:???ちゃんとID出してね。
いろいろ方法はあるし、何を使うかによって難易度も
様々。
ライブラリは検索すればスグに分かるはずだよ。
ID出してないからヒントまで。
>>538
元プログラマだぜ
言語だけで言えばメジャーなものは一通りやったよ。
最近は外部の会社に常駐して基盤系(DBのバックアップ設計とか)
やってるよ
今C#とIronPhthonが気になる
0546nobodyさん
2007/05/19(土) 17:11:30ID:MWMv22M6>>545
最新のログさえ残れば順番はどちらでも気にしません。
>>544
>>542で書いたことをやってみたのですがなんか二回ファイルを開くのが無駄な気がしてコード省きました。すいません。
0547540
2007/05/19(土) 17:17:34ID:A36xsHpo>>543
検索するとWindows上で動かす人向けのサイトばっかりでイヤになり質問しました
もしよければもう少しヒントいただけると助かります レン鯖で、Flashじゃないものが良いです
0549nobodyさん
2007/05/19(土) 17:21:32ID:???[0]=>"バナナ" [1]=>"みかん" [2]=>"りんご"
と言うように"が入っている場合、削除する方法はないでしょうか?
出来れば一番簡単(関数処理など)であればと思います。
0551nobodyさん
2007/05/19(土) 17:26:55ID:???$file = file($filename);
$cnt = count($file);
if ($cnt > $maxlog) {
$n = $cnt - $maxlog -1;
}
for ($i=$n; $i<$cnt; $i++) {
$string .= $file[$i];
}
$string .= $_POST['input']. "\n";
//この下は>>542のコードです
$string = "テスト\n";
$fopen = fopen("tyatto.log","a");
fwrite($fopen, $string);
fclose($fopen);
0552nobodyさん
2007/05/19(土) 17:27:42ID:A36xsHpowamppがあるのに、つくれない人なんていないと思うんですけど・・・・
0553551
2007/05/19(土) 17:28:39ID:MWMv22M6どんなささいなことでもかまいませんので修正箇所・ご指摘などご教授お願いいたします。
0554552
2007/05/19(土) 17:30:01ID:A36xsHpo○ xampp
0555nobodyさん
2007/05/19(土) 17:33:37ID:???http://jp.php.net/manual/ja/ref.filesystem.php
後、XSSでググる
0556555
2007/05/19(土) 17:36:23ID:???二行目は見なかった事にしてくれ
0558nobodyさん
2007/05/19(土) 17:47:40ID:???最後の $string = "テスト\n"; はまあ消し忘れだと思うが、
大筋そんな感じでいいんじゃないかね
0559nobodyさん
2007/05/19(土) 18:08:32ID:MWMv22M6XSSについて>>556さんのご指摘のとおり、以後セキュリティに配慮したコードの書き方に気をつけます。
>>551のコード中に不適切な行がございました。>>558さんに指摘していただくまで
気づきませんでした。大変失礼いたしました。
チャットを公で使う場合、犯罪予告なんか打たれたら証拠のログがなくなってしまうので
ログは貯めておいたよいのでしょうか。
みなさまアドバイス・ご教授ありがとうございます。
0561nobodyさん
2007/05/19(土) 19:20:28ID:???> 気づきませんでした。大変失礼いたしました。
釣りか真性だな
0562nobodyさん
2007/05/19(土) 19:58:14ID:???0563nobodyさん
2007/05/19(土) 21:28:59ID:ZssAVHkG--
Fatal error: Call to undefined function sqlite_open()
--
となってしまいます。
phpinfo() にて「without-sqlite」となっていて、どうも動きません。
ターミナルソフトでは、sqlite3 test.db などと打つと、ちゃんとデータが作成できるのですが。
どうしたものでしょう。
0565nobodyさん
2007/05/19(土) 21:57:50ID:???exit(変数);
するのって効率悪いの?
0566nobodyさん
2007/05/19(土) 22:02:18ID:???exitのそんな使い方始めてみた
システム出力系はベンチしにくいけどベンチしてみれ
0567nobodyさん
2007/05/19(土) 22:14:57ID:???0568nobodyさん
2007/05/19(土) 22:59:10ID:???0569nobodyさん
2007/05/19(土) 23:14:38ID:ZssAVHkGありがとう
yumのあと、php.iniに設定は必要ですか?
いろいろ参考にしながら、
extension=pdo.so
extension=pdo_sqlite.so
を追記したけど、phpinfoに変化はありません。
0570nobodyさん
2007/05/19(土) 23:38:05ID:???ほげほげ(300KBぐらい)
DOC_END;
exit($str);
278ms
$str = <<< DOC_END
ほげほげ(300KBぐらい)
DOC_END;
echo $str;
exit;
266ms
echo <<< DOC_END
ほげほげ(300KBぐらい)
DOC_END;
exit;
250ms
exit("エラーメッセージ");
てのよく見るから
正常の時もexitでいいのかなあと思ったのよ
そうは使わないのね サンクス 一番下にしとく
0571nobodyさん
2007/05/19(土) 23:41:21ID:jN6au0ieいっぱい種類あって何が何かわかんね・・・
どれも一緒と見ておk?
0572nobodyさん
2007/05/19(土) 23:44:14ID:???0575nobodyさん
2007/05/20(日) 00:26:43ID:s5N306jrサンクス
変数みたいに任意につけられる名前なんですね
0576nobodyさん
2007/05/20(日) 00:41:14ID:???違和感ありますよね。
0577nobodyさん
2007/05/20(日) 00:49:14ID:???0578nobodyさん
2007/05/20(日) 00:50:40ID:???何か見落としてる?もうちょっとヒントください
>>574
ab -n 500 -c 10 アクセス先
ってやった。ApacheBenchってはじめて使ったから使い方違ってるかも
Time per request見ればいいんでしょ?間違って一個下見て書いちゃったけど
正しくは上から2780ms,2669ms,2507msだった
0579nobodyさん
2007/05/20(日) 01:04:27ID:1niTHCJR質問になるから自IDを晒す。
どういうことですか?
0581nobodyさん
2007/05/20(日) 02:09:07ID:Lrd4mRuD型名は大文字ではじめるのと小文字ではじめるの
どっちがスタンダードですか?
あと数値の型名は
整数が必要な部分はint
それ以外はnumericでokですか?
0582nobodyさん
2007/05/20(日) 02:21:07ID:???0583nobodyさん
2007/05/20(日) 02:27:59ID:fULbDqPE0584nobodyさん
2007/05/20(日) 02:32:33ID:???正直PHPはどんな場面で便利なんですか?
両方やってる人いたら、こんなときPHPいいぜーみたいなの
教えてつかぁさい。XML周りは便利だとか、そういうのあります?
0585nobodyさん
2007/05/20(日) 02:35:55ID:???主観の問題なので何とも
>>584
Perlでできることは全てPHPでできるし全体的に作業量は20%くらい減る。
PHPを身に付ければPerlでプログラムやる理由が思いつかない。
あとXMLは関数で一発。
0586nobodyさん
2007/05/20(日) 02:41:13ID:???Perlよりもいろんなものが最初から用意されているところかな。
いろんな機能が最初からてんこ盛り。そこがいい。
つっても普段はPHP使ってないけどね。でもPHPもなんだかんだで慣れちゃった。
0587nobodyさん
2007/05/20(日) 02:44:27ID:fULbDqPE特に問題があるわけでもないのですね
ありがとうございます
0588nobodyさん
2007/05/20(日) 02:45:43ID:???Perlは今ある程度メジャーなJavaとかC#から比べて余りにも
異端だからなぁ。
やっぱりパッと見(ソース)はPHPの方がいいと思う。
この点だけとっても保守性考えるならPHPの方がいいかな?
LinuxにはPHPも標準で入るしね。
0590nobodyさん
2007/05/20(日) 02:46:26ID:???0591nobodyさん
2007/05/20(日) 02:47:31ID:???0593nobodyさん
2007/05/20(日) 02:53:05ID:???0594nobodyさん
2007/05/20(日) 03:13:17ID:fULbDqPE俺は書けないけど
0596nobodyさん
2007/05/20(日) 04:27:10ID:???perlはスクリプトからDLLを作成できるが、PHPにはできない仕様となっている。
探せばperlにできてPHPにできないことなんてあるんだけど。
知ったかで答えるのはやめれ
0597nobodyさん
2007/05/20(日) 04:52:53ID:???県 都市1 都市2 都市3 都市4
東京 秋葉原 新宿 中野 池袋 錦糸町
神奈川 横浜 川崎 横須賀 相模原 鎌倉
・・・
みたいな感じに表示されてたのが
A r r a y
A r r a y
・・・
みたいなおちょくられたような表示になってしまいまして、
自分で何かを弄った記憶が殆どないので対処法も分からず難儀してます。
どこらへんが問題である可能性あるかアドバイスいただけると幸いです。
0598nobodyさん
2007/05/20(日) 05:01:10ID:???0599nobodyさん
2007/05/20(日) 08:02:54ID:???スクリプトはできないでしょうか?
ヒントでもいいのでよろしくお願いします
0600nobodyさん
2007/05/20(日) 08:28:33ID:???0601nobodyさん
2007/05/20(日) 08:46:21ID:???ID 出してください。(w
0603nobodyさん
2007/05/20(日) 09:05:16ID:JKYLMH12それともPOSTなりGETなりの形のまま処理しますか?
0604nobodyさん
2007/05/20(日) 09:20:51ID:???配列にいれてもいれなくてもどちらでもかまわない。好みで。
ユーザーからわたってきた入力に怪しいデータがないかチェックすること。
メールフォームでのデータの受け渡しにGETを使うのはおすすめできない。
0605599
2007/05/20(日) 09:22:58ID:NWkVlCfkよろしくお願いします
0607nobodyさん
2007/05/20(日) 10:43:18ID:UE3BgSQEインデント込みの終端IDというのが意味不明だからです。
0608nobodyさん
2007/05/20(日) 10:57:29ID:???相手の足元すくうのはやめようよ
0609nobodyさん
2007/05/20(日) 11:02:50ID:9n3EluZed
データチェックはzendの勧告を見てやってました いいのかな・・・zendで
0610nobodyさん
2007/05/20(日) 11:23:54ID:dkLmebkaあれは単なるGETでしょうか?それともセッションIDってことでしょうか?
0611nobodyさん
2007/05/20(日) 11:31:47ID:???0613nobodyさん
2007/05/20(日) 13:49:05ID:???0614nobodyさん
2007/05/20(日) 14:48:39ID:???Perlで出来るの?それともActivePerl?
0615nobodyさん
2007/05/20(日) 14:58:29ID:???0616nobodyさん
2007/05/20(日) 15:00:38ID:???0617nobodyさん
2007/05/20(日) 15:02:06ID:???バカさらしあげ
0618nobodyさん
2007/05/20(日) 15:27:37ID:???元質問の話に戻るけど。
0619nobodyさん
2007/05/20(日) 15:47:56ID:???0620nobodyさん
2007/05/20(日) 16:01:36ID:???0621620
2007/05/20(日) 16:42:58ID:???0622nobodyさん
2007/05/20(日) 17:06:58ID:???そして、それを示すために騙るのもまた回答者だから、皮肉なものだ。
0623nobodyさん
2007/05/20(日) 17:18:01ID:???IDを出すのは礼儀だと思ってる。
それで毎日質問してる俺はダメですかね
0624nobodyさん
2007/05/20(日) 17:28:42ID:???何かidを知られると後ろめたい事が有るのか?
それともテンプレすら読んでいないのか?
0625nobodyさん
2007/05/20(日) 17:35:20ID:???0627nobodyさん
2007/05/20(日) 18:16:00ID:???0628nobodyさん
2007/05/20(日) 19:01:29ID:???どっちでもいいけどな俺は
0629nobodyさん
2007/05/20(日) 19:03:32ID:???出したほうがいいよ。
0630nobodyさん
2007/05/20(日) 19:05:44ID:???0632nobodyさん
2007/05/20(日) 19:16:10ID:???せめてルールは守って紳士的にやろうぜ。
0634nobodyさん
2007/05/20(日) 19:35:49ID:???0635nobodyさん
2007/05/20(日) 19:38:01ID:???0636nobodyさん
2007/05/20(日) 19:57:10ID:???その教本のどおりにやったのですがうまく動きません。
教本どおり打ったんですが間違えてますかね?
<?
echo "Hello テスト";
?>
0641nobodyさん
2007/05/20(日) 20:42:44ID:Avt2a6q1ヒント:釣り
0642nobodyさん
2007/05/20(日) 21:32:30ID:???0643nobodyさん
2007/05/20(日) 21:35:32ID:???0644629
2007/05/20(日) 22:04:53ID:???ごめんね
0645644
2007/05/20(日) 22:13:38ID:???0646nobodyさん
2007/05/20(日) 22:23:09ID:???今のところ1アクセスを1レコードとして
データベースに保存しています。
しかし、レコード数が10万ぐらいになってくると
集計計算表示するだけでとても重くなってしまいます。
単に時間ごとのアクセス数だけなら
別途テーブルをもって集計することはできるのですが
訪問回数&間隔、各ページビュー、ドメイン 、ホストアドレス、都道府県&国、OS&ブラウザーなど
リフラーやドメイン、ユーザーエージェントなどから集計する項目に関してはどうもいかないと思いまして
アクセス解析を作っている人がその辺の処理の仕方をどのようにしているか
ヒントや参考意見、HPなどがありましたら、教えてください。
よろしくお願いします。
0647nobodyさん
2007/05/20(日) 22:36:47ID:s5N306jr32x32サイズだったら32×32の1ピクセルごとにカラーにしたりできる?
変な質問ですまん
0649nobodyさん
2007/05/20(日) 22:45:17ID:s5N306jr1ドットずつ色を取得したいです
0650nobodyさん
2007/05/20(日) 22:50:45ID:???bbb.php
require_once(aaa.phpへの相対パス);
ccc.php
require_once(bbb.phpへの相対パス);
として
ccc.phpを実行した時に
bbb.phpからaaa.phpを呼び出す場合
aaa.phpへの相対パスがbbb.phpからの相対パスだと
うまくいかずccc.phpからの相対パスを要求されます。
絶対パスを利用せずにこの問題を解決する方法は無いのでしょうか?
0652nobodyさん
2007/05/20(日) 22:52:41ID:GVA2rtRbbbb.php
require_once(aaa.phpへの相対パス);
ccc.php
require_once(bbb.phpへの相対パス);
として
ccc.phpを実行した時に
bbb.phpからaaa.phpを呼び出す場合
aaa.phpへの相対パスがbbb.phpからの相対パスだと
うまくいかずccc.phpからの相対パスを要求されます。
絶対パスを利用せずにこの問題を解決する方法は無いのでしょうか?
0654649
2007/05/20(日) 22:55:14ID:s5N306jr0655652
2007/05/20(日) 22:57:27ID:GVA2rtRb0656nobodyさん
2007/05/20(日) 22:59:29ID:???「絶対パスを利用せずに」はわかんね
0657nobodyさん
2007/05/20(日) 23:01:44ID:???そりゃま、カレントディレクトリはccc.phpの場所なんだから
bbb.phpからの相対じゃうまくいかんわな。
手っ取り早いのはincludeパスにaaa.phpやbbb.phpの置いてあるディレクトリを追加して
requireではパス指定を一切しないこと。
そういうPHP設定をいじらずにやりたいのなら相対パスを絶対パスに自動変換する手かね。
require_once(dirname(__FILE__) . "相対パス/aaa.php");
みたいな感じで。
0658nobodyさん
2007/05/20(日) 23:01:48ID:???>絶対パスを利用せずにこの問題を解決する方法は無いのでしょうか?
ないよ。
そもそもそんなスパゲッティrequireがおかしいので考え方を改めなさい。
0659652
2007/05/20(日) 23:02:38ID:GVA2rtRbほかのサーバーに設置したかったので
相対パスじゃないとだめかと思って
0660nobodyさん
2007/05/20(日) 23:06:02ID:???最初に1個、必ず読み込む基準ファイルみたいのを用意しておいて、
その基準ファイル内で
define("base", dirname(__FILE__));
みたいに自身のディレクトリ位置をdefine定義しといて
以降のrequireはそれを元にファイルパスを生成すると
サーバー移行は楽になるよ。
0661nobodyさん
2007/05/20(日) 23:08:42ID:???0662652
2007/05/20(日) 23:09:23ID:GVA2rtRbなるほど、おもいつきませんでした
これは便利ですね。ありがとうございます
0663nobodyさん
2007/05/20(日) 23:09:40ID:???0664nobodyさん
2007/05/20(日) 23:09:47ID:???普通はリアルタイムに集計なんかしない。
バッチであらかじめ集計しておいて、表示はその集計データを元に行なう。
0665nobodyさん
2007/05/20(日) 23:46:33ID:???php、mysqlなどの設定もデフォなのですがmysql_pconnectのところで
エラーがでてきてしまいます。
Call to undefined function mysql_pconnect()
経験談でも何でもかまいませんので、何かご存知ではないでしょうか。
0667nobodyさん
2007/05/20(日) 23:53:20ID:???1. 集計プログラムが呼び出されたら最新集計結果TBLとアクセスログの更新日時を比較
2a. もし同じならば、最新集計結果TBLをもとにページ作成 => exit
2b. 同じでないならば、最新集計結果TBLの更新日時以降のアクセスログを集計
3. 最新集計結果TBLに2bの結果を反映して更新
4. 最新集計結果TBLをもとにページ作成
これだけだと偏差とかは無理だけどな
0668質問させて下さい
2007/05/20(日) 23:56:18ID:mUezkSvy時間表示の所を2007/05/20(年・月・日)となっています。
$date = date("Y/m/d", $time);
ソースです。
ttp://loglog.jp/~php/net/rss/rssup.php.txt
これを2007/5/20 13時15分など表示されるにはどのようにすればいいでしょうか?
date("Y/m/d/H/i", $time); 次のように改造をしましたが表示エラーになりました。
アドバイスお願いします
0671質問させて下さい
2007/05/21(月) 00:08:06ID:x+5U6/Lpdate("Y/m/d H:i", $time);
これでも試したんですが
両方ともエラーは空白で非表示になります。
困まりました><
0674質問させて下さい
2007/05/21(月) 00:33:08ID:x+5U6/Lp$date = date("Y/m/d", $time);
こう書けば年・月・日をしっかり取得してくれます。
date("Y/m/d/H/i", $time);
date("Y/m/d H:i", $time);
こう書けば、非表示になって年・月・日・時間などを表示してくれません。
考えて下さって本当にありがとうございます
0675質問させて下さい
2007/05/21(月) 00:36:51ID:???でいけました。
本当に足ひっぱってすいませんでした><
ごめんなさい
0676nobodyさん
2007/05/21(月) 00:37:50ID:???0677nobodyさん
2007/05/21(月) 00:46:04ID:???0678nobodyさん
2007/05/21(月) 00:56:12ID:???なるほど。
0679nobodyさん
2007/05/21(月) 00:58:34ID:???0681nobodyさん
2007/05/21(月) 01:57:24ID:???インサートとか指定したフィールド(カラム)だけアップデートするとか。
0682nobodyさん
2007/05/21(月) 03:36:04ID:r2MP9GVb↑これって何なんですか? 使ったことないし、人の書いたコード読んだときもこれがよくわからなくて
つまずいてしまいます
配列関係?
0683nobodyさん
2007/05/21(月) 03:39:26ID:???0684nobodyさん
2007/05/21(月) 04:15:15ID:???0685nobodyさん
2007/05/21(月) 06:34:19ID:???mysqlを使わない普通のphpのプログラムは動きます
phpはバージョン5.2.2
mysqlはバージョン5.0.4.1
apacheは2.2
です
php5ts.dllをc:/windowsにコピーして
libmysqlをc:/windows/system32/にコピーして
php.iniをc:/windowsにコピーして内容を修正して
<?phpinfo?>で表示される内容を見ても
mysqlの項目が出てこないし
phpからデータベースに接続しようとしても出来ません
設定の方法が載っているHPがあったら教えてください
0686nobodyさん
2007/05/21(月) 07:13:05ID:???0687nobodyさん
2007/05/21(月) 09:05:55ID:???> php.iniをc:/windowsにコピーして内容を修正して
どう修正したのか書いてくれなきゃわからん。
0688nobodyさん
2007/05/21(月) 09:17:41ID:???0689nobodyさん
2007/05/21(月) 09:33:38ID:???include_path = ".;c:/php/includes;c:/php/pear"
doc_root ="C:/Program Files/Apache Software Foundation/Apache2.2/htdocs"
extension_dir = "c:/php/ext"
extension=php_mysql.dll
magic_quotes_gpc = off
これ以外は変更していません
mysqlを使わないプログラムは問題なく動きます
0690nobodyさん
2007/05/21(月) 09:36:30ID:???0691nobodyさん
2007/05/21(月) 09:37:42ID:???あとID出すと不都合でもあるんですかね?
0692nobodyさん
2007/05/21(月) 09:40:00ID:???0693nobodyさん
2007/05/21(月) 09:44:33ID:???すいません既にその変更もしていました
phpは動いているのでそれはいわなくてもいいかなと思ったので
httpd.conf
LoadModule php5_module c:/php/php5apache2_2.dll
AddType application/x-httpd-php .php
AddType application/x-httpd-php-source .phps
DirectoryIndex index.html index.html.var index.php
0695nobodyさん
2007/05/21(月) 10:15:06ID:tUHb9fVw現在、セッション変数を使い始めた初心者です。
数人が参加できるチャット画面を作っています。
1、ある人がそのページに参加すると、入ったという情報をファイルに記録する。
(フラグを1にしてるだけですが)
2、退出ボタンで退出すると、出て行ったという情報をファイルに記録する。
3、ブラウザを閉じたり、タイムアウトになったりした場合もファイルに記録する。←ここ
のようなことをしたいのです。
現在は、タイムアウトでいなくなった場合は、ずっとその人は参加し続けていることになってます。
ググッても独自関数みたいなものが出てきて、レベルが高すぎてさっぱりわかりません。
いいやり方はないですか?
0696685
2007/05/21(月) 10:26:15ID:???今解決しました
インストーラー版で一回インストールしたあと削除せずに
Zipを解凍して手動でインストールしたのが原因でした
一生懸命変更したiniファイルとは別のインストール版の方のiniをphpは読んでいたみたいです
インストーラー版を削除したらmysqlのプログラムも動くようになりました
0698685
2007/05/21(月) 10:37:57ID:???windows板で前に質問したときはすぐに回答いただいたんですけど
(笑)
0701695
2007/05/21(月) 10:58:25ID:tUHb9fVwそれです。ブラウザ閉じた時にセッションきるやつですよね。
その時に、ファイルに保存してある
1番,○○さん
っていうのも空欄に書き換えたいのですけど、どうしたらいいのですか?
0702nobodyさん
2007/05/21(月) 11:24:39ID:???0703nobodyさん
2007/05/21(月) 11:27:58ID:???0704nobodyさん
2007/05/21(月) 11:32:54ID:???0705nobodyさん
2007/05/21(月) 11:39:18ID:???0706nobodyさん
2007/05/21(月) 11:45:40ID:???0707nobodyさん
2007/05/21(月) 11:49:04ID:???0708nobodyさん
2007/05/21(月) 11:53:59ID:???0709695
2007/05/21(月) 12:56:23ID:tUHb9fVw楽しみに待ってます。
0711nobodyさん
2007/05/21(月) 12:58:25ID:3IxpO5VZセキュリティ関係で気をつけなきゃいけないことありますか?
0712nobodyさん
2007/05/21(月) 13:05:14ID:???どんなキャッシュファイルか分からないから
なんとも言いにくい
あえて言うのなら
・ドキュメントルートの下には置かない
もちろんシンボリックリンクも
・個人情報、パスワードをなどを書き込まない
どうしても書き込む必要があるときは、できるだけ
すぐに消すようにする
0713710
2007/05/21(月) 13:05:17ID:???SOHO・フリー・会社でWEBプログラミングしてる奴
名前: nobodyさん
E-mail:
内容:
ここはSOHO・フリー・会社でWEBプログラミングをお仕事にしてる人のスレです。
いろんな所に、いろんな年齢で、いろんな条件のひとがガンガってます。
儲かってる人も、細々食え出した人も、個人も会社勤めの人も、お互いの立場を尊重し
情報交換・愚痴交換して行きましょう。
0715nobodyさん
2007/05/21(月) 13:06:27ID:???0716nobodyさん
2007/05/21(月) 13:38:53ID:3IxpO5VZありがとうございます
動的ページをその都度データベースから引き出してるのが遅いので
よく使う&変更のないやつをキャッシュにいれておこうと思いました
>>714
フィーバーですか?
>>715
習慣で777と書いちゃいました
cmdも習慣で777と打っちゃうんですけど
0717nobodyさん
2007/05/21(月) 13:43:01ID:???0718nobodyさん
2007/05/21(月) 13:45:56ID:???700でいいじゃないの。
あと、キャッシュファイル名はハッシュにすればいいよ。
md5とかで('file path');で出し入れする。
0719nobodyさん
2007/05/21(月) 13:54:37ID:O1legeAPsession_start();
$_SESSION['count'] = 1;
とやるとテンポラリディレクトリに
sess_tm4m6v8sp4r42ptimhc3rquim6tっていうファイルができてました。
ローカルだから確認できたのですが、sess_という部分を
はじめて使うレン鯖などで調べる場合 どうやって調べるのでしょうか?
テンポラリディレクトリを読んで、中のファイル名一覧を取得してファイル名を取得というやりかたを
考えたのですが、これは違うと思ってて悩んでます。
どなたかご教授ねがいます。
0720nobodyさん
2007/05/21(月) 13:56:26ID:???0722721
2007/05/21(月) 14:05:01ID:3IxpO5VZ0723nobodyさん
2007/05/21(月) 14:05:45ID:???を使えるので、自分はキャッシュ使うときはそうしてる。
0724nobodyさん
2007/05/21(月) 14:19:03ID:???0725nobodyさん
2007/05/21(月) 14:32:09ID:O1legeAP今回はファイルに勝手につけられるsess_という部分を
調べたかったのですがsession_id()で試してみたらsess_より下の部分がわかりました。
オンライン中ユーザを表示するスクリプトが書きたかったのですがわたくしの力ではPHPでは難しいです・・orz
でもPHPで書かれたスクリプトを運用していらっしゃるサイトさんもありますので諦めがつきません。
0727nobodyさん
2007/05/21(月) 14:39:35ID:???パーミッションの設定で同じグループに属するユーザに権限を与えるとディレクトリにアクセスできるのですが・・・?
0729nobodyさん
2007/05/21(月) 15:05:42ID:???0731nobodyさん
2007/05/21(月) 15:15:30ID:???0732nobodyさん
2007/05/21(月) 15:27:06ID:tU+w3yaBimg srcでそのファイルを指定する事は可能でしょうか?
0735nobodyさん
2007/05/21(月) 15:36:03ID:O1legeAP0736nobodyさん
2007/05/21(月) 15:45:34ID:???アクセスカウンタ?それとも瞬間のアクセス数?
前者ならページを開いたときにインクリメントするものを作れば出来る
後者じゃないとは思うけど・・・
後者ならWEB(apache)のログを解析するしかないんじゃないの?
0737nobodyさん
2007/05/21(月) 15:48:19ID:???ログ解析なんか関係ない。ある種>>695と同じような質問だな。
とりあえずラフなもんなら、sessionを時間で区切って数えてやる。
今まさに「ブラウズ中」カウントしたいならajaxあたりでやる。
0738nobodyさん
2007/05/21(月) 16:46:11ID:oCyouogRPHPでSJISの文字を受け取り、EUC-JPに変換後、MySQLに格納しているんですがなぜか"ー"の文字だけ"?"に文字化けします。
PHPは5.1.6
MySQLのDEFAULT CHARSETはEUC-JPです。
色々見てみた結果、MySQLに格納しる前は普通に"ー"であるようなのです。
完全にMySQLの質問ですが、この板がホームな私にお力お貸しください。
0739nobodyさん
2007/05/21(月) 16:49:39ID:???>完全にMySQLの質問ですが、この板がホームな私にお力お貸しください。
こういう書き方は不愉快ですね。
0741738
2007/05/21(月) 16:56:42ID:oCyouogR不愉快な気持ちにさせてしまってすみません;;
MySQLは作成時に(create table時に)DEFAULT CHARSET=ujisにしています
ただ(文字コードEUC-JP)SSHでみると文字化けしています。
一度確認してみます。ありがとうございます。
>>740さん
返レスありがとうございます
そこは何度も確認したのであっているようです。
一度、EUC-JPに変換したものを再度SJISに変換してechoしたところ"ー"は文字化けしていませんでした。
0742nobodyさん
2007/05/21(月) 17:08:35ID:???0743738
2007/05/21(月) 17:15:17ID:oCyouogRprotected function UpdatePage1(&$str) {
var_dump($str['title']); //この時点では文字化けなし
mb_convert_variables("EUC-JP", "SJIS", $str);
var_dump(mb_conbert_encoding($str['title'], 'EUC-JP', 'SJIS')); //
$sql =
"UPDATE `hoge_tbl` SET `title`='".$str['title']."', `msg`='".$str['msg']."' WHERE `seq`=".$this->_values['seq'];
echo $sql;
parent::mysql_insert($sql);
}
0744738
2007/05/21(月) 17:17:55ID:oCyouogRaddslashesは助長になるので省いてますがきちんとconvertの後にかけてます。
DBに書き込む前のdumpでは文字化けしていません。
0745nobodyさん
2007/05/21(月) 17:21:27ID:???意味わからん。
>mb_convert_variables("EUC-JP", "SJIS", $str);
>var_dump(mb_conbert_encoding($str['title'], 'EUC-JP', 'SJIS'));<−−このタイポは問わないとして。
デバッグするなら
var_dump(mb_convert_variables("EUC-JP", "SJIS", $str));
のほうだろ。
0746738
2007/05/21(月) 17:39:41ID:oCyouogRご指摘ありがとうございます。
試した結果、EUC-JPでした。。
0747nobodyさん
2007/05/21(月) 17:56:24ID:O1legeAP勉強になりました。ありがとうございました。
0748nobodyさん
2007/05/21(月) 18:25:11ID:gTv1f8Kghttp://www.excite.co.jp/world/english/
に、
POSTで「こんにちは」を送信したところ、
翻訳されたら「S O. Tsu」と、変な変換になってしまいます。
$word = mb_convert_encoding($word,"SJIS","auto");
$post = 'before='. $word .'&wb_lp=JAEN&start=翻訳';
こっちはSJISで送信して、UTF-8で受け取っています。
$request = "POST $post_url HTTP/1.0\r\n";
$request.= "Host: $parse_url[host]\r\n";
$request.= "User-Agent: PHP/" . phpversion() . "\r\n";
$request.= "Content-type: application/x-www-form-urlencoded; charset=SJIS\r\n";
$request.= "Content-Length: " . strlen($post) . "\r\n";
//$request.= "Referer: $url\r\n";
$request.= "\r\n";
$request.= "{$post}\r\n";
おそらく途中で文字化けしていると思うのですが、どうして文字化けしてしまうのでしょうか?
ちなみに、英⇒和だと正しく変換されます
0749nobodyさん
2007/05/21(月) 18:52:01ID:???>Content-type: application/x-www-form-urlencoded;
この意味もわからずにどっかから取ってきたコードで、自分の水準以上のことをやるからそうなる
0750nobodyさん
2007/05/21(月) 19:08:59ID:O1legeAPTrueTypeフォントというのはパソコンを買ったときからC:\WINDOWS\fontsにたくさん入っているんですけど
このフォントディレクトリを指定したいのですがエラーがでて困り果ててます。
putenv('GDFONTPATH=' . realpath('C:\WINDOWS\fonts'));
っって記述はフォントへのディレクトリを指定しているつもりですが間違ってましたらご教授願います。
ソースはこれです
<?php
header("Content-type: image/png");
putenv('GDFONTPATH=' . realpath('C:\WINDOWS\fonts'));
$text = 'test'';
$font = 'arial.ttf';
$im = imagecreatetruecolor(400, 30);
$white = imagecolorallocate($im, 255, 255, 255);
$grey = imagecolorallocate($im, 128, 128, 128);
$black = imagecolorallocate($im, 0, 0, 0);
imagefilledrectangle($im, 0, 0, 399, 29, $white);
imagettftext($im, 20, 0, 11, 21, $grey, $font, $text);
imagettftext($im, 20, 0, 10, 20, $black, $font, $text);
imagepng($im);
imagedestroy($im);
?>
0751nobodyさん
2007/05/21(月) 19:14:19ID:EzwH2Xng>$text = 'test'';
これが問題なだけでしょ。
0752nobodyさん
2007/05/21(月) 19:23:14ID:O1legeAPそれも直してみたのですが、やはりパスが通りませんでした。
putenvを消して、$fontに絶対パスで記入したら動くのですが・・・私にはわかりません
0753732
2007/05/21(月) 19:36:27ID:f9N/ntIf試してみても動かないので
動いてる参考例ってないですか?
0754nobodyさん
2007/05/21(月) 19:55:17ID:???<img src="imgview.php?id=AAAAA">
【imgview.php】
<?php
if(! preg_match('/^\w+$/', $_GET['id'])) exit;
header("Content-type: image/jpeg");
readfile("../image/" . $_GET['id'] . ".jpg");
?>
とか?
0755732
2007/05/21(月) 20:18:22ID:f9N/ntIfなるほど、試してみます
0756nobodyさん
2007/05/21(月) 20:54:00ID:EzwH2Xngじゃあ
putenv('GDFONTPATH=' . realpath('C:\WINDOWS\fonts'));
echo getenv("GDFONTPATH");
の二行だけ試せよ。ワカラン厨はイラナイ
0757nobodyさん
2007/05/21(月) 21:01:46ID:???putenv('GDFONTPATH=C:\WINDOWS\fonts'));
駄目だったら
$tmp=getcwd();
chdir('C:\WINDOWS\fonts');
putenv('GDFONTPATH=' . realpath('.'));
chdir($tmp);
0758nobodyさん
2007/05/21(月) 21:25:08ID:???0760nobodyさん
2007/05/21(月) 21:52:52ID:???putenv('GDFONTPATH=' . realpath('C:\WINDOWS\fonts'));
$text = 'test'';
$font = 'arial'; // 拡張子を取る
でどうかな。
0762nobodyさん
2007/05/21(月) 22:30:18ID:EzwH2Xnggetenvを消したら動く
↓
じゃあgetenvが「悪さ」してるかもしれない。→という仮定の下、XXXを試してみた
とかいうのは、全然、ワカラン厨じゃないよ。質問者が思考停止しててどうするというこった。
0766nobodyさん
2007/05/22(火) 01:02:05ID:???0767nobodyさん
2007/05/22(火) 01:11:51ID:???0768nobodyさん
2007/05/22(火) 06:12:55ID:uBXy9NM+これは複数のブログのrssを表示させることが可能ですが、1つのサイトについて
1件しか標示させれません。
1つのサイトに付き10件ぐらい表示させる方法はないでしょうか?
ttp://210.143.110.132/~php/net/rss/rssup.php.txt(ソースです)
ほんとすいません。
アドバイス教えて下さい。
0769nobodyさん
2007/05/22(火) 06:21:32ID:???0770nobodyさん
2007/05/22(火) 06:37:08ID:uBXy9NM+すいませんでした><
0771nobodyさん
2007/05/22(火) 06:52:38ID:???0772nobodyさん
2007/05/22(火) 06:55:04ID:???0773nobodyさん
2007/05/22(火) 07:10:30ID:???0774nobodyさん
2007/05/22(火) 07:49:05ID:F6/h/Ppdsetcookie("cookie", "hello", time()+60*60*24);
このとき、クライアントにクッキーが発行されるのですが、XSSは発生ケースも考えられるでしょうか?
2番目のhelloにhtmlspecialcharsをかませるべきですかね?
0775nobodyさん
2007/05/22(火) 08:07:49ID:???そこはXSSに関係ないんじゃ。あとhelloにhtmlspecialcharsをかませてもhelloだよ。
むしろその推測しやすい値を何とかした方がいいよ。
0777nobodyさん
2007/05/22(火) 10:05:13ID:???0778nobodyさん
2007/05/22(火) 10:12:16ID:F6/h/Ppd>>775さんありがとうございます。クッキーを送信するときにhtmlspecialcharsは必要ないのですね。
クッキーを読み込むときのみサニタイズすることにします。
ありがとうございました。
0779nobodyさん
2007/05/22(火) 11:03:40ID:???>>768
まずPHPの言語リファレンス読んだほうが確実に早いと思うぞ?
このまま試行錯誤→10日くらいかかる
リファレンス読む→1日+試行錯誤→3日
0780nobodyさん
2007/05/22(火) 11:12:44ID:???俺の場合
このまま思考錯誤→検索して似たようなサンプルを探してみる→3日くらい
マニュアルを読んでみる→眠くなる→気がつけば1ヶ月→結局何も頭に入ってない
0781nobodyさん
2007/05/22(火) 11:15:00ID:???0782nobodyさん
2007/05/22(火) 11:45:23ID:O7vxYa15例文がちょっとずつついてると嬉しいのですが
0783nobodyさん
2007/05/22(火) 11:48:02ID:O7vxYa15○ よく使う関数
関す名を頻繁にど忘れするので、いつも手元に置いておけて、関数名と使い方をいっぺんに
思い出せるようなものが良いです お願いします
0784nobodyさん
2007/05/22(火) 11:52:11ID:???"hello"が実際は$_GET['password']みたいなことはないよな?
>>783
お前がよく使う関数なんてお前とお前の上司しか分からんわな。
0785nobodyさん
2007/05/22(火) 11:55:08ID:O7vxYa15正式なマニュアルだと1回も使ったことない・見たことがない関数ってありませんか?
そういう関数を省いた最小限+α的な良質なものが欲しいのですが…
0788nobodyさん
2007/05/22(火) 11:58:49ID:???ばか?
0789nobodyさん
2007/05/22(火) 12:03:14ID:O7vxYa15最近「ほしい関数」をど忘れするんです 会社は外のネットに繋がってないからググれないし
やっぱり正式マニュアルに手を入れて自分用のをものを作る方がよさそうですね
時間見つけてやってみます ありがとうございました
0790nobodyさん
2007/05/22(火) 12:04:20ID:O7vxYa15あ、はい、そうします
0791nobodyさん
2007/05/22(火) 12:10:38ID:???こういうのとか?
0796nobodyさん
2007/05/22(火) 13:19:25ID:O7vxYa15わざわざありがとうございます
本屋に行ったら手にとってみます
0797nobodyさん
2007/05/22(火) 13:20:47ID:F6/h/Ppdいえ、パスワードではないです。
0798nobodyさん
2007/05/22(火) 16:09:14ID:???0799nobodyさん
2007/05/22(火) 16:11:44ID:mMfdQs0Kじゃあお言葉に甘えて・・・
スクリプトの実行にかかる時間を計るとき、どのようにして計ってます?
0800nobodyさん
2007/05/22(火) 16:21:36ID:???http://jp.php.net/microtime
これかな
0801nobodyさん
2007/05/22(火) 16:41:13ID:mMfdQs0Kサンクス
でも、これって_秒しか測れない?
0802nobodyさん
2007/05/22(火) 16:42:03ID:???0803nobodyさん
2007/05/22(火) 16:43:00ID:???0804nobodyさん
2007/05/22(火) 16:43:47ID:mMfdQs0K0.14062700 1179819807
って
0.140627001179819807秒
かと思ってたわ・・・
吊ってくる・・・
0806nobodyさん
2007/05/22(火) 16:55:30ID:???0807nobodyさん
2007/05/22(火) 17:14:33ID:???すこしテクつかうがmicrotime以上のナノレベルで時間を計測できるやり方もあるぞ。
鯖がwinだとできないけどな。
0808nobodyさん
2007/05/22(火) 17:49:52ID:???0809nobodyさん
2007/05/22(火) 18:12:07ID:jzN7NBa+どうすればいいですか?
0811nobodyさん
2007/05/22(火) 18:29:52ID:???写真を押したら 個別情報に遷移 みたいな
サイト構築しようとおもったらPHPがいいですかね?
PHPのイメージでそういったモジュールなどありそうかなと思いまして。。。
当方ASP.NETでしか製作したことがない者です。
助言よろしくお願いします。
0812812
2007/05/22(火) 18:34:07ID:???プログラム板に書き込んだはずなのにな・・・
失礼しました。
0813nobodyさん
2007/05/22(火) 18:38:40ID:???写真を押したら 個別情報に遷移==女の子の詳細に遷移
某スレの>>1乙
0814nobodyさん
2007/05/22(火) 18:44:10ID:???0816nobodyさん
2007/05/22(火) 19:19:26ID:tEC72BDcフラッシュのswfファイルのアドレスを秘匿したいのですが
例えば、swf.phpのアクセスがそのままこちらの指定したアドレスのswfファイルになるようなことはできないでしょうか?
また、htmlにswf埋め込んだ形のNGと考えています。(携帯での閲覧も考えているので)
もしかしたら変なことを聞いているかもしれないですけれどよろしくお願いします。
OSはXP-SP2でPHPは5です。
0818nobodyさん
2007/05/22(火) 19:29:07ID:???# .swf -> fugo.cgi
Action application/x-shockwave-flash /hoge/fugo.php
↑のような.htaccessを置くと、配下の.swf(正確にはMIMEタイプがswf)のファイルへの
リクエストが全てfugo.phpへ転送されます。そしてfugo.phpに環境変数PATH_INFOとして、
たとえば/fugo/hoge.swfが渡されます。
ttp://mikeneko.creator.club.ne.jp/~lab/web/htaccess/mime.html
0819nobodyさん
2007/05/22(火) 19:54:48ID:y22J0WYH静的メソッド内においてインスタンス変数は使えないのですか?
使い方が間違ってるとかおかしいとか言われるかもしれませんが、
技術的にどう書けば使えるのかなーと思って聞いてみました。
クラスは最近始めたので、実はよくわかってませんので、
意味不明なこと言ってるかもしれませんがお許しをorz
ソースはこんなかんじです。
class Test {
private $hoge;
public static function hoge($hoge) {
$hoge = $this->hoge;
return $this->hoge;
}
}
echo Test::hoge("aho"); //Fetal Error
$obj = new Test();
echo $obj->hoge("aho"); //こちらも同じFatal error
0821nobodyさん
2007/05/22(火) 20:10:39ID:???> クラスにおいてstaticとインスタンスは正反対みたいですが
この時点で理解不足
結城浩のJavaの本でも買って一字一句嫁
0822nobodyさん
2007/05/22(火) 20:18:40ID:???突っ込みどころが満載だが静的アクセスするにはself::を使う。
self::$hoge
メンバ変数も静的じゃないといかんが。
0823nobodyさん
2007/05/22(火) 20:32:15ID:???>$hoge = $this->hoge;
これはなんですか?
0824nobodyさん
2007/05/22(火) 20:49:17ID:F6/h/Ppdまた元の文字に戻したいのですが思ったとおりの結果にならず悩んでおります。
どなたかご指摘お願いいたします。
$a = bin2hex("い");
$b = ord($a);
echo sprintf("%c", $b);
0826nobodyさん
2007/05/22(火) 21:34:44ID:F6/h/Ppdpackの使い方について勉強不足でした。
おかげさまで解決できました。
ありがとうございました。
0827nobodyさん
2007/05/23(水) 00:02:35ID:???もうCでCGI作ろうかと思う。やってらんねphp
0828nobodyさん
2007/05/23(水) 00:19:40ID:???0829nobodyさん
2007/05/23(水) 00:34:58ID:???0831nobodyさん
2007/05/23(水) 00:38:19ID:gBlhHgMKどうすればいいですか?
0832nobodyさん
2007/05/23(水) 00:39:30ID:???俺とC#やろうぜ!
CはIDE使うよりviでゴリゴリ開発→gccでコンパイル
この一連の流れが痺れるびびびびびびびびびび
0835nobodyさん
2007/05/23(水) 01:58:10ID:NI0qIs2dセッションのファイルを数えるといいと以前ここで読んだのですが
レンタルサーバでファイルの保存場所にアクセスできない場合はどうすればいいでしょうか?
0836nobodyさん
2007/05/23(水) 01:59:05ID:gBlhHgMKfatal errorが記録されません
fatal errorはどうすればハンドリング出来ますか?
0837nobodyさん
2007/05/23(水) 01:59:12ID:4AGNtahW自宅のサーバーだとPHPでフォルダ作成ができません。
何が原因でしょうか?
0838816
2007/05/23(水) 01:59:54ID:???XPはクライアント側でした。
>>818
いろいろ調べてみたところ.htaccesssで制限やリクエストを制御するのがよさそうですね。
レスありがとうでした。
0839nobodyさん
2007/05/23(水) 02:01:33ID:???共有サーバでセッション使ったスクリプトなんてやめたほうがいい
0841nobodyさん
2007/05/23(水) 02:52:32ID:???PHPのアホさ加減で結局ソースを読む羽目になる事の方が大きいと思うぞ。
0842nobodyさん
2007/05/23(水) 03:09:44ID:4AGNtahWレスありがとうございます
自宅のサーバーはLINUXで、パーミッションは755です。
php.iniのsafe_modeとかの関係でしょうか?
0844nobodyさん
2007/05/23(水) 04:06:01ID:???確かセーフモードの設定で書き込み可否を制御できたはず
0845819
2007/05/23(水) 06:28:20ID:???>>821
理解不足でしたか・・・
お金ないのでWebで頑張りますorz
>>822
ありがとうございます。
両方とも静的じゃないとだめなのですね。
教えていただいたとおりやったところ表示されました。
>>823
反対でしたね・・・すみません。
class Test {
private static $hoge;
public static function hoge($hoge) {
self::$hoge = $hoge;
return self::$hoge;
}
}
echo Test::hoge("aho");
0847nobodyさん
2007/05/23(水) 10:20:24ID:Jt45AIDDデータベースに入ってる項目の並びかえってどうしてますか?
ユーザーが任意の順番に並び変えられるように作りたいのですが、
私が見かけたシステムでは、sort_orderというFLOATのカラムを持たせて
アプリ側では、各項目に↑↓の矢印があって一回変えるたびにその行の
sort_orderをDB登録してあげたり下げたりしていました。
新しい場所の上と下のsort_orderの間に入れるので2で割って、sort_orderが1000.5みたいに
FLOATにしてるみたいでした。
で、作りたいものは、ドラッグアンドドロップで並び替えられるようにしたいんです。
aculo.usを使って画面側はなんとなくできてるんですけど、今の仕様だと
並び替えたもののsort_orderが上から順番に通し番号が振られる感じなんです。
つまり並び替えた対象のほとんどの行のsort_orderを更新することになります。
これをこのまま、DBに登録するとなると、UPDATE対象が上記の方法より格段に増えるじゃないですか?
といっても、一番多い並び替えは5〜10件くらいのUPDATEで済みそうで、最高でも100件はないと思うんですよ。
並び替えの回数自体はユーザーしだいなのでなんともいませんが
、1ユーザー毎日2・3回、予想ユーザーは1000人くらいでしょうか。
sort_orderにはINDEXもはっていないし、サーバーも専用で結構パワーがあって、メモリも4G積んでるので
問題ないかなって気もするですけど、この設計ってまずいでしょうか?
他に思いつくのは、受け取った並び順をPHP側で、更新前のsort_orderと見比べて前者のFLOATを使っていた
時と同じような、パターンのsort_orderに変換して、更新のあったものを登録するとか・・・めんどい><
javascript側でその様な機能を実装するとか・・・あんまりjsは得意じゃないんですよね。
何か意見ありましたらお願いします。
わかりづらい長文をだらだら書いてごめんなさい。
0848nobodyさん
2007/05/23(水) 10:31:51ID:???0850nobodyさん
2007/05/23(水) 10:34:43ID:???略
>javascript側でその様な機能を実装するとか・・・あんまりjsは得意じゃないんですよね。
おととい来なさい。自分で使っているものがなにかをわからないで、設計も糞もないだろ。
0851nobodyさん
2007/05/23(水) 10:40:00ID:???1質問でひとつ答えを頂いて1つ解決できるような書き方を心がけるべきです。
多くの読み手に自分の質問を読んでもらいための知恵を使ってください。
わたしはスルーします。
0852nobodyさん
2007/05/23(水) 10:52:43ID:???D&Dってことは、そんなにたくさん表示されてないんだろ? そこの範囲を全部書き換えろ。
もしくは、sort_orderを10刻みにして、隙間がなくなったところでsort_orderをふり直せ。
0853nobodyさん
2007/05/23(水) 11:29:38ID:???0854nobodyさん
2007/05/23(水) 12:24:12ID:???あれー、くるくるくるぅう
みたいな?
0855nobodyさん
2007/05/23(水) 12:35:12ID:???0856nobodyさん
2007/05/23(水) 13:16:49ID:VINgQQ+Wfloatのやり方すら知らなかったから
いちいち全行updateしてたよ
こういうsqlのtipsみたいのがまとめられてる本ある?
0858847
2007/05/23(水) 13:22:20ID:Jt45AIDDjavascriptで最小限のものだけsort_orderを書き換えるように作ってみました。
で、Ajaxで毎回リクエスト投げて、保存しようかとも思ったんですけど
負荷的にも、ユーザビリティ的にも、確実性を考えても、並び替えは
クライアント側で完全に決まってから
submitで>>852さんの言うとおり変えた範囲を全部更新にしようかと思います。
sort_orderをFLOATにして、前後と比べて、割って、とかしても2・3個並び変えると結局全部更新になっちゃうんですよね。
稼動してみて、負荷を見て考えればいいのかもしれません。
みなさんレスありがとうございました。
0859nobodyさん
2007/05/23(水) 13:56:36ID:AZyDs042test1.php test2.php test3.php と3つファイルがあって
test1.php で test2.php と test3.php をincludeします。
test2.phpは処理が早いのですがtest3.phpが処理がとても大きくて遅くなってしまいます。
test1.phpに先に出た処理test2.phpを先に表示することはできますか?
0860nobodyさん
2007/05/23(水) 13:58:19ID:???0861nobodyさん
2007/05/23(水) 14:12:05ID:???str_pad、flush使えばできる
0862nobodyさん
2007/05/23(水) 14:28:10ID:???test2実行 > 表示 bodyタグでonload > Ajaxで通信しtest3実行 >
> データ送受信 > HTMLを書き換える
でどうだろう??
0863nobodyさん
2007/05/23(水) 16:15:18ID:AZyDs042返事遅れてスイマセン
>>862の方法でやってみようと思ってます。
ありがとうございました。
0864nobodyさん
2007/05/23(水) 17:27:43ID:G3BjkUek具体的に教えてください
0865nobodyさん
2007/05/23(水) 18:23:26ID:???0866nobodyさん
2007/05/23(水) 19:16:01ID:g5YZ+s6c<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML><HEAD>
<META http-equiv=Content-Type content="text/html; charset=shift_jis"></HEAD>
<BODY></BODY></HTML>
と出力していないDOCTYPE宣言などなどがブラウザに送信されて
きます。なぜでしょう? phpinfo()は見れるのですが・・・。
環境は
WindowsXP SP2
PHP5.2.1
Apache2.0.59
です。httpd.confの設定がおかしいのでしょうか?
0867nobodyさん
2007/05/23(水) 20:59:31ID:???0868nobodyさん
2007/05/23(水) 21:47:36ID:???0869nobodyさん
2007/05/23(水) 21:47:40ID:p2WOZVTN僕は、大学生ですが、PHPを最近真剣にやっていて、3ヶ月くらいたち
SmartyとPEARの入門的な部分までやりました。SmartyやPearをつかわなかったら
色々作れる自信はあるんですが。
今の状態でPHPのバイトは勤まりますか?
0871nobodyさん
2007/05/23(水) 22:30:41ID:???実力があるかどうかだ
0872nobodyさん
2007/05/23(水) 22:54:55ID:???0873nobodyさん
2007/05/23(水) 23:46:32ID:???javascript以外でカレンダーを作りたいのですが
作ったカレンダーをダイヤログのように親画面から開き
選択した日付を親画面に返すと言った事はできますか?
又、参考になるHPを御存知でしたら教えて頂けませんか?
以上、宜しくお願いします。
0875873
2007/05/24(木) 00:08:33ID:D8XE6M0OID忘れました。
さらに言えば、スレタイに「PHP」って書いてあるのも見逃していました。
特にPHPって言うわけではないのですが、
技術的にできるのか疑問に思ったので・・・
できれば宜しくお願い致します。
0878nobodyさん
2007/05/24(木) 00:42:29ID:???0879873
2007/05/24(木) 00:42:33ID:D8XE6M0Oどうもありがとうございます。
さっそくググってみたいと思います。
>>876
「下らねぇ質問」って言うのが目に入ったので。
0881nobodyさん
2007/05/24(木) 01:02:39ID:???確かOpenLaszloも新しいバージョン出たよな?
まぁ、PHPは関係ないけどこれからはオープン
なFlashで構築ってな案件どんどん増えそう。
で、DB接続部分とか細かいとこはJavaとか
PHPで。
0882nobodyさん
2007/05/24(木) 01:05:22ID:???0883nobodyさん
2007/05/24(木) 01:18:04ID:???@fileで呼び出したtxtファイルから画像のサイズが取得できません。
中身はexplodeで区切ってあります ($filename,$comment)
list($width,$height) = @getimagesize($filename); こんな感じでごく普通に記述してるんですけど…
どうしてうまくいかないのかさっぱりわからないのでどなたか御教授お願いします
鯖のバージョンは5.2.0でした。
0885883
2007/05/24(木) 01:31:24ID:+SGQ/Lly0886nobodyさん
2007/05/24(木) 01:33:42ID:???0888nobodyさん
2007/05/24(木) 01:38:51ID:???@file('foo')
@getimagesize($bar);
のようにエラー出力を抑制してワカリマセンっていうのをまずなんとかすべきじゃないの。
fileでホントに呼び出せてるのか、$filenameが正しいパスにあるかどうか自体を確かめてないと
しか思えないような質問だ。
if(file_exists($filename)) {
var_dump(getimagesize($filename));
} else {
exit('no exist');
}
ぐらい確かめてから、質問しにきてください。
0889nobodyさん
2007/05/24(木) 03:00:55ID:pCKisbgl<html lang="ja">
<head>
<meta http-equiv="Content-type" content="text/html; charset=EUC-JP">
<title>test</title></head>
<body>
文字を入れて送信を押す<b>
<form method="post" action="gc.php">
<input type="text" name="data" size="30">
<input type="submit" value="送信">
</form>
<?php
$data = $_POST['data'];
// echo "<hr> $data";
$file = fopen("log.txt","a+");
fputs($file,$data);
fclose($file);
$filepointer = fopen('log.txt',r);
while(!feof($filepointer)){
$fileline = fgets($filepointer);
echo " <hr> $fileline";
}
?>
</body>
</html>
こうすると、リロードするたびに書いた文字が追加されてしまうんですが、どうしたらよいでしょう?
たぶん、一度別ページに飛ばせば楽なんだろうけど、1ファイルで済ませたいので。
0890nobodyさん
2007/05/24(木) 03:21:46ID:???0892nobodyさん
2007/05/24(木) 03:37:00ID:???0894nobodyさん
2007/05/24(木) 04:36:24ID:???0895nobodyさん
2007/05/24(木) 05:49:05ID:???0896nobodyさん
2007/05/24(木) 09:35:00ID:???オレモ
個人はどーでもいいとして、Flash無いと読めない企業の
クソトップだけは何とか改善を願いたい。
PC関連は特にな。PC-Depotの知能が知れる。
ttp://www.pcdepot.co.jp/
0897nobodyさん
2007/05/24(木) 09:40:55ID:FJNwm9Bz早い話、Fetal ErrorやWarning等のメッセージが出る所を、
他のエラーメッセージに変えたり、
エラーが出た箇所でログをとったりする機能のことをさすんですよね?
PHPでいい解説サイトが見つからなかったので、(説明がわかりにくかったので)
Javaのわかりやすそうなサイトで勉強しているのですが、
ttp://www.javaroad.jp/java_exception1.htm
この例題2の任意の例外処理を行った例を、PHPで再現したいのですがうまくいきません。
try {
$x = 10 / 0;
} catch (Exception $e) {
echo "0で除算はできません。";
}
マニュアルを見る限りだと、
PHPの場合はもっと細かい設定みたいなことをしないといけないのでしょうか?
0898nobodyさん
2007/05/24(木) 09:57:37ID:???0899nobodyさん
2007/05/24(木) 10:06:32ID:FJNwm9Bzぱっと見ましたが例外処理とは関係ありませんよね?
0900nobodyさん
2007/05/24(木) 10:14:55ID:???分かっているじゃないか
そのjavaの例の例外処理と、Fetal ErrorやWarningが
出るところは関係ない
0901nobodyさん
2007/05/24(木) 10:29:23ID:FJNwm9Bzなるほど・・・
Javaと混同してたのが原因ですね。
もうすこし考えなおしてみます。
0902nobodyさん
2007/05/24(木) 10:37:43ID:???0903nobodyさん
2007/05/24(木) 11:22:07ID:???returnが返り値で、戻り値は・・・・
0904nobodyさん
2007/05/24(木) 11:44:30ID:???Java用語辞書ではあるが
http://www.kab-studio.biz/Programing/JavaA2Z/Word/00000157.html
0905nobodyさん
2007/05/24(木) 12:36:09ID:???もうそろそろだよな?
0907nobodyさん
2007/05/24(木) 14:41:50ID:???PHPを基準に考えてはいけない。
例外処理構文は通常処理と例外処理を分離して、
例外が発生した場合、tryブロックのそれ以降をすっ飛ばして
例外処理を一括して行ったり、例外の種類によって処理を変えたりするもの。
本来本格的なオブジェクト指向言語だと全てのエラーはExceptionクラスから派生してる。
ところがPHPはなんちゃってオブジェクト指向なのでほとんどただのエラーが返ってくる。
PDOクラスなんかでは例外を投げるように出来るんだけども。
だから例外処理構文としてはそれで間違ってはいない。
ただcatch(Exception)なんかでまとめて受け取るときは
echo $e->getMessage();
とした方がいいかな。
でまぁ結局、PHPのゼロ除算では例外を投げずにただのエラーを吐くだけなので使えないんだけど。
0908nobodyさん
2007/05/24(木) 15:10:53ID:Ultn4Y5Qよろしくお願いします
アップされるファイルの元々のファイル名がhoge.jpgだったとします
これをそのままの名前で保存した場合、すでに保存してあるファイル名と被る可能性があるわけで、
絶対に被らないような名前にする(私の場合は、登録するレコードのIDをファイル名につけています)が、
ダウンロードする場合、当然ですが、変更された味気ないファイル名、1.jpgになります
元々のファイル名でダウンロードさせるいい方法はありますか?
ちなみにテーブルはこうなっています
Tbl_file
【id】 【ファイル名(リネームされたやつ)】 【元々のファイル名】
1 1.jpg hoge.jpg
2 2.txt test.txt
3 3.jpg nantoka.jpg
0909908
2007/05/24(木) 15:14:52ID:Ultn4Y5Q【id】【ファイル名】【元々のファイル名】
1 1.jpg hoge.jpg
2 2.txt test.txt
3 3.jpg nantoka.jpg
0910nobodyさん
2007/05/24(木) 15:22:13ID:???header('Content-Disposition: attachment; filename="hoge.jpg")
0911908
2007/05/24(木) 15:29:24ID:Ultn4Y5Q素早い回答ありがとうございます
本当に助かりました
ありがとうございました
0912nobodyさん
2007/05/24(木) 15:34:49ID:IzNiejk0馬鹿の見本
0913nobodyさん
2007/05/24(木) 16:01:36ID:FJNwm9Bzどうもありがとうございます。
その説明で納得しました。
JavaのエラーとPHPのエラーは意味あいが違うのですね。
PHPにあわせた書き方ができるように精進します。
0914nobodyさん
2007/05/24(木) 16:05:55ID:o0IpBJnIif($_POST['name'] == "") { 該当処理 }
0915nobodyさん
2007/05/24(木) 16:10:49ID:c6PcIOvM0916914
2007/05/24(木) 16:17:00ID:o0IpBJnIありがとうございます。
0917nobodyさん
2007/05/24(木) 19:20:00ID:???$a = array(0=>"ゼロ",1=>"イチ");
$b = array(9=>"キュー");
array_merge や array_unshift を使うとキーが初期化されてしまいます
そこで $array = $a+$b; としたら思い通りの答えを取得できたのですが
マニュアルを見る限り上記のような方法を書いていないようなので
もっとちゃんとしたやり方があるなら教えてもらえませんか?
0918917
2007/05/24(木) 19:21:07ID:6SP9BKjt0919nobodyさん
2007/05/24(木) 19:36:00ID:???http://jp.php.net/manual/ja/language.operators.array.php
0920917
2007/05/24(木) 19:38:24ID:6SP9BKjt配列演算子なんてあるんですね
知りませんでした
ありがとうございます。
0921nobodyさん
2007/05/24(木) 20:23:53ID:???見てないくせに嘘書くなよ
0922nobodyさん
2007/05/24(木) 21:02:38ID:Bi1+wQVs<br>本文
<br><textarea name="value" rows="20" cols="70"></textarea>
取得側
$value = $_POST['value'];
$value_size = strlen($value);
上記の入力側で、テキストエリアに(日本語の混在時も英数のみ時も)
データを数百バイト以上いれてPOSTすると、取得側処理でサーバが落ちます。
テスト用なので鯖はT.N.L HTTP Serverっていうのでやってます。
phpは4.3です。
どういう理由で落ちるのか、またその回避方法を教えていただけませんか?
0923nobodyさん
2007/05/24(木) 21:20:21ID:c6PcIOvMそういう理由で落ちてるだけだ
0924nobodyさん
2007/05/24(木) 23:28:17ID:???詳しく解説しているサイトや書籍が全然ないですね。
いずれ顧客管理もPHPで作りたいのでPerlではやらないでおこうとおもうのですが、
参考になるサイトや本ってないですか?
0925nobodyさん
2007/05/24(木) 23:32:25ID:???http://www.google.co.jp/search?hl=ja&q=php+%E3%83%A1%E3%83%BC%E3%83%AB%E3%83%95%E3%82%A9%E3%83%BC%E3%83%A0%E3%80%80%E3%82%B9%E3%82%AF%E3%83%AA%E3%83%97%E3%83%88&lr=
0926nobodyさん
2007/05/24(木) 23:49:00ID:???0927nobodyさん
2007/05/25(金) 00:04:33ID:???0928nobodyさん
2007/05/25(金) 00:05:21ID:???そうそうないだろう
0930924
2007/05/25(金) 00:16:03ID:???マニュアルは読んでいるのですが、全体の設計の説明がなく参考になるサイトを探しています。
>>928
特化までしてなくてもいいんですが、そういうのはないですか。諦めてPerlにしようかな・・・。
0932nobodyさん
2007/05/25(金) 00:23:56ID:???別にPerlで作れるのならそれでいいだろう
0933nobodyさん
2007/05/25(金) 00:40:07ID:QXM8OM610934nobodyさん
2007/05/25(金) 00:54:36ID:???そんなもん探せばいくらでもあるし
http://www.sakura-pc.jp/php/02020000.shtml
こいつがつくったフォームだけは使いたくない、って思ったの俺だけか?
0936nobodyさん
2007/05/25(金) 01:20:02ID:BGp5fjEQ0938936
2007/05/25(金) 01:32:47ID:BGp5fjEQごめんなさい、ちょっと質問を変えます。
メソッド中にreturn;って書くべきなんですか?
0939nobodyさん
2007/05/25(金) 01:34:54ID:???これすごいな。IE6バグ依存で作ってるCSSレイアウトが、他では崩れるにもかからわずそのまま放置ってのが・・
0941nobodyさん
2007/05/25(金) 01:53:26ID:???メソッドというか関数全般そうだろ
0942nobodyさん
2007/05/25(金) 02:05:36ID:???こんなやつのクラスに関数さんは入りたいと思わないよ
0943nobodyさん
2007/05/25(金) 02:06:02ID:???どこ文句つけてるんだよwwww
メルフォの作り方を偉そうに書いてる教えたがり君なんて、しょせんそんなレベルなんだよ
自分で貼っておいてなんだが、extract()の危険性について触れてない(むしろ推奨してる)しね
0944936
2007/05/25(金) 02:15:10ID:BGp5fjEQその答えが知りたかったです。
プロパティにすればreturnで返す必要もないと思うし、
でも本とか見ると、たいていはreturn;って書いてるし。
どっちかなと思い質問しました。
0945nobodyさん
2007/05/25(金) 03:54:05ID:???なら最初からそう書けよ
クラスのメソッド中にreturnを書くべきかという問題と
プロパティ変数に格納するか返り値を返すかの問題は全然違うじゃねーか
0946nobodyさん
2007/05/25(金) 04:11:55ID:???0947nobodyさん
2007/05/25(金) 04:36:26ID:???0948nobodyさん
2007/05/25(金) 05:21:17ID:???0949nobodyさん
2007/05/25(金) 09:04:17ID:???クラスのメソッドって最後にreturn;書くべきなの?
↓
ごめんなさい、ちょっと質問を変えます。
↓
その答えが知りたかったです。
↓
わからないから聞いたのになんでそんなこといわれないといけないんですかっ!
↓
ハァ?お前が人間やめとけ。
0950nobodyさん
2007/05/25(金) 10:18:21ID:kfg7VEbwいまチャットを作っていまして、自分がメッセージを投稿したか、○秒ごとかに
画面の更新をしています。
これがたまたま重なるようなときに「情報を再送信してください」ダイアログが出てくるようです。
これをうまく避ける方法はないでしょうか?
0951nobodyさん
2007/05/25(金) 10:20:57ID:???わけもわからず、なんでもかんでもreturnしてるのはおかしい。
0953950
2007/05/25(金) 11:02:32ID:kfg7VEbw実はAjax挫折してしまった口なんです。
わかりやすい初心者向けサイトとか、おすすめはないでしょうか?
0954nobodyさん
2007/05/25(金) 11:09:22ID:???0956nobodyさん
2007/05/25(金) 11:32:09ID:???0957nobodyさん
2007/05/25(金) 11:32:45ID:???0958nobodyさん
2007/05/25(金) 11:53:44ID:???作ったよ
0960nobodyさん
2007/05/25(金) 12:24:23ID:???0961nobodyさん
2007/05/25(金) 12:31:45ID:???0963nobodyさん
2007/05/25(金) 13:05:32ID:???もうちょっと合わせて作れよwwwww
しかしあれはうまかったな。
単語がたまにマッチしてたりするとこもまた良かった。
ttp://jimaku.in/w/TjCXdlPQraI/N_Xj1b_hnVz
0964nobodyさん
2007/05/25(金) 13:29:10ID:???0965nobodyさん
2007/05/25(金) 15:24:34ID:???何でいつもこの時間は質問がこないわけw
暇で氏にそうだ
0966nobodyさん
2007/05/25(金) 15:26:41ID:3AEIFxDGだから、何でおまえはこの時間暇そうにしてるんだ?w
0967nobodyさん
2007/05/25(金) 15:28:09ID:3AEIFxDG0968950
2007/05/25(金) 15:31:00ID:kfg7VEbwlocation.href="○○.php";に変えたらいけたよ。
ホントお前らは使えない。
0969nobodyさん
2007/05/25(金) 15:33:01ID:3AEIFxDG0971nobodyさん
2007/05/25(金) 16:22:39ID:3AEIFxDGhttp://php.net/manual/en/
http://php.net/manual/ja/
このページの下の方、ってことではないですよね?
すみません、下の方ってどこを指しているのでしょうか…?
0972nobodyさん
2007/05/25(金) 16:34:07ID:???ずらずらとソースがかかれてます
0973nobodyさん
2007/05/25(金) 16:41:13ID:???0974nobodyさん
2007/05/25(金) 16:57:28ID:3AEIFxDGあ、そういう事ですね ありがとうございます!
>>973
自慢じゃないが、>>968より偉そうじゃない自信はあるよ
0975nobodyさん
2007/05/25(金) 17:29:31ID:???0976nobodyさん
2007/05/25(金) 18:01:56ID:???2. なんで(include|require)(_once)?で読み込むphpファイルは地のHTMLが書いてあるとエラーぶっこきますか?
ってそうだっけ?PHPコード外では普通にHTMLでも標準出力してくれると思ってたが
0977nobodyさん
2007/05/25(金) 18:03:02ID:???0978nobodyさん
2007/05/25(金) 18:34:57ID:???その元の記事、何を言っているのかが分からん
// hello.php
Hello<br>
// foo.php
<html>
<body>
<?php requre_once('hello.php'); ?>
</body>
</html>
で、エラーが出るって事かと思ったが
そんなことないよな
記事のさらにリンクにある小飼氏も咆えているね〜
0979nobodyさん
2007/05/25(金) 18:40:55ID:???0982nobodyさん
2007/05/25(金) 19:42:46ID:???0983nobodyさん
2007/05/26(土) 00:03:18ID:???入金を手動で確認して、裏でクリック一つとかでコントロールしてんのかなぁ?
もうちょっとスマートなやり方がありそうな。
0984nobodyさん
2007/05/26(土) 00:16:06ID:???0985nobodyさん
2007/05/26(土) 00:59:02ID:JfY8I1NK前から何度か布教してるけど
このソースは勉強になる
ttp://framework.zend.com/manual/ja/index.html
このフレームワークが良いか悪いか(好きか嫌いか)は別として
どういう風に作ると、変更に強いwebアプリを作れるかマジで勉強になった。
0991nobodyさん
2007/05/26(土) 02:14:04ID:???それはフレームワーク自体のソースを読むといいの?
それともこのフレームワークでシステム構築をしてみて
勉強するのがいいの?
0992nobodyさん
2007/05/26(土) 02:19:48ID:???0993nobodyさん
2007/05/26(土) 04:17:34ID:???クレジットとかプリペイドとかのオンライン決済なら
よっぽど重要なサービスでもない限り
自動で処理させてるけどなぁ。
手動操作のサイトなんてそんなにたくさんあるの?
0996nobodyさん
2007/05/26(土) 14:57:51ID:26ICpUA0$body = htmlspecialchars($body);
$pattern = "(https?:\/\/[-_.!~*'()a-zA-Z0-9;/?:@&=+$,%#]+)";
$replacement = "<a href=\"\\1\">\\1</a>";
echo preg_replace($pattern, $replacement, $body);
/*
Result: "I am PHP! <a href="http://www.php.net/&lt;>">http://www.php.net/&lt;></a>"
$bodyをサニタイズしているので、"< >"がハイパーリンクのアンカー文字列に
含まれてしまいます。どうしたらよいのでしょうか?
*/
0998nobodyさん
2007/05/26(土) 19:44:59ID:???http://pc11.2ch.net/test/read.cgi/php/1178955768/
0999nobodyさん
2007/05/26(土) 20:31:00ID:???1000nobodyさん
2007/05/26(土) 20:31:53ID:???10011001
Over 1000Threadもう書けないので、新しいスレッドを立ててくださいです。。。
レス数が1000を超えています。これ以上書き込みはできません。