09/08/11 11:34:24
>>788
そうやってました。
っていうことは、$sourceから一行づつ文字列引っ張ってpreg_matchでチェックしていくんですかね。
どう書けばいいんだ… CかC++なら一瞬で終わるのに…
793:786
09/08/11 11:37:04
おそらく$sourceから fgetsでラインを取りだすと思うんですが、行はどうやって指定するんですか?
(ポインタをどうやって進めるんですか?)
794:nobodyさん
09/08/11 11:45:01
$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
09/08/11 11:46:06
<?php
$pointer=fopen("./book/memo", "r"); //ファイルを開きます
$line = fgets($pointer); //内容を取り出します
echo $line; //画面に内容を表示
fclose($pointer); //ファイルを閉じます
?>
こういうクソサンプル載せてるサイトってなんなんだろう…
全く意味がないw
796:786
09/08/11 11:48:25
>>794さん
ありがとうございます。
file_get_contentsがキモだったんですね。
797:nobodyさん
09/08/11 11:48:48
お前が言うな
798:nobodyさん
09/08/11 12:29:46
ワロタ
799:nobodyさん
09/08/12 11:34:05
Apache で聞くべきか悩んだのですがここで。
.htaccess で
php_value mbstring.func_overload 0
と書いても設定が変わりません。試しに
php_value mbstring.func_overload = 0
と書くとエラーになるので .htaccess は読まれているようです。
( mod_rewrite などは動いている )
解決策をご存知の方はいらっしゃいませんか。
800:nobodyさん
09/08/12 11:41:53
ini_get("mbstring.func_overload"); はいくつ?
801:799
09/08/12 11:54:07
>>800
7 なので 0 にしたくて
802:nobodyさん
09/08/12 13:46:11
>>801
だからよ、7ってことはその.htaccessが効いてないってことじゃないか。
803:799
09/08/12 13:47:48
>>802
なので何でだろう、と。
Apache スレの方がいいですかね。
804:nobodyさん
09/08/12 14:04:17
ini_set してまたini_getするとどうなる?
805:nobodyさん
09/08/12 14:05:09
AllowOverrideがNoneになってるとか?
806:nobodyさん
09/08/12 14:05:24
そもそも環境は?バージョンとか。
一部レンタルサーバじゃその変更使えないとか書いてるサイトもみかけたぞ
807:799
09/08/12 14:44:31
みなさん、いろいろとありがとうございます。
>>804
mbstring.func_overload は PHP_INI_PERDIR なので
ini_set() できないだろと思いつつ、試してみましたが 7 のままです。
>>805
あ、それ怪しい、と期待したのですが
AllowOverride All
Options All
でした…。
>>806
自分のパソコンの実験サーバです。
Apache/2.0.63 + PHP 5.2.9-1 ( Windows Vista )
とりあえず php.ini の mbstring.func_overload = 0 をしてますが、
古いアプリが 7 を期待しているのがあって、普段は 7 がいいんです…。
808:nobodyさん
09/08/12 15:16:49
いやまあAllowOverrideはrewrite効いてるって書いてるから無いでしょ。
とりあえずこっちで試す限り普通に変更できるので、どこかで上書きしてるか
変更しないようになってるのでは。
インストールした直後の設定に戻しても同じかな
809:799
09/08/12 15:37:31
>>808
ですよね。
何かの見落としだと思うので
クリーンな環境で試してみます。
810:nobodyさん
09/08/12 21:21:14
今日初めてSmartyを使ってみたのですが、ブラウザで開くと文字化けしてしまいます。
phpとtplの文字コードはEUC-JPで、tplの出だしは
<HTML lang="ja">
<HEAD>
<META HTTP-EQUIV="Content-type" CONTENT="text/html; charset=EUC-JP">
となっています。
そいやphpで書いてた時も同じものをprintしたんじゃだめで、
header( "Content-Type: text/html;charset=EUC-JP" );
と書かないと文字化けしたんですけど、関係あるでしょうか?どうやって解決すればいいんでしょう。
811:nobodyさん
09/08/12 21:23:16
続き
mbstring.internal_encoding = EUC-JP
になっています。
812:nobodyさん
09/08/12 21:27:49
更に追記
ブラウザでエンコーディングを日本語:EUC-JPに指定すると文字化けが直ります
日本語:自動判別にすると文字化けします
813:nobodyさん
09/08/12 21:56:23
冒頭に美乳と書く
814:nobodyさん
09/08/12 22:01:02
>>810
ブラウザに送られるHTTPヘッダの情報に異なった文字コード宣言が入っているため
FirefoxはHTTPヘッダとHTML文書に異なる文字コードが宣言されている場合、HTTPヘッダを優先する
header()はHTTPヘッダを送信する関数のため、header()を利用した場合は再現しない
815:nobodyさん
09/08/13 01:01:40
なるほど。で、どうすればいいんでしょうか
816:nobodyさん
09/08/13 10:20:29
default_charset は?
817:nobodyさん
09/08/13 21:55:45
php.iniの中にdefault_charsetの設定がありません。これが原因でしょうか?
バージョンによってはないものなんでしょうか?追加するとしたらどこにすればいいんでしょう。
ぐぐって出てくる解説では最初から入っていることが前提となってるっぽいですが。
818:nobodyさん
09/08/13 21:59:48
適当な位置にdefault_charset = EUC-JPを追加してみたけどだめでした。
こりゃあきらめるしかないか。
819:nobodyさん
09/08/15 14:05:38
mixiのメッセージが届いたら、
「○○さんから届いたよ」っていうメッセージが
デスクトップに表示されるっていうプログラムを作りたいんですが、
「メッセージを受け取った時に実行する」にはどうしたらいいんでしょう?
820:nobodyさん
09/08/15 14:22:52
スレリンク(php板)l50
マルチ?
821:nobodyさん
09/08/17 17:42:19 YF5t01fc
ハリコの虎とかがむしゃらのようなスクリプトって公開されていますでしょうか?
822:nobodyさん
09/08/17 17:47:12
何だろうと思ったらエロ画像掲示板なのか
ぼく18歳未満なのでこれ以上調査できません><
823:nobodyさん
09/08/18 10:55:27 4md56gGq
質問です。
<?php
$test="てすと";
?>
<html><body>
<?=$test?>
</body></html>
これが表示されるサーバーと表示されないサーバがあるのですが、
どういう理由で違いが出るのでしょうか?
どこかサーバー側の設定が違うのでしょうか?
宜しくお願いします。
824:nobodyさん
09/08/18 10:58:12
>>823
short_open_tag
825:nobodyさん
09/08/18 11:14:03 4md56gGq
>>824
ありがとうございました。
無事、表示できるようになりました。
826:nobodyさん
09/08/18 15:33:36
ショートオープンタグは、
オフにしたほうがいい。
もし開発環境で、オンで、
そのまま開発して、
それでもし本番がオフだったら、
書いたコードがPHPとして
実行されずに、ソースが丸見えになる。
827:nobodyさん
09/08/18 15:36:44
俺の、ゆめは、将来のうちに
連れとか中間と、いっしょに、連合組んで
関東を統一することである。
学校出たら、トオルんとこの溶接、手伝って
金ためてアストロか、シーマを、迷ってるが買って、
単車も改造して、バリバリいい音出して走る。
俺は、ずっと将来現役で、走り続ける事が、夢である。
これ思い出した
828:nobodyさん
09/08/18 19:47:38
レンタ鯖がカスタマイズしたphp.iniの設置認めてるんですが、
こういう場合php.ini全文をupするものなのか、それとも変えたい部分だけを
log_errors = On
みたく書いてそれだけをphp.iniの名前でupするものなんでしょうか
829:nobodyさん
09/08/18 20:10:14
>>828
レンタル鯖のマニュアル読んだほうがいい。
一概にどうとは言えないと思うよ。
830:nobodyさん
09/08/19 13:19:33 rHPCm5Kh
すいません、質問いいですか?
【OS名】 linux
【PHPのバージョン】php5.1.6
【WEBサーバ】 Apache
【質問内容】
function send_to_smart($data1, $data2 ,$mode){
//パターン1
if($mode+0 == 0){
$request = "GET /aaaaa/?data1=".$data1."&data2=".$data2."HTTP/1.0\r\n\r\n";
send_request($request);
//パターン2
}elseif($mode+0 == 1){
$request = "GET /bbbbb/?data1=".$data1."&data2=".$data2."HTTP/1.0\r\n\r\n";
send_request($request);
}
$fp = fsockopen("*****.jp",80);
fputs($fp, $request);
while (!feof($fp)) {
$line .= fgets ($fp,128)."\n";
}
fclose ($fp);
}
上記の感じでソケット送信のプログラムを作ってます。
・パターン1と2で別々にデータを送信してる
・2回とも情報送ってるはずなのに、受け取り側ではパターン1しか受け取れてない。
・パターン2はデータが入っていないのではなく、リクエスト自体が来ていない。
・2回ともレスポンスは取れている。ソケットオープンも問題なし。
パターン2で送れない理由がさっぱりわかりません。
これで、なんか原因や解決策判ったりしますか?
831:nobodyさん
09/08/19 13:22:35
send_request関数が無いので何とも
832:nobodyさん
09/08/19 13:24:22
マルチだったのか。乙
833:nobodyさん
09/08/19 14:29:22
<?php
$mes ="
<html>
<head><title>aaa</title></head>
<body>aaa</body></html>";
echo $mes;
?>
たったこれだけのスクリプトがFirefoxでだけエラー起こす鯖があるんだけどなんでだろう
アドオンは当然全部切った
↓エラーメッセージ
501 Method Not Implemented
GET to /test.php not supported.
Additionally, a 404 Not Found error was encountered while trying to use an ErrorDocument to handle the request.
834:nobodyさん
09/08/19 14:36:00
正しくヘッダ出してないからじゃね
835:nobodyさん
09/08/19 14:38:06
クッキー消せだって
836:nobodyさん
09/08/19 14:57:27
ありがとう
クッキー消したらうまくいった
クッキーなんて使ってないスクリプトなのになんでだろ・・・
837:nobodyさん
09/08/20 01:28:48
file_get_contentsとか、curl_execとかでPOST送信した場合、
相手から302が返ってくると遷移先にGETで送ってくれやがります
POSTで再送できないの?
838:nobodyさん
09/08/20 09:59:34
RFC2616
839:nobodyさん
09/08/20 23:15:54
>>838
「POSTして302が返ってきたら遷移先にもPOSTで送れって書いてあるのに
誰も守ってくれなかったから仕方なく303と307作った」
って読めるんだが違うの?
その本来の302の動作をさせたかったんだが。
とりあえずZend_Httpのstrictredirectsでできるのはわかったんだが、できれば標準関数で行いたかった。
840:nobodyさん
09/08/21 15:54:18
他人がつくったPHPアプリをメンテしているんですけど、スパゲッティになっています。
それで、どのPHPファイルが読み込まれるのかを調べたいんですけど、そのような機能はPHPにありますか。
つまり require_once() した時にそのファイル名をログファイルに出力させたりとか、そういうかんじの機能です。
よろしくお願いします。
841:nobodyさん
09/08/22 03:08:28
>>840
・配列のぐろーばる変数をつくる
・あらゆるPHPファイルの戦闘でグローバル変数に自分のファイル名を追加させる
・最後辺りで print_r する
842:770
09/08/22 03:44:58
>>840
使ったこと無いけど、inclued_get_dataはどう?
マニュアル見た感じ、取得出来そうなきがする
URLリンク(jp.php.net)
843:nobodyさん
09/08/22 12:27:40
>>841
全ファイルの先頭に追加するならそんなことしなくてもecho __FILE__すればいいだけじゃないのか・・・
844:nobodyさん
09/08/24 00:53:18
画像への権限について質問があります。
画面からファイル(画像)がアップロードされた場合に
URLリンク(test)
という風にファイルを保存しています。
また、ファイルがアップロードされたタイミングでファイルの権限を640に設定し
そのままでは外部からアクセス出来ない様に設定しています。
ここで質問なのですが、A.phpのページにパスワードを入力しそのパスワードが
正しい場合のみそのクライアントからは、アップロードされたファイル(ここでは、 test.jpg )に
アクセス出来る様にしたいのですが何か良い方法はありますか?
845:nobodyさん
09/08/24 01:29:01
>>844
コード上の認証と絡めるなら、画像のURLをPHPにして、
パラメータでどの画像か判別させればいいのでは。
PHPからは、image なんちゃらの content-type ヘッダを
吐き出して、そのあとバイナリを送ればいいだけ。
846:nobodyさん
09/08/24 01:40:50
>>845
ごめんなさい。ちょっと難しいです。
何か参考になるサイトがあれば教えて頂けますでしょうか?
847:nobodyさん
09/08/24 06:22:07
マニュアルみながらBASIC認証なりセッションなりやればいいんじゃね
848:nobodyさん
09/08/25 00:24:14
>>844
test.jpg を、ブラウザからはアクセスできないフォルダに置く。
(できないサーバーもある)
それで、phpから、そのjpgを呼び出して表示するように
すればよい。
1.phpにアクセスすると、
その1.phpが、test.jpgを呼び出す感じ。
直接test.jpgにブラウザからはアクセスできない。
それで、1.phpに、パスワード認証をかけておいて、
パスワードが一致したら、ログイン成功、にして、
セッションでその情報をもちまわせばよい。
849:nobodyさん
09/08/25 14:05:57
オンラインチャットを作りたいのですが、一から言語を覚えて作るのは難易度高いでしょうか
プログラミングはvbとhtmlしか経験ありません
850:nobodyさん
09/08/25 14:11:57
>>849
技術的にはCometとかになるだろうから
インフラ的に無理
自鯖使うならいいけど
難易度的には難しくはないしその辺にサンプルも転がってるだろう
851:nobodyさん
09/08/25 14:22:31
1行掲示板みたいなので、javascriptで30秒リロードとかでいいんじゃねーの?
852:nobodyさん
09/08/25 14:26:06
いつの時代のチャットだよw
853:nobodyさん
09/08/25 14:31:29
>>850-851
ありがとうございます
インフラなら問題ありません
vbでLAN上のチャットなら作ったことがあるので
ほかの言語で作り直すのはどのくらい難しいのか
経験者の方からみてやめておいたほうがいいのかをご助言いただけるとうれしいです
854:nobodyさん
09/08/25 14:40:32
VBでクライアントアプリ作って、
PHPでデータ受けて返すのを作れば
完成なんじゃないか
855:849
09/08/25 15:14:15
>>854
一応ブラウザ上で動かしたいもので、すみません
856:nobodyさん
09/08/26 00:56:09
VBの経験があるならクライアントにSilverlight使えばいいんじゃない
857:nobodyさん
09/08/26 05:55:55
cURLに関しての質問です。
やりたいこと: 自分のホームページ上からヤフオクへログイン。
現状: mixiへのログインは出来たのですが、ヤフオクが出来ずに躓いてます。
mixiへログインすると正常にcookieも書き出してくれるのですが、
ヤフオクへアクセスを試みると Empty reply from server というエラーを
吐いてしまいます。もちろんcookieも書き出してくれません。
何かアドバイスを頂けると非常に助かります。m(__)m
(長くなるのでスクリプトは次レスで。)
858:857
09/08/26 05:57:44
>>857の続きです。
スクリプト:
<?php
// POSTデータ準備 hiddenで送ってるデータが非常に多いので視認性のため一部割愛
$post_data[".u"] = "2c2vi55595i07";
$post_data[".v"] = "0";
$post_data[".challenge"] = "bwDQLWdW58F9ZAsaWVZwpkkumuzc";
$post_data["hasMsgr"] = "0";
$post_data[".chkP"] = "Y";
$post_data[".done"] = "URLリンク(auctions.yahoo.co.jp)";
$post_data[".protoctl"] = "" ;
$post_data["login"] = "MYID";
$post_data["passwd"] = "MYPASSWORD";
$post_data[".persistent"] = "y" ;
859:857
09/08/26 05:59:10
>>858の続きです。
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, "URLリンク(login.yahoo.co.jp)");
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, FALSE);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $post_data);
curl_setopt($ch, CURLOPT_COOKIEFILE, "cookie.txt");
curl_setopt($ch, CURLOPT_COOKIEJAR, "cookie.txt");
$result = curl_exec($ch);
if ($result === false) {
// エラーが発生した場合の処理(現在ここでエラーを吐きだして終了する。)
print curl_error($ch);
exit();
}
// ログインが成功してたらトップページへ接続
curl_setopt($ch, CURLOPT_URL, "URLリンク(auctions.yahoo.co.jp)");
$result = curl_exec($ch);
curl_close($ch);
//取得結果を出力する。
echo $result;
?>
以上です。
860:nobodyさん
09/08/26 06:10:12
フィッシング詐欺?
861:849
09/08/26 06:25:22
>>856
今日図書館にいって調べてみます
ありがとうございました