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

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

レス数が1000を超えています。これ以上書き込みはできません。
0001nobodyさん2008/02/09(土) 14:51:11ID:???
まず読め→【PHP マニュアル】http://www.php.net/manual/ja/
PHPで最良の教本はこの公式マニュアル。市販の書籍は嘘が多いので鵜呑みにしない。
過去スレ、関連スレ、FAQなどは>>2-10辺り

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

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

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

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

【その他諸注意】
・正規表現・PEAR・テンプレート(Smarty等)・フレームワークは各該当スレへ
・SQLについての質問はデータベース板(PCカテゴリ)の各スレで
0002nobodyさん2008/02/09(土) 14:52:07ID:???
【簡易FAQ】 (1/3)
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プログラムとして実行された結果になる。
10. そもそもインストールの時点でうまくいかない
 → 確認すべきはPHPのconfigureの引数、php.iniの内容と置き場所、
  Webサーバの設定(Apacheならhttpd.conf)、起動&再起動あたり
0003nobodyさん2008/02/09(土) 14:52:19ID:???
【簡易FAQ】 (2/3)
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.を参照
0004nobodyさん2008/02/09(土) 14:52:34ID:???
【簡易FAQ】 (3/3)
21. 画像処理一般 or GDの限界
 → ImageMagick(PECLのやつ or シェルから実行)
22. 画像・音・動画はファイルで保存?DBに保存?
 → 好きにしてください
0005nobodyさん2008/02/09(土) 14:52:52ID:???
関連リンク
■本家マニュアル   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/
0006nobodyさん2008/02/09(土) 14:53:56ID:???
■過去ログ
【PHP】下らねぇ質問はここに書き込みやがれ 61
http://pc11.2ch.net/test/read.cgi/php/1201425479/
【PHP】下らねぇ質問はここに書き込みやがれ 62
http://pc11.2ch.net/test/read.cgi/php/1199956159/
【PHP】下らねぇ質問はここに書き込みやがれ 61
http://pc11.2ch.net/test/read.cgi/php/1198002831/
【PHP】下らねぇ質問はここに書き込みやがれ 60
http://pc11.2ch.net/test/read.cgi/php/1196511516/
【PHP】下らねぇ質問はここに書き込みやがれ 59
http://pc11.2ch.net/test/read.cgi/php/1195204145/
【PHP】下らねぇ質問はここに書き込みやがれ 58
http://pc11.2ch.net/test/read.cgi/php/1194084457/
【PHP】下らねぇ質問はここに書き込みやがれ 57
http://pc11.2ch.net/test/read.cgi/php/1193062236/
【PHP】下らねぇ質問はここに書き込みやがれ 56
http://pc11.2ch.net/test/read.cgi/php/1192092941/
【PHP】下らねぇ質問はここに書き込みやがれ 55
http://pc11.2ch.net/test/read.cgi/php/1191058556/
【PHP】下らねぇ質問はここに書き込みやがれ 54
http://pc11.2ch.net/test/read.cgi/php/1189309377/
【PHP】下らねぇ質問はここに書き込みやがれ 53
http://pc11.2ch.net/test/read.cgi/php/1188047468/
【PHP】下らねぇ質問はここに書き込みやがれ 52
http://pc11.2ch.net/test/read.cgi/php/1186794483/
0007nobodyさん2008/02/09(土) 23:19:21ID:???
                     ,   ─=、─-=ニL」_
                    /二ニ=‐-=ニ、\    ,>
                  ,ムイ/  .}、    ヽ. ヽ  ァ′  _人_人_人_人_人_人_
                 /   /    ノ,ト、 ,ィ ,ハ. ∨ト、   )
 (\ __           ∧  ;'  ,ノlノj,ィ込ァ`! ,), V \  ) 下らねぇ質問は
. ,f\孑=ァ),__          | ! i,ァ示. ノ'ノ ゞr'リ リ   ! |    \)
〈ヾ、ム,. 》 :|| \        |!、ト、ト弋リ 、      l  ,ノ※     )  ここに書き込みやがれ!
. `ー'─(,ムイ'   \    ,. -'‐ \\   ア`ヽ _ムイi   !      )
     \     `  7マ'7   | ヽ.≧ ゝ._ノ ,: ィ´|.※ |     )    ですぅ!
.        `  ,     i ,ハ}   |.※ | >x、. イ  ! i|.   !     )
          `7ぇxl/  ,    !  i  《 ,≫vヘ.)、i),  !     ⌒Y⌒Y⌒Y⌒Y⌒Y
          /  /    |_ i.※ i.  《|{,//iヘ.∨), ∨   ,r- 、
            /  /     ! )`i   !,  《!_/i |《ヘ.∨), ∨ ,Xヘ. }
        /  ム._.  !/ .|.※ |ヘ.  《  i | 《.ヘ.∨ヘ,.マ^ヽヽノ
        ‘ーx,     i  !  |.   | ',. 《.  ! i 《. | |  メ.}i;xr≦
           ∨  ヽ. |   |.※ |  ∨《  Li  《 L! :|. |    |
            \.  ∨   |.   |  〈 》〜〜〜''〜 | i    !
             \/   .!.※ ! ,/」Lニ=- |!>X<| :| i    !
             //     ¨¨¨’ >厂    K  >' :| |、 ,ノ
0008nobodyさん2008/02/09(土) 23:42:21ID:???
>>1 死ね。テンプレ変えるしろくでないやつ >>1 が立てちゃったんだな

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

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

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

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

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

【その他諸注意】
・正規表現・PEAR・テンプレート(Smarty等)・フレームワークは各該当スレへ
・SQLについての質問はデータベース板(PCカテゴリ)の各スレで
0009nobodyさん2008/02/09(土) 23:43:59ID:???
建て直すか?
0010nobodyさん2008/02/09(土) 23:56:56ID:???
2chのルール的にたてなおすのはマズイ。
とりあえずつかうべ。
トリップは嫌われるしそれだけで荒らしだすやついるから非推奨。
0011nobodyさん2008/02/10(日) 00:13:48ID:???
なんでそんなにIDのみに固執するんだ?
IDIDって煩い奴は煽りがしにくくなるからとしか見えないのだが

>>10
トリップ嫌われるっつーのは変なコテが沸く所にあるんだろ
一時的なトリップは識別として使えるんだから問題ないと思うが?

それに変なコテ沸けばNG設定で終わりだし
0012nobodyさん2008/02/10(日) 00:33:14ID:???
>>11だな。IDのが手間かからんし、ageるからメ欄を空けたIDでいいとは思うが
別にトリップ使って聞くのはなんら問題ない。
それより質問者がちゃんとわかるほうが大事。
0013nobodyさん2008/02/10(日) 01:04:04ID:???
11はバカだな。今までのスレの流れも解らんのか。
こういう奴には何を言っても無駄だな…。
0014nobodyさん2008/02/10(日) 01:11:13ID:???
IDに固執する人のレスってまともなレスが無いんだけど
もうちょっと何でトリップがダメなのか言ってくれ
0015nobodyさん2008/02/10(日) 01:29:37ID:???
別に前スレでトリップでもいいって言ってんじゃないか
もう少し煽り耐性をつけてください
0016nobodyさん2008/02/10(日) 03:29:25ID:V6SpMkY1
ある文字がカタカナかどうか調べる方法を教えて下さい
コードはUTF-8です
0017nobodyさん2008/02/10(日) 04:01:26ID:???
mb_convert_kana で変換されてたらカタカナってのは駄目か?
ttp://jp.php.net/manual/ja/function.mb-convert-kana.php
0018nobodyさん2008/02/10(日) 04:03:23ID:???
ごめん。変換されてなかったら…だなw
素直に mb_ereg 使った方がいいかも
0019nobodyさん2008/02/10(日) 04:04:03ID:???
それはグッドアイデアですね
正規表現でやるより速そう
ありがとうございました
0020nobodyさん2008/02/10(日) 04:08:40ID:???
>>18
確かによく考えたらシンプルなロジックでは出来なそうですね
むーん
0021nobodyさん2008/02/10(日) 04:22:55ID:???
文字のコード範囲調べた方が速い
0022nobodyさん2008/02/10(日) 04:43:35ID:???
php カタカナ判定
でググッて自分で検証しろ
これぐらいやってから質問したほうが自分のためだよ
0023nobodyさん2008/02/10(日) 12:40:04ID:???
UTF-8のカタカナ
(\xe3(\x82|\x83)[\x80-\xbf])*
0024nobodyさん2008/02/10(日) 19:37:02ID:XCnCYEX+
PEAR Mailがうまく動作せず、ログも吐いてくれないので困っています。助けてください。
OS:Red Hat系,SMTPサーバ:Postfix
PHPのソース
<?php
require_once("Mail.php");
$params = array(
"host" => "localhost",
"port" => 25,
"auth" => false,
);

$mailObject = Mail::factory("smtp", $params);
$recipients = "orenchi@mail.jp";
$headers = array(
"To" => "to",
"From" => "from",
"Subject" => "Test Mail"
);
$body = "This is test mail";
$mailObject -> send($recipients, $headers, $body);
?>
require自体はうまくいきました。25番ポートが開放されていることも確認しました。
恐らく$paramsのhost名が間違っているかPostfixの設定がダメなのか、のどちらかだと思われます。
PHPファイルとpostfixが同一サーバ内だからhost=localhostでいけると思ったのですが、main.cfのhostnameパラメで指定したFQDN
に合わせる必要があるのでしょうか。それとも他の設定ミス・・・?
0025nobodyさん2008/02/10(日) 20:04:57ID:???
http://pc11.2ch.net/test/read.cgi/php/1201425479/
前スレ埋めようぜ
0026nobodyさん2008/02/10(日) 23:55:39ID:???
>>24
>PEAR Mailがうまく動作せず
っておい
>>1の質問する時の注意の3番目を1000回復唱してから前スレに書き込め
0027nobodyさん2008/02/11(月) 00:14:33ID:???
で、前スレでマルチ死ねって言われてスルーかなw
0028nobodyさん2008/02/11(月) 03:20:16ID:???
テンプレ見て思ったんだが、画像を保存する場合にファイルかDBか自由って書いてあったが、
プロとしてやるならソレはおかしい。

動的な画像もファイルに保存するというのは、少し考えればまずいってことが分かるはずだが。
0029nobodyさん2008/02/11(月) 04:10:06ID:smM9I7ZN
pearが使えないのでphp5.2から再インストールしていたら、mbstringが使えなくなりました。

症状としてはphpinfoでmbstring関連のワードが出てきませんし、mb_language() でもFatal errorになってしまいます。
php.iniは;外したりなど行なってますし、以前使っていたphp5のphp.iniバックアップも試してみました。
また、以前は全く問題無く使えていました。ただ、php5だったのは確かですが、バージョンまでは分かりません。

使用OS:win98、Apeche2です。

WINDOWSフォルダ内のphp.iniは色んなサイトのを10種類くらい試してみました。現在は下記のようになっています。
extension=php_mbstring.dll
mbstring.language = Japanese
mbstring.internal_encoding = UTF-8 などなど。

mysqlもinfoにないです。extension=php_mysql.dllコメントアウト済み。

他にチェックすべき点はありますでしょうか?
0030nobodyさん2008/02/11(月) 04:13:00ID:???
違う場所のphp.ini読んでる
0031292008/02/11(月) 04:22:13ID:???
>>30
ありがとうございます。
バックアップ用php.iniなど検索して、windowsフォルダ以外全て消してみましたがダメでした。
0032nobodyさん2008/02/11(月) 05:35:45ID:???
それだけじゃ解らんな。
1. 他に指定してる extension との絡み
2. php -i | grep Load での php.ini の読まれる所
3. extension_dir

とか、色々考えられるな。その程度の環境晒しじゃ何とも言いようがない。
0033nobodyさん2008/02/11(月) 11:06:19ID:???
>3. extension_dir
パスを切るか、dllあるフォルダに移動するだけで正しく動いたらこれだろうな。
0034nobodyさん2008/02/11(月) 11:14:05ID:???
php.ini ファイルを読み込んでいないか疑っているのなら、まずはphpinfo の 
Configuration File (php.ini) Path を確認してみては?

あと apache経由と直に実行するのでは、使用される php.iniが違ったりするから注意。

具体的な情報もってるわけじゃないけど OSがwin98ってのは気になるなぁ。
0035nobodyさん2008/02/11(月) 12:19:01ID:???
以下のサイトにランダムな文字列を生成するサンプルが載っているのですが、rand(48,120);としているところが何故rand(48,122);じゃないのかが解りません。
これはサンプルが間違っているんでしょうか。
0036nobodyさん2008/02/11(月) 12:19:47ID:???
すいませんURL載せ忘れました。。
http://jonasjohn.de/snippets/php/rand-str.htm
0037nobodyさん2008/02/11(月) 12:19:55ID:???
質問です。
$abc = $_POST['abc'];
$edf = $_POST['edf'];

$stock = array ($abc,$edf);

$fp = fopen('data.csv','a');
fputcsv($fp, $stock);
fclose($fp);

フォームから投稿された変数abcとedfを配列stockに格納し、
csvファイルに書き出したいのですが、
変数には日本語が入るためその中身を" "で括って保存したい場合、
もっともシンプルに行うにはどのような処理を追加したらいいでしょうか?

正規表現などでそれぞれの変数の文字列を置換しても出来ると思うのですが、
よろしくお願いします。
0038nobodyさん2008/02/11(月) 12:33:18ID:mbEbK9iH
すみません、ID出し忘れです。
0039nobodyさん2008/02/11(月) 12:56:56ID:???
>>35
文字コードに対応するの出すんなら122のが正しいだろうな。
それに記号だったら再計算とかかなり無駄なことしてる>>36のは。
0-9A-Za-zだけのテーブル作ってそこから拾えばいいのに。
0040nobodyさん2008/02/11(月) 13:22:11ID:???
>>37
こういうやり方はダメなの?

$fp = fopen('data.csv','a');
$line = '"' . $abc . '","' . $def . '"' . "\n";
fwrite($fp,$line);
fclose($fp);
0041292008/02/11(月) 14:31:04ID:???
>>32-34
ありがとうございます。今の状態は
http.conf に PHPIniDir "C:/php"で、php.iniをc:\phpに移動(他は全部削除)
Configuration File (php.ini) Path no value←これは不味いですか?Loaded Configuration File C:\php\php.ini
C:\>php -i | grep Load
File STDIN:
Loaded Configuration File => C:\php\php.ini

php.iniは
default_charset = UTF-8
extension_dir = "c:/php/ext" (php/ext内に下記dllファイル確認しました)
extension=php_mbstring.dll
extension=php_mysql.dll

mbstring.language = Japanese
mbstring.internal_encoding = UTF-8
mbstring.encoding_translation = On
mbstring.detect_order = auto
mbstring.substitute_character = none;
0042nobodyさん2008/02/11(月) 14:48:37ID:???
ひょっとしてその iniファイルってバージョンアップ前のを修正して使ってる?
自分は、5.0 -> 5.2でそれをやったときに動作しなかった記憶がある。(原因は知らない)
0043372008/02/11(月) 14:51:02ID:mbEbK9iH
>>40
ありがとうございます。
fputcsvを用いない場合はそれで希望通りの表示がされるようですね。
ただ配列の1変数として変換を行いたい場合の処理も教えて頂けると助かります。

その後色々試してみたのですが、
$abc = '"'.$_POST['abc'].'"';  //abcに「あ」を送信した場合

この時、$abcに"""あ"""が入ってしまうのですがこれは何故でしょうか。
'"'.で文字列を付加したことによって外側の""がつくようなのですが。
実際に文字列を付加しなくても、外側を""で括れる方法などありましたらお願いします。
0044nobodyさん2008/02/11(月) 14:53:05ID:???
>>43
foreachやらarray_mapやら使えばいくらでも好きなようにできるんじゃね
0045nobodyさん2008/02/11(月) 15:05:25ID:???
>>41
php.ini の記述はほんとに *それだけ* か?
php_mbstring.dll の前に違う extension の指定とかないのか?
0046nobodyさん2008/02/11(月) 15:13:44ID:???
>>43
fputcsv()はフィールド値が括る必要がある場合は勝手に括る
0047292008/02/11(月) 15:27:44ID:???
>>42
今は新しい方のiniファイルを使ってます。

>>45
extension=ほにゃららってところですよね?
extension=php_mbstring.dll
extension=php_mysql.dll
以外は全て「;」がついてます。

ところで、今mbstring使えるようになりました。
状況としては最初からやりなおそうと思って、Windows内php5ts.dllを削除しただけです。
phpのインストールサイトに、「php5ts.dll」をwindowsにコピペとありますが、まだしていません。でもphp infoは表示されます。
これって大丈夫なのでしょうか?いちおう今からコピペ&再起動しますが…
また、Configure Command cscript /nologo configure.js "--enable-snapshot-build" "--with-gd=shared"
となっているのですが、gdがあるのは普通ですか?あと、本当にmbstringが使える場合、上記にmbstringって出てきませんか?
昨日ググってたら、Configure Commandには出るのに、mbstring項目がないって書いてあるサイトがあったような気がします。

0048292008/02/11(月) 15:45:56ID:???
色々と不安ですが、使えるっぽいです。phpinfoは相変わらずです。今からまたググってみます。
php自体はビクつきながら、このまま使ってみます。皆様、色々とありがとうございました。
0049372008/02/11(月) 17:17:08ID:mbEbK9iH
>>46
色々試したみたところ、変数内に"か半角スペースのある場合のみ自動的に"で括るようですね。
取り合えず全ての変数に$abc." "と半角スペースを付加して対応することにします。
ありがとうございました。
0050nobodyさん2008/02/11(月) 17:33:57ID:???
>>47
もういらんレスかもしれんが、dllって普通system32に入れるんじゃないの?
0051nobodyさん2008/02/11(月) 17:35:23ID:???
んなもん用途しだい。
特定のアプリからしか使わないなら、アプリのフォルダでいい。
0052nobodyさん2008/02/11(月) 17:55:09ID:???
DLL Hellって聞いたことあるよね
0053nobodyさん2008/02/11(月) 19:14:29ID:???
>>52
デリヘル?
0054nobodyさん2008/02/11(月) 19:15:16ID:???
質問です。windows版のPHPにAPCをインストールして
動作させるにはどうすればいいのでしょうか。
OS:windows xp、PHPのバージョン:5.2.5
目的:ファイルのアップロードの進捗を表示できるようにしたい

extensionディレクトリにphp_apc.dllが既にあったのでラッキー、
後はphp.iniだけと思ってextension=php_apc.dllのコメントアウトをはずして
apc.rfc1867 = Onを書き込み、apacheを再起動してサンプルを動かすと
なぜかエラーでapacheが終了。サンプル自体は問題なさそうなので
APCがうまくインストールできてないのが原因だと思うのですが・・・
0055nobodyさん2008/02/11(月) 20:21:17ID:???
おいおいカーネルぶっ壊れたじゃねーか。
0056nobodyさん2008/02/11(月) 20:39:51ID:???
>>50
使うのだけ入れることはあるけど、PHPのはえらい数あるからバージョン管理ややこしくなるし
extに入ったままにしといたほうが更新したときに勝手に最新バージョンになるんじゃないかい。
0057nobodyさん2008/02/11(月) 22:12:41ID:bpntg1wU
PHP5.2って$_GETの$Keyword取得できないんですか?
0058nobodyさん2008/02/11(月) 22:47:39ID:bpntg1wU
できたのですが、
$_GET['Keyword']
て、入力されたキーワードは
$Keywordで表示できるんじゃないんですか?
$Keyword= $_GET['Keyword'];
とすれば表示されたからいいのですが
5時間悩みました
php5.2です
0059nobodyさん2008/02/11(月) 23:04:58ID:???
>>58
前はできたけど今はiniいじらないとできないようになった。
セキュリティ上の都合かな。
0060nobodyさん2008/02/11(月) 23:43:18ID:???
ID:???ってどうやるの?
0061nobodyさん2008/02/12(火) 00:07:29ID:wvmjAnme
$lockfp = fopen(ロックファイル名,'w');
while(!flock($lockfp, LOCK_EX)){
usleep(250000);
}
$result = mysql_query("SELECT COUNT(no) as count FROM テーブル名");
if (!$result) {
die(mysql_error());
}
$row = mysql_fetch_assoc($result);
$i = $row['count'];
$i++;
$sql = "INSERT INTO $tselect (no, 内容) VALUES ('$i', '内容')";
$result_flag = mysql_query($sql);
if (!$result_flag) {
die(mysql_error());
}
flock($lockfp, LOCK_UN);
fclose($lockfp);

これで$iが重複することは無いのか教えてください
0062nobodyさん2008/02/12(火) 00:13:38ID:???
ダメすぐるwww
0063nobodyさん2008/02/12(火) 00:18:43ID:wvmjAnme
まったく分からないのでどうかご教授お願いします
0064nobodyさん2008/02/12(火) 00:27:13ID:???
>>63
insertする$iが存在しないか確認しないと重複するかどうかわかるわけないし

ダメっていうのはすべてが問題外ってことやろ
質問する前にオナニーしておちつけ
0065nobodyさん2008/02/12(火) 00:30:37ID:wvmjAnme
ああ、すまない
説明不足だった

iは1から連番でつけていてcountで取得した番号=最終行という形になってる
データの削除はしたくないからテーブルにフラグをつけてデータが有効か無効か判断してるから番号の欠落とかはなしと考えてる
0066nobodyさん2008/02/12(火) 00:32:14ID:???
ごめん、”iは”じゃなくてテーブルの番号項目ということで
0067nobodyさん2008/02/12(火) 00:38:36ID:???
>>61
あまりPHPに詳しいわけじゃないんだが、$tselectって何?
PHPでは何か意味のある変数?
0068nobodyさん2008/02/12(火) 00:41:37ID:wvmjAnme
置き換え忘れただけの変数だ
テーブル名ということでお願いします
0069nobodyさん2008/02/12(火) 00:44:54ID:???
そんなコードを晒すなよ…。
0070nobodyさん2008/02/12(火) 01:02:47ID:???
なぜDBでファイルロック・・・
0071nobodyさん2008/02/12(火) 01:05:47ID:???
あらあら、うふふ
0072nobodyさん2008/02/12(火) 01:07:30ID:wvmjAnme
データベースに追加処理してるんだが

データの行数取得

データの追加

という形でやってるのだが
同時にアクセスがあった場合取得と追加のタイミングで
iが10とすると
1が10という数値を取得して11を追加する
そのときに2も10という数字を読んで同じく11を追加することになるんじゃないのか?
そこでファイルで排他ロックをして終わったらロック解除で自分がロックできない場合は処理を中断というのを想像してたんだが
0073nobodyさん2008/02/12(火) 01:18:43ID:???
テーブルのcountにプライマリキーかユニーク属性つければ重複はないよ
0074nobodyさん2008/02/12(火) 01:19:51ID:???
あぁすまん設定する所は
$tselectテーブルのnoにたいしてな
0075nobodyさん2008/02/12(火) 01:21:35ID:???
てか、そういうのはトリガとかストアドでやると思うけどなぁ
0076nobodyさん2008/02/12(火) 01:24:11ID:???
mysqlのバージョン書いてないからトリガー等に関しては何ともいえないな
0077nobodyさん2008/02/12(火) 01:25:09ID:???
普通serial型使うだろ。
0078nobodyさん2008/02/12(火) 01:26:25ID:???
ALTER TABLE `テーブル` ADD PRIMARY KEY ( `no` )でSQLのほうでの重複は大丈夫になったとは思うんだけど
PHP側でINSERTでリトライさせるには普通に行数取得からINSERTをwhileループでいいのかな?
0079nobodyさん2008/02/12(火) 01:28:44ID:???
というかデータベースの基本的な使い方がわかっていない気がする
0080nobodyさん2008/02/12(火) 01:29:00ID:???
しかし条件によっては無限ループになりそうなwhileとかよく使うねw
0081nobodyさん2008/02/12(火) 01:30:06ID:???
insertをwhile・・・あらあら
0082nobodyさん2008/02/12(火) 01:31:59ID:wvmjAnme
すまない最近触り始めたの最近だからまだまだ分からないことばかりなんだ…
もう一度調べなおしてから書き直してみる

いろいろアドバイスどうもです
0083nobodyさん2008/02/12(火) 01:33:46ID:???
>>82
がんばってください。というかIDがなんか惜しい
0084nobodyさん2008/02/12(火) 02:09:52ID:fBU5wm/g
質問します
file_exists()を使ってるんですけど、絶対に存在してるファイルを対象に
してもfalseが返ってきます
マニュアル見たらセーフモードが関連してるというのでそこも確認したら
OFFになっていて、問題なさそうです
何が原因でしょうか? 
0085nobodyさん2008/02/12(火) 02:19:27ID:???
>>84
ぐだぐだ言わずに(ry
0086nobodyさん2008/02/12(火) 02:59:11ID:???
具体的にどういうコード書いたのさ
それ出したほうが下手に説明するより早い。
0087nobodyさん2008/02/12(火) 03:21:03ID:???
>>84
絶対に間違っていないなら、PHPが動くはず
つまりなにかおかしいか間違っているんだよ

試しにソースと同じところにあるファイルとかで試してみたら?
あとはOSとか環境書くとさらによし。
0088842008/02/12(火) 03:22:15ID:fBU5wm/g
>>85-86 ありがとうございます
$theFile="../../../sample.jpg";
if(file_exists($theFile)){
echo "ファイルあったよ";
}else{
echo "ファイルなかった";
}
これだけです。 指定したファイルが存在してるのは確認済みです。
0089nobodyさん2008/02/12(火) 03:24:06ID:???
>>88
ソースと同じ場所にsample.jpgを置いて。
$theFile="sample.jpg";
で試して味噌
0090nobodyさん2008/02/12(火) 04:29:19ID:???
mb_strcutってバグってね?
echo mb_strcut("あいう",0,2,"UTF-8");
→何も表示されない
mb_substrだったら正常に動作した
php5.2.4だけど
0091nobodyさん2008/02/12(火) 05:18:27ID:???
>>8
0092nobodyさん2008/02/12(火) 08:11:27ID:S5CbnauF
array_uniqueの重複していた値の配列を取得したいのですが
どうするのがいいですか?
0093nobodyさん2008/02/12(火) 08:28:24ID:???
array_diff
0094nobodyさん2008/02/12(火) 08:46:22ID:???
ごめん。こっちかもしれん
array_intersect
0095nobodyさん2008/02/12(火) 08:59:36ID:uKoPznXF
Windowsでの絶対パス
@ file:///c:/xampp/htdocs/Project/require.php
A c:/xampp/htdocs/Project/require.php
B c://xampp/htdocs/Project/require.php

どれが一番正しいのでしょうか。
BだとSmartyのテンプレートディレクトリまでのパスでエラーが生じたので、
Aに直すとうまくいきました
0096nobodyさん2008/02/12(火) 09:05:17ID:???
>>95
dirname(__FILE__);
で表示されるものにあわせればOK
0097nobodyさん2008/02/12(火) 10:42:23ID:???
このスレは優しい人ばかりでだいすきです
0098nobodyさん2008/02/12(火) 10:43:56ID:uKoPznXF
>>96
有賀と御座います。
確認してみたところ、
C:\xampp\htdocs\Project
でした。
0099982008/02/12(火) 10:59:27ID:uKoPznXF
「有難う」の誤変換すみませんorz

ところで、英数字の先頭のみを大文字にするような関数ってありませんでしたっけ・・・?
0100nobodyさん2008/02/12(火) 11:00:52ID:r62/Kn46
原因が分からないため、どこに投稿すれば分からなかったのですが、
何か手掛かりがつかめればと思い投稿しました。

phpでサイトを構築しているのですが、
アクセスログを見ると、不審なログが不定期に記録されています。

たとえば、/foo/index.phpにアクセスがあると、その直後に
数秒間隔で、/index.phpへのアクセスログが数件残ります。

全てのユーザーではなく、全体の数パーセントの人です。
裏でアクセスするようなajaxのような仕組みはありません。
プログラムのミスなのかどうかよく分からないのですが、
どこ当たりがおかしいと思われますでしょうか?
宜しくお願いします。
0101nobodyさん2008/02/12(火) 11:11:54ID:???
>>99
ucfirst
0102nobodyさん2008/02/12(火) 11:14:50ID:uKoPznXF
>>101
有難う御座います。
それでできました〜。
0103nobodyさん2008/02/12(火) 12:10:44ID:nhL1XBd5
レンタルサーバーを借りています。(さくらサーバー:スタンダード)
現在、PHP5が入ってます。

Tidy関数を使いたいと思っているのですが、PHP5の場合、
--With-tidy でコンパイルしたらOKとネットで情報を得たのですが、
いまいちやり方が分かりません。

telnetやSSH経由でサーバにログインして、コマンドを入力する訳ですが、
具体的にどのようなコマンド入力をすれば宜しいでしょうか?
0104nobodyさん2008/02/12(火) 12:13:59ID:???
>>103
共有サーバっしょ?
インストールはむりぽ
0105nobodyさん2008/02/12(火) 12:15:43ID:???
↑根本的に勘違いしてるなw
0106nobodyさん2008/02/12(火) 12:16:07ID:???
リロードすればよかった…
>>104 ごめんw
0107nobodyさん2008/02/12(火) 12:17:47ID:???
流れにワロタ

>>105>>103宛ということだよな
0108nobodyさん2008/02/12(火) 12:49:15ID:???
>>88
絶対パスで書けば動くよ
0109nobodyさん2008/02/12(火) 15:41:59ID:???
>>88 はうちで試したらローカルでもサイトでも動いたから鯖の設定かな。
>>89>>108でいいはず。
0110nobodyさん2008/02/12(火) 16:17:18ID:4oFdYGhc
質問です
<?php

header("Content-Type: text/plain; charset=Shift_JIS");
print"<a href="http://www......jp">サイトへ戻る</a>\r\n";
print"END\r\n";

?>

<a href=></a>がリンクにならないでそのまま
<a href="http://www......jp">サイトへ戻る</a>がページにでてきてしまします。
リンクできるようにするにはどうしたらいいですか?
0111nobodyさん2008/02/12(火) 16:21:10ID:???
>>110
コンテンツタイプがおかしい
0112nobodyさん2008/02/12(火) 16:27:35ID:4oFdYGhc
Content-Type: text/html; charset=Shift_JIS
に、するとエラーになります
0113nobodyさん2008/02/12(火) 16:28:39ID:???
print"<a href='http://www......jp'>;サイトへ戻る</a>\r\n";
てことで
0114nobodyさん2008/02/12(火) 16:29:53ID:???
はなく?
すまん。途中で押してしもた
0115nobodyさん2008/02/12(火) 16:30:31ID:???
違うみたいね。スマネ。
0116nobodyさん2008/02/12(火) 16:32:07ID:???
>>112
「エラーになります」
どのようなエラーが出るか書きましょうね
質問するときの常識です
0117nobodyさん2008/02/12(火) 16:33:41ID:rr+doGz+
>>110
ダブルコーテーションの中にダブルコーテーションがあるからじゃ?

PEARのAuthについて質問です。

document見てやったんだけれどもこれってHTTPの内容見られたら
結局パスワード奪われてダメなんじゃないかと思ったんだが
俺なんか見落としてるんでしょうか?

SSLこれって必要だよね?
0118nobodyさん2008/02/12(火) 16:35:16ID:???
>>117
よくわからんが、大事なデータはURL直下に置かないものなんだぜ
0119nobodyさん2008/02/12(火) 16:36:38ID:rr+doGz+
>>118
スマソ、HTTPヘッダなんだ。
0120nobodyさん2008/02/12(火) 16:38:21ID:???
>>199
SSL使ってやったことないからわかんないけど、
Sessionでの認証を簡略化したものだと思ってるんだけど違うのかな
0121nobodyさん2008/02/12(火) 16:39:10ID:4oFdYGhc
<a href=\"http://www......jp\">でもリンクになりません。
AUの携帯でアクセスしてます。
リクエストされたページは表示できません
と、エラーになります
0122nobodyさん2008/02/12(火) 16:39:51ID:???
>>121
じゃあPCで見てみろ
auでは正規なHTMLでないとページが表示されない
0123nobodyさん2008/02/12(火) 16:41:04ID:???
>>121
つうかheaderで出す意味が分からん
0124nobodyさん2008/02/12(火) 16:45:38ID:4oFdYGhc
携帯サイトなのでAUでみれなきゃ意味ないので。
headerのほかにどんな関数がありますか?
phpが無知識なのでわかりません
0125nobodyさん2008/02/12(火) 16:45:59ID:???
>>110
これでいいと思うが?ヒアドキュメントとか覚えた方がいいよ

<?php
header("Content-Type: text/plain; charset=Shift_JIS");
?>
<html><body><a href="http://www......jp">サイトへ戻る</a>
END</body></html>
0126nobodyさん2008/02/12(火) 16:46:57ID:???
>>124
> 携帯サイトなのでAUでみれなきゃ意味ないので。

意味理解しろ厨房
PHPのデバッグは基本PCブラウザでするんだよ
それすらできないならPHPなんか触るな
0127nobodyさん2008/02/12(火) 16:47:02ID:???
あ”?よく見たら、ヘッダーオカシイじゃんw

header("Content-Type: text/html; charset=Shift_JIS");

だな
0128nobodyさん2008/02/12(火) 16:48:53ID:???
>>127
ちょっと遅れてるから俺が説明しておく

Content-Typeをtext/htmlにしたところauで表示できない
     ↓
しかたなくtext/plainにするともちろんテキストなのでリンクが表示されない
     ↓
text/htmlにしてPCでエラー表示を確認しないといけないがそれをしない


こんな感じ
0129nobodyさん2008/02/12(火) 16:50:39ID:4oFdYGhc
なるほど
試してPCでみてみます
0130nobodyさん2008/02/12(火) 16:51:56ID:???
>>124
headerなんかで出さないでも、自分で書けばよくない?

<head>
<meta http-equiv="Content-Type" content="text/html; charset=Shift_JIS">
<head>
<body>
<?php
print "<a href=\"http://www......jp\">サイトへ戻る</a>\r\n";
print "END\r\n";
?>
</body></html>
0131nobodyさん2008/02/12(火) 16:55:41ID:???
>>130
中途半端にリンクだけPHPでワロタ
0132nobodyさん2008/02/12(火) 16:59:49ID:4oFdYGhc
PCはリンクつきました。AUはそのまんまを出力してしまいました。
130さんのをやってみます。
0133nobodyさん2008/02/12(火) 17:01:16ID:???
メンドクサイから全部HTMLで書いちゃえ
0134nobodyさん2008/02/12(火) 17:02:06ID:???
おそらく原因はauブラウザでサポートされていないHTMLの記述方法だと思うわ
PHPだけでなくWebも初心者と見た

まぁ、わかるんですがね
0135nobodyさん2008/02/12(火) 17:05:48ID:???
HDML端末でした、ってオチだったりして
01361302008/02/12(火) 17:07:12ID:???
>>130
</head>だった。

というか、そもそも本当にsjisで出力してる?
スクリプトの文字コードと併せて、要確認。
0137nobodyさん2008/02/12(火) 17:08:50ID:???
もしかして、headerで文字コード指定すると文字のエンコードも勝手に変わると思い込んでたりして
0138nobodyさん2008/02/12(火) 17:14:47ID:rr+doGz+
>>120
俺もSSL使ったことなくてイマイチ理解してないんだ。

PEARのAuth使ってやったことある人はどのように
認証画面を作成してるんでしょうか?

md5とかで暗号化しても結局その暗号化したデータ送られたらダメな気がするんですが。
0139nobodyさん2008/02/12(火) 17:14:50ID:4oFdYGhc
そのファイルがphpファイルだから <?php で始まって ?> で終わらなきゃ
いけないですよね?
いろいろやってもPCは○だけどdocomo、AUでもエラーでした。
そもそもphpがわからないのでどうにもなりそうもないかな。
ありがとうございますた
0140nobodyさん2008/02/12(火) 17:20:17ID:???
>>138
PEAR::Authは本当にテスト程度にしか使ったことないけど、
全画面にログイン認証を設置して、ログインできていなかったらログインページに飛ばすというシンプルなもの。
0141nobodyさん2008/02/12(火) 17:20:27ID:4oFdYGhc
記述がまちがってました。
130さんの方法でうまくいきました!まじありがとうです!
考えてくれた方々素人しつもんに混乱させてすんません。
0142nobodyさん2008/02/12(火) 17:21:02ID:???
>>138
sslはパケットが暗号化して流れるだけだよ。
使う際に特に意識する必要は無いけど、画像へのリンクをhttpsにしないと怒られるけど。
0143nobodyさん2008/02/12(火) 17:25:35ID:???
ID:4oFdYGhc は何歳だろう。
0144nobodyさん2008/02/12(火) 17:27:33ID:Eov8TJU+
数字が「03」のものを、abs($i)とすると「3」と表示させることが出来ます。

逆に「3」のデータを「03」と表示させる事って出来ないでしょうか?
for($i=0;$i<20;$i++)の時に、10以下は0を付けて表示したいのです。
0145nobodyさん2008/02/12(火) 17:29:15ID:???
SSL使ったことがないって、どんなレベルのやつらが答えてるんだか・・・

PEAR::AuthだろうがSSL使ってないと認証時のHTTP通信覗かれると
パスワード奪われるのは当たり前。
ちゃんとしたければ証明書ぐらい買え。
0146nobodyさん2008/02/12(火) 17:30:06ID:???
>>144
str_pad
0147nobodyさん2008/02/12(火) 17:30:46ID:???
>>145
日曜プログラマに証明書買えとな
01481442008/02/12(火) 17:33:50ID:Eov8TJU+
>>147
str_pad($i,2,0,STR_PAD_LEFT)

で、上手くできました。ありがとうございました。
0149nobodyさん2008/02/12(火) 17:35:38ID:???
>>148
printfもお忘れなく
0150nobodyさん2008/02/12(火) 17:38:20ID:???
証明書ぐらい自前で用意すれば良いやん
日曜プログラマには自前で用意したやつで十分
0151nobodyさん2008/02/12(火) 17:44:12ID:KacNwW2G
あるディレクトリで使っていたクッキーを、ドメイン以下全てで活用したいのですが
if( isset($HTTP_COOKIE_VARS["aaaaaa"]) )
{
setcookie ("bbbb", $HTTP_COOKIE_VARS["aaaaaa"], mktime(0,0,0,12,31,2020), './'); 
//または.aaaa.comと入れてみたり
}
で、移行する事が出来ませんでした
何か気になるところはありますでしょうか?
0152nobodyさん2008/02/12(火) 17:57:38ID:rr+doGz+
>>145
ですよね、やっぱり。
何でPEAR入門とか見ると結構Authが出てくるのか疑問。
これ不完全なセキュリティじゃん。

ありがとうございました。
0153nobodyさん2008/02/12(火) 18:00:10ID:???
>>152
>これ不完全なセキュリティじゃん。
0154nobodyさん2008/02/12(火) 18:09:39ID:???
>>152
いい子だからもう少し勉強してこようね。
01551522008/02/12(火) 18:17:44ID:???
スマソ、別にPEARを責めてるわけじゃなくて解説ページとかを責めてるんだ。
01561512008/02/12(火) 18:27:02ID:???
そもそも"./"、".hoge.com"と追加すると
簡単なカウンターすら動かないですね…あれぇ…

www.hoge.com/aaaa/のクッキーを
www.hoge.com/bbbb/で呼び出したいだけなんですが…ううーん
0157nobodyさん2008/02/12(火) 18:29:52ID:???
確かに152のような解釈をしてしまうような、ろくでも無い解説本が大量にあるのは事実。
0158nobodyさん2008/02/12(火) 18:37:17ID:???
>>156
pathに.はいらん
0159nobodyさん2008/02/12(火) 19:03:40ID:???
>>150
高木先生から脅しを受けるのでいやです><
0160nobodyさん2008/02/12(火) 19:06:03ID:???
$hoge = new Hoge();
$array->each($hoge,"methodName");
→$arrayの各要素にHogeオブジェクトのmethodNameメソッドを適用

こういうことをしたいのですが、
SPLの拡張されたArrayにもそのようなものはないようです
こういうことができるようになるエクステンションなどがあれば教えて下さい
0161nobodyさん2008/02/12(火) 20:36:43ID:???
>>160
array_map
0162nobodyさん2008/02/12(火) 20:40:59ID:???
>>157
そんなので金取ってるやつがいるんだよな。
俺もそう解釈してた時があった。
0163nobodyさん2008/02/12(火) 21:09:29ID:???
セッションを作った際に、セッションが不正だと思われる場合
現在のセッションを新たに作り直したいのですが、下のコードでやると、
次のようなエラーができます。

session_start();
// セッションが不正だったので、新しいセッションを作成する
session_destroy();
session_start();

Fatal error: session_start() [<a href='function.session-start'>function.session-start</a>]: Failed to initialize storage module: user
0164nobodyさん2008/02/12(火) 21:17:47ID:???
>>163
二度session_start()書かなくて良い
0165nobodyさん2008/02/12(火) 21:39:17ID:???
session_regenerate_id
0166nobodyさん2008/02/12(火) 22:50:53ID:qqWX9YxW
PHPにRubyのriみたいなのってない?
0167nobodyさん2008/02/12(火) 23:20:27ID:???
riの機能を説明してくれ。
0168nobodyさん2008/02/12(火) 23:30:22ID:???
このスレで日曜プログラマの人どれくらい?

( ´・ω・)ノ
0169nobodyさん2008/02/12(火) 23:35:27ID:qqWX9YxW
>>167
ドキュメントをコマンドラインから検索できる。
0170nobodyさん2008/02/12(火) 23:40:19ID:???
Perlのpodみたいなやつ?
それならない
0171nobodyさん2008/02/13(水) 00:06:31ID:54ukxXOg
無いのか…
みんなドキュメントはブラウザで見てるのかなあ。
0172nobodyさん2008/02/13(水) 00:30:36ID:???
www.php.net/[function_name]
ってアクセスすれば出るから楽だよ
0173nobodyさん2008/02/13(水) 01:15:39ID:mapjp2bH
PHPのmailではメールが遅れますがPEAR Mailだと送れません。なぜでしょうか、よろしくお願いします。
maillog
localhost postfix/smtpd[3625]: connect from localhost.localdomain[127.0.0.1]
localhost postfix/smtpd[3625]: disconnect from localhost.localdomain[127.0.0.1]
0174nobodyさん2008/02/13(水) 01:27:51ID:???
>>173
postfixの設定
0175nobodyさん2008/02/13(水) 02:29:55ID:???
フォルダをコピーする関数てないよね?
0176nobodyさん2008/02/13(水) 02:34:10ID:???
ない。
システムコマンドを実行するか、再帰処理でゴリゴリやるかしかない。
0177nobodyさん2008/02/13(水) 02:34:48ID:???
サンクス
01781732008/02/13(水) 03:11:28ID:???
>>174 mail関数は送れるのにPEARだと送れない。この違いはなんなんでしょうか。
0179nobodyさん2008/02/13(水) 05:19:34ID:PSygS72K
連想配列を指定したインデックス番号で取り出したい時はどうしたらいいですか?
キー名でなく、「n番目」と指定する形で取り出したいです
0180nobodyさん2008/02/13(水) 07:02:12ID:???
foreach でカウンター使えば?
0181nobodyさん2008/02/13(水) 07:47:56ID:???
yumで入れたPHP5で
ある種のフォント(古いのとか、フリーで配布されているもの)が
imagettftextで文字化けしたり、エラーになったりします。
いろいろ調べたところ、
--enable-gd-jis-conv
のオプションを付けていないのが原因っぽいです。
これを有効にするには、yumで管理するのをあきらめて
ソースからインストールしなおすしかないでしょうか?
0182nobodyさん2008/02/13(水) 07:51:22ID:???
dl
0183nobodyさん2008/02/13(水) 08:35:43ID:???
PHP5といってもバージョンふるいだろうし、
最新のをソースからインストールしたほうがいいとおもふ。
0184nobodyさん2008/02/13(水) 08:51:05ID:s61mWt+C
PHPに限った問題ではないのですが、どこで聞けばいいかわからなかったのでよろしくお願いします。

定数と変数の違いがよくわかりません。
解説サイトなどをみると、富士山は定数だなんていうのをよく見かけます。
しかし遠い未来にもしかしたら別名になってるかもしれないと考えると変数でもいいんじゃないかと思ってしまいます。
そんなこんなで両者の違いがよくわからず・・・
どなたかこんなバカな私が納得できる解説していただける方いらっしゃいませんか?
0185nobodyさん2008/02/13(水) 08:53:49ID:???
>>184
定数は不動な・不動であるべき値を入れるもの
変数は可変的な値を入れるもの
それ以上でもそれ以下でもない
0186nobodyさん2008/02/13(水) 09:20:15ID:???
富士山の名前はドーム球場やビルの名前ほど変わりやすくはないだろう?
そんだけの違い。
富士山の名前も変えたければ変数にすればいい。
ただ、変わることが当分ないだろう名前を変数にする意味があるかどうかは知らない。
0187nobodyさん2008/02/13(水) 09:25:49ID:???
>>184
関数のオプション指定とかでよく定数を使う
例えば

define("TYPE-A", TRUE);
define("TYPE-B", FALSE);

function type($var, $type = TRUE)
{
 if($type === TRUE)
 {
  return "TYPE-Aの{$var}です。";
 }

 if($type === FALSE)
 {
  return "TYPE-Aの{$var}です。";
 }

 return FALSE;
}

echo type("テスト", TYPE-A);

こんな感じで、オプション名を分かりやすくとかかな
0188nobodyさん2008/02/13(水) 09:38:49ID:???
意味は通じるだろうけど定数名にはハイフンじゃなくてアンダーバーじゃないとダメじゃない?
01891872008/02/13(水) 09:50:51ID:???
ごめん、定数なんて滅多に使わないから名前付けわからなかったorz
0190nobodyさん2008/02/13(水) 10:37:39ID:???
boolじゃ表現できないステータスは定数にするなぁ
define("NG", 0);
define("OK", 1);
define("DELETED", 2);
define("CANCELED", 3);
なかんじ
0191nobodyさん2008/02/13(水) 11:53:52ID:???
普段使ってないアヤフヤな状態で教えるなよ。
0192nobodyさん2008/02/13(水) 11:56:19ID:???
誰も教えないより全然マシだろ
0193nobodyさん2008/02/13(水) 12:49:07ID:???
間違った情報教えるよりいいと思うけどw
0194nobodyさん2008/02/13(水) 12:51:10ID:???
何もない→間違った情報→正しい情報

必ずしも正しい情報が手に入るはずがないのは承知だろ
0195nobodyさん2008/02/13(水) 13:27:43ID:???
解答者から貰った解答を検証、または応用を利かすぐらいの事をしないとな…
0196nobodyさん2008/02/13(水) 15:42:39ID:???
基本的に定数って複数人開発で書き換えられないような値を維持したいときだろ。
だから個人で書いてるとあまり存在意義が感じられないんじゃない。
0197nobodyさん2008/02/13(水) 15:54:31ID:???
>>196
クラスで決まった変数を使いたいときとかにつかわね?
0198nobodyさん2008/02/13(水) 16:17:39ID:???
PHPはたのしいんだけどさ
SQL関係でダルくなった・・・
質問しようにもDB板過疎ってるしなぁ
0199nobodyさん2008/02/13(水) 16:29:49ID:???
携帯電話向けのサイトやコンテンツのプレビューサイトを作り
たいと思っています。

1:ブログ的に簡単に記事を投稿できる機能
2:紹介した記事のサイトのURLを簡単にメールで閲覧者に送る
機能
3:拍手ボタン的なユーザー評価システム

の3つを必須要素としています。

これらを満たしたおすすめのBLOGやPHPなどがあれば教えてく
ださい。

更に下記機能が可能であれば理想です。

4:閲覧者が読者登録することによりログイン時はワンボタン
で気に入ったコンテンツのURLを送信できる機能

無料が理想ですが有料サービスでもかまいません。

よろしくお願いします。
0200nobodyさん2008/02/13(水) 16:30:18ID:???
>>199
>>1
0201nobodyさん2008/02/13(水) 16:30:44ID:???
>>198
ああ、俺もそんな時期あったよ
仕事でSQL詳しい奴と組んで色々教わってから、
よほど凝った設計やら最適化が要るサブクエリでも必要にならん限りは手間感じなくなったけど。

そういやDB板ってあるんだな。行った事ねえw
0202nobodyさん2008/02/13(水) 16:35:13ID:???
DB詳しい知り合い・・・まじでほしい
0203nobodyさん2008/02/13(水) 16:37:58ID:???
ORMばっかじゃなくて、SQLはきちんと勉強した方が後々タメになるよ。
普段自分が使うDBだけでもいいんだけど。
0204nobodyさん2008/02/13(水) 16:39:44ID:???
SQLが難しいというより、無駄なSQLを実行しないようにしようとすると、プログラムの構造が
複雑になりがちなのがつらい。
0205nobodyさん2008/02/13(水) 17:26:21ID:w/tgHaTQ
「秒」を「時間/分/秒」に変換するようなものありませんでしたっけ
date("H:i:s", 秒)だと、1970/1/1からの時間になってしまいますよね
0206nobodyさん2008/02/13(水) 17:34:48ID:???
>>205
違う。
time(); とか mktime(); で返って来るのが1970年1月1日からの経過秒数。
だから、date("h:i:s",time()); とやれば、今の時間が返って来る。

てか、マニュアル読めよ。
0207nobodyさん2008/02/13(水) 17:40:46ID:w/tgHaTQ
ごめ、書き方が悪かった
2行目はなしにしてください

秒をカウントしていって、あと●時間と●分と●秒
みたいにしたいのですが、そういう関数はありませんか?
dateだと時間じゃなく日付になります
0208nobodyさん2008/02/13(水) 17:59:59ID:???
>秒をカウント
それを60で割れば分、更に60で割れば時間が出るが
0209nobodyさん2008/02/13(水) 18:00:34ID:???
一度unixタイムにして、そこで引き算してから表示すれば?
0210nobodyさん2008/02/13(水) 18:07:16ID:w/tgHaTQ
$time = 123456;
$hour = floor($time / 3600);
$minute = floor(($time - ($hour * 3600)) / 60);
$second = floor($time - ($hour * 3600) - ($minute * 60));

今はこうしてますが、それを一発で変換するような関数があればと思いました。
自分で関数化させてみます、ありがとうございました
0211nobodyさん2008/02/13(水) 18:47:11ID:euh5fNCJ
SQL使うとき、某セキュ本でサニタイズには addslashes(); 使うのがいい、って書いてあったけど、
本当にこれで十分なの?特にMySQLの場合。

マニュアルには確かに、
"データベースへの問い合わせなどに際してクォートされるべき 文字の前にバックスラッシュを挿入した文字列を返します。"
って書いてあるけど、いまいち不安で仕方がない。
0212nobodyさん2008/02/13(水) 18:52:13ID:f/Ao3h5z
どなたか、>>100は分かりませんか・・・
0213nobodyさん2008/02/13(水) 18:57:41ID:???
>>211
addslashesだと一部のケースできちんとエスケープできない場合があるから不十分だよ。
DB毎に用意されたエスケープ用の関数(mysql_real_escape_stringとか)を使ったほうがいいよ。
0214nobodyさん2008/02/13(水) 19:08:32ID:euh5fNCJ
>>213
ありがとう。
おとなしく、専用関数使うことにします。
0215nobodyさん2008/02/13(水) 19:32:56ID:???
>>213
一部のケースってどんなケース?
0216nobodyさん2008/02/13(水) 19:43:11ID:???
たぶん magic_quotes_gpc が on の時の事じゃないかな。
重複してエスケープされちゃう。
0217nobodyさん2008/02/13(水) 19:47:49ID:???
サアバアの人がPHP5.2とかいうの勝手にしたらしいんですけど
ぼくのさいとのプログラムがうごきなくなりました。助けてください
0218nobodyさん2008/02/13(水) 20:17:57ID:???
>>217
じゃあ君はPHPを元のバージョンに戻すんだ
0219nobodyさん2008/02/13(水) 20:42:02ID:???
>>212
「PHPでサイトを構築」じゃさっぱりわからない。
PHP使ってれば全部そうなんだから。
0220nobodyさん2008/02/13(水) 21:55:05ID:???
php5.25にバージョンアップしたら
今まで動作していたものが動作しなくなりました。

どこで引っ掛かっているか確認したところ
どうやら
mb_send_mailやmb_language("Ja")など
mb_で始まるものが利用出来なくなっているようです。

mb_を利用するにはどうすればよいでしょうか?
もしくは
他に代替となるものがありますでしょうか?

宜しくお願いします。
0221nobodyさん2008/02/13(水) 21:58:52ID:???
>>220
>>1
0222nobodyさん2008/02/13(水) 22:16:21ID:BLl4JBTg
失礼しました。
php5.25にバージョンアップしたら
今まで動作していたものが動作しなくなりました。

どこで引っ掛かっているか確認したところ
どうやら
mb_send_mailやmb_language("Ja")など
mb_で始まるものが利用出来なくなっているようです。

mb_を利用するにはどうすればよいでしょうか?
もしくは
他に代替となるものがありますでしょうか?

宜しくお願いします。
0223nobodyさん2008/02/13(水) 22:20:15ID:mapjp2bH
echo では<a>とかて使えれないの?
0224nobodyさん2008/02/13(水) 22:26:53ID:???
>>222
多分>php.iniで組み込んでないせいだと思うけどこのへんが無いからわからん。
>・ サーバーのOS(Linux、Windows他)、WebサーバーとPHPの種類やバージョン等を必ず明記すること。
0225nobodyさん2008/02/13(水) 22:27:41ID:???
>>223
やってみればわかるんじゃない?
0226nobodyさん2008/02/13(水) 22:33:44ID:???
echoで<a>を「使う」の意味がよく分からん
0227nobodyさん2008/02/13(水) 22:35:10ID:mapjp2bH
echo "<a href="">link</a>";
ってことなんだけど、どうもエラーが出てしまう。<p>ならイケるのに。
0228nobodyさん2008/02/13(水) 22:42:41ID:???
>>227
面白い事してるね。
<a href="">を<a href=\"\">にしてみようか。

とりあえず、参考書を1冊買って熟読する事をオススメする。
0229nobodyさん2008/02/13(水) 22:47:14ID:mapjp2bH
エスケープかー、ありがd
0230nobodyさん2008/02/13(水) 22:52:07ID:???
次からは何をしたいか、実際何をしたか、どういうエラーが出たかを明示しないとだめよ。
0231nobodyさん2008/02/14(木) 01:02:45ID:???
すみません。誰か>>100をお願いします。
しつこくてごめんなさい。
0232nobodyさん2008/02/14(木) 01:18:58ID:???
>>231
スレ違いしつこい
0233nobodyさん2008/02/14(木) 02:06:46ID:???
>>212
自分でアクセスしたときはそうならないならPHPの問題ではないのでは?
特定のユーザというならUser Agentでも調べてみればいい。
スレチガイっぽいのでもう諦めてログなりアクセス解析なりで頑張ってくれ。
0234nobodyさん2008/02/14(木) 02:17:29ID:???
>>231
答えようがないと言ってるだろうに。
HTMLでサイト作ったんですがなんかエラーでますってレベルの質問だぞそれ。
0235nobodyさん2008/02/14(木) 02:34:26ID:fWt27fIe
SQLで複数のレコードをinsertするときに
values以下をつなげて全ての行を同時にinsertする書き方がありますが
PDO(MySQLです)のプリペアードステートメントはどれだけSQL文が長くても問題ないんでしょうか?
0236nobodyさん2008/02/14(木) 03:11:36ID:???
どれだけ長くてもって…、そら限界あるだろw
0237nobodyさん2008/02/14(木) 03:46:35ID:???
javascriptしか使えないブログのページ情報を
PHPを置いてるサーバーにsrcで読み込んで、そのページの情報を取得して対応の
データをサーバーから返したいのですがどういった関数やライブラリを利用すればいいでしょうか?
0238nobodyさん2008/02/14(木) 03:47:53ID:???
>>8
0239nobodyさん2008/02/14(木) 04:10:37ID:???
順番がよくわかんないんだけどサーバから返って来るデータを
javascriptしか使えないブログで表示したいってこと?
GETかPOSTか何かでトリガー作ってやって
それをサーバで受けてスクレイピングして結果をjsonか何かで返してやればいいんじゃねえの?
0240nobodyさん2008/02/14(木) 07:08:49ID:???
>>8
0241nobodyさん2008/02/14(木) 07:33:04ID:1Zo3u+Bq
mb_send_mailを使ってるんですが失敗します
サーバにsendmailとか入ってないんですが
メール送信にMTAは必須ですか?
0242nobodyさん2008/02/14(木) 08:29:36ID:1Zo3u+Bq
postfixインストールしたら受付だけはするようになりましたが
プロバイダのアウトバウンドポート25ブロッキングで送信不可でしたorz
メールを使うテスト環境ってみなさんどうやってますか?
今ほとんどのプロバイダがOP25Bやってますよね?
0243nobodyさん2008/02/14(木) 09:03:24ID:???
>>242
プロバイダのSMTPサーバを経由させる。
0244nobodyさん2008/02/14(木) 09:35:01ID:???
op25b対策としてポートを変える。
または外部のsmtpサーバをアプリケーションレベルで指定する。
0245nobodyさん2008/02/14(木) 10:35:57ID:???
PHPとMySQLってお似合いだよな
PHPも型の指定必要ないし、MySQLもbool型を自動的にINT型に変えてくれるんだぜ?
PGSQLでやろうと思ったら独自で関数作成しなきゃいけないのにな
まぁ、それだから使いやすいんだけどあまりそういうのに頼るのはよくないな
0246nobodyさん2008/02/14(木) 10:52:31ID:???
自分語りウゼェ
0247nobodyさん2008/02/14(木) 11:22:02ID:???
>>235
ここは、phpのスレだからMYSQLのこと聞いても>>236のような何の価値もないレスしかかえってこない。
MYSQLなら「max allowed packet」がSQLの最大長だよ。

しかし、このスレに期待して2日も待ったのに、>>232-234って、全く何も役に立たなかった。
0248nobodyさん2008/02/14(木) 11:47:30ID:???
二日も待つならその時間で調べた方がよほど有益だろうに…
0249nobodyさん2008/02/14(木) 11:59:58ID:???
247が>>100のことを言ってるなら自分のせい。
アクセスログって何?どういうどういう内容のログ?
PHPのサイトって何?PHPでどういう内容でどういうコードを走らせてるんだ?
自分の説明不足でスルーされてるのに気づいてくれ。
0250nobodyさん2008/02/14(木) 12:13:47ID:???
>>100
>どこ当たりがおかしいと思われますでしょうか?
プログラムは書かれたとおりにしか動かないので
自分で作ったならお前自身がおかしい
フリーなものなら設置の仕方がおかしいかそういう仕様

これでいいか?
0251nobodyさん2008/02/14(木) 12:15:33ID:kPTFt31F
テキストの中に
!"#$%&'()-=^~\|,./\;:@[]<>?_+*`{}
が含まれていたら弾きたいのですが、


エスケープがめんどくさいです・・・。


質問じゃないね、ごめん。
0252nobodyさん2008/02/14(木) 12:38:04ID:???
正規表現ではじけば面倒じゃないだろ
0253nobodyさん2008/02/14(木) 12:40:31ID:kPTFt31F
正規表現のときにいちいち\[\]のように処理しなきゃならんのがめんどくさくって、
なかなか実行にうつせない
0254nobodyさん2008/02/14(木) 12:45:52ID:???
めんどいって、一度書くだけだろ?
こんなところに書き込むほうがよっぽど手間
0255nobodyさん2008/02/14(木) 12:50:20ID:???
>>254
確かにw
0256nobodyさん2008/02/14(木) 12:53:28ID:???
ここは相変わらず、ググれば分かる事かエスパーしか分からん事ばっかりだな。
0257nobodyさん2008/02/14(木) 12:57:37ID:???
他の言語に比べたらかなり敷居は低いから
ここで聞くより「○○とは」でぐぐる方が早いはずなんだがなー
0258nobodyさん2008/02/14(木) 14:43:31ID:YYm9cGRI
今ならなんでも答えるぞ
0259nobodyさん2008/02/14(木) 14:45:33ID:kPTFt31F
>>258
PgSQLでも?
0260nobodyさん2008/02/14(木) 14:47:40ID:???
ID:kPTFt31F
お前レベル低すぎだし言ってることが頭悪いからWebから離れたほうがいい
0261nobodyさん2008/02/14(木) 14:49:07ID:???
それ自分にも当てはまってるぞ。
0262nobodyさん2008/02/14(木) 14:49:52ID:???
まぁそう酷いこと言うなよ

みんなこっち行けばいいよ
くだすれPHP(超初心者用)3
http://pc11.2ch.net/test/read.cgi/php/1193295871/
0263nobodyさん2008/02/14(木) 18:07:34ID:ybagCdX8
hoge.html
<p><?php print $hoge; ?>ホゲー</p>

hoge.php
$hoge = 'ほげ';
include('hoge.html'); // $hoge は展開されるが、ホゲーはホゲーにならない
$out = file_get_contents('hoge.html');
$out = mb_convert_kana($out,'k'); // ホゲーはホゲーになるが、$hogeは展開されない

のような<?php 〜 ?>を含むテキストファイルをインクルードしつつ
中の文字列を半角カタカナに変換する方法ってありますでしょうか?
0264nobodyさん2008/02/14(木) 18:24:45ID:???
>>263
何がしたいのかわからんが、

$hoge = 'ほげ';

ob_start();
include("hoge.html");
$contents = ob_get_contents();
ob_end_clean();

$contents = mb_convert_kana($contents, "k", "UTF-8");
echo $contents;
0265nobodyさん2008/02/14(木) 19:01:27ID:???
どうでもいいが
$contents = ob_get_clean();
で一発じゃね?
0266nobodyさん2008/02/14(木) 20:34:50ID:HAPGXi1v
2重投稿などを防ぐ為に
<?
header("Location: index.php");
exit;
?>
を活用していたのですが
headerの前に出力を行なうことになり
使用できなくなりました。

他に2重投稿を防ぐ方法などありますでしょうか?
0267nobodyさん2008/02/14(木) 20:36:29ID:???
重複した物は登録しない。
一定時間待たなければそのIPから登録することはできない。

こんなんでいいの?
0268nobodyさん2008/02/14(木) 20:42:37ID:BZwPXo+u
拡張子がphpのファイルで、
html記述部分の最初に、
<?xml version="1.0" encoding="UTF-8"?>
と書く必要があるんですが、
<? ?>部分がphp記述部分だと認識してしまうため、Parse errorになります
ここはhtml部分だよとわからせるためにはどうしたらいいでしょうか
02692672008/02/14(木) 20:42:48ID:HAPGXi1v
即レス有り難うございます。
重複したものは登録しない
そういえばその方法がありましたね。

IPに関しては社内のものなのであきらめます。
0270nobodyさん2008/02/14(木) 20:50:21ID:???
>>268
http://www.php.net/manual/ja/ini.core.php#ini.short-open-tag
0271nobodyさん2008/02/14(木) 20:54:18ID:BZwPXo+u
>>270
ありがとうございます
助かりました
皆を楽しませるウェブプログラムを作って恩返しします
0272nobodyさん2008/02/14(木) 21:04:58ID:???
>>271
自分はいいことしていると思ってても
まわりは迷惑としか思ってないよ?
02732672008/02/14(木) 21:11:21ID:HAPGXi1v
重複したものは登録しないで検討していたのですが
ユーザが投稿後に更新ボタンを押した場合
「このページを再表示するには、以前送信した情報を再送信する必要があります。
何か購入した場合には、取引の重複を避けるため [キャンセル] をクリックしてください。
その他の場合は、[再試行] をクリックして Web ページを再表示してください」
と出るのですが
これを防いで元のページを表示する方法はありませんでしょうか?

header意外に方法があるといいのですが・・・
0274nobodyさん2008/02/14(木) 21:20:00ID:???
>>267
>>266
>headerの前に出力を行なうことになり
って書いてるけど、その前に一度リダイレクトすれば?
0275nobodyさん2008/02/14(木) 21:22:27ID:???
なんだまだ荒らしいたのか。無視で。

>>273
えーと、リロードしたらそーゆーのは出るし、完全に防げるものじゃないから
同じ情報送られても二度目以降は蹴るようにしてればいいだけよ。
無理にLocationで飛ばさなくてもアンカーで戻るリンク出してるほうがいいかと。
02762672008/02/14(木) 21:27:47ID:HAPGXi1v
>>274
ありがとうございます。
手前でのりダイレクトでやってみます。

>>275
ありがとうございます。
0277nobodyさん2008/02/14(木) 22:23:02ID:???
そもそも飛ばす場合出力する意味がわからない。
どうせ見えないんだから。
0278nobodyさん2008/02/14(木) 23:31:13ID:E6ZjZZkT
GETで値を渡した場合、日本語が文字化けします。
ソースは全てEUC-JPで記述されてます。なぜでしょうか…

0279nobodyさん2008/02/14(木) 23:38:12ID:E6ZjZZkT
追記

POSTだと文字化けしません。
0280nobodyさん2008/02/15(金) 00:11:31ID:???
それってまさかURLエンコードじゃ・・
日本語が英数文字みたいのになるって事?

何がどう化けるのか書いてごらん
0281nobodyさん2008/02/15(金) 00:31:21ID:???
普通GET で日本語を渡さないだろ。エンコードして渡して、
受け取ったらデコードするだろ。

$myheart = urlencode("ココロにダムはあんのかい?");

で渡して

urldecode($_GET['myheart']);

でデコード。

あと、eucより utf-8で作ったほうがいいよ。色々と。
0282nobodyさん2008/02/15(金) 00:49:32ID:???
UTF-8の方がいいって聞くけど、実際どのへんが?
fgetcsvで不具合出るし、UTF-8使うか躊躇してるんだが。
0283nobodyさん2008/02/15(金) 00:57:29ID:???
eAccelerator使ってみましたが、これ凄いですね。
処理速度が倍近くになったし、CPU使用率が導入前と比べて半分位になっている。
今までコードの最適化していたのが、馬鹿らしくなってくる。

こんな感じの最適化でまだありますか?
コードの最適化以外で。
0284nobodyさん2008/02/15(金) 02:01:08ID:???
>>283

ハード面増強w
02852782008/02/15(金) 09:01:30ID:n/8JdduI
皆様ありがとうございます。謝謝

>>280さん
<a hlef="test.php?name=<?= $name ?>">
上記でガルルガブリンコという文字を送ると、送り先で文字化けします。 他の日本語も全て化けます。

>>281さん
試してみます!
あと、私も今までUTFを使ってました。EUCは今回初めてです。
なぜUTFが良いのでしょうか?


0286nobodyさん2008/02/15(金) 09:02:57ID:???
>>282
>>8
0287nobodyさん2008/02/15(金) 09:04:15ID:???
多言語だから
0288nobodyさん2008/02/15(金) 09:05:11ID:???
>>258
urlencode どのタイミングでしてる?
0289nobodyさん2008/02/15(金) 12:41:38ID:???
表示はともかく、DBもスクリプトも普通utfだろ。
0290nobodyさん2008/02/15(金) 16:55:03ID:???
おじさん達に質問。PHPで作れるシステムって何あるの?
0291nobodyさん2008/02/15(金) 16:56:46ID:???
全て。

PHPで作れないシステムなどない
0292nobodyさん2008/02/15(金) 16:58:03ID:???
OSも?
0293nobodyさん2008/02/15(金) 17:03:35ID:???
>>290
PHPよりもPerlを勉強しろ。PHPなんて使えない。
0294nobodyさん2008/02/15(金) 17:09:55ID:???
言語にとって得意不得意があるわけで、作れるからといって作るやつなんていないだろう。
0295nobodyさん2008/02/15(金) 17:18:55ID:???
プロジェクトで仕事してるからムリ。perl使えないヤツ大杉だし。
おまえみたいなサンデープログラマとは違うんだ。
02962832008/02/15(金) 17:19:24ID:???
eAcceleratorを使っていて思ったんだけど、
これを使うと言語間の処理速度って、どれくらいになるんでしょうね?

C言語>eAcceleratorでのPHP>>>>Java>>>>>>>>>>modulePHP>>Perl>>>>cgiPHP

位ですか?
0297nobodyさん2008/02/15(金) 17:21:37ID:???
perl覚えるくらいならruby覚えるよw
0298nobodyさん2008/02/15(金) 17:25:28ID:ySlHYddO
いや、rubyよりPerl。
0299nobodyさん2008/02/15(金) 17:28:02ID:???
いや、普通にVBかJava覚えろよ。
0300nobodyさん2008/02/15(金) 17:31:18ID:???
C#でいいよ。
0301nobodyさん2008/02/15(金) 17:33:05ID:???
やっぱCOBOL
0302nobodyさん2008/02/15(金) 17:34:58ID:???
アセンブリ言語が最強。
0303nobodyさん2008/02/15(金) 17:39:46ID:ySlHYddO
>>302

アセンブリ?(´,_ゝ`)プッ
0304nobodyさん2008/02/15(金) 17:49:52ID:???
LOGOだろ
0305nobodyさん2008/02/15(金) 17:54:12ID:???
フォートランだろ
0306nobodyさん2008/02/15(金) 17:58:33ID:???
お前ら黙れ。
ここはPHPスレだ。
他の言語が素晴らしいなんてくだらないこと言ってる暇あったら学べ。
0307nobodyさん2008/02/15(金) 18:53:38ID:???
>>306
お前つまらないやつだな
最後のほうはどうみてもネタだろ
03082782008/02/15(金) 19:09:29ID:n/8JdduI
encodeとdecodeでうまくいきました。
ありがとうございました。
0309nobodyさん2008/02/15(金) 20:27:56ID:cmSPDLwZ
echo "$val[\"id\"]"; の非は何でしょうか
0310nobodyさん2008/02/15(金) 20:40:44ID:???
>>309
エラーメッセージ、きちんと書きなよ。

クォーティングしなくていい。
echo $val["id"];
どうしてもクオーティングしたいなら、
echo "$val[id]"; とか。
0311nobodyさん2008/02/15(金) 20:40:56ID:???
シングルコーテーションって流行らないの?
みんな使わないの?理由を教えてください。!
0312nobodyさん2008/02/15(金) 20:50:34ID:???
流行る流行らないの問題でないし俺はシングルを使うべきところではシングルを使っている
0313nobodyさん2008/02/15(金) 20:51:58ID:???
基本シングルで、
ダブルはSQLでたまに使うくらい(最近は直接書くことすくないけど)

コーディング規約、クセなどなどで自由やけど
>>309みたいなやつにはとりあえずシングルメインで使えって言いたい
0314nobodyさん2008/02/15(金) 20:57:14ID:???
問題がなければダブルだけどなぜか正規表現のときだけシングル
0315nobodyさん2008/02/15(金) 21:05:57ID:???
ZendFrameworkはこんな感じなんで初心者は参考に
http://framework.zend.com/manual/ja/coding-standard.coding-style.html#coding-standard.coding-style.strings
0316nobodyさん2008/02/15(金) 21:47:01ID:???
>>307
質問じゃないなら雑談スレ池
0317nobodyさん2008/02/15(金) 23:08:11ID:???
Web上で投稿、 それを任意のページにHTMLを生成するサンプルはございませんか?
0318nobodyさん2008/02/15(金) 23:09:38ID:???
>>317
宿題は自分でやりなさい
0319nobodyさん2008/02/15(金) 23:16:19ID:???
アップローダなどでファイルをダウンロードさせるときに
パスワード付きのファイルを直リンのURLでダウンロードできないようにしたいのですがどうすればいいのでしょうか
ネットで無料サンプル探していろいろためしてみたのですが
DLパスワード機能付きのやつでも直接ファイルのURLをいれれば普通にダウンロードできてしまうもんで・・・
0320nobodyさん2008/02/15(金) 23:19:38ID:???
ドキュメントルート外に置くとかDBに入れて読み出すとかあるいはバレないことを祈りつつファイル名を暗号化でもすればおk
0321nobodyさん2008/02/15(金) 23:20:04ID:???
.htaccess じゃダメなの?
03223172008/02/15(金) 23:20:46ID:???
任意のページってのが難しいです・・・
03233212008/02/15(金) 23:21:07ID:???
ごめん、バカだ、俺。
そんなことしたら、ダウンロードができなくなる。
スマソ。
0324nobodyさん2008/02/15(金) 23:21:59ID:???
PHPが読み出してやればDLできるんじゃないの?
まあそこまでいくと本末転倒だが
0325nobodyさん2008/02/15(金) 23:22:36ID:???
> ネットで無料サンプル探していろいろためしてみたのですが
> DLパスワード機能付きのやつでも直接ファイルのURLをいれれば普通にダウンロードできてしまうもんで・・・

そんなの作って公開しているやつのレベルは所詮その程度だなw

0326nobodyさん2008/02/15(金) 23:23:36ID:???
basic認証でもかけとくとか
0327nobodyさん2008/02/15(金) 23:25:14ID:???
>>317
てきとーにつくってやった
条件満たしてるかはしらんw

<?php
if (isset($_POST['hoge']) && $_POST['hoge'] != '') {
 $filename = uniqid();
 $data = '<html><head><title>'.$filename.'のページ</title></head><body>'.
            htmlspecialchars($_POST['hoge']).'</body></html>';
 $ret = file_put_contents($filename.'.html',$data);
if ($ret == false) {
  echo '作成失敗';
exit;
}
echo $filename.'.htmlというページを作成';
exit;
}
?>
<form method="post">
<input type="text" name="hoge">
</form>
0328nobodyさん2008/02/15(金) 23:25:26ID:???
あ、うpろだの保存フォルダにbasic認証は無いかw
phpからストリームで返してやるとかどう?
0329nobodyさん2008/02/15(金) 23:43:21ID:BJFOhqEp
ファイルを読み込んで、その中のタブをすべて削除しようと思い、
以下のようにしたのですが、削除されません。どこがおかしいのでしょうか?

$file = file_get_contents("test.html");
$file = str_replace("\t","","$file");
0330nobodyさん2008/02/15(金) 23:45:23ID:???
>>329
コード全てと元ファイルも見せて
0331nobodyさん2008/02/16(土) 00:39:28ID:???
PHPはじめた5年前くらい
何かと"$file"んな感じに意味なくクヲートしていたことがよくあった。

間違いじゃないけど、見ると恥ずかしい
0332nobodyさん2008/02/16(土) 01:18:58ID:???
まあクオート自体は問題箇所ではないし好みの問題もあろう。
>>329 もうちょい具体的に。特に読み込んだデータと変換後のデータの内容。
03333172008/02/16(土) 02:29:56ID:???
>>327 お返事が遅くなり申し訳ないです。
すばらしい物ができました。感謝です
0334nobodyさん2008/02/16(土) 02:36:00ID:???
>>331-332
クォートで括ったらそれは新しい文字列を生成するってことだ。
変数の内容を展開するオーバーヘッドも発生するし、
何よりそれは文字列リテラルになってしまう為に
参照渡しが必要な場合にはエラーになる。
間違いだし、好みの問題ではない。
0335nobodyさん2008/02/16(土) 02:42:21ID:???
>>334
おまえは目が見えないのか?
0336nobodyさん2008/02/16(土) 02:52:38ID:???
用語を多用すればいいってもんじゃないぞ。
0337nobodyさん2008/02/16(土) 03:51:29ID:???
4→5の移行を商売として行ってる会社があるみたいですが
それが成り立つほど、ゴロっと変わるものですか??

PHP4も、途中で大きく仕様が変わったみたいですが
今PHPで作っても、2〜3年で大規模な修正(=費用)が必要になる??
0338失礼しました。2008/02/16(土) 03:52:17ID:mhfR9vmN
4→5の移行を商売として行ってる会社があるみたいですが
それが成り立つほど、ゴロっと変わるものですか??

PHP4も、途中で大きく仕様が変わったみたいですが
今PHPで作っても、2〜3年で大規模な修正(=費用)が必要になる??

0339nobodyさん2008/02/16(土) 04:03:35ID:???
いやならないよ
0340nobodyさん2008/02/16(土) 04:09:50ID:???
こんばんわ^0^ PHPの仕組みは大体わかったんですが。
PHPってHTMLに埋め込めますよね?
埋め込んだ場合 通常 index.html なのを index.php にする必要がありますね。
それで index.phpにした奴のソースを覗いてみると、 PHPのスクリプトが消えています。
仕様でしょうか?
0341nobodyさん2008/02/16(土) 04:10:31ID:???
>>340
仕様ですよ
03423402008/02/16(土) 04:23:28ID:???
>>341 素早いレスありがとうございす。
またお世話になります
0343nobodyさん2008/02/16(土) 04:24:28ID:???
>>339
ありがとうございます。
PHP4がサポート終了&既にPHP6が開発中(さらに仕様が変わる)
というのを見まして不安になった次第です。

そういったものを見越す力のある開発会社を見極める必要があるのでしょうが
なかなか難しいです。

機能追加を除けば、最低、2〜3年程度は手を入れずにいたいのですが。。
0344nobodyさん2008/02/16(土) 04:36:02ID:???
サポート終了つったってまだphp3で稼働してるとこすらあるし、
あんまり気にしないでいいと思うけどな。
0345nobodyさん2008/02/16(土) 04:38:06ID:???
てか公式のサポートに何を期待してんだかw
0346nobodyさん2008/02/16(土) 04:39:49ID:???
予算が絡むことを2chの意見で決めるあたり
0347nobodyさん2008/02/16(土) 04:47:06ID:???
asp.netにでもしとけば?w
03483402008/02/16(土) 05:29:23ID:???
では、他人のソースを見るにはどうすればよいのでしょうか?
0349nobodyさん2008/02/16(土) 05:39:11ID:???
その人にメールでもしてお願いする
0350nobodyさん2008/02/16(土) 09:14:28ID:???
is_null() と empty() はどうやって使い分けてます?
0351nobodyさん2008/02/16(土) 09:57:27ID:???
nullと""の違いを勉強しやがれ
0352nobodyさん2008/02/16(土) 10:35:14ID:???
まあこの辺かな
http://php.webmeister-jp.com/archives/2005/08/null.php
0353nobodyさん2008/02/16(土) 10:59:48ID:???
ガッ
0354nobodyさん2008/02/16(土) 11:03:18ID:???
PHPをマスターしたら彼女が出来ますか?
0355nobodyさん2008/02/16(土) 11:05:03ID:???
>>8
0356nobodyさん2008/02/16(土) 11:44:19ID:???
PHPで独自の彼女フレームワークを作ればいい
0357nobodyさん2008/02/16(土) 11:48:39ID:???
class kitaku {
  function gohan() {}
  function ofuro() {}
  function watashi() {}
}
0358nobodyさん2008/02/16(土) 12:03:10ID:???
return $ninshin;
0359nobodyさん2008/02/16(土) 12:17:52ID:???
ワロタ
0360nobodyさん2008/02/16(土) 12:57:12ID:???
ずっとループさせといたら・・
0361nobodyさん2008/02/16(土) 13:05:52ID:???
だんご大家族になるな
0362nobodyさん2008/02/16(土) 13:13:26ID:???
修正した
function watashi($condom=false) {}
0363nobodyさん2008/02/16(土) 13:25:20ID:???
http://img.2chan.net/b/src/1203133501303.jpg
0364nobodyさん2008/02/16(土) 15:25:08ID:K3pH787p
例えばconfig.phpとして、$item = file("item.txt");
$num = file("num.txt");としています。

別のファイルで
require("config.php");
$num1 = 〜$numの中に入っているデータの一つ〜
$key = arraysearch($num1,$num);
$title = $item[$key];

こう書いたのですが、$keyがうまく取得できてなくて、
$titleがうまく対応できてません。
どうすれば取得できるのでしょうか?
もしくはもっと良いコードがありますか?


-item.txt-
夏目漱石
樋口一葉
・・・

-num.txt-
natsume
higuchi
・・・
0365nobodyさん2008/02/16(土) 15:39:40ID:???
改行文字がついてんじゃないの。

http://jp2.php.net/manual/ja/function.file.php
FILE_IGNORE_NEW_LINES でどう?
0366nobodyさん2008/02/16(土) 16:11:28ID:???
>>343
2〜3年ならほぼ大丈夫。
5年使うのは厳しいかもしれないけど、
5年も同じの使うの?っていう話。
0367nobodyさん2008/02/16(土) 16:23:15ID:a5LZnn6H
2000年問題…
0368nobodyさん2008/02/16(土) 16:25:53ID:???
>>364
arraysearchがわるいんじゃね?
03693642008/02/16(土) 16:37:33ID:Jf9OUGaE
PCからです、すみません。
>>365
ローカルにあるPHPマニュアルにはそんなオプション無かった・・・
ありがとうございます。

オプション付けたそのままでは機能しませんでしたが、Emeditorで改行をCR+LFからLFに
変えたところ、うまく動作しました。

>>368
重ねてありがとうございます。
0370nobodyさん2008/02/16(土) 17:00:04ID:???
>コンテンツを UTF-8 エンコーディングで返します。 別のエンコーディングを指定するには、独自のコンテキストを作成します。 
>このフラグは FILE_BINARY と同時に使用することはできません。 このフラグは PHP 6 以降でのみ使用可能です。
いやいいんだけど、なら早く出してよ!!
0371nobodyさん2008/02/16(土) 17:08:47ID:???
PHP6と言えば magic_quotes_gpc がなくなるんでしょ。
確かにいらないんだけど、PHP5ではデフォルトで onの機能がなくなるというのは、かなり衝撃的。

ほかにもこう言うのあるの?
0372nobodyさん2008/02/16(土) 17:14:53ID:???
>>371
>>8ここに書いている
0373nobodyさん2008/02/16(土) 17:37:04ID:???
php5では既にデフォルトoffになってただろ?
0374nobodyさん2008/02/16(土) 17:42:35ID:???
マニュアル見ると on みたいだけど、なんか読み間違ってる?

http://jp2.php.net/manual/ja/ref.info.php
magic_quotes_gpc "1" PHP_INI_PERDIR PHP <= 4.2.3 では PHP_INI_ALL。PHP 6.0.0 で削除されました

PHP5.2の php.ini-distも

; Magic quotes for incoming GET/POST/Cookie data.
magic_quotes_gpc = On

ってなってるし。
0375nobodyさん2008/02/16(土) 17:45:02ID:???
すまん勘違いした。register_globalと。
0376nobodyさん2008/02/16(土) 17:51:10ID:???
なんか>>8ばっかりを見るとID厨必死だなーと思ってしまう
0377nobodyさん2008/02/16(土) 19:38:40ID:???
varで変数定義するときに var $a = 10*10 などのように演算した値を代入できないのですがどうすればよいのでしょうか
0378nobodyさん2008/02/16(土) 19:49:35ID:???
>>377
コンストラクタで入れれば?
class hoge {
  var $a;
  function __construct() {
    $this->hoge();
  }

  function hoge() {
    $this->a = 10*10;
  }
}
0379nobodyさん2008/02/16(土) 20:47:30ID:???
>>377
仕様なり
0380nobodyさん2008/02/16(土) 21:08:53ID:???
なんかおかしな仕様ですね?
クラス外で普通に変数定義するときは演算もできるのに
0381nobodyさん2008/02/16(土) 21:11:33ID:???
全然おかしくないナリ
0382nobodyさん2008/02/16(土) 21:17:05ID:???
>>378
何このまわりくどい書き方
0383nobodyさん2008/02/16(土) 21:25:10ID:???
>>378
コンストラクタが2重定義されてるぞ
0384nobodyさん2008/02/16(土) 21:28:30ID:???
>>383
PHP5では__constructが定義されてる場合、クラスと同名のはコンストラクタとは扱われない。
PHP4ではクラスと同名ののみコンストラクタとしてあつかわれる。
0385nobodyさん2008/02/16(土) 21:31:29ID:???
>>378
それならもう
var $a;
$a = 10*10;
でいいじゃまいか
0386nobodyさん2008/02/16(土) 21:37:41ID:???
>>380
http://jp.php.net/manual/ja/migration4.initializers.php
0387nobodyさん2008/02/16(土) 21:41:08ID:???
>>395
出直してこい
0388nobodyさん2008/02/16(土) 21:43:57ID:???
スイマセン。質問です。

PC2Mというスクリプトにあるr.phpにリンクする先のサイズを表示したいのですが、ネット上にあるWebpageに限らずなんでもファイルのサイズをゲットする方法が分かりません。
教えて下さいお願いします。
0389nobodyさん2008/02/16(土) 21:49:44ID:???
>>388
つ「get_headers」
03903882008/02/16(土) 22:34:32ID:???
>>389
$ary = get_headers($_url,1);
$size = $ary[Content-Length];
こんなかんじですか?
ありがとうございます。
0391nobodyさん2008/02/16(土) 22:59:31ID:???
.htaccessに
php_value memory_limit 5M
php_value post_max_size 5M
php_value upload_max_filesize 5M
と書いてphpプログラムがあるフォルダにあげてプログラムを実行したら
サーバーエラー500になるのですが
この鯖ではこの設定はできないってことでしょうか?
0392nobodyさん2008/02/16(土) 23:01:09ID:???
$size = $ary[Content-Length];

$size = $ary["Content-Length"];
だった。orz
0393nobodyさん2008/02/16(土) 23:11:03ID:???
>>391
まずはエラーログ見るのが定石では?
0394nobodyさん2008/02/16(土) 23:17:22ID:???
ていうかそれはPHPの質問なのか?
0395nobodyさん2008/02/16(土) 23:19:35ID:???
エラーログってどこで見れるんですか?
無料のレンタルサーバーなんですが
0396nobodyさん2008/02/16(土) 23:23:55ID:???
>>395
サーバー屋に聞いてください
0397nobodyさん2008/02/16(土) 23:26:12ID:???
無料鯖で勝手に1ファイルあたりのアップロード上限をかえることができたらある意味問題だわな
0398nobodyさん2008/02/16(土) 23:59:31ID:???
PEAR::Auth使ってるんですが、Auth::start()と、ログインフォーム表示関数を分離させることってできますか?

$authobj = new("DB", $params, "funcLogin");
とした場合、
$authobj -> start();
でセッション管理&未認証ならfuncLogin()に適切な引数が与えられてログインフォームが表示されますが、
$authobj->start();
をhtmlの出力前に入れないとログイン時に当然ながら、ヘッダ弄れなかったよーってWarningが出るし、
出力後に書いたら書いたで、フォームの表示が<html>の前になり構造としておかしくなるので困ってます。
このため、start()でセッション管理のみ行い、メタタグなどの出力後に好きな場所でフォームを表示したいなーって思ってます。
0399nobodyさん2008/02/17(日) 00:05:46ID:???
>>387
0400nobodyさん2008/02/17(日) 00:08:46ID:???
>>398
> 出力後に書いたら書いたで、フォームの表示が<html>の前になり

ごめ、意味わからん・・・
どんなソース書いてるのよ?
04013982008/02/17(日) 00:14:57ID:???
>>400
あぅ、間違えた。
×出力後に書いたら書いたで
○出力前に書いたら書いたで

でした。。。(´・ω・)
0402nobodyさん2008/02/17(日) 00:19:22ID:???
それでも意味わからんw

「フォームの表示が<html>の前にな」るアナタの書き方が悪いだけじゃん。
PEAR::Authもstart()も関係ない。
0403nobodyさん2008/02/17(日) 00:46:00ID:???
>>398
ソース晒した方が早いよ
04043982008/02/17(日) 00:53:47ID:???
>>402
うぇwwまじすか。

<?php
print "<html> ・・・(略)・・・<body>";
$authobj->start();
  ・
  ・
  ・
?>
・・・
</html>

ってすれば表示自体は問題ないんですが、>>398に書いたようなheader already sentのWarningが出ちゃいます。

スマートな書き方があれば教えてください。。。
0405nobodyさん2008/02/17(日) 01:00:42ID:???
俺>402だけどPEAR::Authマニュアルのサンプル見て予想がついてきた。

function funcLogin(){
  echo '<form>〜</form>';
}
$authobj->start();
echo '<html>〜</html>';

て流れになって悩んでるのか?

function funcLogin(){
  $flag_login = true;
}
$authobj->start();
echo '<html>〜';
if($flag_login) echo '<form>〜</form>';
echo '〜<html>';

で解決だと思うんだが?
0406nobodyさん2008/02/17(日) 01:07:15ID:???
上のソースはglobal使っていたりで適当だけど、
要は なにもfuncLogin内でHTML出力する必要はない ってこと
04073982008/02/17(日) 01:16:07ID:???
>>403
今のところ(Warningが出るほう)こんなかんじです

$authobj = new Auth("DB", $params ,"funcLogin");print "<html>・・・<body>";

$authobj->start();

if($authobj->getAuth){
  $user = $authobj->getAuth();
  print "ようこそ{$user}さん"
}

function funcLogin($username, $status) {
  if ($status == AUTH_WRONG_LOGIN)
    print "パスワード違うよー<br />";
  print "<form ・・・ ユーザー名とパスワードフォーム・・・</form>";
}

こんな感じのサンプルでよくある感じのです。
04083982008/02/17(日) 01:22:04ID:???
>>405
たびたび入れ違いになって申し訳ないです(´・ω・)

うぉ、まさにそれです!!
確かに関数内でフォーム出力する必要は無かったですね・・・
サンプルで凝り固まってました。この数時間は何だったんだぁ・・・!

本当にありがとうございます。
0409nobodyさん2008/02/17(日) 01:32:21ID:???
根本解決じゃないけどheader already sentを避けるだけならob_startという手もある
04103982008/02/17(日) 01:47:40ID:???
>>409
なるほど。出力バッファってのもあるんですね。これも使えそうです。
参考になりました。ありがとうございます。
0411nobodyさん2008/02/17(日) 04:11:57ID:yKIXzCES
php -a がすぐ死んでしまうんだがどうにかならないか。
$ php -v
PHP 5.2.5 (cli) (built: Feb 16 2008 02:53:14)
Copyright (c) 1997-2007 The PHP Group
Zend Engine v2.2.0, Copyright (c) 1998-2007 Zend Technologies
$ php -a
Interactive shell

php > foo();
PHP Fatal error: Call to undefined function foo() in php shell code on line 1
$
0412nobodyさん2008/02/17(日) 04:19:54ID:???
>>411
エラーがわからないおまえの頭どうにかならないか
0413nobodyさん2008/02/17(日) 04:21:14ID:yKIXzCES
>>412
エラーはわかるよ。
それですぐ終了するのが嫌なの。
0414nobodyさん2008/02/17(日) 04:25:21ID:???
そりゃ終了するだろ
メッセージの意味わかってないんじゃないの
0415nobodyさん2008/02/17(日) 04:27:58ID:yKIXzCES
いや普通対話環境では終了しないだろ…
0416nobodyさん2008/02/17(日) 04:28:37ID:???
>>413
嫌なのって…キモッ
0417nobodyさん2008/02/17(日) 04:40:00ID:???
何その先入観w。
0418nobodyさん2008/02/17(日) 06:57:38ID:???
普通じゃないというよりは、現状取ってつけただけ感の溢れる対話環境だな
0419nobodyさん2008/02/17(日) 07:40:38ID:???
>>415
readlineでconfigureしているのに普通〜とか言ってるんだろ…

アフォかと
0420nobodyさん2008/02/17(日) 11:17:26ID:yKIXzCES
>>419
ん?どういう意味?
0421nobodyさん2008/02/17(日) 13:01:54ID:???
保守用の書き込みスクリプトを作ろうと思います。
プログラミングは初心者です。
普段はマカーなのですが開発はwinでやります。
無料のプログラムソフトをご存知でしたら伺いたいのですが、いかがでしょうか
0422nobodyさん2008/02/17(日) 13:11:33ID:???
無料のプログラムソフトってのが統合開発環境とかのことをさすのであればPHPエディタあたりを使うといい。
個人的にはMacでも使えるしEclipseをおすすめしたいがあれは全くの初心者には何かと難しいと思う。
0423nobodyさん2008/02/17(日) 13:18:14ID:???
>>421
> 保守用の書き込みスクリプトを作ろうと思います。

それは止めてください。
でもプログラミングは頑張って下さい。
0424nobodyさん2008/02/17(日) 13:19:38ID:???
書き込みスクリプトってPHPとかPerlとかで書くより
winやmacの出来合いのプログラム組み合わせて操作のマクロ作るほうがよっぽど簡単だよ
0425nobodyさん2008/02/17(日) 13:21:00ID:???
>>422はやっw
ありがとうございます。全くの初心者なので聞いたことのあるPHPスクリプトなどあさってみようと思います。
>>423 自重します><
週に一度圧縮のある日に使いたくて、、、
0426nobodyさん2008/02/17(日) 13:53:17ID:???
>>425
何をしたいかを書いたほうがもっと有益な回答が得られるぞ
0427nobodyさん2008/02/17(日) 14:03:08ID:???
>>462 2ch保守用のスクリプトです
当初は定時に一行書き込むことを想定していました。
0428nobodyさん2008/02/17(日) 14:35:35ID:???
PHPじゃ無理だろ
Proxy判定されて書き込めないんじゃね?
0429nobodyさん2008/02/17(日) 14:41:41ID:???
>>428
なんで、そこでproxyの話が出て来るんだよw
phpじゃ無理っていうのも完全に的外れだし、
知ったかはどっかいけよ。
0430nobodyさん2008/02/17(日) 14:44:36ID:y+G7p60c
gd に付いて質問。ある特定の文字だけが崩れるんだが、対策解る人いますか?

<?php
header("Content-type: image/png");
$im = imagecreatetruecolor(200, 15);
$dummy = imagecolorallocate($im, 0, 0, 0);
$bg = imagecolorallocate($im, 0, 0, 0);
$c = imagecolorallocate($im, 0, 200, 200);
imagefilledrectangle($im, 0, 0, 199, 14, $bg);
$text = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ';
$font = './slkscr.ttf';
imagefttext($im, 6, 0, 1, 10, ($c * -1), $font, $text);
imagepng($im);
imagedestroy($im);
?>

↓"M" と "N" だけが何故か崩れる…
ttp://sylphys.ddo.jp/upld2nd/pc3/src/1203226898796.png

↓使ってるフォントはコレ
ttp://www.kottke.org/plus/type/silkscreen/
0431nobodyさん2008/02/17(日) 14:52:51ID:y+G7p60c
バージョン書くの忘れた…

PHP 5.2.5
bundled (2.0.34 compatible)
です
0432nobodyさん2008/02/17(日) 15:01:45ID:???
>>429
お前はコンソールからやるつもりなのか?
0433nobodyさん2008/02/17(日) 15:04:05ID:???
>>432
お前何もわかってないだろw
0434nobodyさん2008/02/17(日) 15:12:04ID:???
PHPで書いてプロクシ規制食らうんならブラウザでもそもそも書き込めない。
問題点が違う。
自動書き込みのスパム連投なら規制食らうだろうがそれもまた別問題だし。
0435nobodyさん2008/02/17(日) 17:02:57ID:???
>>434
プロキシ判定がどうやって行われてるのかわかってないだろ
0436nobodyさん2008/02/17(日) 17:10:22ID:???
またレベル低いのが降臨してるな
0437nobodyさん2008/02/17(日) 17:31:10ID:???
>>435
わかってるから言ってる。
PHPに限らんがプログラムで投稿処理するのはブラウザがやってることを自動化してるだけだ。
お前さんこそなんでできないと言い切れるのか説明してみ。
0438nobodyさん2008/02/17(日) 17:55:08ID:???
http://zapanet.info/blog/item/1217

> PHP使ってるヤツらって
> htmlspecialchars($_GET['text']);
> こんなコード書いてる!
> m9(^Д^)プギャー

とありますが、上のコードの何が問題なんでしょうか?
教えて下さい。
0439nobodyさん2008/02/17(日) 18:04:14ID:???
>>438
過去スレ嫁
0440nobodyさん2008/02/17(日) 18:04:20ID:???
438の頭かな。
0441nobodyさん2008/02/17(日) 18:05:52ID:???
頭より腐った性根が問題。
0442nobodyさん2008/02/17(日) 18:48:47ID:???
コードよりもお前の性格がひね曲がっていることが問題だと思う
0443nobodyさん2008/02/17(日) 18:52:02ID:???
そのブログの持ち主に聞いてみたら?
完璧な答えが返ってくるだろうよ
0444nobodyさん2008/02/17(日) 18:53:40ID:???
質問者に難癖つける前に荒らしでしか発散できない自分をなんとかしろ。
0445nobodyさん2008/02/17(日) 19:10:39ID:???
>435
プロキシ判定がどうやって行われているか知っている?

知っているならいってみて。
0446nobodyさん2008/02/17(日) 19:18:00ID:???
BBQ
0447nobodyさん2008/02/17(日) 19:19:13ID:???
オウム返しは自分の手札がない裏付けになるぞ。
いい加減あきらめろ。
0448nobodyさん2008/02/17(日) 19:25:01ID:???
phpから書き込んでみればできるかどうかわかるじゃん。
0449nobodyさん2008/02/17(日) 19:27:25ID:???
荒らしている質問主がよくいうよw
0450nobodyさん2008/02/17(日) 19:30:04ID:???
PHP でつくった 2ch viewer
http://akid.s17.xrea.com/

これみてどう反論するか見ものだw
04514462008/02/17(日) 19:34:54ID:???
あ、>>445は荒らしへのレスか。ごめん勘違い。
言動からして荒らしはそもそもPHP理解してないと思う。
0452nobodyさん2008/02/17(日) 22:48:53ID:???
ポート精査(80 3128 8080がオープンか)
Proxy特有の環境変数の有無
リモートホストが逆引の可否
0453nobodyさん2008/02/17(日) 22:55:53ID:bioqKdBh
PHPからサーバのユーザのパスワードを変更したいのだが、どういう手法が考えられますか?
systemやexecで直接passwdコマンドを叩くわけにもいかない、というかいけないし。。。やはり、DBなんかでワンクッション置いた複雑な仕組みになりますか?
0454nobodyさん2008/02/17(日) 22:57:48ID:???
それはPHPでやることじゃない
0455nobodyさん2008/02/17(日) 22:59:13ID:???
>>452
>ポート精査(80 3128 8080がオープンか)
ちょっと違う。決め打ちでポートをチェックするんじゃなくて、
アクセスしてきたリモートのポート番号でオープンかどうかをチェックするべき
0456nobodyさん2008/02/17(日) 23:12:01ID:???
普通のISPならほとんど逆引きできるし
04574532008/02/17(日) 23:13:30ID:bioqKdBh
無知な質問になると思いますが、、「遠くにあるサーバのユーザパスワードの変更」は暗号化通信を利用しても行うべきではないでしょうか。
またそうならば、サービスの中には、ネット上でパスワードの登録や変更ができるものがありますが、そういったサービスの仕組みってどうなっているのか少しでもよいので是非教えていただきたいです。
0458nobodyさん2008/02/17(日) 23:19:42ID:???
暗号化通信ってSSLのことを言ってる?
04594532008/02/17(日) 23:23:00ID:bioqKdBh
はい。
0460nobodyさん2008/02/18(月) 01:18:02ID:???
SSHか何かでやればいいだろ。。
Webサービスの1ユーザーのパスワード変更と、サーバのパスワード変更じゃ
危険性の度合いが桁違いってことは分かるだろ?
0461nobodyさん2008/02/18(月) 01:28:14ID:???
>>460
SSHでやれば安全で、httpdでやれば危険っていうのは安易すぎるだろ?
セキュリティーとプロトコルの問題を混同しないように。
0462nobodyさん2008/02/18(月) 01:35:41ID:???
SSHでやれば安全とは言わないが、http(s)でやるよかより安全かつ
確実にサーバの遠隔操作が可能だと思うんだが。
既存の確立した技術を使わずに、敢えてhttp(s)を選ぶならそれなりの
理由が必要だが、その理由は今のところ提示されていない。
だからSSHを勧めたわけでプロトコルに論点を移した覚えはないんだが、
君はhttp(s)でやったほうがいいと思うのかい?
0463nobodyさん2008/02/18(月) 01:38:12ID:???
461はphpでssh使ってやると思ってるんじゃないの?

0464nobodyさん2008/02/18(月) 01:52:41ID:???
SSHとhttpsによる安全性の差はともかく、そもそも質問者が言うパスワードがはアプリレベルのものか
OSレベルの物かワカラン。
0465nobodyさん2008/02/18(月) 02:13:24ID:???
>>462
俺がhttpsでやった方がいいと思うかじゃなくて、
元の質問者がweb上で何とかしてやりたいと言っているときに、
SSHでやればいいって全然答えになっていないだろ。
それでやれればそんな質問はしないわけだろうし。

俺もその手の仕様は客から言われたことがあるが、
客にSSH使ってやってくれとはいえないから、
"仕方なく"web上で簡単にユーザーの管理ができるようにしてやった。
web上でも安全に実装する方法はいくらでもある。
0466nobodyさん2008/02/18(月) 02:26:34ID:???
>>465
単に知らずに言ってるだけかもしれないから、客からの依頼だろうと
SSHをまず勧めるけどね。それでどうしてもWebでってのなら、君と
同じく「仕方なく」そういう機能作るだろうけど。

SSHのように仕組みが出来上がってるものと同程度のセキュリティを
Webサービスで実現するには時間やコストがかかるし、単に技量の
違いかもしれないけど、「web上でも安全に実装する方法はいくらでもある」
なんてことは言えないもんでね。
04674532008/02/18(月) 02:33:20ID:otM/IOKB
曖昧な質問をしてしまい、申し訳ないです。
Webからlinuxユーザをサーバに追加したいのですが、その過程でのユーザのパスワードを設定について質問したのです。
今のところPHPでSSHを使うとなると右のような関数を想定しています。ttp://jp.php.net/manual/ja/ref.ssh2.php

ただ、これとは別の問題になるのですが、例えばssh2_execのような関数を使ってpasswdコマンドを打つと、対話形式の入力になるのでうまくいかないという問題もあります。
0468nobodyさん2008/02/18(月) 02:34:09ID:???
では、仕方なくそういう機能を作るという前提で
話を進めましょうか?
04694532008/02/18(月) 02:39:06ID:otM/IOKB
お願いします。m( )m
0470nobodyさん2008/02/18(月) 02:50:25ID:???
ここに似たような話題があるぞ。
http://www.nabble.com/-PHP-users-32869--CentOS%2BPHP-%E3%81%A7%E3%81%AE%E3%80%81%E3%83%A6%E3%83%BC%E3%82%B6%E7%99%BB%E9%8C%B2(%E3%82%B3%E3%83%9E%E3%83%B3%E3%83%89%E5%AE%9F%E8%A1%8C%E3%81%AE%E5%8F%AF%E5%90%A6)-td13744873.html
04714532008/02/18(月) 02:59:50ID:otM/IOKB
>>470 ありがとうございます。これで対話形式の問題が解決できそうです。
0472nobodyさん2008/02/18(月) 05:22:19ID:bug4h3no
$kekka = isset($var);
if(!$kekka){$mes = 'error';}

isset($var) or $mes = 'error';
って書けるのに

$kekka = isset($var);
if(!$kekka){return false;}

isset($var) or return false;
だと
Parse error: syntax error, unexpected T_RETURN
ってなるのはなぜですか?

ちなみに
isset($var) or (return false);
isset($var) or return(false);
でもダメでした
0473nobodyさん2008/02/18(月) 05:27:44ID:???
return isset($var)でおk
04744722008/02/18(月) 05:34:37ID:bug4h3no
isset($var)===trueならその後も処理が続くのでそこでreturnしちゃダメなのです
0475nobodyさん2008/02/18(月) 05:43:36ID:???
じゃ無理です
0476nobodyさん2008/02/18(月) 07:11:58ID:???
PHP5で対象URLのファイルの存在の有無を調べる際にfile_existsを使いたいのですが
調べると0が返ってきます。

fopenを使用すると大丈夫でした。
何か設定が必要なのでしょうか。
0477nobodyさん2008/02/18(月) 07:52:11ID:???
>>472
returnをorのすぐ後ろに書いたコード見たことなんだけど
0478nobodyさん2008/02/18(月) 07:53:32ID:???
bool値が帰ってくるはず
0479nobodyさん2008/02/18(月) 07:57:45ID:???
>>472
returnはそもそも関数などから抜けされるものなのに
returnを何かと比較しようとして扱うのが間違いなんじゃない?
0480nobodyさん2008/02/18(月) 08:10:22ID:???
return isset($var) or false;
でいいじゃん
0481nobodyさん2008/02/18(月) 09:48:38ID:???
>>476
>>1
0482nobodyさん2008/02/18(月) 10:54:23ID:???
mailコマンドで、OSをFedora7からubuntuに変えたら、ヘッダが分割されて、ヘッダの一部が本文に入るようになってしまいました。
いろいろ原因を探ったところ、ヘッダー内の各ヘッダを区切る\r\nという改行を\nにすればよいようなのですが、
これはどこの設定に起因するものなのでしょうか?
phpの設定が以前と何か違うからなのでしょうか?それともpostfix側の設定の問題なのでしょうか?
あるいはOSの設定に変化があったからなのでしょうか?
0483nobodyさん2008/02/18(月) 10:56:44ID:???
きちっと書けば済む問題だろーに

if (isset($var) == false) {
  return false;
}
$kekka = $val;
0484nobodyさん2008/02/18(月) 11:01:53ID:???
>>482
>>1
0485nobodyさん2008/02/18(月) 11:02:04ID:???
>>482
>>8
0486nobodyさん2008/02/18(月) 11:35:53ID:???
>>487
>>486
0487nobodyさん2008/02/18(月) 11:36:15ID:???
>>1000
>>1
0488nobodyさん2008/02/18(月) 11:37:04ID:???
箱を開ける・・・>>485
箱を開けない・・・>>484
0489nobodyさん2008/02/18(月) 12:33:45ID:Ja8roiz2
PHPの開発環境としてeclipseを導入したいと思っています。
all-in-oneのものをインストールして、それに日本語化パッチを当ててみたのですが、
対応していないらしく、2割くらいしか日本語化されませんでした。
どなたか、all-in-oneで日本語化にも対応しているものが落ちているurlを教えて頂けないでしょうか・・・
04904762008/02/18(月) 12:38:55ID:dc24Ag74
>>481

>>476
サーバーOS:Linux
PHP:5
test.php

<?
if(file_exists("http://yahoo.co.jp/index.html")) print "OK";
?>

エラーメッセージ:無し

0491nobodyさん2008/02/18(月) 12:39:57ID:???
>>490
file_existsはパス指定するもんだ
それとローカル内のみだったはず
0492nobodyさん2008/02/18(月) 12:46:17ID:???
>>491 俺は url wrapper で指定したら、php が単に head リクエストしてくれると思ったが…
http://jp.php.net/manual/ja/function.file-exists.php
0493nobodyさん2008/02/18(月) 12:51:06ID:???
>>491
FTPもできるっぽい。
http://jp2.php.net/manual/ja/wrappers.ftp.php

ファイル名が使えるところにURLが使えるんじゃないかって自然に発想できる人が
ある意味うらやましい。fopenで httpとか書かれてると、本能的に身構えてしまう。

>>492
httpラッパは statファミリをサポートしていない。
0494nobodyさん2008/02/18(月) 13:24:52ID:???
>>489
http://mergedoc.sourceforge.jp/
0495nobodyさん2008/02/18(月) 13:28:59ID:???
発想というか仕様だしな
0496nobodyさん2008/02/18(月) 13:34:08ID:???
>>493
> ファイル名が使えるところにURLが使えるんじゃないかって自然に発想できる人が
> ある意味うらやましい。fopenで httpとか書かれてると、本能的に身構えてしまう。

知ってるか? メモ帳だってファイル名にURL使えるんだぜ。
EXCELもな。
0497nobodyさん2008/02/18(月) 13:42:59ID:???
>>496
すげー Σ(゚Д゚) 考えた事も無かった。
役に立つかはともかく、教えてくれてありがと。
0498nobodyさん2008/02/18(月) 13:54:54ID:???
俺様にPHPを教えろ
0499nobodyさん2008/02/18(月) 14:03:01ID:???
御意
0500nobodyさん2008/02/18(月) 15:09:19ID:???
忍びねぇな
0501nobodyさん2008/02/18(月) 16:11:34ID:???
強制有給で暇だ!誰かまともな質問しろ!
0502nobodyさん2008/02/18(月) 16:30:39ID:???
まともってどんなんだよ

Zend Frameworkで苦しんでるが社用物だからコード晒せないしなあ
問題切り分け中だが、切り分け終わったら自分で対応するしなw
お暇ならなんかエスパーしてくれ 「この辺が落とし穴だze」とか
0503nobodyさん2008/02/18(月) 16:34:55ID:???
ごめん、内容を書いてる間に試してたら解決できた
メール送信とDBインサート周りでコケてたのだが、
無駄なクオートがあったのでzend_validationに書き換えたらいけた
スレ汚しすまそ
0504nobodyさん2008/02/18(月) 16:43:35ID:???
>>501
ここまでのログあさって答えてないのを答えてやったらどうだい?
0505nobodyさん2008/02/18(月) 16:44:22ID:F3LP+Vno
>>501
2chのbbsmenu.htmlからカテゴリと板名を分けて抽出したいんだが、
うまい方法が思い付かん。

カテゴリリスト→板名リストと遷移するのが前提。
0506nobodyさん2008/02/18(月) 16:52:58ID:???
REP2とか読んでみるとか。あとCGIだけどiMona
0507nobodyさん2008/02/18(月) 17:09:54ID:???
>>501
俺様にPHPを教えて下さいませ。ご主人様。
0508nobodyさん2008/02/18(月) 17:48:16ID:???
>>507
http://www.php.co.jp/
0509nobodyさん2008/02/18(月) 19:05:43ID:???
すいません
$aaa{0}
ってどういう意味ですか??
$aaa[0]ならわかるのですが。
perlならハッシュのことだというのは分かるのですがPHPでもそうなんでしょうか?
0510nobodyさん2008/02/18(月) 19:06:46ID:LoQffYNU
ふと思ったんですが、PHPのループでsleepを使い掲示板に10秒間隔で1分間に6回書き込むプログラムを作ったんですけど
自分のPCの画面では一分間何も表示されなくて、その後、6回書き込まれた掲示板が表示されます。
別に自分の画面は表示されなくていいんですが、
他の人のPCでこの1分間の間に掲示板にアクセスした場合、表示されるんでしょうか?
あとこの1分間の間に閲覧者が書き込みを行うこともできますか?
その時の書き込みの順番は、自分が6回書き込んだ後に閲覧者の書き込みになるのではなく
ちゃんと割り込んで書き込みできますか?

多分大丈夫だとは思うんですけど心配になったので一応聞いてみました。
0511nobodyさん2008/02/18(月) 19:14:41ID:O2zzThQY
Smartyに関する質問なんですが、
カスタム関数のdefaultを空白('')にして、かつ、もし値があればstring_format(%0.1fなど)して表示するにはどうすればいいですか?(できればif文を使わずに)
現状では、値が無い場合に0.0という表示が必ず出てしまいます。
defaultを先にしても後にしても同様です。
どなたかお願いします。
0512nobodyさん2008/02/18(月) 19:22:26ID:???
>>509
>$aaa{0}
>ってどういう意味ですか??
>$aaa[0]ならわかるのですが。

デバッグしてみればわかるでしょうに。
一緒。
05135092008/02/18(月) 19:33:04ID:???
なんか微妙な違いがあるのかなと思ったのです。
ありがとうございましたm(_ _)m
0514nobodyさん2008/02/18(月) 19:59:27ID:???
プログラム組んだ事無い人がPHPをするのはまずいですか?
まず何からしたら良いのか徹底的に指導願いします
0515nobodyさん2008/02/18(月) 20:00:09ID:???
もちろん Apache PHPはインストール済みです。
0516nobodyさん2008/02/18(月) 20:00:25ID:???
>>8
0517nobodyさん2008/02/18(月) 20:16:36ID:???
>>514
何から、ねえ。
別に公開しなけりゃ好き勝手に遊べばいいんじゃねーの。
てことでローカルホストでwebサーバ走らせる勉強から。レンタルサーバで馬鹿やると恥ずかしいだろうからね

公開サービスを目指すなら、危険性のある事をある程度は把握しといた方がいいな
ttp://www.atmarkit.co.jp/fsecurity/index/index_hoshino.html
なんかがまとまってて判りやすい方かな。
0518nobodyさん2008/02/18(月) 20:21:20ID:???
まずはこのスレのテンプレを見ることだな
0519nobodyさん2008/02/18(月) 20:22:46ID:???
見るんじゃなくて、*読んで* *理解する* 事だね。
0520nobodyさん2008/02/18(月) 20:22:55ID:???
>>514
まずプログラム基礎を理解するために、
ブラウザ以外の特別な環境が必要ないJavaScriptでちょっとしたもの書きながら勉強するのがお勧め。
JavaScriptがある程度理解できれば、その他の言語もある程度わかるはず。
とくに目標がないなら、PHPからはじめることはないからね。
0521nobodyさん2008/02/18(月) 20:32:05ID:???
>>514
このテキストのこの単語がわからないとか、この機能がわからないってのなら説明できる。
でも全部教えては無理よ。とりあえず>>1-8のテンプレ読んで、
あとは「PHP 初心者」あたりでぐぐって出たサイト一通り見てはどうだろ。
05225142008/02/18(月) 20:34:12ID:???
皆さんありがとうございます。
テンプレをじっくり読んできます。
05235142008/02/18(月) 20:38:02ID:YSts7gLU
ID表示しないといけないんですね。
失礼しました。
0524nobodyさん2008/02/18(月) 21:56:26ID:???
>>523
そのまま使うのではなく、自分で考える事が重要だ。
考えずに使ってたらおにいたんがハッキングしちゃうからな。
0525nobodyさん2008/02/18(月) 21:58:41ID:???
>>513
一緒じゃねーぞ
波括弧は文字列のオフセット指定
0526nobodyさん2008/02/18(月) 22:00:21ID:???
ハッキングwww
0527nobodyさん2008/02/18(月) 22:08:27ID:???
すみませんPOSTで送られてきたデータを変数に取り込むために

$HENSU[$a] = "".$_POST["$HENSU[$a]"]."";

↑の様に記述したのですが取り込むことが出来ません
具体的にどのようにすれば解決できるのかご教授お願いいたします
(※$aは1〜30まであります)



0528nobodyさん2008/02/18(月) 22:10:05ID:???
すみません変数の部分を書き換えるときに癖で$をつけてしまいました

正しくは

$HENSU[$a] = "".$_POST["HENSU[$a]"]."";
↑で取り込めません
0529nobodyさん2008/02/18(月) 22:10:32ID:Cm9tgJOR
上げ忘れ
0530nobodyさん2008/02/18(月) 22:14:01ID:???
>>527
extract($_POST);
var_dump($HENSU);
0531nobodyさん2008/02/18(月) 22:21:55ID:xGg4BipF
マルチバイト文字列のバイト数を求めるにはどうしたら良いのでしようか?
確実にstrlenがコールできるなら良いのですが
strlenはmb_strlenに置換されてたりする場合があるかと思うので、
とても不安です。
0532nobodyさん2008/02/18(月) 22:22:14ID:???
>>530
ありがとうございます
それを元に頑張ってみます
0533nobodyさん2008/02/18(月) 22:29:16ID:YSts7gLU
>>524
マニュアルをコピペしてそれを使うなという事でしょうか?
0534nobodyさん2008/02/18(月) 22:37:00ID:???
意味を理解した上でなら構わないよ
0535nobodyさん2008/02/18(月) 22:56:36ID:???
>>520
JavaScriptとPHPどっちが難しいと言われればJSのが難しかったなw
あれ色んな記述ができすぎるからプログラム初心者には向かないんじゃね?
0536nobodyさん2008/02/18(月) 23:02:24ID:???
PHPはオブジェクト指向が加わると難しくなる
言語の難易度はポインタとオブジェクト指向で決まる
0537nobodyさん2008/02/18(月) 23:05:36ID:???
>>535
JavaScriptはクラスが入ると混乱してくるよね。
0538nobodyさん2008/02/18(月) 23:07:59ID:???
JavaScriptでクラス?
ActionScriptじゃないのかそれ
0539nobodyさん2008/02/18(月) 23:13:39ID:???
>>538
JavaScriptに new というキーワードがあるの
しってるよね?
0540nobodyさん2008/02/18(月) 23:19:00ID:Ez7ZH7Qx
JavaScriptはクラスベースじゃない。
newがあるとか関係無いから。
0541nobodyさん2008/02/18(月) 23:23:05ID:???
>>539
所謂現状のJavaScriptはプロトタイプベース言語であってクラスベースじゃねーよ

もちろん仕様三版にもクラスって言葉は出て来るけどクラスベースな言語で言う「クラス」としてじゃない。
classって言葉自体は単なるFuture Reserved。

2.0仕様がクラスベース言語として生まれ変わるバージョン。
タマリンや、ある意味での先行実装であるActionScriptが参考になる
0542nobodyさん2008/02/18(月) 23:24:55ID:???
本気でいってるの?
JavaScriptはオブジェクト指向言語なんだけど。
0543nobodyさん2008/02/18(月) 23:26:53ID:???
だからオブジェクト指向言語=クラスベース言語じゃねえ!w
0544nobodyさん2008/02/18(月) 23:30:47ID:???
基本的なこと学ぶだけならなんだっていいんじゃね?
ブラウザによっては動かなかったとしても、おおまかなことが学べればいいんだし。
変数の使い方、関数やオブジェクトの使い方、条件処理、ループ処理なんかの基礎的なことができれば。
0545nobodyさん2008/02/18(月) 23:35:35ID:xGg4BipF
いや、だからそんな自転車小屋の議論は良いから
strlenを確実に呼び出すにはどうしたらいいの?
っていうか

$foo="まこ"
$cnt=0;
while($foo as $dummy) { $cnt++;
0546nobodyさん2008/02/18(月) 23:38:51ID:???
ちょ、新言語作るなw
0547nobodyさん2008/02/18(月) 23:40:29ID:???
JS使いにはすごい引っかかる話題だけど、スレ違いなのよね
0548nobodyさん2008/02/18(月) 23:41:49ID:???
>>545
>>1
0549nobodyさん2008/02/18(月) 23:46:03ID:???
雑談は雑談スレ池。
0550nobodyさん2008/02/18(月) 23:48:14ID:???
>>549
>>1
05515312008/02/18(月) 23:50:28ID:???
取りあえずこれで解決することにしました
お邪魔したし真下

<?php
function strbyte($str) { $cnt=0; while($str[$cnt]) {$cnt++;} return $cnt; }
$foo="マ○コabdアの川流れ"; $encs = array('sjis-win', 'eucjp-win', 'utf-8');
foreach ($encs as $enc) { var_dump(strbyte(mb_convert_encoding($foo, $enc, 'sjis-win'))); }
05525142008/02/19(火) 00:05:59ID:OsGt77+r
関連サイト全部見てきました。
次から次へと新しい事を発見してキリがないなっ!と思いました。

某所でアップロードプログラムはセキュリティに気をつけてくださいってのがいまいち理解できなかったです。
今日は寝ます。ありがとうでした。
でわ
0553nobodyさん2008/02/19(火) 00:17:27ID:???
>>531
>strlenはmb_strlenに置換されてたりする場合があるかと思うので、
これホント?
0554nobodyさん2008/02/19(火) 00:25:27ID:???
>>553
>>531 じゃないけど、そうらしい。
http://jp2.php.net/manual/ja/ref.mbstring.php#mbstring.overload
0555nobodyさん2008/02/19(火) 00:26:17ID:???
>>553
http://jp2.php.net/manual/ja/ref.mbstring.php#mbstring.overload
05565312008/02/19(火) 00:31:38ID:???
>>551ではうまく行かなかったです
これでいいっぽいです
失礼しました
http://jp2.php.net/manual/ja/ref.mbstring.php#55832
function str_sizeof($string) {
return count(preg_split("`.`", $string)) - 1 ;
}
05575532008/02/19(火) 01:15:18ID:???
へえぇぇ
知らなかった。ありがとう。
0558nobodyさん2008/02/19(火) 01:28:40ID:???
>>556

return count(preg_split("`.`", $string)) - 1 ;

rerurnの後のいろいろ処理を付け加えるのは美しくない!
見にくい!

count関数の中に関数いれるのは
処理が重くなる、美しくない

何でもかんでも1行プログラミングにするな!

コーディングで考える優先順位

1.負荷
2.見やすさ

俺ならこう書く

$string = preg_split("`.`", $string);
$string_count = count($string)-1;
return $string_count;
0559nobodyさん2008/02/19(火) 01:33:35ID:???
>>558
公式に書いてあるのはそれがシンプルだってことじゃない?
いちいち変数に入れる方が無駄だと思うし、処理を一括できるほうが美しいと思う。
処理の意味も関数名でわかるし。
0560nobodyさん2008/02/19(火) 01:33:39ID:???
この場合は1行で正解だろ常考
0561nobodyさん2008/02/19(火) 01:41:14ID:???
>>559
これで速くなる(負荷が軽くなる)理由がわからん。
0562nobodyさん2008/02/19(火) 01:42:28ID:???
>>561 訂正
>>559>>558アンカーミス。すんません。
0563nobodyさん2008/02/19(火) 01:50:02ID:???
中間言語に置き換えるときに最適化みたいなのが動いて
実際の実行時は同じってことはないのかね??

といいつつも、複雑な1行だと却って構文解析?の時間がかかりそうな気がする
オレがいる。
0564nobodyさん2008/02/19(火) 01:59:27ID:???
俺もわざわざ変数増やすのがキモくて無駄に感じるなあ
括弧連鎖が嫌なら複数行に開くし。

スコープ次第では実行時解釈で縮まるんだろうかね。
0565nobodyさん2008/02/19(火) 02:03:15ID:???
string_countて見やすくて分かりやすくていいねw
05665582008/02/19(火) 02:15:19ID:???
チームで作業したことのない
低脳土方職人にはわかるまい
わかりやすい変数にいれて、みやすくしても処理速度は0.000001秒くらししか変わらん
見にくいコードにによる全体的な作業ロスを考えろ
俺はチーム作業が多いから
見易さ重視になってるし
みにくいコードにわかりやすくコメントまで付けてるよ

0567nobodyさん2008/02/19(火) 02:15:48ID:???
大抵はオーバーロードされてないんだろうが絶対じゃないのはすっきりしないな。
そのために正規表現で分割してその数カウントしてバイト出すするなんて無駄にも程がある。
05685582008/02/19(火) 02:18:32ID:???
関数の中に関数を沢山いれるのはみにくい
最高でも2個くらいまでにしてくれ
0569nobodyさん2008/02/19(火) 02:19:04ID:???
可読性をそんな自慢げに言われても困る。
そんなことはいちいち言うことじゃない。基本だ。
そして、>>558は可読性の面においてもあんまり必要ないんじゃないの?って話だ。
自分のルールに反論されたからって喧嘩腰で返すのは子供だ。
0570nobodyさん2008/02/19(火) 02:22:53ID:???
retrun の後はできるだけ
返り値が一目で判断できる変数名にして欲しい
05715582008/02/19(火) 02:26:46ID:???
自分だけわかるコード書くと上司がため息つくんだよ
簡単にいえばバカでも、すぐわかるようなコードじゃないと
作業効率は落ちるんだよ
0572nobodyさん2008/02/19(火) 02:28:42ID:???
だからさ、自分トコのルールを全世界共通みたいに言われても困るって。
そーゆー書き方もアリだけど、一行で書くのもアリなの。
んなことでむきになってどうすんの。
05735582008/02/19(火) 02:32:31ID:???
自分トコのルールじゃないよ
複数人で共同作業すれば、どこでも同じ
ベストは誰が見ても一目でわかるコード
負荷がかからないなら、できるだけわかりやすいコードにした方がいいよ
0574nobodyさん2008/02/19(火) 02:38:33ID:???
どこでも同じなのは読めるソースにしようって部分だろ。
return の後を変数にするか関数で一行で書くかは場合によりけり。
一行で書けるコードをわざわざ代入連発するより、一行で書いてコメント添えるだけでも通じる。
負荷が少ないからといってリソース使いまくっていいわけでもない。
俺ルールの押し付けもほどほどに。あともうこの話題はスレ違い。
0575nobodyさん2008/02/19(火) 02:39:57ID:???
>>558
夜遅くまでご苦労様
とだけ言っとく
0576nobodyさん2008/02/19(火) 02:41:14ID:???
>>559
同意。全然汚くない。
これが汚いのならPEARのソースは悲惨なことになる。
百歩譲って見にくいというなら、俺ならpreg_match_countとか新しい関数を定義し
return preg_match_count($str, "`.`");
とする。
チームがどうとか上司がどうとか誰も聞いていないし聞きたくない。
そんなに見にくいならLispでも覚えるか、新しい眼鏡買ったらいいんじゃね
05775582008/02/19(火) 02:48:05ID:???
>>574
趣味でサイト作りするなら
オナニーコード書いてる方がいいかもね
他人から見たオナニーコードほどきもいもんんはないよ
俺は相手を気遣ってコードを書いてるから
どうしても複雑なコードになってしまうときは
かなりわかりやすくコメントを書くよ
0578nobodyさん2008/02/19(火) 02:50:39ID:???
ああ、なんだいつもの荒らしか。
0579nobodyさん2008/02/19(火) 02:51:01ID:???
まぁ>>556が見にくいとか言うヤツとは一緒に仕事したくないな…
05805582008/02/19(火) 02:52:03ID:???
俺もたまには気持ちよくオナニーコード書きたいよな
0581nobodyさん2008/02/19(火) 02:53:32ID:???
まだやってんのかw。
05825582008/02/19(火) 02:54:39ID:???
自由気ままにコーディングできるっていいなあ
0583nobodyさん2008/02/19(火) 02:55:25ID:???
数日おきに荒らしにくるなこいつ。
まあ放置だ。今回はNGしやすい。
05845582008/02/19(火) 02:56:58ID:???
返り値を関数で返されたら一目でわからないからダメだ
しかも俺俺関数で返しやがったら最悪
0585nobodyさん2008/02/19(火) 03:14:28ID:???
関数か分からないんですね
05865582008/02/19(火) 03:49:50ID:???
$string = preg_split("`.`", $string);
$string_count = count($string)-1;
return $string_count;

1.見やすい
2.コード拡張しやすい


return count(preg_split("`.`", $string)) - 1 ;

1.見にくい
2.コード拡張しにくい

ちょっとしたコード拡張のために
わざわざ分解しないとけいない時間ロス
05875582008/02/19(火) 03:59:21ID:???
本来ならこう書くけどね

function str_sizeof($string) {
$string = "";
$string_count = 0;

$string = preg_split("`.`", $string);
$string_count = count($string)-1;
return $string_count;
}
05885582008/02/19(火) 04:00:51ID:???
間違えた
function str_sizeof($string) {

$string_count = 0;
$string = preg_split("`.`", $string);
$string_count = count($string)-1;
return $string_count;
}
0589nobodyさん2008/02/19(火) 04:32:57ID:???
しつこいわ。もう寝ろよ。
0590nobodyさん2008/02/19(火) 07:13:14ID:???
558に一票だ。
短く書いたら処理速度も速くなると勘違いする初心者が多くて困る。
0591nobodyさん2008/02/19(火) 07:20:51ID:???
>>586
$string = preg_split("`.`", $string);
$string = count($string)-1;
return $string;



$string = preg_split("`.`", $string);
return count($string) - 1 ;
05925312008/02/19(火) 07:35:36ID:???
>>566
すまん
スレだから短くしてただけで
普段はわかりやすい名前の変数に代入しまくりだよ
あと、>>556のコードはコピペだ
05935142008/02/19(火) 08:00:00ID:OsGt77+r
おはようございます。
0594nobodyさん2008/02/19(火) 08:27:59ID:???
どこに逝っても人間臭いスレはあるもんですね。
0595nobodyさん2008/02/19(火) 09:26:39ID:???
俺も558に1票だな
returnにはあんまり書きたくないな
0596nobodyさん2008/02/19(火) 10:15:05ID:???
荒らし頑張ってるなぁ。
0597nobodyさん2008/02/19(火) 10:27:12ID:???
PHPの変数への代入速度の遅さ知らないのかな?
ループ処理する場合は代入した方がはやいけどね。
0598nobodyさん2008/02/19(火) 10:38:21ID:???
そもそも難癖つけたいだけだからほっときなさい。
本当に仕事でやってる人がチームだの上司だのもっともらしい言葉使ってるけど出してる技術は低レベルだし
低脳土方、オナニーコード、他の方法全否定、暴言連発で仕事でやってる人の言葉じゃないのは丸わかりでしょ。
0599nobodyさん2008/02/19(火) 10:44:02ID:???
荒らし特有の連投と自演もだ。
0600nobodyさん2008/02/19(火) 11:02:23ID:???
558に加担するわけじゃないけど
returnにあれこれ長い処理してるコードは
あまりみないよ
ルールとして決まってるわけではないけど
returnのあとの処理は1関数(オブジェクト経由あり)、1変数が多いね
0601nobodyさん2008/02/19(火) 11:03:45ID:???
558の場合は言い分じゃなく完全に荒らし化してる言動や連投がまずいんだ。
0602nobodyさん2008/02/19(火) 11:07:29ID:???
で、可読性はともかく、負荷は軽くなるの?
0603nobodyさん2008/02/19(火) 11:11:56ID:???
変数を多様すればコードはみやすくなる

変数を使わないとコードはみにくい(関数の中に関数が深く入り込むコードになる)

if文の中にif文が何個も深く入りこむコードと同じ。みにくい
0604nobodyさん2008/02/19(火) 11:13:03ID:???
>>602
当人も負荷の増加が小さいから無視していいと言ってるだろ。
逆に言えば、増えることはあっても減ることはない。
コードすべてに1行で済むのを5行10行と増やしてどうなるかは言うまでもないでしょう。
0605nobodyさん2008/02/19(火) 11:15:16ID:???
>>602
負荷と生産性どっちを優先するかは
プロジェクトによって違う

生産性の高いコードなら可読性
PHP使うくらいだから生産性の高いプロジェクトでコード書くことが多いだろう
0606nobodyさん2008/02/19(火) 11:20:11ID:???
新しくプロジェクト参加した人は可読性のいいコードがいいだろうな
解析時間が短縮される
毎度毎度、1行プログラミングに自己満足されるコードは勘弁
0607nobodyさん2008/02/19(火) 11:22:09ID:???
バグ探しも可読性が有利だよな
0608nobodyさん2008/02/19(火) 11:23:35ID:???
>>604,605

>>558
>count関数の中に関数いれるのは 処理が重くなる

って書いてあるけど、これは間違ってことでOK?
0609nobodyさん2008/02/19(火) 11:26:33ID:???
>>608
ループ処理のこといってるんじゃない?

for($i=0;$i<=count($a);$i++)
重い

$a = count($a);
for($i=0;$i<=$a;$i++)
軽い
見やすい
0610nobodyさん2008/02/19(火) 11:27:31ID:???
どっちにしろコメント添えるなら >>591 で足りるな。
それに >>588 のコードが否定されてるんじゃなく「それもあり」という前提になってんのに
自分のだけを認めろと連投で大騒ぎする588自身が否定されてるだけだしな。
0611nobodyさん2008/02/19(火) 11:29:05ID:???
>>608
>>609だと毎回コールされるからね。
だから別に関数内にいれようがコール1回なら重くならない。
0612nobodyさん2008/02/19(火) 11:31:18ID:???
an httpdを使ってXP上でテストをしてるんですが
この時にgetenv('SERVER_NAME')を取得するとコンピュータ名が返るのは仕様ですか?
後、スクリプトのパス自身を取得したい場合は
"http://".getenv("SERVER_NAME").getenv("SCRIPT_NAME") でいい大丈夫でしょうか。
0613nobodyさん2008/02/19(火) 11:33:20ID:???
>>609
それは「count関数を何度も呼び出せば遅くなる」であって
「count関数の中に関数いれるのは 処理が重くなる 」からではないよね。

単に >>558が間違ってるだけなら、それで良いです。どうもありがと。
06145582008/02/19(火) 11:33:46ID:???
>>612
"http://"
なんで " でくくるんだよ!
'http' だろうが

"よりも’の方が早いんだよ
06156122008/02/19(火) 11:35:35ID:uMI3ux4S
>>614
それは今回の挙動に関係あるんですか?
0616nobodyさん2008/02/19(火) 11:37:03ID:???
>>615
聞く相手を見分けるのもプログラマとして必要な資質だと思う。
0617nobodyさん2008/02/19(火) 11:38:36ID:???
ループの中にcount入れても毎回コールされるなんてことはなくて別に重くならない
って結論前に出てなかったっけ?デジャブ?
処理を軽くする10の方法みたいなところで取り上げられてていろいろ突っ込み入って
結局有意な差は出ないってなってた気がするんだけど
06185582008/02/19(火) 11:38:36ID:???
>>615
俺の考えの何が正しくて間違いなのか
ここで書くとよくわかるからさ。それだけだ
06196172008/02/19(火) 11:40:44ID:???
ループの「条件の」中に だった
ループの「中身の」中に入れたら毎回コールされなきゃだ
0620nobodyさん2008/02/19(火) 11:41:43ID:???
>>619
条件文は毎回評価されないとおかしくないか?
0621nobodyさん2008/02/19(火) 11:42:23ID:???
>>618
それは今回の
0622nobodyさん2008/02/19(火) 11:44:07ID:???
条件の中にcount入れたら毎回コールされなきゃおかしいでしょ?
でも実際そんなにパフォーマンスは変わらん。何万回も回すなら別だけど。
0623nobodyさん2008/02/19(火) 11:47:56ID:???
コードの行数が長くなることが嫌なやつは
rubyの方がいいんじゃない
わかりやすい変数つかわなくても、いりくんだ関数も一目でわかるよ
06246172008/02/19(火) 11:52:50ID:???
12 PHP optimization tips - alex.moskalyuk
ttp://www.moskalyuk.com/blog/php-optimization-tips/1272
とその日本語訳がらみでツッコミ入ってた気がするんだよ。思い出せないけど。でも

パフォーマンスのためにPHPのfor文でcountを使うべきではない
ttp://paranoid.dip.jp/kaworu/2008-01-28-2.html
ってのも見つけたし俺の勘違いだったみたい
0625nobodyさん2008/02/19(火) 11:56:33ID:???
関数の中に関数がはいる言語使用がクソなんだ
rubyみたいに
関数.関数

で呼べれば見やすい
0626nobodyさん2008/02/19(火) 11:58:35ID:???
>>624
でなおしてこい!
おまえにPHPなんぞ使う資格はないわw
0627nobodyさん2008/02/19(火) 12:01:07ID:???
>>624
下のURLのやつ、個数が増えると何で差が少なくなるんだろうね。不思議。
$array[$i] で $i の値が大きくなるとアクセスが遅くなるのかな。
0628nobodyさん2008/02/19(火) 12:04:21ID:???
パフォーマンスのためにPHPのfor文でcountを使うべきではない

常識
06296172008/02/19(火) 12:08:30ID:???
PHP Benchmark tests
http://www.php.lt/benchmark/phpbench.php
こっちだと事前に計算しておけば9倍速い ってなってるけどね
0630nobodyさん2008/02/19(火) 12:10:41ID:???
全角厨には言われたくないなw
0631nobodyさん2008/02/19(火) 12:24:36ID:???
>>612
$_SERVER見るのが定石。
とりあえず var_dump($_SERVER) してみれば

http://jp.php.net/manual/ja/reserved.variables.php#reserved.variables.server

0632nobodyさん2008/02/19(火) 12:41:50ID:???
>>628
えっ?
PHPってそんな情けない言語なの?

それじゃMatzが糞言語というのも理解できるなぁw
0633nobodyさん2008/02/19(火) 12:46:21ID:???
ていうかこんな低級な議論をしている言語ってPHPくらいだよね。冗談抜きにしてさ。
0634nobodyさん2008/02/19(火) 12:48:50ID:???
もう完全にスレ違いだしそろそろ落ちつけ。
0635nobodyさん2008/02/19(火) 12:54:42ID:???
PHP使ってるヤツは自分が正しいと思ってる。
0636nobodyさん2008/02/19(火) 12:55:03ID:???
>>635
参考になる
0637nobodyさん2008/02/19(火) 12:56:50ID:???
>>633
PHPはそれなりに好きだが同意。
0638nobodyさん2008/02/19(火) 14:25:30ID:rf+/c0h3
$uho = array("アルファベット","ひらがな","漢字");
$uho[0] = array("A","B","C");

print $uho[0][1];//B

のように現在記載していますが

$uho = array("アルファベット","ひらがな","漢字");
$uho[0][] = "A";
$uho[0][] = "B";
$uho[0][] = "C";

print $uho[0][0];

のように記述したいのですが何も出力されません。
何か他に記述法はありますか?
0639nobodyさん2008/02/19(火) 14:30:52ID:???
>>638
>$uho = array("アルファベット","ひらがな","漢字");
の意味がよくわからんけど

$uho[0] = array();
$uho[0][] = "A";
$uho[0][] = "B";
$uho[0][] = "C";

print $uho[0][0];
ではだめなん?
0640nobodyさん2008/02/19(火) 14:33:55ID:???
>>638
ini_set('display_errors', 'on');
$uho = array("アルファベット","ひらがな","漢字"); 
$uho[0][] = "A"; 
$uho[0][] = "B"; 
$uho[0][] = "C"; 
print $uho[0][0]; 
0641nobodyさん2008/02/19(火) 14:39:24ID:???
無視するのが正解だろ
低級な議論を持ち出す奴は中の人が低レベルということでFA出ている
0642nobodyさん2008/02/19(火) 14:41:09ID:???
まだいたのか。
06435142008/02/19(火) 14:44:42ID:OsGt77+r
どうも。プログラミング暦2日目です。

$stop_word=array('ボケ','死ね','馬鹿');
$num=count($stop_word);
for($i=0;$i<$num;$i++){
if(strstr($message,$stop_word[$i])==true){
print("禁止語が含まれています。");
exit;

上から4行目のstrstrってのが何の働きをするのか理解できません。
マニュアルを見たら 文字列が最初に現れる位置を見つける なんのことやらさっぱり
よろしくお願いします。
0644nobodyさん2008/02/19(火) 15:19:37ID:???
>>643
>文字列が最初に現れる位置を見つける
これは多分書いた人がstrposの説明と混同してる。

print strstr('親馬鹿子馬鹿', '馬鹿');
で帰ってくるのは「馬鹿子馬鹿」。1つめの馬鹿が見つかった位置以降の文字列を返してる。
つまり「最初に現れた位置以降の文字列を返す」のがstrstrの機能。
これで禁止ワードがあったときに strstr($message,$stop_word[$i])==true が真になる。

文字列発見するだけならstposのがいいけどまあそれはあとでいい。
0645nobodyさん2008/02/19(火) 15:23:28ID:???
>643がわからないのは
文字列==ture
という比較の不思議さじゃないかと推測
0646nobodyさん2008/02/19(火) 15:24:19ID:???
マニュアルをもっとよく読め 返り値で何返すか等
日本語の説明をしろってことならしねよ
0647nobodyさん2008/02/19(火) 15:32:26ID:???
>>645
確かに真偽値は最初は混乱するわな。

FALSEになるのは何も代入されてない変数、空文字列、文字の0、数字の0あたりかな。
TRUEがその逆。何か代入されていて、中身が0ではなく、空文字列でもない。
つってもいきなり始めたらわからんよなー

>>646
おつかれさん。
0648nobodyさん2008/02/19(火) 15:48:05ID:???
テーブルの表示をさせる場合と、編集させる場合でいちいち別のコード書きたくないんだけど
この辺楽に構築できる方法ありませんか?
smartyとか持ってそうなんだけど見つからない。
06496382008/02/19(火) 15:53:16ID:rf+/c0h3
ちなみにPHP5です。

>>639
複数行ログがあるファイルから一度のループでアルファベット、漢字、ひらがなのデータを分類するスクリプトを作成しています。
書いていただいた方法では駄目でした。

>>640
エラーは出ませんでした。念のためarray_pushを利用してみましたがやはり駄目でした。
06506382008/02/19(火) 16:09:29ID:rf+/c0h3
すいません、>>639で試したら解決していました。
お騒がせしました。
ありがとうございました。
0651nobodyさん2008/02/19(火) 16:12:48ID:???
そりゃそうだろう。
>$uho = array("アルファベット","ひらがな","漢字");
これじゃ $uho[0] は "アルファベット" っていう文字列型なのにそれを配列として扱おうとしてんだし
$uho[0] を配列として定義しないと通らんよ。
06526382008/02/19(火) 16:17:14ID:rf+/c0h3
>>651
勉強になりました。
$uho = array("1","2","3")のように数字だけの場合は動いてしまっていたので勘違いしていました。
0653nobodyさん2008/02/19(火) 17:11:42ID:p5AS/DW/
今、PHP5の勉強をしています。
SQLiteからデータベースのテーブルを呼び出すところで、参考にしている書籍の
スクリプトの書き方がわからなかったので、教えていただけませんか?
下の、3行目なのですが、
$rs=sqlite_query("SELECT * FROM schedule ORDER BY s_date",$db);
では、駄目なのでしょうか?
ORDER BY のあと、何故にクエリが2つも(s_date,s_time)あるのか不思議に思いました。

<?php
$db=sqlite_open("schedule.sqlite",0666,$err);
$rs=sqlite_query("SELECT * FROM schedule ORDER BY s_date,s_time",$db);
?>
<h1 style="background:#cccccc">簡易スケジュール帳</h1>
<table border="1">
<tr>
<th>日付</th><th>時刻</th><th>予定名</th><th>備考</th><th>削除</th>
</tr>
<?php while($row=sqlite_fetch_array($rs)){ ?>
<tr>
<td><?php print($row['s_date']); ?></td>
<td><?php print($row['s_time']); ?></td>
<td><?php print($row['title']); ?></td>
<td><?php print($row['memo']); ?></td>
<td><input type="button" value="削除" onclick="location.href='schedule_delete.php?sid=<?php print($row['sid']); ?>'" /></td>
</tr>
<?php
}
sqlite_close($db);
?>
</table>
0654nobodyさん2008/02/19(火) 17:16:40ID:???
あとはDB板で聞いて。
http://www.net-newbie.com/sqlite/lang.html#select
0655nobodyさん2008/02/19(火) 17:16:48ID:???
そりゃ日付が同じなら時刻順に並べたいからだろ
0656nobodyさん2008/02/19(火) 17:19:47ID:???
http://www.accessclub.jp/sql/10.html
06576532008/02/19(火) 17:20:09ID:p5AS/DW/
>>654
失礼しました。
PHP5に付随する質問でしたので、こちらでよいものと思っていました。

>>655
早速のご回答ありがとうございます。
sort的と言っては、まずいかもしれませんが
優先度を決める為の書き方なのですね!参考になりました。
06586532008/02/19(火) 17:23:01ID:p5AS/DW/
>>656
即レス、感謝です。
ありがとうございました。今後の参考になります!
0659nobodyさん2008/02/19(火) 17:47:17ID:???
>>653 すごいソースだなw本を代えた方がいいよw
0660nobodyさん2008/02/19(火) 18:31:10ID:???
こういうソースみるとイライラしてきて壁殴りそうにならない?
0661nobodyさん2008/02/19(火) 18:42:06ID:UiHW3K4+
ttp://www.harikonotora.net/

こういった画像掲示板サイトはどう作ればいいのでしょうか?
HTMLとCSSのみでは、このようなサイトの製作は難しいと思います。

掲示板に画像を投稿するシステムや
こういったサイトに最適なサーバなどありましたら教えてください。

よろしくおねがいします
0662nobodyさん2008/02/19(火) 18:46:19ID:bsmDlf5I
>>661 てかニコ動に似てるサイトだな
0663nobodyさん2008/02/19(火) 18:58:52ID:???
>>661
ここに載せるということは、もう既にPHPで作ると決めてるということですか?
0664nobodyさん2008/02/19(火) 19:01:10ID:???
僕に恋した君の気持ちをPHPで書いてください。
0665nobodyさん2008/02/19(火) 19:04:56ID:UiHW3K4+
>>663

お返事ありがとうございます。
PHPまたはCGIで製作しようと考えております。

HTML、CSSは一通り理解しているのですがPHPに関しては無知に等しいです

アドバイス等、いただけると幸いです
0666nobodyさん2008/02/19(火) 19:05:26ID:???
ニコ動ってPHPなの?
0667nobodyさん2008/02/19(火) 19:08:38ID:???
>>665
相当なやる気があるなら作れるだろうけど
普通の人がHTMLとCSSは一通り、PHPは無知な状態から作れるものではない。
手ごろなWebアプリ作成から始めることをお勧めするよ
0668nobodyさん2008/02/19(火) 19:08:40ID:???
>>665
皆無ですか。
そんな貴方に私から出来るアドバイスは、少なくともシステム部分に関しては
システム屋へ外注なさるのが早いかと存じます。
0669nobodyさん2008/02/19(火) 19:09:04ID:???
include_path = ".;c:/php/includes;c:/php/pear"

インクルードパスのc:/php/pearに存在するふぁいるのなかでも
インストールしたpear関連のファイル(DB.phpとかMail.php)だけ読み込めないんだけど
この現象何が原因なのでしょうか
0670nobodyさん2008/02/19(火) 19:17:19ID:???
>>666
だろ けっこPHPの事例として引き合いに出されるし
0671nobodyさん2008/02/19(火) 20:10:49ID:???
もっとスキルの高い解答者が欲しいよなぁここ・・・
初心者〜中級者入り口手度のやつしかいねぇ・・・
0672nobodyさん2008/02/19(火) 20:13:45ID:???
そうだな。俺の質問もスルーされたし。
0673nobodyさん2008/02/19(火) 20:16:40ID:???
で、おまえは誰?
0674nobodyさん2008/02/19(火) 20:18:52ID:???
そもそもそんな高いスキル持ってる奴はこんなとここないだろ
0675nobodyさん2008/02/19(火) 21:22:43ID:???
PHP歴8年ですが。。。
ただいまCakePHP慣れきたとこで
symfonyに覚えてます
フレームワーク乱立のおかげで覚えること沢山で困ります
昔はそんなに覚えることなかったのにな
0676nobodyさん2008/02/19(火) 21:54:59ID:???
>>671
スキルの高い解決方法を頼む
0677nobodyさん2008/02/19(火) 22:01:09ID:???
> 昔はそんなに覚えることなかったのにな
PHPに限らないが、

覚えることが少ない言語は
自分で作らないといけないものが多く、

覚えることが多い言語は
自分で作らないといけないところが少ない。
0678nobodyさん2008/02/19(火) 22:27:37ID:bDEijUku
Perlからモジュール版のPHPに移ってきたのですが、
Perlと比べてパーミッションを気にする必要がないようですが、
普段のphpファイルのパーミッションはいくつに設定しておいた方が宜しいでしょうか?
とりあえず、現在は全て777に設定しています。
宜しくお願いします。
0679nobodyさん2008/02/19(火) 22:27:42ID:???
自分で作るから覚える分が少なくて済むが、
既製品で済む場合はそれの使い方覚えないといかんからな。
0680nobodyさん2008/02/19(火) 22:42:39ID:???
>>678
そのままでいいよ。644とか。
phpを通してファイルに書き込むなどといったことをするときは、
当然そのファイルを666とかにしないといけないけど。
0681nobodyさん2008/02/19(火) 23:01:36ID:???
>>669
普通に
include 'DB.php';
とかしてもincludeできないって事?


>>671
ここにスキル高い質問なんて無いだろ
0682nobodyさん2008/02/19(火) 23:37:20ID:???
なんってたってスレタイが「下らねぇ質問はここに書きこみやがれ」だからな。
0683nobodyさん2008/02/19(火) 23:48:52ID:???
ていうか自分がそういう回答者になればいいだけだろ
0684nobodyさん2008/02/20(水) 00:34:07ID:???
質問が無いのにどう回答しろというのだw
0685nobodyさん2008/02/20(水) 00:45:40ID:???
以上、下らねぇ回答の見本です
0686nobodyさん2008/02/20(水) 01:29:19ID:mRMNoFj0
まさに「下らねぇ質問」です。
前から疑問に思ってた事です。

「PHP」の正式名称は「PHP: Hypertext Preprocessor」
つまり「PHP」は「PHP: Hypertext Preprocessor」の略語ですよね。

でも正式名称である「PHP: Hypertext Preprocessor」の先頭にも略語の「PHP」の文字がありますよね。
じゃあこの先頭の「PHP」はさらに正式名称があるわけですか?
0687nobodyさん2008/02/20(水) 01:35:46ID:???
Personal Home Page Tools
0688nobodyさん2008/02/20(水) 01:42:34ID:???
PPPH
0689nobodyさん2008/02/20(水) 01:44:48ID:mRMNoFj0
>>687

有難う御座います。
php3.xあたりから入ってたもんですから
php1.xの頃の話なんて全然知りませんでした。
0690nobodyさん2008/02/20(水) 01:57:55ID:???
再帰的頭字語くらい知っておこう
0691nobodyさん2008/02/20(水) 02:10:15ID:???
こういうの再帰的頭字語っていうんだ。知らんかった。
ttp://ja.wikipedia.org/wiki/%E5%86%8D%E5%B8%B0%E7%9A%84%E9%A0%AD%E5%AD%97%E8%AA%9E
PHPも入ってるな。
0692nobodyさん2008/02/20(水) 08:06:43ID:???
<?php
$time = date("現在の日時は、Y年m月d日 H時i分s秒です。");
print($time);
?>

と書くと現在の日時は、M2008・02月20日 08時05分28秒です・03
って表示されます。大文字のMと です・のあとの03ってのが邪魔です。
どうすればいいんでしょうか?
0693nobodyさん2008/02/20(水) 08:25:08ID:???
SJISで書いてるような気がする
0694nobodyさん2008/02/20(水) 08:30:20ID:???
ありがとうございます。
0695nobodyさん2008/02/20(水) 08:30:26ID:???
Shift JIS (笑

いつの時代?w
0696nobodyさん2008/02/20(水) 08:51:09ID:???
笑うほどのことか?
ケータイなら出力はShiftJISだし、その流れでソースもShiftJISで書く初心者は多いだろ。

0697nobodyさん2008/02/20(水) 09:05:08ID:???
ケータイの出力がsjisだからsjisでソース書く初心者が多いという流れがよく分からんので詳しく教えてくれ。
PHPユーザは携帯サイト作成から入ることが多いという意味か?
0698nobodyさん2008/02/20(水) 10:26:11ID:???
テキストエディタとか全部デフォルトの設定でSJISが多いから最初はSJIS多いだろうな
0699nobodyさん2008/02/20(水) 11:34:03ID:0elSO0M+
配列から特定のキーの値のみ削除することは可能でしょうか?
array_shiftやarray_popは先頭・末尾でしたので・・・

Array
(
[Red] => ringo
[Blue] => budou
[Yello] => banana
)

関数("Blue")

Array
(
[Red] => ringo
[Yello] => banana
)
0700nobodyさん2008/02/20(水) 11:39:27ID:???
>>699
http://jp.php.net/manual/ja/function.unset.php
0701nobodyさん2008/02/20(水) 12:22:49ID:0elSO0M+
>>700
サンクス
0702nobodyさん2008/02/20(水) 13:17:42ID:???
配列から特定のキーの名前を変更は可能でしょうか?
キーの順番は変えたくありません。

Array
(
[Red] => ringo
[Blue] => budou
[Yello] => banana
)

関数("Blue","Green")

Array
(
[Red] => ringo
[Green] => budou
[Yello] => banana
)
0703nobodyさん2008/02/20(水) 13:24:28ID:0elSO0M+
>>702
>>1
0704nobodyさん2008/02/20(水) 13:26:09ID:???
699=702かと思った。
0705nobodyさん2008/02/20(水) 13:31:33ID:???
>>702
foreach
0706nobodyさん2008/02/20(水) 13:32:16ID:???
>>702
順番変えたくないなら、もう一個配列作って、順番に入れてったらどうだ?
0707nobodyさん2008/02/20(水) 13:35:11ID:???
テンプレ読まないアフォ☆にそれに答えるアフォ☆
0708nobodyさん2008/02/20(水) 13:44:51ID:???
>>702
少しは考えようぜ
http://jp.php.net/manual/ja/ref.array.php
使えそうなもの探して自分なりに作ってみ
0709nobodyさん2008/02/20(水) 13:54:54ID:0elSO0M+
「大阪府大阪市」

mb_splitの[都道府県]で分解すると
「大阪」と「大阪市」になりますが、
「大阪府」と「大阪市」に分けることって可能でしょうか?

区切り文字消さないオプションとかないですよね・・・orz
0710nobodyさん2008/02/20(水) 14:02:12ID:???
都道府県なら数も知れてるし個別対応すれば?
0711nobodyさん2008/02/20(水) 14:23:35ID:???
>>702
配列に入れる段階で順番にこだわる理由がわからない。
実際に配列を操作するときは特定のアルゴリズム下で行われるべきなので、
最終的にソートして表示したときなり、検索して取り出したときの結果は変わらない。
0712nobodyさん2008/02/20(水) 14:34:38ID:???
べきでもなんでもないし、可読性が低下しないなら、便利な機能は使えば良い。
0713nobodyさん2008/02/20(水) 14:40:34ID:???
>>712
可読性とかそういう問題じゃない。というか配列の順番に可読性も何も・・・
DBから取り出して配列にいれた段階で、その配列を実際眺めるなんてことしないだろ。
膨大なデータになればなるほど、そんなこと考えたりしない。
配列というのは、どういうグループでどういう値が配列に入っているかを理解していればいい。
あとは配列を操作する段階でどうにでもなる。
0714nobodyさん2008/02/20(水) 15:03:20ID:0elSO0M+
>>710
サンクスです
とりあえず都道府県47個は個別対応してみます。


あー、まだ質問あるけど流石に自重しなきゃ('A` )
0715nobodyさん2008/02/20(水) 15:14:46ID:???
>都道府県47個は

都道府の4つ+それ以外でいいような?
0716nobodyさん2008/02/20(水) 15:18:37ID:0elSO0M+
>>715
大阪府東大阪市→大阪 東大阪市
になるので、そこから「大阪」で検索かけて「府」を取得しようかと・・・
0717nobodyさん2008/02/20(水) 15:20:46ID:???
宮崎県都城市
さて
0718nobodyさん2008/02/20(水) 15:21:04ID:???
うん。だから、「東京」「北海」「大阪」「京都」の4パターン以外は、もう「県」で決定だよね?
0719nobodyさん2008/02/20(水) 15:23:14ID:0elSO0M+
>>718
も・・・もしかしたら、他に都道府県が増えるかも・・・
ないよね、うん、ありがと
0720nobodyさん2008/02/20(水) 15:23:36ID:???
そんなの、動きゃ何でもよくない?
本当に下らない質問だな。
0721nobodyさん2008/02/20(水) 15:24:16ID:0elSO0M+
>>720
本当にくだらない答えだ
0722nobodyさん2008/02/20(水) 15:24:23ID:???
>>717
mb_splitの3つ目の引数で制限
0723nobodyさん2008/02/20(水) 15:25:04ID:???
そうだなスレタイどおりだな
0724nobodyさん2008/02/20(水) 15:25:12ID:???
>>716
内部処理でつかんだよね?
内部処理するだけなら都道府県がついててもついてなくても不都合はないでしょ
0725nobodyさん2008/02/20(水) 15:27:38ID:0elSO0M+
>>724
住所最適化のために住所データベースより該当する行を取得しているんだけど、
京都府京都市大阪〜みたいな変な住所があったorz
複数キーワードを用意して、一番多くマッチした行の順番で返しているから、
「大阪」だけだと、「京都府京都市大阪」も「大阪府大阪市」も返ってくる。
0726nobodyさん2008/02/20(水) 15:28:56ID:???
岐阜県山県市とか注意が要りそう。
0727nobodyさん2008/02/20(水) 15:30:23ID:0elSO0M+
>>726
見事に岐阜県岐阜市芥見海戸山が一番上に\(^o^)/


ハァ・・・
0728nobodyさん2008/02/20(水) 15:35:10ID:???
^(北海道|京都府|大阪府|東京都|.*?県)(.*)
0729nobodyさん2008/02/20(水) 15:39:48ID:???
みんな大好き正規表現!
0730nobodyさん2008/02/20(水) 15:48:12ID:???
>>728
そうやるのが定石だよね。

ちなみに住所名データは郵便番号との対応表という形で日本郵便からDLできる。参考まで。
http://www.post.japanpost.jp/zipcode/download.html

遷都したら東京府になる(戻る)のかな?
0731nobodyさん2008/02/20(水) 15:48:30ID:???
2バイト文字コード恐怖症
0732nobodyさん2008/02/20(水) 15:50:19ID:???
データ登録を作る際注意すべきことはなんですか?
0733nobodyさん2008/02/20(水) 15:56:52ID:???
SQLインジェクション
0734nobodyさん2008/02/20(水) 16:24:42ID:???
住所の正規化むずすぎ・・・
0735nobodyさん2008/02/20(水) 17:12:38ID:???
正規化って言葉間違ってるから気をつけろな
0736nobodyさん2008/02/20(水) 17:14:26ID:???
>>735
住所を
都道府県 市区町村 地域名・町名 番地
に整えたいんだが何て言えばいいのよ?
0737nobodyさん2008/02/20(水) 17:21:14ID:???
自分は正規化って言葉が妥当だと思うが SIerには(住所の)名寄せって言う人が多いかも。
0738nobodyさん2008/02/20(水) 17:21:19ID:???
住所の整形
0739nobodyさん2008/02/20(水) 17:25:24ID:???
正規化では無い。

俺は4万件だったけど、おおよそ郵便番号使って分けた後、
入力ミスや合併前等は人海戦術だった。
0740nobodyさん2008/02/20(水) 18:04:32ID:???
最初っから

都道府県
市町村
それ以下

の三つで入れてもらえば良くね
って後処理の話だっけ?
0741nobodyさん2008/02/20(水) 18:23:15ID:???
つ「フリーワード検索」
0742nobodyさん2008/02/20(水) 18:33:27ID:0elSO0M+
set_time_limitは0で無制限になりますが、
memory_limitの無制限は可能ですか?
0743nobodyさん2008/02/20(水) 18:51:43ID:6Ca7eWC6
$array = array(2, 1);
というのがあって、この値を1, 2に入れ替えたいのですが、
直感的に、
$array[0] = $array[1];
$array[1] = $array[0];
という風に書いてしまうと、両方1になっていまいます。
それで記憶用の変数を用意し、
$i = $array[0];
$array[0] = $array[1];
$array[1] = $i;
のようにすると思ったとおりになってくれるのですが、
もっと適切な書き方はありませんか?
他言語でも応用するので、PHP特有の書き方やPHP関数の使用ははなしの方向でお願いします。
0744nobodyさん2008/02/20(水) 18:53:12ID:0elSO0M+
array_reverse
07457432008/02/20(水) 18:56:21ID:???
>>744
それはPHPのネイティブ関数なので・・・
それと説明足りませんでしたが、ただ単に逆順にいれかえるというわけではないです。
0746nobodyさん2008/02/20(水) 18:58:43ID:???
他の言語って何に使うの?
アセンブラとかするならもっと細かく書くけど、
ってか関数かしちゃえばいいんじゃない?
0747nobodyさん2008/02/20(水) 18:58:48ID:???
ここPHPすれなんだけど
07487432008/02/20(水) 19:04:59ID:???
>>746
JavaとVBです。
各言語の関数等をつかうか、作るかしかないですかね。
左辺と右辺を交換できるような、どの言語でも実装されてる演算子みたいのがあれば一番いいのですが。
$array[0] ⇔ $array[1]みたいな。ないですよね、そんなの。

>>747
すみません。一応PHPでやっていたので。
質問に書き方の制約がついても問題ないかと思いまして。
0749nobodyさん2008/02/20(水) 19:06:10ID:???
巧妙な釣りか?
0750nobodyさん2008/02/20(水) 19:12:35ID:???
変数の入れ替えは>>743の方法がどの言語でも主流だよ。
0751nobodyさん2008/02/20(水) 21:13:53ID:???
一時変数使いたくないならビット演算使うのが定番だが
本当の馬鹿に対する可読性が心配になるので避けがちだな

>ただ単に逆順にいれかえるというわけではない
の内容が分からん事にはなんとも
0752nobodyさん2008/02/20(水) 22:03:41ID:???
>>746
>JavaとVBです。
スレ違い
0753nobodyさん2008/02/20(水) 22:18:57ID:???
解答できないとなんでもスレ違いにする文盲で低脳はどっか逝け
0754nobodyさん2008/02/20(水) 22:22:07ID:???
phpでクラスを定義して、
コマンドラインから実行するときに、
メインで実行される暗黙のメソッドはないのでしょうか?

javaでいうmainメソッドみたいなものです。
アドバイス宜しくお願いします
07557542008/02/20(水) 22:22:29ID:KIJWvRfX
すみません。下げていました。
0756nobodyさん2008/02/20(水) 22:29:23ID:???
>>755 そういうのは無いな
コンストラクターとは違うんだよな?
07577542008/02/20(水) 22:32:39ID:KIJWvRfX
>>756
無いですか...
class_Cというクラスがあり、コマンドラインから
$ php ./class_C.php
と実行すると、
class_C内の特殊なメソッドが呼ばれるようなイメージです。

$ java ./classC
とやると、自動的にclassC内のstatic void mainが呼ばれるようなイメージです。

コマンド内からphpクラスのコードを実行する方法が思いつかないので。

0758nobodyさん2008/02/20(水) 22:32:43ID:???
>>748
Javaで配列使うなよ。笑われるぞ。

>>754
ないんじゃね?
0759nobodyさん2008/02/20(水) 22:36:29ID:???
>>754
public static function mainでも作って書いておけば?
無理にjavaのマネする必要なくね?
07607542008/02/20(水) 22:40:26ID:KIJWvRfX
>>758>>759
やっぱりないですか...

既に作ってあるクラスがありまして、
それをシェルから呼びたいのですが、
何かいい方法がないかと思いまして。

クラスを作り直すのはできれば避けたいのですが、やっぱりダメそうですね。
ありがとうございました。
0761nobodyさん2008/02/20(水) 22:52:40ID:???
>>754
どうやってそれを実行するつもりやったん?
0762nobodyさん2008/02/20(水) 22:53:15ID:???
そのクラスのメソッドを呼び出すバッチ作ればいいんじゃね?
07637542008/02/20(水) 23:02:54ID:KIJWvRfX
>>761
イメージ的には、これをcronデーモンから実行させるイメージでした。
-----------------------------------------------------------
#!/bin/sh
/usr/local/bin/php /public_html/hogehoge/MainClass.class.php
exit
-----------------------------------------------------------
クラスではなくベタ書きならうまくいくのですが、
そのクラスは既にテスト済みで、そのファイルだけクラスじゃないのは、ちょっとと思いまして。

>>762
すみません、それはどういうような機構でしょうか?
宜しければ、その方法をアドバイスいただけないでしょうか?
0764nobodyさん2008/02/20(水) 23:06:04ID:???
>>763
だからそのMainClass.class.phpでどのように
そのクラスを実行する設計を?

定義して放置プレイ?

07657542008/02/20(水) 23:33:51ID:KIJWvRfX
>>764
MainClass.class.phpは、実行するクラスではなくて、
実装される側のクラスのことです。
実行主体はcrondです。できれば、MainClass.class.php内部はいじらずにできればいいのですが、厳しいそうですね。
0766nobodyさん2008/02/20(水) 23:40:54ID:???
おまえは卓球(テーブルテニス)にもテニスラケット使うようなやつか?
球技(言語)が変わったらその言語の基本くらいは勉強しろカス

ってことで>>8
0767nobodyさん2008/02/20(水) 23:46:42ID:???
PHPをソースからインストールしたのですが、インストールした時点ではzlibを有効にしませんでした。
しかし、今更zlibが必要になってしまったのですが、再インストールするしかないのでしょうか?
バージョンはPHP5.2.5です。
よろしくお願いします。
0768nobodyさん2008/02/21(木) 00:11:51ID:vEZx6YzI
>>765
php -r 'require "MainClass.class.php"; MainClass::main();'
みたいにしたら駄目なん?
07697432008/02/21(木) 00:14:20ID:???
レス遅れてすみません。
>>750
ありがとうございます。ではその方法でやることにします。

>>751
ビット演算子ですか。あれは難解なので避けてます・・・
でも参考になります。ありがとう。

>>758
もちろんJavaで配列のようなことはコレクション使いますけどね。
ただどうしても今回必要だったので…

というわけで>>750さんのアドバイスどおりにしたいと思います。
0770nobodyさん2008/02/21(木) 00:14:30ID:???
>>765
たしかCLIの時だけ、というかCLiで実行した事を判定できる変数かなんかがあるから。
その時だけ実行するロジックを組めばいいんじゃね

それすらも変更できないんなら知らん
07717702008/02/21(木) 00:24:19ID:???
>>765
php_sapi_name()

PHP_SAPI
だな

俺超優しい
0772nobodyさん2008/02/21(木) 00:29:20ID:???
>>771
ギャグのつもりですか?
07737702008/02/21(木) 00:38:15ID:???
>>768でもいいきがしたが、関連情報を一応言っただけやんw
0774nobodyさん2008/02/21(木) 00:42:50ID:???
そういうことか。

でもそもそも>>770自体が>>765の発言を無視してる
0775nobodyさん2008/02/21(木) 00:48:42ID:???
MainClass.class.phpをインクルードしたファイルをcrondで実行すればいいだけの気も・・
0776nobodyさん2008/02/21(木) 01:24:48ID:rvNkXnTF
配列の要素に同じものがないか調べる方法ないですか?
配列は連想でも多重でもない単純な形のものだとしてお願いします
0777nobodyさん2008/02/21(木) 01:26:46ID:???
array_uniqueとか
0778nobodyさん2008/02/21(木) 01:28:56ID:???
ごめんよく見たらarray_intersectとかあった
0779nobodyさん2008/02/21(木) 01:32:24ID:???
>>754
PHPにmain関数などない
メソッドからはみ出たとこがmain関数だと思え
クラス。メソッド以外のすべてがmain関数でもある
main関数の中でクラスやメソッドを定義してるのと同じだ
0780nobodyさん2008/02/21(木) 01:37:10ID:???
だいたいcronで呼ぶスクリプトに
クラスなんて使うなや?非効率もいいもんだ
なんの為のスクリプト言語やと思ってんだ
0781nobodyさん2008/02/21(木) 01:39:01ID:???
cronで呼ぶ処理なんて超超小規模やん
なんでクラス使うん?
0782nobodyさん2008/02/21(木) 01:51:42ID:???
おまいらPHP、PHP偉そうにゆうけど
PHPでなんぼ稼いだんや?
0783nobodyさん2008/02/21(木) 01:57:25ID:???
世の中金じゃないゼって言いたい
0784nobodyさん2008/02/21(木) 02:14:34ID:???
シェルスクリプトでいいじゃん
0785nobodyさん2008/02/21(木) 03:20:41ID:???
http://jp.php.net/count

Example#2 再帰的な count() の例 (PHP >= 4.2.0) 

<?php
$food = array('fruits' => array('orange', 'banana', 'apple'),
              'veggie' => array('carrot', 'collard', 'pea'));

// 再帰的なカウント
echo count($food, COUNT_RECURSIVE);  // output 8

// 通常のカウント
echo count($food);                  // output 2

?> 

何故6でないのか謎すぎる。
0786nobodyさん2008/02/21(木) 03:55:02ID:uBvv/k1H
すみません、質問です。。。
XAMPPをインストール後に以下の手順でエラーがでてしまうのですが、何が原因なのでしょうか???

1. Terminal shellに行って、システム管理者ルートでログインします。
sudo su

2. XAMPPをスタートするには、このコマンドをコールしてください:
/Applications/xampp/xamppfiles/mampp start

ここで、このような感じのエラーメッセージがでていまいます。
(No such file or directory, errno = 2)
XAMPP: Error 133! Couln't start ProFTPD!

ちなみにこの段階でXAMPP Control Panelを起動しようとすると「このシステムとは互換性がないためアプリケーションを起動できません」とメッセージが出てしまいます。

OSはMacOSX.2.8で、インストールしたのがXAMPP Mac OS X 0.7.2です。とても困っていますのでどなたかよろしくおねがいします。
0787nobodyさん2008/02/21(木) 08:03:59ID:???
なんだ、マルチかよ。
あっちで答えちまった・・・
0788nobodyさん2008/02/21(木) 08:38:59ID:???
案件転がしてた方が儲かる、もちろんPHP使う奴を安く叩くのが俺の仕事
おまいら頑張って技術磨いとけよ!!俺の金の成る木なんだからな
07895142008/02/21(木) 09:16:22ID:FrueJpz5
どうも いつもお世話になります。
ある程度理解できました。
次は何をすればいいんですかね?
0790nobodyさん2008/02/21(木) 09:55:12ID:???
>>789
四つん這いになる。
0791nobodyさん2008/02/21(木) 10:25:29ID:v3nyJWBc
30万行ほどのデータをPEAR::DBを通してデータベースにぶちこむ作業をしているのですが、
40%ほど処理したところで

Fatal error: Out of memory (allocated 2001731584) (tried to allocate 37 bytes) in C:\xampp\php\PEAR\PEAR.php on line 863

のようなエラーが出ます。
これは何か変数に格納していって、それが溜まっているのでしょうか?
0792nobodyさん2008/02/21(木) 13:53:21ID:mkhVTZDn
gmdateの第2引数にtime()+9*60*60を指定すると正しい時間になるのですが
getdateの引数に同じものを入れると更に9時間進んだ時間が取得されてしまいます。
getdate関数は自動的に国別の時間のずれを計算してくれるということでしょうか?
0793nobodyさん2008/02/21(木) 13:55:00ID:???
>>792
サーバーの設定じゃないかな?
東京標準なら国際標準より9時間進んだ値で設定されてるし
0794nobodyさん2008/02/21(木) 13:58:06ID:mkhVTZDn
>>793
ということはgetdateはサーバの設定を見て東京標準であればそれで計算して
gmdateの場合はサーバの設定関係なくグリニッジ時間で計算するということですか?
0795nobodyさん2008/02/21(木) 14:04:19ID:???
まずgmの意味を考えてみてはどうか
http://www.php.net/manual/ja/function.gmdate.php

っていうかマニュアル読もうよ。
俺はfirefoxの検索プラグインに公式マニュアルの関数検索入れてるよ。
opensearchfoxって拡張使うと簡単に出来る。
0796nobodyさん2008/02/21(木) 14:10:34ID:mkhVTZDn
あ、ホントだ思いっきり最初に書いてあったorz
スレ汚し失礼しました。
0797nobodyさん2008/02/21(木) 14:24:45ID:???
>>789
エスパーじゃない俺にはある程度がどの程度かわからないのでなんとも言えない。
07985142008/02/21(木) 15:11:30ID:FrueJpz5
>>797
配列と関数と制御は理解しました。
本持ってないので買うのがいいですか?
お勧めの本とかございましたら教えて頂けると幸いです
0799nobodyさん2008/02/21(木) 15:18:20ID:???
>>798
本くらい自分で選べ
08005142008/02/21(木) 15:21:07ID:FrueJpz5
>>799
そうですね。 自分で見て自分にあった物を買うのがいいですね。
失礼しました
0801nobodyさん2008/02/21(木) 15:30:12ID:???
とりあえず数行程度の細かいプログラムを書きまくれ。
0802nobodyさん2008/02/21(木) 16:05:44ID:???
>>798
本読むよりPHP 配布とかでぐぐって配布してるフリーのPHPのコード読んだほうがためになる。
最初はさっぱりわからんだろうが関数が実際どういう用途で使われるかもわかってくる。
0803nobodyさん2008/02/21(木) 16:15:51ID:???
>PHP 配布とかでぐぐって配布してるフリーのPHPのコード読んだほうがためになる。

これはやめたほうがいい。
公開されている多数の日曜プログラマコードは糞。
phps○otとかは害悪。
0804nobodyさん2008/02/21(木) 16:33:42ID:???
PHPの綺麗なソースって本当にないよな
市販の入門本やオライリーにいたっても、PHPのソースはベタコードでgeekなものだし
お手本作法的なフォーマットが知りたいぜ
0805nobodyさん2008/02/21(木) 16:37:00ID:???
Eclipseで書いたら自然と綺麗にならないかな?
あと、ソースって言っても好き嫌い(書き方)もあるから一概に綺麗なソースとは言えないぞ
中国産のソースなんて何が入ってるもんかわからないし
0806nobodyさん2008/02/21(木) 16:42:27ID:???
昔は美しいコードを書くことを考えていたが、仕事でくだらないものを
量産してるうち、最近はもう、動きゃいいかになりつつある。

0807nobodyさん2008/02/21(木) 16:44:06ID:???
誰がうまいことを(ry
Eclipseで書いても結局プラグイン次第。
インデントされてればなんでも綺麗に見えるマジック。
実際は補完機能も本場Javaのものより劣ってるし、そこまで綺麗なものでもない。
結局は書き手次第だな。
0808nobodyさん2008/02/21(木) 18:02:50ID:???
>>806
最初は綺麗なソースを作ろうと頑張っていたけど、
仕事で汚い理不尽なやり方を教わって、
とりあえず売れればいいかという思考になりつつあるのか
08098062008/02/21(木) 18:15:20ID:???
>>808
いや違うな。教わったというより、自分で知ったんだ。

綺麗に書きたいのは本音だが、変な事に頭を使う暇があったら、設計やテストに時間を割くべき、と。
客の求めてるものは綺麗なソースでは無い。所詮はプログラマのオナニーなのかな、とね。
0810nobodyさん2008/02/21(木) 18:22:15ID:???
綺麗なソースはあくまで保守性を高めるものだろう。
そのソースを変更してシステムを作り変えたりしたなら、
少しはその恩恵にあずかってると思うがな。

あと共同のプロジェクトで使う場合なら他人は喜ぶ。
0811nobodyさん2008/02/21(木) 18:27:55ID:???
その他人が汚く書くからなー……一人で上げれるような仕事じゃねえからしゃーないが

売上げさっぱりでプロマネが腐ってるからなー
「将来の効率化のための仕事」はサボってるに等しいんだとさ。
どうせ書き直す日には古臭いだけのコードになっているだろうとかなんとか。経験則だかなんだかしらんが、反論しにくいのよなー

ウチも先長くねえな。俺も含めて。
0812nobodyさん2008/02/21(木) 18:28:39ID:???
>>810
どうだろうね、SIの現場じゃソースコードの再利用なんてほとんどされないし、
「再利用してます」っていうのもせいぜいコピペ改変。

ソースコードを修正したときに影響範囲が狭いほうが「保守性が高い」ということに
なるだろうし、ベタなコードの方が良い場合も多いだろ。

0813nobodyさん2008/02/21(木) 18:35:37ID:???
だからフレームワークを使うんだろうな。
一番の再利用はフレームワークを使うことに他ならないだろう。

まあたいていは自作じゃなくて、外部のフレームワークを
再利用することになるが。
08148062008/02/21(木) 18:35:53ID:???
>>810
俺だってプロジェクトで仕事してるし、保守も多いから他人のソースはよく見るが、
クラス化しときゃ余程長いソースで無い限り、どう書いたって追ってけば分かる。
それとも、綺麗さってのはインデントとかそんなレベルの話?
0815nobodyさん2008/02/21(木) 18:38:22ID:???
フレームワークは当然だけど、それ以外に誰だって大なり小なり
使いまわしの自作関数は持ってるもんじゃない?
0816nobodyさん2008/02/21(木) 18:43:25ID:???
綺麗さって当然設計の綺麗さのことだろ?

客のどんな要望にもすぐに耐えうる「シンプルで柔軟性のある設計」
テスト漏れで客に迷惑をかけない「テストがしやすい設計」
バグが客が迷惑をかけない「バグが発生しにくい設計」

綺麗っていうことは、客の為にあるんだよ。
0817nobodyさん2008/02/21(木) 18:57:40ID:???
あと綺麗なドキュメントなw
0818nobodyさん2008/02/21(木) 18:59:04ID:???
スレ違いなんで、これ以上は書かないけど、「客のため」ってことをやたらと主張する人間は
経営者にしろ、営業にしろ、エンジニアにしろ信用できないのばっかり。

考える事をやめてる人間がよく言う。
0819nobodyさん2008/02/21(木) 19:00:09ID:???
>>818
じゃあどうしろと?w

考えるのをやめないで、ちゃんと考えてレスしてねw
0820nobodyさん2008/02/21(木) 19:02:43ID:???
典型的すぎ
0821nobodyさん2008/02/21(木) 19:40:14ID:???
これはなあ。さすがに引くわ
08225142008/02/21(木) 20:11:14ID:FrueJpz5
>>801
ありがとうございます。とにかくプログラム書きまくります。

>>802
はい。他の人のコードを読んでもっと勉強します。

>>803 あそこのコード糞なんですか・・ 分かりやすいと思ったんですが。
僕の知識不足ですかね・・

0823nobodyさん2008/02/21(木) 20:15:16ID:jJmAtctQ
こんばんは。高校生です。
最近、インターネットにおいてブログやホームページ製作の分野に興味があり
HTMLとCSSの技術をある程度身につけることができました。

ttp://blog.with2.net/

そんななかこちらのブログランキングとであったのですが
こういったランキングサイトはCGIかPHPで成り立っているのでしょうか?

自分もランキングサイトを製作してみたいのですが
どういった言語で成り立っているのかわからず、言語に関して無知の状態です

なにかアドバイスいただけると幸いです。
よろしくおねがいします
0824nobodyさん2008/02/21(木) 20:20:53ID:???
他のページの拡張子見るとphpだな
404見るとapache1.3.34でmodule表記ないな
0825nobodyさん2008/02/21(木) 20:34:57ID:???
拡張子phpでもperlで動いてるかもしれないし。
バックグラウンドでjava/servlet使ってるかもしれないし。
意表をついて静的htmlかもしれないし。
0826nobodyさん2008/02/21(木) 20:46:36ID:wtHgKY9F
X-Powered-By : PHP/4.4.3
らしいけど別にPHPでなくても作れるし、好きなの選べばいいと思う。
0827nobodyさん2008/02/21(木) 20:48:14ID:???
>>823
レスポンスヘッダーによると
Apache/1.3.37
PHP/4.4.7

0828nobodyさん2008/02/21(木) 21:03:34ID:jJmAtctQ
>>823です

みなさん、ご回答ありがとうございます。
ランキングのin、outの仕組みをつくるには
PHPが基本となっていると判断してよろしいでしょうか?

PHPに関しては無知に等しいです。
これからPHPに学ぶことに対してオススメの学習方法
およびサイト等、ありましたらご教授いただけると幸いです

よろしくおねがいします。
0829nobodyさん2008/02/21(木) 21:16:06ID:???
>>828
とりあえずPHPとか関係なくプログラムのいろはを勉強しろ。
ゆとり丸出しの質問してるようじゃあ完成する前に挫折するぞ!

もう来るなよ
0830nobodyさん2008/02/21(木) 21:22:41ID:???
>>828
PHPに限らずWeb言語なら何使っても作れる。
長所と短所を調べて自分に合った言語を選べばおk。

その上でPHPを選ぶなら、まず公式マニュアルを一読すること。
次に、紙ベースが好みであれば書店で手ごろな入門書を1冊買って全て試してみる。
紙ベースにこだわらないなら、Web上の入門サイト、blog、技術系ニュースサイトの特集なんかを見てやれば十分身に付く。
基本を覚えたら、日記帳でも掲示板でも適当なシステムを自分で作ってみる。
ここまで順調にこなせたならば、またこのスレに来て次のステップを聞くとよろし。

ついでに言うと、件のサイトほどのデータ量を扱うシステムならDBも使ったほうが楽かと。
0831nobodyさん2008/02/21(木) 22:01:50ID:???
>>823
君は若い。もしかしたら将来プログラマになる可能性も秘めているかもしれない。
もし将来的に〜ってことを考えて、今Web関連技術を勉強しているのであれば、
WebアプリケーションはPHPではなくJava(Servlet/JSP)を用いたものを作れるといいだろう。
Javaは幅広い分野で応用もきくし、PHPのような曖昧言語ではないので、
初心者からやるにはぴったりの言語だ。
もしPHPからはじめてしまって、新たな言語をやる場合、
俺のように型シラネ(゚听)、OOPシラネ(゚听)となって苦労するぞよ。
0832nobodyさん2008/02/21(木) 22:16:53ID:???
J2EE開発の場合、最初の環境構築で挫折しそうだけどな。
0833nobodyさん2008/02/21(木) 22:24:10ID:???
>>831
俺も基本的にPHPから始めたが
今は普通にJavaとかC#とかいじれるぞ?
勉強不足なだけじゃないの?
0834nobodyさん2008/02/21(木) 22:26:09ID:jJmAtctQ
みなさん、ご回答ありがとうございます。

目的を明確にし、日常生活の中で合間を縫って学びたいと思います。
たくさんの意見を聞くことができて光栄です。
本当にありがとうございました。
0835nobodyさん2008/02/21(木) 22:36:53ID:???
>>834
いや礼はいいんだけど、そんで結局どうすんの?
0836nobodyさん2008/02/21(木) 22:37:37ID:???
>>835
結婚します
0837nobodyさん2008/02/22(金) 00:55:43ID:???
>>823
PHPはWEBに特化した言語だから
WEB言語では王様みたいなもの
豊富なライブラリとフレームワークとドキュメント量からみてもNo1
0838nobodyさん2008/02/22(金) 01:12:39ID:???
>>873
Webに特化して開発してるからNo1っていうのはおかしいだろ
0839nobodyさん2008/02/22(金) 01:42:30ID:???
APACHEにモジュール実装するとか?

THTTPDとかそういうのにノータッチだが大丈夫だろうか、俺。
0840nobodyさん2008/02/22(金) 01:44:12ID:???
だから案件によって正しい選択すれば良いだけだっつの
NO1とかベストとか絶対的な物のわけない

まずはメジャーなphpとJavaどっちもやってみればいい
なんならperlもやってみればいい
0841nobodyさん2008/02/22(金) 01:58:11ID:hL86toCQ
すみません。
携帯メールの改行コードってなんなのでしょうか?

\nとかじゃないんですか?
0842nobodyさん2008/02/22(金) 02:03:56ID:???
しかしまーjJmAtctQの人のような
ほんとイチからやる人にお勧めできるようなサンプルコードって何があるだろねー。

お題はBBSとか、実際に設置して遊べるようなのが良いのかな。

フレームワークとかOOPとかいうのをいきなりそこをやるよりは
いくつかベタベタなものを経験してからのほうが
それが必要な意味がわかるって思うんだ。


0843nobodyさん2008/02/22(金) 02:23:32ID:???
>>842
アルゴリズムやってから、UMLを勉強しつつオブジェクト指向を学ばせて
フレームワークのソースでいいんじゃね?急がば回れってね。
クズコードみてもなんの勉強にならない。

ところでみんなは何でValidationしてる?
PearとかFW使わないで手書きとか?

0844nobodyさん2008/02/22(金) 02:35:58ID:???
僕は、Zend_Validate
0845nobodyさん2008/02/22(金) 07:38:00ID:???
もっぱらQuickForm
0846nobodyさん2008/02/22(金) 09:56:31ID:???
昔はValidationは全員手書きだったのにな
今考えれば、面倒くさい作業だった
0847nobodyさん2008/02/22(金) 09:57:46ID:???
昔はページ送りも手書きね
これも面倒くさい作業のひとつ
0848nobodyさん2008/02/22(金) 10:43:28ID:FaBFLjCt
こんにちは
長らく疑問なのですが、ニコニコ動画のアマゾンで
どれがどれだけ買われているとか
どのアカウントが買ったなんて、どうやって集計しているのでしょうか?
アマゾンのリンクはAタグ直行なので、ニコニコの手を離れていますよね?
0849nobodyさん2008/02/22(金) 11:23:42ID:???
タグついてるやん
0850nobodyさん2008/02/22(金) 12:33:14ID:UcDd6kU9
$str ="3,1,1,2,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,";
を,で区切って配列に取り込もうとしてるのですが


define("DELIMITER", ",");
$count = 0;
$token = strtok($str, DELIMITER);
while ($token) {
$data[$count] = $token;
$token = strtok(DELIMITER);
$count++;
}

↑のようにしても、$dataの各々にデータが入らず困っております
なにかよい解決手段はありませんでしょうか
0851nobodyさん2008/02/22(金) 12:35:49ID:???
$date = explode(',' $str);
0852nobodyさん2008/02/22(金) 12:36:02ID:???
なんで素直にsplitじゃないん?
0853nobodyさん2008/02/22(金) 12:37:40ID:???
>>851
どうもありがとうございます
08548522008/02/22(金) 12:37:53ID:???
ごめん。俺の方がレス遅かった上に、正規表現いらんからexplodeが正解だよな・・・
0855nobodyさん2008/02/22(金) 12:39:10ID:euN/fpJD
>>850
> $str ="3,1,1,2,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,";
> を,で区切って配列に取り込もうとしてるのですが


> define("DELIMITER", ",");
> $count = 0;
> $token = strtok($str, DELIMITER);
> while ($token) {
> $data[$count] = $token;
> $token = strtok(DELIMITER);
> $count++;
> }

> ↑のようにしても、$dataの各々にデータが入らず困っております
> なにかよい解決手段はありませんでしょうか
0856nobodyさん2008/02/22(金) 12:40:01ID:???
もっとよく標準関数勉強した方がいいよ。
0857nobodyさん2008/02/22(金) 12:50:03ID:???
>>856
精進します
08588482008/02/22(金) 14:47:56ID:FaBFLjCt
<A
onmousedown="return ichibaB.item_click('azB000X3UUFY')"
href="http://www.amazon.co.jp/gp/redirect.html%3FASIN=B000X3UUFY%26tag=nicovideojp-22
%26lcode=xm2%26cID=2025%26ccmID=165953%26
location=/o/ASIN/B000X3UUFY%253FSubscriptionId=1N1JNYM5DVFTMHFYD902"
target=_blank>

263人が購入しました
この動画で680人 全体で5,097人がクリック
 
うーん…
0859nobodyさん2008/02/22(金) 15:03:25ID:2HT47OiY
phpとjavascriptの連携についてなんですが
javascriptスレよりこちらのがいいと思ったのでこちらで質問させてください。

javascriptでonmouseしたら何かを呼び出すというのを
phpの処理から呼び出して表示する処理にしたいです。


東京を押したらデータベースからカテゴリが東京の町が出る。

これはどのような流れでするのでしょうか?
0860nobodyさん2008/02/22(金) 15:05:00ID:???
>>859
onmouseクリック
  ↓
JavaScriptからPHPにGET送信
  ↓
レスポンスをXMLで受け取る
  ↓
処理
0861nobodyさん2008/02/22(金) 15:15:22ID:???
class ParentClass{

static $hogehoge='mogemoge';

}


echo ParentClass::$hogehoge; //1.これはOK



$className = 'ParentClass'

echo $className::$hogehoge; //2.syntax error


色々試してみたけど、これは無理ですよね・・・
親クラスから子クラスのstaticにアクセスできないかなーとか色々試した結果。
0862nobodyさん2008/02/22(金) 15:16:03ID:???
>>861
>>8
0863nobodyさん2008/02/22(金) 15:16:48ID:???
>>862
ウザイ
0864nobodyさん2008/02/22(金) 15:22:01ID:2HT47OiY
>>860
すいません。
javascriptからphpにデータを送る方法がわかりません。

http://www.openspc2.org/JavaScript/Ajax/Ajax_study/chapter04/002/index.html
このページとかに書いてある
xmlhttp.jsが必要なのでしょうか?

できればxmlhttp.jsは使わないで作ってみたいです。
0865nobodyさん2008/02/22(金) 15:23:28ID:KCNtJbN0
>>862
Parse error: syntax error, unexpected T_VARIABLE in /var/www/test.php on line 28
PHP Version 5.2.0

これでいいのかな?
まぁ、サポートしてない構文って事だと思うけど。
0866nobodyさん2008/02/22(金) 15:23:36ID:???
>>863
>>1
0867nobodyさん2008/02/22(金) 15:25:15ID:???
>>861
PHPでのクラス内定数はconstで定義してください。
08688642008/02/22(金) 15:29:37ID:2HT47OiY
あ、うんごめんなさい。
このWebSiteちゃんと見てませんでした。

ありがとうございました。
0869nobodyさん2008/02/22(金) 15:30:03ID:???
>>866
ウザイ
0870nobodyさん2008/02/22(金) 15:34:13ID:KCNtJbN0
>>867
了解。

でもクラス名のところを変数にしてダブルトークンくっ付けてもメンバにアクセスできないって事で。
変数にアクセスするならgetHogehogeとか作ってメソッド通せってことなんだろうけど・・・
08718482008/02/22(金) 16:14:26ID:FaBFLjCt
あー、最低限クリック回数は今の流れみたいなんですね
しかし購入結果なんてどこから集計しているんだろう…
0872nobodyさん2008/02/22(金) 16:46:33ID:SvFBqeTu
header()関数で指定したURLへ飛ばそうとするとie7,firefoxでは飛ぶんですが、
IE6のみ飛びません。(というよりIE6利用時のみ有効にならない)
header()関数で飛ばすときってなんか指定とかいるんですか?
0873nobodyさん2008/02/22(金) 16:47:08ID:???
>>871
もしかしたら管理画面にログインして自動で拾ってるのかもね。
出来るかは知らんけど。

あとは大口用になにかインターフェースがあるのか・・。

どっちにしろもうスレチガイなので他であたってください。
0874nobodyさん2008/02/22(金) 16:48:01ID:???
>>872
そんなことないでしょ
まずはどんなheader書いてるか見せて味噌
0875nobodyさん2008/02/22(金) 16:51:19ID:SvFBqeTu
>>874
header("Location: ".$_SERVER['HTTP_REFERER']);
exit;

こんな感じです。
header()関数を実行する前は上でごにょごにょ処理をしています。
header()関数を実行する前でechoしてみたりしたら普通に出力できます。
Firefox2.0やIE7では普通に飛ぶんです。
0876nobodyさん2008/02/22(金) 16:55:33ID:???
$_SERVER['HTTP_REFERER']
値がある事はきっちり確認してるんだよね?

あとは「header location 絶対URL」でぐぐってみるといいかも。
0877nobodyさん2008/02/22(金) 16:56:23ID:???
どう考えてもおまいのIEがリファラを送信していないだけ
0878nobodyさん2008/02/22(金) 16:58:02ID:???
あー、今までDB接続をPEARでやってたからmysql関数使うのだるくなったorz
PEARで予期せぬエラーが発生するようになったから、自前で接続しようと思ったがこんなにもめんどいとは・・・
0879nobodyさん2008/02/22(金) 16:59:52ID:???
>>878
PDO! PDO!
0880nobodyさん2008/02/22(金) 17:00:37ID:SvFBqeTu
IE6でheader()関数を実行する前に
echo $_SERVER['HTTP_REFERER'];
を実行したらURLは入っています。
0881nobodyさん2008/02/22(金) 17:04:17ID:???
ひとまずうちのIE6では普通に動作した。
最小ソースでテストしる。

phpのエラー表示はしている?
環境を一応書くと多少参考になるかも。
0882nobodyさん2008/02/22(金) 17:11:59ID:SvFBqeTu
>>881
どもです。
display_errorsはOnにしています。
環境はLAMP環境で、Apache2.0,PHP4,MySQL4です。
今試したんですが、最小ソースでも動作しませんでした・・・・・。
これはもうテスト機の問題なのかな。
0883nobodyさん2008/02/22(金) 17:12:45ID:???
エラーレポーティングは?
0884nobodyさん2008/02/22(金) 17:24:34ID:???
あとはアパッチのログぐらいしか思いつかないな
0885nobodyさん2008/02/22(金) 17:58:55ID:SvFBqeTu
apacheのエラーログになんか怪しそうなの発見しました!

an unknown filter was not added: PHP

これってどこ直せばいいんでしょ?
0886nobodyさん2008/02/22(金) 17:59:16ID:???
調べたのですが自信がないので質問させてください

とあるスクリプト内のコメントアウトに
# シャープが使われていました

PHP のコメントアウトは
// スラッシュを2つ
だと理解しているのですが、上記のようにシャープでも有効なのでしょうか?
0887nobodyさん2008/02/22(金) 18:01:25ID:???
>>886
>>8
0888nobodyさん2008/02/22(金) 18:02:13ID:SvFBqeTu
>>883
ちなみにerror_reportingはE_ALLにしてあります。
0889nobodyさん2008/02/22(金) 18:13:05ID:vRTrnQEH
>>887
ご指摘ありがとうございます
冒頭にあります汚い言葉がNG処理のため>>8が見えませんでした、すみません…orz

あらためまして、質問させてください

・FreeBSD
・Apache 1.3.x
・PHP 5.x

質問内容は >>886 になります
よろしくお願いいたします
0890nobodyさん2008/02/22(金) 18:23:38ID:vRTrnQEH
マニュアルを探してみて
「コメントアウト」では見つからなかったのですが、
「コメント」という項目を見つけて自己解決できました
お騒がせしてすみませんでした…orz

PHPのコメントアウトについての説明があるページ
http://www.php.net/manual/ja/language.basic-syntax.comments.php
後々の方のために簡潔に記してみます

一行だけのコメントアウト
 (1) // ...
 (2) # ...

複数行のコメントアウト
    /* ...
      ... */
0891nobodyさん2008/02/22(金) 19:17:32ID:INKr73LK
php -vを実行したところ、
PHP Warning: PHP Startup: Unable to load dynamic library '/usr/local/lib/php/20060613/mysqli.so' - Cannot open "/usr/local/lib/php/20060613/mysqli.so" in Unknown on line 0
PHP Warning: Module 'bz2' already loaded in Unknown on line 0
PHP Warning: Module 'calendar' already loaded in Unknown on line 0
PHP Warning: Module 'ctype' already loaded in Unknown on line 0
PHP Warning: Module 'pcre' already loaded in Unknown on line 0
PHP Warning: Module 'SimpleXML' already loaded in Unknown on line 0
PHP Warning: Module 'SPL' already loaded in Unknown on line 0
...................
...................

こんな感じでエラーがたくさん出力されますが、phpの実行には支障がありません。
このエラーメッセージを出なくするためには、どの辺の設定をいじるべきでしょうか?

環境はphp5,CentOSです。宜しくお願いします。
0892nobodyさん2008/02/22(金) 19:30:21ID:???
>>891
エクステンションが読めない、とかじゃないの?
あと、多重存在してたり存在しないとかだとオモ。
centosは具体的にどうするかわからんが、apt同等のモノでエクステンション突っ込むか、php.iniをextensionで検索してその近辺。
0893nobodyさん2008/02/22(金) 20:01:19ID:???
エラーじゃなくて、「警告」だろ。その程度の英語も読めないのか?
それに display_startup_errors を on にしてるんだろ。
0894nobodyさん2008/02/23(土) 00:06:12ID:???
>>893
おまえイタイな
0895nobodyさん2008/02/23(土) 01:16:43ID:5YrQuqb+
確かに痛い・・・
0896nobodyさん2008/02/23(土) 01:21:40ID:???
phpでアクセスするとあるサイトにデータを取りに行って
そのデータを加工してテキストで出力するプログラムを
作っているんですが
php側のすべての処理が終わって
ブラウザがすべてのデータを受け取ったあとでも
IEやFirefoxのクルクル(って言うんですかね?アクセス中にクルクルする奴です)
がとまりません

コードの最後には exit(); を書いているのでそこで終了している認識なのですが
どのようなことが考えられるでしょうか?

この辺を見れば?というようなヒントでもいただけると助かります

環境は
apache2.0系
mod_php
php4.2

それで何が起きるかといえば特に障害とはなっていないのですが
ちょっと気持ちが悪いので


0897nobodyさん2008/02/23(土) 01:59:24ID:???
くだらない質問ですがちょっと興味を持ったのでお願いします
PHPを暗号化するソフトがあると知りまして調べたところ
下記の3つを見つけました、暗号化するほどたいそうな物は作ってはおりませんが興味がありますので
是非、このスレの先輩方にこれらの暗号化ソフトの評判を聞きたいです



PHP Screw

ionCube Encoder

コードロック
0898nobodyさん2008/02/23(土) 02:00:06ID:5YrQuqb+
>>896

exitの直前にデバッグ出力して本当にexitまで到達してるか
調べてみたら?
0899nobodyさん2008/02/23(土) 02:00:26ID:A6pWBnk9
上げ忘れましたすみません
0900nobodyさん2008/02/23(土) 05:33:41ID:???
>>898
デバッグ出力したところ、"exit"命令の"exi"で止まってました。どうやったら"t"までたどり着けますか?
0901nobodyさん2008/02/23(土) 05:37:07ID:???
exit()は命令じゃなく関数なんだけどね
0902nobodyさん2008/02/23(土) 05:49:03ID:???
というかexit();なんて普通使わない
0903nobodyさん2008/02/23(土) 06:03:00ID:???
exit、終了コード見るのに普通に使うが。
0904nobodyさん2008/02/23(土) 06:57:24ID:???
おっさん乙
0905nobodyさん2008/02/23(土) 10:23:06ID:???
初心者です。よろしくお願いします。
簡潔な表現で日本以外のアクセスをブロックできませんでしょうか?
フリーのPHP掲示板を使用しているのですが、中国人に荒らされて困っています。
09068522008/02/23(土) 10:31:17ID:???
gethostbyaddr($_SERVER['REMOTE_ADDR'])で返ってきた文字列がjpで終わってなければ蹴る
0907nobodyさん2008/02/23(土) 10:32:20ID:???
うは・・・昨日の名前つけたままだった・・・orz
09089052008/02/23(土) 11:22:50ID:???
>>906
いきました
ありがとうございました
0909nobodyさん2008/02/23(土) 12:03:10ID:???
yahooとかどーすんだよw
0910nobodyさん2008/02/23(土) 12:19:28ID:???
.comと.net涙目www
0911nobodyさん2008/02/23(土) 12:51:03ID:???
「中国人」という情報だけで何をアドバイスしろとw
0912nobodyさん2008/02/23(土) 12:59:46ID:???
HTTP_ACCEPT_LANGUAGEを見るとか
もうちょっとましなアドバイスがあるだろw
0913nobodyさん2008/02/23(土) 13:28:02ID:QK8bgtUE
ファイルの先頭に追記書き込みをしたいのですがどうすればよいのでしょうか
ご教授お願いします
0914nobodyさん2008/02/23(土) 13:37:24ID:???
・新しいファイル作ってその後ろに既存のファイルの内容を追加
・ファイルの内容を全部読み込んで、先頭に内容を追加してファイルの書き込み
0915nobodyさん2008/02/23(土) 13:42:25ID:???
やっぱり先頭に追記できる便利な関数はないんですね・・

どうもありがとうございました
0916nobodyさん2008/02/23(土) 14:04:14ID:???
そんな関数があろうとやってる処理は同じ
0917nobodyさん2008/02/23(土) 14:13:19ID:???
>>914
新しいファイルを作る必要はない。
元のファイルをfileで読み込んで配列内で追加してソートして書き出せばいい。

で、>>913は、チャットかなんかでログをそのままの順番で表示したいんだろうけど、
追記したものを、一度fileで配列に読み込んで逆ソートすれば同じものになる。
0918nobodyさん2008/02/23(土) 14:20:35ID:???
>>917
なるほど!ありがとうございます
0919nobodyさん2008/02/23(土) 14:24:24ID:???
> ・ファイルの内容を全部読み込んで、先頭に内容を追加してファイルの書き込み

917 は文盲なのか?
0920nobodyさん2008/02/23(土) 16:40:19ID:???
たいした問題でもないのにいちいち難癖つけるなよ。
0921nobodyさん2008/02/23(土) 16:45:06ID:???
IPから仮IDを発行する事はできますでしょうか?

【例】
携帯⇒
Do[$id]
AU[$id]
SB[$id]

PC⇒
PC[$id]

よろしくお願いします。
0922nobodyさん2008/02/23(土) 16:48:57ID:???
>>921
それだけじゃ何がしたいのかあいまいでわからない。
あと上で何度も>>8と書かれてる理由もわかって。
0923nobodyさん2008/02/23(土) 16:53:23ID:???
>>921
よくわからんが、IPから携帯キャリアを判別したいなら「携帯キャリア IP」 でぐぐれ。
0924nobodyさん2008/02/23(土) 17:41:59ID:???
>>707
09259052008/02/23(土) 17:49:46ID:Zm4gWLCu
>>922-923

すみません。

id.datファイルにある数値を$idとして読み込み

DoCoMoの場合は$agent = "Do"
AUの場合は$agent = "AU"
Softbankの場合は$agent = "SB"

echo "{$agent}{$id}";

として表示したいです。

稚拙な説明申し訳ありません
0926nobodyさん2008/02/23(土) 17:55:49ID:???
idからキャリアを判別する方法は?
0927nobodyさん2008/02/23(土) 18:51:04ID:???
一番簡単なのはUAで判別だが
正確さを求めるならやはり各キャリアの技術情報からIPアドレスで判別
または回線が余裕ならDNS引いて判別もあるがリソースを食うからなぁ。
0928891 2008/02/23(土) 19:00:14ID:DpvE5W4r
>>892>>893
アドバイスありがとうございました。
ご指摘のphp.iniのextension_dirを見直しました。

> PHP Warning: PHP Startup: Unable to load dynamic library '/usr/local/lib/php/20060613/mysqli.so' - Cannot open "/usr/local/lib/php/20060613/mysqli.so" in Unknown on line 0
と出力されているいうものについては、php.iniのextension_dirで指定したところに、
soファイルを置きました。
そうすると、今度は、
> PHP Warning: Module 'mysqli' already loaded in Unknown on line 0
と出てしまいます。

逆に、
> PHP Warning: Module 'bz2' already loaded in Unknown on line 0
と出ているモジュールをextension_dirで指定されているディレクトリから削除すると、
今度は、
> PHP Warning: PHP Startup: Unable to load dynamic library '/usr/local/lib/php/20060613/bz2.so' - Cannot open "/usr/local/lib/php/20060613/bz2.so" in Unknown on line 0
と出てしまいます。

find / -name bz2.so
で全検索しましたが、ファイルの実体は一つしかありません。

再起動も掛けて症状に変化がありません。もう訳分からない状態です。
他に、試してみることありますか?宜しくお願いします。
0929891 2008/02/23(土) 19:04:51ID:DpvE5W4r
あと、>>893さんからご指摘いただいたは、display_startup_errorsはOffになっていました。
Apacheの起動ログや、コマンドラインからphpを使う際に、このWarningメッセージができます。

この際は、Warningが発生してもいいので、
コマンドラインから使う場合にこのエラーメッセージを標準出力に出さないように出来ればそれでも構いません。
どうか宜しくお願いします。
0930nobodyさん2008/02/23(土) 20:00:31ID:???
>929
alreadyなモジュールをコメントアウトすればど?
0931nobodyさん2008/02/23(土) 20:18:41ID:???
>929
もうひとつ、alreadyなので既にそのモジュールはLoadされてるってことじゃないかと。
$ php -m
でモジュール一覧
$ php -m -n
で*.iniを使わないときのモジュール
$ php --ini
がどの*.iniを見てるか
で、考えてみ
0932891 2008/02/23(土) 20:33:24ID:DpvE5W4r
>>931
本当にどうもありがとうございました。
解決しました。

> Additional .ini files parsed: /usr/local/etc/php/extensions.ini
こんなファイルを定義ファイルとして指定したつもりはなかったのですが、
勝手に定義ファイルに指定されていました。この中の重複モジュールをコメントすることで対応しました。

本当に助かりました!!!!
0933nobodyさん2008/02/23(土) 20:36:49ID:dbEYiTan
配列    中身
hairetu[0]→2
hairetu[1]→5
hairetu[2]→6
hairetu[3]→7


これをこんなふうに

 変数   中身
hensuu→ 2,5,6,7

変数に取り込む方法を何卒教えてください
0934nobodyさん2008/02/23(土) 20:37:53ID:???
$hensuu = implode(',', $hairetu);
0935nobodyさん2008/02/23(土) 20:38:37ID:???
ありがとうございます、助かりました
0936nobodyさん2008/02/24(日) 01:14:18ID:???
パケ代が10万円を超えたのを、おれのサイトのせいにして、
暴れている馬鹿に天誅を下す為に、phpでクラックする方法を模索しているが、
phpそのものがクラックされているwww
0937nobodyさん2008/02/24(日) 02:06:44ID:???
日本語でおk
0938nobodyさん2008/02/24(日) 02:08:07ID:???
どちらも同レベル
0939nobodyさん2008/02/24(日) 02:15:25ID:aMeZTtDm
PHPでちょっとした数字の計算をやっていたのですが、
「%」を使うと、割った余りが出るんですよね?

しかし「$amari=30%5;」を実行させると「1」が出るのですが、
なぜでしょうか・・・?「30÷5=6…0」のはずでは?
0940nobodyさん2008/02/24(日) 02:21:42ID:???
<?php
echo 30 % 5;

出力結果:0
0941nobodyさん2008/02/24(日) 03:57:22ID:???
>>939
コードのどっかで代入間違えてる可能性あるから
答え格納してる変数をechoとかでトレースしてみれ。
あんま長いコードでないならそのままこっちに書いたほうがはやいけど。
0942nobodyさん2008/02/24(日) 04:07:25ID:i4ew7RJV
あるスクリプトを走らせると、タイムゾーンの設定が狂います。
一度狂うとApacheを再起動しない限り直りません。
タイムゾーンが狂う場所は突き詰めたのですが、この先が解決できません。
なお、Apacheのログは正常なタイムゾーンで記録されています。

Win2kSP4+Apache2.2.8+PHP5.2.5の環境で、php.iniには
「date.timezone = "Asia/Tokyo"」の設定をしてあります。

具体的には、以下のスクリプトの出力が
08/02/24 3:57
08/02/23 18:57
というようになります。

echo date("y/m/d G:i");

$params = array(
'mail' => 'mail@example.com',
'password' => 'pass',
'next_url' => 'hogehoge'
);
$ch = curl_init('http://example.com/');
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, FALSE);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
curl_setopt($ch, CURLOPT_COOKIEJAR, "cookie");
curl_setopt($ch, CURLOPT_POST, TRUE);
curl_setopt($ch, CURLOPT_POSTFIELDS, $params);
$output = curl_exec($ch);
curl_close($ch);

echo "\n".date("y/m/d G:i");
0943nobodyさん2008/02/24(日) 05:38:42ID:???
接続先の時間は?

ふぉろーろけーしょんでGMTなのか?
システム時刻に上乗せして足してるはずないし。
0944nobodyさん2008/02/24(日) 13:21:33ID:FbW8idvi
ある配列 $data = array (0,1,2,3,4,5,6,7,8,9);があって
もう一つの値xが、$data内の値いずれでもないことを調べるのに簡単な方法ってありますか?
if($data[0] == x)のように一項目ずつ入れて判定していくと記述が冗長になってしまいます。
よろしくお願いします。
0945nobodyさん2008/02/24(日) 13:22:46ID:???
!in_array($x, $data)
0946nobodyさん2008/02/24(日) 13:29:33ID:???
どんな関数があるかは、逆引き本買ったほうが早いよ
いちいちここで聞くの効率悪くね?
0947nobodyさん2008/02/24(日) 13:31:10ID:???
マニュアルに無料で載ってね?
0948nobodyさん2008/02/24(日) 13:31:48ID:FbW8idvi
>>945
ありがとうございます。
>>946
そうですね、検討してみます。
0949nobodyさん2008/02/24(日) 13:36:19ID:???
>>947
名前が分かってれば調べられるけど、「こんな機能の関数」って感じでは調べられないでしょ。
ググルのもありだとは思うけど。
0950nobodyさん2008/02/24(日) 13:42:15ID:???
>>949
この手の質問が出るのなんてほとんど配列か文字列の関係だから、
http://jp2.php.net/manual/ja/ref.array.php
http://jp2.php.net/manual/ja/ref.strings.php

ぐらいは、ざっとでも眺めたほうが良いとは思う。

それにしても >>942 が気になる...。
0951nobodyさん2008/02/24(日) 13:46:26ID:???
>>950
もちろんマニュアルを読むのは推奨だよね。
ただ初心者が機能から探すにはちょっと不便だと言っているだけです。
>>1はまず読んでいるという前提で、分からなければ質問者のためにはなるかなと。
0952nobodyさん2008/02/24(日) 13:48:49ID:???
数百個もあるわけじゃないんだから面倒臭がらずにちゃんと見ろよ。
単語でページ内検索もできるし、関数ページには関連関数のヒントも出てる。
0953nobodyさん2008/02/24(日) 13:53:33ID:???
ぶっちゃけ質問者が好きなほう選んだらいい事。
関数名分かっているときはマニュアルで、機能から逆引きは逆引き本使っているな俺は。
各自自分にあった方法でやればいいだけ、いちいち人のに反論する理由が良く分からん。
0954nobodyさん2008/02/24(日) 13:56:56ID:???
phpspot
09559422008/02/24(日) 14:17:55ID:???
>>943
接続先からは、今の時間でしたらSun, 24 Feb 2008 05:12:49 GMTと返ってきました。
FollowLocationのFollow先も、同じ鯖内です。

すべての行にecho dateを挿入したところ、curl_execで狂うことが分かりました。

CURL関係でタイムゾーン周りの設定があるのでしょうか。
ぐぐってみましたが見あたりませんでした。
0956nobodyさん2008/02/24(日) 14:33:04ID:???
初心者であることは構わないが
初心者は初心者であることを言い訳に楽したがる傾向があるな。
初心者ならphpのウリである標準関数のチェックくらい厭わずに地道に努力しろよと。
0957nobodyさん2008/02/24(日) 16:09:39ID:???
>>942
942のソースコピペで確認。同じ時刻が表示されるなー

08/02/24 16:03
08/02/24 16:03
---
cURL Information => libcurl/7.16.0 OpenSSL/0.9.8e zlib/1.2.3
PHP 5.2.5 (cli) (built: Nov 8 2007 23:18:51)
Microsoft Windows XP [Version 5.1.2600]
09589422008/02/24(日) 16:21:10ID:???
>>957
942のソースだと私も同じ時刻になりました。

接続先はニコニコ動画です。
アカウント持っている方は試してみていただけますか。
942のソースの以下の部分を変更してください。

$params = array(
'mail' => 'メールアドレス',
'password' => 'パスワード',
'next_url' => '/api/getflv/sm9'
);
$ch = curl_init('https://secure.nicovideo.jp/secure/login?site=niconico');
0959nobodyさん2008/02/24(日) 16:55:39ID:???
>>942
デフォルトがGMTに変更されてしまうね。最後のとこで
echo "\n".date("y/m/d G:i")." ".date_default_timezone_get();
するとGMTになってますな。

とりあえず最初に
$default_tz = date_default_timezone_get();
......
......
最後に
date_default_timezone_set($default_tz);
とかしたらどう
0960nobodyさん2008/02/24(日) 17:32:45ID:???
そこまでやったら試せよw
09619422008/02/24(日) 17:45:07ID:???
>>959
それでいけました!ありがとうございます!
助かりました。感謝感激です。
0962nobodyさん2008/02/24(日) 17:49:10ID:???
バイナリセーフじゃない関数(file_get_contents)で、
GET値処理したいのですが、
$_GET['hoge']値を処理したい場合、

$hoge = str_replace("\0", "", $_GET['hoge']);
$contenst = file_get_contents($hoge);

で問題なくなりますか?
もしくは
if (mb_eregi("\0", $_GET['hoge'])){ exit(); }
とかで良いのでしょうか?

ヌル文字というやつがイマイチ分からなくて。。。
09639622008/02/24(日) 17:50:24ID:???
ちなみに ../ などの入力値は事前にとかは拒否してます。
0964nobodyさん2008/02/24(日) 18:26:00ID:WLGwl6jq
smartyを使っていると、displayメソッドで数百回に1回、
5秒〜300秒かかる場合があります。
前後で時間計測してやっと特定したのですが、ここから先が複雑で原因は分かっていません。

$smarty->display($tmplatePath);

このメソッド内で処理が遅くなりそうなところってどこでしょうか?
漠然としてしますが、ヒントだけでも頂戴できれば嬉しいです。
お願いします。
0965nobodyさん2008/02/24(日) 18:50:44ID:???
>>964
キャッシュ
中間コンパイル
09669422008/02/24(日) 18:52:52ID:???
何度もすみません・・・
959の方法でいけたと思ったのですが、二度目以降はGMTになってしまいます。
ソースの最初と最後にecho date_default_timezone_get();を入れると、

一度目
Asia/Tokyo

Asia/Tokyo

二度目
GMT

GMT

となるので、サーバーの設定自体が変わってしまっているように思えます。
PHPのインストールでタイムゾーンに関する設定は、php.iniのdate.timezone以外にありますか?
0967nobodyさん2008/02/24(日) 19:31:05ID:???
>>962-963
>>8
0968nobodyさん2008/02/24(日) 19:43:07ID:???
ふむ
0969nobodyさん2008/02/24(日) 21:05:23ID:???
次スレ

【PHP】下らねぇ質問はここに書き込みやがれ 65
http://pc11.2ch.net/test/read.cgi/php/1203854597/
0970nobodyさん2008/02/24(日) 21:25:26ID:???
>>969 死んでくれ
0971nobodyさん2008/02/24(日) 21:28:16ID:???
>>970
IDでないとダメな理由いえよw
毎回そうなんだよ
明確な理由が無いのにぐだぐだ煩い奴だ
0972nobodyさん2008/02/24(日) 21:29:46ID:???
また、テンプレ改悪のままかよ…わざとやってるとしか思えん。
0973nobodyさん2008/02/24(日) 23:16:30ID:???
新スレ立てるの速くね?
早漏れかよ
0974nobodyさん2008/02/24(日) 23:37:34ID:???
>>973
スレ立てが指定してある訳でもないから
別に問題ないだろ
0975nobodyさん2008/02/24(日) 23:44:34ID:???
●持ってるから建て直していい?
0976nobodyさん2008/02/24(日) 23:48:31ID:???
>>975
立て直す理由が無いだろ
0977nobodyさん2008/02/25(月) 00:17:16ID:???
−−−−−−−−−− 以下テンプレ議論になりました −−−−−−−−−−−
0978nobodyさん2008/02/25(月) 01:53:56ID:slLlRgiK
class test
{
static public function a()
{
self::b()
}

private function b()
{
echo 'test';
}
}

test::a();

$test = new test;
$test->a();

両方で使えるようにこうするのは正しいですか?
0979nobodyさん2008/02/25(月) 01:54:29ID:???
テンプレの前に969=971=974=976をどうにかしてくれ
09809422008/02/25(月) 02:08:25ID:x26foiks
苦し紛れに、既存の全てのスクリプトの先頭にdate_default_timezone_set('Asia/Tokyo');を入れて
対処しようとしましたが、何故か動かなくなるスクリプトが出たためこれも断念。

何かいい方法ないですかね・・・
というか、さすがにこれはPHPのバグを疑ってもいいような気がします。

>>971
質問する側にとっては分かりにくい。
なぜ質問後にID表示やトリップなのか。意味がない。

今回初めてこのスレに来ましたが、初めての人に分かりにくいので立て直してもいいかと思います。
0981nobodyさん2008/02/25(月) 02:28:29ID:???
>>980
質問後ってのはテンプレ変えた奴が間違ってんだろ
前スレではIDとトリップをOKにという意図でこのスレを立てた筈
0982nobodyさん2008/02/25(月) 04:13:15ID:???
>>978
日本語でおk
0983nobodyさん2008/02/25(月) 11:05:51ID:qI4PW04V
質問です。

PHPとMySQLを使ってWEBサイトを構築したいのですが
お勧めのサイトや書籍はありますか?
商品の情報をDBにCSVなどで読み込ませてPHPで検索結果を表示させるサイト
を勉強してみたいです。
0984nobodyさん2008/02/25(月) 11:11:22ID:???
> DBにCSVなどで読み込ませて

意味わかってねーだろ


とりあえずAmazonにショップングカートやそういった関連の本が結構あるから調べてみるといい
0985nobodyさん2008/02/25(月) 12:25:11ID:???
>>983

ttp://mysqlweb.net/category/4005373-1.html
0986nobodyさん2008/02/25(月) 12:41:38ID:???
>>983
「MySQL入門以前/石田 豊」は結構良いと思うよ。
0987nobodyさん2008/02/25(月) 16:16:24ID:qI4PW04V
>>984>>985>>986
ありがとうございます
>>986の本ポチっちゃいました♪
0988nobodyさん2008/02/25(月) 16:17:02ID:???
そう、>>986は石田豊本人だったのである
0989nobodyさん2008/02/25(月) 16:48:15ID:???
array_rand()を知らなくて、
配列から重複しない複数の要素を選び出す関数を作ってた俺乙過ぎ。
0990nobodyさん2008/02/25(月) 17:01:10ID:???
Snoopyの使い方がよく分からん
0991nobodyさん2008/02/25(月) 17:31:31ID:???
あっそ
0992nobodyさん2008/02/25(月) 18:08:10ID:srndQzeu
PDFの容量を抑えつつ、日本語のPDFを生成できるライブラリ等は無いでしょうか。
TCPDFを使用したのですが、内容がほとんど無い一ページでも5メガ近くになってしまいます。
どうも日本語フォントのイメージを全部持っているようなので、もうちょっと軽くしたいんです。
0993nobodyさん2008/02/25(月) 18:23:16ID:hDqzyK/W
while(($foo[] = fgetcsv($fp)) == true){
}

csvファイルから全ての行を配列$fooに読み込むコードを書いてたら、
処理の中身がない歪なコードになったけど、こんな書き方していいんでしょうか?
もっとスマートな書き方があれば教えて下さい。
0994nobodyさん2008/02/25(月) 18:40:50ID:???
>>993
while (feof($fp)) {
 $foo[] = fgetcsv($fp);
}
0995nobodyさん2008/02/25(月) 19:12:48ID:srndQzeu
>>992
自己解決しました、お目汚し失礼しました。
0996nobodyさん2008/02/25(月) 19:17:28ID:???
よければ解決方法を簡単にでも書いていってよ。
参考にしたページのリンクだけでも良いから。
0997nobodyさん2008/02/25(月) 19:19:07ID:???
   _,,....,,_  _人人人人人人人人人人人人人人人_
-''":::::::::::::`''>       お断りします!!!   <
ヽ::::::::::::::::::::: ̄^Y^Y^Y^Y^Y^Y^Y^Y^Y^Y^Y^Y^Y^Y^ ̄
 |::::::;ノ´ ̄\:::::::::::\_,. -‐ァ     __   _____   ______
 |::::ノ   ヽ、ヽr-r'"´  (.__    ,´ _,, '-´ ̄ ̄`-ゝ 、_ イ、
_,.!イ_  _,.ヘーァ'二ハ二ヽ、へ,_7   'r ´          ヽ、ン、
::::::rー''7コ-‐'"´    ;  ', `ヽ/`7 ,'==─-      -─==', i
r-'ァ'"´/  /! ハ  ハ  !  iヾ_ノ i イ iゝ、イ人レ/_ルヽイ i |
!イ´ ,' | /__,.!/ V 、!__ハ  ,' ,ゝ レリイi (ヒ_]     ヒ_ン ).| .|、i .||
`!  !/レi' (ヒ_]     ヒ_ン レ'i ノ   !Y!""  ,___,   "" 「 !ノ i |
,'  ノ   !'"    ,___,  "' i .レ'    L.',.   ヽ _ン    L」 ノ| .|
 (  ,ハ    ヽ _ン   人!      | ||ヽ、       ,イ| ||イ| /
,.ヘ,)、  )>,、 _____, ,.イ  ハ    レ ル` ー--─ ´ルレ レ´
0998nobodyさん2008/02/25(月) 19:23:40ID:hDqzyK/W
>>994
ありがとうございました。一瞬つまづきましたが、正確には!feof($fp)ですね。
0999nobodyさん2008/02/25(月) 19:41:00ID:???
>>996
トラブルシューティング広場じゃないんだぜ
何度同じ質問がきても淡々と答えるのが回答者のマナー
1000nobodyさん2008/02/25(月) 19:43:31ID:???
1000獲ったどー
10011001Over 1000Thread
このスレッドは1000を超えました。
もう書けないので、新しいスレッドを立ててくださいです。。。
レス数が1000を超えています。これ以上書き込みはできません。