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


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

【PHP】ID出さなくても質問OKなスレ【初心者歓迎】



1 名前:nobodyさん mailto:sage [2009/02/03(火) 01:09:36 ID:???]
まず読め→【PHP マニュアル】www.php.net/manual/ja/
PHPで最良の教本はこの公式マニュアル。市販の書籍は嘘が多いので鵜呑みにしない。
過去スレ、関連スレ、FAQなどは>>2-10辺り
次スレは>>980が立てる。10分以内に立たない場合、宣言してから立てたい人が立てること。

700 名前:nobodyさん mailto:sage [2009/07/23(木) 23:04:04 ID:???]
CLI版ならできるんじゃ?

701 名前:nobodyさん mailto:age [2009/07/23(木) 23:49:44 ID:???]
win zip版を落としてきて
パスphp.exe -l "%1"

これでダメなのです。
Apacheを入れてるときは動いてたのですが

702 名前:nobodyさん mailto:sage [2009/07/24(金) 10:45:01 ID:???]
エラー文言を出さないのは釣りということ。スルーで。

703 名前:nobodyさん mailto:sage [2009/07/24(金) 18:48:34 ID:???]
$_SESSION["input"] = $_POST;

としてフォームからPOSTされた中身を一括して$_SESSION["input"]に放り込んでるんですが、
さらにそれを一括してhtmlspecialcharsする方法はないでしょうか

現状べた書きでずらずらっと書いてるんですがどうも美しくなく・・・


PHP5

704 名前:nobodyさん mailto:sage [2009/07/24(金) 18:57:24 ID:???]
最後$_SESSION["input"]にhtmlspecialcharsをすればいいんじゃないの?

705 名前:nobodyさん mailto:sage [2009/07/24(金) 19:15:54 ID:???]
function h($data) {
if (is_array($data)) {
return array_map('h', $data);
}
else {
return htmlspecialchars($data, ENT_QUOTES);
}
}


706 名前:nobodyさん mailto:sage [2009/07/24(金) 19:49:53 ID:???]
POSTとかSESSIONじゃなくて出力用データにまとめてかけなさいよ

707 名前:nobodyさん mailto:sage [2009/07/24(金) 20:12:12 ID:???]
>>705
ありがとうございます
勉強がてら意味を追いながら似たような関数も合わせて調べてるんですが、
addslashes($data);
とするとフォームに"が入力されたとき\\\"と\が3つ増える怪現象にはまって脱線中ですw
ググろうにも\がGoogleにエスケープされるというw

>>706
本当にやりたいのはそれなんですが、出力用データがHTMLを含んでるので表示がおかしくなってしまうんです

708 名前:nobodyさん mailto:sage [2009/07/24(金) 20:16:44 ID:???]
>>707
magic_quote



709 名前:nobodyさん mailto:sage [2009/07/24(金) 20:20:38 ID:???]
>>707
普通はHTMLに出力用データを埋め込んで表示

710 名前:nobodyさん mailto:sage [2009/07/25(土) 03:07:01 ID:???]
>>705>>708をベースに、htmlspecialchars後の&まで&に置き換わってしまう謎を無理矢理解決して最終的にこうなりました

function h($data){
 if(is_array($data)){
    return array_map('h', $data);
 }else{
    return stripslashes(preg_replace("/&/i", "&", htmlspecialchars($data ,ENT_QUOTES, "SJIS")));
 }
}

呼び出し箇所
if(get_magic_quotes_gpc()){ $_SESSION["input"] = h($_SESSION["input"]); }

動いてはいるものの正直自信全くナシですw


>>709
こっちもできるようになりたくて試行錯誤3時間
今日はできませんでしたorz
明日また粘ります

出力したいデータを詰め込んだ変数の中身はこんなかんじです

$output = "
 <table><tr>
   <td>名前</td>
   <td><input type=\"text\" name=\"name\" value=\"".$_SESSION["input"]["name"]."\" /></td>
 </tr></table>
";

711 名前:nobodyさん mailto:sage [2009/07/25(土) 03:08:44 ID:???]
あ、書き込んだら勝手に記号置き換えられてました
>>710の「&まで&に」は「&まで&amp;に」です

712 名前:nobodyさん mailto:sage [2009/07/25(土) 06:09:00 ID:???]
>>710
<?php
/* 〜前処理〜 */
$data['name'] = htmlspecialchars($_SESSION["input"]["name"]);
?>
<table><tr>
 <td>名前</td>
 <td><input type="text" name="name" value="<?php echo $data['name']; ?>"/></td>
</tr></table>

713 名前:nobodyさん [2009/07/25(土) 09:38:50 ID:njtiSjD4]
&が置き換わるのは
htmlspecialcharsの仕様

714 名前:nobodyさん mailto:sage [2009/07/25(土) 17:11:32 ID:???]
>>712
おかげさまでできました
$_SESSIONの中身を一度別の配列に放り込むのは
$_SESSIONの中身をいじるべきではないから
と解釈しましたがよいでしょうか

>>713
ググってさっそく調べました
「そういうもの」と考えるしかないみたいですね・・・


ところで、>>710で書いたfunctionなんですが、
フォームに\を記入するとstripslashesの作用で\が消えてしまうというトラブルに見舞われてます


該当部分の処理を順番に並べると下のようになるのですが

$data = htmlspecialchars($data ,ENT_QUOTES);
$data = preg_replace("/&amp;/i", "&", $data);
//*//
$data = stripslashes($data);


これだと\が消えてしまうので、上の//*//の部分に


$str = preg_replace("/\\\\/i", "\\", $str);

を入れてstripslashesをだまして強引に解決している状況です
なんか違和感があるのですがこれでよいものでしょうか

715 名前:nobodyさん mailto:sage [2009/07/25(土) 17:16:16 ID:???]
stripslashesって何のために入れてるの?

716 名前:nobodyさん mailto:sage [2009/07/25(土) 17:35:20 ID:???]
これをいれないと、なぜか画面遷移やリロードのたびにフォームに記入された\の数が倍々で増えるんです

717 名前:nobodyさん mailto:sage [2009/07/25(土) 17:48:38 ID:???]
magic_quotes_gpc が効いてるだけでは

718 名前:nobodyさん mailto:sage [2009/07/25(土) 17:49:57 ID:???]
うん。
あと野村監督じゃないけどバグに不思議のバグなしなので
「なぜかこうなる」はちゃんと原因探ったほうがいい



719 名前:nobodyさん mailto:sage [2009/07/25(土) 17:58:30 ID:???]
>>717
なってます・・・
支障のないところまで組み上げて1度実装用のサーバーでこの部分必ずテストしてみます
とりあえず保留にして内容送信の機能先に作っちゃいますね
セッションすら閉じてない状況なのでw

720 名前:nobodyさん [2009/07/25(土) 19:12:06 ID:y2BFJd1A]
配列をJavaScriptのオブジェクトにするプログラムを考えているのですが
どうしても配列の深さだけ処理を繰り返す必要があります。再帰的に繰り返すにはどうしたらいいのでしょうか。

この例だと配列を2階層しか整形出来ない
function makejson($array){
    $return = "{\n";
    foreach($array as $key => $value){
        $return .= "\t".$key.":";
        if(is_array($value)==true){
            $return .= "{\n";
                foreach($value as $key => $value_2){
                    $return .= "\t\t".$key.":";
                    $return .= "\"".$value_2."\",\n";
                }
            $return .= "\t},\n";
        }else{
            $return .= "\"".$value."\",\n";
        }
    }
    $return .= "}";
    echo $return;
    exit;
}

721 名前:nobodyさん [2009/07/25(土) 19:12:30 ID:y2BFJd1A]
入力例
$array = array{
    'example' => array{
        'test1' => 'value1',
    },
    'example1' => 'value3',
}
makejson($array);
出力例
{
    example : {
        test1 : "value1",
    },
    example1 : "value3",
}

よろしくお願いします。

722 名前:nobodyさん mailto:sage [2009/07/25(土) 19:25:21 ID:???]
>>720
www.php.net/manual/ja/function.json-encode.php

723 名前:nobodyさん [2009/07/25(土) 19:48:52 ID:y2BFJd1A]
そんな便利な関数があったのねありがとう

724 名前:719 mailto:sage [2009/07/26(日) 17:13:42 ID:???]
最近皆さんにお世話になった>>719です
その後メール送信機能はすったもんだありつつなんとかなって、
実装サーバーで>>715,717について実装サーバーでテストしたら
stripslashesがなくても問題ない(php.iniの設定が鯖とローカルで違った)ことが判明しました
おかげさまで機能は全部完成しトラブルも起きてません

ところで、ソースを最終チェックしてるうちに、
セッションを使ってるのにもかかわらずセッションIDを何にも利用してないことに気づいたんですがいいんでしょうかw

具体的にはhiddenで各画面にセッションネームとセッションIDを渡してはいるものの、ただ渡してるだけなんです
URLの後に付加してるわけでもなく、セッションIDを評価する条件分岐があるわけでもなく・・・
クッキーオフにしても普通に動いてるんですが、なんか根本的なところでおかしかったりしないでしょうか

725 名前:nobodyさん mailto:sage [2009/07/27(月) 11:41:33 ID:???]
CSRF とか大丈夫なんかな

726 名前:nobodyさん mailto:sage [2009/07/28(火) 18:19:31 ID:???]
php5.2.5で、mb_send_mail()を使ってメールを送信する際、
spam扱いをなるべく避けるため第5引数で-fパラメータのReturn-Pathを設定したいのですが、

$r_path ='-f aaa@bbb.com';
mb_send_mail($to,$sub,$body,$header,$r_path);
としてもエラーが出て送信できません
第5引数を外せば送信できるので第5引数が原因だと思うのですが、
対策はないでしょうか

php.iniの設定は以下の通りです
sendmail_from → no value
sendmail_path → /usr/sbin/sendmail -t -i


727 名前:nobodyさん mailto:sage [2009/07/28(火) 19:54:00 ID:???]
>>726
-fの後ろに余分なスペースがあるとか。

728 名前:nobodyさん mailto:sage [2009/07/28(火) 21:42:53 ID:???]
これって何をしたいんですか?(汗
$password = sha1(md5(md5(sha1(md5(sha1(sha1(md5($_POST[password]))))))));




729 名前:nobodyさん mailto:sage [2009/07/28(火) 21:45:07 ID:???]
ワロタ

730 名前:728 mailto:sage [2009/07/29(水) 00:14:01 ID:???]
わかるかたいませんか?

731 名前:nobodyさん mailto:sage [2009/07/29(水) 00:18:36 ID:???]
>>730
パスワードを推測されにくくしてからDBとかファイルとかに記録して
おきたいんじゃないかな。パスワード文字列そのものは保存しない。
で、MD5とsha1で滅茶苦茶にした文字列をファイルとかDBに保持し
ておく。

次にパスワードが合致しているかどうかを確認する場合、同じよう
に、入力した内容をMD5とsha1で滅茶苦茶にした文字列と合致する
かどうかをチェックする。これなら、DBやファイルに保存された文字列
を盗まれても、本物のパスワードは推測しにくいわけで。

732 名前:nobodyさん mailto:sage [2009/07/29(水) 00:30:42 ID:???]
それって逆にパス文字列に戻せるのかな

733 名前:nobodyさん mailto:sage [2009/07/29(水) 00:34:01 ID:???]
戻せない

734 名前:nobodyさん mailto:sage [2009/07/29(水) 00:52:28 ID:???]
戻す必要ないしな

735 名前:nobodyさん mailto:sage [2009/07/29(水) 00:55:37 ID:???]
あの青春は戻らない

ハッシュのように、曖昧な記憶が残っているだけさ

736 名前:nobodyさん mailto:sage [2009/07/29(水) 00:57:34 ID:???]
>>728
別にそんなことしなくても、
sha1(25)
とかって書けば、25回暗号化してくれるのにな。

737 名前:nobodyさん mailto:sage [2009/07/29(水) 09:23:39 ID:???]
>>736
ホント?

738 名前:nobodyさん mailto:sage [2009/07/29(水) 09:39:56 ID:???]
ソノウソホント



739 名前:nobodyさん mailto:sage [2009/07/29(水) 13:45:36 ID:???]
25が暗号化されるんじゃないのか?

740 名前:nobodyさん mailto:sage [2009/07/29(水) 14:02:50 ID:???]
セッションについて悩んでます

ローカル環境で送信フォームをテストすると、
同一ページ内にある全てのリンクのURL末尾に自動的に
セッション名とセッションIDが付加されてしまいます
レンタル鯖上では起こらない現象なのですが、
どうしてローカルでだけ起こるのでしょうか

741 名前:nobodyさん mailto:sage [2009/07/29(水) 14:11:35 ID:???]
>>740
session.use_cookies
session.use_only_cookies
session.use_trans_sid

これらの値をphpinfoで比較してみて。
session.use_trans_sidが有効だと、
coockieが使えない時に、URLの末尾に自動的にセッションIDを付加する。

742 名前:740 mailto:sage [2009/07/29(水) 14:23:22 ID:???]
>>741
>session.use_trans_sid

ありがとうございます
ビンゴでした
一発で治りました
秀樹感激

743 名前:nobodyさん [2009/07/29(水) 14:57:52 ID:YfqDSQPl]
この性器表現の意味分かる人教えて。
!preg_match("/^$type\.\w+\.php$/", $entry)

744 名前:nobodyさん mailto:sage [2009/07/29(水) 16:59:17 ID:???]
>>743
$typeで始まって、そのあとピリオド、そのあとに英数字が1文字以上続いて.phpで終わる

ちょっと質問なんだけど、オブジェクトのデストラクタ中で__getとか__setとかのマジックメゾットが正常に機能しない挙動があるんだけど、これってマジックメゾットだけなのか、他のメゾットも正常に機能しない可能性があるのか・・・
一応テストした限りでは正常な機能を失ったのは__getと__setだけなんだけど・・・

745 名前:nobodyさん mailto:sage [2009/07/29(水) 17:23:30 ID:???]
>>744
ごめん勘違い

746 名前:nobodyさん mailto:sage [2009/07/29(水) 19:47:14 ID:???]
>>744
さんきゅ

747 名前:nobodyさん mailto:sage [2009/07/31(金) 09:32:14 ID:???]
童貞ですが何か?

748 名前:nobodyさん mailto:sage [2009/07/31(金) 18:48:49 ID:???]
PHPのゲームってどれくらい負荷かかるのですか?



749 名前:nobodyさん mailto:sage [2009/07/31(金) 19:11:43 ID:???]
PHPを何に使っているかによる。
ADVゲームの画面切り替えに使っているのなら、
それほど負荷はかからない。

リアルタイムの多人数同時プレイゲームのデータ
を常に送信しつづけるサーバーとしてPHPを使って
いるのなら、負荷はかなりのものになる。

750 名前:nobodyさん mailto:sage [2009/07/31(金) 20:55:23 ID:???]
なるほど
ありがとうございます

751 名前:nobodyさん [2009/08/01(土) 23:44:33 ID:FfAyQxIr]
初心ですいません。今PHPで複数のサイトの更新情報を表示できるrssをつくりたくて
やっと表示できたソースがあったんですが、↓のやりかただと更新時間順に表示されなくて、
URL順になってしまいます。
$rss = array('http://○○','http://○○','http://○○');

これ以上ぐぐっても答えが出そうにないのでお知恵をお貸しください

752 名前:nobodyさん mailto:sage [2009/08/01(土) 23:52:02 ID:???]
RSSを表示できるなら、その内容をパースすることもできるだろう。
パースして各RSSの更新日時を取得、それを順に並べて出力すりゃいい。

753 名前:nobodyさん mailto:sage [2009/08/02(日) 10:58:28 ID:???]
微妙にスレチなんだけど、このスレの凄腕達はPHP開発環境使ってる?
var_dumpでブラウザに毎回出力してたんだがさっき自称凄腕に失笑された

754 名前:nobodyさん mailto:sage [2009/08/02(日) 12:27:20 ID:???]
デバッグするならZendStudio、とりあえずさっと作って動作確認するなら秀丸+ブラウザorコマンドライン

755 名前:nobodyさん mailto:sage [2009/08/02(日) 12:28:46 ID:???]
>>753
つ FirePHP

756 名前:nobodyさん mailto:sage [2009/08/02(日) 15:17:53 ID:???]
var_dumpを笑う者はvar_dumpに泣く

じっちゃんがよく言ってた

757 名前:nobodyさん mailto:sage [2009/08/02(日) 15:24:41 ID:???]
俺なんてブラウザでprint_rですけど

758 名前:nobodyさん mailto:sage [2009/08/02(日) 16:16:05 ID:???]
フリーのIDEがZendFWに完全対応してくれるならいいんだけど・・・




759 名前:nobodyさん mailto:sage [2009/08/03(月) 09:48:18 ID:???]
リモートデバッグとかステップ実行したいときはPDTだけど
普段はPHPエディタ+tortoisesvn
デバッグ表示はVar_Dump::display(); // pearのVar_Dump

あとはXdebug有効にしてる(エラー時にブラウザに色々情報でる)
凄腕じゃないのでほとんどの場合、これで十分。

760 名前:nobodyさん mailto:sage [2009/08/05(水) 23:34:19 ID:???]
公式マニュアルのミスは何処に言えばいいんだ?

jp.php.net/manual/ja/function.min.php
>min() は配列の中で最も大きい数値を返します

761 名前:nobodyさん mailto:sage [2009/08/05(水) 23:39:36 ID:???]
>>760
ドキュメントの改善を手助けするには
ttp://jp.php.net/manual/ja/about.howtohelp.php



762 名前:nobodyさん mailto:sage [2009/08/06(木) 09:46:57 ID:???]
※ただしストレスが溜まる

763 名前:nobodyさん mailto:sage [2009/08/09(日) 02:42:18 ID:???]
PHPの総合開発環境で何かおすすめないですか?
PHPエディタという奴は起動してすぐ落ちるのでだめでした
VisualStudioみたいのがいいんだけど、やはりフリーじゃなくお金払わないとだめですかね

764 名前:nobodyさん mailto:sage [2009/08/09(日) 02:48:28 ID:???]
eclips + PDT

765 名前:nobodyさん mailto:sage [2009/08/09(日) 04:26:11 ID:???]
>>764
コード書いた後の出力の確認ってどんな感じになるの?

766 名前:nobodyさん mailto:sage [2009/08/10(月) 00:19:53 ID:???]
教えてください
CSVから1行一件のデータを読み込み
最初のforeachの中でif文使って条件分けしたデータを配列に入れて
その分けた数とforeachで表示させたいのですが
条件分けしたデータを入れる変数?配列?の宣言の仕方が分かりません
$Alllist = file("data.csv");
foreach( $Alllist as $list )
{


767 名前:766 mailto:sage [2009/08/10(月) 00:22:54 ID:???]
改行間違って送ってしまった orz
if( strcmp( $list, "A" ) == 0 )
$array = $list;
}
printf( "Count count($array)" );
foreach( $array as $wake )
{

768 名前:766 mailto:sage [2009/08/10(月) 00:25:21 ID:???]
最悪だ、2度失敗した
  表示;
}

すみません、質問以前な事してますが
よろしくお願いします m(_ _)m



769 名前:nobodyさん mailto:sage [2009/08/10(月) 00:30:52 ID:???]
strcmpで条件分けしたCSVの1行だけ
foreachで各列を表示したいんだよね?
それでいいのでは?

770 名前:nobodyさん mailto:sage [2009/08/10(月) 00:55:07 ID:???]
推測になるが、例えばcsvデータの1列目の文字に応じて、分類したいということなら、

function group_lists($list, $key, &$group) {
if (! array_key_exists($key, $group)) $group[$key] = array();

$group[$key][] = $list;
}

// ここから呼び出し元

$group = array();
foreach( $Alllist as $list )
{
if (stripos($list, 'A') === 0) {
group_lists($list, 'A', $group);
}
else if (stripos($list, 'B') === 0) {
group_lists($list, 'B', $group);
}
// 以下、場合分けの数だけelse ifが続く
}


771 名前:nobodyさん mailto:sage [2009/08/10(月) 01:16:15 ID:???]
submitボタンが押されたらフォームの内容を
ファイルに書き込むプログラムを作りました。

a.php
-----------------------------------------------------
if($_POST['submit']) {
writeData();
}
-----------------------------------------------------

これは正常に動いているのですが、
a.phpからb.htmlなどにページ移動し、ブラウザの戻るボタンで戻ると
再度POSTデータが送信されてファイルに書き込まれてしまいます。
これを避ける方法がありましたら、ご教授願えますか?

772 名前:nobodyさん mailto:sage [2009/08/10(月) 03:15:03 ID:???]
>>770
なんで===にしてんの?

773 名前:nobodyさん mailto:sage [2009/08/10(月) 03:15:45 ID:???]
>>771
Locationで飛ばすとか

774 名前:nobodyさん mailto:sage [2009/08/10(月) 06:26:50 ID:???]
>>771
書き込む内容をチェックしたり、セッション使ったり
用途に合わせた選択をすればいいと思う
>>772
==を使う方が例外的だろう
普通は===を使うぞ

775 名前:nobodyさん mailto:sage [2009/08/10(月) 07:11:59 ID:???]
えっ

776 名前:nobodyさん mailto:sage [2009/08/10(月) 07:30:39 ID:???]
なにそれ

777 名前:766 mailto:sage [2009/08/10(月) 10:34:50 ID:???]
>>769 >>770さんレスありがとうございます
まずCSV内に一致した数を表示させて
その後に分類されたデータを表示させたいので
分類と表示を一緒にはできない・・・ですよね

配列を宣言して、その配列にどんどん分類したデータを追加していく
C++で言うvector見たいなのはphpでは無いのでしょうか?

778 名前:nobodyさん mailto:sage [2009/08/10(月) 10:39:06 ID:???]

hairetu = array();
hairetu[]="hogehoge";
hairetu[]="hagehage";
hairetu[]="tsurutsuru";




779 名前:nobodyさん mailto:sage [2009/08/10(月) 12:16:40 ID:???]
== は型を無視して比較、
=== は型まで同一かどうかを比較、
だったっけか

780 名前:766 mailto:sage [2009/08/10(月) 13:47:28 ID:???]
>>778
ありがとうございます、うまくいきました

>>779
知らなかったー

781 名前:nobodyさん mailto:sage [2009/08/10(月) 14:09:08 ID:???]
>>774
普通は===を使うぞの根拠をkwsk

782 名前:nobodyさん mailto:sage [2009/08/10(月) 15:46:06 ID:???]
>>781
d.hatena.ne.jp/hnw/20080606
この記事がとても参考になると思う

783 名前:nobodyさん mailto:sage [2009/08/10(月) 15:51:30 ID:???]
>>782
全部マニュアルで明記されてることじゃん??
どの辺が普通なの?

784 名前:nobodyさん mailto:sage [2009/08/10(月) 15:58:42 ID:???]
粘着質な奴だな

785 名前:nobodyさん mailto:sage [2009/08/10(月) 17:08:21 ID:???]
答えられないんだw

786 名前:nobodyさん mailto:sage [2009/08/10(月) 17:24:39 ID:???]
テキストファイルからURLを抽出するphpを書きたいのですが、

$source (元のテキストファイル)
$result (URLリスト)
とします。

phpspot.net/php/man/php/function.preg-match-all.html
ここを参考に以下のコードを書きました。

// $pattern = '/http:\/\/[a-z0-9\/\-_\.]+/i';
// $pattern = '/(?:")?(http:\/\/[^\s"]+)/';
$pattern = '/^(https?|ftp)(:\/\/[-_.!~*\'()a-zA-Z0-9;\/?:\@&=+\$,%#]+)$/';

preg_match_all( $pattern, $source, $maches );
fputs($pointer, count($matches[0]));
fputs($pointer, "\n");

for ( $i=0; $i< count($matches[0]); $i++ )
{
fputs($pointer, $maches[1][$i]);
}

色々パターンを変えてやってみても、結果はいつも0(何もマッチしない)です。
これ以外の方法でも構わないので、テキストからURLリストを作る方法を教えてください。
よろしくお願いします。

787 名前:nobodyさん mailto:sage [2009/08/10(月) 18:31:55 ID:???]
>>782
string型同士でも10e0とか数字比較されるのは知らなかった。
これは危険だな。

788 名前:nobodyさん mailto:sage [2009/08/10(月) 20:09:42 ID:???]
>>786
ひょっとして
$source = 'hoge.txt';
とかじゃないよね?
preg_match_allの第2引数は検索対象となる”文字列”だからね?



789 名前:nobodyさん mailto:sage [2009/08/10(月) 20:11:45 ID:???]
型まできちんと意識するときは===使うけど、意識するまでもないときは普通に==使うなあ。
まあ用心とか念のためとかいわれたらそう言う考え方もあるよね、だけど。

790 名前:nobodyさん mailto:sage [2009/08/10(月) 20:17:14 ID:???]
型を意識しなくてもいい言語だからこそ型に関連するバグに嵌るんだよな

791 名前:770 mailto:sage [2009/08/11(火) 00:47:34 ID:???]
>>772

いまさらだが、striposは、見つからなかった場合、falseを返す。
== 0 とした場合、0文字目かfalseかを判断出来ないため、=== 0とした。

792 名前:786 mailto:sage [2009/08/11(火) 11:34:24 ID:???]
>>788
そうやってました。
っていうことは、$sourceから一行づつ文字列引っ張ってpreg_matchでチェックしていくんですかね。
どう書けばいいんだ… CかC++なら一瞬で終わるのに…


793 名前:786 mailto:sage [2009/08/11(火) 11:37:04 ID:???]
おそらく$sourceから fgetsでラインを取りだすと思うんですが、行はどうやって指定するんですか?
(ポインタをどうやって進めるんですか?)


794 名前:nobodyさん mailto:sage [2009/08/11(火) 11:45:01 ID:???]
$source = 'hoge.txt';
$pattern = '/(https?|ftp)(:\/\/[-_.!~*\'()a-zA-Z0-9;\/?:\@&=+\$,%#]+)/mi';
preg_match_all( $pattern, file_get_contents($source), $maches );
print_r($maches);

795 名前:786 mailto:sage [2009/08/11(火) 11:46:06 ID:???]
<?php
 $pointer=fopen("./book/memo", "r");    //ファイルを開きます
   $line = fgets($pointer);       //内容を取り出します
  echo $line;               //画面に内容を表示
 fclose($pointer);              //ファイルを閉じます
?>

こういうクソサンプル載せてるサイトってなんなんだろう…
全く意味がないw

796 名前:786 mailto:sage [2009/08/11(火) 11:48:25 ID:???]
>>794さん
ありがとうございます。
file_get_contentsがキモだったんですね。

797 名前:nobodyさん mailto:sage [2009/08/11(火) 11:48:48 ID:???]
お前が言うな

798 名前:nobodyさん mailto:sage [2009/08/11(火) 12:29:46 ID:???]
ワロタ



799 名前:nobodyさん mailto:sage [2009/08/12(水) 11:34:05 ID:???]
Apache で聞くべきか悩んだのですがここで。
.htaccess で

php_value mbstring.func_overload 0


と書いても設定が変わりません。試しに

php_value mbstring.func_overload = 0


と書くとエラーになるので .htaccess は読まれているようです。
( mod_rewrite などは動いている )

解決策をご存知の方はいらっしゃいませんか。

800 名前:nobodyさん mailto:sage [2009/08/12(水) 11:41:53 ID:???]
ini_get("mbstring.func_overload"); はいくつ?






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

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

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