トップページ⇒php
1001コメント321KB

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

レス数が1000を超えています。これ以上書き込みはできません。
0001nobodyさん2007/01/10(水) 11:20:10ID:???
PHPに関する質問用スレです。ここならお前の下らない質問に回答があるかも知れません。

まず読め→【PHP マニュアル】http://www.php.net/manual/ja/
PHPで最良の教本はこの公式マニュアル。市販の書籍は嘘が多いので鵜呑みにしない。
過去スレ、関連スレ、FAQなどは>>2-10辺り

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

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

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

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

【その他諸注意】
・正規表現・PEAR・テンプレート(Smarty等)・フレームワークは各該当スレへ http://pc10.2ch.net/php/subback.html
・SQLについての質問はデータベース板(PCカテゴリ)の各スレで http://pc10.2ch.net/db/subback.html
・速さについては自分でベンチをとってここに書け(違う環境の人も調べてくれるかも)
 しかし初心者が目的も定めずに速度を気にしたところでほとんど意味は無いぞ
0002nobodyさん2007/01/10(水) 11:20:34ID:???
■過去ログ
【PHP】下らねぇ質問はここに書き込みやがれ 27
http://pc8.2ch.net/test/read.cgi/php/1156262092/
【PHP】下らねぇ質問はここに書き込みやがれ 28
http://pc8.2ch.net/test/read.cgi/php/1157284868/
【PHP】下らねぇ質問はここに書き込みやがれ 29
http://pc8.2ch.net/test/read.cgi/php/1158434799/
【PHP】下らねぇ質問はここに書き込みやがれ 30
http://pc8.2ch.net/test/read.cgi/php/1159979905/
【PHP】下らねぇ質問はここに書き込みやがれ 31
http://pc8.2ch.net/test/read.cgi/php/1161733546/
【PHP】下らねぇ質問はここに書き込みやがれ 32
http://pc8.2ch.net/test/read.cgi/php/1162818436/
【PHP】下らねぇ質問はここに書き込みやがれ 33
http://pc8.2ch.net/test/read.cgi/php/1164209222/
【PHP】下らねぇ質問はここに書き込みやがれ 34
http://pc8.2ch.net/test/read.cgi/php/1165519374/
0003nobodyさん2007/01/10(水) 11:20:50ID:???
関連リンク
■本家マニュアル   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/01/10(水) 11:21:14ID:???
関連スレ
注:昔は本スレ(PHP質問スレ)というのが別にあったけど、今はここが本スレです。

◆超初心者を自覚してる方ははこちらへどうぞ
くだすれPHP(超初心者用)2
http://pc10.2ch.net/test/read.cgi/php/1164617202/

◆その他
http://pc10.2ch.net/php/subback.html
PHP関連スレは非常に多いのでこの中でブラウザのCTRL+F等で「PHP」を検索!
0005nobodyさん2007/01/10(水) 11:21:34ID:???
【簡易FAQ】
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プログラムとして実行された結果になる。
0006nobodyさん2007/01/10(水) 11:21:52ID:???
10. そもそもインストールの時点でうまくいかない
 → 確認すべきは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/01/10(水) 11:22:12ID:???
「エスパーきぼんぬ」「氏ね」「(゚Д゚)ハァ?」等のレスを貰う八ヶ条。
1. ハードウェア、OSのバージョン等には一字一句触れない。
2. 大切な個人情報が漏れるとまずいので、己の行った操作、変更などは秘密。
3. エラーメッセージの類は決して書かない。「エラーが出るんです」で留める。
目の前で生じている現象をそのまま具体的に書くなどもっての外。
事実より俺様の脳内解釈を優先すべし。
4. 独り言文体で必勝。
「…なんだけど、どうすればいいのかなぁ」「何が悪いんだろう?」
5. 「急いでいます」「困っています」等、自分の都合を全面に押し出す。
6. もう試したことを得意げに指摘してくる奴には、厳しく対応。
「それが駄目だったから質問してるんです」「それはもう試してみて駄目でした」
"どう"だめだったのか、本当に実際それを行ったかどうかなんか問題じゃない。
7. ストレートに答えを書かないもったいぶったレスには、逆切れで対応。
「だからどうすればいいんですか?」「分からないなら引っ込んでろやゴルァ」
示されたURL等を参照するなんて態度は、回答者を甘やかすことに他ならないので
絶対に避ける。
8. 情報は小出しに。

「エスパーきぼんぬ」 補足
上の八ヵ条を「一つでも」満たす者は質問者として不適格だということだ。
そのような悪い質問に対して答えられるのは,
質問者の意図をすべて汲み取ることのできるエスパーでもなければムリ,
という意味であって,決して,高度な技術を持つユーザに対する尊称でなはい。
まちがっても「エスパーの方,回答お願いします」
なんて痛い質問するな。つうか氏ね。
0008nobodyさん2007/01/10(水) 11:34:42ID:???
企業に提出するポートフォリオを作ろうと思うのですが、
掲示板やブログのような簡単なものでもいいのでしょうか?
0009nobodyさん2007/01/10(水) 11:53:38ID:YxQZDx6s
前スレがなくなりそうなので、こっちへの質問失礼します。

今作業しているプログラムを作った前の奴が、SQLに日付を入れるのに
varcharで20070101123000という形式で作ってしまいました。(愕然)

で、インターフェース部分で、人が分かりやすい様に、2007/1/1 12:30:00
という形式に変換したいんですが、strtotimeではできませんでした。
こういう時って、正規表現使うしかありませんかね?
0010nobodyさん2007/01/10(水) 12:01:09ID:???
<?
$date = "20070101123000";
echo date("Y/m/d H:i:s",strtotime($date));
?>

これじゃダメなん?
0011nobodyさん2007/01/10(水) 13:15:16ID:???
>>9
よくあるねぇ。一部上場している企業でもそんなんザラで作るSEいるよ。
なんのためにdateやtimestampがあるんだか。
何日前とか一発で計算出来るのにvarcharとかしてるせいで出来ないし。
スレ違いスマソ。
0012nobodyさん2007/01/10(水) 13:24:32ID:???
mb_convert_encoding( $var, mb_internal_encoding(), mb_detect_order() );

これをすると$var内に十分な文字コードの判断要素が存在しない場合に
mb_convert_encoding のエラーが発生します。
mb_detect_order が空扱いされるようです。

それ自体は良いのですが、
そのまま mb_convert_encoding は 文字コードを変換してない文字列$var
を返してきます。

このエラーが出た場合は、強制的に EUC-JPに変換をしたいのですが、
良い方法はないでしょうか?
0013nobodyさん2007/01/10(水) 13:24:48ID:???
正規表現ってPHPやC言語など、その言語によって使い方が異なるのでしょうか?
0014nobodyさん2007/01/10(水) 13:27:56ID:???
>>12
$encode = @mb_convert_encoding( $var, mb_internal_encoding(), mb_detect_order() );
if($encode){

エラーの場合の処理

}
0015142007/01/10(水) 13:29:01ID:???
mb_convert_encodingが成功するとTRUE、失敗するとFALSEを返すので、
FALSE(失敗)が返ってきたときにEUC-JPに変換するようにすればいいんじゃないかな
0016nobodyさん2007/01/10(水) 13:50:23ID:???
      / .,※,...-―:.:.:.:.:.:.:.:.:.:.:.:.:::ー-.、  \
    /  /,.:.:.:.:.:.:..:.:.:.:.:.:.:.:.:.:.:.:.:.:.::.:.:.:.:.:\※ヽ
    \ /:.:.:.::/:.:.:.::.:.:.:.:.:.:!:.!:.:.:.:.:.\::.:.:.:..:ヽ ',
     /:.:.:.:.:.:/.:.:.:.:.:.:.:../.;イ.:ト、.:.:.:.:.:.:ヽ.:.:.:.:.:ヽ
    ,':.:.:.:.:.:.:!.:.:.:.:.:.:.,:イ:/ ;:/ ヽ.:..:.:.:.:.!:.:.:.:.:.:.'※.
    !:.:.:.:.:.:.:|.:.:.:.:/.// //   \:.:.:.:.|:.:.:.:..:.:i
     |:.!:.:.:.:.:.|;∠..−'" 〃゛` ―--\:.!:.:..:.:.::,' }  下らねぇ質問はここに
    !ハ:.:.:.:.:.!   _,,  /   、_    /:.:.:./:/∧  書き込みやがれですっ
    i! \:.:.:\`=''"    `ー=''イ/:.ィ//:.:.
       }ヾ、_\   '      //´ /:.:.:.
       ト、※,.>-―…―--<7´※ /:.:.:.:.
       !:.r(´.._'' ¨´ ̄ ̄`¨r-┴ 、  /ユュ_:.:.
       /:.{ 〉ーュ__...::::::::::.r―_`ヽ〈 // {j:.:.
.     /:.:/{Y´,.-<:::::::::::::::`ー、` ノュ!_j⌒ーリ:.:.
0017nobodyさん2007/01/10(水) 14:20:01ID:???
> if($encode){

if(!$encode){
じゃね?
0018nobodyさん2007/01/10(水) 14:25:49ID:???
mb_internal_encoding() ? mb_internal_encoding() : 'EUC-JP';
0019nobodyさん2007/01/10(水) 17:35:07ID:???
質問に答えてもらっておいて、お礼もないのか・・・
これじゃ答える側もこたえる気なくすよな
0020122007/01/10(水) 18:45:38ID:???
すいません、お礼がちゃんと書き込めてませんでした。

おかげで助かりました。
多謝!!!
0021nobodyさん2007/01/10(水) 19:52:35ID:hNJDqrmd
PHPの勉強をしています、参考書を読みながら試してるのですが
色々不可解なことが・・・。

OS:WindowsXPSP2
Webサーバー:Apach2.2
PHP:5.2.0

質問1:↓これを実行すると
#######################
<?php
print "現在の日時は " . date("Y年m月d日 h時i分") . " です。<BR>";
?>
#######################
         ↓どうしても、年が・になってしまいます・・・。なぜでしょうか??     
現在の日時は 2007・01月10日 07時44分 です。
002221です2007/01/10(水) 19:53:14ID:hNJDqrmd
質問2:print文の省略というのがうまくいきません・・・。
↓ころをやると
###############
現在の日時は <?=$now?> です。
###############
↓こうなります・・・。
現在の日時は です。

試しに↓こうすると
###############
現在の日時は<?php
print $now;
?> です
###############
↓こうなりました(相変わらず「年」だけ「・」になります。
現在の日時は2007・01月10日 07時50分 です。

大変お手数をおかけしますが、どなたか原因が解りました教えてください。
よろしくお願いします。
0023nobodyさん2007/01/10(水) 20:07:36ID:???
>>22
文字コードの問題じゃね?
$nowには中身入ってんの?
0024nobodyさん2007/01/10(水) 20:11:43ID:???
>>21
文字コードの問題

>>22
PHPの設定、または文字化けによるか
002521です2007/01/10(水) 20:30:44ID:hNJDqrmd
>>23 >>24
ありがとうございます。
$nowは↓これが入っています。
<?php
$now = date("Y年m月d日 h時i分");
?>

文字コードだと、iniファイルの設定がうまくいってないのでしょうか?
「年」だけ「・」になるってあるんですね・・・・・、
どこをいじればぃいのだろぅ・・。

あ!!ちなみにいま
print "年<BR>";
これやったらちゃんと「年」って出ました。

むぅ・・・
0026242007/01/10(水) 20:32:32ID:???
こうでもすればいいんじゃまいか?

<?
$d = split(",",date("Y,m,d,h,i"));
$d = "現在の日時は ".$d[0]."年".$d[1]."月".$d[2]."日 ".$d[3]."時".$d[4]."分 <br />\n";
echo $d;
?>

<?=$d?>
002721です2007/01/10(水) 20:57:47ID:hNJDqrmd
>>26
まだ始めたてでよくわからないのですが、
こぴぺして実行したら
こう↓表示されました・・・
\n"; echo $d; ?>
0028nobodyさん2007/01/10(水) 21:00:00ID:???
>>27
とりあえず君にはここで質問するよりもマニュアルをちゃんと読むことをお勧めする
0029nobodyさん2007/01/10(水) 21:20:05ID:???
>>27
とりあえずPHPの文字コードどうしてるよ?
php.iniのmbstringのとこだ

>>28
マニュアル嫁厨はいなくていいよ
マニュアル読んでも理解できないことは多々ある
嫁と言うくらいなら読む部分のURLを貼ってやれ
003021です2007/01/10(水) 21:28:03ID:hNJDqrmd
>>29 あ・・・ありがとうござぃます;;

[mbstring]
; language for internal character representation.
mbstring.language = Japanese

; internal/script encoding.
; Some encoding cannot work as internal encoding.
; (e.g. SJIS, BIG5, ISO-2022-*)
mbstring.internal_encoding = SJIS

; http input encoding.
mbstring.http_input = auto

; http output encoding. mb_output_handler must be
; registered as output buffer to function
mbstring.http_output = SJIS

; enable automatic encoding translation according to
; mbstring.internal_encoding setting. Input chars are
; converted to internal encoding by setting this to On.
; Note: Do _not_ use automatic encoding translation for
; portable libs/applications.
mbstring.encoding_translation = On

; automatic encoding detection order.
; auto means
mbstring.detect_order = auto

; substitute_character used when character cannot be converted
; one from another
mbstring.substitute_character = none;
003121です2007/01/10(水) 21:29:46ID:hNJDqrmd
>>28
すんません;
でもでも、
↓これで「年」が「・」になるのは・・・とても不思議で・・・。
print "年<BR>"; ←これだとちゃんと「年」って出るのに・・・。PHP5.2.0ってバカなのかなぁ・・。


質問1:↓これを実行すると
#######################
<?php
print "現在の日時は " . date("Y年m月d日 h時i分") . " です。<BR>";
?>
#######################
0032nobodyさん2007/01/10(水) 21:47:28ID:???
mb_convert_encoding()
0033nobodyさん2007/01/10(水) 21:53:06ID:???
保存文字コードはShift_JISをやめろ、UTF-8とかEUC-JP
dateはマルチバイト対応してないので
Shift_JISで「年」は0x94 0x4E、「N」が0x4Eだから置き換えしてしまう
0034nobodyさん2007/01/10(水) 21:54:51ID:???
始めたばっかりでエンコーディングの問題にぶつかるってラッキーだよな
0035nobodyさん2007/01/10(水) 22:27:02ID:???
>>29
読む部分・・・最初から全部だな
0036nobodyさん2007/01/10(水) 22:56:17ID:???
わかりにくい説明になってしまってすいませんが、

/hogehoge/scripts/gaibu.phpという外部ファイルを
/hogehoge/main.phpというファイルからincludeさせたときには
main.phpファイルの親ディレクトリである、hogehogeを
/hogehoge/link/index.phpというファイルからincludeさせたときには、
index.phpファイルの親ディレクトリである、linkを取得できるようにgaibu.phpに記述する方法ってありますでしょうか?

<?php
$path_parts = pathinfo(__FILE__);
$mydir = basename($path_parts['dirname']);
print $mydir;
?>
とすると当然ですがgaibu.phpの親ディレクトリであるscriptsが取得されてしまいます。
003721です2007/01/10(水) 23:07:57ID:tu53/ebs
>>32
?
>>33
!!!
そうなんですね、テキストに書いてあった通りにしたのに・・・。
今日は勉強してるパソの前を離れてしまったので
明日やってみて結果報告しますね!!
ありがとうござぃます(●´∀`)ノ(ペコリ

>>34
そぅなんですか??
0038nobodyさん2007/01/10(水) 23:16:42ID:???
>>36
日本語でOK
0039nobodyさん2007/01/10(水) 23:25:48ID:???
>>37
dateが「N」で置換するようになったのはPHP 5.1.0からだから
たぶん使ってるテキストが古いんだろな
0040前スレ9912007/01/10(水) 23:32:23ID:dQ2G34v1
これです。
・・・何のソースを出せばいいの?
YahooAPI弄ってたんだけど、
検索結果がでねぇ。
0041nobodyさん2007/01/10(水) 23:32:37ID:???
d
0042nobodyさん2007/01/10(水) 23:33:32ID:Svb1C9pT
ここにいる回答者の方々はphpでどういうプログラミングをしてきたか教えてください。
0043402007/01/10(水) 23:42:53ID:dQ2G34v1
できるだけ早くお答えがほしいです。
一応構成は、common.phpと(YJSearchExample.php)
の2ファイルです。
0044nobodyさん2007/01/10(水) 23:44:48ID:???
>>43

「エスパーきぼんぬ」「氏ね」「(゚Д゚)ハァ?」等のレスを貰う八ヶ条。
5. 「急いでいます」「困っています」等、自分の都合を全面に押し出す。
0045nobodyさん2007/01/11(木) 00:10:59ID:uW7xEbZY
PHPのモジュールを作りたいんですけど
CとC++どちらがいいですか?
0046nobodyさん2007/01/11(木) 00:13:34ID:???
>>45
HSP
0047nobodyさん2007/01/11(木) 00:15:30ID:uW7xEbZY
いやいやHSPはCでできてるわけで、そこから作っても無駄だと思うんですが、
二次で生まれたものから作成するのはスピードの面とか・・・
0048nobodyさん2007/01/11(木) 00:16:27ID:???
JSP
0049nobodyさん2007/01/11(木) 00:21:12ID:uW7xEbZY
モジュールを作ったことがある人っていないんですかね?
0:45分にモジュールの新スレたてます。
0050nobodyさん2007/01/11(木) 01:46:57ID:8lXV+y43
preg_match関数の使い方について質問させてください。
$strに、メール(ヘッダおよび本文)が格納されているとします。
メールの仕様では、ヘッダと本文の境界は「CR+LF」の空行だそうなので、
以下のような正規表現にて本文だけを抜き出せるかと思いましたが、うまく出来ません。
どこがいけないのでしょうか?
preg_match("/^\s*$([\s\S]*)/", $str, $body);
0051nobodyさん2007/01/11(木) 01:55:47ID:JCcmSaAf
>>50
正規表現は別スレ池
0052nobodyさん2007/01/11(木) 01:59:48ID:???
>>51
最近は別スレが無い罠。
0053nobodyさん2007/01/11(木) 02:38:19ID:???
正規表現はこっち
http://pc10.2ch.net/tech/

>>1のURLはややこしいから次スレから消すべき。
>・正規表現・PEAR・テンプレート(Smarty等)・フレームワークは各該当スレへ http://pc10.2ch.net/php/subback.html
>・SQLについての質問はデータベース板(PCカテゴリ)の各スレで http://pc10.2ch.net/db/subback.html
0054nobodyさん2007/01/11(木) 03:50:26ID:???
2ちゃんねるみたいに
http://pc10.2ch.net/test/read.cgi/php/1168395610/1
みたいにレスを取得するプログラムを書きたいんですけど、
どうやって取得するのでしょうか?
getで取得しようとしてみたのですがa=1みたいにキーを設定しないとダメでした。
クエリーストリングで素得できるのかと思ったのですが、
ブラウザがディレクトリと認識してしまいnot foundのページがでてしまいます。
どなたかご教授お願いします。
0055nobodyさん2007/01/11(木) 04:00:15ID:???
>>54
/test/read.cgiにあたるファイルを作って、それより後ろの部分は$_SERVER['PATH_INFO']。
もしくはmod_rewrite+REQUEST_URI等。
0056nobodyさん2007/01/11(木) 04:19:29ID:???
>>55
ありがとうございます。
$_SERVER['PATH_INFO']を使ってみます。
0057nobodyさん2007/01/11(木) 04:28:26ID:???
>>9
遅レスっすけど、この前同じ目に

MySQLだったんだけど、MySQLのDATE_FORMATで対応できた

SELECT DATE_FORMAT( '20070101123000', '%Y-%m-%d %H:%i:%s' ) AS dt FROM.....
-- dt --
2007-01-01 12:30:00
----
てな感じ。MySQL以外はわかんね
0058nobodyさん2007/01/11(木) 04:44:10ID:???
>>50
全然関係ないんだけど
自分だったら for 文で空行が出てくるまで読み捨て
とかやっちゃうな

今時の富豪的プログラミングとしては
正規表現を使うのかもしれんけど
0059nobodyさん2007/01/11(木) 04:49:14ID:???
既に $str に入ってるから CRLF を検索するだけでいいか
0060nobodyさん2007/01/11(木) 05:18:27ID:???
正規表現使わなくても
list($head,$body) = explode("\r\n\r\n", $str, 2);
でもいけるんじゃないかと
0061nobodyさん2007/01/11(木) 05:50:14ID:???
2ちゃんねるの内部プログラムを真似て作った掲示板があるんですけど
著作権に引っかかりますか?
0062nobodyさん2007/01/11(木) 06:11:07ID:???
>>61
内部プログラムっていうのが何かわからないが、
特許技術とかでもない限り、
一般的に掲示板なんて構造はどれも一緒なんだから、
問題はない。
0063nobodyさん2007/01/11(木) 07:17:30ID:???
ifの条件判定で日本語(ななしさんの部分)を使うのはまずいでしょうか?
もし使うとしたらUTF-8のほうがいいですか?EUCやShift_JISではやめといたほうがいいのでしょうか?


if($_POST['name'] == "ななしさん"){
      省略
}
0064nobodyさん2007/01/11(木) 08:41:58ID:???
>>63
Shift jisだと問題が起こる可能性があるがそれを理解して使っていれば問題ない
0065nobodyさん2007/01/11(木) 10:15:04ID:???
メーメールフォームをつくってます。
テキストメールで送信する前にサニタイズしてタグ等がある場合は
無害化してからメール関数で送信するべきでしょうか?
0066nobodyさん2007/01/11(木) 11:53:26ID:???
>>65
用途による。
0067372007/01/11(木) 12:15:45ID:???
>>38

外部phpファイルを読みこませるファイルのファイル名や親ディレクトリ名を取得するスクリプトを、
外部phpファイルにかけるかどうかということなんですが、伝わりますでしょうか?

ファイル名などを取得させるように外部phpファイルに書くと当然、外部phpファイルのファイル名が取得されてしまいますよね?
これを、外部phpを読み込ませたファイルのファイル名を取得したいのです。
0068382007/01/11(木) 12:16:43ID:???
すいません、名前間違えました

67は>>38が書きました
0069nobodyさん2007/01/11(木) 12:33:50ID:???
>>67
ディレクトリは取得できる
大元のファイル名は環境変数からわかる
0070nobodyさん2007/01/11(木) 13:42:42ID:???
>>36
こんな答えを望んでいないのを承知で書くが、
gaibu.phpをクラスとして定義し、
コンストラクタでパスを渡す
というのが設計としては正解だったりしないか。

もっと単純に、
読み込み元のスクリプトで変数を設定し、
読み込まれたファイルでは、その変数を読むとか。

とはいえ、出されている情報だけでは、
判断できないけどね。
0071nobodyさん2007/01/11(木) 14:49:44ID:???
ttp://www.bnote.net/php/pear/mail_mime_01.shtml

こことまったく同じことやったら
特定のメール文章のときに文章が途中で途切れて送信されます。
色々テストしてみると、
$body = $mime->get($build_param);
この時点で、文章が途中からばっさり切られてるようです。

考えられる原因をどなたか教えてくださいませ orz
0072nobodyさん2007/01/11(木) 16:50:26ID:???
>>71
どういう文章で切られてるかというのが分からんとなぁ。
たとえば、改行したところで切られるとか、改行が2回連続出たところで切られるとか
何文字目で切られるとか。
0073712007/01/11(木) 16:54:15ID:???
>>72
やっと今頃なんですが、
色々調べてみたらなんとなく分かってきました、
どうやら機種依存文字があると、その文字列以降が一切削除されているようです。
例えば機種依存文字、○の中に1、を書くとそれ以降は削除されてました。

機種依存文字をうまく変換するような関数ってあるでしょうか?
PCに詳しくない人ともやりとりするので
機種依存文字を0にするのは厳しそうです。
0074nobodyさん2007/01/11(木) 17:04:29ID:???
>>73
「php 機種依存文字」でぐぐってみれ。
いっぱい出てくるちゅーねん。
0075712007/01/11(木) 18:04:12ID:???
ttp://plaza.rakuten.co.jp/freyr/diary/200602030001/

ここのを試してみたんですが、
空の文字列が返されるようです。
どこが悪いか分かりますか?
0076nobodyさん2007/01/11(木) 18:11:32ID:???
自分で少しずつデバッグしてわからなかったら聞いてくれ。
どこが悪いか分かりますか?ではなく、
ここの部分が悪いんですが〜とちゃんと言えるようにしてきてくれ。
0077nobodyさん2007/01/11(木) 18:14:44ID:???
76はスレタイも見えないようだ。頭悪そうだな
0078nobodyさん2007/01/11(木) 18:16:09ID:???
このスレの存在意義ね〜〜〜
0079nobodyさん2007/01/11(木) 18:17:19ID:???
このスレは76を称えるスレになりました
0080nobodyさん2007/01/11(木) 18:35:31ID:???
>>71
$text = mb_convert_encoding($text, 'ISO-2022-JP', mb_detect_encoding($text));
これがいらん気がする。
0081nobodyさん2007/01/11(木) 19:33:21ID:???
まあ確かに
大抵のMUAはShift_JISのメールも読めるだろうけど
昔気質の自分はISO-2022-JPであってほしいと思うな
0082nobodyさん2007/01/11(木) 19:34:30ID:???
ポストされた内容をメールで送信しているんだぜ?

header(Location: 〜) ; // POST後のページに切り替え
html() ; // Location が効かなかったときの表示
flush() ;
mail() ; // メール送信

ポスト後のページ切り替えは
IE6 メール送信しないときは速い。送信するとワンテンポ遅れる。
Opera9 どっちも速い。
FireFox2 どっちも遅い。

できれば IE6 でも遅れないようにしたいさ。
なんか手はないか。
flush のところに ob_end_clean や ob_flush を入れても同じさ。
0083nobodyさん2007/01/11(木) 19:50:38ID:???
session_set_save_handlerを実装したくて、試してみたのですが、
openハンドラーのところで、セッション保存パスが取得できませんでした。

原因を切り分けるために、session_save_path()を実行してみたのですが、
取得ができませんでした。サーバーの環境の問題かもしれませんが、
可能性として考えられる原因って分かりますか?
----
echo session_save_path();
session_start();
----
テスト環境
WindowsXP
PHP5
008437=672007/01/11(木) 20:08:10ID:???
>>69さん
できるのですか!
単純にディレクトリ名取得させる書き方だと、うまくいかないのですが書き方か関数かご教授願えないでしょうか?

環境変数というのは、調べてやってみます。
phpinfo()
のなかに、使える関数があるのでしょうか。

>>70
読み込みもとのスクリプトで取得させるのはできるのですが、、ページを簡素にして全部共通で外部ファイルを使いたいので、外部化にこだわってます。
アドバイス頂いた設計は、ちょと難しくて、まだ把握できません・・・
0085nobodyさん2007/01/11(木) 20:48:54ID:???
>>84
環境変数 php でぐぐろう
008621です2007/01/11(木) 20:49:58ID:6cjanMPr
>>39
途中報告です!
iniの設定をShift-JIS以外にして試してるのですが、
完全に文字化けしてしまいました・・なので、多分Apacheの設定??も
間違えてるんだと思います。

今、ネットであれこれ調べてチャレンジしてます!
クリアできたらまた報告しますね!

にしても設定するだけで難しい・・・。
0087nobodyさん2007/01/11(木) 20:53:34ID:r9MspATb
メールを送ったとき、
送信先不明や着信許可していない時にデーモンから返されてくるエラーメールから
元々送った相手のメールアドレスを変数に取り出すには、どうしたらいいですか?
0088nobodyさん2007/01/11(木) 21:02:53ID:???
>>86
全部utf-8に統一すれ
0089nobodyさん2007/01/11(木) 21:05:31ID:???
>>87
それなんてスパム業者?
0090nobodyさん2007/01/11(木) 21:14:57ID:r9MspATb
>>89
スパムじゃないです!主婦友のメーリングリストを作りたいんですが、携帯が主なので
機種変とか受信許可設定の未設定とかで、帰ってくることが多いので、
返ってきたメールアドレスは、データベースから消したりする処理をする為です!
私は、業者じゃないです!
0091nobodyさん2007/01/11(木) 21:17:56ID:???
>>90
変えたら連絡を徹底させれば解決
0092nobodyさん2007/01/11(木) 21:21:48ID:???
>>84
getcwd()
0093nobodyさん2007/01/11(木) 21:23:59ID:r9MspATb
あの、それをしなくてもいいように、お尋ねしているのです。
私もググって見たのですが、メーリングリストのスクリプトについての解説が載っているページがなくて
ここにたどり着きました。
どなたか、ご存知の方、直接解説をしていただかなくても良いので
URLだけでも教えていただけませんか?
0094nobodyさん2007/01/11(木) 21:24:52ID:???
>>93
それをしろ
0095nobodyさん2007/01/11(木) 21:25:41ID:r9MspATb
?
0096nobodyさん2007/01/11(木) 21:28:20ID:???
>>94
暇なガキはけーーーーーーーーーーん (゚∀゚)ニート!!!!!
0097nobodyさん2007/01/11(木) 21:33:23ID:???
PHPでツリーメニューをHTMLの調子で使っても全く動作しないのですが
PHPでツリーメニューを使うにはどうしたらいいですか?
0098nobodyさん2007/01/11(木) 21:35:10ID:???
ちなみにPHPでツリーメニューをHTMLの調子で使うというのは、
ソースに記述して動作させようとしてるということです
0099nobodyさん2007/01/11(木) 21:38:34ID:???
>>86
Apache 2.2 なら AddDefaultCharset はなかったはず。
書き足してなければ。
これはない方が概ね意図した動作になる。

php.ini は↓2つ。
mbstring.internal_encoding = UTF-8
mbstring.http_output = UTF-8

で php ファイルは UTF-8 で作成して
最低限の html タグは書いておくこと。
要するに head に meta タグで charset を指定するため。
0100nobodyさん2007/01/11(木) 21:41:08ID:???
>>97
あなたの言う「ツリーメニュー」とはどういうものを指すのですか?
0101nobodyさん2007/01/11(木) 21:44:12ID:???
>>98
ツリーメニューって何?
0102nobodyさん2007/01/11(木) 22:01:50ID:???
ttp://technique.eweb-design.com/0903_tm.html
すみません、こういう奴です
0103nobodyさん2007/01/11(木) 22:06:06ID:???
>>102
ソースに書いたHTMLのツリーメニューってやつを見せて
0104nobodyさん2007/01/11(木) 22:22:05ID:???
<?php
$str1 = <<< DOC_END1

HTMLのやつ

DOC_END1;

print $str1
?>

0105nobodyさん2007/01/11(木) 22:29:32ID:???
JavaScriptで新しい画面を開くような実装をしているんですが、
その新しい画面から他の画面へ遷移させた途端、SessionIDが新しいのに
変わって、セッションが破棄されてしまいます。
session_destroyをしていないのに。。。

それが、同じ環境(OS、ブラウザ)でも起こる場合と起こらない場合があるのですが、
対処方法が全く分かりません。

原因をつきとめる方法でもいいので、アドバイスをお願いします。
0106nobodyさん2007/01/11(木) 22:47:32ID:cEYa3q1p
WindowsサーバにImageMagickをインストールしたのですが、
PHPから操作する方法がわかりません
何かライブラリがあるのでしょうか?
0107nobodyさん2007/01/11(木) 23:16:49ID:???
>>106
http://jp.php.net/manual/ja/ref.exec.php
0108nobodyさん2007/01/11(木) 23:28:25ID:???
>>90
PHPじゃないけど、そういう処理がfmlに含まれてる。
まさにエラーメールをはじくために。
Perlが分かるなら、その部分だけ取って来て流用すれば良い。
0109nobodyさん2007/01/11(木) 23:32:40ID:???
phpmyadminのライブラリ使うとかありですか?
0110nobodyさん2007/01/12(金) 00:46:34ID:MVKrQ9mz
>>105
Webサーバをロードバランシングしてると同様の
ことが起こるが。。。違うか。。
0111nobodyさん2007/01/12(金) 01:06:03ID:21GIWcBS
print $str1
print $str2
print $str3
print $str4
print $str5

PHPの記述の一部にこのような命令があったとして
これの順番を入れ替えたい(例えば$str1と$str4)
(ちなみに変数の中身が変わるので、手書きで順番を変えるわけには行きません)
そのような場合にはどうすればいいでしょうか?
0112nobodyさん2007/01/12(金) 01:20:11ID:???
設計を考え直しましょう
0113nobodyさん2007/01/12(金) 01:28:51ID:???
if( 変数の中身の状況1 ){
 print $str1
 print $str2
 print $str3
 print $str4
 print $str5
}else if( 変数の中身の状況2 ){
 print $str4
 print $str2
 print $str3
 print $str1
 print $str5
}else if( 変数の中身の状況3 ){
 ・
 ・
 ・

0114nobodyさん2007/01/12(金) 02:10:54ID:???
せめて $str[] にならんのか
0115nobodyさん2007/01/12(金) 02:53:02ID:???
>>111
$str1 = "s1";
$str2 = "s2";
$str3 = "s3";
$str4 = "s4";
$str5 = "s5";

//$list = array(1, 2, 3, 4, 5); //元々の順番
$list = array(4, 2, 3, 1, 5); //str1とstr4の表示順を入れ替え
foreach($list as $n) {
print ${"str" . $n} . "\n";
}
ってこと?
0116nobodyさん2007/01/12(金) 02:53:34ID:???
ああ、改行要らんかった。まぁいいや
0117nobodyさん2007/01/12(金) 03:55:07ID:???
ソースレベルでの変更が可能ならどうにでもすればいい。
すでに表示されてしまってるのをどうにかしたいなら、
JavaScriptでやるしかない。
0118nobodyさん2007/01/12(金) 05:49:30ID:YAXXgeZf
functionを多用する時に外部ファイルを使う場合、
1ファイル上であっても何度も読み込む必要がありますよね?

function test01(){
require("admin_setting");
echo $admin_name;
}
function test02(){
require("admin_setting");
echo $admin_text;
}

こんな感じで何度もfunction内にrequireを書く必要があると思いますが、
そうではなくて、何度も読み込まない方法は無いでしょうか?
0119nobodyさん2007/01/12(金) 06:33:40ID:???
requireは一度読んだファイルは二度と読まないはずだが。
http://jp.php.net/manual/ja/function.require.php
0120nobodyさん2007/01/12(金) 08:23:25ID:???
>>119
それってrequire_onceじゃないのか?
http://jp.php.net/manual/ja/function.require-once.php
0121nobodyさん2007/01/12(金) 08:26:31ID:???
>>90
空メールシステムと同じようにすればいいんじゃないの?
TELNETとかでサーバーの設定いじれないとムリだけど。

[email protected] がメルマガ配信のアドレスだとしたら、
[email protected]にメールが配信されたら、ooo.phpを起動して、エラーメッセージの記入してある本文を取り出す。
本文を取り出したら、正規表現でメールアドレスを取り出す。
エラーメッセージに[email protected]も含まれているので、それは除外する。
たいていが↓のように<>で囲まれてるから。
< [email protected] >
それをDBから削除すればいいだけじゃん。

mimeDecoderとか使ったら簡単にできるよ。
サーバーがいじれればね。
0122nobodyさん2007/01/12(金) 11:21:16ID:???
>>118
<?php
require("admin_setting");

class Hogehoge{
  function test01(){
    echo $admin_name;
  }
  function test02(){
    echo $admin_text;
  }
}
?>
0123nobodyさん2007/01/12(金) 11:52:22ID:???
>>122
クラスにしなくても
require("admin_setting");
をユーザ関数の外に出せばいいだけの希ガス
0124nobodyさん2007/01/12(金) 13:08:45ID:qjLqWtKa
>>9です。遅レスすまそ

>>10
それじゃできないはずです。つうか、できませんでした。(php v4.4.4)
日付までならOKなんですが、時分秒が入ったらあきませんでした。

>>11
そうなんですよ!!!!(怒)
SQLを単なるデータの入れ物にしか使ってないんですよ。
flag(status)にvarchar(1)とか定義して(なんでやねん!!!)、
中身は数字が1〜9まで。(←お前、出直して来い!)
0125nobodyさん2007/01/12(金) 13:09:48ID:qjLqWtKa
>>124
あ、結局ですね、正規表現で処理しました。(悩む時間がもったいなかったので)
0126nobodyさん2007/01/12(金) 14:01:29ID:5AgUsAfL
2つのクラスの内部functionを継承によって共有したいのですが、少し分からないことがあるのでお願いします。

class hoge {
public $foo;
function yahoo() {
$this->foo = $_GET['foo'];
}
function checkFoo() {
if($this->foo ==1) {
echo 'OK';
}
}
このクラスを継承してcheckFooを他のクラスから使用できるようにしたいのですがどんな方法があるでしょうか?
class hoge2 exteds hoge {
public $bar;
function __condtruct() {
$this->bar = $_GET['bar'];
$this->checkFoo(); <- ここで$barも同じチェックをしたい
}
}
0127nobodyさん2007/01/12(金) 14:04:05ID:???
>>126
とりあえずhoge2の__constructの中で、parent::__construct()でも呼び出しとけば?
01281182007/01/12(金) 14:14:59ID:???
>>122-123
つまりこういうことでしょうか?

require("admin_setting.php");

class Hogehoge{
function test01(){
echo $admin_name;
}
function test02(){
echo $admin_text;
}
}
$sample=new Hogehoge;
$sample->test01();

ただ、これでは表示されません。requireの箇所をfunction内に入れれば
表示されるのですが・・。
0129nobodyさん2007/01/12(金) 14:36:44ID:???
admin_nameとかをglobal宣言しないと駄目なんじゃね?
0130nobodyさん2007/01/12(金) 14:37:12ID:???
>>128
いろいろやり方あるけどPHP5なら、俺の場合はstatic参照する

----------------------------------------
class AdminSetting{
  static $admin_name = "hirairio";
  static $admin_text = "yariman";
}
----------------------------------------
require("admin_setting.php");
class Hogehoge{
  function test01(){
    echo AdminSetting::admin_name;
  }
}
----------------------------------------

PHP4では動かないよ。
PHP4ならあんまり好きじゃないけどdefineとか使うしかないんじゃね。
0131前9312007/01/12(金) 14:41:19ID:snP01oSS
遅レスすいませんんん。
正規表現部分です。
$str = preg_replace('|(?:<!--)(?:(?!-->).)*-->|sxi', " ", $str);
$str = preg_replace('|(?:<style)(?:(?!</style>).)*</style>|sxi', " ", $str);
$str = preg_replace('|(?:<script)(?:(?!</script>).)*</script>|sxi', " ", $str);
マルチバイト対応してないのか。あぁ。
0132nobodyさん2007/01/12(金) 14:43:30ID:???
>>130
これなら動きました。
自分はPHP5.1.4の環境でテストしていたのですが、
それで動かなかったんですね。

とはいえ一般のレン鯖はPHP4のところがほとんどですし、
自分もPHP5仕様にしたくないので、defineを使うか
素直にrequireをfunctionの数だけ用意するようにします。

ソースありがとうございました。
0133nobodyさん2007/01/12(金) 15:22:04ID:???
指定配列の文字が要素配列に存在するかのチェックです
if(preg_match(array('a','b','c','d'), array('c', 'd'))) {
処理
}
こんな処理をしたいのですが、正規表現は使わないのでpreg_match以外で軽快な関数ありますでしょうか?
0134nobodyさん2007/01/12(金) 15:33:16ID:h324r4IB
Xitamiを入れてPHP5.2のインストーラ版を入れました。
試しに動かしてみたのですが、echoやforループなどはまぁ普通に動いているのですが、file_get_contentsが機能していないようです。

こういう現象に心当たりのある方いたらアドバイスをお願いします。
0135nobodyさん2007/01/12(金) 15:38:30ID:qKWjHdtb
>>133
in_array()
0136nobodyさん2007/01/12(金) 15:41:30ID:???
>>134
機能していないってどういう状態
ファイルを読み込んでいないってこと?
返り値のエラーはどうなっているの
01371342007/01/12(金) 15:44:54ID:???
>>136

$a = file_get_contents("test.txt");
echo $a;

で結果は何も表示されません。
fileがないとかそういうエラーも出てません。
0138nobodyさん2007/01/12(金) 15:45:41ID:???
>>135
せっくすべーりーまっちょでちゅヾ(@°ω°@)ノ
01391332007/01/12(金) 15:56:31ID:???
>>138
こいつなんなの?
よくいるみたいでけど

>>135さん
それだと1つでもマッチしているとTRUEになるんです…
すべてあっていた場合のみTRUEという関数は自作するしかないのでしょうか?
0140nobodyさん2007/01/12(金) 16:02:47ID:???
生年月日を入力すると年齢が表示されるというものを作っています。

//今日の日付
$today=mktime();
//生年月日を結合
$birth=mktime(0,0,0,$_POST["moon"],$_POST["day"],$_POST["year"]);
$age=$today-$birth;
echo "あなたの現在の年齢は".date("Y",$age)."歳です";

フォームから自分の生年月日を入力して送信したら年齢が出るという
仕組みなのですが、上手くいきません。どこがおかしいのでしょうか?
0141nobodyさん2007/01/12(金) 16:16:27ID:???
>>140
moonはおかしいだろmoonは
0142nobodyさん2007/01/12(金) 16:19:51ID:???
わろす
day もおかしいな
0143nobodyさん2007/01/12(金) 16:22:37ID:???
「月」だからmoonか。間違ってはいないなw
0144nobodyさん2007/01/12(金) 16:24:55ID:???
WEB(DB兼(oracle))サーバー上のDBバックアップのバッチファイルを
php経由で叩こうとしてるのですが上手くいきません
セキュリティとか実行権限あたりかと思うんですが・・・
よろしくお願いします
01451442007/01/12(金) 16:29:46ID:???
内容書き忘れましたorz

test.php--------------

<?php
passthru("test.bat",$ret);
echo $ret;
?>

test.bat---------------

D:\Oracle\Ora90\bin\exp FILE=D:\test.dmp

----------------------

こんな感じです
バッチファイルを直接叩くとtest.dmpは作成されるのは確認しました
0146nobodyさん2007/01/12(金) 16:33:14ID:???
test.dmpが作成されるならうまくいってるじゃん
0147nobodyさん2007/01/12(金) 16:42:15ID:???
>>142
dayはいいんじゃないの?dateだと年月日全部って感覚なんだけど。
違うかな。
さて、ヒントはmktimeやdateの有効範囲。
ロジックが間違ってます。
じゃどうするか。貴方が計算するように計算するんです。
0148nobodyさん2007/01/12(金) 16:44:07ID:???
>>145
test.php経由だと上手くいかないんです
「dir」や「time」等の単純(?)なコマンドは引数も取得出来るのですが・・・
0149nobodyさん2007/01/12(金) 16:46:21ID:???
>>148
パスが通ってないんじゃないの?

passthru("test.bat",$ret);
↓
passthru("D:\test.bat",$ret);

みたいに絶対パスで指定してみれ。
0150nobodyさん2007/01/12(金) 17:57:38ID:???
特定の文字がHTML内にはいっているとエラーになるのですがこれは何なのか分かりますでしょうか?

Smarty error: [in hoge.html line 19]: syntax error: unrecognized tag: 投票


この場合、「投票」という文字を消すと動作します
0151nobodyさん2007/01/12(金) 17:59:21ID:???
>>150
tagに2byte charは使えない。
0152nobodyさん2007/01/12(金) 18:02:21ID:???
Shift_JIS をやめる
0153nobodyさん2007/01/12(金) 18:18:13ID:???
>>150
19行目全部貼り付けてよ。
前のタグを閉じてないとかそんなんだろ
0154nobodyさん2007/01/12(金) 18:23:58ID:ixGVyEcV
PHPでディレクトリ内に.html等のファイルを作る事はできるのですが
ディレクトリを作成する方法はどうしたらいいですか?
01551502007/01/12(金) 18:27:00ID:???
>>150
たぶんこれが原因です…ありがとうごさいます。
Shift_JISまんどくせ〜
それでもShift_JISでやらなきゃいけない…鬱鬱
0156nobodyさん2007/01/12(金) 18:32:38ID:???
>>154
mkdir
0157nobodyさん2007/01/12(金) 18:33:23ID:???
mkdir()
0158nobodyさん2007/01/12(金) 18:35:38ID:???
>>154
mkdirでいいんじゃないの?
0159nobodyさん2007/01/12(金) 18:36:32ID:???
>>154
mkdir()
0160nobodyさん2007/01/12(金) 18:40:01ID:???
>>137
echo じゃなくて var_dump で出力してみたらどうなるの
false が帰ってきていたら失敗だよ
0161nobodyさん2007/01/12(金) 18:40:32ID:???
>>139
素直にループまわしてチェックする関数作ったら?
0162nobodyさん2007/01/12(金) 18:42:59ID:???
>>155
Smarty、テンプレートのエンコードSJIS、
スクリプトエンコードSJISの組み合わせは地獄だよ

せめてスクリプトのエンコードはEUCとかにして、
プリフィルターとポストフィルターを使って
SJIS -> EUC -> SJIS にしたほうが楽
重いけどな
01631502007/01/12(金) 18:44:46ID:???
>>162
(携帯は)重かった話になんないっしょ!!ですって…
鬱・鬱・鬱…
01641542007/01/12(金) 18:53:26ID:ixGVyEcV
>>156 157 158 159
ありがとう!買った本に載ってなかったので
ググって挑戦してみます。
0165nobodyさん2007/01/12(金) 18:57:03ID:???
>>162
画面 SJIS
ソース UTF-8
DB EUC-JP
だったけど、そんなに重くならなかったぞ。
0166nobodyさん2007/01/12(金) 19:27:40ID:???
SmartyとかShift_JISの問題じゃなくてタグの書き方が悪かっただけでしょ?

× <日本語 value="bar">foo</日本語>
× <tag 日本語="bar">foo</tag>
○ <tag value="日本語">foo</tag>
○ <tag value="bar">日本語</tag>

基本だろ
0167nobodyさん2007/01/12(金) 19:34:45ID:2nrbZFx0
PHPのメーリングリストの全文検索って、使用できない状態なのですか?

http://ns1.php.gr.jp/search.html
0168nobodyさん2007/01/12(金) 19:47:22ID:???
いや、あれはテンプレがSJISだからおこるエラー
{literal}で囲んでごらん。
エラー消えるから
0169nobodyさん2007/01/12(金) 20:31:25ID:???
imagejpeg()は、ファイルか、ブラウザにしか出力できないようですが、
変数に入れることはできないのでしょうか。
jpegイメージの実態を変数に代入したいです。
0170nobodyさん2007/01/12(金) 20:33:06ID:???
>>169
参照渡し。
0171nobodyさん2007/01/12(金) 20:37:48ID:???
>>170
すまん。ちょっとよくわからん。
どれに対して&使えばいいんだ?
0172nobodyさん2007/01/12(金) 20:44:47ID:???
ob_start();
imagejpeg($img_res);
$image = ob_get_clean();
これじゃダメ?
0173nobodyさん2007/01/12(金) 20:49:29ID:???
>>172
あーこれは分かりやすい。
0174nobodyさん2007/01/12(金) 20:55:00ID:???
>>172
でけました。どうも。
0175nobodyさん2007/01/12(金) 20:56:09ID:???
>>163
php は携帯で実行されるわけじゃないじゃない
0176nobodyさん2007/01/12(金) 21:39:44ID:???
switch文で、caseの値を、複数(値が、a,b,dの場合とか)入れるにはどうしたらいいでしょうか?
0177nobodyさん2007/01/12(金) 21:43:25ID:???
>>176
switch(test){
case a:
case b:
case d:
echo 'a b d';
break;
case c:
echo 'c';
}
0178nobodyさん2007/01/12(金) 21:49:43ID:???
即レス
ThankS!
0179nobodyさん2007/01/12(金) 23:25:36ID:UiMa0kdE
>>163
なんのことか知らんが、出力だけSJISにしとけばいいだけじゃね?
0180nobodyさん2007/01/13(土) 00:01:41ID:LrFYrtf4
キーが不特定の、配列があります。
この配列から何でもいいから値を一つ返したいのですが、
いい方法はありませんか?

foreachを使えば返すことが出来るんですが、
一つだけとりだすなら、処理が無駄のような気がして・・・・
0181nobodyさん2007/01/13(土) 00:14:43ID:???
>>180
current(),end(), prev(),reset() ,next()
好きなのを使え
0182nobodyさん2007/01/13(土) 00:17:30ID:???
$HOGE=$ARR[mt_rand(0,count($ARR)-1)]
0183nobodyさん2007/01/13(土) 00:25:38ID:???
function rand_array($arr)
{
    $key_list = array_keys($arr);
    return $arr[$key_list[mt_rand(0,count($key_list)-1)]];
}
0184nobodyさん2007/01/13(土) 00:29:14ID:???
array_randっていうのがあるよ
http://jp2.php.net/manual/ja/function.array-rand.php
0185nobodyさん2007/01/13(土) 00:39:19ID:???
あれ?マニュアルのURL構造が変わった?
http://www.php.net/manual/ja/
じゃアクセスできないな・・
0186nobodyさん2007/01/13(土) 00:47:49ID:???
>>185
できるけど?
0187nobodyさん2007/01/13(土) 00:59:59ID:???
あれ、ちょっと前まで出来なかったのに・・
0188nobodyさん2007/01/13(土) 01:02:33ID:???
185 じゃないけど
昼くらいから見れなかった
www.php.net 全体が
0189nobodyさん2007/01/13(土) 01:14:25ID:???
で、
>>180
はあまりの人気にビビって消えた?w
0190nobodyさん2007/01/13(土) 01:18:24ID:???
http://jp.php.net/mirrors.php
0191nobodyさん2007/01/13(土) 02:42:01ID:???

smartyで
ループ回数が10回以上だったら、iterationの値を表示しないようにしたいのですがどんな方法があるでしょうか?
{if {$smarty.section.loop.iteration} != 10}{$smarty.section.loop.iteration}{/if}
尚、ループは50回以上の場合もあるのでiterationの値だけを表示しないようにしたいのです
01921152007/01/13(土) 03:03:03ID:???
全体のループが40あったとして、1〜9までは表示して10〜40までは表示しないってこと?
それなら
{if $smarty.section.loop.iteration <= 9}{$smarty.section.loop.iteration}{/if}

全体のループが8や9だったら表示して、11や20だったら全く表示しないのなら
{if $smarty.section.loop.total <= 9}{$smarty.section.loop.iteration}{/if}
とやるかなぁ。
@count
0193nobodyさん2007/01/13(土) 06:22:47ID:yY12RXL1
使い勝手のいいHTMLパーサーない?ただし、Pearはのぞく
01941802007/01/13(土) 08:19:51ID:???
>>181
>>182
>>183
>>184

ありがとうございます。早速使わせていただきます。
0195nobodyさん2007/01/13(土) 08:32:10ID:???
ifの条件式で、変数が数字だった場合、
trueを返すというのは可能でしょうか?

それとも正規表現関数を使わなければ、
不可能なんでしょうか?
0196nobodyさん2007/01/13(土) 09:10:55ID:Ymy8BY2c
携帯から自宅のPCのローカルホストにアクセスしてPHPファイルにアクセスしたいんですが何か良いアイデアございませんか?パソコンでインターネットにつないでないので、家で携帯からどうやってチェックしようか悩んでます。
0197nobodyさん2007/01/13(土) 09:16:31ID:???
>>195
is_numeric
0198nobodyさん2007/01/13(土) 09:17:09ID:???
>>196
http://自宅のIP/index.php
0199nobodyさん2007/01/13(土) 09:17:40ID:???
ネットにつながってないなら知るかw
0200nobodyさん2007/01/13(土) 09:24:43ID:???
僕ハッカー
0201nobodyさん2007/01/13(土) 09:28:24ID:???
>>196
apach入れないと無理だな
インターネットにつながないと無理だな

PHPファイルにアクセスしてもサーバーが建ってないと動かないよ。
0202nobodyさん2007/01/13(土) 09:30:44ID:???
>>201
その前に、globalかどうかだな。
最近のプロバイダー、セキュリティーや有料サービスとの差別化で
privateがほとんどだし。
0203nobodyさん2007/01/13(土) 09:35:15ID:Ymy8BY2c
apacheやPHPなどの動作環境は揃ってます。あとは携帯からPCにどうアクセスしたらいいのか悩んでます。赤外線でできるのか、ケーブルで接続したらできるのでしょうか?やっぱりネット繋いでないと無理ですよね?
0204nobodyさん2007/01/13(土) 09:39:44ID:???
>>203
え?携帯から操作するのって、外出先からじゃないの?
0205nobodyさん2007/01/13(土) 09:40:01ID:???
USBで接続してPCのファイル実行するアプリでも作ればいいんじゃね?
0206nobodyさん2007/01/13(土) 09:46:18ID:Ymy8BY2c
今回の場所は自宅ないです。説明不足ですみません。いまからアプリ作ってためしてみます。
0207nobodyさん2007/01/13(土) 11:50:02ID:???
>>197
ありがとうございます
0208nobodyさん2007/01/13(土) 15:46:01ID:/ix/YWHy
正規表現についての質問なのですが、
PHPのpreg_matchの問題のような気がするため、
こちらで質問させてください。

$template_src = preg_replace("/\\\[/","[",$template_src);
上のように、データ内に存在する\[を、ただの[へ置換したいのですが、
Compilation failed: missing terminating ] for character class at offset 3
という警告が出てしまいます。

これはどのようにすれば解決できるのでしょうか?
ご教授下さいませ。
0209nobodyさん2007/01/13(土) 15:57:31ID:???
正規表現の勉強不足。専門スレッドへ。
02102082007/01/13(土) 16:03:53ID:???
了解しました、失礼しました。
0211nobodyさん2007/01/13(土) 16:52:15ID:???
>>208
PHPが文字列リテラルをパースする際の難点と相俟って面倒なことになってるな。

つ
"/\\\\\[/"
"/\\x5C\[/"
'/\x5C\[/'
0212nobodyさん2007/01/13(土) 16:55:39ID:???
>>211
っていうか、このケースならpreg_replaceじゃなくて、str_replaceだろ。
0213nobodyさん2007/01/13(土) 19:14:55ID:???
ケースってなんだよ。
早ければ早いほうを使えばいい。
0214nobodyさん2007/01/13(土) 19:33:45ID:???
正規表現は遅いからね
0215nobodyさん2007/01/13(土) 20:06:03ID:???
int型を作りたいのですが、できますでしょうか?

実際のコード
$a=1;
echo bin2hex($a);//とした時に01 00 00 00となってほしい

$a=chr(1).chr(0).chr(0).chr(0);
とすれば、希望のようになる事にはなるのですが256を越えた場合の処理が面倒で・・・

よろしくお願いします
0216nobodyさん2007/01/13(土) 20:19:09ID:???
echo gettype($a); してみ
0217nobodyさん2007/01/13(土) 20:34:04ID:???
str_padでやるしかない
0218nobodyさん2007/01/13(土) 20:40:10ID:???
外部phpをincludeしようと 
<?php include("スクリプトアドレス/test.php"); ?>
と記述すると、

Warning: main(): Failed opening 'スクリプトアドレス/test.php' for inclusion (include_path='.;c:\php4\pear')
というエラーがでてしまいます。

なんとか解決策をご教授願えないでしょうか?
0219nobodyさん2007/01/13(土) 21:16:00ID:FzAsO9U8
掲示板で投稿があったときにキャッシュ的にPHPコードと表示用HTMLが混ざった
phpファイルを書き出しているんだけど、たまにファイル更新が途中で切れて
エラーが出るんだよね
今は見つけたら管理画面から再構築する処理ができるようにしてあるけど、
あるファイルにPHPの構文エラーがないかチェックする方法ってないのかな?
0220nobodyさん2007/01/13(土) 21:24:45ID:???
>>218
外部って別鯖かよ
そりゃ泥棒だな
0221nobodyさん2007/01/13(土) 22:03:56ID:???
>>216-217
そうですか・・・ありがとうございました
0222nobodyさん2007/01/13(土) 23:06:58ID:???
>>219
それって・。・
0223nobodyさん2007/01/13(土) 23:09:11ID:???
>>219
PHP CLIのオプション付きでチェックできた希ガス
0224nobodyさん2007/01/13(土) 23:12:27ID:???
>>219
shell から php のスクリプトを実行して出力の文字列にエラーが文字列が
含まれているかどうか確かめたら?

というか、そもそもの原因を突き止めたほうがいいぞ
それ何かおかしい
そんなもの自作で作るより素直にテンプレートエンジンを導入したほうが
良いと思うけどな
0225nobodyさん2007/01/13(土) 23:18:56ID:???
今まで設定ファイルに直書きでやっていたプログラム達に
管理画面を作っていこうと思ってます。

fileで読み込んで、行毎に「設定名\t値\n」でテキストエディタで開いた時に
わかりやすくするか、全部タブで区切って、項目無しでいくか、どっちが良いでしょう?

PHPを書き出してrequireの方が変数そのまま使えて楽でしょうか?
PHPで書き出すと、書き出しが面倒なのかなとも思います。

管理画面作る場合は他の人はどうやってるのか知りたいです。
やり方による後のメンテの問題とかあったら教えてください。
0226nobodyさん2007/01/13(土) 23:23:55ID:???
>>225
定数とか変数とか書いたPHPファイルをincludeすればいいんじゃないかな。

parse_ini_file()
ってのもあるよ
02272252007/01/13(土) 23:26:30ID:Xm9uu4fh
すみません下げてました。

>>219
携帯絵文字とか文字コードの違うPOSTで「<」が壊れるか
ファイルロック系じゃないでしょうか
0228nobodyさん2007/01/13(土) 23:30:49ID:???
>>225
日本語とかが入らないのなら
ini形式が楽だとは思う。
parse_ini_file() で設定読み込めるし
0229nobodyさん2007/01/13(土) 23:33:06ID:???
XMLとか。parse_iniの形式もええわな。pearのConfigでもええし。
yamlとかもあるけどPHPではあんまり聞かんわな
02302252007/01/13(土) 23:37:35ID:Xm9uu4fh
>>225
ありがとうございます。
そんなのあったんですね!
工夫を考える前にデフォルトの関数暗記した方がよさげですね。
02312252007/01/13(土) 23:45:02ID:???
あ〜もうだめぽ
何で自分にお礼言ってるんだ俺…

みなさんありがとうございます。
0232nobodyさん2007/01/14(日) 00:21:20ID:???
/admin
index.php
/profile
profile.php
/function
config.php

こんな感じのファイル構造だとして、設定ファイル(config.php)を読み込むには
どういう風に書くのが理想なのでしょうか?(エラーが起きにくい

自分の場合は、index.phpから読み込むなら
requre_once("function/config.php"); としています。(つまり相対指定)
0233nobodyさん2007/01/14(日) 00:24:38ID:???
なんだその分かりにくいディレクトリ表記は
0234nobodyさん2007/01/14(日) 01:07:28ID:???
>>232
フォルダ構造が一つにまとまっていれば当然相対指定でいいんじゃない
0235nobodyさん2007/01/14(日) 04:04:24ID:???
/*で広い範囲をコメントアウトしたいのですが
その範囲中にコメントアウトが記述されているので、
うまくコメントアウトできません。
コメントアウトをネストしたい時はどうすればいいですか?
0236nobodyさん2007/01/14(日) 04:19:54ID:???
無理。
頻繁にそういう状況が発生するのなら、プログラムの書き方に問題があるんじゃないかな。
0237nobodyさん2007/01/14(日) 04:33:49ID:???
よっぽどのことがない限りは/*は使うべきじゃない。あとで/*使えなくなるから。
俺はclassの説明文とかfunctionの説明文以外では使用しないようにしてる。
0238nobodyさん2007/01/14(日) 06:58:13ID:???
>>235
バージョン管理システムの導入をおすすめする。
今からならSubversionがいいかと思う。

最初は取っつきにくいと思うが、
その犠牲を払っても有り余る恩恵が得られると思う。
0239nobodyさん2007/01/14(日) 08:30:07ID:Q6oeoCn/
空メール送信機能を実現したいのですがxmailでは無理ですか?
0240nobodyさん2007/01/14(日) 09:35:11ID:???
>>239
無理。qmailを使え。
0241nobodyさん2007/01/14(日) 10:44:33ID:???
入力された文字の全角を半角に変える関数ってあるのでしょうか?
0242nobodyさん2007/01/14(日) 10:51:56ID:???
mb_convert_kana
0243nobodyさん2007/01/14(日) 11:01:00ID:???
携帯電話向けのスレから誘導されてきました。
ソフトバンク端末で着メロ(mmf)をダウンロードするとき
着メロのファイル名を指定する方法がわからず困っています

以下のPHPプログラムで着メロを携帯にダウンロードできたのですが
ファイル名がtest.mmfではなく
何故かdownload.mmfになってしまいます。

download.php

<?php
$fileName = "test.mmf";
header("Content-type: application/x-smaf");
header("Content-disposition: attachment; filename=" . $fileName );
header("Content-length: " . filesize($fileName) );
readfile ( ($fileName) );
?>

test.mmfにするには
どのように対応すればよいでしょうか。
02442432007/01/14(日) 11:02:36ID:8Jw775ys
↑質問者なのにsageてしまいました
0245nobodyさん2007/01/14(日) 11:03:38ID:???
PATH_INFO使うって結論でてるじゃん
他にもmod_rewrite使うとか
0246nobodyさん2007/01/14(日) 11:04:24ID:???
>>245
オマエ、誰に言っているの?
02472412007/01/14(日) 11:06:26ID:???
>>242
出来ました!ありがとうございました。
02482432007/01/14(日) 11:09:57ID:8Jw775ys
>>245
>>246
すいません、私が悪いんだと思います。
他スレで同じ質問したときに回答して頂いた
情報だったのですが、PATH INFO調べても
イマイチわからなくて、誘導されたスレでも
同じ質問してしまいました
0249nobodyさん2007/01/14(日) 11:12:28ID:???
どうしてもダメならtest.phpにするしかないな
0250nobodyさん2007/01/14(日) 11:28:13ID:???
セッションとクッキーってどう違うの?
02512432007/01/14(日) 11:34:51ID:8Jw775ys
PATH INFOを使ってうまくいきました
私の調べ方がダメダメだったようです
php.iniのPATH INFOが無効になっていることに
気づかなかったことが原因です

レスくれた人に感謝します
0252nobodyさん2007/01/14(日) 11:35:22ID:???
配列を文字列として結合して返す
という関数はありませんか?

"$array[0] - $array[1] - $array[2]"

こんな感じに変数の間に"-"を間に挟んで、
文字列として返してほしいのですが・・・
0253nobodyさん2007/01/14(日) 11:38:34ID:???
implode('-',$array);
0254nobodyさん2007/01/14(日) 11:48:40ID:???
>>253
ありがとうございます
0255nobodyさん2007/01/14(日) 13:25:40ID:Q6oeoCn/
ShiftJISでPHPファイルを作成するとき、ECHOなどで文字を出力せず、<?〜?>のそとにHTMLとしてだしとけばエスケープは必要ないですよね?
02562182007/01/14(日) 13:41:20ID:???
>>220
そんな器用な事はできんです。

外部っていうのは、別のphpファイルってことです。
なんと呼ぶのが適切かわかりませんが・・・
0257nobodyさん2007/01/14(日) 13:42:53ID:???
>>218
フルパス
0258nobodyさん2007/01/14(日) 13:47:29ID:???
>>256
スクリプトアドレス ってとこは実際にはどう書いてあるんだ?
0259nobodyさん2007/01/14(日) 13:50:55ID:???
>>255
同じ
02602182007/01/14(日) 14:07:19ID:???
>>257-258
ありがと〜 フルパスでいけました。
php4なんたらってエラーだったのでphpプログラムの問題なのかとおもってしまいました。
Thanks

0261nobodyさん2007/01/14(日) 14:17:59ID:???
基本的な動作のprintとかが出来るなら(つまりphpが動作してるなら)
基本的に設定か自分のプログラムの問題

phpは結構な商業サービスにも使用されている物だぞ
0262nobodyさん2007/01/14(日) 14:32:36ID:???
商用に広く使われているが故に、バグやセキュリティホールや言語使用の甘さを叩かれるのもまたPHP
026321です2007/01/14(日) 14:34:15ID:qItO8NuR
>>99
できたー!!!嬉し過ぎます!!!
ありがとぅございます!!

えーっと、なんか色々勘違いしてiniもApacheもいじくりまわして
、もぅわけわかんなくなって泣きそうでした。
設定はその2つだけだったんですね;

何度もほんとにありがとうございました(ペコリ
よし!がんばって続き勉強しょう!
0264nobodyさん2007/01/14(日) 14:39:39ID:???
>>262
そういう心配はもうちょっとレベルが上がってからじゃん?
今回の質問者のレベルで気にするより、マニュアルなり入門書を・・
0265nobodyさん2007/01/14(日) 14:43:38ID:???
まぁ、PHP(ZendEngine)自体の秘孔をつく事はあんまり無いな。
突いたらついたでバグ報告して直してもらうなりパッチを寄贈するなりすりゃみんな幸せ。

include時に相対パスを使う時に注意しなければいけないのは、
ブラウザから呼び出された一番最初のPHPファイルからの相対パスになるって事だね。
どこが基準になってるかは、getcwd()で分かるよ。

・getcwd - main script(一番最初)のパス
・__FILE__ - このファイルそのもののパス
0266nobodyさん2007/01/14(日) 14:49:51ID:???
getcwdで判定して相対パス使うくらい複雑になるなら、ディレクトリ構造をちゃんと整理して絶対パスのみ使うよう統一したほうが楽かもね。
02672622007/01/14(日) 14:56:21ID:???
>>264
あー、すまん。質問者に言ったわけじゃないよ。
0268nobodyさん2007/01/14(日) 15:34:14ID:???
正直すまんかった!
0269nobodyさん2007/01/14(日) 16:45:06ID:???
いやいや、俺もすまんかった
0270竜平2007/01/14(日) 17:17:17ID:???
いやここは俺が
0271nobodyさん2007/01/14(日) 17:59:25ID:???
Apache + PHP + MySQL の組み合わせで開発環境もサーバもWinとLinuxが混在する場合、
文字コードは何にしたらいいですか?
0272nobodyさん2007/01/14(日) 18:11:13ID:???
utf-8 か euc-jp
0273nobodyさん2007/01/14(日) 18:16:11ID:???
携帯サイトを作る場合、たとえばEUCで作ったら、PHP.iniにShiftジスで出力するようにしたら大丈夫ですか?
0274nobodyさん2007/01/14(日) 18:31:38ID:???
>>273
携帯の絵文字はshift-jisの外字文字の領域にあって(つまりshift-jisとも言えない)、eucではそれを表現できない。
なのでそれを扱いたいのならそれに応じた処理を書かないと大丈夫とは言えない。
「携帯 euc shift-jis 絵文字」でググればその辺の事情と幾つかの対応策が見つかるよ。
0275nobodyさん2007/01/14(日) 18:32:25ID:???
foreach ループって
途中で止める方法がないの?
0276nobodyさん2007/01/14(日) 18:38:52ID:???
止めるつーか抜け出す事はできる。
-> break。confinueもセットで覚えるべし。
0277nobodyさん2007/01/14(日) 18:40:18ID:???
>>276
ありがとうございます
0278nobodyさん2007/01/14(日) 18:55:54ID:???
>>273>>274
っていうか、今の携帯はUTF-8で大丈夫だろ。
Shift-JISっていつの携帯だよw
0279nobodyさん2007/01/14(日) 18:59:44ID:???
電池パック変えつつ何年も使う人もいるよ
0280nobodyさん2007/01/14(日) 19:02:56ID:???
>>279
そういう奴もいるだろうけど、それはブラウザの対応と一緒。
PCサイトだって、マイナーなブラウザやversionまで対応しないだろ?
今更、NN4.7に対応しているところはほぼ皆無だしな。
0281nobodyさん2007/01/14(日) 19:20:16ID:???
まだ切り捨てるには早いんじゃないかって話
0282nobodyさん2007/01/14(日) 20:11:46ID:tkWQOn4V
$weekday = array('日曜','月曜','火曜','水曜','木曜','金曜','土曜')[$weekday];

↑これは構文エラーが出るんですが、こういうのを上手く1行で処理する方法ってありませんか?
0283nobodyさん2007/01/14(日) 20:23:56ID:???
何がしたいのか分からん
0284nobodyさん2007/01/14(日) 20:36:18ID:???
$weekday = array('日曜','月曜','火曜','水曜','木曜','金曜','土曜'); $weekday = $weekday[$weekday];
0285nobodyさん2007/01/14(日) 20:38:01ID:???
> $weekday = array('日曜','月曜','火曜','水曜','木曜','金曜','土曜'); $weekday = $weekday[$weekday];
ちょーwww
0286nobodyさん2007/01/14(日) 20:53:02ID:???
>>284
の予想が当たっていたらエスパーだな
意味分からん、っていうか勝手に構文開発するなw
0287nobodyさん2007/01/14(日) 20:56:00ID:???
0から6の数値を、日本語の曜日に変換したいんじゃないのかな。
0288nobodyさん2007/01/14(日) 21:02:05ID:???
なるほど
$days=array(〜〜);
$today=$days[$n];
0289nobodyさん2007/01/14(日) 21:11:15ID:tkWQOn4V
あーごめん。
$weekday = 0;//0〜6が入ってる。
$weekday = array('日曜','月曜','火曜','水曜','木曜','金曜','土曜')[$weekday];
で、0=日曜、1=月曜って出力したいんだけど、意味が分かったかな?
0290nobodyさん2007/01/14(日) 21:12:53ID:tkWQOn4V
>>287
そうそう。

$weekdayNum = 0;
$weekdayArray = array('日曜','月曜','火曜','水曜','木曜','金曜','土曜');
$weekday = $weekdayArray[$weekdayNum];

を1行で書きたいんだけど。
0291nobodyさん2007/01/14(日) 21:28:06ID:???
ええ、一行にこだわる時期もありました。
今となっては苦い思い出です。
0292nobodyさん2007/01/14(日) 21:35:46ID:???
>>290
$weekday = array_search($weekdayNum, array('日曜','月曜','火曜','水曜','木曜','金曜','土曜'));
0293nobodyさん2007/01/14(日) 21:41:51ID:???
>>290
Perlに行け。お前はPHP使うな。
0294nobodyさん2007/01/14(日) 22:01:22ID:???
>>290
ソースのZend/zend_language_parser.yに、>282のように書ける規則を追加すればいいじゃないか。
0295nobodyさん2007/01/14(日) 22:50:28ID:???
>>290
1行で書く意味が単なる自己満足ならやめとけ
君はもっと他に学ぶべきことがあるはずだ
0296nobodyさん2007/01/14(日) 23:28:59ID:???
>>295
どうして一行で書いちゃダメかを、一行で説明シル
0297nobodyさん2007/01/14(日) 23:36:14ID:???
読みやすいのが一番
0298nobodyさん2007/01/15(月) 00:11:11ID:???
余計な変数を導入するよりもリテラルに演算子を適用して
一発で求められる方がずっと可読性高いんだがなあ。

変数が導入されると他で使われないかとか、
何処かで書き換えられるんじゃないかとか考慮する点が多くなる。

が、まあそれができないのなら仕方ないけどね。
0299nobodyさん2007/01/15(月) 01:17:10ID:???
$weekday = toWeek($num);

function toWeek($num)
{
$week = array('日曜','月曜','火曜','水曜','木曜','金曜','土曜');
return $week[$num]
}
0300nobodyさん2007/01/15(月) 01:26:14ID:???
読みやすさ。
普通は1行に色々処理が混ざってると読み難い。

後で曜日使おうと思った時の使いまわし。
sun mon tue…にしたいとか、デザイン切り分けたい時のやりやすさ。

IDE使えば変数の参照なんて勝手にしてくれる。
0301nobodyさん2007/01/15(月) 01:27:59ID:???
>>298
ならswitch文で書いちゃえばいいんじゃないの?

> 変数が導入されると他で使われないかとか、
直後にunsetしちゃえば?

> 何処かで書き換えられるんじゃないかとか考慮する点が多くなる。
1行上で定義しているものをどこで書き換えるんだよ。
0302nobodyさん2007/01/15(月) 02:16:32ID:MepRBIHy
特殊文字の質問です

※まず最初に、以下に書く「&」とは半角の&のことです。

�@フォームのテキストボックスに ©&copy; と記入する。

�AそれをPHPで受け取り ©&copy; とそのまま表示させたい。

�B要するに、©&copy;を &copy;&amp;copy; に変換したい。

よろしくお願いします。
0303nobodyさん2007/01/15(月) 02:20:15ID:???
で、何がうまくいってないんだ?
0304nobodyさん2007/01/15(月) 02:23:52ID:???
そもそも©っていう記号文字をフォームに入力すること自体無理でしょう。
©を入力したいユーザー自身が&copy;って入力するもんだと思う。
サーバはそれをそのまま保存してそのまま表示すればいい。
0305nobodyさん2007/01/15(月) 03:15:48ID:???
>そもそも©っていう記号文字をフォームに入力すること自体無理でしょう。
無理じゃないです↓
http://www.google.co.jp/search?hl=ja&q=%C2%A9&lr=
0306nobodyさん2007/01/15(月) 03:39:25ID:???
それはクエリーに仕込んでフォームに*出力させてる*んじゃないのかと。

>>302が何をどうしたいのか、はっきりよくわかんないんだけど
「htmlspecialcharsに食わすと、全部&→&amp;変換されてしまうので困ってます」に見えた。
必要な個所だけ「&amp;→&」に戻しましょう、という話じゃないのかな。
0307nobodyさん2007/01/15(月) 03:45:30ID:???
>>305
それはUTF-8に含まれてる「コピー(著作権)」の記号でしょう。
それでいいのならそれがリクエストされたら&copy;に変換してあげれば?
03083022007/01/15(月) 04:11:48ID:???
レスありがとうございます。
その、©©を©&copy;に変換してDBにぶち込みたいので
変換方法を教えてください。
03093022007/01/15(月) 04:15:02ID:???
あう、変換されてしまった。
>>308は間違いです。
©&copy;を&copy;&amp;copy;に変換したい。
です。
03103062007/01/15(月) 04:19:30ID:???
>>309
下2行だけでいいので読んでいただければ幸いです。
03113022007/01/15(月) 04:36:49ID:???
>>310
読みました。
htmlspecialcharsは使ってませんが、使うと全部&→&amp;変換されますね。

>必要な個所だけ「&amp;→&」に戻しましょう、という話じゃないのかな。
そうです。
0312nobodyさん2007/01/15(月) 04:40:46ID:???
XML_RSSでATOMのパースってどうにか出来ないもんですかね
0313nobodyさん2007/01/15(月) 13:46:11ID:674OVm6O
なんだか人生に疲れました…
0314nobodyさん2007/01/15(月) 13:54:49ID:???
おれもー
0315nobodyさん2007/01/15(月) 14:48:27ID:???
>>313-314
イ�`
0316nobodyさん2007/01/15(月) 15:14:47ID:???
>>313-314
http://www.amazon.co.jp/exec/obidos/ASIN/4569654967/
0317nobodyさん2007/01/15(月) 15:21:13ID:QZYdEtmo
DOMElementをHTML付で変数に入れたいんだけど、どうすればいい?
0318nobodyさん2007/01/15(月) 15:31:57ID:674OVm6O
>>316携帯からなのでみれないっす…
0319nobodyさん2007/01/15(月) 15:39:09ID:???
>>318
お爺さんに諭されているような, 2006/12/26
レビュアー:I "II" (神奈川県横浜市) - レビューをすべて見る
良くある人生訓的な本ですが、他のものと違って
まるで肉親の祖父に諭されているような感じを受ける一冊です。
親しみやすい文体が心地よいです
0320nobodyさん2007/01/15(月) 15:46:50ID:???
if( $スレ違い ){ 帰れ(); }
0321nobodyさん2007/01/15(月) 15:49:00ID:???
>>317
意味が分からないのは俺だけですか?
0322nobodyさん2007/01/15(月) 17:12:31ID:???
>>317
その要素名をHTMLで使える要素名に置き換えて出力すればいいのでは?
0323nobodyさん2007/01/15(月) 17:58:43ID:???
phpファイルをUTF-8で保存して1行目に
<?php header('Content-Type: text/html; charset=UTF-8') ?>
と書くとエラーが出ます。
エラー文:
Warning: Cannot modify header information - headers already sent by
なぜでしょうか?
0324nobodyさん2007/01/15(月) 18:00:42ID:???
>>323
Warning行はほんとに1行目?
下のほうでまたheader関数呼んじゃってるんじゃないの?
0325nobodyさん2007/01/15(月) 18:11:18ID:???
includeしてるんじゃないの
0326nobodyさん2007/01/15(月) 18:12:47ID:???
BOMつきUTF-8なだけとか
0327nobodyさん2007/01/15(月) 18:13:07ID:???
>>324
違うよ、バカ。
---------file head
あい う<?php header('Content-Type: text/html; charset=UTF-8') ?>
---------
header関数の前に文字列か何かを出力しているだろ。
0328nobodyさん2007/01/15(月) 18:15:53ID:???
>>327
なんか変な設定してる? その程度だとバッファに収まってるから、
headerは間に合うんだけど。
03293232007/01/15(月) 18:50:41ID:???
test.phpの中身
<?php header('Content-Type: text/html; charset=UTF-8') ?>
<html><body>TEST</body></html>

出力結果
Warning: Cannot modify header information - headers already sent by (output started at C:\hoge\test.php:1) in C:\hoge\test.php on line 1
TEST

です。よろしくお願いしいます。
0330nobodyさん2007/01/15(月) 18:54:51ID:???
うちだとエラー出んな
0331nobodyさん2007/01/15(月) 18:56:05ID:???
そもそもセミコロンもないのにparseエラーにならないのが不思議。

<?php header( "Content-Type: text/html; charset=UTF-8" ); ?>
<html><body>TEST</body></html>

これでどうよ?
(ダブルクオートにしたのは俺の趣味)
0332nobodyさん2007/01/15(月) 18:57:49ID:???
スクリプトの最後にはいらないんだけどね
まぁ323は付けたほうがいいと思うけど
あと俺予想では原因は>>326
0333nobodyさん2007/01/15(月) 18:57:55ID:???
>>326が答えだよ
03343232007/01/15(月) 19:04:08ID:???
>>331
>これでどうよ?
だめでした

BOMつきUTF-8って何ですか?
0335nobodyさん2007/01/15(月) 19:06:44ID:???
bomつきutf-8ファイルでのheaderによるリダイレクト
http://ml.php.gr.jp/pipermail/php-users/2002-December/012229.html
03363232007/01/15(月) 19:13:06ID:???
>>335
質問する前にそのページ読みましたが解決できませんでした。
ちなみにTeraPad使ってますのでBOM付きじゃないです・・・

0337nobodyさん2007/01/15(月) 19:16:59ID:???
http://japan.cnet.com/news/ent/story/0,2000056022,20340715,00.htm
これどうなん?Fortress
0338nobodyさん2007/01/15(月) 19:18:43ID:???
>>336
原因切り分けるヒント:
1. EUC-JPで試してみる。
2. header関数だけにしてみる。
03393382007/01/15(月) 19:27:26ID:???
もしかして、サーバーで、そのファイルをmoreやって中身を見てみ。
文字化けして何か入っているじゃないかな?
03403232007/01/15(月) 19:28:06ID:???
>>338
header関数だけにしてみました
EUC-JPだとエラーなし
UTF-8だとエラーが出ます
0341nobodyさん2007/01/15(月) 19:29:45ID:???
>>340
ファイルをアップして
0342nobodyさん2007/01/15(月) 19:29:54ID:???
>>340
UTF-8N は?
03433232007/01/15(月) 19:30:14ID:???
知識不足ですみません。
サーバーで、そのファイルをmoreって何でしょうか?
0344nobodyさん2007/01/15(月) 19:30:59ID:???
>>340
使ってるTeraPadさんがステータスバーに文字コードを表示してると思うけど
「UTF-8」って書かれてない?「UTF-8N」でなく。
0345nobodyさん2007/01/15(月) 19:31:32ID:???
moreよりもodしたほうがはっきりするような。
03463382007/01/15(月) 19:32:29ID:???
>>343
おれも、Unix系詳しくないんだけど、テキストファイルを見るときの
コマンドのことだよ。
moreとかlessとかそんな名前だったような?悪い、そこは他の詳しい人に。
03473232007/01/15(月) 19:32:47ID:???
>>342
UTF-8Nで保存したときの出力結果
TESTL

UTF-8Nで保存したときの出力結果のソース
<html><body>TEST</body></html>L

エラーは出ませんが最後にLと言う文字が…
0348データベースへの接続処理を関数化する方法について2007/01/15(月) 19:34:30ID:???
データベース(MySQL)への接続処理なんですが、関数化して呼び出すような使い方はできるでしょうか?

例 1. mysql_connect() の例
http://jp2.php.net/manual/ja/function.mysql-connect.php#AEN111881

データベースへの接続処理を行なわせて、任意の場所ですぐにmysql_query()を実行できるようにしたいのですが、先にデータベースへの接続を済ませておかないといけないので、どういう処理をすれば良いのだろうか?と思案しました。
http://jp2.php.net/manual/ja/function.mysql-query.php
03493232007/01/15(月) 19:35:27ID:???
>>344
ステータスバーには保存した文字コード(UTF-8)と書かれています
サーバーはローカルのWindowsです
apache2 php5 です
0350nobodyさん2007/01/15(月) 19:39:34ID:???
>>348
まずPEARのMDB2とか使ってみるといいんじゃないかな?
03513232007/01/15(月) 19:43:28ID:???
>>342
あ,すみません。
UTF-8NではエラーなしでちゃんとTESTと表示できました。
UTF-8Nで保存しろってことでしょうか?
0352nobodyさん2007/01/15(月) 19:47:27ID:???
>>351
http://ja.wikipedia.org/wiki/UTF-8
0353nobodyさん2007/01/15(月) 19:48:43ID:???
結局本命の>>326か、
03543232007/01/15(月) 19:54:33ID:???
あ
UTF-8NってBOMなしのUTF-8って意味ですか?
知りませんでした。8Nで保存します。
ありがとうございました。
0355nobodyさん2007/01/15(月) 19:56:46ID:???
早々に答えが出てるのにここまで引っ張る力
なかなかの釣り師w
0356nobodyさん2007/01/15(月) 20:11:25ID:???
調べもせずに「TeraPad使ってますのでBOM付きじゃないです・・・」
と言っておいて「知りませんでした。」

素人の仕業じゃないなw
0357nobodyさん2007/01/15(月) 20:19:49ID:N+fJDAIZ
Debianでapache2,PHP4です
ローカルIPアドレスって取得できますか?
192.168.1.10みたいなやつです(DHCPは使っていません)
よろしくお願いいたします
0358nobodyさん2007/01/15(月) 20:23:11ID:???
>>357
ipconfig
$_SERVER
03593232007/01/15(月) 20:34:26ID:???
ただUTF-8Nを知らなかっただけです。ごめんなさい
googleで調べて、某サイトにTeraPadはBOM付じゃない。と書いてあったので。

>>355
>>356
本当にごめんなさい
0360nobodyさん2007/01/15(月) 20:48:10ID:???
>>359
参考までに知りたいんだけど何処のサイト?
03613232007/01/15(月) 20:53:30ID:???
>>360
windows apache2 ローカルサイト(>>349にも書きました)
で遊んでるだけですけど。
参考になりましたでしょうか?
0362nobodyさん2007/01/15(月) 20:55:31ID:???
TeraPadはBOM付じゃない。って書いてあったサイトのこと
03633572007/01/15(月) 20:56:10ID:N+fJDAIZ
>>358
即レスありがとうございました
$_SERVERは検索などしていたのですが、もうひとつ分からなくって。。
もう一度検索などしてみます

あとググり方でちょっと教えて欲しいのですが、
php ipconfig
でググると、phpで作成(拡張子が.php)されているページだとコンテンツ内にphpが含まれていなくても
ヒットしてしまう気がするのですが、これって回避する方法ないでしょうか?
0364nobodyさん2007/01/15(月) 20:58:42ID:???
ごめんipconfigは嘘
0365nobodyさん2007/01/15(月) 21:29:42ID:???
$_SERVER["SERVER_ADDR"]
0366nobodyさん2007/01/15(月) 21:35:44ID:???
php -.php
0367nobodyさん2007/01/15(月) 21:46:25ID:???
>>363
-filetype:php

しかしphpに詳しいサイトはphpである可能性がかなりあると思うんだが
0368nobodyさん2007/01/15(月) 22:32:27ID:???
ちょっと某サイトで
---------------------------------------

上のプログラムだとaが出力されるのですが下のプログラムで「あ」を出力するプログラムに変更するにはどうしたらいいでしょうか??
<?php
$data[1]="aaa";
$str=$data[1];
echo $str[0];
?>

<?php
$data[1]="あいち";
$str=$data[1];
echo $str[0];
?>
---------------------------------------

こんな質問があったんだが
$str = "hogehoge"; としてみると
$str[0] ⇒ h
$str[1] ⇒ o
$str[2] ⇒ g
$str[3] ⇒ e
$str[4] ⇒ h
$str[5] ⇒ o
$str[6] ⇒ g
$str[7] ⇒ e

となるんだけど仕様?
0369nobodyさん2007/01/15(月) 22:46:34ID:???
>>368
ttp://www.php.net/manual/ja/language.types.string.php#language.types.string.substr
0370nobodyさん2007/01/15(月) 22:50:33ID:???
>>369
今初めてしったwwwwあり

マルチバイト取得するときはどうすればいいのかな?
0371nobodyさん2007/01/15(月) 23:20:55ID:???
あくまで文字数じゃなくて1byteの取得だからmb_substr使うしかないと思うよ
0372nobodyさん2007/01/15(月) 23:28:03ID:???
秀和システム刊「PHPによるデザインパターン入門」を読んでいてふと気になったので質問をさせてください。

Singletonパターンですが、このパターンを適用するとインスタンスはひとつだけ生成されるという説明でした。

class Singleton
{
private static $instance;

private function __construct()
{
...//コンストラクタな処理をする。
}

public function getInstance()
{
if(!isset(self::$instance))
self::$instance = new Singleton();

return self::$instance;
}

public final function __clone()//インスタンスの複製を許可しない。
{
throw new RuntimeException("だめ");
}
}
$inst1 = Singleton::getInstance();//実際にはこうやって使う。
$inst2 = Singleton::getInstance();//$inst1と同じインスタンスになる。

実際、一回の実行の最中に何回getInstance()メソッドを実行しても帰ってくるインスタンスは同じものでした。
 で、一つになったのですが、複数の人間が同時にこのスクリプトにアクセスした場合、インスタンスは同一のものが渡されるのでしょうか?
 どなたか心やさしい方がいらっしゃったらご教授いただけると幸いです。
0373nobodyさん2007/01/15(月) 23:30:35ID:???
>>372
staticだからまったく同じオブジェクトが使用されるよ。
逆に言えば複数アクセスで問題になるクラスの場合は使うべきではない。
0374nobodyさん2007/01/15(月) 23:37:04ID:???
素早い回答ありがとうございました!!
なるほど。複数人がアクセスする場合も同じインスタンスなのですか。。。

//staticな変数が置かれるメモリってプロセスごとに違うのでしたっけ?
////そもそもPHPのプロセスはひとつでしたっけ…
//////あぁ・・・勉強不足だ私・・・
0375nobodyさん2007/01/16(火) 00:47:41ID:GnaOUHXQ
WinXP, Apache2.0.58, PHP5, ローカルで

ローカルの別ドライブにあるフォルダをscandir()するとスクリプトのあるディレクトリの一覧が返されます。
 スクリプト:C:\Apache Group\Apache2\htdocs (C:/Apache Group/Apache2/htdocs)
 スキャン先:F:\docs (F:/docs)
ディレクトリの指定方法が間違ってるんでしょうか?
それとも権限等別の問題でしょうか?
0376nobodyさん2007/01/16(火) 01:23:47ID:???
>>372
>>373
>>374

複数人アクセスってのは同じサイト(スクリプト)に全く別のブラウザからアクセスって事ですよね?
>>374で自身が言っている通り、インスタンスは全く別のはずですよ。
0377nobodyさん2007/01/16(火) 02:10:44ID:???
んなバカな。同じインスタンスを使うからSingletonでしょ。
0378nobodyさん2007/01/16(火) 02:15:52ID:???
そんな危ない仕様ならPHP5へは移行できんな
0379nobodyさん2007/01/16(火) 03:13:56ID:???
なんか用語が通じてないと思うのだがwww
03803722007/01/16(火) 03:14:02ID:???
>>372です。

>>376さんのご質問に答えます。
複数人でのアクセスというのは同じスクリプトに別のPCや別のブラウザからアクセスされた場合を想定しております。staticなインスタンスがメモリにおかれるということなので、プロセスが一つなら複数人がアクセスしても同じインスタンスが使われそうです。
/*とはいっても私自身勉強不足なので本当に同じインスタンスなのかわかりませんが…*/

ただ、その場合はどのタイミングでstaticなインスタンスが破棄されるのかとか
いろいろと疑問はつきませんが・・・
あと、CGI版PHPとモジュール版で違うのかとか・・・
0381nobodyさん2007/01/16(火) 03:36:02ID:???
>>380
PHPのstaticメンバは「プロセス毎にメモリに配置される」わけではなく、「PHPの実行毎に割り当てられる」ので、アクセス毎に別のオブジェクトになる。
ちなみに、プロセスがどうのこうの言ってるけど、アクセス毎に別プロセスにするかどうかは、Webサーバ依存。
まあ現実問題、Apacheはアクセス毎に別々のプロセスを生成してるけどね。
03823722007/01/16(火) 04:29:04ID:???
>>381
と、いうことは>>372に書いた例でも別のアクセスの場合は別のインスタンスが生成されるわけですね?
0383nobodyさん2007/01/16(火) 04:36:04ID:???
>>382
そもそも複数ユーザからのアクセスで同じインスタンスを返す方法なんて存在しない。
0384nobodyさん2007/01/16(火) 04:43:09ID:???
>>377
Singletonパターンってのは1つのプログラム内でどこで何度生成しても
全て同一のインスタンスを指す、というだけのものであって、
あくまで1アクセス内のみに適用されるものだよ。
0385nobodyさん2007/01/16(火) 04:53:02ID:???
逆にすべてのユーザからアクセス可能なら逆にめんどいことになる
0386nobodyさん2007/01/16(火) 04:55:39ID:???
>>385
プロセス間通信の真似事ができそうだw
03873722007/01/16(火) 05:01:02ID:???
なるほど、納得しました。
皆様のご親切な回答、ありがとうございました。
0388nobodyさん2007/01/16(火) 06:24:26ID:MadsLSvn
file_get_contents($url);でたまに failed to open stream: HTTP request failed! HTTP/1.0 403 Forbidden になるんだけど、
どうやったら回避できる?
0389nobodyさん2007/01/16(火) 06:40:17ID:???
>>388
403が出ないURLを指定すればいいんでない?
0390nobodyさん2007/01/16(火) 06:44:15ID:???
あるデータに表示順序を保持させてユーザが自由に順序変更できるようにしたいのですが、どのような方法がありますでしょうか?

また、順序変更する際のデータのとり方がさっぱりなのです。

例)
1〜10のデータ順序をユーザが決定
 ⇒
順序をPHPに送る
 ⇒
データベースに順序を格納

この『順序をPHPに送る』際、どのように、ユーザが設定した順序と内部のユニークキーを結び付けるのか見当が付かないのです。

長文になりましたが宜しくお願い致します。
0391nobodyさん2007/01/16(火) 07:28:52ID:MadsLSvn
>>389
いや、、たま〜に出るんだよ。5回に1回くらい。
0392nobodyさん2007/01/16(火) 07:36:28ID:???
>>390
「順番」を表す数値を全部送信させたらいいんじゃない?
0393nobodyさん2007/01/16(火) 07:38:58ID:???
>>391
そんな奇妙な現象が起こっているなら、もう少し発生条件をよく確認した上で、サーバ管理者にその不具合について問い合わせてくれ。
0394nobodyさん2007/01/16(火) 08:44:53ID:???
-リストの文字
-リストの文字
-リストの文字

を

<ul>
<li>リストの文字</li>
<li>リストの文字</li>
<li>リストの文字</li>
</ul>

にする方法と元に戻す方法をよろしくお願いします。
スレ違いだったらすいません
0395nobodyさん2007/01/16(火) 09:13:01ID:???
>>391
403の意味分かってる?いたって正常
0396nobodyさん2007/01/16(火) 11:37:48ID:???
>>394
str_replace
0397nobodyさん2007/01/16(火) 11:45:57ID:???
以下の症状に悩まされています。
しかも、再現性がなく原因が分からないので、困っています。
自作のphpに問題があるのか、サーバーに問題があるのか、
分からないのですが、このような症状の要因として、
どのようなことが考えられますか。

(症状) サーバーにリクエストすると、またに、画面が白くなります。
    もしくはブラウザのエラー画面(ページが表示できません?)が表示されます。
(再現性) 500リクエスト〜1000リクエストに一回程度。
     特定のスクリプトに依存せず
(サーバー) レンタルサーバー:xrea
(php) php5
(OS) Linux
0398nobodyさん2007/01/16(火) 12:25:54ID:???
配列内を検索してヒットしたらその番号を出力するというのを作っています。
ですが、配列内を検索するのはarray_searchで出来るとして
どうやって検索した文字を出力するのか分かりません。。
何か良い関数などがあるのでしょうか?
03993902007/01/16(火) 12:48:45ID:???
>>392
返答ありがとうございます。

データを送る際のHTML文なんですが、
foreach $data_list as $data) {
<input type="text" name="<? echo $data->seq; ?>">
<input type="text" name="<? echo $data->seq; ?>">
...
}
こんな感じで取ろうとしているのですが,
seqはデータベースのユニークキーであるため、PHP内でうまく取得することができないです。
なにかコツはありますでしょうか?
0400nobodyさん2007/01/16(火) 12:51:48ID:???
変数内の”を削除するにはどうしたらいいのでしょうか?
0401nobodyさん2007/01/16(火) 13:08:33ID:???
str_replace($foo, '"', '');
0402nobodyさん2007/01/16(火) 13:10:13ID:???
str_replace($foo, '”', '');
0403nobodyさん2007/01/16(火) 13:12:11ID:???
>>398
検索した文字って何? それって、array_searchの第1引数じゃないの?
0404nobodyさん2007/01/16(火) 13:18:26ID:???
>>398
$ary = (10,11,12);
$key = array_search(11, $ary);
echo $ary[$key];
0405nobodyさん2007/01/16(火) 13:24:21ID:???
>>397
静的なHTMLでも鯖が忙しいときはそうなったりする。
サーバサイドスクリプトだとPOSTしたままで終わったり。

>>401-402
俺が使ってる str_replace と引数の順序が違うように見える。
0406nobodyさん2007/01/16(火) 13:27:49ID:???
>>399
意味わかんね
foreachの前の部分も出せば?

<input type="text" name="<? echo $data->seq; ?>">
<input type="text" name="<? echo $data->seq; ?>">
は一行でいいんじゃないの?
04073902007/01/16(火) 13:33:58ID:???
>>406
間違えました…
foreach $data_list as $data) {
  <input type="text" name="n<? echo $data->seq; ?>" maxlength="2"><? echo $data->name; ?>
}
でした。
この場合のseqはユニークな数字(1とか23とか)ですので$_POST['n1']などで取る場合、非常にやっかいなのです
0408nobodyさん2007/01/16(火) 13:47:13ID:???
>>407
<input type=" hidden " name="seq" value="23">
を使えば?

セッション使ったほうがセキュアだと思うけどさ。

04093902007/01/16(火) 14:05:46ID:???
>>408
それだとユーザが定義した順序が送られてこないと思うのですが…
恥ずかしながら無知なのでそれでユーザが定義した順序を取得する方法が思いつきません
度々すみませんがお願い致します
0410nobodyさん2007/01/16(火) 14:13:25ID:???
ユーザに定義して欲しいのは order なんでしょ。unique key でなくて。
0411nobodyさん2007/01/16(火) 14:56:12ID:???
プログラムはEUCなのですが、読み込むファイルはShift_JISの場合、
どうやって文字化けなしに読み込めばいいのでしょうか?

$data=file(mb_convert_encoding("test.csv","EUC-JP"));

とかしても駄目でした。
0412nobodyさん2007/01/16(火) 14:59:57ID:???
まぁ、何かと突っ込みどころがあるんだがwww
0413nobodyさん2007/01/16(火) 15:11:34ID:???
>>411
lol
0414nobodyさん2007/01/16(火) 15:13:20ID:???
>>412
まずは一つ目どうぞ
04154122007/01/16(火) 15:18:32ID:???
一つ目。
file と mb_convert_encodingの処理順が逆。
0416nobodyさん2007/01/16(火) 15:34:25ID:???
今、??人の閲覧者がいます
的なサンプルコード知ってる人いますか?

cgiは沢山あるのに…
0417nobodyさん2007/01/16(火) 15:40:15ID:???
>>409
もう少し自分で考えるって事をしたら?
HTMLフォームとphpの基礎を学びなおしたほうがいい

まずフォームで必要な情報をまとめて表なりリストにしなさい
まとまったら自分で考えるか、ここにそのリストなり表を書いてみれば

>>407と>>408の内容を合わせれば出来るんじゃね?
とにかくトライ&エラーしてみそ
0418nobodyさん2007/01/16(火) 15:47:35ID:???
>>416
cgiでもサンプルになると思うが・・・
Cだろうが、perlだろうがrubyだろうがpythonだろうが、phpだろうが
04193902007/01/16(火) 16:41:14ID:???
>>417
リストにしてみます。
自分では1週間ほど考え抜いたのですが
効率的な方法がどうしても分からないのでまたお力お借りするかと思います。
スミマセンが宜しくお願いしますm(_ _)m
0420nobodyさん2007/01/16(火) 17:22:33ID:???
>>418
じっくりとphpに直せばいいんですけど
phpしかしらないので…
また、phpならではの作り方もあるかもしれず
04213902007/01/16(火) 17:45:11ID:???
1.データベース内
master_tbl

data_seq = ユニークキー
name   = タイトル名
msg    = コメント欄
ip    = IPアドレス
number  = 標準表示ナンバー
time   = 投稿時間

usr_tbl
usr_seq   = ユーザキー(ユニーク)
name    = ユーザの名前
pass=
ip     = IPアドレス
time    = 登録時間

usr_num_tbl
seq     = ユニークキー
usr_seq   = ユーザキー(usr_tblと連動)
data_seq  = master_tblと連動(ユニークではない)
number   = ユーザ定義表示ナンバー
time    = 登録時間

こんなテーブルでユーザが順序を変更するたびusr_num_tblを新たに消して挿入します。

2.フォームで必要な情報

PHPSESSID=usr_seqや名前を格納しておく
0422長文すみません3902007/01/16(火) 17:55:16ID:???
続き
2.フォームで必要な情報
number =master_tblの何番のデータと連動しているか、知るため
seq =ユーザ定義の順序を取る
理想としては<input name="num1" value="1">
このようにnum(数字)でmaster_tbl内部の数値を送り、valueでユーザの順序を得るのがいいのかなぁとおも宇野ですが
これはかなり効率が悪いのです。。
0423nobodyさん2007/01/16(火) 18:03:17ID:???
まぁ、大抵はテーブル設計時にキーと順序情報って別にするけどね。
0424nobodyさん2007/01/16(火) 18:05:53ID:???
↑スマソ。seqとnumberと別にしてるね。忘れてくれ。
0425nobodyさん2007/01/16(火) 18:09:12ID:???
usr_num_tbl に seq って必要なのか?
usr_seq と data_seq の二つユニークでいいんじゃね?
俺が理解してないだけか?
0426nobodyさん2007/01/16(火) 18:22:43ID:???
JavascriptでPHPの処理が出来るのでしょうか?
例えば
if($test==""){
echo "testは空です";
}else{
echo $test;
}

というよくあるPHPの分岐があったとして、通常はフォームのボタンを押すなどして
$testに値を入れて判断しますが、それをJavascriptで出来るのかどうか
気になって質問しました。(もちろんJavascriptのスレでないのでソースなどは良いです)
0427nobodyさん2007/01/16(火) 18:33:10ID:???
>>426
何がしたいかよくわからないがajaxかな
04284262007/01/16(火) 18:53:54ID:???
>>427
わかりずらくてすみません。
用はif内を表示する為には1アクション起こさなければ表示されませんが、
それをJavascriptで出来ないかと思いまして。
(フォームに値を入れたら表示されるなど)

それでやっぱりAjaxなんですね。とりあえず道が開けました。ありがとうございます。
0429nobodyさん2007/01/16(火) 19:11:49ID:???
>>421-422
ここまでまとまってるのに何で出来ないんだろうね、不思議な個だ・・
多分フォームが余り理解できて無い?HTMLは得意?

では今出来ているフォームだけを晒してくださいな。
0430長文すみません3902007/01/16(火) 19:33:26ID:???
>>429
ありがとうございます(;ω;)バカなんです…でも必死なんです…

現在はこんな感じです。

<?$i=1;?>
<form action="" method="post">
<? foreach($data_list as $data) {?>
  <input type="text" name="n<? echo $data.number; ?>" value="<? echo $i;?>" size="1" maxlength="2"><? echo $data.name; ?><br />
 <? $i++;?>
<? }?>
<input type="submit" value="変更">
</form><br />
0431nobodyさん2007/01/16(火) 19:35:28ID:???
>>428
onchangeとか使えば?
0432nobodyさん2007/01/16(火) 19:36:59ID:???
>>430
えーと、これだと正直読みにくいので表示後のHTMLだけのほうが嬉しい
0433nobodyさん2007/01/16(火) 19:40:23ID:???
>>430
好みの問題かもしれないが、今の段階では細切れに<?php〜?>を多用するより、
ヒアドキュメントを使うなりしてソースの視認性を高めた方が良いかも。
0434nobodyさん2007/01/16(火) 19:41:18ID:???
>>430
あとこの <? print "玄人にもオススメできない"; ?> を多用するの読みにくいしやめたほうがいいよ。

ttp://cai.cs.shinshu-u.ac.jp/sugsi/Lecture/php/php/6-print.html
にかいてあるヒアドキュメントを使いなさい。
04354342007/01/16(火) 19:41:52ID:???
>>433
めっさかぶった失礼
0436長文すみません3902007/01/16(火) 19:44:54ID:???
度々の投稿、すみません。

<form action="" method="post">
<input type="text" name="n1" value="1" size="1" maxlength="2">ほげほげ<br />
<input type="text" name="n2" value="2" size="1" maxlength="2">ふーふー<br />
<input type="text" name="n4" value="3" size="1" maxlength="2">ほげ<br />
…
<input type="submit" value="変更">
</form><br />

n(1〜)はn+内部numberです。
valueはユーザが決める順序になります。
例えば
内部numberが1でvalueが2の場合、テーブルには内部ナンバーとvalueのナンバーを入れていく感じです
0437長文すみません3902007/01/16(火) 19:48:15ID:???
>>433-434
すみません。。。

普段は自作のテンプレート使ってますが、
自分にし
か理解できないと思うのでこんな書き方にしました。
ごめんなさい…
0438nobodyさん2007/01/16(火) 20:14:24ID:???
自作のテンプレート??
それが作れて何故これが出来ないのだろう・・


<input type="text" name="1" value="1" size="1" maxlength="2">ほげほげ<br />
<input type="text" name="2" value="2" size="1" maxlength="2">ふーふー<br />
<input type="text" name="4" value="3" size="1" maxlength="2">ほげ<br />

ってやればいいんじゃないの?
標準表示ナンバー1はユーザ指定順番は一番目
標準表示ナンバー2はユーザ指定順番は二番目
標準表示ナンバー4はユーザ指定順番は3番目
ってことじゃなくて?
0439nobodyさん2007/01/16(火) 20:25:20ID:???
で$_POSTでforeachしたら解決じゃね?
0440nobodyさん2007/01/16(火) 20:31:06ID:???
ひとまずこれで出来るだろ
これをまず理解すれ
サニタイズとかは自分で調べてね

<?php
//print_r($_GET);
foreach($_GET as $key => $val){
print "標準通し番号{$key}はユーザでは{$val}<br>";
}

$html .= <<<_EOF_
<head>
<meta http-equiv="content-type" content="application/xhtml+xml; charset=EUC-JP" />
<meta http-equiv="content-style-type" content="text/css" />
</head>

<form action="" method="get">
<input type="text" name="1" value="1" size="1" maxlength="2">ほげほげ<br />
<input type="text" name="2" value="2" size="1" maxlength="2">ふーふー<br />
<input type="text" name="4" value="3" size="1" maxlength="2">ほげ<br />
<input type="submit" value="変更">
</form><br />
_EOF_;

print $html;
?>
0441nobodyさん2007/01/16(火) 21:44:37ID:???
サニタイズいうな
0442nobodyさん2007/01/16(火) 21:55:07ID:???
なんて言うたらええねん
0443nobodyさん2007/01/16(火) 21:58:57ID:???
>>434の紹介したサイト、説明が間違ってる、誤字も多かった。
宣伝じゃないと思うけど見てて恥ずかしい。
0444nobodyさん2007/01/16(火) 22:26:42ID:???
まぁ、大体分かればいいと思って適当にググッたんだけどな
0445nobodyさん2007/01/17(水) 04:04:07ID:gVMvFP3J
指定したIDのDOMElementを削除するにはどうすればいい?
教えてくれ。
0446nobodyさん2007/01/17(水) 04:08:20ID:???
>>445
>>317に相談すればいい。
0447nobodyさん2007/01/17(水) 04:43:36ID:???
ソースも出さない馬鹿は放置汁。
0448nobodyさん2007/01/17(水) 11:26:57ID:???
while (!feof($fp)) {
$buffer = fgets($fp);
echo $buffer;
}

ファイルポインタが次の行に進むタイミングって、fgetsが1行読み込んだ後ですか?
fgetsは1行読み込むと同時にファイルポインタを1行進めるっていう関数でおk?
0449nobodyさん2007/01/17(水) 11:27:29ID:cKV9B/mv
あげ忘れ
0450nobodyさん2007/01/17(水) 11:47:13ID:???
>>448
そうだろう
0451nobodyさん2007/01/17(水) 12:47:54ID:???
ファイルポインタいうな
0452nobodyさん2007/01/17(水) 13:51:46ID:???
ファイルカーソゥ♪
0453nobodyさん2007/01/17(水) 14:05:08ID:???
functionに配列を適応することは出来ないのでしょうか?
例えば
$array=array("あああ","いいい",ううう"");
testFunc("$array");

function testFunc($array){
print_r($array);
}

としても表示されません。。
0454nobodyさん2007/01/17(水) 14:12:49ID:???
>>453
実引数がおかしいぞ。ダブルコーテーションで囲まずやってみそ。
testFunc($array);
0455nobodyさん2007/01/17(水) 14:14:15ID:???
>>454
出来ました!凡ミスだったんですね。。ありがとうございました。
0456nobodyさん2007/01/17(水) 14:22:26ID:???
Arrayって表示されるんかな?それは
0457nobodyさん2007/01/17(水) 14:28:22ID:???
外部変数の$_GETや$_POSTってあるじゃないですか
ちょっとうまくいかないので、質問させてください。

$method = GET;
$method = "_$method";
print_r($$method);

これはprint_r($_GET);と動作は同じです。
通常これで外部変数が取得できます。

しかしメソッドや関数ないで上記を動作させると、
なぜか$_GETの配列を返してくれません。

メソッドや関数内ではprint_r($_GET)で配列を返してくれるため、
理由がわかりません。どうしてなんでしょうか?
0458nobodyさん2007/01/17(水) 14:35:21ID:???
>>457
ソース
0459nobodyさん2007/01/17(水) 14:35:27ID:???
array_searchって最初の値は無視する・・・わけないですよね?

$array=array("りんご","みかん","バナナ");
$array2=array("りんご","みかん");

for($i=0;$i<count($array2);$i++){
if(array_search(,"$array2[$i]",$array)){
echo $array2[$i];
}
}

こんな感じのを作ったのですが、「みかん」しか表示されません。
それで、$array2の中を$array2=array("","りんご","みかん");
としたら「りんご みかん」と表示されます。どこかおかしいのでしょうか?
0460nobodyさん2007/01/17(水) 14:37:52ID:???
ほんとだ、関数内だと出ないんだね
REQUEST使うか素直に分岐したら?
0461nobodyさん2007/01/17(水) 14:41:44ID:???
>>459
1番目の要素が見つかったとき返ってくるキーが0だからじゃね
04624592007/01/17(水) 14:46:11ID:???
>>460-461
とりあえずあまり対策がわからないので、
表示の際は array_unshift($array2,"");
として空の要素を追加するようにしました。
0463nobodyさん2007/01/17(水) 14:51:36ID:???
if(false !== array_search(...
0464nobodyさん2007/01/17(水) 14:52:22ID:???
>>462
そうですか
04654592007/01/17(水) 14:54:15ID:???
>>463
こういう方法があったんですね!大変参考になりました。
こちらを使用します。ありがとうございました。
04664572007/01/17(水) 15:00:31ID:???
>>458

現在こんな感じです

function test () {
$method = GET;
$method = "_$method";
echo $method; //文字列"_GET"
print_r($$method); //出力されない
print_r($_GET); //出力される
}
test();

$method = GET;
$method = "_$method";
print_r($$method); //出力される

echo "<a href=?test=test1>GETの送信</a>";
0467nobodyさん2007/01/17(水) 16:09:30ID:???
>>457
なんでそんなトリッキーなことしてるのかが分からん。
しかもGETは定数扱い(定数定義してないから文字列として扱われるけど)だし。
0468nobodyさん2007/01/17(水) 16:12:03ID:???
初心者ほど色々試したくなるんだろう。
仕事でこんなんやってたらぶっ叩くわw
04694572007/01/17(水) 16:51:21ID:???
>>467
>>468

GETとPOST入れ替えるだけで、
外部変数が取得できると楽かなと
思っていたのもので・・・

>>460

REQUEST試してみたんですが、なんか変な
文字列が配列に入ってるので、
おっしゃるとおり、GETとPOST分岐してみます。

ありがとうございました。
0470nobodyさん2007/01/17(水) 16:53:14ID:???
言っておくが、この板で質問している全員が
職業プログラマというわけではないからな。
0471nobodyさん2007/01/17(水) 16:56:47ID:???
つーか「PHPが仕事」なんて、声を大にして言いたくないよね。
0472nobodyさん2007/01/17(水) 17:14:41ID:???
foreach内でin_arrayしたいのですが
foreach($hoge as $key=>$var) {
if(in_array($var, $hoge)) 処理;
}
とすると全てクエリがtrueになってしまいます。
foreach内で1つの要素をとるにはどうしたらいいでしょうか?
0473nobodyさん2007/01/17(水) 17:22:31ID:???
>>471
人の仕事を馬鹿にするような人間には言われたくないよね
0474nobodyさん2007/01/17(水) 17:24:48ID:???
>>471
つーか、PHPとかCとか言語にこだわっている時点で...ry
0475nobodyさん2007/01/17(水) 17:28:16ID:???
PHP"も"扱えてなんぼだろ
0476nobodyさん2007/01/17(水) 17:30:33ID:???
>>472
そりゃあ配列から取り出した値がその配列に存在するのは当たり前だ
何がしたいん?
0477nobodyさん2007/01/17(水) 17:35:24ID:???
>>476
あっ!!…そうか…
配列に同じ数が1つ以上入っていないチェックしたいのです
0478nobodyさん2007/01/17(水) 17:41:35ID:???
>>477
in_array

マニュアルの関数一覧か逆引きとかを買う事をオススメする。
0479nobodyさん2007/01/17(水) 17:44:18ID:???
array_count_values
とかもいいかもね
0480nobodyさん2007/01/17(水) 17:45:38ID:???
>>471
煽ってやるからどんな言語だと声を大にできるのか言ってみ
0481nobodyさん2007/01/17(水) 17:59:34ID:???
>>480
このスレを見ている人はこんなスレも見ています。(ver 0.20)
SOHOとかフリーとかで細々食えだした奴 十九人目 [Web制作]
Ads by Goooooogle Part73 [Web収入]
疲れた管理人の憩いの場 23 [同人]
Ads by Goooooogle Part72 [Web収入]
組み込みプログラマーこそ真の一流!その4 [プログラマー]

>>471は、「組み込みプログラマーこそ真の一流」と言いたいんだろ。プッw
04824712007/01/17(水) 18:09:26ID:???
どんだけ痛々しい反応だよ・・・もうちょっと自分の仕事に自信持てよ。
0483軟式PHP2007/01/17(水) 18:19:26ID:???
どこが痛々しいのか俺には分からん。別にPHPを絶賛してるわけでもないし。
まぁ、言語論争は他でやってくださいな。
仕事で使ってる人はPHPは手軽にWebアプリを作れる一言語でしかないわけですので。
0484nobodyさん2007/01/17(水) 18:23:09ID:???
「PHPも仕事」だろ。
だいたいPHPを生業としてるものは、
他の言語もできて当たり前。
0485nobodyさん2007/01/17(水) 18:43:08ID:???
PHPで符号無視(0埋め)右シフトって無理でしょうか?
Javascriptで言うところの >>> が使いたいんです。
0486nobodyさん2007/01/17(水) 19:38:50ID:???
PHPは符号無し整数をサポートしていないので無理。
どうしてもMSBを使わなきゃならないなら、工夫汁。
0487nobodyさん2007/01/17(水) 19:46:10ID:???
>>477
チェックしてどうしたいかにもよるな
重複を取り除きたいならarray_unique()でいいし
0488nobodyさん2007/01/17(水) 21:28:42ID:???
$time_start = microtime(true);
処理
$time_end = microtime(true);
$time = $time_end - $time_start;

この経過時間を計る処理なんですが、
結果で4.6014785766602E-05って、このE-05とかE-06はなんなんでしょうか?
早いのか遅いのかさっぱーり分かりません。。。
0489nobodyさん2007/01/17(水) 21:35:21ID:???
>>488
浮動小数点表記。
0490nobodyさん2007/01/17(水) 21:46:45ID:???
今までは編集画面に値を渡す時など
<a href="edit.php?id=<?=$id?>">編集する</a>

のリンクから次のページに値を渡し、echo $idなどで表示していたのですが、
違うサーバで試した時、それでは動きませんでした。

それで後に次ぎページで表示する際はecho $_REQUEST["id"]としないと
URL上の変数を表示出来ないみたいなのですが、
これはregist_globalがonになってないからですよね?

また、今後はecho $_REQUEST["id"]という書き方で統一した方が良いのでしょうか?
0491nobodyさん2007/01/17(水) 21:57:54ID:???
regist_global は off が強く推奨されています
0492nobodyさん2007/01/17(水) 22:42:36ID:???
>>490
その場合は$_GET['id']を使用することをお勧めする。
0493nobodyさん2007/01/17(水) 22:57:33ID:???
>>492
わかりました。サーバを変更して初めて気づいたので
早速、プログラムのソース内全部書き替えます。

ありがとうございました。
0494nobodyさん2007/01/17(水) 23:19:31ID:I/eWBx8l
浮動小数点てどんなときにつかうんですか?タイマーの精度がintよりもいいってことですか?それとも小数点を使うためにあるのでしょうか?
0495nobodyさん2007/01/17(水) 23:33:02ID:gVMvFP3J
PHPでOOPできない奴いるの?
0496nobodyさん2007/01/17(水) 23:36:59ID:???
>>494
一般論で言えば理系の演算で用いられる極端に小さい数値や極端に巨大な数値を表現するためにある。
小数点を表現するだけなら浮動小数点以外にも固定小数点という仕組みも世の中には存在する。
固定小数点では誤差という問題が発生しないが浮動小数点では常に誤差の問題に悩まされる。
COBOLなどの事務計算向け言語では固定小数点方式が用いられている。

しかしPHPには浮動小数点以外に小数点を表現する仕組みは標準では用意されていないので
浮動小数点=小数点を使うためにある、という理解でOK。
0497nobodyさん2007/01/17(水) 23:37:35ID:???
>>495
そりゃいるだろ。
OOP専用の言語じゃないんだし。
0498nobodyさん2007/01/17(水) 23:39:37ID:gVMvFP3J
>>497
そしたら、フレームワーク使えなくね?
0499nobodyさん2007/01/17(水) 23:50:02ID:???
>>495
ページをパーツ毎に分離してincludeしてPHPってスゲーって使ってる奴もいるからな
0500nobodyさん2007/01/17(水) 23:53:25ID:???
>>498
自分がプログラムを始めた頃を思い出してみれ。
OOPもFWも言葉すら知らなかっただろ?
0501nobodyさん2007/01/17(水) 23:54:22ID:???
>>499          ____
             , -‐.:.:.:.:.:.:.:.:.:.:.:.:‐- 、
             /:.:..:.:.:.:.:.:.:.:.:.:.ヽ、:.:.:.:.:.ヽ
            /.:.:,r─-----─¬尸:.:.:.:.:.:l
         /.:.:/{-─、    _,─-尸:.:.:. ||
          | i{             |!:.:.:.:.::|:.| えっ、phpてそれ以上にスゲー事できんの!?!
          レー|  ◯      ◯ イ:.:/.:/.:|rァ
          { ハ! ' '        ' ' 'ノイィ介//')
         ト、j|   r‐--─‐、   に'// /
          ノ:ハ:.ヽ、 |/ ̄ ̄ }   /-イ/ 厶
      / ̄ ̄ `ヽ:.:.\───' イ川:/  { /
      /      \父_ー-‐ '´ /ノ.:.:/  | !
     / ヽ      〉 \   厶‐、/   lノ
    厂   \    /  {⌒>'´ ヽ\ イ
  /      \,-┴‐n<      \ヾ |
05024852007/01/17(水) 23:56:35ID:???
>>486 回答Thanks!
やっぱり無理なのか・・・頭が痛いです
他の言語を使うことを検討した方がいいのかなぁ
0503nobodyさん2007/01/18(木) 00:18:53ID:u+PvmfUj
公式マニュアルを紙で欲しいのですが、
販売している所などございましたら教えていただけないでしょうか?
0504nobodyさん2007/01/18(木) 00:34:58ID:???
>>503
PHPの公式マニュアル
http://www.php.net/manual/ja/
↑これと同じ内容の本は売ってないと思いますが、上記サイトのページを全部印刷したらいいんじゃないでしょうか?
全部印刷したら何ページくらいになるんだろう?

http://www.phppro.jp/phpmanual/
↑こんなサイトもありました。
PHPプロに頼んで本を出してもらえないですかね?
0505nobodyさん2007/01/18(木) 00:36:44ID:???
>>502
符号無し右シフト自体はできなくても、全く同じ答を出すことはできるよ。
0506nobodyさん2007/01/18(木) 01:07:25ID:???
最新情報が掲載されてるのが利点なのに製本なんて
0507nobodyさん2007/01/18(木) 01:07:52ID:???
>>498
PHPはOOP専用じゃないしフレームワーク専用でもない。
0508nobodyさん2007/01/18(木) 01:12:03ID:???
>>503
PHPのマニュアルは結構な頻度で更新してるから
できる限り紙媒体でなく本家を見るようにした方がいいよ。
05095032007/01/18(木) 01:28:20ID:???
レスありがとうございます _ _
>>504
それも考えたのですが、製本作業をしないと見づらそうなので。
>>506>>508
一度読み通すために紙媒体が欲しくて。。
無いようなので、製本サービスに依頼するか、電子ペーパーブックを検討してみようと思います。

ありがとうございました。
0510ふ2007/01/18(木) 01:42:54ID:QmQzu1gN
http://lucky.e-want.com/?kid=Syo8487861
0511nobodyさん2007/01/18(木) 02:32:01ID:???
PHPに慣れたいんじゃなくて、本家マニュアルの内容を一度に読む行為そのものが目的なのか?
0512nobodyさん2007/01/18(木) 02:43:03ID:???
リファレンスマニュアルを頭から全部読んでざっと機能を把握するのは基本中の基本のはずだが。
0513nobodyさん2007/01/18(木) 03:11:54ID:???
きっと山篭りで修行するんだろ。
インターネットが使えないから、仕方なく製本したいんだ。
0514nobodyさん 2007/01/18(木) 03:17:34ID:dfwRUKzs
IIS6.0(WindowsServer2003),MySQL

ASPとMySQLを連携させて、既にHPを作っています。
さらに機能を拡張させるため、PHPを導入しようと思いまして、
設定でISAPIフィルタに「php5isapi.dll」を読み込ませたのですが
それをすると元のHPが表示されなくなってしまいます。
原因が分かる方いましたら、よろしくお願いします。
0515nobodyさん2007/01/18(木) 03:24:14ID:???
>>512
プログラミングでそういう基本はあんまり聞いた事が…
書いて覚えろよ
0516nobodyさん2007/01/18(木) 03:37:41ID:???
>>515
そんなことしてたら言語の特徴やら機能の全体像を把握できない。
歯抜けの断片的な知識なんかより、2〜3日かけてリファレンスを
熟読して全体像を把握した方が断然早いし楽。

…素人さんなら別だけどね
0517nobodyさん2007/01/18(木) 03:38:04ID:???
PHPはやたら標準装備の関数が多いのと、
同じ機能で複数のI/Fの関数があったりするんで
リファレンス全体に1度目を通しておくのは確かに基本。
書いて覚えようとすると知識が偏る。
0518nobodyさん2007/01/18(木) 03:41:27ID:???
他の言語経験者で紙に印刷して2、3日ってえらい奇特だな
0519nobodyさん2007/01/18(木) 03:42:41ID:???
素人さんじゃない人は何さんなの?
0520nobodyさん2007/01/18(木) 03:56:17ID:???
>>503の質問のレベルからしたらおそらくプログラミング初心者だろ
いきなりリファレンス通読はやめといたほうがいいんじゃ
0521nobodyさん2007/01/18(木) 05:00:35ID:???
初心者ならマニュアルじゃなくてチュートリアル系から始めろっちゅーとりある
0522nobodyさん2007/01/18(木) 07:03:33ID:???
むしろ初心者は、
PHP4とふるいけど、基礎的なことはわかるから、
ttp://www.net-newbie.com/support/pdf2/
これでも読んどけと。
まぁ今となってはあまり書かない書きかたしてたりするんで、
マニュアルとあわせて読むと効果的。
0523nobodyさん2007/01/18(木) 10:49:38ID:Ra9i1bGq
カレントURL(現在のURL)を取得して そのURLがhttpかhttpsかで条件分岐
したいんですが どうやってカレントURLを取得したらいいのかがわかりません
(PHP4.3.2)

何か良い方法をご存知の方 ご教授いただけると幸いです
0524nobodyさん2007/01/18(木) 11:55:14ID:???
>>515
PHPとASPは相性悪いよ
05254572007/01/18(木) 12:00:47ID:???
POSTってフォームのsubmitボタンを使わなければ、
送信できないんでしょうか?
GET見たいにリンク形式では不可能ですか?
0526nobodyさん2007/01/18(木) 12:07:33ID:???
それはGETだ
0527nobodyさん2007/01/18(木) 12:08:35ID:???
フレームワーク、smartyをまったく使ったことのないけど、
それらを使うプロジェクトで即戦力になるかな
0528nobodyさん2007/01/18(木) 12:10:14ID:???
>>525
PHPとは全く関係ないけど、JavaScriptで可能。
05294572007/01/18(木) 12:13:30ID:???
>>528
ありがとうございます
0530nobodyさん2007/01/18(木) 12:17:26ID:???
>>523
$_SERVERの中身に全部入ってるよ
0531nobodyさん2007/01/18(木) 12:53:31ID:???
hoge.comというサーバで、
http://hoge.com/a/b/c/d.html
というリクエストあったら、
hoge.com/index.php
実行して、「a/b/c/d.html」は変数として受け取りたいんだけど、
そういうことはPHPだけでは不可能ですか。
やっぱりサーバ設定しないとだめですよね。
サーバはindex.htmlと、index.phpを自動的に表示するようになってる。
0532nobodyさん2007/01/18(木) 12:59:49ID:???
>>523
同じような質問
ttp://oshiete1.goo.ne.jp/kotaeru.php3?q=1418972
http, https の $_SERVER を見比べて判別するしかないんじゃね?
0533nobodyさん2007/01/18(木) 13:03:02ID:???
>>531
普通にできるんじゃね?
$SERVER['PATH_INFO']とか
0534nobodyさん2007/01/18(木) 13:16:17ID:???
>>533
できないよ。普通に404not found。
http://example.com/index.php/a/b/c/d.html
ならできるけど。
>>531
mod_rewrite
0535nobodyさん2007/01/18(木) 13:24:35ID:???
配列操作の質問なのですが、
$arr['d']='a';
$arr['c']='b';
$arr['b']='c';
$arr['a']='d';
とあったとして、ループを $arr['b'] からはじめたいのですが、
どうやったら効率がよいでしょうか。
current($arr); とか each($arr); だと先頭の $arr['d'] の値を返して、
配列カーソルを1つ勧めるわけですが、一気に $arr['b'] から始めたいのです。
キーが 'b' だということはわかっているので。

php だとキーが数字じゃなくても、実際順番はあるわけで、
$arr['b'] のポインタは 2、 みたいなかんじで取得できてもおかしくないとは思うのですが、どうにも見つからないもので。
0536nobodyさん2007/01/18(木) 13:25:50ID:???
追記:本当のキーは 'b' → 'a' のような規則性があるわけではありません。一応。
0537nobodyさん2007/01/18(木) 14:01:26ID:???
smartyの
section内で$hoge[$foo]みたいなことしたいのですが、どのようにやれば出来ますでしょうか?

{section name="val" loop=$data}
 {$hoge.$foo[val].name}
{/section}
でできませんでした…
0538nobodyさん2007/01/18(木) 14:27:03ID:???
スマートリーなるほどを話は専門スレッドへどうぞ。なるべく専門スレを活性化させてください
0539nobodyさん2007/01/18(木) 15:08:23ID:???
お、便利だなそれww
phpをhtmlとして表示とか、できそうだねw
偽装しまくろぅwww
0540nobodyさん2007/01/18(木) 15:10:16ID:???
オートログインサイトを自鯖に作りたいと思っています。例えば

ヤフーオークション  ID / Pass   【ボタン】
楽天           ID / Pass   【ボタン】
イトレード証券     ID / Pass   【ボタン】

のようなフォームを作り【ボタン】を押すと、新たなブラウザ(タブ)が開き
Yahooオークションのページへ進み、IDとPassが自動で入力され、ログイン後の画面に進む

このようなスクリプトをこしらえたいのですが、どういうロジックで進めばいいか悩んでいます
fopenでYahooオークションのURLをひっぱり、ソースにIDとPass情報を追加させて、HTMLを表示させようとしたのですが無理でした・・・
皆様のご意見お願いします
0541nobodyさん2007/01/18(木) 15:23:17ID:???
>>540
多分、無理
0542nobodyさん2007/01/18(木) 15:27:00ID:???
>>540
フィッシング サイト?
0543nobodyさん2007/01/18(木) 15:30:53ID:???
>>542
自分用です
実際、IDとPassはDBにMD5で格納してそれを呼び出す感じですが
どうにも既存サイトのIDとPass入力を自動化させるスクリプトが思いつかないのです
05445232007/01/18(木) 15:31:09ID:Ra9i1bGq
>>530
>>532
ご回答ありがとうございます
ちょっと予定とは異なりますが リンク元のURLを表す$_SERVER["HTTP_REFERER"]
を用いました
現在のURLではなかったため 結構大変でしたが 何とかできました
ありがとうございました!
0545nobodyさん2007/01/18(木) 16:03:06ID:???
>>537
{$hoge.$foo.val.name}
とかでできんじゃない?
つかったことないけどw
0546nobodyさん2007/01/18(木) 17:02:37ID:???
>>544
$_SERVER["SERVER_NAME"].$_SERVER["SCRIPT_NAME"]
とかじゃだめなん?
0547nobodyさん2007/01/18(木) 17:21:05ID:???
>>543
> 無理でした・・・
じゃ、何が無理なのか不明。

> IDとPassはDBにMD5で格納してそれを呼び出す感じ
MD5は復号できないから、なにをしたいのか全くわからん。
0548nobodyさん2007/01/18(木) 17:46:54ID:???
>>544
referer は送ってこないクライアントもあるから
これを前提に設計しない方が
0549nobodyさん2007/01/18(木) 17:55:11ID:???
>>547
>じゃ、何が無理なのか不明。
頭の中で描いてみたら、ソースにIDとPassを追加させて保存
保存されたHTMLってYahoo鯖にはないわけだから当然弾か
れるという結論になって無理と書きました

MD5はそうですね・・・そうですよねorz
どうしたもんだか、、、時間ばかり過ぎていく
0550nobodyさん2007/01/18(木) 18:02:35ID:???
>>549
それらのサイトを見てはいないんだけど、
ログインのページにあるフォームをPOSTしてやるスクリプトじゃ駄目なの?
0551nobodyさん2007/01/18(木) 19:34:30ID:???
>>535
実際の値とソース見ないと分かりにくいよ

foreach内で
continue;
break;
を工夫してみれば?
0552nobodyさん2007/01/18(木) 19:41:58ID:YjXpax59
スレ違いだと思いますけどお願いします。

http://example.com/hogehoge/
というURLを
http://hogehoge.example.com/
でもアクセスできるようにするにはどうすればいいですか?

例)
http://example.com/hogehoge/⇒http://hogehoge.example.com/
http://www.example.com/hogehoge/⇒http://hogehoge.example.com/
0553nobodyさん2007/01/18(木) 19:42:52ID:tMFu2Al5
フィッシングサイトいくない
0554nobodyさん2007/01/18(木) 19:45:42ID:???
>>552
ヒント つmod_rewrite
0555nobodyさん2007/01/18(木) 19:47:53ID:YjXpax59
>>554
有難うございます
.htaccessでできると思ってました^^;



・・・なのであきらめます
0556nobodyさん2007/01/18(木) 19:54:47ID:???
apacheのモジュールでmod_rewriteが有効になっていて
.htaccessが使える環境であれば
mod_rewriteは.htaccessで出来るよ。
0557nobodyさん2007/01/18(木) 20:58:23ID:???
DNSも設定する必要があるんじゃない?
0558nobodyさん2007/01/18(木) 21:15:01ID:???
>>555 の 「.htaccessでできると思ってました^^;・・・なのであきらめます」というのは
「サブドメインの設定は.htacessで出来ると思っていたんだけど、出来ないから諦めるよ」っていうことかも。
0559nobodyさん2007/01/18(木) 21:57:20ID:???
DNSの話だろ。スレ違い。
0560nobodyさん2007/01/18(木) 22:29:27ID:98uytmcY
初心者ですが

はてなダイアリーみたいに
自動でキーワードリンクがつく
プログラムを作りたいんですけど
どう書けばいいですか?

仕組みがまったく想像できません。
0561nobodyさん2007/01/18(木) 22:37:53ID:???
キーワードを探してリンクに置換すればいいじゃない
0562nobodyさん2007/01/18(木) 22:53:21ID:98uytmcY
その仕組みがわかりません。
0563nobodyさん2007/01/18(木) 22:59:15ID:???
おかえりください
0564nobodyさん2007/01/18(木) 23:01:13ID:???
>>562
どこまで考えたか言ってくれればアドバイスできる
0565nobodyさん2007/01/18(木) 23:07:24ID:???
簡単なスクリプト書いてやりたいけど携帯からだから、コード書くのツライな…
0566nobodyさん2007/01/18(木) 23:08:55ID:???
どこまで考えたとか、ソースを示さないと丸投げだろ。
ここは一応プログラムを作る人のスレだし
0567nobodyさん2007/01/18(木) 23:23:08ID:???
>>562
はてなのキーワードの仕組み
ttp://d.hatena.ne.jp/hatenadiary/20040205/1075960162
正規表現でごっそり処理して美味しく戴きます
0568nobodyさん2007/01/18(木) 23:35:49ID:ZHXjE+dx
キーワードリンクに変えるだけなら簡単じゃん。

キーワードサーチしてあったらアンカーで囲って
URLにキーワードのクエリ入れればOK。

キーワード登録の仕組みと、キーワードに何でもかんでも登録できないように
制限を考えるのが面倒そうだ。

はてなは日記を何回も更新しないと、キーワードの記者には
なれないって仕組みで対処してる。

接続詞とか、1文字とか全部弾かないとダメだな。
じゃないと全部キーワードになっちまう。

後、キーワードリストの並び順を文字数が少ない順に一回ソートしないと
キーワードリンクの中にキーワードリンクが入っちまう。
でも実際は長いワードにマッチした方が実用的だ。
一回マッチしたらその中はマッチさせないとか必要になってくるのかな。
0569nobodyさん2007/01/18(木) 23:37:32ID:???
keywordlist 落としてみたけど
正気の沙汰とは思えないサイズだ
はてなってやっぱスゲーな
0570nobodyさん2007/01/18(木) 23:46:48ID:???
キーワードが100個とか程度だと単純な実装の力業で全単語を順に舐めればいいだろうけど、
これが数万とか数十万オーダーになったらどうなる?

あとキーワード中にたとえば「電話機」と「電話」ってのがあったとして、
どっちをマッチさせる? 通常最長の方だけど、どう管理する?

とか考え始めると一筋縄ではいかない。
はてなはすごいと思いますよ。
0571nobodyさん2007/01/19(金) 00:19:22ID:???
リアルタイムでやらなきゃいいんじゃん?
投稿があってから、長い処理を経て、結果が保存されて
閲覧はその書き出されて固定されたデータとか。
1週間に一回くらい書き直していくとか。
0572nobodyさん2007/01/19(金) 00:31:43ID:???
うん。まあ規模が大きくなったら、複数のマシンで手分けして処理するようにするとか、
文書と単語のハッシュを巨大なbitにマップして文書に
単語が含まれているかどうか単純なand演算だけでフィルタしたりとか(これはPHPでは面倒そう…)、
いろいろやりようはあると思う。

リアルタイムでやらなきゃいいってのも一つの手だけど、
どれくらいの頻度で文書が増えていくかにもよるよね。
0573nobodyさん2007/01/19(金) 00:41:07ID:???
>>543
オレがやってたネトゲはホームページ上からログインして
メンバーページからクライアントプログラムを起動するんだが、
メンバーページまでのログイン処理をやってくれるjsスクリプトなら誰かが作ってくれてたよ
php関係ないからsage。
05745602007/01/19(金) 01:53:53ID:74ZAn3Ei
キーワードリンクは
初心者には無理っぽいので
あきらめます。

0575nobodyさん2007/01/19(金) 01:55:23ID:???
>>540
file_get_contents使ってページの内容を読み込んで、
onloadされたらID/PWを入力してsubmitするJSをphpで仕込んで表示すれば良いんじゃね?
0576nobodyさん2007/01/19(金) 01:58:39ID:???
>>551
いや、foreach, continue, break では一気にすっ飛ばす要素がどこにもないわけで。
$arr['d']='a';
$arr['c']='b';
$arr['b']='c';
$arr['a']='d';
$keys = array_keys($arr);
$i = array_search('b', $keys);
// $arr[$keys[$i]] == $arr['b'] == 'c'
// $arr[$keys[$i+1]] == $arr['a'] == 'd'
こんなかんじにすっとばしたいわけです。
が、array_search はおそらく順繰り比較していると思うので $i を見つけるまでに時間がかかる。実質すっとばしていない。

$arr['b'] は即座に値を見つけられるわけで、即座に $arr['b'] のポインタ (current) を見つけられてもいいのにな。という話です。
0577nobodyさん2007/01/19(金) 02:37:09ID:1l3/TpIO

私は、
http://otoku777.lxl.jp/
で、毎月30万以上は貰っています。

フリーメールでも登録(応募)できるしね。
まだ登録(応募)してない人はしたほうが良いよ。
http://otoku777.lxl.jp/
0578nobodyさん2007/01/19(金) 03:34:43ID:/UQbmip1
検索ワード取得したいんですが、
専用の関数ってありますか?
0579nobodyさん2007/01/19(金) 03:35:29ID:???
またお前か
0580nobodyさん2007/01/19(金) 03:49:35ID:???
ハテナ社員による釣りがようやく終わったか…
0581nobodyさん2007/01/19(金) 05:18:43ID:???
>>578
GoogleのDBに不正アクセスする。
っていうか常識的に考えて無理だとわかる質問はしないでくれよ。
0582nobodyさん2007/01/19(金) 07:28:19ID:/UQbmip1
無理なの?
既存のアクセス解析ツールなんかだと
リファラと検索ワード取得できてるけど・・・。
0583nobodyさん2007/01/19(金) 07:36:57ID:???
そこまでわかってるなら関数さがしてないで自分でつくれるだろ。
0584nobodyさん2007/01/19(金) 07:36:58ID:???
>>582
専用関数はあるかどうかしらんが、その方面ならできるね。
GoogleだとエンコーディングはたしかUTF-8で、
それがリファラにURLエンコーディングされた形で渡ってくる(こともある)から、
そいつを記録しとけばいいんじゃないの。

とまあ、以上にちりばめたキーワードで適当にぐぐれば何かとヒントが出てくると思うよ。
0585nobodyさん2007/01/19(金) 08:24:43ID:???
>>573
それです!!
どこかにサンプルコードないでしょうか><!!
0586nobodyさん2007/01/19(金) 08:37:34ID:???
573もスレ違いっていってんじゃん
0587nobodyさん2007/01/19(金) 08:42:27ID:???
>>586
そこをPHPコードでおねがいします!! ><
0588nobodyさん2007/01/19(金) 09:35:40ID:???
ただ、フレームごしに処理すればいいんじゃないのか?
っていうか自分用ならSleipnirのスクリプトを書いた方が早いし簡単。
既存のものでAutoLoginとかあるし。
0589nobodyさん2007/01/19(金) 09:56:25ID:???
>>588
いや、作りたいのです
そもそも、自動ログインの仕組みが知りたいのです><
0590nobodyさん2007/01/19(金) 09:57:24ID:???
パスワードのvalue="12345"をvalue="*****"にするにはどうすればできる?
0591nobodyさん2007/01/19(金) 09:59:11ID:???
>>590
type="password"
0592nobodyさん2007/01/19(金) 10:01:40ID:???
>>591
画面上はそれで*になるけどソースを表示するとvalueの値が丸見えになるんだけど・・・
0593nobodyさん2007/01/19(金) 10:05:18ID:???
値を****に変換してvalueにいれればいいじゃん。
ま、サーバーには「****」が送られるけどw
ソースを見る時だけ「****」で、値は「12345」を送るなんて都合のいい事は無理だがね。
0594nobodyさん2007/01/19(金) 10:07:42ID:???
>>593
ツンデレktkr
0595nobodyさん2007/01/19(金) 10:19:47ID:???
>>592
何が目的なのかさっぱりわからん。
画像公開したいけど、保存させたくない
っていう矛盾
0596nobodyさん2007/01/19(金) 10:22:43ID:SA/XQFQX
最近PHPのメールフォームから
英文のスパムが来るようになりました
日本語を含む文章だけ送信できるように
改造したいのですが
どういう文章を追加したらよいか教えてください。
0597nobodyさん2007/01/19(金) 10:26:27ID:???
>>596
厳密なものではないけど、正規表現で、ひらがなが一文字もない場合は
エラーとかでいいんじゃね?
0598nobodyさん2007/01/19(金) 10:28:18ID:???
>>595
管理画面でいろんな人のIDやパスワードを保存してあるんだけど
べつの人の情報も見れるようにしてあるのでパスワードは見られたら
困るから*にしてばれないようにしたい。
0599nobodyさん2007/01/19(金) 10:30:37ID:???
>>598
それ、別に表示させなければいいんじゃね?
0600nobodyさん2007/01/19(金) 10:31:38ID:???
それもありだけどいまのままでいってパスワードを*にするのは無理?
0601nobodyさん2007/01/19(金) 10:33:39ID:???
そんな頭の悪い質問を繰り返すなw
0602nobodyさん2007/01/19(金) 10:34:19ID:???
>>600
基本的に、デフォルトで表示させたいなら無理。
逆に、なんのために***を表示させたいの?
0603nobodyさん2007/01/19(金) 10:38:03ID:???
MySQLのダンプファイルをパースしてくれるクラスやライブラリはありませんか?
探すと小規模なものはいくつか見つかるんですが、一般的なものってあるんでしょうか?
0604nobodyさん2007/01/19(金) 10:41:10ID:???
>>600
目的が分からん。
HTMLのソースにも入れない=送信不可能、になるわけだけど、データの送信は不要なの?
だったら単に<input type=text value="*****">でいいと思うけど。
いっそ<input>も使わず*****と直接書いちゃってもいいと思う。
0605nobodyさん2007/01/19(金) 10:42:49ID:???
>>598
パスワードを暗号化(又はハッシュ化)しないで保存するのはセキュリティ的にNG…
というのが、定説。

なんでパスワードなんか表示する必要があるのかわからん。
しかも<input>タグで…。
0606nobodyさん2007/01/19(金) 10:46:03ID:???
結論
あほすぎる
0607nobodyさん2007/01/19(金) 11:39:29ID:???
あー、もしかして
[名前フォーム] | [パスワードフォーム]
で一覧表示していて、変更可能になっていて、空にしちゃうと
Submitするときに全部カラになっちゃうからデフォルトで入れたいとかエスパーしてみる。
0608nobodyさん2007/01/19(金) 12:03:12ID:???
>>596
全角を含まない文字列なら
mb_strlen($str) != strlen($str)
でいける
0609nobodyさん2007/01/19(金) 12:08:13ID:+33hGGFp
>>608
かっくい〜!
0610nobodyさん2007/01/19(金) 13:33:28ID:???
わがままだね
0611nobodyさん2007/01/19(金) 14:19:25ID:???
>>610
My Mother ?
0612nobodyさん2007/01/19(金) 14:32:04ID:???
変数からキーのみを取り出すことって出来ますか?
0613nobodyさん2007/01/19(金) 14:41:44ID:???
配列からキーのみを取り出すことなら出来るよ。
詳しくはマニュアルへ。
0614nobodyさん2007/01/19(金) 14:58:19ID:???
$array = array(10, 100, 1000, 10000, 100000);
$int = 4789;

こんな感じのソースで、
$intに一番近い数字を配列の中から探し出したいのです(この場合1000)
そんなことを簡単に実現するような関数はありますか?
0615nobodyさん2007/01/19(金) 15:09:00ID:???
>>613
ここ見なくていいよ君


>>612
key()
0616nobodyさん2007/01/19(金) 15:21:35ID:???
>>614
標準関数は無いだろうな(私は知らない)
ループして、$intとの差を順番に比較していって
一番差の少ない値を求めるしかないんジャマイカ?
0617nobodyさん2007/01/19(金) 15:23:38ID:???
>>615
なぜ?
0618nobodyさん2007/01/19(金) 15:25:11ID:???
>>617
意地悪で不親切だから
せめて関連する関数くらいおしえてやれよ
0619nobodyさん2007/01/19(金) 15:30:53ID:???
>>618
「配列」って一応キーワードを入れたつもりだったんだが。
関数名より、マニュアルトップページから検索出来る方がいいと思って。
06206142007/01/19(金) 15:44:09ID:???
>>616
どうもありがとうございます。
なさそうとのことなので、その方法でやってみたいと思います。
06216162007/01/19(金) 15:44:22ID:???
>>614
適当に書いてみた。

$arrays = array(10, 100, 1000, 10000, 100000);
$int = 4789;

rsort($arrays);
$minimum_diff = $arrays[0];
foreach($arrays as $val){
   $diff = abs($val - $int);
   if($minimum_diff > $diff){
   $minimum_diff = $diff;
       $minimum_val = $val;
   }
}
print $minimum_val;

0622nobodyさん2007/01/19(金) 15:46:27ID:???
Gmailに自動ログインさせるJSをみつけてきました

(XXにID ZZにPWを入力)
## JavaScript:(function(){document.body.innerHTML=document.body.innerHTML.replace
## (/NAME="Email" VALUE=""/g,'name="Email" value="XX"');
## document.body.innerHTML=document.body.innerHTML.replace
## (/TYPE="password"/g,'type="password" value="ZZ"');
## document.forms[0].submit();
## })();

これのPHP版は作れないものでしょうか?
0623nobodyさん2007/01/19(金) 15:55:08ID:???
>>622
いい加減、サーバサイドとクライアントサイドの区別をつけよう。
06246142007/01/19(金) 15:55:55ID:???
>>621
わざわざ書いていただいてありがとうございます。
早速使わせていただきますー
0625nobodyさん2007/01/19(金) 15:57:16ID:???
変数に意図的に型宣言することはできないのでしょうか?
0626nobodyさん2007/01/19(金) 16:01:00ID:???
>>625
宣言はできないね。
キャストしてやることはできるけど。
0627nobodyさん2007/01/19(金) 16:01:58ID:???
>>623
了解。やはり無理ですね。諦めました。お手数かけました(吊
0628nobodyさん2007/01/19(金) 16:09:03ID:???
>>626
やっぱ無理ですか。
いつか型付けも実装してほしいなぁ。
0629nobodyさん2007/01/19(金) 16:19:52ID:???
静的型付けが実装されるってことは、全部の変数に型宣言つけなきゃいけないってこと?
面倒くさくて嫌だなぁ。
0630nobodyさん2007/01/19(金) 17:00:32ID:???
静的な型付けなんて、利用する場面がすくないからPHPでは
実装されないだろう
0631nobodyさん2007/01/19(金) 17:47:43ID:???
利用する場面っていうか、静的型付けじゃないと気持ち悪い。
0632nobodyさん2007/01/19(金) 17:54:10ID:P38t/vZn
静的型付けを出来るだけ意識して作ることは出来るんじゃね。

どうしても嫌ならjavaでもやればいいと思うが
0633nobodyさん2007/01/19(金) 18:07:08ID:???
変数にそれらしく付けれ。
$iXXXX … 整数型
$strXXXX … 文字列型
など
0634nobodyさん2007/01/19(金) 18:23:09ID:???
fsockopenで開いたソケットで「test」「guest」「pass」と個別のパケットで受信した場合に
「test」「guest」「pass」を分けて変数に入れたいのですが、どうすればよいでしょうか?
よろしくお願いします
0635nobodyさん2007/01/19(金) 21:48:04ID:3c0iN0iL
DB.phpがincludeされません
ディストリはsuse10.0です。
よろしくお願いします。
0636nobodyさん2007/01/19(金) 22:06:44ID:???
こちらこそよろしくお願い致します。
0637nobodyさん2007/01/19(金) 22:09:24ID:???
>>635
よろ!
0638nobodyさん2007/01/19(金) 22:54:39ID:XwzELT8l
最近、画像ファイルのアップロードでPHPを使おうと思ってるのですが、
HTMLフォームを利用しないでアップロードできないでしょうか?
(要するに、参照せずに自動的に任意のファイルをアップロードしたいのです。)
どうでしょう? 可能ですか?
0639nobodyさん2007/01/19(金) 22:59:28ID:???
するとそのアップローダを置いた人は
ユーザの任意のファイルを自動で手に入れられる訳ですね。
0640nobodyさん2007/01/19(金) 23:00:30ID:???
phpでウィルスは作れないだろw
0641nobodyさん2007/01/19(金) 23:06:06ID:XwzELT8l
>>639 640
そうなっちゃいますね。。。
画像ファイルだけなんですけどね。取って来るのは。。。
無理ですね。。。はぁ。

やっぱ、素直にFTPとかで画像ファイル送るしかないんかな。
0642nobodyさん2007/01/19(金) 23:09:44ID:???
>>639
変な質問してすみませんでした。。。
0643nobodyさん2007/01/19(金) 23:27:38ID:3c0iN0iL
DB.phpがincludeされません
ディストリはsuse10.0です。
よろしく説明お願いします
0644nobodyさん2007/01/19(金) 23:35:32ID:???
>>643
それだけじゃようわからないから
おちょくられているのがわからないのかwww
0645nobodyさん2007/01/19(金) 23:36:04ID:???
>>641
はあ。。。何言ってるんだろうこの人。。。
色んな意味で無理だわ。。。はぁ。。。
0646nobodyさん2007/01/20(土) 00:07:20ID:???
>>641
/(^o^)\ナンテコッタイ
0647nobodyさん2007/01/20(土) 01:12:42ID:/6Q5JJje
>>644
同じプログラムをれんさばで動かしたら
動いたのでサーバー側の問題だと思います。
エラーメッセージはあとでアップするので
おねがいします
0648nobodyさん2007/01/20(土) 03:01:18ID:???
にせものは、やめて、ください!(><)悲
0649nobodyさん2007/01/20(土) 05:56:41ID:???
>>641
つActiveX
0650nobodyさん2007/01/20(土) 10:29:45ID:+1gEJG5n
>>647
DB.php
って、PEARかな?
0651nobodyさん2007/01/20(土) 10:55:48ID:???
PEARじゃありません。PHPのディレクトリに入ってるファイルです。
ここの方達で解決できないような難題だとしたら教えてgooで聞いてきます。
0652nobodyさん2007/01/20(土) 11:01:56ID:???
PEARじゃありません。APPLEです。
0653nobodyさん2007/01/20(土) 11:20:11ID:???
すみません。
PEARでもAPPLEでもなく
僕はCHERRYでした。><
0654nobodyさん2007/01/20(土) 11:54:39ID:???
fopenでURLを読み込んでfgetsする時、fopen先のURLが
Shift-JISの場合、文字化けします。(元ファイルがEUC-JPの場合)

mb_convert_encodingを使うと思うのですが、どの部分でどう使えば
適応されるかわかりませんし、うまく行きませんでした。。
例えば下記のようなソースの場合、どうすればいいのでしょうか?

$fp=fopen("http://***.com";);
$line=fgets($fp);
print_r($line);
0655nobodyさん2007/01/20(土) 11:59:13ID:2R+sYSL0
クラスの中で $this->hoge() を呼び出すと、
派生クラスで hoge() がオーバーロードされたいた場合
派生クラスの方が呼び出されるんですか?
自分のクラスの中のメソッドを明示的に呼び出したいなら
self::hoge() とすべきですか?
0656nobodyさん2007/01/20(土) 12:15:33ID:???
>>654
それぞれの関数が何をするかをちゃんと把握しな
>>655
やってみればすぐ分かるよ
0657nobodyさん2007/01/20(土) 12:31:50ID:+1gEJG5n
>>651
PHPのディレクトリって、どこだ?
/usr/local/lib/php
とかだったら、PEARなんだがねw
0658nobodyさん2007/01/20(土) 12:39:30ID:apT1PIiM
突然すみません、ADSServiceって何でしょうか・・・
Cドライブにいつの間にかADSServiceっていうテキストファイルが作られてました。
他にも似たようなファイルが3つくらいありました、スパイウェアか何かでしょうか、ものすごく怖いですTT
0659nobodyさん2007/01/20(土) 12:53:40ID:apT1PIiM
板間違えましたm(. .)m
0660nobodyさん2007/01/20(土) 12:56:16ID:???
アハハ、こやつめ!
0661nobodyさん2007/01/20(土) 16:25:17ID:dyYgBfVX
はじめまして。
今日はじめて、phpをインストールして。
テストで、print("hello");
こんなかんたんな、出力をさせました。

そして、IEを終了させると、
"問題が発生したため、IEXPLORE.EXEを終了します。〜"
なんてのが現われます。
原因としては何が考えられますか?
すみません、こんな質問ですがお願いします。
0662nobodyさん2007/01/20(土) 16:30:43ID:???
>>661
PHPは関係ないじゃん。
0663nobodyさん2007/01/20(土) 16:35:34ID:dyYgBfVX
あ、そうなんですか?
糞初心者ですみません。
となると原因はなんなんでしょうか?
0664nobodyさん2007/01/20(土) 16:37:34ID:???
>>663
あの〜〜、問題も何も「IEを終了させると、」だから、
「 "問題が発生したため、IEXPLORE.EXEを終了します。〜" 」
って出るのは普通だろ。それで終了しなかったら異常事態だが。
0665nobodyさん2007/01/20(土) 16:40:19ID:???
file() で得た文字列はシングルクォートでくくったのと同様のようですが、
これをダブルクォートくくり相当にするか、シングルクォートでくくった文字列の中の変数名を
パースする方法はありますか?
0666nobodyさん2007/01/20(土) 16:42:33ID:???
>>665
str_replaceでダブクォをシンクォでパースするとか。
0667nobodyさん2007/01/20(土) 16:45:51ID:???
>>665
文字列をダブルクォートで括ってevalに渡す
0668nobodyさん2007/01/20(土) 16:48:48ID:jfiH3bl8
www.example.com/index.php?word=a%27b%22c

このwordの文字を「a'b"c」と表示させることはできたのですが
URLの文字をそのまま「a%27b%22c」と表示させることができません。
簡単にスクリプトを書きましたがうまくいきませんでした。

<?php
$word = $_GET["word"];
print $word;
?>


あといろいろやってみましたがうまくいきませんでした。
先輩方、よろしくお願いします。
0669nobodyさん2007/01/20(土) 16:53:21ID:???
urlencodeがあるじゃん
$_GETとかはデコードされたデータだから
0670nobodyさん2007/01/20(土) 16:59:26ID:???
ゆとり言語の弊害ですなw
0671nobodyさん2007/01/20(土) 17:06:00ID:???
>>663
IEが糞
だと思う

>>668
お前の先輩になったつもりは無い
print_r($_SERVER)
で所望のが出るような気がする
06726682007/01/20(土) 17:08:58ID:???
>>669さん
ありがとうございます。
しかしながら
<?php
$word = $_GET["word"];
$word = urlencode($word);
print $word;
?>
とやってみましたが
「a%5C%27b%5C%22c」と表示されてしまい
「a%27b%22c」とは表示されませんでした。
「a%27b%22c」と表示させたいので
「a%27b%22c」と表示させるにはどうしたらいいでしょうか?
0673nobodyさん2007/01/20(土) 17:10:43ID:???
>>672
>>671は読んだのか?
0674nobodyさん2007/01/20(土) 17:20:05ID:???
>>672
>「a%27b%22c」と表示させたいので
>「a%27b%22c」と表示させるにはどうしたらいいでしょうか?
echo "a%27b%22c";
06756682007/01/20(土) 17:29:40ID:???
>>673
読みました。
よろしくお願いします。
0676nobodyさん2007/01/20(土) 17:37:20ID:???
echo urldecode($word);してみ
0677nobodyさん2007/01/20(土) 17:39:06ID:???
$word = "a%5C%27b%5C%22c";でな
0678nobodyさん2007/01/20(土) 17:39:21ID:KP/kHuU7
質問です。
「PHPによるデザインパターン入門」を読みながらデザインパターンを勉強してるのですが、
シングルトンパターンを使った場合、どのレベルでただ一つのオブジェクトとして機能するのでしょうか?

例えば、「そのPHPの動いているパソコンでただ一つ」なのか、
それとも「いま接続しているユーザーのsessionの中でただ一つ」なのか?
それとも「いま実行してるファイル内においてただ一つ」なのか?

ご存知の方いらっしゃいましたら、お教え願います。
06796682007/01/20(土) 19:18:33ID:???
>>676>>677
urlencodeしたデータをurlencodeでしょうか?
それをやってもだめでした…
0680nobodyさん2007/01/20(土) 19:29:54ID:???
>>678
上のほうに同じ質問が出てたよ
0681nobodyさん2007/01/20(土) 19:37:41ID:???
>>679
urlencode($_GET["word"]);
06826682007/01/20(土) 19:45:22ID:???
>>681さん
>>672と同じ結果でした…
0683nobodyさん2007/01/20(土) 19:48:49ID:???
decodeだろ
エンコードしたらデコード。これ定説
0684nobodyさん2007/01/20(土) 20:29:55ID:???
簡潔に質問を書きます。
index.php?hoge=a%27b%22c
というURLのGETの変数hogeのデコードされてないデータ「a%27b%22c」をHTMLに表示させたい。
要するに「a%27b%22c」をHTMLに出力したい。

#他の質問でもそうですけどわからない人はレスしないでください
#こういうこと書きたくなかったけど鬱陶しいレスが多いので…
0685nobodyさん2007/01/20(土) 20:39:04ID:???
>>684
この質問したのは
>>668だけど、それ以来ID出してないので多分ニセモノ

構わないように
06866842007/01/20(土) 20:46:48ID:???
>>685の言う通り
もう構わないでください。解決しました。
やはりというか、自分で調べたほうが勉強になりました。

しかし他の質問でもそうだけど、質問の意味も理解できずにレスするやつ鬱陶しいよね
0687nobodyさん2007/01/20(土) 23:45:10ID:???
質問する方も答える方もそんなに頭良くないんだから文句言うな
0688nobodyさん2007/01/20(土) 23:46:10ID:???
おれもその内の一人かよ!!
0689nobodyさん2007/01/21(日) 00:33:23ID:???
>>686
やっと気付いたのか。憐れな奴。
0690nobodyさん2007/01/21(日) 06:18:46ID:???
なんでクラスのメンバ変数はfinalとか付けて継承を止めることができるようになってないんだろう?
0691nobodyさん2007/01/21(日) 11:08:16ID:Y0OZFz+S
PHPには、PerlにおけるCGI::Carp qw(fatalsToBrowser)のようなエラー出力関数はありますか?
あれば教えて頂けると幸いですm(_ _)m
0692nobodyさん2007/01/21(日) 12:11:17ID:08MwJFVu
自宅winXPにアパッチ入れて、phpの勉強してたら
突然プログラムが実行されなくなりました
.phpを保存か開くか質問するダイアログがでます

何が原因でしょう?わかる方教えてください
ちゃんと動かなくなった時に動かしてたプログラムは
フォームに名前を入力して送信→同階層の.phpで受けて
送信した名前を表示するものです
その後はhello worldすら実行しなくなりました

助けてください、よろしくお願いします
0693nobodyさん2007/01/21(日) 12:16:47ID:???
OSが壊れたな
0694nobodyさん2007/01/21(日) 12:24:22ID:???
vistaにしないと直らない
0695nobodyさん2007/01/21(日) 13:14:06ID:7pzdx2CI
<?php
$fp = fsockopen("udp://127.0.0.1", 13, $errno, $errstr);
if (!$fp) {
echo "ERROR: $errno - $errstr<br>\n";
} else {
print "$fp";
}
?>
このようにUDP接続を行い、目的のデータを取得しようとしているのですが上手くいかないのです
具体的にはResource id #等と表示され目的のデータを取得できません
どのようにすれば取得できますか? 
0696nobodyさん2007/01/21(日) 13:16:54ID:???
>>695
http://jp.php.net/fsockopen
0697nobodyさん2007/01/21(日) 13:22:43ID:7pzdx2CI
>>696
そこのテンプレート通りにやってもうまく行かないのですが・・・
0698nobodyさん2007/01/21(日) 13:24:34ID:???
嫁
0699nobodyさん2007/01/21(日) 13:43:33ID:???
>>697
やってないじゃん
fsockopen関数の返り値は何でしょう
つか本文嫁よ
0700nobodyさん2007/01/21(日) 13:54:37ID:HMt1hfg+
>>699
ファイルポインタですか?

>>697で言った通り
テンプレ↓
<?php
$fp = fsockopen("udp://127.0.0.1", 13, $errno, $errstr);
if (!$fp) {
echo "ERROR: $errno - $errstr<br />\n";
} else {
fwrite($fp, "\n");
echo fread($fp, 26);
fclose($fp);
}
?>
でやってもうまく表示されないんです
0701nobodyさん2007/01/21(日) 13:59:33ID:???
>>1or>>7参照
07026952007/01/21(日) 14:04:56ID:???
失礼しました
windowsXP sp2
PHP4.4.4
サーバは 04Webserver
です

>>700の通り行った結果→タイムアウト(ページが表示できません)
0703nobodyさん2007/01/21(日) 14:08:09ID:???
俺はfsockopen詳しくないけど、とりえあず原因の切り分けしてみれば?
localhostに接続できてるのか、$fpは取れているのか、書き込みで失敗しているのか
0704nobodyさん2007/01/21(日) 14:25:08ID:???
質問者がsageで書くなバカ
0705nobodyさん2007/01/21(日) 14:25:58ID:???
>>692
httpd.confの中のphpに関する設定
0706nobodyさん2007/01/21(日) 14:26:45ID:???
>>702
04WebはUDPに対応していない、別の鯖ソフトでやれば解決するぞ
07076952007/01/21(日) 14:27:59ID:???
>>703、>>706
ありがとうございます
0708nobodyさん2007/01/21(日) 14:51:24ID:08MwJFVu
>>705
ありがとうございます
ただ、おかしくなる前と今でhttpd.cofに変更を加えてないんです
同条件で動かなくなりました
まだ試してみますが、他の可能性についても気が向いたら教えてください
0709nobodyさん2007/01/21(日) 14:52:40ID:xp0A917W
>>708
httpd.confが変更されてないことを確認した?
0710nobodyさん2007/01/21(日) 17:38:28ID:Fae6i/Oz
$aaa = "<!--UNKO_START-->";

とするとき、正規表現を用いてUNKOを他の変数に代入することは出来ますか?

// Perlにおける↓のようなもの
$aaa =~ s/<!--(\w+)_START-->/$aaa/g; // $1にUNKOが代入される
0711nobodyさん2007/01/21(日) 17:48:15ID:???
できます
0712nobodyさん2007/01/21(日) 17:50:02ID:Fae6i/Oz
どのような記述で出来ますか?
0713nobodyさん2007/01/21(日) 17:56:07ID:???
正規表現の記述で
0714nobodyさん2007/01/21(日) 18:10:44ID:???
すみません。PHPというか、プログラミングのうまいやり方がわからず、質問させていただきます。
現在、データベースにcategoryというテーブルがあり、格納されているデータは、
手動で数字インデックスを0から順に連番で付与して格納する仕様にあります。

当然ですが、そのテーブルから一行データを削除すると、
通常、連番でなければならない数字インデックスが、削除したデータの数字が飛んでしまいます。

この飛んだ数字を埋める為に、その削除したデータ以降のデータの数字インデックスを
一つずつ繰り上げたいのですが、スマートなコーディングが思い浮かびません。

現状は、一度削除した後に、再度、全データをfindして、ループでまわしながら、
全てのデータに0から順にupdateをかけて、その場をしのいでいます。

サーバ負荷の面からも、コードの可読性の面からも凄く泥臭いやり方になっています。

このようなコーディングをする場合は、何かうまい方法がないものでしょうか?
みなさまのお知恵をお借りしたく書き込みさせていただきました。

なお、現在のプログラムは、直ぐに書き込みいたします。
07157142007/01/21(日) 18:12:54ID:fPPKNR2L
$comp_category = DB_DataObject::factory("public.category");
$comp_category->whereAdd("base='$base'");

$comp_category->whereAdd("key='$key'");

$comp_category->delete(TRUE);


$comp_category->whereAdd();

$comp_category->whereAdd("base='$base'");

$comp_category->orderBy("num");

$comp_category->find();


$comp_category_update = DB_DataObject::factory("public.category");


for($i=0;$comp_category->fetch();$i++){

$comp_category_update->whereAdd();

$comp_category_update->whereAdd("key='".$comp_category->getkey()."'");

$comp_category_update->num = $i;
$comp_category_update->update(TRUE);

}

宜しくお願いいたします。
07167142007/01/21(日) 18:16:30ID:???
すみません。
変に改行が入ってしまって、凄く読みにくくなりました。
申し訳ございません。
0717nobodyさん2007/01/21(日) 18:22:30ID:???
普通、そういう連番は自動で振ります。
一行データを削除した場合は、番号が抜けたままにします。
0718nobodyさん2007/01/21(日) 18:26:14ID:???
>>714
update category set num = num - 1 where 削除したやつ以降

つーか、その連番は本当に絶対必要な仕様なのか?
あるレコードに付与された番号が時とともに変化すること自体、かなりわかりにくいと思うんだけど。
0719nobodyさん2007/01/21(日) 18:27:12ID:???
php じゃなくて db の設計の話じゃないの?

うちは実際は削除はしなくて
削除フラグ立てるだけにしてるけど
07207142007/01/21(日) 18:29:13ID:???
>>717
お返事ありがとうございます。
シリアルによる連番は、この数字インデックスとは別に付与されています。
この数字は、テーブル内の同じ型のデータ内の連番インデックスなのです。

以下のような感じになります、
・グループAのデータが0〜5まで、連番である。
・グループBのデータが0〜6まで、連番である。
・この2つのグループは、同じcategoryテーブルに格納されている。
・自動付与の連番は、別に存在して、それを触る事はできない。

宜しくお願いいたします。
0721nobodyさん2007/01/21(日) 18:32:37ID:???
そこを連番にしなければならないという、
設計の方が悪いとしか言いようが無い…
07227142007/01/21(日) 18:34:24ID:???
>>718
ありがとうございます。
やはりそういう感じで回すしかないですね。
この連番は、DBの仕様であって、自分ではどうする事もできない、おかしな仕様です。

>>719
そうですね。元を辿れば、DBの設計の問題なんですが…
このデータは、頻繁に削除され入れ替わるものですので、削除フラグで保存しておくと、
かなり肥大してしまう恐れがあります。
07237142007/01/21(日) 18:47:29ID:???
書き忘れましたが、この連番インデックスは、互いに入れ替わる事もあります。
例えば、現在4のインデックスを持つデータが1のインデックスを付与され繰り上がり、
それ以降のデータは、順番に数字がずれていく感じです。

DBの設計の問題かな?とも思いますが、これらの仕様を満たす、
よりよい設計も思い浮かばず、泣き寝入り状態になっています。
0724nobodyさん2007/01/21(日) 18:52:26ID:???
どうしても変えられないならSQLとPHPで頑張れば何とか
07257142007/01/21(日) 18:56:51ID:???
みなさん。ありがとうございました。
徹夜で頭をひねって、もっと簡潔なコーディングができるDBの仕様を考え、提案してみます。
0726nobodyさん2007/01/21(日) 19:18:52ID:???
画面表示のときに連番を振ればいい。テーブルにもたせる必要はない。
と俺は考えるが。
0727nobodyさん2007/01/21(日) 19:55:13ID:Fae6i/Oz
>>691をお願いします。
0728nobodyさん2007/01/21(日) 20:00:56ID:???
くだ質ですが気になったので質問します。

最近、PHPで構築されたっぽいサイトを見るとURLが
ファイル名.php?m=Kjifsk&p=Fgfkif

みたいな形式のサイトが多いですよね?ファイルは1つでincludeして各動作を
読み込む?のかよくわかりませんが。perlっぽい使い方な気がして。
(OpenPNEとかそんな感じかも。)

それで、なぜそういう風に=以下に識別コードか何かを付けて動作させるような
形式になってきているのでしょうか?単にindex.phpとかform.phpとかではなく。
やっぱり、セキュリティに関連するのでしょうか?
0729nobodyさん2007/01/21(日) 20:13:31ID:???
CMSを利用することが多くなったんじゃない?
0730nobodyさん2007/01/21(日) 20:29:24ID:???
つ [デザインパターン J2EE フロントコントローラ ]
07316472007/01/21(日) 20:32:37ID:0sqXUt7p
647以降の書き込みは偽者です。
DB.phpの話ですがPEARのライブラリです。
これはレンサバでは問題なく動きます。

ブラウザにcookieを食わせたいんですが
ひとつのcookieに複数の値を設定する方法
(aaa=php&bbb=ohmygod  こんな形の一つのcookieを作る方法です。)
が分かりませんので
ご指導お願いします。
07327282007/01/21(日) 20:49:11ID:???
>>729-730
730さんの語句をググって見ましたが、なんとなくわかってきたかも。
要はファイル・機能のリクエスト(アクセス)を分散させると
それだけ負荷がかかりやすいから、1つにまとめてそこから
各部位を呼び出すようにコントロールすると言うことですね。

確かにその方が良いような気もするけど、開発している側としたら
どれがどのファイルか分かりづらくなる時もあるんですよね。。
それに単純に1ファイル毎に用意する方が使いやすいし。

とりあえずもう少し勉強します。ありがとうございました。
0733nobodyさん2007/01/21(日) 20:58:43ID:???
>>732
お前は凄まじいくらいに時代を逆走してるなw
いまどき1ファイル毎に処理する所なんてあるのか?
MVCどころか、オブジェクト指向ですら完全無視かよww
0734nobodyさん2007/01/21(日) 21:17:26ID:???
つ初心者
0735nobodyさん2007/01/21(日) 21:52:01ID:???
headerを使って
http://exsample.com/index.php
に飛ばす際、
$_POST['hoge'] = 'foo';
という値を渡したいのですが可能でしょうか?
可能でしたらやり方等お教えください
お願いしますm(_ _)m
0736nobodyさん2007/01/21(日) 22:04:46ID:???
http://exsample.com/index.php?hoge=foo
0737nobodyさん2007/01/21(日) 22:05:45ID:L6gn7cYV
すいません初心者ですが
レンタルサーバーを借りてプログラムを公開しようとしてますが
データベースにアクセスできません。
自分のパソコンでは正常に動いていました。

<?php
require_once 'DB.php';

$dsn = "mysql://hibinotatsuya:(パスワード)@localhost/hibinotatsuya ";

$con = DB::connect($dsn);

if(DB::isError($con)){
exit('DBの接続に失敗しました');
}else{
echo('成功');
}
?>

Warning: main(DB.php) [function.main]: failed to open stream: No such file or directory in /home/hibinotatsuya/public/www/test.php on line 2

Fatal error: main() [function.require]: Failed opening required 'DB.php' (include_path='.:') in /home/hibinotatsuya/public/www/test.php on line 2

こういうエラーがでるんですがどこを直せばいいでしょうか?
0738nobodyさん2007/01/21(日) 22:12:27ID:???
require_once 'DB.php';
↓
require_once '/home/hibinotatsuya/public/www/DB.php';

パスが通ってないんでしょう。
上記と違う場所に置いてるなら正しい場所を絶対パスで指し示してみること。
つーか、本名を2chに書き込まないでください
07397652007/01/21(日) 22:13:00ID:???
>>766さん
それだと
$_GET['hoge'] = 'foo';
にはなりますが$_POSTでは渡されません
07407652007/01/21(日) 22:18:33ID:???
追記です。

http://exsample.com/index.phpに$_POST['hoge']の値が渡せればheaderでなくてもいいです。

switch($_POST['k']) {
 case 1:
  exsample.com/index.phpに $_POST[hoge]="foo"で飛ばす
  break;
 case 2:
  exsample.com/index2.phpに$_POST[hoge]="foo"で飛ばす飛ばす
  break;
…
}
こんな処理がしたいのです
0741nobodyさん2007/01/21(日) 22:19:46ID:???
>>737
pear:DBが入ってないんじゃね?
0742nobodyさん2007/01/21(日) 22:25:00ID:???
>>738
いや・・・あきらかにPEAR::DBだろ

>>737
そのレンタルサーバでPEAR::DBが使えない可能性が高いけど、
使える可能性があるとすれば、↓かな?
/usr/local/lib/php/DB/DB.php
0743nobodyさん2007/01/21(日) 22:44:59ID:Fae6i/Oz
xmlファイルの種類がRSS1.0かRSS2.0かAtomかを判別するにはどうすれば良いですか?
0744nobodyさん2007/01/21(日) 22:48:56ID:???
>>740
$_GETか$_REQUESTで取る。
それがどうしてもダメならheaderでは無理。
HTTP通信を実装してPOSTするしかない。
JavaにはHttpClientあるけどPHPにもそんなんあるのかね。
0745nobodyさん2007/01/21(日) 23:08:42ID:xp0A917W
>>737
自分のテスト環境にあるPEARライブラリの入っているディレクトリを丸ごと
レンタルサーバーにうpする。
で、そのディレクトリを、include pathに追加する。
0746nobodyさん2007/01/21(日) 23:10:00ID:???
>>737
ヒビノ タツヤくん!元気?
0747nobodyさん2007/01/21(日) 23:42:43ID:???
>>737
若槻千夏に聞いてみたら?
0748nobodyさん2007/01/22(月) 01:08:55ID:???
imagecopymergeで画像を合成しているのですが、
GIFアニメを合成した場合、最初のコマで止ってしまいます。
GIFアニメをそのまま動かすにはどうすれば良いのでしょうか?
0749nobodyさん2007/01/22(月) 01:17:17ID:H0oVPkgd
定期いらねwwwww
http://58.188.237.103/iranai/
07507492007/01/22(月) 01:26:28ID:H0oVPkgd
誤爆サーセン
0751nobodyさん2007/01/22(月) 02:00:43ID:???
>>748
GIFは特許の問題があるから、使うのはあまりオススメしないけど。
0752nobodyさん2007/01/22(月) 02:12:35ID:???
>>751
gif の特許は 2004/6 に失効してます
0753nobodyさん2007/01/22(月) 02:15:54ID:???
   ∩___∩         |
   | ノ\     ヽ        |
  /  ●゛  ● |        |
  | ∪  ( _●_) ミ       j
 彡、   |∪|   |        J
/     ∩ノ ⊃  ヽ  
(  \ / _ノ |  |
.\ “  /__|  |
  \ /___ /
0754nobodyさん2007/01/22(月) 02:16:30ID:???
うらぎりものの会社のつくったフォーマットなんて使う気になれない。PNGまんせー
0755nobodyさん2007/01/22(月) 12:10:32ID:???
>>668
php.ini の magic_quote_gpc を off
>>678
2番目
0756nobodyさん2007/01/22(月) 18:20:28ID:XtuQ8nwW
PHP5関連の書籍を見ているとオブジェクト指向とかフルコントローラとか
色々気にする必要があるのかと思い、現在作成しているシステムも
作り直した方が良いのか否か、本気で悩んでいます。

過去レスも見ると、同じような質問もあったりして、「常識」の部類みたいですが
みなさんもやはり「常識」だと思われているのでしょうか?
どうもクラスとかの使い方がよくわからなくて、まとめられないのですが、
見るサイトすべてオブジェクト指向っぽいので、このままでいいのかと悩みます。
0757nobodyさん2007/01/22(月) 18:23:29ID:???
>>756
趣味でやってるなら、好きなようにすればいい。
だが、勉強という意味合いもこめて、開発しているなら、
有名所のフレームワークやオブジェクト指向型プログラミングは絶対必須!

これができないと、PHPを使えるなんて口が裂けてもいえるようなレベルではない。
0758nobodyさん2007/01/22(月) 18:27:09ID:???
>>756
担当しているサイトは顧客のニーズによって、毎月機能追加・変更が行われいるので、
オブジェクト指向で作って正解だった思う。(元々Java技術者だったし)
現在のシステムが稼動実績があるなら、あえてつくり直す必要もないと思うけど、
拡張性がある程度要求されるシステムなら、オブジェクト指向も検討に値すると思うよ。
0759nobodyさん2007/01/22(月) 18:29:34ID:???
>>756
その人のレベルにもよると思うから常識とまでは言わないけど…
フレームワークやオブジェクト指向は、一度作ってしまえば、拡張も修正も凄く楽になる。

最初は面倒だと思うだろうけど、後々の事を考えたら作り直す価値はあるかも。
07607562007/01/22(月) 18:32:57ID:???
>>757-758
かなりお詳しいご説明ありがとうございます。
仕事でやっておりまして、プログラミングは元々プログラマーがやるのですが、
自分はディレクション等をしているので、ある程度のプログラミング知識も
必要だと思い、最近PHPとMySQLであれこれやっています。

それでそこそこ作れるようになってきたのですが、どうもコピー・ペーストする
作業が多く、デザインが重複する箇所も多くて、デザインとの両立が難しいです。
だから調べていたらオブジェクト指向とかフレームワークとかの知識が必要
みたいで悩んでました。

これまでうちの会社で依頼しているプログラマーでオブジェクト指向的な作りを
しているプログラマーが皆無だったのですが、もしかしたら私の指示が悪いの
かもしれません。やっぱり必要みたいなので、もう少し勉強してみます。
0761nobodyさん2007/01/22(月) 18:37:10ID:???
>>760
技術系の知識をある程度持っているディレクターは、
重宝されると思いますよ。技術者からも信頼されるし。
ただ、依頼しているプログラマーがそれだと。。。
0762nobodyさん2007/01/22(月) 18:38:47ID:???
>>760
>オブジェクト指向的な作りをしているプログラマーが皆無

なんつー会社だよw
フレームワークはともかく、オブジェクト指向なんて10数年前に最重要項目として位置づけられていたのに…
JavaやCの開発する時にどんなコードを書いているのか凄く気になるww
0763nobodyさん2007/01/22(月) 18:41:48ID:x9xZGXV7
PHPのO/Rマッパーの現在の主流は何なんでしょーか?
DB::DataObject使ってるんですが、
「機能不足」「主流ではない」みたいな書き込みを見かけたので気になってます。
良かったら教えてくださいー。
07647562007/01/22(月) 18:41:58ID:???
>>761-762
個人・外注ともに依頼していますが、オブジェクト指向とかフレームワーク
に沿った作りをしているのは皆無でした。
データの受け取りもregister_globalがonの設定での作りだし。

だから、私にはそれが常識だと思い、2chで指摘されるまで
register_globalもoffにするものだとは思ってませんでした。
0765nobodyさん2007/01/22(月) 18:42:38ID:???
>>763
安心しろ!他の追従を許さないほどの主流だ!!
0766nobodyさん2007/01/22(月) 18:48:06ID:yHPtupAO
>>762
最近は、JavaやCが未経験なプログラマーも多いよ。
ちなみに、俺は、経験があるのはアセンブラーとphpだけだw
(Cもやってたけど、経験があるとは言えない程度だし)
0767nobodyさん2007/01/22(月) 18:51:23ID:???
>>766
アセンブラなんて大学の授業でしかやったことねーw
そーいやFortranも大学のときにやってたなw
今は、Javaが70%でC系が15%でPHPが5%であとその他。
Perlとかももう使わなくなってきたな。
0768nobodyさん2007/01/22(月) 18:52:59ID:x9xZGXV7
>>765
返事どうもです。
使ってて今のところ全然機能不足は感じないのですが、
もっといいのあるならそっち使ってみようかなと思ったっす。
もっと使い込んでみます。
0769nobodyさん2007/01/22(月) 19:00:51ID:wVC7HJOQ
すみません。PHP+GDでImagettftextを連続で使うと文字化けする事があるのです。
特定の文字と言う訳でも無く、何か原因があるのでしょうか?
0770nobodyさん2007/01/22(月) 19:02:59ID:uNp0p6nz
驚くかも知れんが、DreamWeaverが吐き出したPHPコードをそのまま採用する制作会社は
現実にあるんだよ。
0771nobodyさん2007/01/22(月) 19:07:32ID:???
>>767
確かにプログラマとしてまともに生きていくにはJavaマスターは絶対必須だな。
PHPも楽天が使ってるって事で案件増えてはいるけど、Webの主流はJavaだな。
Javaだと金稼げるしw
0772nobodyさん2007/01/22(月) 19:07:38ID:???
PHPって、そもそもオブジェクト指向プログラミングに
向いているという言語とは(今のところ)言えないでしょう?

仕事ならともかく、「これできない奴ってバカスww」とか押しつける奴は
変態だよ変態。まったくねぇ。
0773nobodyさん2007/01/22(月) 19:09:43ID:???
>>772
そうでもないぞ。PHP5はわりかしまとも。
つっても、フレームワークを組み合わせなきゃ意味ないけど。
0774nobodyさん2007/01/22(月) 19:11:30ID:???
PHPのスレで「Javaの方が良いよ」って会話になるとは・・・w
0775nobodyさん2007/01/22(月) 19:12:05ID:???
フレームワークとかオブジェクト指向とか、具体的にどうやればいいんでしょうか?
0776nobodyさん2007/01/22(月) 19:16:09ID:???
>>770
フォームから入力された文字列を、サニタイズしないところも結構あるくらいだ。
そのくらいのことでは驚かんぞ!w
0777nobodyさん2007/01/22(月) 19:17:15ID:???
>>775
本屋行ってこい!
07787712007/01/22(月) 19:18:02ID:???
>>774
個人ベースでやるには、Javaは手間がかかりすぎる。
圧倒的にPHPの方が上。
0779nobodyさん2007/01/22(月) 19:27:32ID:???
>>777
行ってきます。
どのくらい理解、または実現すれば身に付いたと言えますか?
0780nobodyさん2007/01/22(月) 19:29:57ID:???
>>775みたいな質問した時点でもう無理だ
あきらめれ
0781nobodyさん2007/01/22(月) 19:30:18ID:???
>>779
参考書も見ずに、いろいろなWebシステムがスラスラかけるくらい。
あと、フッっと思いついた機能をなんの苦もなしに、サラッっと追加できるくらい。
0782nobodyさん2007/01/22(月) 19:31:55ID:???
>>779
小さなシステム(10人月程度)でいいから、
一から設計からテストまで完了させること。
四苦八苦しながらも、一から全てに関われば必ず見えてくるものがあるはず。
経験則から。
0783nobodyさん2007/01/22(月) 19:33:16ID:???
>>779
2chの質問スレで偉そうに答えたり、罵倒したり、
語りだしたりできるようになればおk
0784初心者2007/01/22(月) 19:39:11ID:???
ホスティングで、php.iniの設定がsession save handlers  files userになってる
んですけど、セッションでログイン機能があるHPの場合、変更したほうがいいのでしょか?
0785nobodyさん2007/01/22(月) 19:41:47ID:???
>>784
うん
0786ぬるぽっぽ:2010/08/25(日) 00:43:552007/01/22(月) 19:42:07ID:???
あほーん
0787nobodyさん2007/01/22(月) 19:43:08ID:???
>>786
  ∩  :・:∵          
⊂、⌒ヽ∴: L/     ,r=''""゙゙゙li,
⊂( 。Д。)つ  > 、、,,_ ,r!'   ...::;il! ... ┏┓┏┳┓
  V V ; Y⌒r!'゙゙´  `'ヾ;、, ..::::;r!'゙ ┏┛┗┻╋┛    
グハッ  ,i{゙‐'_,,_        :l}..::;r!゙   ┗┓┏┓┃
.  ,r!'゙´ ´-ー‐‐==、;;;:....   :;l!:;r゙..     ┃┃┃┃ ┏┳┳┓
 ,rジ          `~''=;;:;il!::'li      ┗┛┗┛ ┗╋┛┃
. ill゙  ....         .:;ll:::: ゙li            ..┗━┛
..il'   ' ' '‐‐===、;;;;;;;:.... .;;il!::  ,il!
..ll          `"゙''l{::: ,,;r'゙       
..'l!       . . . . . . ::l}::;rll(,        
 'i,  ' ' -=====‐ー《:::il::゙ヾ;、      
  ゙i、            ::li:il::  ゙'\
  ゙li、      ..........,,ノ;i!:....    `' 、  ∧_∧
   `'=、:::::;;、:、===''ジ゙'==-、、,,,__  `'(・∀・) 
     `~''''===''"゙´        ~`'''' ヽ   ノつ
                       〜( ,,(~)
                         ヽ)

0788nobodyさん2007/01/22(月) 20:27:01ID:???
PHPを貶されると、まるで自分が貶されたかのような錯覚に陥る奴が多いんだね。
挙句の果てには、「僕はPHP以外の言語もできるのでDQNじゃありません」と言わんばかりの、DQNな発言する奴が出てくる始末。
誰もお前の自己紹介なんか聞いてねえっつーの。
0789nobodyさん2007/01/22(月) 20:28:08ID:???
例えばWEBデザイナーからHTMLだけ作ってきて
それをシステム化する場合もテンプレートと動作ファイルを分けるの?
そんな事するとあとからデザイナーが修正出来無くない?
0790nobodyさん2007/01/22(月) 20:42:31ID:???
>>789
その程度のWebデザは、即刻解雇。
今は、HTMLやCSS・JSだけができるWebデザなんてゴミだよ。
PHPやJSPの文法も分かってないと仕事にならない。
0791nobodyさん2007/01/22(月) 20:57:51ID:???
WEBデザイナーもプログラマーもそうだが、
あれもこれもできますっていうのは怪しいなぁ。
結局大したものが出来上がってこない印象がある。

メニューが100個もあるような食べ物屋より、
メニュー2,3個で勝負できる店の方が美味しいものだ。
0792nobodyさん2007/01/22(月) 21:01:03ID:???
>あれもこれもできますっていうのは怪しいなぁ。
プログラマに関しては当て嵌まる話ではないな
0793nobodyさん2007/01/22(月) 21:05:12ID:???
求人サイト見てると、PHPの技術も応募条件に入れている
WEBデザイナーの募集って無いんだけど。
0794nobodyさん2007/01/22(月) 21:20:09ID:???
マニュアルに「ただし、PHP 5はオブジェクト指向言語ではありません。」て書いてあるやん・・
0795nobodyさん2007/01/22(月) 21:32:15ID:???
オブジェクト指向っぽく書ける言語です
0796nobodyさん2007/01/22(月) 21:35:14ID:???
>>793
PHPができない(プログラムかけないまでも読めない)奴は、採用試験には合格しません。
0797nobodyさん2007/01/22(月) 21:38:33ID:???
ヒアドキュメント内に定数って表示出来ないのでしょうか?
define("ADMIN_DIR", realpath("../admin"));

echo<<<EOF
<a href="ADMIN_DIR">管理画面へ</a>
EOF;

みたいなことがやりたいのですが、そのまま文字で「ADMIN_DIR」が表示されます。
0798nobodyさん2007/01/22(月) 21:40:59ID:???
>>796
デザインの才が、あるかどうかを見るのが先だろ。
本職の才があれば、その程度のPHPの文法なんて、
会社で数日教えればすむことだろ?
0799nobodyさん2007/01/22(月) 21:44:06ID:???
>>797
ムリ。
そのソースから見るに、ファイルの内容を読み取って定数にすればいい。
そんな事をするくらいなら、parse_ini_fileを使って設定ファイルから読み込むかXML形式にしろ。
多分、キミのやりたい事はできる。

つか、ここには、PHPしかできない”自称”プログラマがたくさんいますねwww
PHPなんて一番簡単な言語だろ。
JavaやCができる奴ならPHPなんてものの数週間で完璧に使いこなせるレベルの言語だぞw
0800nobodyさん2007/01/22(月) 21:45:21ID:???
>>798
なんでそんなに食い下がってくるの?
今は、Webデザ志望者なんて星の数ほどいて、選び放題。
デザインの才能もあって、PHPやJSPの知識もある奴なんてゴロゴロいる。
そういう奴しか採用されないよ。一回、面接受けてみ。
0801nobodyさん2007/01/22(月) 21:48:52ID:???
×WEBデザイン能力
△WEBプログラミング能力
◎コミュニケーション能力

ぶっちゃけこうです。面接する側ですが。
0802nobodyさん2007/01/22(月) 21:50:22ID:???
ですよねー
0803nobodyさん2007/01/22(月) 21:51:32ID:???
>>801
だろうね。
使い捨てのWebデザなんて、言われたとおりの仕事ができる事が最重要だしね。
あと、クライアントの想像している完成図を、コミュニケーションでいかに引き出し実体化するかが重要。

自分でゼロから創作する仕事なんてよっぽどのWebデザじゃなきゃできないしw
これは、WebデザだけじゃなくSEやPGにもいえることだけどね。
0804nobodyさん2007/01/22(月) 21:52:50ID:???
>>800
希望者が多いというだけで、選び放題じゃないだろ。
デザインで採りたいと思う人材なんて相当限られるが。
0805nobodyさん2007/01/22(月) 21:54:18ID:???
>>804
現場を知らないね。Webデザなんて今は使い捨て状態。
こいつはダメだ!次!って感じ。
0806nobodyさん2007/01/22(月) 21:55:34ID:???
じゃ、WEBディレクターが最強って事でいいの?
0807nobodyさん2007/01/22(月) 21:57:15ID:???
>>806
この業界は最強なんてない。
WebデザイナもSEもPGも…全部使い捨ての一労働者。
最強になりたければ他業界に池!
0808nobodyさん2007/01/22(月) 21:57:21ID:BrzhGU74
サニタイズされた文字列から、ある規則をもった文字列(例えば[http://]から
始まる文字列とか...)をリンクアンカーに正規表現で置換えしたいのですが
サニタイズされているために [ & ][ < ][ > ] などが、うまく置き換えられなかったりします。

正規表現でマッチしたものを、そのまま '<a href="' . $matches . '">' . $url . '</a>' とかやっているので
置き換えしたものをサニタイズしちゃうと、<a>...</a>までサニタイズされてしまいます。

どうすればできるのでしょうか?
0809nobodyさん2007/01/22(月) 22:01:22ID:???
>>808
>サニタイズされているために [ & ][ < ][ > ] などが、うまく置き換えられなかったりします。

何をやりたいかよくわからんが、↑をうまい事やるのがプログラミングの腕だろ。
&amp;や&gt;&lt;に対して正規表現をかければ?
08108082007/01/22(月) 22:59:29ID:BrzhGU74
>>809
$str = str_replace('"', '"', $str);

とすることで解決しました。
ありがとうございました。
08118082007/01/22(月) 23:02:17ID:BrzhGU74
Ooooooooooooooooooooooooooooooooooooooops!! :-)

$str = $str_replace('&quot;', '"', $str);
0812nobodyさん2007/01/22(月) 23:04:43ID:???
なんか穴がありそう…
0813nobodyさん2007/01/22(月) 23:49:07ID:???
仕事の都合上PHP5.0.0を使用したいのですが、
本家のはリンクが切れているのか、
二日ほど前からDLを試していますが全く繋がりません。
もし、本家以外で5.0がDLできるミラーサイトなどがありましたら、教えていただけないでしょうか?
0814nobodyさん2007/01/22(月) 23:54:00ID:???
>>813
普通に落とせるが?
ttp://jp.php.net/releases/index.php
しかし、わざわざ穴が一杯の古いのを使う奴の気がしれん
0815nobodyさん2007/01/23(火) 00:00:30ID:???
$aaa=array("項目A","Aの値","1/23");
$bbb=array("項目B","Bの値","1/24");

こういう配列があったとしてテーブルで
[日付] [項目A] [項目B]
1/23  Aの値
1/24        Bの値

という表示にしたいのですが、組立方が全く分かりません・・。
そもそも上記のような表示は可能なのでしょうか?
0816nobodyさん2007/01/23(火) 00:08:01ID:sJ8gA2OL
PHP_OSで返す値の一覧表ってありますか?
Win2Kの時はWINNTということだけ分かっています。
08178132007/01/23(火) 00:08:40ID:???
>>814
確かに落とせますね。
会社じゃウンともスンとも言わなかったんで、もしかしてセキュリティソフトか、なんかにひっかかってるのかも
他社との連携でPHP5以降を使うという仕様書はいただいたんですが、
5.2を使っても、大丈夫か?という質問メールに、まだ具体的に決まってないとかいう変なメールしか返ってこないんですよ
結局、5.2を使うとは思うんですが、念のためということで・・・
0818nobodyさん2007/01/23(火) 00:10:06ID:???
>>814
おいらの先日の案件なんて4.0.6だ!
0819nobodyさん2007/01/23(火) 00:39:44ID:Jof0MIkp
やあ(´・ω・`) また逢ったね

本当にすまない こんな騒動になってしまって


でもね、ひとつだけ閉鎖をふせぐ方法があるんだ


http://game11.2ch.net/test/read.cgi/otoge/1167185144/


↑のスレに


「あっきーは書き込まないでください」
と書き込むんだ。

では健闘を祈るよ
0820nobodyさん2007/01/23(火) 00:43:25ID:L8zAhTeP
趣味でPHPスクリプトを公開しております。
HP見た方からあるスクリプトをお金払うから作ってくれとメール頂きました。仕事としてやったことがないのでー私が蔵に商品を納品するまでの流れはどうしたらいいのでしょうか?発行する書類等、納品までの流れなどいろいろご指導お願いいたします。
0821nobodyさん2007/01/23(火) 01:15:06ID:???
法律とかめんどいけど法人になれよ
0822nobodyさん2007/01/23(火) 01:46:15ID:???
>>815
<table>
<tr><td>[日付]</td><td>[$aaa[0]]</td><td>[$bbb[0]]</td></tr>
<tr><td>$aaa[2]</td><td>$aaa[1]</td><td></td></tr>
<tr><td>$bbb[2]</td><td></td><td>$bbb[1]</td></tr>
</table>

文字列出力は適当に
0823nobodyさん2007/01/23(火) 02:31:01ID:???
>>822
すみません、、$aaaと$bbbの内容はファイルから読み込むのを想定して
おりますので、その時々で変わります。
だから、forかwhileで読み込む方法を考えているのですが
それで822さんのような表示が出来ないんです。
値があるのと無いのとがありますから。
0824nobodyさん2007/01/23(火) 02:43:30ID:???
<html>
<head>
<title>BrowserCheck</title>
</head>
<body>
<?php
// 日本語を許可しているか
if (strstr($_SERVER['HTTP_ACCEPT_LANGUAGE'], 'ja')) {
echo "日本語ブラウザをお使いですね\n"
} else {
echo "This site is available in Japanese only.\n"
}
?>
</body>
</html>

これっておかしいとこあります?エラー出るんですが
Parse error: parse error, unexpected '}', expecting ',' or ';' in *** on line 9
0825nobodyさん2007/01/23(火) 02:46:08ID:???
>>823
何がしたいのか何となく予想できてきたけど
とりえあず、漠然とした内容ではなく、きちんと論理的に条件を出して質問してみ
0826nobodyさん2007/01/23(火) 02:48:26ID:???
>>824
セミコロン付けてないから
0827nobodyさん2007/01/23(火) 02:50:10ID:???
>>825
一応雛形として組んだんだけど、おかしいとこが分からず

>>826
必要でしたっけ?そうならどこに付けるのか疑問なんだが
0828nobodyさん2007/01/23(火) 02:54:20ID:???
>>827
>>825はどう見てもほかの人宛てだぞ。

「9行めで ',' か ';' が来ると思ってたとこへ、いきなり '}' なんて持って来るんじゃないわよ」
と言われてるんだから、その辺。つーか、セミコロンをどこに付けるのか疑問て。
0829nobodyさん2007/01/23(火) 02:58:18ID:???
>>828
ああ、なるほど
よくわかりましたありがとう。

>>825には間違いでしたね
08308152007/01/23(火) 03:01:13ID:???
>>825
$aaa=array("項目A","Aの値","1/23");
$bbb=array("項目B","Bの値","1/24");

上記の配列で説明しますと、配列の[0]に項目名が入り、[1]に値が
入るというものです。$aaaや$bbbというのは行に部分で、DB的に言うと
1レコードを指しています。

それで悩みなのが、普通はテーブルの列は固定名にするか
別ファイルにて項目名を決めるものですが、上記のように結果データ内に
項目名(列名)を加えても表示出来るのだろうか?っと思った次第です。

もしできるなら、列表示用のファイルが必要ない為いいかなと。
0831nobodyさん2007/01/23(火) 03:09:59ID:???
「DB的に言うと」せめて

$aaa = array("Aの値", "", "1/23");
$bbb = array("", "Bの値", "1/24");

じゃないの?ループで回すんだったら $aaa を使いまわすんだろうし。

どうしてもその形式で配列にぶち込みたかったら $aaa[0] の中身で条件分岐かけて
$aaa[1] の表示列を変えるというめんどくさいことをすれば期待どおりになると思う。

> もしできるなら、列表示用のファイルが必要ない為いいかなと。
?
08328152007/01/23(火) 03:30:08ID:???
>>831
すみません。あとから考えたら変でしたね。。ようは↓な感じです。
data.txt内
"項目A","Aの値","1/23"
"項目B","Bの値","1/23"

$fp=file("data.txt");//読み込むとfp[0]には1行目が、fp[1]には2行目が入ります。

そして出力の仕方が分からないのですが表示としては>>815みたいに
出来ればと思います。>>831のように書くなら列名(項目名)が表示されません。
0833nobodyさん2007/01/23(火) 03:38:18ID:???
>>829
私は826ですが828ではありません
0834nobodyさん2007/01/23(火) 03:38:47ID:???
だいたいにしてデータ行に列名があるのがおかしいんだよ
1行目をヘッダー行にして

"[日付]","[項目A]","[項目B]"
"1/23,"Aの値",""
"1/24,"","Bの値"

のようにするべき。今のまま強引にやりくりしたところで後でつまるぞ
0835nobodyさん2007/01/23(火) 03:40:43ID:???
>>833
そんなに感謝されたいの?ん?ん?
0836nobodyさん2007/01/23(火) 03:43:40ID:???
>>832
自分で取得方法が分からないならそれはそもそもデータ構造が悪いと思うよ
そっちを変えるか、今のままでもできないことはないから頑張れ
もしくは今どれだけできているか出してみるとよいかと

>>835
きみは>>824なの?

0837nobodyさん2007/01/23(火) 03:45:37ID:???
>>836
この俺が感謝してやるよ
チュッチュ
0838nobodyさん2007/01/23(火) 05:26:10ID:???
(´゚ω゚`)
0839nobodyさん2007/01/23(火) 10:38:09ID:???
PHPのオブジェクト指向にフレームワーク必須って上で話ていたけどさ
どのフレームワーク使ってんの?

Mojaviか?Ethnaか?

0840nobodyさん2007/01/23(火) 10:51:33ID:cx/YjiLk
PHPスクリプト上で、あるファイルの CRC32 の値を知る必要が出てきました。
crc32() だとファイルの内容を全て変数に読み込んでからでないと使えないため、相応しくありません(ファイルは数MB)。
cksum を外部コマンドとして呼び出すことも考えてみましたが、cksum は自分の求めている CRC32 とは違う CRC を計算するようで、使えません。
とりあえずとして、CRC32 を求めるコードは書いて、値も求まるようにはなったのですが、いかんせん遅くて・・・
イメージとしては crc32_file() みたいなことがやりたいのですが、いい方法は無いでしょうか?
求めたい CRC32 は、zip とかに使われる CRC32 です。
0841nobodyさん2007/01/23(火) 11:09:03ID:???
cksum -o 3の結果を16進数に変換してみるとか?
0842nobodyさん2007/01/23(火) 11:35:22ID:???
>>839
普通はSmarty+Flexyだろうな。
楽天のサイトも全てそれで作ってあるくらい実績あるし。
0843nobodyさん2007/01/23(火) 11:39:40ID:???
おいらは弱小零細なんで、フレームワークを使うほどの規模の仕事がこねえよ。
おまいらは、簡単なフォーム案件もフレームワークを使うの?
0844nobodyさん2007/01/23(火) 11:41:40ID:???
使わない。ってかそんな仕事受けない。そんな小さな仕事で利益出るのか?
0845nobodyさん2007/01/23(火) 11:43:37ID:???
>>843
フレームワークの利便性は、規模は関係ない。
そんなことも分からんようなら、君のレベルはたかが知れている。
08468402007/01/23(火) 11:48:22ID:???
>>841
動かそうとしてる環境の cksum には、-o オプションは無いっぽいです。
環境は Linux で、使えるコマンドは使って構わないのですが、新バージョンへの更新などは自由にできません。
新しいコマンドを自由に入れられない限り、やっぱスクリプトで計算ロジック書くしか無いんですよね・・・
crc32() で部分ごとに CRC を求めて、後でそれを組み合わせて全体の CRC を求める、なんて方法は無いですよね?
0847nobodyさん2007/01/23(火) 11:58:39ID:???
フレームワーク使ったことあるけど、面倒なもんばっかり。
普通にincludeしたほうが見やすいし、メンテもしやすいんだけどなぁ。
使いこなせばやっぱ楽なのかな。実感が全然沸かない。
0848nobodyさん2007/01/23(火) 11:58:57ID:???
>>844
半日くらい、ちこちことやって10万くらいかな。
小遣い稼ぎだね。

>>845
たかがしれてるから零細なんだけどさorz
0849847(843じゃないよ)2007/01/23(火) 12:02:26ID:???
連カキスマソ。
地方だからか上場している会社の仕事を見てもフレームワークなんて使ってるところ見たことないよ。
何かデザインを犠牲にした独自のガチガチフレームワークもどきは見たことあるけど。
使いこなしてる人、このソースと実行例を見とけとか、書籍などあったら教えてください。
0850nobodyさん2007/01/23(火) 12:04:00ID:???
新しくサイトを制作するに当たって、PHPにするかPerl
にするかまよってます。両者一長一短あるとはおもうのですが、
友人に聞いたらPerlは残るけどPHPは滅びるといってました。

やっぱりPerlのほうが長い目で見た場合いいですかね?

0851nobodyさん2007/01/23(火) 12:14:23ID:???
>>850
PerlはJava+PHPに滅ぼされる。ってかもうすでに新規案件では壊滅状態。
PHPは、そのお手軽さで、これからも生き残る。
求人募集で雇用条件にPerlが入っている所もどんどん少なくなっている。

>>849
逆に俺は上場企業でフレームワークを使わない所を見たこと無いんだが・・・

>>848
凄く楽。とくにSmartyなんかは、自分で用意にプラグインが作れるから、
使い込めば込むほど楽になる。
楽天をはじめ会社規模の開発にSmartyが多く使われているのもプラグインが容易に組み込める為。
0852nobodyさん2007/01/23(火) 12:18:27ID:???
PHPのフレームワークが大規模向けとか面倒だって言っている奴は、使ったことあるのか?
普通にディレクトリをアップロードするだけじゃん。
>>851が言っているようにSmartyなんかは、libディレクトリをアップロードしてキャッシュディレクトリを作るだけ。
どんなに小規模なプログラムでも、プログラムに統一性がでるから、使う価値は十分にある。
08538432007/01/23(火) 12:21:42ID:???
>>851,852
そうか。
今度試しに使ってみよう。
0854nobodyさん2007/01/23(火) 12:29:04ID:???
>>850
Perlは、UNIX系のモジュール開発にのみ生き残るな。
Webシステム開発などのプログラミング分野では、>851が言っているように壊滅状態。

大規模:Java
中・小規模:Ruby/PHP/.NET

この分野でPerlが生き残るすべは無い。
0855nobodyさん2007/01/23(火) 12:30:33ID:???
おーサンクス
Smarty+Flexyか

Smartyはフレームワークのカテゴリに入るのか
俺の中ではテンプラ用だったw

Flexyはググって見る
08568502007/01/23(火) 12:38:07ID:???
ご意見ありがとうございます。

PHPでいきます^^
0857nobodyさん2007/01/23(火) 12:55:10ID:???
>>855
俺はSmarty+Mojaveがいいと思う。
0858nobodyさん2007/01/23(火) 13:16:09ID:???
メールとか掲示板とか簡単なフォームにまでフレームワーク使う必要はないでしょ
フレームワークはいいところもあるけど学習コストやハマリコストも考えるべきだ。
0859nobodyさん2007/01/23(火) 13:20:07ID:???
>>858
>>852
0860nobodyさん2007/01/23(火) 13:27:28ID:???
俺はSmarty+独自フレームワーク。DBはPDO。
まだ、PHPのフレームワークは定番がないね。
Mojaviはなくなったと思ったら復活したり…。
Zendはなくなんないと思うけどw
CakePHPもわりと注目されてるね。Railsタイプは苦手。
0861nobodyさん2007/01/23(火) 13:33:25ID:???
>>860
PDOってPear::DataObjectのこと?
0862nobodyさん2007/01/23(火) 14:14:54ID:???
> include() は特別な言語構造であるため、 引数の前後に括弧は不要です。
との事ですが、
include('hoge.inc.php');
require_once('hoge.inc.php');
といった例を見かけることがあります。
これは見た目とか気分の問題ですか?

>861
http://www.google.co.jp/search?hl=ja&lr=lang_ja&ie=UTF-8&oe=UTF-8&num=50&q=PHP.Data.Objects
0863nobodyさん2007/01/23(火) 14:18:12ID:???
>>862
echoやprintと同じでは?
俺はincludeもprintも()でくくってるな。
そっちの方が読みやすい気がするって理由で。
0864nobodyさん2007/01/23(火) 14:19:59ID:???
>>861
PHP Data Objects
http://www.php.net/manual/ja/ref.pdo.php
0865nobodyさん2007/01/23(火) 14:29:04ID:???
>>863
なるほど。ありがとう。
0866nobodyさん2007/01/23(火) 15:29:35ID:9lt2k7w3
$person=array("name"=>"unko");

こんなコード気持ち悪いよ。
0867nobodyさん2007/01/23(火) 15:48:15ID:Mj0BJ0W1
拡張子 php を html に変換する方法がありますが、拡張子を変える理由は
何なのでしょうか?セキュリティとか関係あるのですか?
0868nobodyさん2007/01/23(火) 16:07:11ID:???
PHPにセキュリティホール出たら狙い撃ちにされるっしょ。
.htmlだったらそれがHTMLかPHPかASPかJSPか簡単にはわからん。

あと、サイトをPHPからJSPに移行したときとかURL変更になってしまう。
(もちろんhogehoge.phpをhogehoge.jspに飛ばす、とかできるけど気持ち悪い)
0869nobodyさん2007/01/23(火) 16:13:53ID:ddBgseC2
>>867
> 拡張子 php を html に変換する方法がありますが

kwsk
0870nobodyさん2007/01/23(火) 16:14:39ID:???
php->htmlの変更はどうやってするんですか?
0871nobodyさん2007/01/23(火) 16:16:52ID:???
httpd.conf or .htaccess
0872nobodyさん2007/01/23(火) 16:21:57ID:???
>>868
気休め程度だけどね。でももちろんやっといた方がマシ。
0873nobodyさん2007/01/23(火) 17:51:20ID:???
そんな攻撃してくるようなスキル高いやつが、
拡張子だけで判断するとは思えないがなw
0874nobodyさん2007/01/23(火) 18:18:54ID:???
それより、セキュリティホールがあることを気にしろよ。
0875nobodyさん2007/01/23(火) 18:41:56ID:???
世の中にはzero day attackというものがございまして、
セキュリティに気をつけて的確に対処していたとしても、
なかなか防げないものもございます。
0876nobodyさん2007/01/23(火) 18:51:07ID:???
>>854
> 大規模:Java
> 中・小規模:Ruby/PHP/.NET

Rubyって何よ?釣りか?

新規開発だと、Javaが圧倒的だけど、
保守では、まだCOBOLが根強く残っている。早く消えて欲しい。
0877nobodyさん2007/01/23(火) 18:55:24ID:???
とりあえず、おまえらPHPだけの事について考えようぜ。
あれもこれもじゃしんどいだろ。
開発者側の考えではなく、それを利用する利用者側の立場でさ。
(もっとも、自分だけ使えれば良いという人は別だが)
0878nobodyさん2007/01/23(火) 19:01:44ID:UH5Ebjbs
mb_send_mail() でメール送信した場合なんですが、
qmail?が自動で付加する Message-ID を取得する方法はありますでしょうか?
(送信前、または送信後でもOK)

使い方としては間違っていると思いますが、相手先は携帯メールの時
TO:相手メアド、FROM:自分メアド、BCC:自分メアド を入れ、
本文中にはMessage-ID等を含むURLを付加して
そのリンクにアクセスすることで、メールにフラグを付けたりして開封確認をしようかなと。
0879nobodyさん2007/01/23(火) 19:15:34ID:???
おすすめのフレームワークってありますか?
0880nobodyさん2007/01/23(火) 19:21:25ID:???
>>879
少し上のレスぐらい読めよ。カス
0881nobodyさん2007/01/23(火) 19:44:21ID:???
話題性的には cakephp > symfony > zend framework > mojavi
軽いのがよければ guessworkとかいうやつ?知らんけど
その他国産がよければ ethnaやmaple?知らんけど
詳細は該当スレへ

【PHP】フレームワークについて語るスレ5【総合】
http://pc10.2ch.net/test/read.cgi/php/1159579507/

【Smarty】PHPのテンプレートエンジン【Flexy】
http://pc10.2ch.net/test/read.cgi/php/1118799352/
0882nobodyさん2007/01/23(火) 19:47:54ID:???
おばぁちゃんが言っていた
SEO的には動的に使われる.cgiや.phpより.htmや.htmlの方が良いって
0883nobodyさん2007/01/23(火) 19:54:32ID:???
>>882
おばあちゃんにmod_rewirte使えば解決するよ、って言っといて。
0884nobodyさん2007/01/23(火) 20:14:34ID:???
>>880
だから聞いてるんですが
0885nobodyさん2007/01/23(火) 20:15:08ID:???
>>881
ありがとうございます
08868782007/01/23(火) 20:25:13ID:UH5Ebjbs
あのー・・・ フレームワークの話題で盛り上がってるとこ申し訳ないですが、
何か御教示などありましたら、宜しくお願いします(´・ω・`)
0887nobodyさん2007/01/23(火) 20:28:41ID:???
>>886
うるせぇ!!!それどころじゃぁねーんだよ!!
今はフレームワーク論争やってんだ!!!!
いいか?これはな!戦争なんだ!!!
0888nobodyさん2007/01/23(火) 20:31:36ID:???
887に同意
ココはくだすれだw
0889nobodyさん2007/01/23(火) 20:39:44ID:???
>>886
bccでてめーに送って、そのメールのヘッダーをほじくり返すってのはどうよ?
qmailにわたった時点で、phpからは知りようはないだろうし。
0890nobodyさん2007/01/23(火) 20:55:29ID:???
>>889
ってかさ、sendmailの設定の面倒さにかまけて、
新興勢力のqmailの軍門に下るのは技術者としては最悪だな。
0891nobodyさん2007/01/23(火) 22:07:35ID:???
え、新興勢力? qmailはたしかに開発開始時期はsendmailよりも新しいけど、
メンテのされなさ具合ではqmailははるかにレガシーというか時代遅れですよ。

sendmailはいまだにメンテされ続けているけど、
qmailはもう使っちゃいけない域にまできてますよ。
なわけで新興勢力なんて言葉には違和感あります。
0892nobodyさん2007/01/23(火) 22:42:31ID:WQNIOqeT
Fedora6にPHPをソースインストールしたんですが、
linpngのバージョンが古くなったので、
アップデートしたいと思ってます。

アップデートってどうすればいいんでしょう?
0893nobodyさん2007/01/23(火) 22:49:20ID:???
sendmail対抗はPostfixだろうがぁ!!
0894nobodyさん2007/01/23(火) 22:50:19ID:???
>>892
Fedora Core 総合スレッド Part 32
http://pc10.2ch.net/test/read.cgi/linux/1169012420/
0895nobodyさん2007/01/23(火) 22:50:25ID:gX0utTYO
以下のように、Undefined indexやUndefined variableというエラーが出力されてしまいました。

Notice: Undefined variable: name in C:\www\php\diary\diary.php on line 298
Notice: Undefined index: _all in C:\www\php\diary\diary.php on line 286

Perlでいうところのstrictを使用した際のmyの不使用によるエラーかな?と思ったのですが・・・
なにせ、検索エンジンでエラー文を検索するとエラーが出力されているサイトがヒットするので解決策が見出せません^^;

どなたか、解決策をご教示願います。
0896nobodyさん2007/01/23(火) 22:51:36ID:???
>>895
ソースがどうなっているかも分からずに回答できるエスパーが実在するとでも?
0897nobodyさん2007/01/23(火) 22:53:19ID:gX0utTYO
>>896
ご返信ありがとうございます。
このエラーがどのような場合に出力されるか、だけでも教えて頂けると幸いです。
0898nobodyさん2007/01/23(火) 22:55:11ID:???
>>897
英文そのまま
0899nobodyさん2007/01/23(火) 22:55:30ID:???
>>896
オマエ、その程度なら、ソース見なくても分かるだろw
エラーがINFOレベルで出力しているから、宣言していない変数は全てエラーメッセージが出力されるんだろ。
0900nobodyさん2007/01/23(火) 22:59:56ID:gX0utTYO
>>899
ご返信ありがとうございます。
error_reportingで全てのエラーを出力するようにしていたようです。
実際に開発する場合にはerror_reportingの値はどのようにすべきですか?
現在ではE_ALLになっています。
0901nobodyさん2007/01/23(火) 23:01:58ID:gX0utTYO
の前に、普通に設計していてNoticeレベルのエラーが出力されることなんてあるんですか?
それを出力しないように設定してもいいんですか?
0902nobodyさん2007/01/23(火) 23:05:56ID:TJC5Wx3g
訳あってWin鯖とLinux鯖を併用することになりました。
phpのソースはWin用・Linux用と2つ作成するのではなく、1つのphpファイルで
なんらかの条件判断で文字コード変換(mb_convert_encoding)のコードを記述しようと思います。

どういう条件で判断すればいいですか?
又Win鯖でもsjisとEUCとを使い分けるかもしれないので、汎用性を持たせたものにしたいと思います。
0903nobodyさん2007/01/23(火) 23:06:25ID:???
ぐぐれ
0904nobodyさん2007/01/23(火) 23:17:00ID:AcnniOWC
データベース(EUC-JP)から持ってきたデータをUTF-8に変更して表示したいのですが、

$row = データベースから取得してきた文字列

echo $row;
$row = mb_convert_encoding($row, "UTF-8", "EUC-JP");
echo $row;

にしても、変換されず出力が同じです。
どのようにすればうまく変換できるのでしょうか?
0905nobodyさん2007/01/23(火) 23:30:44ID:???
>>902
php_uname, PHP_OS
0906nobodyさん2007/01/23(火) 23:33:53ID:???
>>901
まずマニュアル嫁。
http://jp.php.net/manual/ja/ref.errorfunc.php

普通にコーディングしていればE_ALLレベルでも何も出力されない。
ログの意味を理解したうえで不要だと思うなら勝手に消せばいい。
09079042007/01/23(火) 23:40:53ID:AcnniOWC
とりあえずデータベースにUTF-8で保存することにより解決しました。
0908nobodyさん2007/01/24(水) 00:09:31ID:wHML1L8c
>>906
ご返信ありがとうございます。

[URL]?mode=aaa& ... というGETクエリを受け取ったものを、

// 20行目
$mode = $this->parser->query['mode'];

という記述で$mode変数に入れるよう処理しているのですが、

Notice: Undefined index: mode in C:\www\php\diary\○○○.php on line 20

という注意文が出力されてしまいます。
この['mode']という点に不備があるのでしょうか?
ご回答宜しくお願いいたします。
09099082007/01/24(水) 00:16:47ID:???
わかりました。
代入されていない値を使用していたため、Noticeレベルのエラーが出ていたようです。

しかし、リクエストによっては$modeがある場合とない場合が存在するわけですけど、このエラーが出るということは、

if ($mode) { }

という処理が出来ないということでしょうか?
いや、できることは出来るけどエラーは目を瞑れということですか?
0910nobodyさん2007/01/24(水) 00:20:16ID:4lV4Hsrf
すみません、質問させてください。
以下のようなhtmlとその入力結果を受けるphpを作ったんですが、
phpにパラメータが反映されません。なにが原因でしょうか?

【html】
名前を入力してください<br>
<form action="myname3.php" method="post">
<input type="text" name="namae" size="30">
<input type="submit" value="送信">
</form>
【myname3.php】
<?php
echo"名前は$namaeです";
if($namae == ""){echo"空ですよん";}
?>

本の通りにしてるんですが… よろしくお願いします。
0911nobodyさん2007/01/24(水) 00:22:56ID:???
>>910
<?php
if($_POST['namae'} == "") {
echo"空ですよん";
} else {
echo"名前は$_POST['namae'}です";
}
?>
0912nobodyさん2007/01/24(水) 00:23:38ID:???
訂正

<?php
if($_POST['namae'] == "") {
echo"空ですよん";
} else {
echo"名前は$_POST['namae']です";
}
?>
0913nobodyさん2007/01/24(水) 00:26:17ID:???
<?php
if( == "") {
echo"空ですよん";
} else {
echo"名前は".htmlspecialchars($_POST['namae'])."です";
}
?>
0914nobodyさん2007/01/24(水) 00:26:57ID:???
<?php
if($_POST['namae'] == "") {
echo"空ですよん";
} else {
echo"名前は".htmlspecialchars($_POST['namae'])."です";
}
?>
0915nobodyさん2007/01/24(水) 00:28:15ID:???
なにをしてるんだ貴様は
09169092007/01/24(水) 00:31:07ID:???
私の質問にどなたかご回答願いますm(_ _)m
0917nobodyさん2007/01/24(水) 00:31:33ID:???
空ですよん
0918nobodyさん2007/01/24(水) 00:34:07ID:???
>>916
function x($arr, $var)
{
if (isset($arr[$var])) {
return $arr[$var];
}
else {
return NULL;
}
}
とかいう関数を作って、こいつ経由で読み出せ売淫者ね?
0919nobodyさん2007/01/24(水) 01:08:18ID:???
// HTMLファイル
<html>
<body>
<!--AAA_START-->
空ですよん
<!--AAA_END-->
</body>
</html>

で、このHTMLファイルを以下の関数に解析させると、

function ParseSkin ($lines) {
  foreach ($lines as $line) {
    if (preg_match("/<!--(\w+)_START-->/", $line, $regs)) {
      $name = $regs[1];
      continue;
    } elseif (strstr($line, '_END-->')) {
      $name = '';
      continue;
    }
    if (isset($name)) {
      $this->skin[$name] .= $line; // 292行目
    }
    $this->skin['_all'] .= $line;
  }
}

Notice: Undefined index: AAA in C:\www\php\diary\diary.php on line 292

と出力されます。
何故でしょうか?
理由が分かる方、ぜひご教示願います。
0920nobodyさん2007/01/24(水) 01:08:48ID:???
>>910
その本古くね?w
0921nobodyさん2007/01/24(水) 01:09:26ID:???
>>919
292行目がおかしいから
0922nobodyさん2007/01/24(水) 01:12:19ID:???
>>921
ご教示願います。
0923nobodyさん2007/01/24(水) 01:41:49ID:???
下らない質問ですが、、皆さんフォームからの入力確認用のソースも
関数にして分けてます?
例えば、会員登録とプロフィール作成って同じ名前(name)を入力
する箇所があると思うのですが、そう言う場合、関数で分けた方が
便利なのかな?って思いまして。それで必要な入力確認項目だけを取り出すような。
0924nobodyさん2007/01/24(水) 01:48:37ID:???
$this->skin配列のキーに$nameの中身が入ってないんでしょ
インスタンス変数の配列なんてよく使えるな。他のメソッドで汚染され放題じゃん
0925nobodyさん2007/01/24(水) 02:03:59ID:4lV4Hsrf
>>911-914
ありがとうございます。 うまくいってるような気がします。
と言うのは、取得した名前の部分が文字化けしてるんです。
「たろう」と入力したのが「、ソ、�タヲ」になっています。

ブラウザの文字エンコーディングはShift_JISですが、どうしたらいいでしょう?
0926nobodyさん2007/01/24(水) 02:04:45ID:4lV4Hsrf
>>920
2002年の本です
使わない方がいいですかねー
0927nobodyさん2007/01/24(水) 02:33:50ID:???
<?php
$namae = $_POST["namae"];

if ($namae == "") {
echo "空ですよん";
} else {
$charset = mb_internal_encoding();
$namae = mb_convert_encoding($namae, "SJIS", $charset);
echo "名前は" . htmlspecialchars($namae) . "です。";
}
?>
0928nobodyさん2007/01/24(水) 02:41:14ID:???
2chをエディタ代わりにしないでください><
0929nobodyさん2007/01/24(水) 03:51:59ID:???
>>927
自慢乙
質問者の質問を理解しろよ
0930nobodyさん2007/01/24(水) 04:05:07ID:52oTItpk
【即納24時間以内】すぐに使えるサーバ。完全帯域保証【877円】 (1)


ってあるじゃないですか。毎時0分にあがってくるんですけどこの仕組みはPHPでもできますか?
cron使わないと無理ですかね?それともPHPで無理矢理みせることも可能でしょうか?
なにかヒントをお願いします。
0931nobodyさん2007/01/24(水) 04:06:36ID:???
簡単じゃん
時間指定してif文で書けるだろ
0932nobodyさん2007/01/24(水) 04:06:59ID:???
0分になった後の最初のアクセスでやれば同じじゃね
0933nobodyさん2007/01/24(水) 04:13:39ID:52oTItpk
アクセスの判定はどうやるんですか?
methodのGETが真なら〜を実行みたいな感じでいいんですかね?
0934nobodyさん2007/01/24(水) 04:14:15ID:???
いいんじゃね
0935nobodyさん2007/01/24(水) 04:14:51ID:???
>>931-932
そんなトリッキーな実装していると、あとで障害の切り分けとかで困るぞ。
単に、クライアント機に定期バッチ(タスク)を入れて、
scriptをrequestすれば簡単だろ。
0936nobodyさん2007/01/24(水) 04:44:25ID:???
それPHPでやんの?
そっちのがトリッキーじゃね?
0937nobodyさん2007/01/24(水) 05:02:30ID:???
phpのfopenやsocket関数使ってscriptをリクエストするだけだろ?
cronを擬似したものと考えれば、むしろ自然だと思うけど。

ユーザーのリクエストをトリガーにするのが致命的なのは、
一時間の間に一回もリクエストされない可能性が残されること。
09389102007/01/24(水) 05:13:04ID:Mhoyhvpg
>>927さんのコードを参考にしたらうまくいきました!
ありがとうございました。
ただ質問なんですが、
mb_convert_encoding($namae, "SJIS", $charset);
で変換後のエンコードは"auto"にしておけばどんな場合でも大丈夫じゃないんですか?
わざわざSJISやEUCを指定する必要があるときってあるんでしょうか?
ただの好奇心なのですが…暇な方ご回答お願いします。
0939nobodyさん2007/01/24(水) 05:48:41ID:???
次から次へとおなじやつがころころ質問変えて質問してんじゃねえよ。
教えてもらったことを考えもせずにすぐに質問するのは失礼。
0940nobodyさん2007/01/24(水) 06:44:02ID:???
あるに決まってんだろが!!!11111
0941nobodyさん2007/01/24(水) 07:04:37ID:???
>>938
autoは誤変換の可能性があるので使わない方がいいよ
表示したい文字コードがわかっているなら明示して指定する方がいいだろ
0942軟式PHP2007/01/24(水) 09:24:13ID:???
auto使って痛い目みるとよくわかる。
0943nobodyさん2007/01/24(水) 09:28:04ID:???
Notice: Undefined は issetで値があることを確認してから使えば解決。
0944nobodyさん2007/01/24(水) 11:21:20ID:???
PHP使いでグラフ(チャート)を扱うならどれがいい?
今Jpgrah使っているけど微妙に細かい表現できなくてげんなり中
0945nobodyさん2007/01/24(水) 11:32:25ID:???
>>944
何をやりたいかによるよな。
Flashのグラフを作成とか↓
http://www.maani.us/charts/index.php
http://www.amcharts.com/pie/examples/1/

Pearからも
http://pear.veggerby.dk/samples/
0946nobodyさん2007/01/24(水) 12:13:31ID:52oTItpk
2ちゃんねるでは書き込むとIDがついてきますよね。同じIPから同日は何回レスしてもIDは変わりませんよね。日がかわるとIDがかわりますよね。

これはどんな仕組みなんでしょうか?
0947nobodyさん2007/01/24(水) 12:30:15ID:???
日とIPからIDを生成する仕組み
0948nobodyさん2007/01/24(水) 12:36:11ID:???
header関数でリファラの書き換えってできますか?
0949nobodyさん2007/01/24(水) 12:51:29ID:???
質問させてください。
simplexml_load_file()を使ってRSS2.0を読める簡単なrssリーダーを組もうとしてるんですが
<title>要素や<description>要素と違い、<cd:date>と言う形の日付要素のデータがうまく取得できません。

<?php
foreach(simplexml_load_file('http://xxx/rss_2.xml')->channel->item as $it) {
echo "<div><p>".$it->dc:date;
echo "<a href=\"".$it->link."\" target=\"_blank\">".$it->title."</a>";
echo "</p>\n";
echo $it->description."</div>\n\n";
}
?>

こんなふうにやってみたんですが・・・
<dc:date>以外(タイトルと、URL、本文)は表示されます。
simplexml_load_file()で<dc:date>から日付を取り出すにはどう書けばいいんでしょう?
09509492007/01/24(水) 12:55:27ID:???
すんません。
>>949のソースだと何も表示されないですね。
「$it->dc:dateの記述を省けば」他のデータは表示される、ということです。
0951nobodyさん2007/01/24(水) 13:03:39ID:???
>>950
それ使ったことないけど
$it->date
じゃだめなの?
名前空間は気にされてない予感・
0952nobodyさん2007/01/24(水) 13:12:31ID:???
>>949
$dc = $it->children('http://purl.org/dc/elements/1.1/');
echo $dc->date;
09539492007/01/24(水) 13:30:01ID:???
>>951さん、>>952さん、ありがとうございました。
>>952さんの書き方でばっちり表示できました。
定義を加えてやる必要があったんですね。
情報が少なくて途方にくれてましたが、なんとかなりそうです。
ありがとうございました!
0954nobodyさん2007/01/24(水) 14:40:13ID:v1411zdj
GDのimagecreatefromjpegを使おうとしているのですが、
Call to undefined functionと言われてしまいます。
phpinfo()の結果はこのようになっています。

GD Support enabled
GD Version bundled (2.0.28 compatible)
GIF Read Support enabled
GIF Create Support enabled
PNG Support enabled
WBMP Support enabled
XBM Support enabled

Jpegサポートの表示がないので、
gdを入れ直さないといけませんか?
0955nobodyさん2007/01/24(水) 14:50:42ID:???
>>954
JPG Support enabled
jpegがあればこう表示されるよ。
0956nobodyさん2007/01/24(水) 15:05:32ID:???
そうですか
libjpegがないかもしれないのでインストールしなおしてみます
ありがとうございました
0957nobodyさん2007/01/24(水) 15:51:04ID:???
libjpegの前にconfigオプションを確認のこと。
(Linuxならね)
0958nobodyさん2007/01/24(水) 16:18:41ID:???
おっしゃるとおり、libjpegを入れても
configureオプションでディレクトリを指定しないと駄目でした。
もともとライブラリは入っていて
単にconfigureが足りなかっただけかも…。
0959nobodyさん2007/01/24(水) 16:24:38ID:???
フレームワークの類の質問なんですが、

1.index.phpに処理を記述
2.index.tplに各変数を送り表示

このような構造の場合、一ページ毎に上記のphp→tplのセットを記述した方がいいんでしょうか?
たとえば、index.php→index.tplを表示し、別のページに移動するときに再びindex.phpを呼び出し、
状況に応じてindex.php→index2.tplを表示みたいに、俗に言うコントローラ部分を使いまわすのは
邪道なやり方でしょうか?

コントローラ部分に記述するのは、どれも同じような物ばかりで、コントローラ部分は、一つのファイルにまとめ、
引数に応じて違うテンプレートを表示させるようなやり方です。
確かに可読性の面でいうと、わかりにくくなりますが、結果として同じコードを何回も記述する事になるので、
どちらが、正当なやり方かわからなくなりました。

好きにすればいいっと言う意見がでそうですが、私はWebプログラマを目指していて、
俗に言う、現場のプログラミング手法でやりたいのですが、
なにせ、その現場のプログラミングという物がまったく分からずに質問させていただきました。

ご意見お聞かせ願いたいです。宜しくお願いいたします。
0960nobodyさん2007/01/24(水) 16:31:21ID:???
ファイルをアップロードさせたら一時ディレクトリに格納されますが、
このファイルは
セッションと同じく一定間隔でクリアされるのでしょうか?
あるいは自分で削除しないといけないのでしょうか。
0961nobodyさん2007/01/24(水) 16:39:32ID:???
>>959
MVCでいえば(MVCもだいぶ古いが)、Mの共通関数クラスや共通業務クラスを作ればいい。
もしくは、Mのsuperクラスを作るとか。
Cは、呼び出すMで決定するのは普通。Cは一クラスで十分なはず。
0962nobodyさん2007/01/24(水) 16:43:50ID:1SyxEuY9
すいません、質問させてください。
他の人のソースを読んでるんですけど、変数にドルマークを二つ付けるのには意味があるんでしょうか。

こんな感じ。
> $$iniva = "";
0963nobodyさん2007/01/24(水) 16:54:38ID:???
>>962
[可変変数]
ttp://www.php.net/manual/ja/language.variables.variable.php
0964nobodyさん2007/01/24(水) 16:59:58ID:???
>>961
ご回答ありがとうございます。
>Cは一クラスで十分なはず。
という事は、基本的なWebシステムの場合は、
ベースとなるコントローラは一つで引数等に応じて呼び出す処理クラスを変更すればいいという事でしょうか?

>>959の例でいうと、Webシステムの中でindex.phpが唯一のコントローラであり、
全てのページにおいて、まずindex.phpを呼び出して、状況に応じて処理ロジックを読み込み、
それに応じたテンプレートを呼び出すという事でよろしいでしょうか?

何かおかしな事をいっていたらすみません。
0965nobodyさん2007/01/24(水) 17:03:14ID:???
>>964
両方とも、そのとおり

基本的なWEBシステムではなく、PHPで作られているMVCの場合だな
0966nobodyさん2007/01/24(水) 17:04:35ID:???
>>964
基本は、それでいいと思うよ。Cは全体で一つ、CでMとVを決定すればok。
(request)→[cotroller.class]→[model.class]→[view1.tpl]
(request)→[cotroller.class]→[mode2.class]→[view2.tpl]
(request)→[cotroller.class]→[mode3.class]→[view3.tpl]
0967nobodyさん2007/01/24(水) 17:06:05ID:???
>>962
ありがとうございます。
感謝です。
0968nobodyさん2007/01/24(水) 17:14:33ID:???
俺はindex.phpはコントローラーを起動するだけに留めて、
コントローラーもモデルクラス、
テンプレート等は、全てドキュメントルート外に置いてる。
サーバー設定のポカミスとかで、
ソースが公開されても安全。
0969nobodyさん2007/01/24(水) 17:18:26ID:???
classの優位性があんまりよくわからないのですが、
PHPでオブジェクト指向というと必ず使われていますよね?

classの中にfuntionで処理する関数をいくつか作成して
new class()で開始し、$obj->function_name($test);などで実行するわけですが、
普通にfunctionだけ用意して、やる方法と大して差異はない気がするのですが
実際、どういう部分にメリットがあるのでしょうか?
0970nobodyさん2007/01/24(水) 17:20:58ID:???
>>965
>>966
ありがとうございます。
本当に勉強になりました。

>>969
継承やオーバライドなど、多数のメリットがあると思います。
0971nobodyさん2007/01/24(水) 17:23:22ID:???
>>969
> classの優位性があんまりよくわからないのですが、
> PHPでオブジェクト指向というと必ず使われていますよね?
「class」の優位性じゃなくて、「オブジェクト指向」の優位性実現のためのclass。
0972nobodyさん2007/01/24(水) 17:23:30ID:???
>>968
ありがとうございます。
私もテンプレートなどプログラムから直に呼び出すファイルは、
ドキュメントルート外に保存しています。

>俺はindex.phpはコントローラーを起動するだけに留めて、コントローラーもモデルクラス、
このやり方も考えて見ます。


皆様、この度は、有益な情報ありがとうございました。
また何かありましたら、お世話になると思いますが、その時は宜しくお願いいたします。
09739192007/01/24(水) 17:52:07ID:???
駄目です、分かりません・・・onz

>>919
このソースで、このエラーを吐かないようにするにはどこをどう改善すべきですか?
0974nobodyさん2007/01/24(水) 18:09:06ID:???
$AAA = mb_convert_encoding($AAA, "SJIS", "EUC-JP");

で$AAAがnullの場合でもmb_convert_encodingを使ってもOK?
09759192007/01/24(水) 18:21:24ID:???
ようやく事故解決しました。。。

【原因 その1】
変数の有無を判別する時は、

if ($name) {}

ではなく、

if (isset($name)) {}

としなければE_NOTICEレベルのエラーが出力される。

【原因 その2】
文字列演算子「.=」を使用する場合は、追加される側の変数が未定義だった場合にE_NOTICEレベルのエラーが出力される。

$value .= '文字列';

   ↓

$value  = '';
$value .= '文字列';

こんなので間違うのは私だけでしょうが、一応スレ汚しの代償としてまとめを残しておきます(´・ω・`)
0976nobodyさん2007/01/24(水) 18:23:10ID:cRpAzeYn
classの使い方とか継承とかがわかってきて、一部ソースを書き替えているのですが、
テーブルにデータを追加する仕組みで、基本的に以下のような感じでおかしくないでしょうか?

//実行結果用 - form_send.php
require_once("test_class.php");
$date=date("Y/m/d h:i:s");
$obj = new db_test_class();
$obj->tb_name="datelist";
$obj->field_set1="name,age,sex,comment,date";
$obj->field_set2="'$_POST[name]','$_POST[age]','$_POST[sex]','$_POST[comment]','$date'";
$obj->tableDataSend();

//実行するクラス側 - test_class.php
class db_test_class{
public $tb_name="";
public $field_set1="";
public $field_set2="";
//テーブルにデータを追加
function tableDataSend(){
require_once("config.php"); //データベース接続用の設定ファイル
$sql ="insert into {$this->tb_name}({$this->field_set1}) values ({$this->field_set2})";
$rst = mysql_query($sql, $con);
if($rst){
echo "データを追加しました。";
}
}
}
0977nobodyさん2007/01/24(水) 18:28:06ID:???
>>973
php.ini に設定してあるエラーレベルが高いんだろ
$this->skin[〜] というインデックスが定義されていない状態で
.= で文字列結合しているのが問題, その前にこのインデックスを $this->skin[〜] = '' みたいに
何か初期化してやれば NOTICE は消える
ただそこまで重大な問題でもないから表示するエラーレベルを下げるという手もある
スクリプトに error_reporting(E_ALL ^ E_NOTICE); って書いて NOTICE を無効にするとかね
0978nobodyさん2007/01/24(水) 18:29:22ID:???
あちゃ、わずかな差で自己解決でしたか
0979nobodyさん2007/01/24(水) 18:31:41ID:???
>>977-978
いえいえ、ありがとうございました!
学習のため、エラーは全て吐き出すようにしていますが、これではスクリプトを書く前にエラーを吐かないようにするので精一杯です(;´Д`)
0980nobodyさん2007/01/24(水) 18:33:06ID:???
>>976
いちいち変数に値格納するんじゃなくて、tableDataSend関数に直で値を持っていけば?
それにそういう使い方をしたいなら、DB固有のネイティブな関数でハードコードするんじゃなくて
PEARなりPDOなりを使ったほうがいいと思うぞ。
セットするデータをわざわざSQLの形にして渡すのも気持ち悪い。
あと、分かってると思うが、POSTされたデータを直でDB登録なんて正気の沙汰じゃないぞ。

100点満点中15点って所かな。
0981nobodyさん2007/01/24(水) 18:36:50ID:???
>>966
そういう場合、リクエストは
index.php?mode=aaa
とかで振り分ければいいんですか?
0982nobodyさん2007/01/24(水) 18:38:38ID:???
ここに投稿するかmysqlのレスに投稿するか迷ったんだけど、
プログラムのことなので、コチラに投稿しました。
mysql5からストアドが使えるようになったけど、
DB関連の処理をphpからストアドに移行した方がいいですか?
ロジックがphpとストアドで分散するとメンテの時に面倒かなぁと思うのですが、
使い分けしている人いますか?
09839762007/01/24(水) 18:39:22ID:???
>>980
アドバイスありがとうございます。
ソースが長くなるので、サニタイズする件に関しては割合してます。

>tableDataSend関数に直で値を持っていけば?
tableDataSend($field_set1,$field_set2)
こんな感じにするべきだったのでしょうか?

あと、外部ライブラリを使うより簡単な箇所は自分でやった方が覚えると
思って、上記のようなものを書きました。でも、もう少し簡素化・汎用性が利く
用に出来るかなっと思って質問した次第です。
0984nobodyさん2007/01/24(水) 19:00:27ID:???
>>983
今は、DB固有の関数で決め撃ちする事なんてないから、そんなの覚えなくてもいいと思うよ。
むしろ、SQL直書きでコードに埋め込みなんかも今はあんまりしない。

PEARならPDOなりを使えば、もっともっと読みやすくて簡潔なコードが書ける。

>tableDataSend($field_set1,$field_set2)
>こんな感じにするべきだったのでしょうか?

クラス内部のほかの関数がどうなっているかにもよるけど、>>976を全てとしてみたら、その方がいい。
ってか、>>976が全てだとしたら、クラス化する意味もあんまりないと思うよ。
プログラムの可読性を下げるだけのクラス化の悪例。
0985nobodyさん2007/01/24(水) 19:05:16ID:???
まあそうだよね。DB関連は既存でPEARとかあるから作る必要ないけど、
勉強にもなるし例題としてはいいよね。
0986nobodyさん2007/01/24(水) 20:05:45ID:???
でも、PEARってPEAR知っている人じゃないと使え無くない?
0987nobodyさん2007/01/24(水) 20:14:31ID:???
PHPもPHPを知らn(ry
0988nobodyさん2007/01/24(水) 20:16:45ID:???
>>986
なんでもいいから使ってみな。怖くないから。
つかnewしてメソッド呼ぶだけだろ。
0989軟式PHP2007/01/24(水) 20:19:52ID:???
>>986
PEARなんて基礎中の基礎だから皆知ってる。
0990nobodyさん2007/01/24(水) 20:26:24ID:???
たまにレン鯖でインストールされていないところがあるけどなw
0991nobodyさん2007/01/24(水) 20:26:45ID:???
>>988
使いたくても、使えない環境もあるよ。
おれのところ、レン鯖(xrea)だからPEARもPDOもつかえないよorz
0992nobodyさん2007/01/24(水) 20:43:07ID:???
結局、外部ライブラリに頼るより、ある程度自分で出来た方が
身に付くのは確かだわな。PEAR使う奴より、そっちの方が必要あるだろ。
0993軟式PHP2007/01/24(水) 20:43:51ID:???
ごめん、レン鯖で試したことないんだけど
PEARフォルダを適当に置いて、そこにset_include_path()でパス通してもだめなん?
PEARも結局はPHPスクリプトだから動きそうな気がするんだが…。
0994nobodyさん2007/01/24(水) 20:44:18ID:f0XbJXyF
>>991
クマー
0995nobodyさん2007/01/24(水) 20:59:45ID:???
日本PHPユーザ会の更新なんで止まってるの?
0996nobodyさん2007/01/24(水) 21:16:06ID:???
>>993
レン鯖でPEAR使うときは普通はそうするな。
つか>>990が無知なだけかと…
0997nobodyさん2007/01/24(水) 21:46:00ID:cqEVnQIF
PEAR1.5.0.0キタ━━━━━━(゚∀゚)━━━━━━ !!
0998nobodyさん2007/01/24(水) 22:14:40ID:???
次スレ誘導

【PHP】下らねぇ質問はここに書き込みやがれ 37
http://pc10.2ch.net/test/read.cgi/php/1169644229/l50
0999nobodyさん2007/01/24(水) 22:23:28ID:???
1000とったらPHPが年内になくなる。
1000nobodyさん2007/01/24(水) 22:24:04ID:???
1000なら俺も今年中にPHPマスターの仲間入り!
10011001Over 1000Thread
このスレッドは1000を超えました。
もう書けないので、新しいスレッドを立ててくださいです。。。
レス数が1000を超えています。これ以上書き込みはできません。