【PHP】下らねぇ質問はID出して書き込みやがれ 79

このエントリーをはてなブックマークに追加
1nobodyさん
質問者はまず>>1を良く読むこと(必須!)
過去スレ、関連スレ、FAQなどは>>2-10辺り
次スレは>>980が立てる。10分以内に立たない場合、宣言してから立てたい人が立てること。

◆前スレ
【PHP】下らねぇ質問はID出して書き込みやがれ 78
http://pc11.2ch.net/test/read.cgi/php/1230026935/

◆質問用テンプレ
【OS名】vine linux
【PHPのバージョン】php5.26
【連携ソフトウェア】mysql
【質問内容】

◆質問する時の注意
・ スレを上げて自分のIDを表示させること。(メール欄に何も記述しない。専ブラのsageチェックを外す)
・ 己の行った操作、変更などを詳しく明記すること。
・ エラーメッセージはそのまま表記すること。「エラーが出ます」だけでは回答不可。
・ 質問者として、態度をわきまえること。
・ 事前に関連リンクの公式マニュアル、リファレンス本くらいはちゃんと目を通しておくこと。
(PHPで最良の教本はこの公式マニュアル。市販の書籍は嘘が多いので鵜呑みにしない。)

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

◆回答者への注意
・誰にレスしているのか分からないと困るので、>>(アンカー)をつけて回答すること。
2nobodyさん:2009/01/13(火) 21:48:55 ID:???
【その他諸注意】
・SQL・正規表現・PEAR・テンプレート(Smarty等)・フレームワークは各該当スレへ
3nobodyさん:2009/01/13(火) 21:49:45 ID:???
■過去ログ
【PHP】下らねぇ質問はID出して書き込みやがれ 78
http://pc11.2ch.net/test/read.cgi/php/1230026935/
【PHP】下らねぇ質問はID出して書き込みやがれ 77
http://pc11.2ch.net/test/read.cgi/php/1228667259/
【PHP】下らねぇ質問はID出して書き込みやがれ 76
http://pc11.2ch.net/test/read.cgi/php/1226517332/
【PHP】下らねぇ質問はID出して書き込みやがれ 75
http://pc11.2ch.net/test/read.cgi/php/1224168721/
【PHP】下らねぇ質問はID出して書き込みやがれ 74
http://pc11.2ch.net/test/read.cgi/php/1221909788/
【PHP】下らねぇ質問はここに書き込みやがれ 73
http://pc11.2ch.net/test/read.cgi/php/1220440493/
【PHP】下らねぇ質問はここに書き込みやがれ 72
http://pc11.2ch.net/test/read.cgi/php/1218855685/
【PHP】下らねぇ質問はここに書き込みやがれ 71
http://pc11.2ch.net/test/read.cgi/php/1216291372/
【PHP】下らねぇ質問はここに書き込みやがれ 70
http://pc11.2ch.net/test/read.cgi/php/1214356448/
【PHP】下らねぇ質問はここに書き込みやがれ 69
http://pc11.2ch.net/test/read.cgi/php/1211879073/
【PHP】下らねぇ質問はここに書き込みやがれ 68
http://pc11.2ch.net/test/read.cgi/php/1209822736/
【PHP】下らねぇ質問はここに書き込みやがれ 67
http://pc11.2ch.net/test/read.cgi/php/1207863515/
【PHP】下らねぇ質問はここに書き込みやがれ 66
http://pc11.2ch.net/test/read.cgi/php/1205655807/
【PHP】下らねぇ質問はここに書き込みやがれ 65
http://pc11.2ch.net/test/read.cgi/php/1203854597/
4nobodyさん:2009/01/13(火) 21:50:55 ID:???
関連リンク
■本家マニュアル   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://www.smarty.net/manual/ja/

(以下英語)
■Smarty       http://www.smarty.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/
5nobodyさん:2009/01/13(火) 21:51:16 ID:???
【簡易FAQ】
1.文字コードは何を使えばいいの?
 →1.UTF-8 2.EUC-JP のどちらか。迷うようなやつはShift_JISは使っちゃダメ。
2. このスレに書き込むときに自分のサイト名を晒したくない
 → http://example.com/が例文などのために予約されている。hogehoge.comは使っちゃダメ。
3. ブラウザに何も表示されないんだけど・・・
 → Apacheの設定を見直せ。ファイルの拡張子は何にしてて、その拡張子でPHPを呼ぶようになっているか?
4. 記号の意味がわからないけどググりようがない
 → 「@」 エラー表示を抑制、「->」 オブジェクトのメンバにアクセス、「::」 静的なメソッド呼び出し、
  「==」は暗黙の型変換をしてゆるい比較、「===」は型情報も含めた厳密な比較
5. echo "$arr['hoge']['fuga']"; と書いたらエラーになった
 → {おっぱい括弧}でくくって"{$arr['hoge']['fuga']}"にする
6. 一定時間ごとに自動的に何かしたいんだけど
 → cronかタスクスケジューラを使え。
7.extractって危険なの?
 →変数上書き&初期化忘れなどで危険。楽だからという理由だけで安易に使わない。
8. include/requireに「〜.php?a=b&c=d」のようなパラメータをつけたい
 → URL呼び出しなら可能だけど、普通のファイル呼び出しではできません
9.include/requireでURLを指定しても何も起きない
 → .phpの拡張子のファイルをURLで呼び出すと、1度PHPプログラムとして実行された結果になる。
6nobodyさん:2009/01/13(火) 21:51:45 ID:???
10. そもそもインストールの時点でうまくいかない
 → 確認すべきはPHPのconfigureの引数、php.iniの内容と置き場所、
  Webサーバの設定(Apacheならhttpd.conf)、起動&再起動あたり
11. SQLの質問はどこで?
 → データベース板に誘導されるのが嫌ならPHPにうまく関連させて質問する
12. 文字列のなかに、英字のみとか数字のみとか記号が入っちゃいやんとかはどうしたらいいの?
 → ctype_〜()が手軽。複雑なパターンはpreg_〜()あたりで正規表現を使う。
13. $a1, $a2, $a3 ... のような変数名をうまく扱いたい
 → 可変変数で実現できるけど、むしろ配列を使って$a[1], $a[2], $a[3]等とするのがベター
14. echoとprintってどう違うの?
 → よく議論される話題であるが基本的に両者とも同じ。 以下ちょっとした議論。
  http://www.faqts.com/knowledge_base/view.phtml/aid/1/fid/40
15. クッキーの情報をユーザから隠したい
 → セッション使え。ただしクッキーとセッションは仕組みが違うから同じように扱うな
16. strip_tags()で削除しないタグを複数指定したい
 → strip_tags($html, '<a><p><font>'); // htmlspecialchars()も検討すべし
17. CSVやTSVのファイルをスマートに扱いたい
 → まずはfgetcsv()。ただし日本語を含むと正常に動作しない場合があるので注意だ。
18. 値渡しと参照渡し(「&」を使う)のパフォーマンスの違い
 → C言語じゃないので、パフォーマンス目的で使いわけたらダメ。参照渡しにすると逆に遅くなったりする
  参照渡しは引数に戻り値を設定したり引数を関数内で変更するなど、正しい目的に使うこと
19. ファイル入出力関数(fopen等)でリモートファイル(http://〜とか)を扱う際の限界
 → fsockopen()でソケット通信 or PEARのHTTP系 or CURLで解決
  必要ならHTTPをはじめとする各種プロトコル(どんなデータを送受信するか)はRFCなどで調べる
20. PHPからPOSTリクエストしたい
 →19.を参照
21. 画像処理一般 or GDの限界
 → ImageMagick(PECLのやつ or シェルから実行)
22. 画像・音・動画はファイルで保存?DBに保存?
 → 好きにしてください
7nobodyさん:2009/01/13(火) 22:02:41 ID:???
スレ立てた人です。
すみません、>>4の修正が少し足りませんでした。

次スレでは>>4は↓をコピペした方がいいと思います。

---
関連リンク
■本家マニュアル   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://www.smarty.net/manual/ja/

(以下英語)
■Zend本家      http://www.zend.com/
■Zend Framework  http://framework.zend.com/
■php | architect   http://www.phparch.com/
■Smarty       http://www.smarty.net
■Smartyマニュアル http://smarty.php.net/manual/en/
■PECL本家(英語) http://pecl.php.net/
8nobodyさん:2009/01/13(火) 22:26:50 ID:???
9nobodyさん:2009/01/14(水) 00:52:59 ID:OAWf+UCm
       //
     /  /   パカッ
     //⌒)∩__∩
    /.| .| ノ     ヽ
    / | |  ●   ● |     
   /  | 彡  ( _●_) ミ  まピョーん☆
   /  | ヽ  |∪|  /_
  // │   ヽノ  \/
  " ̄ ̄ ̄ ̄ ̄ ̄ ̄(..ノ
10nobodyさん:2009/01/14(水) 01:32:23 ID:???
       ,-┐
 ,ィ─、ri´^-─- 、 .┌f^f^f^f^f^f^f^f^f^┐
く  / , ,'   ヽ ヽ| ~ ~ ~ ~ ~ ~ ~ ~ ~│
 `<' / ,'レイ+tVvヽ!ヽト 知ってるが  │
  !/ ,' i |' {] , [}|ヽリ  お前の態度が |
  `!_{ iハト、__iフ,ノリ,n   気に入らない |
   // (^~ ̄ ̄∃_ア____n_____|
 _r''‐〈  `´ア/トr──!,.--'
<_>─}、  `」レ
'ヽ、   ,.ヘーァtイ
   Y、.,___/  |.|
    |  i `ー'i´
11nobodyさん:2009/01/14(水) 01:32:54 ID:???
12nobodyさん:2009/01/14(水) 15:34:44 ID:???
前スレ998
http://pc11.2ch.net/test/read.cgi/php/1230026935/998
> いやそれはお前が分からないだけだろ
> 素人の信頼性の低いblogや日記なんかを参考にするより20倍はマシ

おー、リファレンスを分かってる人がいたよ。
良かったらこの問題やってみてくれ。
http://pc11.2ch.net/test/read.cgi/php/1228709756/159
13nobodyさん:2009/01/14(水) 18:49:34 ID:???
2chで祭りっぽくなった某番組のクレーム処理したことあるけど
お前らってまじで日本語しゃべれない奴いるのな
マジキチとかそういうんじゃなくて本当に言葉しゃべれないの
電凸するならテンプレぐらい読んでからかけろよ
「あああああの番組だけど・・・その・・・あの・・・あ、あやまれぇぇぇぇぇ!」て第一声は吹きそうなの必死にこらえたぞ
14nobodyさん:2009/01/14(水) 18:54:25 ID:???
>>11
インドのASPだけ伸びがすごいね。
15nobodyさん:2009/01/14(水) 18:58:49 ID:???
ほんとだ、それもかなり前から全域でだな。
16nobodyさん:2009/01/14(水) 20:14:13 ID:EXueNIp4
ややスレチかもしれませんが…。

【OS】Windows Vista x64
【PHPのバージョン】5.2.8
【連携ソフトウェア】MySQL 5.0.32
【XAMPPのバージョン】1.7.0

PDOを利用して開発したものをXAMPP環境下で使用すると、Apacheもろとも強制終了してしまいます。
強制終了する箇所はquery(), execute()のSQL発行時なのですが、それもSELECT文に限ったものです。
INSERT, DELETEはもちろんのこと、SHOW TABLESなど結果セットが返るものも問題なく動作します。
組み込みのmysql_*関数では、このようなことは起きませんでした。
Vista x86環境下でも同様になったのですが、解決策がありましたらご教示お願いします。
17nobodyさん:2009/01/14(水) 20:27:49 ID:???
XAMPP無しで試してみたら?
18nobodyさん:2009/01/14(水) 20:54:11 ID:1y4fkYcF
【OS名】windows/linux
【PHPのバージョン】php5.2.8
【連携ソフトウェア】mysql5.1
【質問内容】
PDOでmysqlに接続しています。
UPDATEで更新した際に、更新した件数を取得する方法を教えてください。

PDO::exec()は件数を返すようですが、パラメータのバインドを使いたいので
prepareを使用した方法を探しています。

よろしくお願いします。
19nobodyさん:2009/01/14(水) 20:58:01 ID:???
rowCount
20nobodyさん:2009/01/14(水) 21:06:22 ID:1y4fkYcF
>>19
すばやい回答ありがとうございます。
rowCountはselect の件数を取得するものかと思っていたのですが、
そうではなかったのですね。

助かりました。ありがとうございます。
21nobodyさん:2009/01/14(水) 21:25:27 ID:ASyGg75+
一つ質問させて下さい。
今PHPで入力UTF-8、出力SJISの携帯サイトを作ってるんですが
POSTから値を受け取りブラウザで表示させようとしたんですが
文字が何も表示されません・・
すいませんがよろしくお願いします。
<?
$tex = $_POST["a"];
echo mb_convert_encoding($tex,"SJIS");
?>
<form action="" method="post">
<input type="text" name="a">
<input type="submit" value="a">
</form>
.htaccessファイル↓
php_value default_charset "SJIS"
php_value output_handler mb_output_handler
php_value mbstring.internal_encoding "UTF-8"
php_value mbstring.http_input "UTF-8"
php_value mbstring.http_output "SJIS"
php_flag mbstring.encoding_translation On
22nobodyさん:2009/01/14(水) 21:31:58 ID:???
mb_convert_encodingしないで、英数なら表示されるのかどうか、
とりあえず、それ試して。
short open tagは大丈夫だよね?
2321:2009/01/14(水) 21:38:32 ID:???
>>22
返信ありがとうございます。
半角英数はmb_convert_encoding指定するしない
両方とも表示されます。
short open tagはOnになってます。
24nobodyさん:2009/01/14(水) 21:41:57 ID:???
したら入力文字列の文字コードチェックして、
mb_convert_encodingの第3引数に渡してみたら?
2521:2009/01/14(水) 21:53:43 ID:???
>>24
先程一度第3引数にUTF-8を指定してみましたが駄目でした・・
今文字コードをmb_detect_encoding($tex);と調べてみたら
ASCIIと表示されたのでmb_convert_encodingの
第3引数にASCIIと入れても駄目みたいです・・・。
26nobodyさん:2009/01/14(水) 21:57:00 ID:EXueNIp4
>>17
XAMPPを使用しないで環境作ったら、何の問題もなく動作しました…。
XAMPPは良くも悪くも、手軽なものだということを痛感。

ありがとうございました。
27nobodyさん:2009/01/14(水) 22:53:00 ID:Lx64uWRL
SQLの質問するのってどこでしたっけ?
板名を教えて下さい。
28nobodyさん:2009/01/14(水) 22:53:06 ID:???
xampp(笑)
まじ初心者はxamppを使うのすすめる教本とかサイトはくたばれよ
29nobodyさん:2009/01/14(水) 22:58:07 ID:???
30nobodyさん:2009/01/14(水) 23:27:45 ID:???
>>25
だめでした、じゃなくてさ、なんか表示されるんでしょ?
英数なら表示されるのに日本語が入ると何も表示されないの?文字化けでしょ?
「abcほげdef」とか入れてみたらどうなる?
31nobodyさん:2009/01/14(水) 23:34:03 ID:sbd7PIk9
<?php
// ユーザIDとパスワードの組み合わせが正しい場合
for($i=0;$i<count($arrUser);$i++){
if($_POST["txtId"] == $arrUser[$i] && $_POST["txtPass"] == $arrPass[$i]){
header("Location:top.php");
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
break;
}}

ここでIDとパスワードを入力します
しかし headerの指定が違うとでてしまいます
http://www.dotup.org/uploda/www.dotup.org10038.jpg
header("Location:相対パス指定");
と習ったのですが送信後、ジャンプさせてページに飛ばしたいんですが全く動きません
この情報だけで分かりますでしょうか?
3221:2009/01/14(水) 23:43:32 ID:???
>>30
abcほげdefをコピペで貼り付けたらabc?defと表記されました。
ただこの言葉以外だと例えば半角と全角を織り交ぜて入力した場合は
全角が消えて半角だけが表示されます。
もう少し頑張ってみます。
33nobodyさん:2009/01/15(木) 00:00:10 ID:iReMhog8
phpで、MTで作ったブログから
・特定のカテゴリの記事一覧取得する(エントリタイトルとエントリ日時)
・そのカテゴリの記事の詳細を取得する
ってどうしたらいいんでしょうか?
各FWやPearは使えないという条件で参考になる情報・サイトをお願いします
phpのバージョンは5、MTは4.2です
自分でも探したんですが、いいのが見つかりません よろしくお願いします
34nobodyさん:2009/01/15(木) 00:06:59 ID:gNc+jaUV
すみません、課題だらけで今日は寝れないので本当に助けを
http://www.dotup.org/uploda/www.dotup.org10093.jpg
phpマニュアルを読んでも、break;ではなくexit;を使うと余計悪化しました
もうどうすればいいかわかりません
35nobodyさん:2009/01/15(木) 00:15:34 ID:???
>>34
headerの出力位置がおかしい
43行目から47行目までをHTML書き出す前に回せ
36nobodyさん:2009/01/15(木) 00:16:48 ID:???
top.phpは直接呼ぶこともできる仕様か?
37nobodyさん:2009/01/15(木) 00:19:40 ID:???
>>35
もしかして</head>をheaderにするの?

>>36
直接飛べない仕様です
38nobodyさん:2009/01/15(木) 00:29:46 ID:???
328 名前: すずめちゃん(埼玉県)[] 投稿日:2009/01/14(水) 10:43:37.00 ID:WwgLtqYD

中身見たんだけど、特許庁サーバーへの接続手順かなぁ
だったら今回のお漏らしの最大の問題点
特許庁は大急ぎでサーバーODBCデータベースのパスワード変えないと

 ODBC.mdb

*参考
mdbのパスワードは既弱性があって一瞬で解除できる
フリーのツールでも所要時間ゼロ秒
39nobodyさん:2009/01/15(木) 01:09:04 ID:???
>>37
header関数はそれ以前に何かが出力されてたら動かないんだよ?
このソースの場合はheader()の前に
<html>

<center>
までタグが出てるでしょ

<?php
header(〜〜);
?>
<html>
以下略

って形にしないとダメだと思う
40nobodyさん:2009/01/15(木) 02:05:11 ID:???
>>39
やっと動きました><
めちゃ助かりました;
ありがとうございます
41nobodyさん:2009/01/15(木) 08:03:04 ID:jJGEkYvb
配列を文字数で降順にソートしたいと思います。


array("あ", "いうえ", "おかきく", "けこ");

array("おかきく", "いうえ", "けこ", "あ");

そこで、配列に文字数を追加してarray_multisortしています。
うまく動いているのですがもっとスマートな方法はありませんでしょうか?

<?php
mb_language("Japanese");mb_internal_encoding("UTF-8");mb_regex_encoding("UTF-8");mb_http_output("UTF-8");

// 配列を文字数で降順に並び替えたい
$wordData = array("あ", "いうえ", "おかきく", "けこ");

// 文字数でソートする為配列に"文字数"を追加
for($i=0; $i<count($wordData); $i++) {
$setKeyword[$i][textCount] = mb_strlen($wordData[$i]);
$setKeyword[$i][word] = $wordData[$i];
}
print_r($wordData);

// 文字数で配列をソート
foreach($setKeyword as $key => $row){
$textCount[$key] = $row["textCount"];
}
array_multisort($textCount,SORT_DESC,$setKeyword);
print_r($setKeyword );
exit;
?>
42nobodyさん:2009/01/15(木) 08:23:25 ID:???
function mb_strlencmp($a,$b) {
return mb_strlen($b) - mb_strlen($a);
}
usort($wordData,'mb_strlencmp');
こんな感じとか。
43nobodyさん:2009/01/15(木) 10:56:47 ID:???
usort()だと比較のたびにコールバック関数とmb_strlen()が呼び出されるので効率が悪いよ。
性能ではarray_multisort()のほうが有利。特に配列が大きくなると顕著。
自分ならこういう風にまとめる。
<?php
$words = array("あ", "いうえ", "おかきく", "けこ");
$lengths = array_map('mb_strlen', $words);
array_multisort($lengths, SORT_DESC, $words, SORT_STRING);
print_r($words);
44nobodyさん:2009/01/15(木) 11:07:18 ID:iReMhog8
short_open_tagがONになってるレンタルサーバで、これをOFFにしたいです
が、php.iniは操作できません
どうしたらいいでしょうか? よろしくお願いします
45nobodyさん:2009/01/15(木) 11:24:05 ID:???
無理
46nobodyさん:2009/01/15(木) 11:35:44 ID:???
ini_setでできるでしょ
47nobodyさん:2009/01/15(木) 11:38:10 ID:???
スマソ。ミス
48nobodyさん:2009/01/15(木) 11:38:47 ID:???
>>46
PHP_INI_PERDIR、PHP_INI_SYSTEM
おk?
49nobodyさん:2009/01/15(木) 12:36:45 ID:???
short_open_tag          "1"          PHP_INI_ALL          PHP <= 4.0.0 で PHP_INI_ALL、PHP < 5.3.0 で PHP_INI_PERDIR
となってるわけだが?
INI_ALLならini_setでできるしPERDIRなら.htaccessで出来る
50nobodyさん:2009/01/15(木) 12:43:49 ID:???
4.0.0の環境はないだろ、いまどき
51nobodyさん:2009/01/15(木) 12:57:25 ID:???
ini_setではshort_open_tagはPHP_INI_ALLではないよ
52nobodyさん:2009/01/15(木) 12:58:35 ID:???
53nobodyさん:2009/01/15(木) 13:02:09 ID:???
>>52
んな変なところのマニュアル出すなよw
http://jp.php.net/manual/ja/ini.core.php

で、結局どれ?
5.3未満ならPHP_INI_PERDIRに見える訳だが
54nobodyさん:2009/01/15(木) 15:16:12 ID:bfe4hoTd
誰かお願いします
phpでGUIが作りたいんですけどスケルトンの作り方がわかりません
おしえてください
55nobodyさん:2009/01/15(木) 15:35:50 ID:???
マルチ乙
56nobodyさん:2009/01/15(木) 15:55:57 ID:bfe4hoTd
いえいえ^^;まだまだ努力が足りません^^;
勉強熱心なもので頑張って書き込みしてみました
57nobodyさん:2009/01/15(木) 16:12:09 ID:???
お前は何を言っているんだ。
58nobodyさん:2009/01/15(木) 16:56:54 ID:QYLE8cY6
$array01[0]["aaa"] = "1";
$array01[1]["aaa"] = "2";

$array02[0]["bbb"] = "3";
$array02[1]["bbb"] = "4";

こういう配列があるのですが、これを1つの配列としてまとめたいと思います。
array_mergeを使っても上手く結合できませんでした。
どうすればいいのでしょうか?
59nobodyさん:2009/01/15(木) 17:04:52 ID:1cJi3m+C
【OS名】FreeBSD
【PHPのバージョン】php5
【連携ソフトウェア】無
【質問内容】

利用を考えているレンタルサーバーのPHPが一般的なモジュール方式ではなく
CGIラッパーを採用しているとのことです。その方がだれがどれだけプロセスを
占有してるかわかりやすいからだそうです。

利用者の立場から見ますとCGIラッパーでの動作において留意すべき点はありますか?
当方素人PHPプログラマーなのでそれほど高尚なテクニックを使いこなせてるわけでは
ないのであまり関係ないかも知れませんが動作上の制約等がありましたら教えてください。
60nobodyさん:2009/01/15(木) 17:22:19 ID:???
land.toですね
61nobodyさん:2009/01/15(木) 17:38:00 ID:???
>>58
うまく、の定義が分からないけど、 array_merge_recursive() でどう?

array(4) {
  [0]=>
  array(1) {
    ["aaa"]=>
    string(1) "1"
  }
  [1]=>
  array(1) {
    ["aaa"]=>
    string(1) "2"
  }
  [2]=>
  array(1) {
    ["bbb"]=>
    string(1) "3"
  }
  [3]=>
  array(1) {
    ["bbb"]=>
    string(1) "4"
  }
}

これでダメなら、自分で関数を書くしかないんじゃないかな。
62nobodyさん:2009/01/15(木) 17:58:17 ID:VAt5f5cR
>>58
ためしてないから動かないかも知れないが

function abs($a, $b) {
return $a = $a + $b;
}

$ary= array($array01,$array02);
array_reduce($ary, "abs");
6344:2009/01/15(木) 18:01:24 ID:???
>>45-53
皆さん色んな意見くれてありがとうございます
参考に.htaccessで設定したところ、うまくいきました ありがとう
6458:2009/01/15(木) 18:09:04 ID:???
>>61
$array[0]["aaa"] = "1";
$array[0]["bbb"] = "3";
$array[1]["aaa"] = "2";
$array[1]["bbb"] = "4";

こういうふうにまとめたいんです。
やっぱり、foreachで一度すべて出力して
新たな配列に代入する方法しかないのですかね・・。

>>62
Cannot redeclare abs() というエラーが出ました
65nobodyさん:2009/01/15(木) 18:17:00 ID:???
>>64
最初から書け
66nobodyさん:2009/01/15(木) 18:18:28 ID:???
$array01とか$array02みたいな使い方がきめえ
6759:2009/01/15(木) 18:40:31 ID:1cJi3m+C
>>60
> land.toですね

アハハ、わかりましたか(*´∀`)

CGIラッパーをうたうレンタルサーバーはあまり見たことがなかったので気になって質問した次第です。

ちなみにCGIラッパーの場合でも、html中に<?php ?>タグでPHPプログラムを仕込ませることは可能でしょうか?
それとも完全に実行ファイル形式としてのみ運用できるということですか?
6858:2009/01/15(木) 18:41:55 ID:???
01とか02とか言う書き方しろって習ったのですが・・・
69nobodyさん:2009/01/15(木) 18:45:56 ID:???
>>64
数値添字にインデックス以上の意味を持たせようという設計がまずいかと。
ユーザーIDとか別の意味があるなら文字列で格納してみたら?

が、array_walk_recursiveでできるでしょう。
70nobodyさん:2009/01/15(木) 18:50:36 ID:???
$array[1],$array[2]ならまだしもw
$array02とかはないわw
やめたまえそんな使い方
71nobodyさん:2009/01/15(木) 19:04:18 ID:???
苦節2か月、ようやく、データーベースに
格納した数値を取り出して、画面に表示する方法がわかった。

<?php
$dsn = 'sqlite:C:/aaa'; //データーベースの定義情報
$pdo = new PDO($dsn);//データーベースをオープンしてハンドルゲット

$sql = //SQL文
"SELECT count//フィールド名指定
FROM bookmark//テーブル名
where id=1";//id=1のレコードを指定

$entries = $pdo->query($sql);//SQLクエリー実行
$entry = $entries->fetch() ;//よくわからんがデーターを取得してる?
print $entry["count"];//連想配列なのでキーを指定して表示
?>
72nobodyさん:2009/01/15(木) 19:05:19 ID:???
ブログに書け
73nobodyさん:2009/01/15(木) 19:05:59 ID:???
あ、ブログに書いても誰も見てくれないからここで荒してるんだっけか、スマンスマン
74nobodyさん:2009/01/15(木) 19:06:28 ID:???
データー構造
データーベース sqlite3

データーベース名 aaa
テーブル名bookmark
テーブル構造
id | count
1 | 20

データーベース接続方法 PDO
プリペアードステートメント 今回は使ってない
75nobodyさん:2009/01/15(木) 19:07:33 ID:???
お前らの教え方がへぼくっても
ちゃあんとプログラムは書けるってこと。
ざまあみろ。
76nobodyさん:2009/01/15(木) 19:17:40 ID:???
>>64

$array01[0]["aaa"] = "1";
$array01[1]["aaa"] = "2";
$array02[0]["bbb"] = "3";
$array02[1]["bbb"] = "4";

function intMerge(&$arrayTo, $key, &$arrayFr)
{
$arrayTo = array_merge($arrayTo, $arrayFr[$key]);
}
$result = $array01;
array_walk($result,"intMerge", $array02);
print_r($result);
77nobodyさん:2009/01/15(木) 19:23:34 ID:???
>>75
プログラマーはまず「否定」から入る。
これは俺が接した人間、利用した掲示板全てで同じ行動だった

それを覚えておけば質問するのも怖くないよ^^
78nobodyさん:2009/01/15(木) 19:26:12 ID:???
>>77
ところがアメリカ人のプログラマーはそうではない。
ジャップは死ねってこと。

ジャップは死ね!
ジャップのプログラマーは死ね!

ただし東大のプログラマーは親切になんでも教えてくれる。
だから東大のプログラマーだけは生きて良し。
79nobodyさん:2009/01/15(木) 19:27:37 ID:???
自演乙
80nobodyさん:2009/01/15(木) 19:29:24 ID:R8RK6Tzt
あの
81nobodyさん:2009/01/15(木) 19:37:55 ID:R8RK6Tzt
food.datにジャンル・名前という形のデータをcsvで記録してます
1が食べ物、2が電化製品、3が本類、4が人名を置いてます

「food.dat」
1,オレンジ
2,テレビ
3,ミステリー小説
4,橋本大樹


これをジャンル別に分け、
1のジャンルは配列$ary1へ、2のジャンルは配列$ary2へ
3のジャンルは配列$ary3へ、4のジャンルは配列$ary4へそれぞれ格納したいと思います

foreachで回してifで振り分ければできるのですがもっと効率の良い書き方をしたいです
お手数をおかけいたしますがどなたかご教授お願いいたします
82nobodyさん:2009/01/15(木) 19:56:00 ID:???
どういうデータ構造だそれ?
83nobodyさん:2009/01/15(木) 20:07:58 ID:???
ブラウザー戦争の歴史を「兵士の旗」で表すイラスト
http://wiredvision.jp/news/200901/2009011518.html
84nobodyさん:2009/01/15(木) 20:08:55 ID:???
id|食べ物|電化製品|本類|人名
___________________


こうじゃね?
85nobodyさん:2009/01/15(木) 20:09:27 ID:???
まあプライマリーキーはないかもしれないけど
86nobodyさん:2009/01/15(木) 20:14:14 ID:???
>>84
何の個体を表すレコードなのかさっぱり分からんw
87nobodyさん:2009/01/15(木) 20:24:03 ID:???
http://phpspot.net/php/man/php/ref.pdo.html

警告

「PDO コンストラクタからの例外をアプリケーシ
ョン内でキャッチしない場合、 zend エンジンは
スクリプトの実行を終了し、バックトレースを表
示します。 このバックトレースを見れば、デー
タベースへの接続の詳細がわかってしまいま
す。 その中にはユーザ名やパスワードも含ま
れます。 (catch 文を使用して) 明示的に例外
をキャッチするか、 あるいは set_exception_ha
ndler() を使用して 暗黙的に例外をキャッチす
るようにしましょう。 」


-------------------------------------------------
↑この仕様って、結構困るんだけど。
88nobodyさん:2009/01/15(木) 20:24:57 ID:???
何お前、勝手にパスワードを表示してんだよ、っていう。
89nobodyさん:2009/01/15(木) 20:27:55 ID:???
最終的に例外を捕捉しないプログラム書くつもりなのか。ふーん。
9081:2009/01/15(木) 21:00:32 ID:???
データ構造は「ジャンルID|データ|ここで改行」です
どなたか助けてください
91nobodyさん:2009/01/15(木) 21:05:50 ID:???
>>90
ジャンルって何?もしかしてIDのこと?
ファイル名がfoodってどういうこと?
ジャンル・名前なの?ジャンル|データなの?
あと>>1
92nobodyさん:2009/01/15(木) 21:10:10 ID:GvZc4PNy
PDOでデーターをデーターベースから
取得するときは、かならずfetchしないとダメなの?
9381:2009/01/15(木) 21:11:20 ID:uz1526AD
すいませんID出し忘れました 電話回線なのでID違いますが同一人物です

ファイル名は食べ物を使うから付けただけで深い意味はないです
ジャンルはIDのことです

food.txtの中身は

1行目→1,オレンジ
2行目→2,テレビ
3行目→3,ミステリー小説
4行目→4,橋本大樹
5行目→2,ラジオ
6行目→4,坂本竜馬

こんな感じでデータは不規則に追加されていきます
94nobodyさん:2009/01/15(木) 21:16:40 ID:???
[PEAR]HTTP_Request2 がリリースされました&簡単な使い方
http://d.hatena.ne.jp/sotarok/20081121/1227251508
95nobodyさん:2009/01/15(木) 21:21:06 ID:???
>>81,93
こんな感じでいいかい

// food.dat の代わり
$uri = 'data:text/csv;charset=UTF-8;base64,MSzjgqrjg6zjg7PjgrgNCjIs44OG44Os4'
. '4OTDQozLOODn+OCueODhuODquODvOWwj+iqrA0KNCzmqYvmnKzlpKfmqLkNCjEs44Ki44OD4'
. '4OX44OrDQoyLOODrOOCs+ODvOODgOODvA==';

$table = array();
$fp = fopen($uri, 'r');
while (($cols = fgetcsv($fp)) !== false) {
  $table[(int)$cols[0]][] = $cols[1];
}
fclose($fp);
echo file_get_contents($uri), PHP_EOL, var_export($table, true);

// ジャンル別にローカルスコープへ展開
// foreach ($table as $genre => $items) {
//  $var = 'ary' . $genre;
//  $$var = $items;
// }
// var_dump($ary1, $ary2, $ary3, $ary4);
96nobodyさん:2009/01/15(木) 21:26:31 ID:???
>>93
fileとexplode
97nobodyさん:2009/01/15(木) 21:35:45 ID:uz1526AD
>>96さんこういうのですか?
$file = file("food.txt");
foreach($file as $v) {
$a=explode(",",$v);
switch($a[0]) {
case 1:$ary1[]=$v;break;
case 2:$ary1[]=$v;break;
case 3:$ary1[]=$v;break;
case 4:$ary1[]=$v;break;
}

>>95さんのやり方すごいですねっ!勉強になりました
ありがとうございました
98nobodyさん:2009/01/15(木) 21:38:42 ID:???
なんでswitchなんか入れる必要あるねん
99nobodyさん:2009/01/15(木) 21:43:33 ID:uz1526AD
疑問に思ったのですがファイルを読み取り専用で開いたときはロックはしなくても大丈夫でしょうか?
100nobodyさん:2009/01/15(木) 21:45:38 ID:???
いいえ
101nobodyさん:2009/01/15(木) 21:52:37 ID:???
俺も考えてみたが>>95には負けたわ
なにやってるのかコードみてもさっぱりわかんねw
102nobodyさん:2009/01/15(木) 21:55:50 ID:???
fgetcsvで1行ずつ配列に入れることも分からんの?
103nobodyさん:2009/01/15(木) 22:25:58 ID:???
>>99
PHPの flock() はアドバイザリロックなので
読み手も書き手も適切なロック(LOCK_SH,LOCK_EX)を取らないと意味を成さないのよね
なのでロックは必須
104nobodyさん:2009/01/15(木) 22:57:05 ID:???
>>99
開いて、何をするつもりなの?
用途によって変わる。
105nobodyさん:2009/01/15(木) 23:54:00 ID:bes4Fp8w
phpファイルにhtmlを書いてプレビューしたら、divでボックスを作った部分が真っ白です
文字の部分はちゃんと表示されます
外部スタイルシートを読み込んでいてDWではちゃんとプレビューされるんですが・・・
phpで作るサイトは全部includeしないとだめなんですか?
phpでサイトを構築するのは初めてでよくわかりません
106nobodyさん:2009/01/16(金) 00:03:49 ID:???
>105
生成されたHTMLか、読み込んでいるCSSが悪い。
「ソースを表示」からHTMLソースをHTMLファイルとして保存して、サーバにアップロードしてみろ。同じ現象が起きる。
107nobodyさん:2009/01/16(金) 00:15:20 ID:???
>>105
ソースを見せてくれたらわかる。
もちろん、公開できない部分は
「ああああああ」
とかに適当に置き換えて。
108nobodyさん:2009/01/16(金) 00:21:40 ID:???
index.php
────
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=shift_jis" />
<link rel="stylesheet" type="text/css" href="style.css"/>
<title>無題ドキュメント</title>
</head>
<body>
<div id="wrap">
<div id="head">
<h1>my site</h1>
</div>
</div>
</body>
</html>
109nobodyさん:2009/01/16(金) 00:22:01 ID:???
style.css
────
*{
margin:0;
padding:0;
}

#wrap{
width:800px;
height:600px;
margin:30px auto;
background-color:#FFFFFF;
}

#head{
width:800px;
height:80px;
background-color:#336633;
}



備考
xamppを使用、ハローワールドのテストは成功、
ディレクトリはxampp内のhtdocs/mysite/index.php , style.css
110nobodyさん:2009/01/16(金) 00:27:04 ID:???
>>108-109

My siteって緑のバックグラウンドで出て、
その下に、でっかい、白い枠があるけど?
111nobodyさん:2009/01/16(金) 00:29:04 ID:???
DWの設定を見直してみます・・・
112nobodyさん:2009/01/16(金) 00:32:34 ID:???
環境設定>ブラウザでプレビュー>一時ファイルを使用してプレビュー
にチェックしたら解決できました
すいません><
113nobodyさん:2009/01/16(金) 02:25:38 ID:cpRhXZRJ
http://www.php-ref.com/basic/05_const.html

constっていうのは
クラスの中でしか、使えない?
114nobodyさん:2009/01/16(金) 02:36:59 ID:cpRhXZRJ
<?php
$dsn = 'sqlite:C:/aaa';
$pdo = new PDO($dsn);

$sth = $pdo->prepare(
'SELECT count
FROM bookmark
where id=1');

$sth->execute();
$a=$sth->fetch(PDO::FETCH_ASSOC);
print $a[count];

?>
これを実行すると
「20」
と、こちらが欲しい結果が表示されるが、それと共に
Notice: Use of undefined constant count - assumed 'count' in
という、Noticeが出てしまう。
「countを初期化すればいいのか?」
と思ったが、constはクラスの中でしか使えないみたい。
どうすれば初期化できる?
115nobodyさん:2009/01/16(金) 02:37:10 ID:???
クラス外での定義ならdefine
116nobodyさん:2009/01/16(金) 02:38:22 ID:cpRhXZRJ
>>71
は直接、クエリーを発行したけど、
今度はそれの、プリペアード・ステートメント版を作ってるということ。

この方がSQLインジェクションに強くなる。
117nobodyさん:2009/01/16(金) 02:38:59 ID:cpRhXZRJ
>>115
なるほどね。
Noticeにconstantという用語が出ているからといって、
かならずしもconstを使って初期化しなければならない、
ということではなかったんだな。
118nobodyさん:2009/01/16(金) 02:44:32 ID:cpRhXZRJ
<?php
define("count", ""); //countを初期化
$dsn = 'sqlite:C:aaa';//データーベースの情報の定義
$pdo = new PDO($dsn);//データーベース作成

$sth = $pdo->prepare(//プリペアード・ステートメント
'SELECT count//フィールド選択
FROM bookmark//テーブル名選択
where id=1');//レコード選択

$sth->execute();//実行
$a=$sth->fetch(PDO::FETCH_ASSOC);//データーを取ってる
print $a[count];//表示

?>

------------------------------------------------------
これにしたら、今度は、次のNoticeが出るようになった。
Notice: Undefined index: in C:1.php on line 14
indexを初期化するってなんだ?
$a[count]を初期化してみたが、違うようだし。
119nobodyさん:2009/01/16(金) 02:57:41 ID:cpRhXZRJ
<?php
$dsn = 'sqlite:C:/aaa';
$pdo = new PDO($dsn);

$sth = $pdo->prepare(
'SELECT count
FROM bookmark
where id=1');

$sth->execute();
$a=$sth->fetch(PDO::FETCH_ASSOC);
if (isset($a['count'])){
print $a['count'];
}
?>

これでいけた。
シングル・クオーテーションつけてないだけだった。
つけたらNotice消えた。
120nobodyさん:2009/01/16(金) 02:59:00 ID:cpRhXZRJ
これでPDOでプリペアード・ステートメントを使って
データーベースから情報を取ってきて
画面に表示する、というところまで、できた。

次の挑戦は、プレースホルダ、変数のバインドだ。
121nobodyさん:2009/01/16(金) 07:05:23 ID:???
>>115
餌を与えないで下さい
122nobodyさん:2009/01/16(金) 07:08:59 ID:???
私いつもの人はミュンヒハウゼン症候群だと思うの
123nobodyさん:2009/01/16(金) 09:09:33 ID:???
ID:cpRhXZRJアボーン
124nobodyさん:2009/01/16(金) 11:19:23 ID:???
あぼーんなんてものは
チラ裏に書いておきなさいってば
125nobodyさん:2009/01/16(金) 14:08:45 ID:JjgIvuO0
ボックス・ミューラー法を使って結果が正規分布になる乱数を得るコードを書いたのですが
結果が正規分布になりません
参考にしたのは以下のHPです
http://blog.longearth.net/2008/04/30/c%E3%81%A7%E3%83%9C%E3%83%83%E3%82%AF%E3%82%B9%E3%83%BB%E3%83%9F%E3%83%A5%E3%83%BC%E3%83%A9%E3%83%BC%E6%B3%95%E3%82%92%E4%BD%BF%E3%81%A3%E3%81%A6%E6%AD%A3%E8%A6%8F%E4%B9%B1%E6%95%B0%E3%82%92%E7%99%BA/
http://www.inf.ie.kanagawa-u.ac.jp/c_learn/class/norminv.html

//正規分布の乱数を10000回生成
for($i=0;$i<$10000;$i++){
$x=rand();
$y=rand();

$a=sqrt(abs(-2*log($x)))*(cos(2*pi()*$y));
@$result[floor($a*5.8+171)]++;//身長(平均171、標準偏差5.8)

}

//結果表示
for($i=100;$i<=200;$i++){
echo @"$i {$res[$i]}<br>";
}

何が間違っているのか分かる方、よろしくお願いします。
126nobodyさん:2009/01/16(金) 14:23:11 ID:???
rand()
127nobodyさん:2009/01/16(金) 14:23:53 ID:???
$10000 ってなに?
128nobodyさん:2009/01/16(金) 14:26:52 ID:???
ん、めちゃくちゃやんこれ
129nobodyさん:2009/01/16(金) 14:30:18 ID:JjgIvuO0
すいませんコピペ間違えです
×for($i=0;$i<$10000;$i++){
○for($i=0;$i<10000;$i++){

×echo @"$i {$res[$i]}<br>";
○echo @"$i {$result[$i]}<br>";
130nobodyさん:2009/01/16(金) 14:43:58 ID:???
>>125,129
舌足らずな>>126を補足すると
その変換式には 0 < $x <= 1, 0 < $y <= 1 を与えろって事
http://www.php.net/manual/ja/function.rand.php
131nobodyさん:2009/01/16(金) 14:46:49 ID:JjgIvuO0
分かりました
一様乱数の事を偏りの無い結果を返す乱数なら範囲はどうでもいいと誤解していました。
一様乱数は0〜1まででないと駄目で
$x=rand()/getrandmax();
$y=rand()/getrandmax();
としたら正規分布した結果が得られました
>>126さんどうもありがとう御座いました
132nobodyさん:2009/01/16(金) 14:47:25 ID:JjgIvuO0
>>130さんどうもありがとう御座います
133nobodyさん:2009/01/16(金) 14:57:51 ID:BSD/KGQf
レンタルサーバに置いたindex.phpにて100サイト分のブログの更新情報を掲載するスクリプトを書こうか迷ってます
rssで更新情報を取得したいのですが、これはレンタルサーバに負荷がかかるのでしょうか?
134nobodyさん:2009/01/16(金) 15:03:28 ID:???
かかる
135nobodyさん:2009/01/16(金) 15:03:32 ID:???
absかけてる理由ってなんなの?
136nobodyさん:2009/01/16(金) 15:06:29 ID:???
>>121
警察に通報しました。
137nobodyさん:2009/01/16(金) 15:07:01 ID:???
>>122
警察に通報しました。
138nobodyさん:2009/01/16(金) 15:08:02 ID:???
>>135-137
病気なんで許してあげてください。スルー推奨
139135:2009/01/16(金) 15:08:21 ID:???
俺もか
140nobodyさん:2009/01/16(金) 15:08:42 ID:???
>>134
え?おれ普通にやってるよ?まじ?
141nobodyさん:2009/01/16(金) 15:11:19 ID:???
>>123
警察に通報しました。
142nobodyさん:2009/01/16(金) 15:11:52 ID:???
>>138
警察に通報しました。
143nobodyさん:2009/01/16(金) 15:13:42 ID:???
>>133
実際に問題になる負荷かどうかはこのスレの住人が決める事じゃないよ
レンタルサーバに相談してね
RSSはcron等で定期的に更新するようにして
表示する際はそのキャッシュを参照する仕組みをとってりゃ却下されないでしょう
144133:2009/01/16(金) 15:33:49 ID:???
cronが使えないので訪問時に条件判断してrssを一日一回のみ確認してみることにします
index.phpには日時だけを表示するようにしますがこれも重い処理になるのでしょうか?
ありがとうございました
145nobodyさん:2009/01/16(金) 15:36:44 ID:???
レンサバに聞けよ
146nobodyさん:2009/01/16(金) 18:24:47 ID:???
例外を組み込んでみて感じたけどやっぱfinallyがないと不便だね
147nobodyさん:2009/01/16(金) 18:41:04 ID:???
>>146
ここは質問スレ。雑感はブログに書こうね。
不便とか、どんだけ貧困なんだよ。
148nobodyさん:2009/01/16(金) 18:43:49 ID:???
不便じゃないの?
149nobodyさん:2009/01/16(金) 18:44:56 ID:tYa6x4Bm
すいませんrssから更新日時だけを取得することってできますか?
本文などは転送量が多くなるので更新日時だけを取得したいです
150nobodyさん:2009/01/16(金) 19:00:33 ID:???
普通できると思う
151nobodyさん:2009/01/16(金) 19:02:27 ID:???
相手鯖の仕様による。
RSSを配信しているファイルで更新日時をはいてるかどうか試してみるといい。
152nobodyさん:2009/01/16(金) 19:09:47 ID:???
>>150
フイタ
153nobodyさん:2009/01/16(金) 19:47:28 ID:08Ji2paI
php大丈夫なレンタルサーバーにphpのアクセス解析コードを入れて
index.phpと保存したファイルをfffhpを使ってupしても
変なエラーコードがweb上で表示されます。
助けてください。
154nobodyさん:2009/01/16(金) 19:55:35 ID:???
まず服を脱ぎます
155nobodyさん:2009/01/16(金) 19:56:57 ID:???
エスパーさん>>153がお呼びですよ
156nobodyさん:2009/01/16(金) 20:05:27 ID:???
変なエラーコードとは、通常出るようなエラーじゃないってことだから中の人の出番だな
157nobodyさん:2009/01/16(金) 20:06:34 ID:tYa6x4Bm
>>153
エラーコード晒してからかけよバカ
158nobodyさん:2009/01/16(金) 20:10:47 ID:???
え、こんなんで入れ食い

>>149,157
おいおい、似たり寄ったりだろうが
159nobodyさん:2009/01/16(金) 20:45:04 ID:???
>>153=>>158

うるせーよ!
160nobodyさん:2009/01/16(金) 20:56:54 ID:???
161nobodyさん:2009/01/16(金) 21:20:34 ID:cpRhXZRJ
>>153
そのエラーメッセージをコピペしてください。
もちろん公開できない部分は適当に変えて。
162nobodyさん:2009/01/16(金) 21:28:24 ID:???
ID:cpRhXZRJ
163153:2009/01/16(金) 21:36:07 ID:08Ji2paI
ありがとうございます。
いま携帯からなので自宅へもどりしだいエラーコード書きます。
164nobodyさん:2009/01/16(金) 21:54:52 ID:???
>>162
警察に通報しました。
165nobodyさん:2009/01/16(金) 22:40:42 ID:???
笑うwww
166nobodyさん:2009/01/16(金) 22:44:45 ID:???
>>165
警察に通報しました。
167nobodyさん:2009/01/16(金) 23:05:31 ID:3QNMuF/N
$bod="
START
あいうえお
END

START
かきくけこ
END
";

という変数から正規表現で間の文字だけ取得し、配列に入れたいと思います。
preg_match_all("/START(.*)END/is",$body,$array);

としたのですが、取得できません。どういう書き方をすればいいのでしょうか?
168nobodyさん:2009/01/16(金) 23:07:08 ID:???
ID:cpRhXZRJ、出番だよ
169nobodyさん:2009/01/16(金) 23:17:16 ID:e0uLUs7Z
イメピタ風の携帯画像うpろだ探してます。
教えて下さい!!
170nobodyさん:2009/01/16(金) 23:21:27 ID:n9qydKtv
ちょっと気になったので質問させて下さい。
文字コードがUTF-8で作った掲示板をブラウザで表示して
ブラウザの表示を文字化け覚悟でEUCに変換、その後POSTで送信したら
内部に届く文字はEUCになるんですかね?
171nobodyさん:2009/01/16(金) 23:25:54 ID:???
やってみ
聞いたことよりもやってみた結果のほうが何倍も信用できるだろ?
172170:2009/01/16(金) 23:35:26 ID:???
>>171
返信ありがとうございます。
やってみたらEUCで送られてきました・・・
どう対処しようかと考えましたが
mbstring.http_input = auto
mbstring.encoding_translation = On
にしたら全てUTF-8になりました。
お手数をおかけしました。
対処法はこれでいいんですかね?
173nobodyさん:2009/01/16(金) 23:36:34 ID:???
自動変換しちゃっていいの?
174170:2009/01/16(金) 23:53:36 ID:???
>>173
mbstring.http_input = autoでは
まずいんですかね?
出来ればmbstring.internal_encodingで
設定しているUTF-8でいただきたいんですけど・・・
175nobodyさん:2009/01/17(土) 00:41:26 ID:sXvdxnWv
webページ上で文字コードを変換すれば?
もしくは今の時代utf8だからそのままでもいいとは思うけど
176170:2009/01/17(土) 01:00:35 ID:???
>>175
返信ありがとうございます。
私自身も今までこの設定でやってきたんですが、
もしUTF-8で作った掲示板を誰かがブラウザの表示で
文字のエンコードを変えてPOSTで送信してきたら
セキュリティ的に大丈夫なのかなと思いまして・・

変な質問ですいません。
177nobodyさん:2009/01/17(土) 01:01:53 ID:???
セキュリティ的に(笑)
178nobodyさん:2009/01/17(土) 01:19:40 ID:sXvdxnWv
どういう意味でセキュリティー的に危ないの?
大丈夫だよ。
誰もphp.iniをのぞかないから。乗っ取られない限り
179170:2009/01/17(土) 01:35:59 ID:???
>>178
例えば先程書いた例の通り掲示板にSJISの文字コードで
こんにちはとPOST送信してきた場合その言葉を内部でUTF-8に
エンコードしない限りSJISとして処理され
データベースに格納されてしまうのかなと疑問に感じまして・・

今日確認目的でマルチバイトの設定ファイルの勉強を再度したら
頭がごちゃごちゃになってしまいました。
変な質問本当にすいません。
180nobodyさん:2009/01/17(土) 01:57:53 ID:???
SJISで格納されることがセキュリティ的に危ないの?
181nobodyさん:2009/01/17(土) 02:12:55 ID:???
対処法としてはsubmitにnameを持たせて
valueを日本語にして送信されたvalueと内部の値を比較する。
182170:2009/01/17(土) 02:23:40 ID:???
>>180
セキュリティというか文字化けですね。
掲示板の投稿やショッピングサイトのユーザ登録を作る時に
ブラウザから文字コードの違うテキストがPOST送信されてきた場合、
内部の文字コードに適切に処理するプログラムでいつも対処するべきなのか
疑問に感じました。

例えばIEのメニューから表示→エンコード→シフトJISに切り替えて
POST送信した場合、フォームに記述したモノは
全てシフトJISで送信されるんですかね?

なんか書きながらすごい自分自身幼稚な事を言ってる気がします。
読んでいただいてありがとうございます。
183nobodyさん:2009/01/17(土) 02:24:40 ID:???
やってみ
聞いたことよりもやってみた結果のほうが何倍も信用できるだろ?
184nobodyさん:2009/01/17(土) 02:33:55 ID:???
>>176
ブラウザ上でユーザーが明示的に
UTF-7にして、そのデーターを送信してきたら
アタッカーが意図的にjavascriptのコードを仕込んできて、
XSSやCSRFの原因になることがあるよ

詳しくはググれ
185nobodyさん:2009/01/17(土) 02:35:02 ID:???
>>178
お前はバカ
会社もクビになったろ?
186nobodyさん:2009/01/17(土) 02:35:34 ID:???
スレタイとテンプレすら読まない子にそれができるとは思えない
187nobodyさん:2009/01/17(土) 02:36:11 ID:???
>>180
危ないだろ。
シフトJISでは防げない攻撃がある。
だからシフトJIS自体を使うのをやめましょうね、
って流れになってる。
188nobodyさん:2009/01/17(土) 02:38:46 ID:???
それシフトJISじゃなくてエスケープやエンティティ化の問題じゃね?
189nobodyさん:2009/01/17(土) 02:39:41 ID:???
ちなみにデーターベースに格納するときの危険性は
SQLインジェクションだけ考えればいい。

そっから取ってきたデーターを画面に
表示するときは、htmlspecialcharsでサニタイズが必要。
190nobodyさん:2009/01/17(土) 02:40:08 ID:???
サニタイズw
191nobodyさん:2009/01/17(土) 02:41:14 ID:???
また、ユーザーの入力値を、そのままOSにコマンドとして渡す場合は、
「OSコマンド・インジェクション」への注意が必要。

通常、ユーザーの入力値をそのままOSに渡したりしてはいけない。
バカがメール送信プログラムとかでよくやる。
192153:2009/01/17(土) 02:46:02 ID:ElVqoJ54
Parse error: syntax error, unexpected '?' in /home/ユーザー名/public_html/index.php on line 61
よろしくお願いします
193nobodyさん:2009/01/17(土) 02:46:54 ID:uOghFGaK
phpでポータルサイト作るのに
・サイト内検索
・ログイン、ログアウト
・ユーザー登録
・データベース管理
あとどんな技術が必要?
194nobodyさん:2009/01/17(土) 02:47:51 ID:???
>>192
syntax errorです
>>193
ID:cpRhXZRJ乙
195nobodyさん:2009/01/17(土) 02:58:31 ID:???
>>192

が変なところに入っている。消せ。
196nobodyさん:2009/01/17(土) 02:59:09 ID:???
>>194
病院に行け
これは命令だ。
197nobodyさん:2009/01/17(土) 03:00:05 ID:???
命令w
198170:2009/01/17(土) 03:02:18 ID:qiM85KnN
色々な意見本当にありがとうございました。
まだまだ勉強不足なのでこれから一層努力していきます。
199nobodyさん:2009/01/17(土) 03:03:20 ID:???
努力するなんて言う奴が実際に努力するのを見た試しがない
200nobodyさん:2009/01/17(土) 04:17:01 ID:???
fputcsv($fp, $data)で、CSVに書き込まれる値が"で囲まれない
んですけど、なぜでしょう?デフォルトの挙動ではないのか。
ちなみに,
fputcsv($fp, $data, ',', '"')としても結果は同じだた。
201nobodyさん:2009/01/17(土) 04:26:55 ID:???
まずスレタイに注意することから
202nobodyさん:2009/01/17(土) 05:31:32 ID:3kZEDG7g
2chとか掲示板の本文検索とかってmysql使ってるの?
レス番、名前、メール欄、・・・・、本文、、
みたいな感じでテーブルにずらーと管理されてるのかな
想像絶するようなデータ量だと思うんだけど、そのようなことが本当に行われているのか。
それともphpでdatからこの部分参照、検索みたいなことやってるのかな。
気になってしょうがないので、なんとなくでいいので教えてください
203nobodyさん:2009/01/17(土) 08:35:28 ID:???
2ch自体に検索機能はない
未来検索ブラジルってとこが2chのログをインデックス化して
検索できるようにしてるだけ
なんのDBが使われてるかはしらないが当然DBは使われている
簡単にいえばGoogleみたいなもんだ
204nobodyさん:2009/01/17(土) 09:52:48 ID:???
未来検索ブラジルは全文検索エンジンsennaの開発元だな。
詳細はぐぐれば分かる(もしくは説明しても分からない)から大雑把に言うと、
DBからインデックス(本の末尾に単語とページ数の対応表があるだろ、あんな感じ)を事前に生成し、そいつを使って検索する。
(もしかしたら公開版のsennaより高性能なものを使っているかもな)

まあ、その辺は内部処理なので、呼ぶ側からは普通にSQLで検索かけているように見えるんだけどな。
昔の2chはMySQLだったので、いまもそうじゃないかと思うが、断言は出来ない。
それと、2chはPHPではなくPerlで動いている。
サーバー側の仕組みからして普通のwebサーバーとは異なるので、その辺のスクリプトと比較はできないけどな。
205nobodyさん:2009/01/17(土) 09:56:44 ID:???
誰もperlで動いてることなんて聞いてないのに
206nobodyさん:2009/01/17(土) 10:00:53 ID:???
207nobodyさん:2009/01/17(土) 10:03:16 ID:???
説明下手でフイタw
208nobodyさん:2009/01/17(土) 12:22:02 ID:???
>>202
DBに何使ってるのかは俺はシラネ。
他の人のレスにもあるように、大規模データのindex化の手法っていうのは色々あるので、
sennaの開発元でもあるし、頭の良い人は何かえーよーにやっとるのでしょう。
俺みたいな凡人は、頭の良い人が考えた技術を後からありがたーく使わせてもらうまでw

ちなみにgoogleなんかはDBのエンジンからして自社開発だけどね。
209nobodyさん:2009/01/17(土) 12:32:22 ID:???
>ちなみにgoogleなんかはDBのエンジンからして自社開発だけどね。

(゚Д゚)ポカーン
210nobodyさん:2009/01/17(土) 12:33:54 ID:???
211nobodyさん:2009/01/17(土) 12:44:29 ID:???
>>210
無知はお前さんどすえ。
googleの講演会に1回ぐらい参加してみろ。
212nobodyさん:2009/01/17(土) 12:45:10 ID:???
お前は何を言ってるんだ
213nobodyさん:2009/01/17(土) 12:47:16 ID:???
2chってそんなに特殊なサーバー環境で動いてるのか。
214nobodyさん:2009/01/17(土) 12:51:01 ID:???
そんなにってどこを指してそういってるんだw
215nobodyさん:2009/01/17(土) 13:02:38 ID:???
>>211
盲目お疲れリンク先嫁
216nobodyさん:2009/01/17(土) 14:28:31 ID:???
糞ばっか!
217nobodyさん:2009/01/17(土) 14:30:28 ID:???
そんなんだから恥ずかしいコード書くんだよお前は
218nobodyさん:2009/01/17(土) 14:44:09 ID:???
まあ、広い意味じゃBigTableもDBだから間違っちゃいないだろ。
MySQLとリプレース可能なものだと思われても困るがな。
分散DBですらない、OSIでの複数層をぶち抜くような謎システムだし。
219nobodyさん:2009/01/17(土) 14:48:15 ID:???
2chがmysqlて初耳なんだけど。
だとしたらdat要らないんじゃ
220nobodyさん:2009/01/17(土) 14:54:25 ID:???
>>218
別スレも荒らしてる融通の利かない馬鹿共みたいなので放置推奨

確かにあれは色々謎だらけだ。
221nobodyさん:2009/01/17(土) 15:01:47 ID:???
>>219
誰もそんなことは書いてないが場を和ませる為に書いてくれたんだよな。うん。
222nobodyさん:2009/01/17(土) 17:43:22 ID:???
2chのような1スレ1000レスできるスレを、1000スレほど管理し、本文や名前などを検索したいとき
php+MySQLで、datの場所だけはsqlで管理して、本文なんかはdatからphpで検索するのと
あらかじめdatの内容がMySQLにインポートされたものを、phpで検索するのとでは
どれくらい差が出てくるんだろうか
223nobodyさん:2009/01/17(土) 17:59:37 ID:???
さんざん既出

というかファイルベースとDBの基礎
224nobodyさん:2009/01/17(土) 18:03:21 ID:???
225178:2009/01/17(土) 18:19:04 ID:sXvdxnWv
おれの馬鹿ーーーーーー
utf-8は携帯も如徐に対応してきているからな。
utf8で行こう。
もちろんサニタライズとmysql_real_escape_stringはしような
226nobodyさん:2009/01/17(土) 18:25:47 ID:???
>225
あうーはいまだにUTF-8を安心して使えないのだが。
227nobodyさん:2009/01/17(土) 18:30:17 ID:sXvdxnWv
euc-jpだと携帯はみられないとちゃうん?
228nobodyさん:2009/01/17(土) 19:11:59 ID:???
低レベルなやつばっかだなここは
229nobodyさん:2009/01/17(土) 19:44:31 ID:???
おまえは低レベルのスレのおかげでここまで成長してこれたろ
230nobodyさん:2009/01/17(土) 21:55:20 ID:???
>>227
最近は実はeucでも大抵対応してたりします。
でも、やはり携帯向けの出力はSJISが良いです。
携帯については、docomoがSJIS大好きでその過去の遺産を引きずり続けてるので仕方ない。

>>226
PHP側のソースコードはUTF-8で書いて、出力をSJISにすればいいです
入出力をSJISで扱う際は、SoftBank(3G)の絵文字がdocomoやauの絵文字とコードが被ってるのでご注意を
231nobodyさん:2009/01/17(土) 23:06:48 ID:sXvdxnWv
携帯もちゃんとeuc-jpに対応せいや
232nobodyさん:2009/01/17(土) 23:13:45 ID:???
>>226
詳しく
233nobodyさん:2009/01/17(土) 23:50:41 ID:???
文字コードで思ったけど。

オレはおまじない的にSJISじゃなくてSJIS
234nobodyさん:2009/01/17(土) 23:51:38 ID:Bf8FDb6Y
PHP入門者です。
PHPの仕事がしたいのですが、どんな試験に合格すればPHPの仕事が来ますか?
235nobodyさん:2009/01/17(土) 23:52:06 ID:???
>>233
途中で送ってしもた。
SJISwinとかにするなぁ。

EUCもwin
236nobodyさん:2009/01/18(日) 01:18:16 ID:8k82vHSn
>>234
試験なんかいらんよ。
趣味でPHPでサイトとか作ってみて、そこそこ作れるようになったら
未経験可のネットベンチャーに潜り込んでプログラマとしての実務経験を積む。
実務経験ができたら好きなとこに転職。ここらへんは努力次第。
237nobodyさん:2009/01/18(日) 01:59:05 ID:NtnUHZUG
PHPの仕事か?
あるぞ。
少なくともrubyよりは
238192:2009/01/18(日) 02:55:33 ID:ahiVKrb+
どうすればいいですか?
239nobodyさん:2009/01/18(日) 02:58:30 ID:???

が変なところに入っている。消せ。
240nobodyさん:2009/01/18(日) 03:00:42 ID:???
*.php以外のファイルでphpを動作させる方法ってありますか?
具体的にはcssにphpを埋め込んで動的にWebページのレイアウト(背景画像など)を変えたいです
241nobodyさん:2009/01/18(日) 03:21:09 ID:???
>>240
アパッチの設定で、
拡張子cssのファイルで
PHPが動作するように設定すればできるかも。
242nobodyさん:2009/01/18(日) 04:07:10 ID:FyU5dhg9
PHP5でClass変数のアクセス権限(public, protected, private)が設定出来ますが、
これらの権限を確認する関数などはありますか?(クラス名と変数名を受け取って権限を返すような)
243nobodyさん:2009/01/18(日) 04:19:01 ID:???
244nobodyさん:2009/01/18(日) 05:02:37 ID:???
>>240
別に拡張子phpで指定して適切なcontent-type出力すればおk
245nobodyさん:2009/01/18(日) 08:08:39 ID:5/8C6AIC
http://634.ayumu-baby.com/pukiwiki/index.php?PHP%2FPDO%2F%B9%B9%BF%B7(insert%2Cupdate%2Cdelete)

このページに

「bindParamは値が実行時評価なので、
コードがトリッキーに見える。保守性があ
まりよくない。よって、bindValue推奨。」

、、、って書いてあるのだが、本当?
246nobodyさん:2009/01/18(日) 08:56:31 ID:FY9pgzCK
winXP, PHP5.2.3, Shift_Jis

「ソ」が入った単語がfalseになるみたいだけど、
マッチさせる方法ありますか?

<?php
error_reporting(E_ALL | E_STRICT);
mb_internal_encoding('Shift_Jis');

$str = 'ソウル在住のペーが主演する冬ソナはNGワードにする';
echo '<pre>';
var_dump(mb_ereg('ソウル|冬ソナ', $str));
die;

247nobodyさん:2009/01/18(日) 09:07:41 ID:???
表とか能とかもチェックしてみたらどうよ
248nobodyさん:2009/01/18(日) 10:12:35 ID:???
>>246
$strをutfに変換してからmb_eregにかける
249nobodyさん:2009/01/18(日) 10:20:35 ID:???
>>248
それなんてエスパー?内部エンコ無視してUTFで処理できんの?
mb周りの他の設定がないと正しいアドバイスなんてできないだろ。
250nobodyさん:2009/01/18(日) 10:29:03 ID:???
>それなんてエスパー?内部エンコ無視してUTFで処理できんの?

(゚Д゚)・・・・
251nobodyさん:2009/01/18(日) 10:35:03 ID:???
>>246
sjisとeregをやめる。が正解
252nobodyさん:2009/01/18(日) 12:41:04 ID:???
>>246
SJIS止めましょうというのが正解だけど、取りあえずは
mb_regex_encoding()
の指定で何とかなるかも。

知ってるかもしれないけど、SJISは2byte目に\x5c(要するに「\」)を含む文字があるので、
理由についてはその辺りを調べておくといいよ。
253nobodyさん:2009/01/18(日) 12:47:54 ID:???
>>245
確かに、複雑な正規表現と一緒で、第三者が見るとパッと見で何やってる
のか分かり難い事はあるよ。でもそれってコードの書き方やコメントで
幾らでも回避出来るので、bindParamの利便性を否定する理由にはならないと思う。
254nobodyさん:2009/01/18(日) 12:50:23 ID:???
>>233,235
携帯なら○-winは必須ですね〜

例えば、SJIS-win=cp932なので、
携帯絵文字を含む文字列を変換する際、○-winを付けておかないと上手くいかない。

○-winを付ける理由というのは、要するに扱う文字列の範囲が変わるって事だけど、
携帯向けの開発経験が無くて知らない人もいるかと思い、一応補足してみた。
255nobodyさん:2009/01/18(日) 12:59:52 ID:2lVr2uZS
httpの領域から、httpsの領域にある.phpファイルをinclude()しようとしていますができません
これは仕様なんでしょうか?
サーバのドメイン(hoge.jp)は同じです

http://www.hoge.jp/m/hoge.php中で、以下のようにしてます
require_once('https://www.hoge.jp/m/hoge.inc.php');

256nobodyさん:2009/01/18(日) 13:08:49 ID:???
hoge.inc.phpの結果が返ってくるけどそれでいいのかい
257nobodyさん:2009/01/18(日) 13:11:31 ID:???
includeってURLは開けないんじゃなかったけ
258nobodyさん:2009/01/18(日) 13:12:23 ID:???
あ、なんでもない今の発言取り消し
259nobodyさん:2009/01/18(日) 14:13:15 ID:???
>>255
どっちでもいいがそもそもSSL通す意味あんの?
URLをインクルードした時点で帰ってくるのはテキストかHTMLなわけだけど
260nobodyさん:2009/01/18(日) 14:15:08 ID:???
>>259
256で既出
261nobodyさん:2009/01/18(日) 16:01:53 ID:2lVr2uZS
>>259
定数を設定してるただの設定ファイルなんで、、問題ないかなと。。
他にも答えてくれた方、ありがとうございました
262nobodyさん:2009/01/18(日) 16:35:33 ID:???
>>252
「パソコン」
とか
「表示」とかね。
263nobodyさん:2009/01/18(日) 17:23:15 ID:???
mb_*系は文字コード変換以外は使わない。
正規表現で使いたければ16進表記でpreg
264nobodyさん:2009/01/18(日) 21:25:09 ID:SRgQAS5C
二つ質問があるんですが
$a="アホ";
という変数があって
それが既にある配列の中にあるかどうかを調べてその配列内の文字列のキーを取得したいんですがいい関数ある?

$array(1=>"バカ",500=>"アホ",960=>"クソ",)

で、「アホ」を返したい。


あと関係ない質問だが
md5()ってマジで重複した文字列にならないんですか?
265nobodyさん:2009/01/18(日) 21:29:43 ID:???
>>264
array_search("アホ",$array);

ごく稀に重複する。心配ならSHA-1使え。
266nobodyさん:2009/01/18(日) 21:45:52 ID:???
極当たり前なことを、知らない奴もいるんじゃまいかと妄想するアホな質問者にまともに答える必要なんぞない
267nobodyさん:2009/01/18(日) 21:48:14 ID:???
>>264
質問が矛盾してる、アホは値であってキーではない。
array(264=> "バカ", 500=>"アホ", 268 =>"クソ")
268nobodyさん:2009/01/18(日) 21:57:35 ID:???
>>265
SHA-1でも衝突する可能性はあるでしょ。天文学的に低い確率でだが
暗号学的ハッシュ関数を期待するなら、最近はSHA-1も攻撃に成功しちゃったので
SHA-2系列が無難
269nobodyさん:2009/01/18(日) 22:28:00 ID:???
おいおい、何に使うのか知らんが、用途にみあった強度ってことを考えろよ
270nobodyさん:2009/01/18(日) 22:32:18 ID:???
オヌヌメの開発環境教えて^^
271nobodyさん:2009/01/18(日) 22:32:34 ID:???
EmEditor
272nobodyさん:2009/01/18(日) 22:34:39 ID:???
サンキューベジータ^^
273nobodyさん:2009/01/18(日) 22:48:54 ID:SRgQAS5C
>>265ー269
サンキュー
とりあえずやってみるわ
274nobodyさん:2009/01/18(日) 23:38:37 ID:2lVr2uZS
PHP5で、PEARやFWを使わずにAtomを解析したいと思います
何か便利なツールをご存じないでしょうか?

よろしくお願いします
275nobodyさん:2009/01/18(日) 23:56:19 ID:???
なんで使わずに?
276nobodyさん:2009/01/19(月) 00:04:50 ID:JWKfTsmi
>>275
レスありがとうございます
借りてるレンタルサーバーが両方とも使えないんです 参りました
277nobodyさん:2009/01/19(月) 00:10:15 ID:???
PEARってレンタルサーバーで
「使えない」って設定にされたら、
それでもう、使えないというしろものなの?
278nobodyさん:2009/01/19(月) 00:13:20 ID:6UkUnxLQ
279nobodyさん:2009/01/19(月) 00:17:26 ID:???
>>276
入れればいいんじゃ?
280nobodyさん:2009/01/19(月) 00:19:45 ID:JWKfTsmi
>>277
うーん、どうなんでしょう、、
今、phpInfo()してみたら、↓という項目が出ました

include_path .:/usr/lib64/php/pear

これは使えるってことかなぁ。でもサーバーのサイト見たら使えないって書いてるような
それに、自分が必要なモジュールがインストールできなきゃ意味ないですよね。。
281nobodyさん:2009/01/19(月) 00:21:04 ID:???
なんだ使えないとか書いといて自分でも分かってないんじゃん
282nobodyさん:2009/01/19(月) 00:24:28 ID:JWKfTsmi
>>281
すみません
ここなんですが、 解約理由を見ると「PHPのPEARが使えない」っていう項目があるんです
http://web.arena.ne.jp/suitex/support/change/cancell.html
じゃあ使えないのかなぁと…
機能のページにもモジュールを追加する方法とかないし わからないなー
283nobodyさん:2009/01/19(月) 00:28:19 ID:???
phpなんだから自分のinclude pathに必要なのを置けば使える
依存関係だけ要チェック
284nobodyさん:2009/01/19(月) 00:29:33 ID:6UkUnxLQ
>>283
PDOのMySQLのドライバが入ってない場合は、
「自分でなんとかする」ってアプローチは、無理?
285274:2009/01/19(月) 00:54:30 ID:JWKfTsmi
皆さんどうもありがとう simpleXMLとかいう関数もあるみたいです
いろいろ試してみます、ありがとうございました
286nobodyさん:2009/01/19(月) 01:23:25 ID:6UkUnxLQ
PDOの初心者向けの、入門用のいい本って、
何かある?
287nobodyさん:2009/01/19(月) 01:25:43 ID:???
そもそもなんでPDOなんか使うのさ
自力でごりごり書いたほうが楽やんけ
288nobodyさん:2009/01/19(月) 01:27:54 ID:???
使いどころが分からないレベルならPDO使うな
289nobodyさん:2009/01/19(月) 01:31:38 ID:6UkUnxLQ
http://www.thinkit.co.jp/cert/books/2/2/1/2.htm

このページに、
「windowsユーザーは以下の設定をしろ」
って書いてあるんだけど、Win用ってsoファイルだっけ?
libファイルだったような気がするんだけど?

次にphp.iniに以下の設定を行い、コンパイルしたPDOのモジュールをPHPにロードします。

?? Win32 users
extension=php_pdo.so
extension=php_pdo_sqlite.so
290nobodyさん:2009/01/19(月) 01:34:27 ID:???
またいつもの基地外か
291nobodyさん:2009/01/19(月) 01:35:58 ID:6UkUnxLQ
php_pdo.so

でググってみても、
1件しかヒットしないんだが、
このモジュールって本当に存在するのか?
1件っておかしくないか?
292nobodyさん:2009/01/19(月) 01:36:49 ID:???
>>290
お前が会社をクビになったのは
コミュニケーション能力が無いから。
293nobodyさん:2009/01/19(月) 01:50:14 ID:???
ageとsage使い分けてる臆病者に言われたくないw
294nobodyさん:2009/01/19(月) 02:07:51 ID:???
>>293
警察に通報しました。
295nobodyさん:2009/01/19(月) 10:13:32 ID:???
>> 291

"php_pdo.so" の検索結果 約 115 件中 1 - 10 件目 (0.04 秒)
296nobodyさん:2009/01/19(月) 10:48:55 ID:???
ID:6UkUnxLQアボーン
297nobodyさん:2009/01/19(月) 12:06:52 ID:Pmk06qWC
掲示板のログについて質問です
掲示板が荒らされた時に荒らし対策とプロバイダへの通報を視野に入れてますが
最低限必要なデータは日付とIPだけでよろしいでしょうか?
他にも取得したほうが良いものがございましたらご教授よろしくお願いいたします
298nobodyさん:2009/01/19(月) 12:08:58 ID:dm9TADfg
ある関数を呼んだときに、
その関数内で自身のファイル名を表示するにはどうしたら良いでしょうか?
299nobodyさん:2009/01/19(月) 12:21:14 ID:???
>>298
__FILE__ で行けないかな?
300298:2009/01/19(月) 12:38:28 ID:???
ID:dm9TADfg

>>299さん
できました。ありがとうございました。
301nobodyさん:2009/01/19(月) 12:43:56 ID:???
>>300
偽物乙
302nobodyさん:2009/01/19(月) 12:44:32 ID:???
IDの意味がないなw
303nobodyさん:2009/01/19(月) 12:59:59 ID:???
>>297
日時とIPアドレスだけで特定できるから、
あとは紐付けできる掲示板のログね
逆にそれ以上の内容まで保存しているISPは少ない
304298:2009/01/19(月) 13:15:11 ID:dm9TADfg
あ、名前に入れれはIDが出力されるのか・・・
スイマソ

連続してしまいますが、もう1つ教えてください。
Digest認証したあとに現在ログインしている人のユーザ名は
どうやったら分かりますか?
305nobodyさん:2009/01/19(月) 13:15:33 ID:???
>>303さんありがとうございます
306nobodyさん:2009/01/19(月) 13:16:07 ID:???
>>304
コスモを感じろよ
307298:2009/01/19(月) 13:16:23 ID:dm9TADfg
違う、E-mailを空にするとIDが・・・
申し訳ないです。
308nobodyさん:2009/01/19(月) 13:41:50 ID:???
>>297
出来るなら書き込んでいる人間の顔写真があるといい
309nobodyさん:2009/01/19(月) 13:45:59 ID:???
どっちかって言うとIPアドレスよりもホスト名のほうがいいかな
取得できなければ仕方ないが
310nobodyさん:2009/01/19(月) 13:46:14 ID:???
>>304
http://www.php.net/manual/ja/features.http-auth.php

> 一度、ユーザーがユーザー名と パスワードを入力すると、
> PHP スクリプトを含むその URL は、次回以降、
> 定義済みの変数 PHP_AUTH_USER と、 PHP_AUTH_PW と、 PHP_AUTH_TYPE に
> それぞれユーザー名、 パスワード、認証型が代入された状態で呼ばれます。
311nobodyさん:2009/01/19(月) 13:58:25 ID:???
うちの環境は2年間ipだけ取得してきたけどホスト名で取るメリットは?
ホスト名のほうが利点あるのなら書き換えたい
312nobodyさん:2009/01/19(月) 14:05:54 ID:???
両方とればいいじゃん。
逆引き用に自前のDNSもってればいくらでも書き換えられるし。
313nobodyさん:2009/01/19(月) 14:07:51 ID:JWKfTsmi
simpleXMLで.xmlを解析しようと思ってます
(XMLはMovable Typeのフィードです)

<category term="FISHING" scheme="http://www.sixapart.com/ns/types#category" />

<category term="北海道" label="北海道" scheme="http://www.sixapart.com/ns/types#tag" />

という構造を含むXMLを解析するとき、下段の labelの方の「北海道」を取得するにはどうしたらいいんでしょう?

$xmlObj = simplexml_load_file($file);//$fileは.xmlへのパス
$xmlObj->entry->title; で、タイトルを取得できるのはわかったんですが
どうも上記の解析はわかりません

どなたかよろしくお願いします
314nobodyさん:2009/01/19(月) 14:09:23 ID:4ClG+j5+
$list = array(
0 => array(
'num' => 1,
'name' => 'master'),
1 => array(
'num' => 2,
'name' => 'hoge'),
2 => array(
'num' => 3,
'name' => 'fuga'),
3 => array(
'num' => 4,
'name' => 'foo')…);
配列の最大値のnumの数値をとりたいのですが関数などありますでしょうか?
下でもできますがこれが一番良いでしょうか?
$val = max($list);
echo $val[num];
315nobodyさん:2009/01/19(月) 14:15:39 ID:???
それでよいよ
316nobodyさん:2009/01/19(月) 16:31:11 ID:FUIeaJ+6
glob関数は指定のディレクトリに移動するにはどうしたらいいんでしょうか
317nobodyさん:2009/01/19(月) 17:07:27 ID:???
聞いちゃダメ。
318nobodyさん:2009/01/19(月) 17:09:09 ID:???
chdir
319nobodyさん:2009/01/19(月) 17:17:22 ID:???
>>313
属性は $node['attribute'] で取れる
http://www.php.net/manual/ja/simplexml.examples-basic.php
320nobodyさん:2009/01/19(月) 17:29:05 ID:???
>>296
警察に通報しました。
321nobodyさん:2009/01/19(月) 17:59:39 ID:???
>>319
できました! どうもありがとうございました
322nobodyさん:2009/01/19(月) 18:02:29 ID:???
いいってことよ
323nobodyさん:2009/01/19(月) 18:13:26 ID:???
なんかさぁ、このスレ知ってから何でも質問する癖がついちゃって自分で考える事が無くなったわ。
おまえ等もそうだろ?
324nobodyさん:2009/01/19(月) 18:33:59 ID:???
答える側は知らない事でも調べて考えて答えるから自分で考えてばかりだけどな。
325nobodyさん:2009/01/19(月) 20:54:39 ID:???
JAVAがいいらしいと評判ですが
やはり処理速度が速いためでしょうか。

PHPもアクセラレータを入れると速くなりますが、それでもかなわないんでしょうか。
326nobodyさん:2009/01/19(月) 21:05:24 ID:???
そんなに処理速度が要求されるサイト作るの?
327nobodyさん:2009/01/19(月) 21:42:45 ID:???
気になっただけです
当分phpです・・・
328nobodyさん:2009/01/19(月) 22:24:51 ID:???
小規模なものだとPHPの方が速い事もあり得る。
近所のコンビニに行くのに、車を使うよりダッシュしたほうが速いのと同じ理屈。
大き目の処理だとJavaの方が絶対に速い。なぜなら、PHPは動的型付け言語だから。

時間効率だけでなくメモリ占有量など、他にも考慮すべき要素はたくさんあるけどな。開発効率の問題もあるし。
現実問題、ボトルネックはDBになりがちなので、フロントエンドをPHPで書こうがCで書こうが大差ない場合も多い。
329nobodyさん:2009/01/19(月) 22:31:51 ID:???
> なぜなら、PHPは動的型付け言語だから。

・・・・
330nobodyさん:2009/01/19(月) 22:35:04 ID:???
> 小規模なものだとPHPの方が速い事もあり得る

Hello World!ならJavaよりPHPの方が速いとでも?
331nobodyさん:2009/01/19(月) 22:43:16 ID:???
>>330
何を当たり前のことを
332nobodyさん:2009/01/19(月) 22:46:35 ID:???
Hello Worldだったら、素のHTML最強伝説。
333nobodyさん:2009/01/19(月) 22:50:24 ID:???
ここにプロのプログラマーもいると思うんですが、みんな仕事で
メモリ使用量だとか考えてプログラム組んでるんですか?
それは別の人の仕事? ただ気になって聞いただけですが。。
334nobodyさん:2009/01/19(月) 22:52:44 ID:???
最強伝説はtxtだろzk
335nobodyさん:2009/01/19(月) 22:53:17 ID:???
>>333
負荷測定ですね、わかります
336nobodyさん:2009/01/19(月) 22:57:19 ID:???
メンヘラ臭がするw
337nobodyさん:2009/01/19(月) 23:02:21 ID:???
>>331
何が当たり前なんだろうな。
phpの環境はともかく、Javaの実装環境なんてまちまち。
Tomcat単独ApacheなしのJSPでもapache with php5より速いぜ。
338nobodyさん:2009/01/19(月) 23:05:07 ID:???
ベンチ出せや、説得力ないぜ?
339nobodyさん:2009/01/19(月) 23:09:30 ID:???
PHP 103.97
Java 121.35
340nobodyさん:2009/01/19(月) 23:10:40 ID:???
secですね分かります
341nobodyさん:2009/01/19(月) 23:12:22 ID:???
処理数/sec
342nobodyさん:2009/01/19(月) 23:12:55 ID:???
まぁ、ベンチ出せって言ってる段階で
取ったことがない奴の妄想ってのはみえみえだが
343nobodyさん:2009/01/19(月) 23:14:36 ID:JWKfTsmi
>>335
負荷測定ってのがあるんだ?
個々のプログラマーのデスクトップ環境でできるものなんですか?
もしソフトがあるなら教えてください
344nobodyさん:2009/01/19(月) 23:15:42 ID:???
クソみたいなコードなんだろうな
345nobodyさん:2009/01/19(月) 23:16:45 ID:???
無料かつ初歩的なのはこれ
ab
jmeter
デスクトップでテストしても、限定的勝つ相対的なチェックしかできない
ローカル接続したマシンを2台以上は用意したほうがいい。
346nobodyさん:2009/01/19(月) 23:18:05 ID:???
>>344
おまえさんの糞じゃないHello Worldが見たいね
347nobodyさん:2009/01/19(月) 23:20:02 ID:???
>>339
ちゃんと実装環境と実験方法を明示しろ
348nobodyさん:2009/01/19(月) 23:26:16 ID:???
あほか、お前も同等の情報出してから言えよ
だいたい、俺が何書いたって信じないんだろ?
代わりにググっといた
ttp://d.hatena.ne.jp/yoshifumi1975/20070129/1170062978
Tomcatは出てないが、Resin3.1のJSPでPHP5.16より2倍の処理こなしてるぞ。
349nobodyさん:2009/01/19(月) 23:27:06 ID:???
それ以前にお前は何も書いてないだろ
350nobodyさん:2009/01/19(月) 23:28:56 ID:???
出してるしw
351nobodyさん:2009/01/20(火) 02:25:23 ID:GUH/knOv
PDOなんだけど、
bindParam と bindValueの
違いがわからんなー
352nobodyさん:2009/01/20(火) 03:17:35 ID:???
特定のディレクトリ内のphpだけLogファイルとかにアクセス権を与えたりするって事出来るんでしょうか?
353nobodyさん:2009/01/20(火) 03:28:49 ID:???
>>352
cgi版やCLI版のPHPなら実行ユーザ次第で出来るんじゃね
linuxとかならだけど
354nobodyさん:2009/01/20(火) 03:36:55 ID:???
pmaのsql文のボックスのバックを黒、文字を白にしてみた
コマンドプロンプトみたいで落ち着く
355nobodyさん:2009/01/20(火) 05:38:57 ID:???
なんで、http://〜〜/test.php
みたいなリンクがあったとき、右クリックで保存すると
test.phpのソースコードじゃなくて、phpの実行結果が保存されるのは
セキュリティなのはわかるんだけど、どこでそんな制御してるの。
必ずディレクトリに、test.phpが存在するはずなのに取られないこのセキュリティは完璧なの?
例えば、鯖してるパソコンからアクセスされたら、パスでもかけて無い限り
とられるのは当たり前だけど、それ以外のごく普通に
ネットからブラウザでアクセスされた場合は、どういう仕組みで
ソース取られないようにしてるのか教えてください。
でも難しいと理解できないから簡単にお願いします
例えばapacheでphpソース取られない設定にしたら、
絶対にとられません大丈夫、みたいな感じでいいのでしょうか。
356355:2009/01/20(火) 05:39:44 ID:ncKHa7O+
 
357nobodyさん:2009/01/20(火) 05:48:58 ID:???
>>355
.htmlも.txtも.cgiも.plも.phpも.phpxも
読み込んで送信するのはapacheの仕事。
apacheがどういう扱いにするかを決める。
その設定はapacheを管理する人が決める。
.phpがタダのテキストファイルだっていう扱い
にすれば、ソースをそのまま取れるし、php
のコードだっていう扱いにすれば、書いてある
とおりに動く。
一度、小学生〜中学生向けの入門書を読んでみるといいよ。
子供むけのは、ものすごくわかりやすい。マジで。
358nobodyさん:2009/01/20(火) 06:04:07 ID:ncKHa7O+
>>357
なるほど、鯖の設定次第で大丈夫なのか
なんか、顧客名簿流出しましたとかよく聞くから
もしかしたらなんて思ってた。
apacheとか鯖の設定とか把握できてないし、不安だ。
入門書から理解してみるか、dクス
359nobodyさん:2009/01/20(火) 09:35:37 ID:???
>>358
顧客名簿流出は話がべつじゃね?
其のあたりが知りたいならSQLインジェクションだったりも
知っておいた方が良いと思う?
テキストレベルでやるなら公開フォルダに書き出し先の
ファイルを置かなければひとまずは安心だと思う
360nobodyさん:2009/01/20(火) 09:46:55 ID:???
>>359
言ってること矛盾してるよな。
361nobodyさん:2009/01/20(火) 10:04:54 ID:???
顧客名簿流出は>>358の想像通り、Apacheの設定の不備でも生じる。
でもよくあるのは>>359の指摘通りWebアプリの脆弱性を利用されるケース
Apacheの設定不備対策としてはDocroot外に置けばそれなりに効果はあるだろうが、
脆弱性を利用された場合は効果は期待できない。
362nobodyさん:2009/01/20(火) 10:07:03 ID:JGB4BGu+
foreachで任意のkeyの値のみ出力するってできないんでしょうか?

array(array('name'=>'太郎', 'age'=>'15'), array('name'=>'次郎', 'age'=>'10')) っていう配列を対象に

foreach文の中でnameである太郎、次郎のみを抜き出したいです
よくある、echo key = item っていうのをそのままやると、 太郎15次郎10となるところを
名前だけにしたいんです item[0]だとか試しにやってみたんですがダメでした
ご意見お願いします
363nobodyさん:2009/01/20(火) 10:18:37 ID:???
>>362
こんな感じ?
$ary = array(array('name'=>'太郎', 'age'=>'15'), array('name'=>'次郎', 'age'=>'10'));
foreach($ary as $v){
echo $v["name"];
}
364nobodyさん:2009/01/20(火) 10:45:49 ID:???
>>363
ありがとうございます
とりあえず細かく分解しようと2重にforeachしてたんですが、
これが正解ですね ほんとにありがとう
365nobodyさん:2009/01/20(火) 10:49:27 ID:???
>>364
二回まわすならこんな感じ
$ary = array(array('name'=>'太郎', 'age'=>'15'), array('name'=>'次郎', 'age'=>'10'));
foreach($ary as $t){foreach($t as $k => $v){
if($k == "name"){ echo $v; }
}}
366nobodyさん:2009/01/20(火) 13:10:25 ID:v0ejdLQc
PHPをスタンドアローンにするおすすめのソフトを教えて下さい。
最新のPHPのバージョンで使えるやつ。
367nobodyさん:2009/01/20(火) 13:21:27 ID:???
>>366
PHP はスタンドアローンだと思うけれど?
368nobodyさん:2009/01/20(火) 14:00:02 ID:???
>>366
apachとPHPインストールして
利用しているコンピューターからNICを引っこ抜け
そうすれば望みのスタンドアローン完成だ
369nobodyさん:2009/01/20(火) 14:40:36 ID:???
意味わからなかったが、ググったらEXE化のことか・・・
370nobodyさん:2009/01/20(火) 15:58:05 ID:???
>>343
最低でも「apache ab」をぐぐってから書けやクズ
371nobodyさん:2009/01/20(火) 15:59:16 ID:???
>>352
できる
372nobodyさん:2009/01/20(火) 17:23:47 ID:???
>>370
アホッ
ベンチマークするソフトの名前を知りたい奴がどうやってabでググるんだよ
373nobodyさん:2009/01/20(火) 17:27:33 ID:eF2tE7Nu
掲示板のログについて質問させてください
豪快な荒らしにあった場合に備えてdate('Y/m/d H:i:s')で投稿日時を記録してるのですが
秒は切り捨てても大丈夫でしょうか?
プロバイダに荒らしのログの提出するときに秒が抜けてると対応してくれないのでしょうか?
どなたか詳しい方アドバイスお願いいたします
374nobodyさん:2009/01/20(火) 17:28:12 ID:???
>>372

>>370を100回読めばわかりますよね
375nobodyさん:2009/01/20(火) 17:34:52 ID:???
>>370の優しさが分からない奴はまだネンネ
376nobodyさん:2009/01/20(火) 17:35:35 ID:???
>>370はカスな煽り書く前に、>>345を読んどくべきだな
>>374はツマンネーつっこみ入れてんじゃねぇよ
377nobodyさん:2009/01/20(火) 17:38:41 ID:???
>>373
掲示板の荒しなんぞ、プロバイダは対応しねぇよ
犯罪対策ならApacheのログ持って警察行け
378nobodyさん:2009/01/20(火) 17:39:37 ID:???
あり:324
きりぎりす:323
379nobodyさん:2009/01/20(火) 17:41:45 ID:eF2tE7Nu
377さんありがとうございます
anhttpd使ってるのですがこれのログでも大丈夫でしょうか?
380nobodyさん:2009/01/20(火) 17:44:51 ID:???
>>376
>>372はスルーですか?
381nobodyさん:2009/01/20(火) 17:47:23 ID:???
本人だけどなにか?
382nobodyさん:2009/01/20(火) 17:48:31 ID:???
>>379
警察が対応に対応してほしいならApacheにしとけ
383nobodyさん:2009/01/20(火) 17:52:19 ID:eF2tE7Nu
Apacheをこれからは使うようにしてみます
ありがとうございました
384nobodyさん:2009/01/20(火) 18:00:26 ID:SFGtZmtf
osirase.txtに以下の日時から始まる文字列を記録してます

「2008/1/19 12:34:52までに投稿が15件ありました(管理人より)」

このカッコ内の文字列の中から日時(2008/1/19 12:34:52)だけ
正規表現でとりたいのですがエラーで困ってます
どなたかご教授お願いいたします

エラー
Warning: preg_replace() [function.preg-replace]: Unknown modifier

コード
preg_replace("/\d{4}/\d{1,2}/\d{1,2}\b\d{1,2}:\d{1,2}:\d{1,2}/","",$data);
385nobodyさん:2009/01/20(火) 18:01:04 ID:SFGtZmtf
書き忘れました
$dataには上に書いた文字列が入ってます
386nobodyさん:2009/01/20(火) 18:02:40 ID:???
デリミタ/がダブってる
387nobodyさん:2009/01/20(火) 18:03:51 ID:???
> 正規表現でとりたい

取り除きたいっていう意味ですか。そうですか。
388nobodyさん:2009/01/20(火) 18:04:29 ID:???
スラをクォートか
389nobodyさん:2009/01/20(火) 18:10:52 ID:SFGtZmtf
$data="2008/1/19 12:34:52までに投稿が15件ありました(管理人より)";
echo preg_replace("{\d{4}/\d{1,2}/\d{1,2}\b\d{1,2}:\d{1,2}:\d{1,2}}","",$data);

デリミタを{}に変えたらエラーはなくなったのですが日時以外のところも取れてしまいました
どなたか問題のある個所をご指摘お願いいたします
390nobodyさん:2009/01/20(火) 18:18:23 ID:???
preg_match("!\d+/\d+/\d+\s+\d+:\d+:\d+!", $data, $date);
echo $data[0];

こうじゃないか? やったことないけど
391nobodyさん:2009/01/20(火) 18:18:46 ID:SFGtZmtf
すいませんpreg_matchに切り替えたら解決しました
スレ汚しすみませんでした
392nobodyさん:2009/01/20(火) 18:40:22 ID:lsnmh+C8
$name = array("テレビ","冷蔵庫");
$no = array(1,2);

$name[0]は$no[0]と一緒に出力、$name[1]は$no[1]と一緒に出力します
$nameと$noの値の数は一致しますが、値の数は不定の場合の
この不定の場合を考慮して書きたいのですがどなたかアドバイスお願いします
393nobodyさん:2009/01/20(火) 18:53:35 ID:???
>>392
$name = array( 1 => "テレビ", 2 => "冷蔵庫");
の形にしたほうが楽なんじゃ・・

添字配列とか分かって無いならこちら
http://www.php.net/manual/ja/language.types.array.php
394nobodyさん:2009/01/20(火) 18:54:46 ID:???
array_combineしてみる?
リスキーだとは思うが
395nobodyさん:2009/01/20(火) 19:09:34 ID:lsnmh+C8
array_mapで自己解決できました
ありがとうございました
396nobodyさん:2009/01/20(火) 19:10:07 ID:???
今日はやけに勉強熱心で自己解決できる質問者が多いな
感心関心
397nobodyさん:2009/01/20(火) 19:31:51 ID:???
array_mapで解決ってネタだろw
398nobodyさん:2009/01/20(火) 19:41:15 ID:???
なぜに?
399nobodyさん:2009/01/20(火) 19:42:22 ID:lsnmh+C8
すいません一応解決したコード載せておきます
$name = array("テレビ","ラジオ","カメラ","冷蔵庫");
$no = array(1,4,2,5);

array_map("view",$name,$no);
function view($a, $b, $c) {
echo $b.$a.$c;
echo "<br />";
}
400nobodyさん:2009/01/20(火) 19:43:09 ID:lsnmh+C8
ここ訂正します

array_map("view",$name,$no);
function view($a, $b) {
echo $b.$a;
echo "<br />";
}
401nobodyさん:2009/01/20(火) 19:44:07 ID:???
実際には$nameと$no以外にもあり$cを書いてしまいました、すみません
402nobodyさん:2009/01/20(火) 19:47:03 ID:???
403nobodyさん:2009/01/20(火) 19:48:27 ID:???
397です
すみん。バカをさらしちまったな。
マニュアルに書いてあるねそのサンプル
おれには、そのセンスはない。
404nobodyさん:2009/01/20(火) 20:15:04 ID:???
レベル低いなら答えんなよ
405nobodyさん:2009/01/20(火) 20:46:08 ID:???
答えてねぇし
406nobodyさん:2009/01/20(火) 20:46:56 ID:???
じゃ二度と書き込むな
407nobodyさん:2009/01/20(火) 21:28:08 ID:JGB4BGu+
$memberAry = array(
array('鈴木','1組'),
array('山田','3組'),
array('岡本','2組'),
array('小林','3組'),
array('三井','2組'),
array('内田','1組')
)
という配列があって、これを元に組ごとの人名リストを作る必要がある場合どうしたらいいんでしょうか?
自分が考えたのは チェックした組の名前を入れる $kumiAry という配列を別に作って、

$kumiAry = array();
for($i=0; $i<count($memberAry);$++){
 if(!in_array($memberAry[$i][1], $kumiAry)){
  $kumiAry[] = $memberAry[$i][1];
  echo $memberAry[$i][1]."のメンバーは以下の人です";
 }
 if(array_pop($kumiAry) == $memberAry[$i][1]){
  echo $memberAry[$i][0]."君<br />\n";
 }
}
…という感じにするものです。
でも、もっと効率の良いやり方がある気がします
また、これだと書き出される組の順序が 最初の配列の格納順(1組、3組、2組)になります。

・もっと効率的な処理の方法で、できたら順序も正しくなる処理をどなたかアドバイスお願いします
408nobodyさん:2009/01/20(火) 21:30:56 ID:???
>>407
ソートすればいいだけ。あとは調べてね。
409nobodyさん:2009/01/20(火) 21:31:36 ID:???
>>407
$++とか他にもエラーになるんだが
貼り付けたら動作するものをここに張りたまえ
410nobodyさん:2009/01/20(火) 21:31:53 ID:???
>>407
foreach ($memberAry as $member) {
$result[$member[0]][] = $member[1];
}
var_dump($result);
411nobodyさん:2009/01/20(火) 21:38:33 ID:???
>>407
なにこの配列の作り方
412nobodyさん:2009/01/20(火) 21:42:32 ID:???
>>410
すまん1と0逆だった
413nobodyさん:2009/01/20(火) 22:57:44 ID:???
>>408
あるよ。
以上。
はい、次。
414nobodyさん:2009/01/20(火) 23:00:18 ID:???
>>413
回答に「あるよ」とは?
415下らねぇスレ公認回答者認定試験:2009/01/20(火) 23:23:53 ID:3GQunpT5
test.phpに各パートのみコードを書いてみた。この内、ひとつだけ動作しないものがある。それはどのパートか?
動作しない理由も書いて説明してください。ローカルで動作させないでコードを読んで答えましょう

【パート1】
a();
function a() {
echo 1;
}

【パート2】
function a() {
echo 1;
}
a();

【パート3】
function a() {
function b() {
echo 1;
}
b();
}

【パート4】
function a() {
b();
function b() {
echo 1;
}
}
416nobodyさん:2009/01/20(火) 23:25:20 ID:???
ミスった。上の訂正版。こっちみてね
【パート1】
a();
function a() {
echo 1;
}

【パート2】
function a() {
echo 1;
}
a();

【パート3】
function a() {
function b() {
echo 1;
}
b();
}
a();

【パート4】
function a() {
b();
function b() {
echo 1;
}
}
a();
417nobodyさん:2009/01/20(火) 23:30:36 ID:3GQunpT5
正解は>>430越えたあたりでレスポンス見てから書きます
418nobodyさん:2009/01/20(火) 23:31:29 ID:???
答えましょうじゃなくて、教えてくださいだろ。
それはそうと、前スレあたりで、関数定義はグローバルか?
とかなんとか質問してたnoobがちょっと理解したらもう出題者ですか。
闘技場にでも逝ってください
419nobodyさん:2009/01/20(火) 23:35:43 ID:???
知らない奴はだまってろ
420nobodyさん:2009/01/20(火) 23:36:03 ID:???
まぁスレ違い
421nobodyさん:2009/01/20(火) 23:36:31 ID:3GQunpT5
>>418
おまえストーカー気質あるな
そんな前スレの人間なんて知らんがな
見えない敵と戦ってくれよ
422nobodyさん:2009/01/20(火) 23:37:07 ID:3GQunpT5
わからないなら>>430越えるまで指くわえて黙ってROMってろ
423nobodyさん:2009/01/20(火) 23:37:56 ID:???
またいつもの基地外か
424nobodyさん:2009/01/20(火) 23:38:09 ID:???
下らねぇスレ公認回答者認定試験wwww
425407:2009/01/20(火) 23:38:39 ID:???
皆さん混乱させるような妙な質問とソース貼ってすみませんでした
どうにか解決しました、スレ汚し失礼しました
426nobodyさん:2009/01/20(火) 23:40:48 ID:???
出たよ。わからないならとか釣って、答えを教えてもらおうって魂胆見え見え
そういや、参照のクイズ出してたバカも同類だなw
関数はどこで定義されてもグローバル
ifや関数内に書かれた関数は、その行にしてからグローバルに登録される
なんて仕様、知りません
427nobodyさん:2009/01/20(火) 23:41:43 ID:???
下らねぇスレ公認回答者認定試験
428nobodyさん:2009/01/20(火) 23:42:11 ID:???
絶賛試験中です〜〜〜〜〜
429nobodyさん:2009/01/20(火) 23:43:32 ID:3GQunpT5
>>426
おつかれ
残念ながらそれは100点はあげられません
ツワモノはいねーのか、はい次
430nobodyさん:2009/01/20(火) 23:43:35 ID:???
あぁ、そういえば参照のクイズ出した奴は答え出さずに逃げたな
431nobodyさん:2009/01/20(火) 23:44:30 ID:???
>>426って回答してないよな。
回答してないのに、採点してんの???すげー構ってちゃんw
432nobodyさん:2009/01/20(火) 23:45:38 ID:???
試験さんもあれだが>>426もカスだな
433nobodyさん:2009/01/20(火) 23:46:16 ID:???
>>432
で、カスじゃないのか、お前は
434nobodyさん:2009/01/20(火) 23:48:33 ID:???
ID:3GQunpT5は答え書かないで逃げた方がいいぞ。
勝手に公認を名乗るって詐欺師マガイだぞ。
まずは「公認」名乗っていいですか?って聞けよ
435nobodyさん:2009/01/20(火) 23:49:41 ID:???
415 :下らねぇスレ公認回答者認定試験:2009/01/20(火) 23:23:53 ID:3GQunpT5
test.phpに各パートのみコードを書いてみた。この内、ひとつだけ動作しないものがある。それはどのパートか?
動作しない理由も書いて説明してください。ローカルで動作させないでコードを読んで答えましょう
436nobodyさん:2009/01/20(火) 23:50:56 ID:???
スレが異常にの見てたと思ったら・・・
君たちは煽りだけは一人前だな
437nobodyさん:2009/01/20(火) 23:52:02 ID:???
このスレは>>397級のPHPerしかいないってことだろ
438nobodyさん:2009/01/20(火) 23:52:36 ID:???
>>415
test.phpに各パートのみコードを書いてみた。
Apacheが動いてないので、全部動きません
439nobodyさん:2009/01/20(火) 23:53:35 ID:???
>>415 = >>397
乙乙w
440nobodyさん:2009/01/20(火) 23:53:45 ID:???
動ナビにこのスレ登録されててワラタ
441nobodyさん:2009/01/21(水) 00:00:22 ID:???
415の問題に問題があるな
関数内関数とかアホなことやろうと思わない
442nobodyさん:2009/01/21(水) 00:01:14 ID:eSstKmZ8
答えられないからって問題にけち付けるなよ。カス!
443nobodyさん:2009/01/21(水) 00:02:32 ID:eSstKmZ8
こんな最高の問題がわからないなんて、ここの連中は揃いもそろって○○だな
444nobodyさん:2009/01/21(水) 00:04:30 ID:???
はいはい。
445nobodyさん:2009/01/21(水) 00:42:02 ID:eSstKmZ8
>>438
正解!
446nobodyさん:2009/01/21(水) 00:44:02 ID:eSstKmZ8
ホントの正解は「<?phpって書いてないからプレーンに出力される」でした
447nobodyさん:2009/01/21(水) 01:05:44 ID:LcssGvP8
http://www.bnote.net/php/pear/24_auth_http_db.shtml

このプログラムの説明がよくわかりません



Authを呼び出し、

¶ms=array〜  わかりません

$objAuth = new Auth_HTTP("DB", $params);
// realm領域名
$objAuth->setRealm('Please Enter Your Password');

わかりません

$objAuth->setCancelText('<h2>Error 401</h2>');

「->」の演算子(?)の意味が分かりません


if($objAuth->getAuth()) {
echo "ようこそ!" . $objAuth->username . "さん<br>";
// メールアドレスを取得。
echo $objAuth->getAuthData('email');
};

どういう条件分岐なのかわかりません。
448nobodyさん:2009/01/21(水) 01:16:05 ID:???
449nobodyさん:2009/01/21(水) 01:17:24 ID:???
すいません
初心者用の本買ったのにはやく実践したくて読み飛ばしてました
やっぱり基礎がないとプログラム読めませんね
出直します
450nobodyさん:2009/01/21(水) 01:28:16 ID:???
本なんか読む前にまずマニュアル読めよ
451nobodyさん:2009/01/21(水) 03:40:04 ID:???
大丈夫だぜ。
>>447
おれなんかぜんぜん知らなくてもPHP書いているんだから
452nobodyさん:2009/01/21(水) 04:34:10 ID:S7hz7ANF
ちょっとまてよ・・
phpにアクセスしたときに、アクセス情報記録するのはできた
だが、例えば.jpgとか直接アクセスされたときのアクセス情報を記録するにはどうしたらいいんだ?
頭がこんがらがってきたぞ
自サバの場合でな。
453nobodyさん:2009/01/21(水) 04:40:08 ID:???
PHPとはまったく関係ないお話です
サーバ側でどうにかしなさい
454nobodyさん:2009/01/21(水) 05:07:11 ID:S7hz7ANF
そうなのかーすまんかった
直接の場合もmysqlとかで管理できたらいいのにと。
よくわからんけど、Apacheのconf的なところでいろいろ書き込めばいけるのかな
とりあえずやってみわ
455nobodyさん:2009/01/21(水) 05:23:38 ID:???
phpでjpeg出力してやればphpでどーにでもできるぞ
456nobodyさん:2009/01/21(水) 05:24:48 ID:???
Apacheのログみてみな
全部のアクセスに対して情報が細かく書いてあるから
あとはその解析結果を見やすい形にするのをPHPでやればいい
というよりそういうソフトはいくつかあるので探してみるといい
(xamppにも入ってるWebalizerとか)
xreaなんかはユーザ別にApacheのログをとるようにして
Analogというソフトを入れて各ユーザごとに参照できるようにしてる
457nobodyさん:2009/01/21(水) 06:19:09 ID:S7hz7ANF
>>455
あれかな、.php?12454133&test.jpg
みたいな感じのやつかな
>>456
おお、logsみたら自分の足跡と、気になるけどみしらぬ足跡もいっぱいついてた!
これを今まで通りphpで見やすくしてやるのかd
458nobodyさん:2009/01/21(水) 07:51:19 ID:x55oWDH2
sqliteにデータを入れようと思っています。
今のまま作業するとデータはSJISになりそうですが、
UTF-8に変換した方が良いですか?
459nobodyさん:2009/01/21(水) 08:06:05 ID:???
用途による
460nobodyさん:2009/01/21(水) 08:53:12 ID:???
>>457
そういうときのmod_rewrite
hogehoge.jpg -> img.phpに渡してやる
461nobodyさん:2009/01/21(水) 09:34:34 ID:???
足跡ですか・・・
462458:2009/01/21(水) 09:43:56 ID:x55oWDH2
>> 459
本の貸出し管理用DBです。
463nobodyさん:2009/01/21(水) 09:54:35 ID:???
>>462
用途としてそのDBをACCESSやEXCELで直接触りたいかどうかとか、
文字セットに含まれないものはどうするかとか
想定しているクライアントとか、
将来の展望とか。
464nobodyさん:2009/01/21(水) 10:09:42 ID:???
>>452
サーバーログ
465458:2009/01/21(水) 10:43:50 ID:x55oWDH2
>>463
DB中の情報を操作するのはブラウザから。
対象者は一般のおばちゃん、おじちゃんです。
少なくとも今後5年間は稼働すると予想されます。
466nobodyさん:2009/01/21(水) 11:10:24 ID:???
>>465
WEBで閲覧オンリーならEUC-JPかUTF-8が良いと思う
個人的な意見としてはEUCの方が扱いやすいんじゃないだろうか?
467nobodyさん:2009/01/21(水) 11:30:39 ID:???
ブラウザ限定で、この先5年を考えるなら、
個人的な意見としてはUTF-8の方が無難なんじゃないでしょうか。
468nobodyさん:2009/01/21(水) 11:33:15 ID:???
とっととutf-8に移行しろよ
469nobodyさん:2009/01/21(水) 11:37:36 ID:???
ほんとはShift-Jisがいーんだけどね
470nobodyさん:2009/01/21(水) 11:41:47 ID:???
処理はEUCで表示はSJIS、これがおれのやり方だ
471nobodyさん:2009/01/21(水) 11:58:14 ID:???
いやutf-8だろ
472nobodyさん:2009/01/21(水) 12:01:04 ID:???
sjis(笑)
473nobodyさん:2009/01/21(水) 12:01:34 ID:???
おれはDBはlatin1だなぁ
474nobodyさん:2009/01/21(水) 12:01:56 ID:???
情報を大量に扱うサイトではマルチバイトは避けたほうがいい
case by caseで対応しなさい
475nobodyさん:2009/01/21(水) 12:03:19 ID:???
>>474
なんで?
476nobodyさん:2009/01/21(水) 12:07:10 ID:???
ググったら、SQLiteってデフォルトのままだとUTF-8のサポートが甘いって、
477458:2009/01/21(水) 12:17:52 ID:x55oWDH2
レスありがとうございます。

私に、文字コードに関する全く知識がないのでいけまんせんが、
ここ数年でLinuxがEUC-JPからUTF-8に移行したこと、
サーバがUTF-8なこと、
あと何となくですがShift_JISよりUTF-8の方が新しいから良いかな、
というようなことで>>458でUTF-8と言いました。
UTF-8だとEUC-JPやShift_JISと比べると日本語の情報量が増えると言った問題も考えられますが、
これについては扱うデータが少ないので大丈夫ではないかと思っています。

上記のような流れでUTF-8にしようかとも思っているのですが、
文字列処理時、DB自身の処理時に問題が生じないか心配です。
できればDB中の文字コードと処理時の文字コードを統一しておきたいというのがありますので。
>>458での質問と論点がずれてしまいました。申し訳ありません。)
478nobodyさん:2009/01/21(水) 12:22:47 ID:???
>>475
転送量
479nobodyさん:2009/01/21(水) 12:39:33 ID:???
な、まぁ、たしかに・・・
480nobodyさん:2009/01/21(水) 12:44:56 ID:???
転送量気にするほど使ってないだろ
481nobodyさん:2009/01/21(水) 14:31:04 ID:???
SQLiteはUTF-8、UTF-16BE、UTF-16LEしかサポートしてないぞ
他のエンコーディング薦めてる奴や、DB層の話なのに転送量とか、いい加減すぎる
482nobodyさん:2009/01/21(水) 14:50:32 ID:???
DBはutf8で内部エンコードがeucで、入出力がsjisですね。
483nobodyさん:2009/01/21(水) 14:50:45 ID:???
sqliteだけ話してるんじゃないんですが・・・
あ、俺つられたんだな
484nobodyさん:2009/01/21(水) 14:59:22 ID:???
>>483
誰か知らないが>>458からの流れで分かるだろ
それとも>>474マルチバイトは避けろ(意味不明)の人?
485nobodyさん:2009/01/21(水) 19:00:25 ID:1eNTrwcn
mb_send_mail()を使ってメール送信のテストをしているんですが、以下のソースでは
メールの送信に失敗します どこに問題があるんでしょうか?  POST値は正しいものが引き継がれています
$user_no = mb_convert_encoding($_POST["user_no" ], "sjis", "auto");
$user_name = mb_convert_encoding($_POST["user_name" ], "sjis", "auto");
$order_no = mb_convert_encoding($_POST["order_no" ], "sjis", "auto");
$fromMail = mb_convert_encoding($_POST["fromMail" ], "sjis", "auto");
$quest = mb_convert_encoding($_POST["quest" ], "sjis", "auto");
$jobTitle = mb_convert_encoding($_POST["jobTitle" ], "sjis", "auto");

mb_language('Japanese');
mb_internal_encoding("SJIS") ;
$from = $fromMail;
$reply_to = $fromMail;
$to = 'hoge@'hoge.jp';

$header = "From:".$from."\r\n";
$header .= "Reply-To:".$reply_to."\r\n";

$subject = "メールですよ from".$user_no;
$update = date("Y-m-d", mktime())." ".date("H:i:s", mktime());

$message = "送信時間  :".$update."\n";
$message .= "No.:".$user_no."\n";
$message .= "mail:".$fromMail."\n";
$message .= "お名前   :".$user_name."\n";
$message .= "お仕事名 :".$jobTitle."\n";
$message .= "問い合わせ :".$quest."\n";
$message = mb_convert_encoding($message, "JIS", "sjis");

mb_send_mail($to, $subject, $message, $header);
486nobodyさん:2009/01/21(水) 19:02:23 ID:???
mb_send_mail()にたよってんじゃねえよ!
mailでやれよ!
487nobodyさん:2009/01/21(水) 19:03:11 ID:???
エラーぐらいかいたらどうなの!?
あたし女だけどエラーも書けない男ってどうかと思うの
488nobodyさん:2009/01/21(水) 19:06:02 ID:???
'hoge@'hoge.jp';
489nobodyさん:2009/01/21(水) 19:06:30 ID:???
mb_send_mail()とかmail()とかにたよってんじゃねえよ!
popen()でやれよ!
490nobodyさん:2009/01/21(水) 19:19:07 ID:???
popen()はどうかと思う。
ポッペン、てw
491485:2009/01/21(水) 19:19:12 ID:1eNTrwcn
ありがとうございます 
すみません、管理者権限ないんでapacheのエラーログ見れないんです
(ほかに見る方法あるんでしょうか?)
>>488
ごめんなさい、コピペのミスでした
実際にはその失敗はありません

もう2時間もにらめっこしてて、、ためしにあるページに載っていた以下をしたら送れたんですが。。

mb_language("Ja") ;
mb_internal_encoding("EUC-JP") ;
$mailto="[email protected]";
$subject="タイトルですよ";
$content="内容を入れます\nあああ\nいいい";
$mailfrom="From:" .mb_encode_mimeheader("まさご") ."<[email protected]>";
mb_send_mail($mailto,$subject,$content,$mailfrom);

この書式にして、だめだったので>>485の書き方で試しています
492nobodyさん:2009/01/21(水) 19:34:50 ID:???
mb_send_mailきめえwwwwww
493nobodyさん:2009/01/21(水) 19:36:22 ID:???
mb_send_mailおれは好きだけどな
494nobodyさん:2009/01/21(水) 19:49:46 ID:???
mb_send_mailとかPHP使い始めて5年経つけど1回も使ったことねぇ
495485:2009/01/21(水) 20:35:42 ID:1eNTrwcn
mb_send_mail()は使わないほうがいいようなので、mail()で試してみましたがうまくいきません

mb_language('Japanese');
mb_internal_encoding("SJIS") ;

$from = $fromMail;
$reply_to = $fromMail;
$to = '[email protected]';

$header = "From:$from\n".
"Reply-To:$reply_to\n".
"X-Mailer: PHP/" . phpversion();

$subject = mb_encode_mimeheader("メールです".$staff_no);

$message = mb_encode_mimeheader("本文");

$message = mb_convert_encoding($message, "JIS", "sjis");

mail($to, $subject, $message, $header);

たびたびすみません、いったい何が原因なんでしょうか?
よければご意見お願いします  (エラー情報はまだ見方がわかりません)
496nobodyさん:2009/01/21(水) 20:43:10 ID:???
エラーログがみれない限りどうしようもないな
497nobodyさん:2009/01/21(水) 20:50:13 ID:???
会員制サイトでユーザーを新規登録するとしたら
データベースに格納すべき最低限の情報は?

通し番号、名前、パスワード、メールアドレスくらい?
498nobodyさん:2009/01/21(水) 20:57:06 ID:???
499485:2009/01/21(水) 21:01:15 ID:1eNTrwcn
何度もすみません

>>496
エラーログ、 .htaccess に php_flag display_errors On って書けば表示されるんですよね?
今、設定してわざとエラーを起こしてみたらちゃんとそのエラーが表示されました

が、そのエラーを解消したらもうエラーが表示されません。
(検証用のvar_dump()の情報がでるだけです)
ということは上のメールの処理に間違いはないってことなんでしょうか。

sendmail_path /usr/sbin/sendmail -t -i

とsendmailのパスが通ってるのも、送信先アドレスも確認してるんですが。。
500nobodyさん:2009/01/21(水) 21:01:59 ID:???
>>355
セキュリティじゃない。
PHPの仕様。
501nobodyさん:2009/01/21(水) 21:33:19 ID:Gl08bGOK
一人でプログラミングしてるんだけど、
SMARTYの導入って意味あるかな?

ざっと検索してみたかぎりでは、
かえって覚えることが多くなって
時間がかかり、混乱するだけだと思うんだけど。
502nobodyさん:2009/01/21(水) 21:36:12 ID:Gl08bGOK
「実践マスター PHP+MySQL」ソーテック社 小島まさご

をゲットしたんだけど、HTML タグのエスケープに
stripptag を紹介してるんだけど、これって古いよね?

タグごと消えてしまうし、
タグを2重に書かれたらセキュリティ漏れ生じるし。

普通は htmlspecialchars 使うのが、もはや標準だと
思うんだけど。
503nobodyさん:2009/01/21(水) 21:36:58 ID:???
>>366
PHPのCLI版(コマンドライン版)のこと?
504nobodyさん:2009/01/21(水) 21:37:10 ID:???
あるよ
505nobodyさん:2009/01/21(水) 21:37:40 ID:???
>>504>>501宛ね
506nobodyさん:2009/01/21(水) 21:37:57 ID:???
>>377
対応するよ
507nobodyさん:2009/01/21(水) 21:47:54 ID:???
> タグを2重に書かれたらセキュリティ漏れ生じるし

508nobodyさん:2009/01/21(水) 21:53:48 ID:???
>>507
警察に通報しました
509nobodyさん:2009/01/21(水) 22:13:01 ID:Gl08bGOK
PDOの使い方をわかりやすく説明している本を教えて。
510nobodyさん:2009/01/21(水) 22:18:34 ID:???
ネタ帳さんの件への返信
http://phpspot.org/blog/archives/2009/01/post_302.html
これはひどい
511nobodyさん:2009/01/21(水) 22:29:08 ID:???
>>509
教えてクン逝ってよし
512nobodyさん:2009/01/21(水) 22:35:05 ID:???
phpspotなんてただのアフィ厨だろ
ネタ帳作者もきしょい
513nobodyさん:2009/01/21(水) 22:36:42 ID:???
ただのいがみ合い。
514nobodyさん:2009/01/21(水) 22:59:37 ID:???
>>511
警察に通報しました
515nobodyさん:2009/01/21(水) 23:37:16 ID:???
>>509
そのネタあ・き・た
516nobodyさん:2009/01/22(木) 01:56:38 ID:hY50S2yJ
mysql_fetch_arrayで、print_rみたいに配列表示したいときってどうすんのよ
試しにテーブルを一列だけにしたら、普通のarray()みたいな感じになって
print_rでできんのかなと思ったら0と1行目しか表示されなかったぞ。
arrayの表示方法って、print_rとかvar_dumpとか、foreachとかあるけど、
mysql_fetch_arrayはwhileだけ?
array()とはまったく別もんなの?
517nobodyさん:2009/01/22(木) 02:00:29 ID:???
お前が大好きなPDOはどうした
518nobodyさん:2009/01/22(木) 02:20:58 ID:448xoden
while使っておこう
519nobodyさん:2009/01/22(木) 03:11:20 ID:???
>>515
警察に通報しました
520nobodyさん:2009/01/22(木) 03:11:52 ID:???
>>517
病院に行け
521nobodyさん:2009/01/22(木) 03:16:12 ID:???
522nobodyさん:2009/01/22(木) 05:29:03 ID:???
別の手紙では、殺害された米山豪憲君(当時7歳)の家族の気持ちについて「何も分からないのが
 悔しくてもどかしい。くんれんや努力をすれば分かるようになるのでしょうか」と揺れる心情を
 つづっていた。
523nobodyさん:2009/01/22(木) 05:31:47 ID:???
>>521
警察に通報しました
524nobodyさん:2009/01/22(木) 05:37:19 ID:???
もう冬休みはとっくにおわってるよ
525nobodyさん:2009/01/22(木) 05:50:34 ID:RrSlW4/z
AutoIndex PHP Script で、やはり日本語ファイルを扱うと化けるのだが、
Indexを少しでも美しく扱える方法誰か知らない?
(デフォルトでは文字化けしないのに…)
526nobodyさん:2009/01/22(木) 05:56:26 ID:???
>>524
警察に通報しました
527nobodyさん:2009/01/22(木) 05:57:04 ID:???
919 名前:nobodyさん[] 投稿日:2009/01/22(木) 05:53:12 ID:RrSlW4/z
AutoIndex PHP Scriptのように、
Indexを少しでも美しく扱えるスクリプト
(かつ日本語ファイル名が正しく表示できるもの)
ご存じないでしょうか?
528nobodyさん:2009/01/22(木) 05:57:46 ID:???
>>526
何を警察に通報するの?
日本語が不自由なら自分の国の板へお帰り
529nobodyさん:2009/01/22(木) 06:07:02 ID:???
>>528
警察に通報しました
530nobodyさん:2009/01/22(木) 06:07:35 ID:K1m+qOSv
PARAM_INPUT_OUTPUT ってなに?
531nobodyさん:2009/01/22(木) 06:20:54 ID:???
少しは自分で考えろ無能
532nobodyさん:2009/01/22(木) 06:32:32 ID:???
>>531
警察に通報しました
533nobodyさん:2009/01/22(木) 06:54:27 ID:???
php_selfで、自分自身を指定するのは、
セキュリティ的に、危険な行為?
534nobodyさん:2009/01/22(木) 06:55:38 ID:K1m+qOSv
try catchのコードを試してみたいんだけど、
100%絶対にエラーになるコード何か教えて。
535nobodyさん:2009/01/22(木) 07:13:45 ID:K1m+qOSv
<?php
$user='aaaaa';
$pass='bbbbb';
$dbh = new PDO('mysql:host=localhost;dbname=test', $user, $pass);

?>

このコードを実行すると、データーベースの
ユーザー名とパスワードが画面に出てしまうんだが、
これって、エラーの出力をとめておけば
防げるのか?
536nobodyさん:2009/01/22(木) 07:26:52 ID:K1m+qOSv
エラーを一切出さないように設定したいのだが、
エラーレベル1にしてもダメなのか?
537nobodyさん:2009/01/22(木) 07:26:58 ID:???
PDOExceptionで制御しろ

try {
 new PDO(dsn, user, pass);
} catch (PDOException $e) {
}

これならなんもでないだろ
ただこれだとわからんからcatchブロックに
echo "DBに接続できません";
とかいれときゃいい

1ヶ月以上同じとこでぐるぐるループしてんじゃねえ
効率が悪すぎて相手するのもめんどくせえ
勉強の仕方が下手くそだから学校いって習え
538nobodyさん:2009/01/22(木) 07:44:12 ID:K1m+qOSv
>>537
ようは、PDOを使ってデーターベースに接続するときは、
try−catchの使用が必須ということか?

これを使わないと、パスワードが漏洩するぞと。
539nobodyさん:2009/01/22(木) 07:50:09 ID:???
お前はマニュアルをちったあミロ
http://jp2.php.net/manual/ja/pdo.connections.php
540nobodyさん:2009/01/22(木) 08:06:21 ID:???
・∀・
541nobodyさん:2009/01/22(木) 08:07:57 ID:???
餌を与えないで下さい
542nobodyさん:2009/01/22(木) 08:14:27 ID:???
>>541
警察に通報しました
543nobodyさん:2009/01/22(木) 08:19:45 ID:???
自分のことだと理解できるんだw
544nobodyさん:2009/01/22(木) 08:24:44 ID:???
リアルでも言われてるんだよきっと。
545nobodyさん:2009/01/22(木) 08:28:30 ID:???
いやリアルじゃ友達もいないだろ
毎日のように昼夜問わずいるし確実にニートだろうしな
546nobodyさん:2009/01/22(木) 08:44:29 ID:???
>>543
警察に通報しました
547nobodyさん:2009/01/22(木) 08:45:02 ID:???
>>544
警察に通報しました
548nobodyさん:2009/01/22(木) 08:46:14 ID:???
>>545
警察に通報しました
549nobodyさん:2009/01/22(木) 10:51:18 ID:???
Strict Standards: date() [function.date.html]: It is not safe to rely on
the system's timezone settings. Please use the date.timezone settin
g, the TZ environment variable or the date_default_timezone_set() fu
nction.

こういう感じのエラーメッセージが表示されるように設定した。
それで、function.date.html]のところをクリックできるように
設定したんだが、これのリンク先が
http://localhost/phpmanual/function.date.html
になっている。ここにマニュアルを入れるんだと思うが、
どこからダウンロードしてきたらいいのか?
550nobodyさん:2009/01/22(木) 10:57:49 ID:???
質問者は>>1をよく読みましょう
551nobodyさん:2009/01/22(木) 11:00:38 ID:K1m+qOSv
 
552nobodyさん:2009/01/22(木) 11:02:00 ID:wyl7aNQ+
掲示板で投稿されたレスに改行を含む場合について質問です
ユーザーから投稿されたレスを1行1データでcsvで記録してます
下記の通りに改行を<br />に変換したのですがレスの中の\nが消えずログがおかしくなってしまいます
お手数をおかけし恐縮ですが、どなたかアドバイスよろしくお願い致します


$res = $_POST['res'];
$res = htmlspecialchars($res,ENT_QUOTES);
$res = nl2br($res);

553nobodyさん:2009/01/22(木) 11:03:47 ID:???
>>551
公式のダウンロードのところにあるよ

※質問の仕方を丁寧にして努力の成果とともに書けば、もう少し情報貰えると思うし、警察に通報しなくても済むようになるよ
554nobodyさん:2009/01/22(木) 11:07:19 ID:???
>>552
csvで保存するメソッドが正しければ、\nは意識しなくても大丈夫だと思うよ。
保存はどうやってる?
どうしても、変換する必要があるなら、replace系の関数を使えばいいけど。
555nobodyさん:2009/01/22(木) 11:08:51 ID:???
よく状況がわからないが
出力時ではなく記録時に改行をbrにかえたものを入れる
改行を\nでログに記録しているならreplace系の関数で置き換える
など
556nobodyさん:2009/01/22(木) 11:14:07 ID:wyl7aNQ+
$resを他のデータと一行でこのように記録してます
日付(2009/1/02 13:23:44)
名前(坂本)
レス(こんにちは<br />テスト)←ここだけ<br />の後の\nが消えなくて困ってます
IP(127.0.0.1)

記録の仕方はこのようにしてます
$str = $hizuke.",".$name.",".$res.",".$ip."\n";
$fp=fopen("bbs.log","a");
flock($fp,LOCK_EX);
fwrite($fp,$str);
fclose($fp);


$res = $_POST['res'];
$res = htmlspecialchars($res,ENT_QUOTES);
$res = nl2br($res);
のあとに
echo "<pre>";print_r($b);echo "</pre>";exit;
を入れて確かめたのですがどうしても\nが残ります
557nobodyさん:2009/01/22(木) 11:20:04 ID:???
nl2brは、\nを<br />\nに変換するから当然かと。
$res = str_replace("\n", "<br />", $res);
でいいと思うけど。

そんな記録して出力面倒じゃない?
fputcsvとfgetcsv使う方がマシのような気はするが・・・
558nobodyさん:2009/01/22(木) 11:43:41 ID:???
$list = array (
array('aaa','12\'3'),
array('b,b"b',"4\n\n5"),
);
$fp = fopen('php://temp', 'w');
foreach ($list as $item) {
fputcsv($fp, $item);
}
rewind($fp);
while(($data = fgetcsv($fp)) !== FALSE) {
$result[] = $data;
}
var_export($result);
fclose($fp);
559nobodyさん:2009/01/22(木) 14:37:46 ID:b9TqSffK
今、mb_send_mail()を試していて、以下のような状態です

$extra="Reply-To:".$fromMail."\nX-Mailer: PHP/".phpversion();//これは成功
$extra="From:".$fromMail."\nX-Mailer: PHP/".phpversion();//これは失敗
$extra="From:".$fromMail."\n"."Reply-To:".$fromMail."\nX-Mailer: PHP/".phpversion();//これも失敗
mb_send_mail('[email protected]', "title", "body", $extra);

みたところ、From:を指定すると失敗するようです
(指定しなければ、php.iniのデフォルトのメールアドレスで送信されます)
どうしてもFromを指定上書きしたいんですが、どうしたらいいんでしょうか?
マニュアルを見て何度も確かめたんですが、上の書式は間違ってるんでしょうか?
560nobodyさん:2009/01/22(木) 14:54:08 ID:???
>>559
そのソース丸々コピペして3種類試したけど全部に送れたぞ
561nobodyさん:2009/01/22(木) 15:14:43 ID:???
>>559
spfレコードとfromが一致しなくて、送信先で
跳ねられてるとかはない?
562nobodyさん:2009/01/22(木) 15:28:59 ID:???
X-MailerにPHP使うと、スパム除けのスコアが上がることあるよ
563nobodyさん:2009/01/22(木) 15:29:35 ID:???
迷惑メールフォルダに入ってましたとかだったらいいよね(笑
564nobodyさん:2009/01/22(木) 15:30:30 ID:???
その前に、mb_send_mailの返り値をチェック。 falseなら遅れてないはず
565nobodyさん:2009/01/22(木) 15:30:57 ID:???
× 遅
566559:2009/01/22(木) 15:32:25 ID:b9TqSffK
>>560
ありがとうございます、おかげで解決しました

レスをいただいて、送信元・転送先のアドレスをいろいろ入れ替えて試したところ、

$extra="From: " . $fromMail ."\n"."Reply-To:".$toMail."\nX-Mailer: PHP/".phpversion();

上の書式で、$fromMailが***@ezweb.ne.jpの時は送信されないようでした(今までこれで失敗してました)
ためしに$fromMailを***@hoge.co.jpにしてみたら送信されました

よく考えたら送信先アドレスも@ezweb.ne.jpだったため、ezwebのIPアドレス外から送られた
「$fromMailが***@ezweb.ne.jp」のメールは全部受信をブロッキングされてたんだと思います
うっかりしてました
ほかのレスくれた方も、本当にありがとうございました
567nobodyさん:2009/01/22(木) 15:48:24 ID:22+OTvNy
【OS】xp
【PHPのバージョン】5.なんちゃら

プログラム初心者で、ソフトバンク社のサンプル集で独学中の者です。
「PDFファイルを使用する」という項でサンプルスクリプト(プログラム?)を入力したら次のようなエラーが。
Fatal error: Uncaught exception 'PDFlibException' with message 'Function must not be called in 'object' scope' in
C:\xampp\htdocs\_test\pdf_circle.php:9 Stack trace: #0 C:\xampp\htdocs\_test\pdf_circle.php(9): pdf_begin_page() #1
{main} thrown in C:\xampp\htdocs\_test\pdf_circle.php on line 9

よくわかりませんが、PDFlibというものを使うのかなと思い、付属されてたCD-ROMを起動してみたところ、
それらしきものは、「PDFlib・・(ry・・.zip」というフォルダ?で
その中身は「php-510」というフォルダ。さらにその中は「libpdf_phpdll」というもの。
何をどうすれば良いのでしょうか?
「関連付け」がなんちゃらと知人に言われたのですが、まるで意味不明なのです。
568nobodyさん:2009/01/22(木) 16:08:00 ID:???
まずxamppをやめる
569567:2009/01/22(木) 16:12:11 ID:22+OTvNy
本当に?
xamppやめたらPHP出来なくなっちゃうんじゃないの?
テキスト使ってるなら、apacheなどもそこからインストールしろってこと??
570nobodyさん:2009/01/22(木) 16:16:27 ID:???
じゃお前にゃ無理だから諦めれ
571nobodyさん:2009/01/22(木) 16:35:39 ID:???
>>567
それはたぶん、サンプルスクリプトのバグじゃないかな。
pdf_circle.phpの9行目のメソッドをスタティックに書き換えてみたらどうかな
572nobodyさん:2009/01/22(木) 16:35:59 ID:???
まぁ、まずはその本をやめた方がよさそう
573nobodyさん:2009/01/22(木) 17:01:08 ID:???
はじめてPHPやるやつでxampp使うやつはザコ
574nobodyさん:2009/01/22(木) 17:08:29 ID:???
ザコとかw
575nobodyさん:2009/01/22(木) 17:12:29 ID:???
無駄に煽ってる奴は在日PDO通報しました君
576nobodyさん:2009/01/22(木) 19:05:41 ID:???
【OS名】windows/linux
【PHPのバージョン】PHP 5.2.5(windows)
【質問内容】
基本的なことなのですが、配列(array)のコピー方法がわかりません。
Rubyでいうarray.clone、array.dup(たぶん浅いコピー(sharrow copy))みたいなことをしたいのです。
ググルさんでは、「php array 配列 コピー」や「php 配列 複製」などで検索したのですが、
いまいちわかりません。
どのようにしたものでしょうか?
577576:2009/01/22(木) 19:06:15 ID:???
ごめん。sageたらID出ない板だった orz
ageます。
578nobodyさん:2009/01/22(木) 19:11:15 ID:???
ageてないし

>>576
普通に値で代入すればcloneと同じ動作するでしょ
579nobodyさん:2009/01/22(木) 20:21:43 ID:MSLv2QA+
40歳前で他業界から入ってきた人って過去に例がありますか。
580nobodyさん:2009/01/22(木) 20:31:55 ID:???
自己紹介乙
581nobodyさん:2009/01/22(木) 20:35:00 ID:???
XAMPP叩いてるやつは雑魚
作業効率悪いんだろうなぁ〜〜(w
582nobodyさん:2009/01/22(木) 23:10:22 ID:b9TqSffK
$text = "フジテレビ";
mb_convert_kana($text,"KV","SJIS"); 
としたんですが、文字化けします
$text="こんにちはフジテレビ"; のように、前後に全角文字を入れればちゃんと全角かなに変換されます
半角カタカナのみだと動作しないものなんでしょうか?
583nobodyさん:2009/01/22(木) 23:15:27 ID:LyXoyyr9
[JavaScript+PHPでアカウントIDチェック]

入力フォームの一部(アカウントID)に入力された値を別ウィンドウ
で別プログラム(PHPでDB参照して重複あるかないかechoする)に渡して
チェックしたいんですが、簡単にできるやりかたわかる方ご教授ください。

window.open("about:blank","MyName","width=400,height=130,menubar=no,titlebar=no,toolbar=no,scrollbars=no,resizable=no");
document.form1.target = "MyName";
document.form1.method = "post";
document.form1.action = "useridcheck.php";
document.form1.submit();

とかすると、今度はsubmitの「登録送信」ボタンも useridcheck.php に
いってしまいます・・・ orz
584nobodyさん:2009/01/22(木) 23:25:11 ID:RJ5BK886
一部スレ違いな内容が入ってしまいますがDigest認証について教えてください。
通常のDigest認証だと認証用ウィンドウが出てきますが、これが嫌なので、
フォームにユーザ名とパスワードを入力してDigest認証をするために
以下のようなプログラムを作成しました。
一応プログラム的には動作していますが、
セキュリティ的に間違っていないか心配です。
御指南願います。

[1] サーバ側(PHP)
(1) 変数realm, nonce, uri, qop, methodを用意し、適当な値を設定する。
(2) ユーザ名、パスワードを入力するためのフォーム1を作成する。
(3) クライアントがresponseを作成するために必要な情報(realm, uri, method, nonce, qop)
  をhiddenでフォーム2に埋め込む。
(4) クライアントがサーバに認証情報(username, nc, nonce, cnonce, responce)渡すための
  フォーム3をhiddenで用意する(まだ空)

[2] ユーザ側(Javascript)
(1) ユーザ名とパスワードが入力されログインボタンが押されたらJavascript関数が呼ばる。
(2) 関数中でユーザ名、パスワード、フォーム2の情報を元にresponseを得る。
(3) 関数中でフォーム3に認証で必要な情報をセットする。
(4) submit関数を呼び、フォーム3の情報をサーバにPOSTする。

[3] サーバ側(PHP)
(1) POSTされたユーザ名からそのユーザのパスワードをDBから取ってくる。
(2) POSTされた情報(username, nc, nonce, cnonce)とパスワードからhogeを生成する。
(3) hogeとPOSTされたresponceとを比較し、一致したら認証完了。

※ ユーザ側でのresponce、サーバ側でのhogeの生成方法は
  Digest認証(Wikipedia) にある方法に沿っています。
585nobodyさん:2009/01/23(金) 00:07:54 ID:???
>>582
下記を実行した結果が TRUE なら出力先がエンコーディングの判断ミスをしてるだけ
FALSE なら mbstring 関数のバグ

$han = "\xcc\xbc\xde\xc3\xda\xcb\xde"; // Shift-JIS表現の "フジテレビ"
$zen = "\x83\x74\x83\x57\x83\x65\x83\x8c\x83\x72"; // 同 "フジテレビ"
var_export(mb_convert_kana($han, 'KV', 'SJIS') === $zen);

>>583
スレ違い。JavaScript スレ行き

>>584
HTTPヘッダでのやりとりをHTTPボディに移すだけよね、問題無いないかと
ケチをつけるならそれはDigest認証じゃなくて”RFC 2617を流用したオレオレ認証”
586584:2009/01/23(金) 00:49:47 ID:7cLFem7v
>>585
ありがとうございます。

>通常のDigest認証だと認証用ウィンドウが出てきますが、これが嫌なので、
このために>>584を考えたのですが、
もっとスマートな方法ってありますか?
587nobodyさん:2009/01/23(金) 01:32:24 ID:Dv21c52a
ereg_replaceでマッチしなかったらそのまま返してくれるんはいいけど
ひらがなだけなぜか文字化けの?で返ってくる
全部utf-8にしてるんだけど、これが原因か?
漢字は大丈夫
588nobodyさん:2009/01/23(金) 01:45:56 ID:???
mb_ereg_replaceでやってみたら?
589nobodyさん:2009/01/23(金) 01:59:12 ID:Dv21c52a
>>588
今やってみた、けど同じで、
全角ひらがな一文字が、(黒に白字)??になる
590nobodyさん:2009/01/23(金) 02:04:15 ID:Dv21c52a
あ!ちゃんとマニュアルどおりにやったら
mb_ereg_replaceでできた!勉強になりました
ありがとうございます
591nobodyさん:2009/01/23(金) 02:08:05 ID:Dv21c52a
あれ、何度もすまん!
やっぱりできなかった
>>589の通りになる
592nobodyさん:2009/01/23(金) 02:12:50 ID:Dv21c52a
しまった。mb_convert_encodingでやってた
mb_regex_encoding("UTF-8");でmb_ereg_replace
やったら、ひらがな文字化け直った
ありがとうございました
593nobodyさん:2009/01/23(金) 02:50:20 ID:???
>>586
Digest認証してブラウザに Authenticate ヘッダを送信させたいのか、
認証用ID、パスワードの平文を隠したいのかで変わる
前者ならブラウザが認証が必要かどうか判断できないので機能しない
後者ならそれでいい。Yahooなんかも非SSL環境で似たようなやり方をしてたと思う
594nobodyさん:2009/01/23(金) 03:44:20 ID:ufSOhBv2
<?php
print rand();
?>

このスクリプトをF5連打で実行しまくったら、
どうやら次のことがわかった。

(1)正の数しか出てこない
(2)小数はでてこない。整数のみ。
(3)35000くらいが上限らしい...?

そこで、上記のスクリプトを10回実行して、
その結果を、どんどん配列に入れていくような
スクリプトを作って、上記の仮説を検証してみたい。

どのようなコードをかけばよいか。
595nobodyさん:2009/01/23(金) 03:47:00 ID:ufSOhBv2
<?php
$a[]= rand();
$a[]= rand();
$a[]= rand();
$a[]= rand();
$a[]= rand();
$a[]= rand();
$a[]= rand();
$a[]= rand();
$a[]= rand();
$a[]= rand();
$a[]= rand();

print_r ($a);
?>

とりあえず、自分の知識で上記のコードを書いてみた。
randを実行した結果がノーマル配列$aに順次、格納され、
最後にprint_rで出力されている。

今度は、この中のMAXの要素を表示したい。
どう書けばよいか?
596nobodyさん:2009/01/23(金) 03:47:32 ID:ufSOhBv2
それと、

$a[]= rand();
$a[]= rand();
$a[]= rand();
$a[]= rand();
$a[]= rand();
$a[]= rand();
$a[]= rand();
$a[]= rand();
$a[]= rand();
$a[]= rand();
$a[]= rand();



この部分も、ループを使って書き直したい。
597nobodyさん:2009/01/23(金) 03:51:08 ID:ufSOhBv2
<?php
for ($i = 1; $i <= 100; $i++) {
$a[]= rand();
}

print_r ($a);
?>

自分で調べて、上記のように、
forループを使って書き直すことができた。
今度は配列の要素の中の、MAX値を抜き出したい。
どうすればよいか。
598nobodyさん:2009/01/23(金) 03:56:43 ID:ufSOhBv2
<?php
for ($i = 1; $i <= 100; $i++) {
$a[]= rand();
}
$b=max(($a));
print_r ($b);
?>

ついに完成に近づいてきた。

ランダムに100個の数値を生成し、
それらをすべて、配列に格納し、
その中の、最大値だけ抜き出して表示することに
成功したのだ。

これでrand関数の性質を調べることができるだろう。
599nobodyさん:2009/01/23(金) 03:58:54 ID:ufSOhBv2
$i <= 100 の時は、値にかなりのバラツキがあった。
ところが、
$i <= 100000
にして実験してみると、
32767
で固定されることがわかった。
つまり、rand関数の仕様は、
何も引数に指定しなければ、最大値は32767だということだ。
600584:2009/01/23(金) 04:00:22 ID:7cLFem7v
>> 593
ありがとうございます。
私の場合Digest認証をしているではなく、
”パスワードの平文を隠した認証”をしている、と言った方が良いですね。

思い付きの認証ですが、
世間から大きく脱線していない方法のようなので安心しました。
601nobodyさん:2009/01/23(金) 04:04:48 ID:ufSOhBv2
ちなみに、上記コードのmaxをminに変えて実行してみると、
最小値は0であることが確認できる。つまり、
randは0−32767の、合計、32768通りの数値を
生成するということだ。

この条件のとき、ランダムに100個の値を生成したときに、
最大値の32767が偶然、生成される確率はいくつであろうか?

実際に実験したかぎりでは、かなり低い数値だと体験的に理解しているが、、、

また、100、000(10万)個の値を生成したときに、32767がそのなかに
含まれる確率はいくつであろうか?

実際に実験してみたかぎりでは、ほぼ99.9999999%の確率で
(つまり全部の試行で)32767がMAX値として表示されたのだが、、、、

これを数学的に「○パーセント」と導き出すことはできるのだろうか?
602nobodyさん:2009/01/23(金) 04:05:40 ID:???
ID:ufSOhBv2
日記ならチラシの裏かブログにかけ
自己満足検証なんてこんなとこに書かなくていい
マニュアル見れば書いてあるのにご苦労なことだ
603nobodyさん:2009/01/23(金) 04:07:48 ID:???
>>602
お前は暗号センターに勤めたことはないのか?
604nobodyさん:2009/01/23(金) 04:12:34 ID:???
>>601は失笑もんだな
こんなこと書いて恥ずかしくないのだろうか・・・
>>603
何が暗号センターだよ笑わせるな
意味不明もいいところだ
605nobodyさん:2009/01/23(金) 04:30:52 ID:???
俺も暗号センター勤めたてたよ?
606nobodyさん:2009/01/23(金) 04:38:53 ID:???
擬似乱数がどうこういいたいんだろw
確かにこりゃ失笑もんだなwww
607nobodyさん:2009/01/23(金) 04:43:10 ID:???
おまえがもし100年前に生まれていたら、
「脚気という病気は細菌によるものである」
って教科書に書いてあったら、調べもせずに
そのまま信じ込むんだろうな。
608nobodyさん:2009/01/23(金) 04:44:37 ID:???
<?php
for ($i = 1; $i <= 100000; $i++) {
$a[]= rand();
}
$b=array_sum($a) / count($a) ;
print_r ($b);
?>


0から32767までの数値を、
10万個ランダムに生成し、
それらの生成された数値を
全部配列に格納し、
その平均値を求めるプログラムである。

これを実行しF5を連打すると、
平均値が安定しないことがわかる。
609nobodyさん:2009/01/23(金) 04:48:30 ID:???
>>607
医学解明とただの関数解析はレベルが違いすぎる
お前のはただの自己満足
だから恥ずかしいといわれる
それでも恥ずかしいこと書きたきゃブログでやれ
高度なことを書きたいのならまずはアセンブラを勉強しろ
それとスレ違い
610nobodyさん:2009/01/23(金) 04:55:21 ID:???
まぁそろそろ2.3ヶ月居着いてスレ違いなこといい続けてるし、
質問も連投してただ荒らしてるだけだし、
報告してみるといいかもしれないね。
この程度じゃ規制はされないだろうけど、注意の目はくるだろう。
611nobodyさん:2009/01/23(金) 05:03:07 ID:???
>>610
警察に通報しました。
612nobodyさん:2009/01/23(金) 05:03:58 ID:???
<?php
for ($i = 1; $i <= 100000; $i++) {
$a[]= rand();
}
$b=array_sum($a) / count($a) ;
$c=floor($b);
print($c);
?>

先ほどのコードで、
小数点以下がウザかったので、
floor関数を使って、切り捨てて、整数にしたみた。
613nobodyさん:2009/01/23(金) 05:06:31 ID:???
ああ、こいつにはこれがあったな。
1行コピペ荒らしで報告すればいいかもしれない。

まぁそんなことはさておき、
マニュアルを信用できないのならプログラムやめちゃいな。
それかPHPみたいにCでの実装とかじゃなく、
自分でスクラッチから言語作ってそれを使いな。
アセンブラレベルでコンピュータの制御が信用できないならもうどうしようもないけどw
614nobodyさん:2009/01/23(金) 05:07:09 ID:???
>>613
警察に通報しました
615nobodyさん:2009/01/23(金) 07:15:36 ID:ufSOhBv2
http://72.14.235.132/search?q=cache:VURwFeVu9vwJ:5x2.info/211+http://5x2.info/211

このページで

「1つの場合:fetchを使いつつ、一応LIMIT 1も指定してみる」
とアホな無意味なことをやっているのはなぜ?
バカだから?
616nobodyさん:2009/01/23(金) 07:21:11 ID:ufSOhBv2
PDOでデーターベースから値を持ってくるときに、
bindParamとbindValueの、どちらを使うべきなのか?
617nobodyさん:2009/01/23(金) 07:21:43 ID:???
まちがえた、変数をバインドするときに、だった。
618nobodyさん:2009/01/23(金) 07:22:49 ID:ufSOhBv2
PDOで値を持ってくるときに、
fetchを使うべきなのか?

そのときの、パラメーターはどうすればいいのか?
619nobodyさん:2009/01/23(金) 07:25:43 ID:ufSOhBv2
もしかして、ANDとORとXORを駆使すれば、
複雑なド・モルガンの問題も、ボタン一発で解ける?
620nobodyさん:2009/01/23(金) 08:13:06 ID:???
わざわざsageてるとこがキモイ
621nobodyさん:2009/01/23(金) 08:15:30 ID:???
規制申請してくるか
622nobodyさん:2009/01/23(金) 08:15:51 ID:???
>>620
警察に通報しました
623nobodyさん:2009/01/23(金) 08:16:26 ID:???
>>621
警察に通報しました
624nobodyさん:2009/01/23(金) 08:23:12 ID:???
ど素人のくせに、ちょっと知ってるとこがあるとエラそうに答えちゃうとこがキモイ
(しかも、思いこみで間違ってる内容多数)
625nobodyさん:2009/01/23(金) 08:26:12 ID:???
>>624
警察に通報しました
626nobodyさん:2009/01/23(金) 08:38:48 ID:???
これ本当に1人でやってるならすげえとおもうわ・・・
1日何時間張り付いてるんだよ
627nobodyさん:2009/01/23(金) 08:47:32 ID:???
>>626
警察に通報しました
628nobodyさん:2009/01/23(金) 09:17:11 ID:???
自覚はしてるんだね。
629nobodyさん:2009/01/23(金) 09:34:42 ID:???
冷静なツッコミに吹いたwwwwww
630576:2009/01/23(金) 10:35:48 ID:Qlph62AH
>>578
本当だ!代入でコピーされてました。
arrayはインスタンス返すもんだと思ってた。どうやらオブジェクト脳すぎたようだ・・・

<?php $a=array('hage', 1234); $b = $a; $a[0] = TRUE; var_dump($a, $b); ?>
array(2) {
[0]=>
bool(true)
[1]=>
int(1234)
}
array(2) {
[0]=>
string(4) "hage"
[1]=>
int(1234)
}
631nobodyさん:2009/01/23(金) 10:50:20 ID:Qlph62AH
【OS名】windows/linux
【PHPのバージョン】PHP 5.2.5(windows)
【質問内容】
恐縮ですが、質問させていただきます。

DateTimeクラスを用いて、日付と日付の比較するよい方法はありませんでしょうか?
やりたいことは、ある日付が今日から何時間経過していたら、処理をやめる、というようなことをやりたいのです。

DateTime::modifyとDateTimeどおし比較ができれば、いけると思ったのですが、
date_diffやDateTime::diffは実装されていないようですし、
比較演算子は定義されていないようですし、上手い方法がわかりません。

また、DateTimeのリファレンスのようなものも見つけられませんでした。
皆さんはどのように比較されているのでしょうか?
632nobodyさん:2009/01/23(金) 11:09:16 ID:???
>>631
上手い方法はunixtimestampで計算
もしかして、クラスに依存するのが上手い方法だとでも?
オブジェクト指向マンセーってか。言語をなめてんの?

アンケートなら他所でやるべき
おれはZend_Dateだけどw
633nobodyさん:2009/01/23(金) 13:21:57 ID:G0q2tgbP
jspというのを勉強しているのですが、
<html%>というコードが出てきて、%の意味が分からないので教えてください。
634nobodyさん:2009/01/23(金) 13:24:15 ID:???
読みは”パーセント”
意味は百分率でぐぐれ
635633:2009/01/23(金) 13:46:36 ID:???
それはわかるのですが、ブラウザがどういう解釈をするのか知りたかったのです。
636nobodyさん:2009/01/23(金) 14:16:16 ID:???
スレ違いじゃねーの
637633:2009/01/23(金) 14:31:34 ID:???
jspとtomcatの本を買えといわれたそうします。
ありがとうございました。
638nobodyさん:2009/01/23(金) 14:43:35 ID:???
>>595
aa
639nobodyさん:2009/01/23(金) 15:27:11 ID:???
SQLiteManagerでの質問です。 INSERT INTO addressbook ( id , name , zip , address , create_at )
VALUES ( NULL , 'test' , 1234567 , '東京都' , '2008-07-17 01:10' ) SQLからこのリクエストを実行すると東京都の部分が文字化けするのですが
どなたか対処方法を教えて下さいませ。
ちなみに挿入からだと文字化けしません。
640nobodyさん:2009/01/23(金) 15:37:29 ID:???
質問者は>>1を読んでね
641nobodyさん:2009/01/23(金) 17:07:46 ID:mpwi3WFw
再帰を使って、同じファイル名のファイルが存在すれば
先頭に「copy_(数字)」を付けたいと思います

以下のようなソースを書いたのですが、
copyの箇所が複製されたファイル名になります「copy1_copy_test.html」
どこを修正すればいいのでしょうか?

function fileMake($to_dir,$f_name,$i){

$new_file = $to_dir."/".$f_name;

if(is_file($new_file)){
$f_name = "copy".$i."_".$f_name;
$num = $i+1;
fileMake($to_dir,$f_name,$num);
}else{
touch($new_file);
}
}
$to_dir = realpath(".");
fileMake($to_dir,"test.html","");
642641:2009/01/23(金) 17:16:44 ID:???
すみません、自己解決しました
名前を変更したファイル名を再指定して再帰しているから
「copy+数字+変更したファイル名」になってしまっていました。
643nobodyさん:2009/01/23(金) 19:03:27 ID:???
>630
PHP5にはSPLという、C++でいうSTLの出来損ないみたいなのが存在する。
そいつに含まれるArrayObjectは、おまいの想定しているような動作をする。

<?php
$a = new ArrayObject(array('hage', 1234));
$b = $a; $a[0] = true; var_dump($a, $b);
?>
object(ArrayObject)#1 (2) {
 [0]=>
 bool(true)
 [1]=>
 int(1234)
}
object(ArrayObject)#1 (2) {
 [0]=>
 bool(true)
 [1]=>
 int(1234)
}
644nobodyさん:2009/01/23(金) 19:57:05 ID:???
phpとかcgiのuploaderで、パスワード付きのみるけど
あれって、単にランダムなフォルダ名のフォルダ作って
ファイル入れてるだけじゃね?
フォルダ名ばれたらファイルまでの絶対パスもばれて
パスワードも意味ない気がするけど、そこまでシビアじゃないのかな
例えば、サイトの階層ごと丸ごとダウンロードみたいなツールで
検索かけられても大丈夫なのか
645nobodyさん:2009/01/23(金) 20:20:06 ID:???
と思ったけどほぼ自己解決しました
646nobodyさん:2009/01/23(金) 20:56:44 ID:???
647nobodyさん:2009/01/23(金) 21:13:17 ID:???
>>644
>あれって、単にランダムなフォルダ名のフォルダ作って
なんじゃそりゃ?
648nobodyさん:2009/01/23(金) 21:23:41 ID:???
>>647
たとえば、うpろだってサイトだと
パスワード付けたら、ttp://www.uploda.org/
の下にファイル名+適当な文字列のフォルダの下に画像ファイルが入ってる
けど、こういうのて、画像ファイルの絶対パスで接続されたら
パスワード打ち込む必要がないから、なんか条件が軽いなぁと思った
649nobodyさん:2009/01/23(金) 21:28:48 ID:???
URLのクエリがそうだからって実際にディレクトリが作られてるとでも思ってるの?
650nobodyさん:2009/01/23(金) 21:33:56 ID:???
getみたいに?でやってるんじゃないの
651nobodyさん:2009/01/23(金) 21:45:04 ID:???
>>649
そんな風な設定がどこかでできるのかな
>>650
いや、例えば、パスワードありだと、こんな感じでのurlが生成される
ttp://www.uploda.org/uporg1454584.jpg_5gsPPFWAFEGWYfwafWAXr/uporg1454584.jpg(ダミーurl)

/uporg1454584.jpg_5gsPPFWAFEGWYfwafWAXr/
が、649が言うようにできるのかよくわからないのと、
これ含めた絶対urlパスで接続すると、画像が見れちゃうのをもっと厳しくできないかなと
652nobodyさん:2009/01/23(金) 21:47:45 ID:???
無法地帯だな
653nobodyさん:2009/01/23(金) 22:24:40 ID:???
>>651
基礎知識を勉強してから出直して来い
654nobodyさん:2009/01/23(金) 22:36:41 ID:???
ムホッ
655nobodyさん:2009/01/23(金) 22:44:06 ID:???
「困ったな僕」とか言ってたらママが助けてくれたんだろうな。
かわいそうに。将来性ないわ。
656nobodyさん:2009/01/23(金) 23:06:29 ID:???
657nobodyさん:2009/01/23(金) 23:37:27 ID:???
ひゃひゃ。もう戻って来ないで^^ってかんじ
658nobodyさん:2009/01/23(金) 23:43:34 ID:???
>>653
いや、上でも言ってるように
ほぼ解決はしたんだけど、あまりにも段階踏みすぎというか。
他のuploaderとかみてても大体そんな感じなんだよね
659nobodyさん:2009/01/23(金) 23:51:24 ID:???
お前、全然わかってないだろ
660nobodyさん:2009/01/23(金) 23:55:26 ID:???
661nobodyさん:2009/01/24(土) 00:17:02 ID:???
>>659
omaemona
662nobodyさん:2009/01/24(土) 00:21:50 ID:???
>>661
おまえ、「できるのかな」とか「わからない」しか書いてないのに、
>>658で「上でも言ってるようにほぼ解決」とか、ワケワケメ

# PATH_INFOとかmod_rewriteとかAddHandlerなんかでググったりするなよ。スレチだし。
663nobodyさん:2009/01/24(土) 01:16:54 ID:???
横からで悪いが、>644が無知なだけだな。

ttp://pc11.2ch.net/test/read.cgi/php/1231850905/
とか
ttp://www.amazon.co.jp/dp/4894712288/
とか
ttp://www.nicovideo.jp/ranking/mylist/daily/animal
とかがディレクトリを指しているとでも思っているのだろうか。
何億ディレクトリ作ってるんだよAmazon。
664nobodyさん:2009/01/24(土) 01:25:06 ID:kFWBnpyA
http://www.ibm.com/developerworks/jp/opensource/library/os-php-5.3new2/?ca=drs-jp
このリスト 7. オブジェクトの中にあるクロージャーって
クロージャ生成と同時に実行されてませんか?
$closure = $dog->greet("Hello");
$closure();
なら分かるのですが。
何故こういう動作になるのですか?
665nobodyさん:2009/01/24(土) 01:30:18 ID:???
試してみたら?
666nobodyさん:2009/01/24(土) 01:40:09 ID:???
>>664
たしかに、そんな感じする。
667nobodyさん:2009/01/24(土) 02:07:27 ID:lTAVuTjG
PHP5を勉強中です。
タイプヒンティングがググッても理解できません。
バカな私に優しく説明して下さい
668nobodyさん:2009/01/24(土) 02:15:53 ID:???
理解できないなら必要ないということだ。
669nobodyさん:2009/01/24(土) 02:28:03 ID:+XZf0oGO
ある変数に指定した数字が入っていたら違うページに飛ぶってできますか?
IDとパスワードがあってたら違うページに飛ぶみたいなの作りたいんですけど

どうしたらできますか?
670nobodyさん:2009/01/24(土) 02:28:14 ID:???
マニュアル読めよ
671nobodyさん:2009/01/24(土) 02:28:43 ID:???
>>669
header
672nobodyさん:2009/01/24(土) 02:29:53 ID:???
>>669
header
673nobodyさん:2009/01/24(土) 02:30:44 ID:???
被った…のか?
俺のミスかな。
674nobodyさん:2009/01/24(土) 02:38:34 ID:???
>>669
header
675nobodyさん:2009/01/24(土) 02:47:36 ID:+XZf0oGO
headerを一番上に書いときますよね?
で、条件式としてはどんな感じになるんでしょうか?
676nobodyさん:2009/01/24(土) 02:57:11 ID:???
>667
function hoge(PDO $var)
と宣言すると、関数hogeにPDOクラス(もしくはその継承クラス)のインスタンス以外の引数を渡すとエラーになる。
配列もしくはクラスしか指定できないけどな。

「この関数には配列を渡せ、文字列とか渡す屑は俺が殺す」
とコメントに書く事は、非常に良くあることだと思う。
タイプヒントを使うと、意図しない型の引数を渡す相手に対しエラーを発生させて本当にぶち殺せるようになる。

インターフェイスも指定できるし、指定されたクラスの子クラスでも通る。
引数がおかしい事が事前に分かるので「悪いのは俺様のメソッドじゃなくててめえの脳味噌だ」と容易に主張でき、
貴重な時間を脳に障害のある糞の書いたコードのデバッグに使わなくとも良くなるのが利点。

タイプヒントを使わないと実装できない機能は何一つとして無い。分からないなら放置でいい。
PHPの強みを殺す側面もあるから、「デキる奴はこれを使う」ってわけでもないしな。
677nobodyさん:2009/01/24(土) 02:59:42 ID:???
デキる奴はこれを使うのは真だろ
逆は成り立たないが
678nobodyさん:2009/01/24(土) 03:10:00 ID:+XZf0oGO
すいません、できました
header関数教えていただいてありがとうございました
679nobodyさん:2009/01/24(土) 04:53:50 ID:+XZf0oGO
また質問すいません

headerを使うためにはHTMLタグの前に定義する必要がありますよね?
そこで条件式をつかってやると普通の$testみたいな普通の変数では反応しないのに
POSTだと反応するんです

×if($test)header("location:http://www.yahoo.co.jp/");
○if($_POST['test'])header("location:http://www.yahoo.co.jp/");

ID、パスワードチェックに使うため、普通の変数でチェックしたいのですが
方法はありますでしょうか?
680nobodyさん:2009/01/24(土) 05:46:58 ID:???
エスパー案件だな
681nobodyさん:2009/01/24(土) 07:11:10 ID:???
$testが偽と判定されてんだろ
682nobodyさん:2009/01/24(土) 07:34:04 ID:+XZf0oGO
異なる2つの<?PHPタグで扱われてるので、submitボタンを押したときに
$testの値が失われているのでしょうか・・・
$testをGLOBALにしてもダメでしたし

POSTはformが値を入力して更新してもずっと値は保存されるんですけど
683nobodyさん:2009/01/24(土) 07:47:16 ID:???
var_dump($test)は?
684nobodyさん:2009/01/24(土) 08:01:03 ID:+XZf0oGO
どうやらセッションとやらを使えばいいのかもしれません
とりあえず試してみます
685nobodyさん:2009/01/24(土) 08:10:41 ID:???
人の話シカトする子か
686nobodyさん:2009/01/24(土) 08:56:59 ID:???
>>685
人の書き込みをまともに読めるやつならググって解決してるよ
687nobodyさん:2009/01/24(土) 09:08:54 ID:u4JOuR9w
>>632
phpにまだ慣れていないのですいません。
アンケートではなく、実際の比較の仕方を教えていただけないでしょうか?

もしかしたら、phpではまだDateTimeは全然使われておらず、
メソッドなども整っていないのでしょうか?
(ベータ段階のAPIというようなことが)その辺がドキュメントに記述がなく、
使ってしまっていたのですが、unixtimestampでやるべきなんでしょうか?
unixtimestampはすでにレガシーかと思っていたのですが、そうではないのかな?
688nobodyさん:2009/01/24(土) 09:10:22 ID:u4JOuR9w
unixtimestampがレガシーだと思った理由は、
検索しても、2038年問題が云々かんぬん→DateTimeを使おうという記事ばかりひっかかるためです。

DateTime使っているところをもどすのマンドクセ('A`)
689nobodyさん:2009/01/24(土) 09:11:39 ID:???
DateTimeって2038年問題は解消されてるの?
690nobodyさん:2009/01/24(土) 09:35:47 ID:???
2038年に果たしてPHPの今の仕様がどれだけ残ってるのやら
691nobodyさん:2009/01/24(土) 10:18:37 ID:???
こんにちは
@pagesというレンタルサーバを使用しているのですが(http://atpages.jp/)
1週間程使えたphpmyadminが使用できなくなっていて
(#2002 - サーバが応答しません (あるいはローカルの MySQL サーバのソケットが正しく設定されていません))
web上でもデータベースにアクセス出来ないエラーが出ています
(Can't connect to local MySQL server through socket等)

google等で検索したところ
php.iniファイルを弄れば解決出来るらしいのですが
レンタルサーバを使用してる際も利用者が解決する方法はあるのでしょうか

PHPのバージョンは、5.2.6
phpMyAdminのバージョンは 2.11.4
Mysqlのバージョンは4.1.22
OSはfirefox3です
よろしくお願いします
692nobodyさん:2009/01/24(土) 10:28:49 ID:oMv5fN39
sageるとID表示されないのですね
すいません
693nobodyさん:2009/01/24(土) 10:39:55 ID:???
MySQLが落ちてるんじゃないの?
694nobodyさん:2009/01/24(土) 10:44:59 ID:???
>>687
> (ベータ段階のAPIというようなことが)その辺がドキュメントに記述がなく、
> 使ってしまっていたのですが、

マニュアルにCVSって書いてありますけど?
ttp://www.php.net/manual/en/class.datetime.php
695nobodyさん:2009/01/24(土) 11:02:04 ID:oMv5fN39
>>693
やはりそれしかないんでしょうか
ありがとうございます
696nobodyさん:2009/01/24(土) 11:07:33 ID:???
いや、他にもあるけど、とりあえず疑ってみるって話。
以前は動いてたんでしょ?
697nobodyさん:2009/01/24(土) 11:08:21 ID:???
> OSはfirefox3です
698nobodyさん:2009/01/24(土) 11:13:32 ID:???
telnet使えないみたいだし鯖缶に聞けばいい
699nobodyさん:2009/01/24(土) 11:24:37 ID:???
この板の「くだ質」スレは、他の板のものとは何か違うようだ。

他板のくだ質は、初心者のくだらない書き込みを一箇所にまとめて、他のスレ
を汚させないためにある。

だから質問者は原則的に叩かれない。初心者が追い散らされて、他スレに書き
込んだりしたら意味がないからだ。また当然、くだらない質問を読むのが嫌い
な人がスレに来ることは推奨されない。わざわざ隔離スレに来るのはお人よし
だけである。

ところがこの板のくだ質は、どういうわけか、くだらない質問の嫌いな人間が、
質問者をひたすら叩きまくっている。意味が分からない。
700nobodyさん:2009/01/24(土) 11:26:28 ID:???
叩かれてるのは質問してる人じゃなくて、
ここでブログ書いてる人でしょ?
701nobodyさん:2009/01/24(土) 11:29:11 ID:???
>>700
そういうのばかりでもない。何スレか見てるけど、単なる質問が叩かれてる。
つうかブログ書いてたって、別に害はないんだから放置すればいいのに。
どうせ隔離スレなんだから。
702nobodyさん:2009/01/24(土) 11:32:15 ID:???
それはブロガーがIDかくして叩いてるだけだよ。ほとんど。
要するに荒しが一人いるだけ
703nobodyさん:2009/01/24(土) 11:39:56 ID:???
>687
OS側のtime_t型が64ビットになれば西暦何百億年くらいまで先送りできる。
そして、64ビット環境はそういう実装になっている事が多い。よって2038年までにサーバーリプレースすりゃセーフ。
まあ、どう考えても10年後には32ビットサーバーなんぞ絶滅してるだろ。

>687
DateTime::diffが比較に使えそうだが、俺の環境(PHP5.2.5 for Win)では
echo implode(", ", (get_class_methods("DateTime")));
>> __construct, format, modify, getTimezone, setTimezone, getOffset, setTime, setDate, setISODate
なので使えん。

>689
echo date("Y-m-d H:i:s", mktime(0,0,0,12,31,65536)) . "\n"; // 1970-01-01 09:00:00
$dt = new DateTime("9999-12-31");
echo $dt->format("Y-m-d H:i:s") . "\n"; // 9999-12-31 00:00:00
$dt->setDate(99999, 12, 31);
echo $dt->format("Y-m-d H:i:s") . "\n"; // 99999-12-31 00:00:00
704nobodyさん:2009/01/24(土) 11:43:37 ID:???
>>702
「ブロガー」がこのスレに来るずっと前から、このスレはこんな感じだよ。
他板のスレと違って、叩きたいだけの人がここには居るように見える。
705らーめん:2009/01/24(土) 11:45:24 ID:/Xl7pqmU
Windowsのファイル属性(隠しファイルとか読みとり専用)やファイルの更新日などを
取得したり変更したりする関数ってある?
探したけど見あたらない。
706nobodyさん:2009/01/24(土) 11:50:12 ID:???
どこを探したんだ?
707nobodyさん:2009/01/24(土) 11:51:05 ID:???
普通にstatでできないのか?やったことないけど
708nobodyさん:2009/01/24(土) 11:55:49 ID:???
>>699
この板では実質的に生きてるのはこのスレだけだから皆ここに集まってるだけ
709nobodyさん:2009/01/24(土) 12:13:38 ID:???
マジレスするなよ
不自然な改行はいつもの馬鹿だろ
察知しろ
710nobodyさん:2009/01/24(土) 12:29:40 ID:???
>>705
つ DirectoryIterator
711nobodyさん:2009/01/24(土) 12:29:59 ID:???
>>708
意味が分からない。書き込みのあるスレは他にいくらでもあるよ。
それともリアルタイムのやり取りでないと不満?そんな目的の人が多いんなら、
くだ質が機能しなくなっても当然か。


>>709
見えない敵と戦ってるの?このスレにはときどき回答する以外、ほとんど書き
込んでないよ。
あと、不自然な改行?君はEmacsを知らないのね。
712nobodyさん:2009/01/24(土) 12:32:20 ID:???
>>711
あなた、Emacsで原稿書いてから投稿してんの?
それなんて粘着?
713nobodyさん:2009/01/24(土) 12:34:09 ID:???
>>712
そのツッコミは間違い
質問君もEmacs使ってるってことで糸冬
714nobodyさん:2009/01/24(土) 12:39:48 ID:???
715nobodyさん:2009/01/24(土) 12:45:25 ID:???
>>713
そのツッコミも少し足りない。
Emacs用の2chブラウザがあるんだよ。仕事でたくさん開いてるバッファに混ざっ
て、2chブラウザのバッファがあって、それを使って書き込んでるの。

まあ別にEmacs使ったから偉いわけでもなんでもないけど、PHPを書ければ偉い
わけでもないよな。
716nobodyさん:2009/01/24(土) 12:57:35 ID:???
> PHPを書ければ偉いわけでもないよな。

そういう、突拍子もない話の展開が例のブロガーと一緒なんだよな
同一人物じゃないのかもしれんが、そういう風に見られるよ。その書き込み
717nobodyさん:2009/01/24(土) 13:05:41 ID:???
>>716
ご忠告ありがとう。例のブロガーの書き込みは読み飛ばしてるんで気が付かな
かったよ。

じゃあ、誰にでも分かるように書き直そう。

PHPが書けるからって、わざわざくだ質に来て、初心者に偉そうに説教して楽しむ
人って何なの?くだ質が機能しなくて迷惑なんですけど。
718nobodyさん:2009/01/24(土) 13:08:16 ID:???
お前らが偉かろうが偉くなかろうが、Emacs使ってようがHttpRequestクラスで書き込んでようが、質問者には関係ないし、俺にも関係ない。
メアドでもブログでもなんでも晒して勝手にやってくれ。
719nobodyさん:2009/01/24(土) 13:08:45 ID:???
同一人物だろ 餌をやんな
720nobodyさん:2009/01/24(土) 13:11:03 ID:???
今日の展開を見る限り、どうみても、>>717が機能不全を起こさせてるよな、
721nobodyさん:2009/01/24(土) 13:17:32 ID:???
そういえば、例の奴が荒し質問乱発してここでブログを書くようになったのも
>>717とおんなじ主張して暴れてからだったな。
類似点多すぎ。2号誕生か。やれやれ。
722nobodyさん:2009/01/24(土) 13:27:39 ID:???
もう、ID無しは無視されるスレにしようかw
723nobodyさん:2009/01/24(土) 13:50:59 ID:???
いつもの気持ち悪いやつが沸いてるな
多重人格で自演するのも大変ですね
724667:2009/01/24(土) 14:27:48 ID:lTAVuTjG
>>676
ありがとう。
使わないけど、機能だけおぼえておきます。
725nobodyさん:2009/01/24(土) 16:30:38 ID:b4zCx4aL
質問です
改行ありの文章があるんですが、その文章の改行コードを変えたいと思います
どうしたらいいんですか? 改行コードだけを変換する関数とかがあるんでしょうか?
LFというのからCR+LFに変換したいんですが…

また、直接PHPと関係なくて恐縮ですが、textarea に入力したもの$textを
mailto: body=$text のようにしてメールに代入しようとしてます

auでは代入されたものにもとのtextareaの改行が反映されてるんですが、
docomoでは改行がされずに全部つながっています
これはなぜかご存知の方いますか? これも改行コードの問題でしょうか
726nobodyさん:2009/01/24(土) 16:39:13 ID:???
とりあえず、\nを\r\nに変換してみれば?
PHPと関係ないところはスレチ
727nobodyさん:2009/01/24(土) 16:39:54 ID:???
str_replace("\n","\r\n",$txt);
728nobodyさん:2009/01/24(土) 17:32:08 ID:???
>>725
あんまり携帯については詳しくないけど、後者の質問は textarea の wrap 属性が関係してる希ガス。

そっち関係あたってみな。
729nobodyさん:2009/01/24(土) 18:20:29 ID:???
>>726-728
ありがとうございます 助かりました!
730nobodyさん:2009/01/24(土) 18:48:40 ID:???
テンプレに回答者としての態度をわきまえることを追加するべきでは?
回答者にも節度というものが必要でしょう
731nobodyさん:2009/01/24(土) 20:29:50 ID:???
>>730
そんな君のためのスレがあります。
どうかそちらのテンプレに追加してください。
ttp://pc11.2ch.net/test/read.cgi/tech/1232712334/

もしくは、すでにこんなのがあります
ttp://pc11.2ch.net/test/read.cgi/php/1158647441/
732nobodyさん:2009/01/24(土) 21:10:13 ID:???
誰だよ、ム板に立てたの。
733nobodyさん:2009/01/25(日) 00:11:57 ID:ah0+T9VC
フォームメールを作ってるんですが、SJISの環境で半角カタカナを送信したいときは
mb_send_mail()でなくmail()を使うのが正解なんですか?
mb_send_mail()では化けてしまったのであきらめたんですが、
半角カタカナを送る方法があればすみませんが教えてください
734nobodyさん:2009/01/25(日) 00:28:12 ID:???
メールを送りたい文字コードの選択がに合わせて正しく設定すれば
mb_send_mailだって行けるよ。無論mailでも。

でも、 メールで半角カタカナを送るという話は宗教論争になるからやめたほうがいい。
735nobodyさん:2009/01/25(日) 00:48:19 ID:???
やっぱ偉く振る舞ったり初心者をいじめるのがこのスレの目的なんだなw
そりゃクズがわんさか集まるわw
736nobodyさん:2009/01/25(日) 00:50:14 ID:iwXV4Mui
>>734
ありがとうございます
文字コード関連はさっぱりわからなくて、フォームメールはSJISがいいと効いたので
SJISにしたんですが、見たこともない漢字に半角カタカナが化けてしまいます
SJIS自体やめたほうがいいんでしょうか? それともさらに何か手続きが必要なんでしょうか?
737nobodyさん:2009/01/25(日) 01:22:58 ID:???
メールはiso-2022-jpね
738nobodyさん:2009/01/25(日) 05:56:19 ID:???
>736
ちょっとは自分で考えてみようや。

フォームをSJISにする
 ↓
本文のデータがSJISで送られてくる
 ↓
(??????)
 ↓
本文のデータをJISでmb_send_mail
739nobodyさん:2009/01/25(日) 08:24:34 ID:???
本文がShift_JIsでも、エンコードすれば送れるよ。
ただ、クライアントによっては受け入れないことがあるから、
対象にしているクライアントがどの程度かによってShift_JISを選ぶかどうかを検討する必要がある。

ttp://q.hatena.ne.jp/1170603143
ここでは、mb_send_mailはsjisは使えないって答えてる人がほとんどだけど、
実際にはエンコード後の文字列はさらにエンコードしたりしないので大丈夫
740nobodyさん:2009/01/25(日) 08:45:49 ID:WR9lsa0F
phpを開いたときに、targetで、別のところにページを表示させたかったのですが
header ロケーションではtarget指定できないということで、
ぐぐったりしているとformを使う方法があったのですが、
これだと一回ボタンを押すという作業が増えてしまうように思えます。
どうにかして、”phpを開いたときに、指定したurlを自動で別ページに表示”
ということをしたいのですが、javascriptなどはなしで、phpだけでどうにかする方法を教えていただけないでしょうか
741nobodyさん:2009/01/25(日) 08:50:13 ID:???
無理
742nobodyさん:2009/01/25(日) 08:51:18 ID:WR9lsa0F
>>741
なるほど、action系のものはjavascriptを使わないといけないということでしょうか
ありがとうございました
743nobodyさん:2009/01/25(日) 09:04:02 ID:WR9lsa0F
ちなみに好奇心で、header,locationで、targetが仕様ではないのはなぜなんでしょうか。
あれば便利だと思うのですが。
744nobodyさん:2009/01/25(日) 09:44:54 ID:???
>>740
PHPで出力したページを開くときに、onLoadでJSで開けば1クリックの手間は要らないのでは?
クリックの手間じゃなくてJSを動かせない環境だとかならしょうがないけど
というかポップアップブロッカーが普及してから、そんな処理実用的じゃないかもなぁ
745nobodyさん:2009/01/25(日) 10:10:48 ID:iwXV4Mui
>>737-739
ありがとうございます、たびたびすみません
エンコードを変えればいいのかと思い、

mb_language('Japanese');
mb_internal_encoding("SJIS") ;
の環境で、
$body = mb_convert_encoding($body, "UTF-8", "SJIS");
$body = mb_convert_encoding($body, "JIS", "SJIS");
$body = mb_convert_encoding($body, "EUC-JP", "SJIS");
$body = base64_encode($body);
mb_send_mail(〜);
と、片っ端から試してみたんですが全部化けます やってることおかしいでしょうか?
746nobodyさん:2009/01/25(日) 10:38:00 ID:???
本文はJISのままで、BASE64は不要でしょ
747nobodyさん:2009/01/25(日) 11:07:32 ID:???
>>745
化けるのが普通なんだよ。メールに半角カナなんて使わないのが基本。
mb_convert_kanaして全角にすりゃ済むのに環境依存なコード突っ込む必要ないでしょ。普通。
こういうのは環境依存なところがあるから、不毛な展開になるからね。

が、たとえばUTF-8でシステムを運用してる場合、
$data = "あいうえおアイウエオ";
$data = mb_convert_encoding($data, "sjis-win", 'UTF-8');
mail("[email protected]", "test", $data);
これだけで、問題なく送れる。
$bodyの文字コードをsjis-winに変換してmailしてみ。とりあえず
748nobodyさん:2009/01/25(日) 11:49:35 ID:iwXV4Mui
>>746
すみません、理解不足でなんでもやってみました
>>747
詳しいアドバイスありがとうございます

1)いただいたご意見どおり、sjis-winにSJISから変換
2)mb_internal_encoding("UTF-8");後
 mb_convert_encoding($body,"sjis-win","UTF-8");
の両方を試して見たんですが、ダメでした
2)のほうはそれまで全部SJISで処理してきたのに無茶なことをしたのかなって感じです

やっぱり半角カタカナはあきらめたほうがいいんですね
今回は携帯サイトなんでSJISで作ってきたんですが、UTF-8 をみんなが推薦してる理由がわかった気がします

どうもありがとうございました
749nobodyさん:2009/01/25(日) 11:59:19 ID:???
>>748
送信は、mb_send_mailじゃなくて、mailにしてみた?
まぁ、諦めたんなら別にいいんだけどさ。
750nobodyさん:2009/01/25(日) 12:19:50 ID:???
実際に使う場合は、
>>747 に追記で、本文のほかに
・メールの題名
・名前(アドレスに付加する場合)
もJISに変換要るので注意
751nobodyさん:2009/01/25(日) 12:23:40 ID:???
って、まて、なんでsjis-winなんだwww

せっかくなんで、うちで上手く言っているコード晒す。
元の文字コードはUTF-8(UTF-8のところをSJISに変えたらいけるんじゃね?)

$from_name = mb_encode_mimeheader($from_name, 'ISO-2022-JP');
$subject = mb_encode_mimeheader($subject, 'ISO-2022-JP');
$body = mb_convert_encoding($body, 'ISO-2022-JP', 'UTF-8');

sendmail($from, $from_name, $to, $subject, $body);

sendmailは自分で定義してな
752nobodyさん:2009/01/25(日) 12:27:37 ID:???
>>751
それ、
$body = mb_convert_encoding($body, 'ISO-2022-JP', 'UTF-8');
この瞬間に、半角カナが化けるでしょ。JISにないんだから。
753nobodyさん:2009/01/25(日) 12:32:13 ID:???
まぁ、本気でやるんなら、PEAR::Mailでも使えってことかな
754nobodyさん:2009/01/25(日) 12:34:12 ID:???
PEAR::Mail(笑)
755nobodyさん:2009/01/25(日) 12:54:54 ID:???
ここは初心者が初心者をいたぶりあうインターネッツですね
756nobodyさん:2009/01/25(日) 13:18:23 ID:???
それがどうした?
757nobodyさん:2009/01/25(日) 13:19:12 ID:???
>>755
お前見たいのが一番無駄w
758nobodyさん:2009/01/25(日) 14:04:39 ID:???
>>752
あああ、スマソ 元の文見てなかった
半角カナか、ISO-2022-JPには定義されてないなw

以前に届いてた半角カナ含んだケータイのメールを調べてみようとしたが、
文字コードがわからん!つかEdMaxでデータのまま保存する方法がわからんだ
やっぱりSJISなんだろうか
759nobodyさん:2009/01/25(日) 15:25:08 ID:???
>>758
jis
760nobodyさん:2009/01/25(日) 15:28:14 ID:???
Shift_JIS
761nobodyさん:2009/01/25(日) 15:30:24 ID:???
マクドだけど

Content-Type: text/plain; charset="ISO-2022-JP"
Subject: マクドナルド トクするケータイサイト
762nobodyさん:2009/01/25(日) 15:32:23 ID:???
デコード後のデータ出してどうする
763nobodyさん:2009/01/25(日) 15:36:23 ID:???
Message-ID: <[email protected]>
MIME-Version: 1.0
Content-Type: text/plain; charset="Shift_JIS"
Content-Transfer-Encoding: 8bit

docomoから半角カナで送ったメール

764nobodyさん:2009/01/25(日) 15:38:26 ID:???
765nobodyさん:2009/01/25(日) 15:48:42 ID:vJI7ILVc
ログアウトで
$_SESSION = array();
if (isset($_COOKIE[session_name()])) {
setcookie(session_name(), '', time() - 42000, '/');
}
session_destroy();

とすればちゃんとsessionも切れログアウト状態になるんですが、消したくないsessionがある場合、
何かいい方法ないでしょうか?
unsetで消したいsessionを1つづつ消す以外の方法で。

ログイン前・中・ログアウト後 とサイトの状態維持を持続したいのですが。
766nobodyさん:2009/01/25(日) 15:53:24 ID:???
sessionとcookie 基本からやり直した方がよさそうだよ
767nobodyさん:2009/01/25(日) 17:39:29 ID:???
>765の考えているセッションは一般的な意味のセッションではない気がする。
「セッション」とか「認証」とか「ログアウト」とか「ログイン」とかいう技術用語を使わずにやりたい事を説明できるか?

クライアントに覚えさせても問題ない情報ならば、セッション変数にせずにクッキーを発行してしまう方が手っ取り早い。
768nobodyさん:2009/01/26(月) 14:47:07 ID:???
おい、xampp使ってる素人はapache単体かowsに切り替えろ
ttp://www.itmedia.co.jp/enterprise/articles/0901/20/news013.html
769nobodyさん:2009/01/26(月) 21:50:37 ID:S1JqNcOw
<img src=test.jpg width=100 height=50 />

<img src="test.jpg" width="100" height="50" />

というようにダブルクォーテーションで囲うようにしたいのですが
どういう方法で追加させるのでしょうか?
770nobodyさん:2009/01/26(月) 21:59:38 ID:???
エスパー案件ですね。
771nobodyさん:2009/01/26(月) 22:13:29 ID:???
>>769
そこにダブルクオーテーションを書け
772769:2009/01/26(月) 22:37:16 ID:???
>>771
いや、書いてない文字列に自動的に
ダブルクォーテーションを付けるようにしたいんです。

用途は、例えばタグを利用できる掲示板で
たまにダブルクォーテーションが無い場合があり、そういう文字列に
自動的に付く処理を入れたいんです。
正規表現でと、考えましたが、パターンが思いつきません。
773nobodyさん:2009/01/26(月) 22:40:17 ID:???
>>768
利用を教えてください。
ローカルでの開発用に apache2 使ってますが、結構レスポンス遅いです。
実機上だとかなり速い。

こういう問題が解決しますか?
774nobodyさん:2009/01/26(月) 22:47:43 ID:1N7QJGx/
質問です。変数名で困ってます。
↓に英語の変数名を付けるとしたら皆さんならどうつけますか?

@国
A関東、近畿、四国、九州など(総称がよくわかんね)
B都道府県
C市区町村
D番地
775nobodyさん:2009/01/26(月) 23:00:53 ID:???
いちいちローカル変数にコピーすんの?
776nobodyさん:2009/01/26(月) 23:19:08 ID:???
>>774
1:country
2:map_area
3:pref
4:address
5:address_number
777nobodyさん:2009/01/26(月) 23:22:41 ID:???
アンダーバーはダサい
778nobodyさん:2009/01/26(月) 23:32:36 ID:???
(先頭じゃなくても)変数にアンダーバーを付けるとエラーの原因になる
実際経験済み
779nobodyさん:2009/01/26(月) 23:47:33 ID:???
>>768
あくまで個人的意見だが。
xamppを公開サーバーで使う奴なぞおらんと思う。
xamppっていうのは、俺の中ではWindowsマシン上で手っ取り早く手間かけずにlocal開発環境を構築するものかな。
その目的において、xamppに勝るものは今のところないかなと。

んでもう少し凝った環境をlocalで構築するなら俺はVMWareを使うが、そこら辺は人それぞれかなと。
それこそあなたが紹介してるもの使おうが自由だと思うが如何なもんか。
780nobodyさん:2009/01/26(月) 23:58:47 ID:???
>>769,772
$str = '<img src=test.jpg width=100 height=50 />';
echo preg_replace('/(\w+)\s*\=\s*([^\s\/\>]+)/', '$1="$2"', $str);

即興で書いてみた。全然検証してないし、多分駄目なパターンが幾らでもあると思うのでそのつもりで。
適当にググればもっと良い正規表現とか幾らでも見つかると思う。
781nobodyさん:2009/01/27(火) 00:10:29 ID:???
>>765
クッキーを使わずに特定のセッションキーの値だけ保持したいだけって意味だろうか?

$_SESSION = array();

の代わりに

$conf = array('aaa', 'bbb', 'ccc'); // 消したくないセッションのキー

foreach ($_SESSION as $key => $val) {
if (!in_array($key, $conf)) { unset($_SESSION[$key]); }
}

「unsetで消したいsessionを1つづつ消す以外の方法で」と書いてるから↑は駄目って事かい?

もしそうであれば
1.消したくないセッションを別変数に退避
2.セッションクリア
3.退避してたのをセッション変数に戻す
てな感じの流れになると思うが。

最後の一行はエスパーじゃないのでわからん。
782769:2009/01/27(火) 00:18:06 ID:???
>>780
出来ました!ありがとうございます。

「PHP 正規表現 ダブルクォーテーション」でググっても
出てこないのですが、もう少し探しつつ自分でも勉強してみます。
783nobodyさん:2009/01/27(火) 00:22:10 ID:???
>>778
マジ!?

俺、変数はすべてアンダーバー付けてるよ・・・
関数は「testPage」みたいにしてるけど・・・
784nobodyさん:2009/01/27(火) 00:48:50 ID:???
なんで関数はキャメルケースで変数はそんなんなんだw
785nobodyさん:2009/01/27(火) 01:02:08 ID:hNLt6VET
そういえば皆さん、変数・関数・クラス、それぞれどんなケース(キャメルケースとかアッパーケースとか)で書いてますか?
786nobodyさん:2009/01/27(火) 01:02:39 ID:???
>>785
ZendとPearのコーディング規約にあわせてる
787nobodyさん:2009/01/27(火) 01:04:04 ID:???
zendの規約
788nobodyさん:2009/01/27(火) 01:06:01 ID:???
オレ竜だろJK
789nobodyさん:2009/01/27(火) 01:07:37 ID:???
>>788
まぁ趣味でやるならそれでいいんじゃねぇの?w
790nobodyさん:2009/01/27(火) 02:43:20 ID:???
ちなみにCamelCaseは「キャメルケース」、snake_caseは「スネークケース」という通称がある。

俺は関数とクラス名はキャメルケース、変数はスネークケースにする事が多い。
何となく変数名に大文字があると違和感がある。
そもそも変数名にそんな長い命名をする事はあまり無いがな。

表記の差なんぞ大した問題じゃないし、最悪機械的に置換するのも容易だから適当にやってりゃいい。
どんな単語を選ぶかに比べたら瑣末な問題だ。
791nobodyさん:2009/01/27(火) 02:47:16 ID:AxUtLBKR
phpmyadminにurlというフィールドがあったとします
urlのフィールドに <a href="hoge.php"></a>とPHPMYADMINを使って挿入させたんですよ
でっ表示させてみたらリンクが成功されてました

これってエスケープされてないって証拠ですよね? やばいですよね?
792nobodyさん:2009/01/27(火) 02:54:06 ID:???
>>790
>何となく
素人はこれだから
793nobodyさん:2009/01/27(火) 03:10:11 ID:???
>>778
http://www.php.net/manual/ja/language.variables.basics.php
ぐらい読め

>>791
この板はPHPで作られたアプリケーションのサポートまでしません
開発者に言え
794nobodyさん:2009/01/27(火) 03:29:00 ID:qjzUuhbL
GDで画像に文字を書いてjpegのヘッダー吐いてブラウザに表示させると
アルファベットの文字の場合は問題ないのだが
日本語の場合、画像がjpegではなくbitmapになってしまいます。
名前もuntitledです。

それでも絵が表示されるので問題は無いのですが
bitmapだとデータサイズが大きくなりすぎて回線の都合で困ります。

マルチバイト文字を使ってもjpegで出力させる方法があれば教えて下さい。

ちなみに文字は入力がsjisで、スクリプト中にUnicodeにエンコードして書いてます。

あとセッションを使った時もなぜかbitmapになるんですよね。
なんで?
795nobodyさん:2009/01/27(火) 03:31:36 ID:???
なぜ最後だけ人をなめくさった口調?
796nobodyさん:2009/01/27(火) 04:29:40 ID:FuIrNp9Y
htmlのformが空のときに、mysqlにnullを送りたくて、
phpからinsertのsql文かくときに
$a = null;
$sql = "insert〜values(".$a.");";

ってやって、mysql側でinsertされた$aの値をみると、nullじゃなくて文字型のnullが代入されてしまう・・
phpからmysqlにnullを送りたいときはどうしたらいいのでしょうか
今、回避策としてifで、formが空なら、
$sql = "insert〜values(NULLl);";
として、空でないときと空のときとで$sqlを二回書いているのですが、
他に方法があれば教えてもらいたいです
797nobodyさん:2009/01/27(火) 04:30:27 ID:FuIrNp9Y
s(NULLl);"; → s(NULL);";
798nobodyさん:2009/01/27(火) 06:47:55 ID:???
>>796
$a = 'NULL';
799nobodyさん:2009/01/27(火) 07:26:33 ID:FuIrNp9Y
>>798
やってみました。ですが、
phpmyadminで確認したのですが、文字型でないNULLが入ると
斜め表示のNULLになるのですが、$a = 'NULL';でやると、
文字型のNULLで入ってしまうのです。
800nobodyさん:2009/01/27(火) 07:37:29 ID:FuIrNp9Y
>>798
すみません、そもそも>>796で勘違いをしておりました。
$sql = "insert〜values(".$a.");";
とありますが、$aはformが空でないときも考慮するので、正しくは
$sql = "insert〜values('".$a."');";
で、$a = 'NULL';をいれていて失敗していました。
'のない$sqlで空でないときは、$a = "'".$a."'"でやったら空でないとき空のとき両方でできました
申し訳ありませんでした。ありがとうございました
801nobodyさん:2009/01/27(火) 08:42:17 ID:???
プレースホルダ使えよ
802nobodyさん:2009/01/27(火) 09:11:21 ID:???
801 :nobodyさん:2009/01/27(火) 08:42:17 ID:???
プレースホルダ使えよ
803nobodyさん:2009/01/27(火) 10:50:51 ID:txYSEp0E
file_get_contentsを使いたいのですがPHP4.2のため使えませんでした。
自分のサーバではないのでPHPのバージョンは上げられません。
何か方法はありませんか?
XMLの取得に使いたいと思っています。
804nobodyさん:2009/01/27(火) 11:01:00 ID:???
>>778
ワロタ
805nobodyさん:2009/01/27(火) 11:07:33 ID:???
>>803
同等の関数を作ればいい
引数とか全部実現しなくても、自分が使う分だけ想定すればいい
806nobodyさん:2009/01/27(火) 11:25:34 ID:???
>>779
フイタ(笑)
xamppに頼る事態ザコだろ
807nobodyさん:2009/01/27(火) 11:32:33 ID:???
>>803
function file_get_contents_($file) {
 $str = "";
 foreach (file($file) as $value) {
  $str .= $value;
 }
 return $str;
}
808nobodyさん:2009/01/27(火) 11:33:46 ID:???
>>807
fopen
809nobodyさん:2009/01/27(火) 11:36:11 ID:???
別にfopenでもなんでもいいけどよ
実現できれば
810nobodyさん:2009/01/27(火) 11:40:03 ID:???
わざわざ配列にして文字列に直すとかwwwwwwwwwwwwwww
811nobodyさん:2009/01/27(火) 11:40:38 ID:???
フイタ
812nobodyさん:2009/01/27(火) 11:46:32 ID:???
テキストファイルを読みたいわけじゃないんでしょう。
813nobodyさん:2009/01/27(火) 11:47:58 ID:???
file_get_contentsがほしいんだろ?
別に間違った解答じゃないじゃないか
814nobodyさん:2009/01/27(火) 12:00:54 ID:???
foreach...

function file_get_contents_($file) {
 return implode('', file($file));
}

でいいのでは?
815nobodyさん:2009/01/27(火) 12:02:56 ID:???
file_get_contents('http://www.yahoo.co.jp/'); が使えないです。 
こっちを使いたいんじゃないとエスパーな勘で。
816807:2009/01/27(火) 12:13:35 ID:???
なるほど
そういえばimplodeなんてものがあったな
817803:2009/01/27(火) 12:28:44 ID:???
いろいろありがとうございます。
試してみたのですがXMLの情報がうまく拾えません...

以下のXMLなのですが

<Title>YAHOO!</Title>
<Contents>
  検索サイト
</Contents>
<Url>
  http://www.yahoo.co.jp/
</Url>

とあった場合、ContentsとUrlの情報は拾えるのですがTitleが拾えません。
818nobodyさん:2009/01/27(火) 12:34:27 ID:???
>>817
目視してキーボードからタイトル入力
819nobodyさん:2009/01/27(火) 12:36:17 ID:???
勘で答えるのは失敗したので、回答出来ません。
820nobodyさん:2009/01/27(火) 12:37:56 ID:???
この中にエスパー、エスパーの方はいらっしゃいませんかー
821nobodyさん:2009/01/27(火) 12:49:41 ID:97r4TD7y
>>817
ereg_repalce('<Title>(.*)</Title> ',\\1,"XML");
とかで行けるかな?

ContentsとUrlはどうやって拾ってるのかな?
822nobodyさん:2009/01/27(火) 12:50:47 ID:???
>>803>>817って関係ない次元の話じゃないか
823nobodyさん:2009/01/27(火) 12:59:03 ID:???
わざわざID隠してるし817は偽者だろ
824nobodyさん:2009/01/27(火) 13:06:16 ID:???
preg_match_all使えば簡単に取り出せたよ
825nobodyさん:2009/01/27(火) 13:18:57 ID:yQe3oXTz
すいませんがeclipse+java+Tomacatでの開発からテスト、リリースまでの質問ってどこできけば手っ取り早いですか?
826nobodyさん:2009/01/27(火) 13:20:24 ID:yQe3oXTz
あ トマキャットになってる。Tomcatです。
827nobodyさん:2009/01/27(火) 13:21:40 ID:???
トマトケチャップになってスパゲッティに混ぜられて食べられてトイレで流れてから出直してこい
828nobodyさん:2009/01/27(火) 13:23:54 ID:yQe3oXTz
あ 人がいた。
出直してきたので教えてください。eclipseのスレにいったら誰もいそうになかったので
829nobodyさん:2009/01/27(火) 13:29:33 ID:???
>>825, >>828
ム板のEclipseスレだろうかねえ。
Eclipseを使うなら、JavaとTomcatは当然使うだろうし、
この板のEclipseスレは廃墟だから。

Eclipse統合M26【Java/C/PHP/Ruby/Python/Perl】
http://pc11.2ch.net/test/read.cgi/tech/1224536200/

念のためだけど、質問するときは常識を持ってね。
「Eclipseで開発、テストはどうやりますか?」とか、
漠然としたことを聞かれたりしたら答えようがないから。
830nobodyさん:2009/01/27(火) 13:36:36 ID:yQe3oXTz
>>829
誘導までしていただきありがとうございます。
ざっとみてみます。
831nobodyさん:2009/01/27(火) 13:40:43 ID:???
あなたたち好きですよ
832nobodyさん:2009/01/27(火) 20:38:08 ID:???
関係ないけど、>>795の返しに死ぬほどワロタwwww
833nobodyさん:2009/01/27(火) 21:40:54 ID:AxUtLBKR
どうも
<?php
$db = new PDO('mysql:host=localhost; dbname=bbs', 'root', '');

MYSQLに接続してるんですけど、こういう接続情報はWeb公開されていないフォルダに置いた方がいいと聞きました。
そんなことしてる方居ますか?
優しいご意見よろしくおねがいします。
834nobodyさん:2009/01/27(火) 21:46:32 ID:???
いますけど何か?
835nobodyさん:2009/01/27(火) 22:13:31 ID:???
>>833
構ってちゃん乙
836nobodyさん:2009/01/27(火) 23:19:04 ID:YTQfs/1J
フォームメールでメールを送ると、「車」とか「蛇」とかが「?」になって受信されます
どうしたら解消できるでしょうか?
フォームメールのエンコードはSJISです

よろしくお願いします
837836:2009/01/27(火) 23:20:52 ID:YTQfs/1J
書き忘れました
よくある「\」が勝手に付加されるというエラーは起きていません
ググったらそれ関連の対策サイトはたくさんあったんですが、「?」のほうはいいのが
見当たらなくて聞きました  お願いします
838nobodyさん:2009/01/27(火) 23:22:21 ID:???
エスパー伊藤さ〜ん
839nobodyさん:2009/01/27(火) 23:34:39 ID:???
SJISのフォームメールのページから送信
ウェブサーバが受信してSJISからJISに変換して送信先メールサーバに送る
メールサーバに新着が届いてるかアクセスして、あれば受信

どの段階で化けてるか、ログとればいい
840nobodyさん:2009/01/27(火) 23:51:39 ID:???
>833
むしろWebから見える位置に置いてるのは5行程度の1ファイルのみ。
841nobodyさん:2009/01/28(水) 00:01:32 ID:???
なぜ5行w
842nobodyさん:2009/01/28(水) 01:11:40 ID:???
>>836
俺んとこのSJIS/PHP匿メールフォームで車蛇が正常に送られていたから解決方法はある
843nobodyさん:2009/01/28(水) 02:10:53 ID:Q3XQIErM
せっくすって楽しいんですか?ぼくもいちどけいけんしてみたいです。
844nobodyさん:2009/01/28(水) 09:51:18 ID:???
>>841
フレームワークってことが言いたいんだろ
845nobodyさん:2009/01/28(水) 12:39:29 ID:8L8rzhrr
【OS名】winxp / linux
【PHPのバージョン】php5.2.5
【連携ソフトウェア】mysql
【質問内容】
DBに画像のファイル名だけを保存して
<img src="./img/<?=$row[hoge];?>">としてるのですが、
この時点で画像をリサイズしたいとき、
画像の横幅の数値や縦幅の数値などを取得することは可能でしょうか
846nobodyさん:2009/01/28(水) 12:58:16 ID:???
PHP と mySQL と Apach で簡単なウェブシステムを作りたいのですが、
知識が、html/css しかないひとには、
かなりハードル高いでしょうか?
847nobodyさん:2009/01/28(水) 13:06:51 ID:???
>>845
getimagesize

>>846
質問するなら>>1をよく読んで
848nobodyさん:2009/01/28(水) 13:17:33 ID:???
>>845
すばらしく軽いシステムになりそうだね。
849nobodyさん:2009/01/28(水) 13:21:48 ID:???
>>847
ありがとうございます、助かりました

>>848
画像容量もあるんで重くてもしょうがないかなとあきらめてます・・・。
850nobodyさん:2009/01/28(水) 13:41:36 ID:???
>>847
志ね
851nobodyさん:2009/01/28(水) 14:58:42 ID:???
>>849
DBにファイルサイズのフィールド作っとくとか、
ファイルシステム上に、調べたファイルサイズをテキストファイルで保存しとくとか。
852nobodyさん:2009/01/28(水) 20:19:09 ID:6Bc6Lkqo
【OS名】CentOS
【PHPのバージョン】5.1.2
【連携ソフトウェア】GD

【質問内容】
GDについて質問です。
以下のコードがエラーになるんですがimagecolorallocateで黒指定ってできないんですか?
<?
$image = imagecreate(20,20);
$permeateColor = imagecolorallocate($image,0,0,0);
if(!$permeateColor){
print "ERROR\n";
}else{
print "OK\n";
}
?>
853nobodyさん:2009/01/28(水) 20:22:23 ID:???
>>852
>>1
◆質問する時の注意
・ エラーメッセージはそのまま表記すること。「エラーが出ます」だけでは回答不可。
854nobodyさん:2009/01/28(水) 20:24:59 ID:???
$permeateColor が 0を返してるんだと思います。
エラーの条件見直してね。
855nobodyさん:2009/01/28(水) 20:56:20 ID:Z5zDQiPZ
同一フォーム内にtypeがsubmitであるボタンが複数あるとき、
submit後、そのボタンの名前を知ることは出来ますか?
<input name="button1" type="submit">
のようにしても_POSTから「button1」を拾えず困っています。

処理上「同一フォーム内」というのが理想で、
複数フォームを用意してJavaScriptを使うという解決方法も有りますが、
できればPHPのみで処理したいという感じです。
856nobodyさん:2009/01/28(水) 20:58:25 ID:???
うそつけ
857nobodyさん:2009/01/28(水) 21:01:16 ID:???
>>855
<input name="button1" type="submit" value="ボタン1だよ〜">

var_dump($_POST);
858nobodyさん:2009/01/29(木) 00:03:25 ID:kTh7UEOg
【OS名】linux (xrea)
【PHPのバージョン】 5.2.5
【連携ソフトウェア】

【質問内容】
<?php
require_once('File/Archive.php');
$buf = "テスト";
File_Archive::extract(File_Archive::readMemory($buf, 'test.txt'), File_Archive::toOutput());
?>
上のコードをローカル環境(windows+xampp1.6.7)
で動かした場合、希望通りダウンロードのダイアログボックスが開きますが
レンタルサーバ(xrea)で動かしたら、ダイアログボックスが開かず「テスト」と表示されてしまいます。

phpかアパッチの設定だろうと思うのですが何でこうなるかさっぱりわかりません。
よろしくお願いします。
859nobodyさん:2009/01/29(木) 00:06:30 ID:YsrWxu/c
$str = <<<EOD
<td>111</td>
<td>222</td>
<td>333</td>
<td>444</td>
<td>555</td>
<td>666</td>
EOD;

mb_ereg_search_init($str);

$getstr = mb_ereg_search_regs('<td>([^<]*)</td>');

これだと'111'しか取得できないんだけどさ、
'111'.......'666'まで取得するにはどうすれば良い?
単純に回せば良いのかな?って思うんだけど、どう回せば良いんだろう
860nobodyさん:2009/01/29(木) 00:12:57 ID:???
preg_match_all
861nobodyさん:2009/01/29(木) 09:02:54 ID:lViVhLck
例えばurlの引数に、?p=10&v=1
とかにして、かつ、vが1と0だけに限定したとき、
p=10と30と50はv=1の処理へ、p=20と40はv=0の処理ってしたとき、
意図的にurlを?p=20&v=1で接続されて、20もv=1の処理されると困るから
(20が1かどうかを判断しようと思えばできるけど、あえて引数だけで判断したい)、
引数をpathで隠そうと思ったんだけど、隠しても、
たまたま勘のするどいやつが、正確な引数付きの処理違いのurlを直接放り込んで
アクセスされた場合は意味内?
862nobodyさん:2009/01/29(木) 09:06:10 ID:???
>>861
意味ない
863nobodyさん:2009/01/29(木) 09:19:01 ID:lViVhLck
>>862
ありがとうございます、わかりました。
864nobodyさん:2009/01/29(木) 09:46:18 ID:bf47cLsH
複数のファイルを別フォルダにコピーしたいときは
copy()をファイル数分ループさせるしかないのでしょうか?
865nobodyさん:2009/01/29(木) 10:03:40 ID:???
そこ、手抜いておもしろいか?
866nobodyさん:2009/01/29(木) 10:10:16 ID:???
ループさせないでベタに羅列するという方法もある
867864:2009/01/29(木) 11:35:34 ID:bf47cLsH
>>865
めんどくさがりなので面白いです

>>866
めんどくさいのでそんなことは出来ません

別の手を抜く良い方法を思いつきました
ありがとうございました
868nobodyさん:2009/01/29(木) 11:37:12 ID:???
面倒だからってすでにあるコードも捨てて別のを採用しちゃうわけか。
869nobodyさん:2009/01/29(木) 12:21:49 ID:61ZU4Htc
phpとmysqlだけで使えるファイルマネージャ(ファイル共有システム)を探しています。
パスワードが利用でき、セキュリティが確保されていることが条件です。
ウェブで探していたらrelayというパッケージが見つかったのですが、残念なことにcgiを必要としていました。
ご存知でしたら、ご教示のほどよろしくお願いいたします。
#ウェブ制作管理から誘導されてきました。
870864:2009/01/29(木) 12:42:31 ID:???
>>868
まだ設計・構築段階
すでにコードがあるなんてどこにも書いていないですよ?
871nobodyさん:2009/01/29(木) 12:50:58 ID:???
>>865
マニュアルのコメントにあるけどな。
ttp://jp.php.net/manual/ja/function.copy.php#87289
普通はループでコピーだ。
こんなところで、ゴルフしてるようで設計?ぶw

状況にもよるが、俺ならrsync
872nobodyさん:2009/01/29(木) 13:14:11 ID:???
exec で cp -r とか、 圧縮して copyは一回だけとか
873nobodyさん:2009/01/29(木) 13:45:32 ID:6/f6dxAE
PHP5でセーフモードがかかっています
ファイルの作成からパーミッション666への変更を行いたいのですが
fopenやchmodなどが使えなくて困っています
pukiwikiは普通に使用できるサーバなので
何か方法があると思うのですが
pukiwikiのソースから該当部分を探すことができないので
どなたか方法を教えてください
874nobodyさん:2009/01/29(木) 13:59:13 ID:???
ftpでやったらいいじゃない。
もしプログラムで作ったファイルならその時点で書き込みできてるだろうし。
875873:2009/01/29(木) 14:06:42 ID:6/f6dxAE
>>874
レスありがとうございます

多人数で使うシステムでユーザごとにファイルを作成することになるので
あらかじめファイル名やファイル数を予測することはできません
あと言い忘れましたがshell_execなどのコマンドも使用できないようです

制約が多いですが何か方法があったらお願いします
876nobodyさん:2009/01/29(木) 14:22:57 ID:???
>>875
元のディレクトリにWebサーバから読み書きできる権限があれば、
あとは、その下位ディレクトリだってどうにでもなる。
サーバによって設定の仕方は違うけど、変なブログ記事とか参考にしないで
落ち着いて考えてみ
877873:2009/01/29(木) 15:08:50 ID:6/f6dxAE
>>876
レスありがとうございます
管理権限がないので権限の変更はできません
(そういう意味じゃないのならすみません)

ちょっと頭がかたいのか方法が思いつかないので
とりあえずこの部分はperlで記述して
file_get_contentsあたりでたたくことにしたいと思います
878nobodyさん:2009/01/29(木) 15:57:11 ID:???
>>877
普通FTP経由でパーミッションの変更ぐらいできるが、
出来ない鯖ならどうもならんわな。
879873:2009/01/29(木) 17:02:36 ID:6/f6dxAE
>>878
そういうことでしたか
public_htmlを777に変更したところ作成できるようになりました
ただちょっとこの方法は危ない気がするので今回は見送りたいと思います
phpでもcgiが使えれば一番よいのですが(使えるとは書いてるんですが)
使い方がわからないのでやはりperlでやりたいと思います

勉強になりました
レスどうもありがとうございました
880nobodyさん:2009/01/29(木) 17:45:53 ID:5k1XXheb
そよのスレ落ちて誰も答えがなかったのでこちらへ。

//$_SESSION['abc']; は前ページで123を代入

//ここから
$_SESSION = array();
if (isset($_COOKIE[session_name()])) {
setcookie(session_name(), '', time() - 42000, '/');
}
session_destroy();

echo $_SESSION['abc'];//123

と表示したいのですが何か方法はないのでしょうか?クッキーとか使わずに。

881nobodyさん:2009/01/29(木) 17:50:57 ID:???
session_start()
882nobodyさん:2009/01/29(木) 17:54:24 ID:5k1XXheb
え?
<?
session_start();
・・・・・
$_SESSION = array();
if (isset($_COOKIE[session_name()])) {
setcookie(session_name(), '', time() - 42000, '/');
}
session_destroy();

session_start();//← 2回かけってことかな?

echo $_SESSION['abc'];//123

883nobodyさん:2009/01/29(木) 18:02:23 ID:???
煽りならほかでやれ
884nobodyさん:2009/01/29(木) 18:09:19 ID:???
ID:5k1XXheb はレスを無視してる>>765だろ?そりゃ誰も相手しないわな
885nobodyさん:2009/01/29(木) 18:14:04 ID:???
質問です。
可変変数に関して、
変数名の途中に変数をつかいたく、以下のように書いてみたのですが
うまくいきません。どう書けばよいのでしょうか?


$a_yahoo_url = "http://www.yahoo.co.jp/";

$str = 'yahoo';

echo "$a_{$str}_url";

echo "$a_yahoo_url";
886nobodyさん:2009/01/29(木) 18:16:54 ID:???
>>885
なんでわざわざそういう使い方しないといけないか詳しく

$array = array("yahoo" => "http://www.yahoo.co.jp/");
$str = "yahoo";

echo $array[$str];

これじゃあかんの?
887nobodyさん:2009/01/29(木) 18:21:03 ID:5k1XXheb
分からないのならわざわざ糞レスしないでもいいですから
888885:2009/01/29(木) 18:25:36 ID:???
>>886 ありがとうございます。その書き方にかえてみます。

ちなみに、 echo "$a_{$str}_url";  のような書き方はできないのでしょうか?
889nobodyさん:2009/01/29(木) 18:37:29 ID:???
>>888
可能だけど俺もお勧めしない
http://www.php.net/manual/ja/language.types.string.php#language.types.string.parsing.complex

echo "{${"a_{$str}_url"}}";
echo "{${'a_' . $str . '_url'}}";
890nobodyさん:2009/01/29(木) 18:52:32 ID:???
ム板に隔離できてしばらく静かになったと思ったら、一斉爆撃か。
たちが悪いな
891859:2009/01/29(木) 20:43:21 ID:YsrWxu/c
>>860
thx
892858:2009/01/29(木) 21:13:14 ID:???
自己解決しました。
xreaの無料サービスでは広告がwebページ上に強制的に表示されるのですが
それがまずかったみたいです。
有料プランにするとダウンロードダイアログボックスが表示されました。
893nobodyさん:2009/01/30(金) 04:01:13 ID:???
>>890
病院に行け
894852:2009/01/30(金) 05:02:27 ID:sgtEAQm/
>>853
>>854
すいません。>>854さんの通り $permeateColor にfalseが返されます。

マニュアルには
色の ID、あるいは作成に失敗したい場合に FALSE を返します。
と書いてあります。
http://jp.php.net/imagecolorallocate

何かコードにおかしいところありますか?
895nobodyさん:2009/01/30(金) 07:51:07 ID:???
GD入ってないんでは?
896nobodyさん:2009/01/30(金) 08:01:31 ID:???
$image = imagecreate(20, 20);
var_dump($image);

これでFalseが返るなら

var_dump($gd_info());
してみれ
897nobodyさん:2009/01/30(金) 08:17:46 ID:???
>>894
回答、読めないんだな。
$permeateColor にfalseじゃなくて0が返ってるんだよ。
!$permeateColorじゃなくて、false === $permeateColor
で比較しろ
898nobodyさん:2009/01/30(金) 09:13:16 ID:???
>>852
そのページの変更履歴のところと、貴方のPHPのバージョン チェックもね。
899nobodyさん:2009/01/30(金) 10:19:42 ID:???
>>894 だった。 こういうの他にもあるよね。
900nobodyさん:2009/01/30(金) 10:22:58 ID:ZSO4xi2M
設定用のクラスがあるのですが、

class Settei {
 const hoge = "hoge";
}

他クラスからのオブジェクト定数への呼び出し方法なんですが、
どのようにしたらいいでしょうか?
staticにアクセスしたいので、
public static function getHoge()のようにして呼び出したいのですが、
PHPのオブジェクト定数は元からpublicなようで、(private修飾子がつけれない)
そんなことしないでも、Settei::hogeで呼び出せてしまうようです。
この方法は違和感があるのですが、
PHPではどのような方法でオブジェクト定数を呼び出すのが一般的なのでしょうか?
901nobodyさん:2009/01/30(金) 10:53:02 ID:???
privateなオブジェクト定数を持ちたいということ?
902初Imagick:2009/01/30(金) 11:04:22 ID:3leczN6Y
PHP5.2.5、Imagick2.0.0-rc1、Windows、Apache2.2
で元々ある画像に文字を入れて出力したいのですが
文字にアンチエイリアスがかかりません。
アンチエイリアスをかけるには何か特別な方法などあるのでしょうか…?
よろしくお願いします。

$im = new Imagick("waku.jpg");
$idraw = new ImagickDraw();
$idraw->setFont(".//fonts//ipam.ttf");//IPA明朝
$idraw->setFontSize(25);
$idraw->setTextAntialias(true);
$idraw->setStrokeAntialias(true);
$im->annotateImage($idraw, 0, 0, 0, "新着!");
$im->writeImage("waku2.jpg");
903nobodyさん:2009/01/30(金) 16:26:25 ID:LDxJ1y3L
【OS名】CentOS 5
【PHPのバージョン】php5.16
if ($u_mail == "") {
echo "<p>メールアドレスを入力してください";
$err = 1;
}

if (u_mail == preg_match("/^([a-zA-Z0-9])+([a-zA-Z0-9\._-])*@([a-zA-Z0-9_-])+([a-zA-Z0-9\._-]+)+$/", $u_mail)) {
echo "<p>正しいメールアドレスを入力してください";
$err = 1;
}

このような構文を使って簡易メールフォームを作ってるんですがメアドチェックで
少し困ってます。$u_mailを空欄にすると確認ページで「メールアドレスを入力してください」
空欄でなくてもメアド書式が適切でなければ「正しいメールアドレスを入力してください」の
表示になる(意図したとおり)のですが、Apacheのエラーログに
PHP Notice: Use of undefined constant u_mail - assumed 'u_mail' in /home/***/public_html/***.php on line 110, referer: http://***.com/test.php
のようなエラーが吐かれます。これの解決方法は何かありますか?
904nobodyさん:2009/01/30(金) 16:32:47 ID:???
>>903
根本的な解決にはならないが。
http://jp.php.net/error_reporting
905903:2009/01/30(金) 16:38:48 ID:LDxJ1y3L
>>904
有難うございます、すごく情けない事に気づきました。
if (u_mail == preg_match のu_mailに$が抜けてました・・・皆さんお騒がせしました
906nobodyさん:2009/01/30(金) 16:58:16 ID:lWjwDRkw
ポストされたイメージファイルのsizeを受け取ることはできるのですが
横、縦のpxを受け取るのはどうしたらよいのでしょうか
907nobodyさん:2009/01/30(金) 17:01:49 ID:???
908nobodyさん:2009/01/30(金) 17:03:24 ID:???
>>906
list($width,$height) = getimagesize();
909nobodyさん:2009/01/30(金) 17:16:53 ID:???
>>900
PHPではアクセスできようが実害はないと思って採用しなかったんでしょう
好意的に考えたら define() 関数の挙動をそのままクラスに当てはめた、かな
理由にはなってないけど動的言語の定数はpublic扱いが多いね
910nobodyさん:2009/01/30(金) 17:30:53 ID:lWjwDRkw
>>908
とんくす
911nobodyさん:2009/01/30(金) 17:44:19 ID:qaDfeklP
すいません
正規化って英語でなんていうんですか?
regularですか?
912nobodyさん:2009/01/30(金) 17:48:05 ID:???
しれっと、すごい質問来たね。PHPとの関連がすごすぎ
正規化が知りたいの?正規表現じゃなくて?
913nobodyさん:2009/01/30(金) 17:49:29 ID:???
914nobodyさん:2009/01/30(金) 17:51:05 ID:???
>>912
>>913
ありがとうございます。 見つかりました
915nobodyさん:2009/01/30(金) 19:49:37 ID:KWmoT5Cz
regular expression でregexpだろ。正規表現は。
916nobodyさん:2009/01/30(金) 19:57:09 ID:???
jk
917nobodyさん:2009/01/30(金) 19:58:24 ID:???
でっていう
918nobodyさん:2009/01/30(金) 20:00:42 ID:2/Adsziv
掲示板やフォームなどで名前欄にNGワードを外部ファイル(ng.datに複数記述)から読み込んで
使う事って出来るのでしょうか?ド素人なのでMySQLなどのDB使用はまだちょっと敷居が
高そうですので、現在はif($name == "aaa" and "bbb")のような形でやってますが。
もし可能だったらお教えください。ヒントでも結構ですので、よろしくお願いします。
919nobodyさん:2009/01/30(金) 20:47:17 ID:???
920nobodyさん:2009/01/30(金) 21:10:37 ID:???
>>918
>>919が示してるけど、NGワードを適当なファイルに1行ずつ羅列して
fileで配列に格納、foreachとrtrimとmb_strposで調べてはどうかな。
ただNGが多くなると効率悪くなりそうだし、もっといい方法があるかもしれない。
921nobodyさん:2009/01/30(金) 22:58:43 ID:???
yahooAPIの形態素解析を混ぜれば楽
922nobodyさん:2009/01/30(金) 23:05:50 ID:???
>>918
せめて配列にしてin_array
fileでもin_array
923nobodyさん:2009/01/30(金) 23:09:09 ID:???
mb_convert_kanaを使うと少しだけ楽になる。カナかな変換や全角/半角の相互変換が出来るからな。
自由入力欄のNGワード処理にあまり気合を入れる意義を感じないのが正直なところ。
「死ね」をNGにしても「氏ね」で回避されるわけだし。
924nobodyさん:2009/01/30(金) 23:46:57 ID:???
1行1データで順次入力文字と照らし合わせて確認するなんて効率悪いことするなよ
925nobodyさん:2009/01/30(金) 23:47:59 ID:???
>>923
NGワード確認にmb_convert_kanaなんて使わない
926nobodyさん:2009/01/30(金) 23:48:44 ID:???
ほんと初心者の回答しかできないのなおまえらって
927nobodyさん:2009/01/30(金) 23:50:28 ID:???
お前はそれ以下だ
928nobodyさん:2009/01/30(金) 23:53:18 ID:???
クライアントとサーバの話してんのにmb_convert_kanaとか…
929nobodyさん:2009/01/31(土) 00:05:38 ID:???
ν速のスレ一覧をローカルのPHPスクリプトで取得してNGワードにマッチしたスレを消してるけど、
NGワードが250個以上もあって(日々増え続けてる)、
それにはpreg_replace()を使ってるな
微妙に反応は遅くなる程度
マルチバイト云々で固いこと言わないならそれもありかな
全く使い物にならないって分けでもないし
ちなみにmb_*系でも動作を比較してたけど、
NGワードが多くなったら反応しなくなった

#2chブラウザ使えよってツッコミはなしで
#ノートPCだから3ペインのアプリなんて毛根に悪いのw
930nobodyさん:2009/01/31(土) 00:27:38 ID:???
NGワードのマッチにpreg_replace・・・?
931nobodyさん:2009/01/31(土) 00:39:30 ID:???
>マッチしたスレを消してるけど
932nobodyさん:2009/01/31(土) 00:41:39 ID:???
それが・・・?というかスレとマッチ・・・?
933nobodyさん:2009/01/31(土) 00:53:16 ID:???
読解力もなきゃ応用力もないって
ゆとりか?w
preg_matchでも使えばいいだろjk
934nobodyさん:2009/01/31(土) 01:02:46 ID:???
NGワードのマッチにpreg_match・・・?
935nobodyさん:2009/01/31(土) 01:04:59 ID:???
お前にはわかるまい
オライリーの詳説正規表現を数千円も出して買った俺の気持ちが
936nobodyさん:2009/01/31(土) 01:07:15 ID:???
m9(^Д^)プギャ-
937918:2009/01/31(土) 02:15:27 ID:La81Yid/
皆さんありがとうございます、918です。
fileで配列格納をしてarrayを使って何とかなりました。が、>>920の教えてくれた
ようにforeachとかも調べましたがまだまだ勉強不足ですので、今後また質問するかも
知れませんが、よろしくお願いします。
938nobodyさん:2009/01/31(土) 03:32:43 ID:XfTt19xw
全部utf-8でやってるんだけど、urlencode()してくれねー
mb_convert_encoding($str,"UTF-8", "auto");してからやっても無理だった
どうしたらいい
939nobodyさん:2009/01/31(土) 03:52:41 ID:???
なんて表示されるの?エラーは?
私オカマだけど表示もエラーも出さない
中年の男ってほんとおかしいと思うの。
940nobodyさん:2009/01/31(土) 09:12:40 ID:XfTt19xw
>>939
それがさ、phpのエラー画面はでてこないんだ。
日本語の値がそのまま返って、ブラウザfoxのurlバーのところに表示される
941nobodyさん:2009/01/31(土) 09:15:32 ID:???
>>940
正しい挙動
942nobodyさん:2009/01/31(土) 10:28:10 ID:XfTt19xw
>>941
なるほどわかた。とん

もう一つ質問。
urlencodeされた文字列にマッチするかどうかの、正規表現はどうやってかいたらいい
ereg(^[_a-zA-Z0-9],$a)
みたいにしたんだけど、%ととか何があったっけ
943nobodyさん:2009/01/31(土) 10:30:21 ID:???
おまえ、ホント質問下手だな。
944nobodyさん:2009/01/31(土) 11:46:16 ID:???
ググればでてきますよね
945nobodyさん:2009/01/31(土) 12:31:45 ID:???
おいなんか難しそうな関数の使い方を教えたまえ
946nobodyさん:2009/01/31(土) 13:18:25 ID:???
function orderbyLength($first, $second){
 return strlen($second) - strlen($first);
}
$array = get_defined_functions();
usort($array["internal"], 'orderByLength');
header('Content-Type: text/plain');
print_r($array["internal"]);

俺の環境(PHP5.2.5ベース)で長い組み込み関数名ベスト5
 [0] => xmlrpc_server_register_introspection_callback
 [1] => xml_set_processing_instruction_handler
 [2] => mcrypt_module_is_block_algorithm_mode
 [3] => mcrypt_module_get_supported_key_sizes
 [4] => xmlrpc_server_add_introspection_data
 [5] => xml_set_unparsed_entity_decl_handler

XML-RPC!実に難しそうでいいんじゃないかな。XML-RPCって言ってるだけでSIやさんみたい。
947946:2009/01/31(土) 13:19:24 ID:???
6件あると思った奴は空気嫁
948nobodyさん:2009/01/31(土) 13:34:40 ID:???
ム板のお前のブログに書け
949nobodyさん:2009/01/31(土) 13:38:22 ID:???
わざわざブラウザで見てんの?
950nobodyさん:2009/01/31(土) 14:09:44 ID:???
自己紹介乙
951nobodyさん:2009/01/31(土) 17:32:37 ID:???
「通報しました」に続いて「自己紹介乙」を憶えたか
天才チンパンジーアイちゃんの驚くべき学習能力を垣間見た
952nobodyさん:2009/01/31(土) 19:02:48 ID:???
>>948
お前が会社をクビになったのは
精神異常だから
953nobodyさん:2009/01/31(土) 19:03:48 ID:???
お顔がまっかっか
954nobodyさん:2009/01/31(土) 19:07:09 ID:8ejdmMTe
sourceforge.jpみたいな海外サイトってありませんか?
955nobodyさん:2009/01/31(土) 19:41:44 ID:???
sourceforge.net
956954:2009/01/31(土) 19:54:43 ID:???
世界中にあったんですね、ありがとうございました
957nobodyさん:2009/01/31(土) 20:21:30 ID:???
文字列が、日本語、中国語、韓国語、アラビア語・・・
どの言語で構成されてるか判定する方法はありますか?
文字コードはUTF-8です。
958nobodyさん:2009/01/31(土) 20:23:07 ID:???
エンコードの範囲見れば?
959nobodyさん:2009/01/31(土) 22:20:41 ID:???
>>950
おいそこのカスはやく次スレよろ
960nobodyさん:2009/01/31(土) 23:41:33 ID:EImEHdHV
こんにちはって表示したいのですが表示されません
php5.2.6です
どなたかご教授お願いします
class hello() {
$konnitiha = "こんにちは";
}

$obj=new hello();
echo $obj->konnitiha;
961nobodyさん:2009/01/31(土) 23:52:36 ID:???
function hello(){
return $this->konnitiha;
}
をクラス内に書き足せばいいかも
962nobodyさん:2009/02/01(日) 00:00:40 ID:???
質問です。

任意の変数に最後にアクセスしたスクリプト名と行数などを
取得できる関数はあるでしょうか?
イメージ的にはdebug_backtrace()のような。
963nobodyさん:2009/02/01(日) 00:01:08 ID:JltL2q4s
962です。すみません下げてしまいました。
964nobodyさん:2009/02/01(日) 00:22:46 ID:???
965nobodyさん:2009/02/01(日) 00:25:51 ID:???
>>958
そうですね。標準じゃ用意されてないみたい。
ども。
966nobodyさん:2009/02/01(日) 03:14:43 ID:???
>>960
(1)
メンバ変数をpublicにする

(2)クラス定義に()はいらない。

完成例↓
--------------------------------------

<?PHP
class hello {
public $konnitiha = "こんにちは";
}

$obj=new hello();
echo $obj->konnitiha;
?>
967nobodyさん:2009/02/01(日) 03:15:27 ID:???
>>961
ウソを教えるな
968nobodyさん:2009/02/01(日) 08:07:47 ID:???
外部URLの一部を読み込んで表示するにはどうすればいいのでしょうか?

例えば別のURLの内容に
Hello World
とある場合Hello World全部を読み込むのではなくHelloだけを読み込んで表示させたいです。

今は下記の方法で全部読み込んで表示させてるので
一部だけ読み込んで表示させる方法をご存じの方は教えて下さい。

<?php
$file = file("http://読み込み先のURL");
foreach($file as $line){
echo($line);
}
?>
969nobodyさん:2009/02/01(日) 08:42:58 ID:???
スレタイをお読み下さい
970nobodyさん:2009/02/01(日) 08:52:43 ID:cfVbpguo
$data = @$_POST["data"];
$txt = @file_get_contents("sample.txt");

if (ctype_upper($data)) {
echo "<p>$data は大文字のみです";}

雑誌に付属してた大文字判定スクリプトを元にfile_get_contentsを加えて
改造しているんですが、

if $dataに$txtに記述されている文字列が含まれているか {
含まれている→ echo "$data はOK" } 含まれてない → else { echo "$data はNG"; }

このような流れで処理したいのですが、こうした場合の書き方を教えてください。
971nobodyさん:2009/02/01(日) 09:06:03 ID:???
>>970 strpos
972970:2009/02/01(日) 10:55:59 ID:cfVbpguo
>>971

おぉ!有難うございます。先日からいろいろぐぐってみてはいたのですがワードが
悪かったのかなかなか調べられませんでした。strposでぐぐって参考にして
if (strpos($data , $txt) === false) でうまく行きました、有難うございました。
973nobodyさん:2009/02/01(日) 13:19:29 ID:???
>968
「全部読み込んでから、その一部を出力する」でいいか?
一部だけ読み込ませるのは難易度が非常に高いし、普通の用途なら性能的にも劣る。
それと、「おまじない」でなんとかできる範囲を超えている。そのコードが具体的に何をしているのか理解しないとその先には進めない。

読込先のURLに書いてあるのが
---
Hello World
This is second line.
---
だった場合、$fileは
$file[0] = 'Hello World';
$file[1] = 'This is second line.';
という配列になっている。今はforeachでこの全てを出力しているわけだが、ここから必要なものを抜き出せばいい。
それ以上は、具体的にどういうルールで何を抜き出したいのか分からないとなんともいえない。
例えば、1行目の1単語目を抜き出したいなら

$file = file("http://読み込み先のURL");  // $fileは上記の通り
$words = explode(' ', @$file[0]);  // $wordsはarray('Hello', 'World');
echo $words[0];
974970:2009/02/01(日) 14:06:21 ID:cfVbpguo
追加で質問お願いします。

$data = @$_POST["data"];
$txt = @file_get_contents("sample.txt");
if (strpos($data , $txt) === false){
echo "$data は含まれていない";
} else {
echo "$data は含まれている";
}

このsample.txtの内容が1行であればうまく行きましたが、複数行の場合は
うまくいきません。sample.txtにtakeshiが含まれていても、含まれていないと
返されます。なおsample.txtの中身は以下の通りです。
takeshi
nobita
suneo
になっていて、各行は改行しています。
そもそもfile_get_contentsはファイル全体を読み込んで1つの文字列として
扱う、とありますのでもしかしたらfile_get_contentsを使うのは間違って
いるのでしょうか?

975nobodyさん:2009/02/01(日) 14:16:54 ID:???
>>974
int strpos ( string $haystack , mixed $needle [, int $offset ] )
文字列 haystack の中で、 needle が最初に現れた位置を数字で返します。 PHP 5 以前の strrpos() とは異なり、この関数は needle パラメータとして文字列全体をとり、 その文字列全体が検索対象となります。
976nobodyさん:2009/02/01(日) 14:29:05 ID:57qIZ8Mn
ソースを読んで勉強したいと思いました
そこで海外製でオープンソースのDB不要の掲示板またはフォーラムがございましたら教えてください
977nobodyさん:2009/02/01(日) 14:29:36 ID:57qIZ8Mn
phpbbとusebbはすでに読んで勉強してるので除外させていただきます
978nobodyさん:2009/02/01(日) 14:38:46 ID:???
>974
それは
$_POST["data"]
の中に
「takeshi[改行]nobita[改行]suneo」
という文字列がないか検査している。

性能を気にしないなら、fileで配列とかに読み込んで、そのそれぞれについてPOSTデータからstrposで検索、
一件でも見つかったらアウト、という処理を書けばいい。
979nobodyさん:2009/02/01(日) 14:43:38 ID:???
>>976
すれ違い
980nobodyさん:2009/02/01(日) 14:51:00 ID:morOTwuV
PDOのメリットとデメリットを教えてください
981nobodyさん:2009/02/01(日) 15:07:27 ID:???
>>980
google
982nobodyさん:2009/02/01(日) 15:19:11 ID:57qIZ8Mn
>>979
スレ違いすみませんでした
移動しますのでどちらのスレで伺えばよろしいでしょうか?
983nobodyさん:2009/02/01(日) 15:28:32 ID:???
個々のRDBMSにあまり依存しないコードが書ける。
(実際にはSQLに100%の互換性がないから、多少は依存する事が多いのだが)
逆に、個々のRDBMSの固有機能などは使えなくなる事がある。
基本性能は五十歩百歩だが、各RDBMSの固有機能を呼べない事で性能的に不利になる事はあり得る。

別にRDBMSに拘るシステムでもないなら、PDOを使っておくと分かりやすい。
PDOを使っている = RDBMS固有の機能は呼べない = 一般的なDB操作しかしていない 事が自明になるからな。
「別になんでもいいんだけど、とりあえずMySQL使ってます」という意図がコードから読み取りやすくなる。

各RDBMSの固有関数よりも、読める奴が多いのも利点。
DB2の関数やOracleの関数なんぞ知らんって奴は多いだろうが、PDOのメソッドなら大半の奴が分かる。
(同じような関数ばかりなので実際は迷う事は少ないのだが、たまに引数の順序とかで引っかかったりする)
984nobodyさん:2009/02/01(日) 15:46:52 ID:57qIZ8Mn
「ベースとなる数字」
12
0.5
3.666
40.24

という数字があります
これを四捨五入しないで少数第1位までのを表示し、
また、少数点がない数字(12)は小数点第1位(12.0)で表示したいのですが
どのようにしたらよいか見当もつきません
どなたかお手数をおかけしますがヒントだけでもお願いします

「このように表示したい」
12.0
0.5
3.6
40.2
985nobodyさん:2009/02/01(日) 15:47:29 ID:???
宿題は自力でやれ
986nobodyさん:2009/02/01(日) 16:23:59 ID:???
ム板でやれ
987nobodyさん:2009/02/01(日) 16:28:09 ID:???
>>984
ヒント:10倍 floor

ちょっとヒント出しすぎたかな
988nobodyさん:2009/02/01(日) 16:29:12 ID:AjzQ70Qx
php5 sqlite利用です。

65$mailadd = sqlite_escape_string("[email protected]");
66$send_time = "1";
67 if(!$db=sqlite_open("database/database.sqlite",0666,$err)){
68 die("データベース接続エラー".$err."<br>");
69 }
70 ////////////////////////////変更////////////////
71 $henkou_sql = "UPDATE add_table SET".$send_time."WHERE add=".$mailadd;
72 sqlite_query($db,$henkou_sql)
73 or die('ERROR:変更に失敗しました。');
74 print('変更しました。<br><br>配信時間帯:'.$haisinzikan);
75 sqlite_close($db);
76 ///////////////////////end of file
で、unrecognized token: "@" in URL on line 72
のエラーが出ます。
宜しくお願いします。
989nobodyさん:2009/02/01(日) 16:30:02 ID:???
>>987
レベル低すぎ
990nobodyさん:2009/02/01(日) 16:31:04 ID:???
add='メアド'
991nobodyさん:2009/02/01(日) 16:36:03 ID:???
>>984
$keta=array(12,0.5,3.666,40.24);
foreach($keta as $seikei){
$seikei=sprintf("%0.1f",$seikei);
echo $seikei.'<br />';
}
992nobodyさん:2009/02/01(日) 16:40:45 ID:???
>>991
12.0
0.5
3.7
40.2

残念
993nobodyさん:2009/02/01(日) 16:48:06 ID:???
ww
994988:2009/02/01(日) 16:49:21 ID:???
SET の代入式抜けてました
ありがとうございました
995nobodyさん:2009/02/01(日) 17:28:26 ID:???
>>984
$array = array(
12,
0.5,
3.666,
40.24,
);

foreach($array as $value) {
$value = number_format(floor($value * 10) / 10, 1);
echo $value."\n";
}
996nobodyさん:2009/02/01(日) 17:35:46 ID:o7tkfiSb
readfileでphpと同じサーバー上のファイルを転送しようと思っているのですが
readfileだとヘッダーのContent-Typeが全てtext/htmlで転送されてしまいます
readfile("hoge.jpg")だとheader('Content-Type: image/jpeg');
readfile("hoge.png")だとheader('Content-Type: image/png');…の様に
phpを介さず本来送信されるはずだったContent-Typeを取得する方法を教えて下さい
997nobodyさん:2009/02/01(日) 17:42:08 ID:???
>>995
すごい無駄な処理wwwww
俺が答えてやらないとダメなのかね
998nobodyさん:2009/02/01(日) 17:50:04 ID:???
>>996
mime_content_type()
ただし非推奨なので、こっから推奨のやりかた探してきて。
999nobodyさん:2009/02/01(日) 18:11:18 ID:???
【PHP】下らねぇ質問はID出して書き込みやがれ 80
ttp://pc11.2ch.net/test/read.cgi/php/1233479457/
1000nobodyさん:2009/02/01(日) 18:18:56 ID:???
1000ブリブリッ
10011001
このスレッドは1000を超えました。
もう書けないので、新しいスレッドを立ててくださいです。。。