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

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

■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん2010/05/28(金) 16:33:44ID:???
質問者はまず>>1を良く読むこと(必須!)
過去スレ、関連スレ、FAQなどは>>2-10辺り
次スレは>>980が立てる。10分以内に立たない場合、宣言してから立てたい人が立てること。

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

◆質問用テンプレ
【OS名】CentOS
【PHPのバージョン】5.3
【連携ソフトウェア】MySQL ImageMagick
【質問内容】

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

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

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

【その他諸注意】
・SQL・正規表現・PEAR・テンプレート(Smarty等)・フレームワークは各該当スレへ
0468nobodyさん2010/06/15(火) 15:15:54ID:FYWiA/i5
>>466 >>477

ありがとうございます! 
ヒントをもとにいろいろ試してみます!
0469nobodyさん2010/06/15(火) 15:18:12ID:???
$WK = array('','11','','','22','33','','44','');
echo "元の状態\n";
var_dump($WK);

$WK2 = array();
foreach($WK as $WK1)
{
if((isset($WK1) === true) and (strlen($WK1) > 0))
{
$WK2[] = $WK1;
};
};

echo "\n結果\n";
var_dump($WK2);
0470nobodyさん2010/06/15(火) 15:19:29ID:???
>>467で結果が出ていたか
0471nobodyさん2010/06/15(火) 15:26:53ID:???
$a = array_merge(array_filter($a, function($s){return strlen($s) > 0;}));
0472nobodyさん2010/06/15(火) 15:27:54ID:wrbhrBX4
>>463
$array = array('', '', 'テスト', '12');
var_dump(array_diff($array, array('')));
0473nobodyさん2010/06/15(火) 17:38:39ID:pnwlJPRh
会員サイトでユニークID何にするか迷ってるんだけど
UNIXタイムスタンプってよくない?
0474nobodyさん2010/06/15(火) 18:02:28ID:???
別にそれでもいいけど、それなら連番でもよくね?
0475nobodyさん2010/06/15(火) 18:45:33ID:???
いやこう登録した時間も分かるし一石二鳥みたいな?
0476nobodyさん2010/06/15(火) 19:41:36ID:???
そして同じ時刻に2人登録して罠に...
0477nobodyさん2010/06/15(火) 21:01:27ID:???
同じ時刻に登録されるのが怖いならmicrotime()使えば?
1秒間に10万人が登録しても余裕(1マイクロ秒=100万分の1秒)
0478nobodyさん2010/06/15(火) 21:07:40ID:???
それでもやっぱり所詮は確率なのであった。ま、シングルコアなら
大丈夫な気がするけどw
0479nobodyさん2010/06/15(火) 21:09:11ID:???
DB使え。登録日もいれとけ。
0480nobodyさん2010/06/15(火) 21:10:43ID:???
会員ID&日時でいいじゃん。
0481nobodyさん2010/06/15(火) 21:17:55ID:???
まあ普通は登録日時は別にとっとくもんだ。
0482nobodyさん2010/06/15(火) 22:49:42ID:???
まあファイルロックでもして待たせればタイムスタンプでもいいわな
0483nobodyさん2010/06/15(火) 23:14:51ID:???
uniqidっていうユニークIDを生成する関数があるよ。
0484nobodyさん2010/06/16(水) 00:23:12ID:???
普通連番だろ
それ以外にする理由がない
0485nobodyさん2010/06/16(水) 00:35:10ID:???
IDをユーザが決められるようにすればいいじゃん
登録時に既存のIDをチェックして、重複が発生しないようにする
0486nobodyさん2010/06/16(水) 00:44:04ID:???
まあ掲示板みたくIDを表示する必要があるならそれでいいが
最近はメールアドレスをID代わりにするのがトレンド
0487nobodyさん2010/06/16(水) 01:27:08ID:???
そして連番にして番号をずらせば他の人の情報が読めちゃう不思議仕様に
0488nobodyさん2010/06/16(水) 01:41:37ID:sfuhSdY7
拡張子がPHPのファイルにはアクセスさせない、ってのをしたいんですけど、
$HTTP["url"] == "\.(php)$" {
{url.access-deny = ( "" )
}

http://exprode.net/index.php?id=087
http://exprode.net/index.php?id=908700
http://exprode.net/index.php?id=adomin

のようなURLまで対応させるにはどうしたらいいでしょうか?
0489nobodyさん2010/06/16(水) 01:43:16ID:???
メールアドレスをID代わりにするデメリットもあるよね。
0490nobodyさん2010/06/16(水) 01:46:07ID:???
>>488
それはPHPの話なのかな?
Webサーバ(lighttpd?)でアクセス制限したいように見えるけど…。
04914872010/06/16(水) 01:56:07ID:sfuhSdY7
質問的には正規表現ですね
linux板で聞きます
0492nobodyさん2010/06/16(水) 02:52:57ID:???
環境Eclipse for PHP Developers(eclipse3.5.2)を使用しています。

デバッグにて引数を渡したいのですが、
メニュー > 実行 > デバッグの構成 > PHPスクリプト引数
に値を設定してもデバッグ時に$_GETの中に値が入ってくれません。
(具体的には、hoge.php?id=1 とし、$_GET['id']で1が取れる事を期待しているのですが・・・)

実行時に引数を渡してやるにはどうしたらよいのでしょうか。
よろしくお願いします。
0493nobodyさん2010/06/16(水) 05:28:00ID:MIQQfYzz
PHP+PDOで、検索結果の総レコード数を取得したいです。

SELECT * FROM tablename WHERE ( colum BETWEEN 10 AND 20 ) LIMIT 25; # 実際には320件ある
rowCount()だと当然「25」となります。
総レコード数である「320」を取得する効率的な方法を教えてください。

現在は、以下のように2回クエリを発行して対処しています。

$stmt = $pdo->query( 'SELECT COUNT(*) FROM tablename WHERE ( colum BETWEEN 10 AND 20 );' );
list( $count ) = $stmt->fetch();
echo $count;
$stmt = $pdo->prepare( 'SELECT * FROM tablename WHERE ( colum BETWEEN 10 AND 20 ) LIMIT 25;' );
$stmt->execute();

他に定石的な方法はありますでしょうか?
0494nobodyさん2010/06/16(水) 05:43:29ID:???
2回投げるしかないと思うよ。
0495nobodyさん2010/06/16(水) 07:55:42ID:J3wcOhw/
【OS名】Windows Vista
【PHPのバージョン】PHP5.10.1
【連携ソフトウェア】MySQL ActionScript3.0
【質問内容】
プログラム初心者です。スレチだったら誘導して頂けると幸いです。
現在、FlashとDBを連携させるプログラムを作っているのですが、
その仲介としてPHPを利用しています。
echo文を使ってFlash側に変数の受け渡しをしようと思っているのですが
PHP側で
echo "key=".$key;
とすると、Flash側に変数$keyを渡すことが出来ているのですが、
echo "key=".$key;
echo "val=".$value;
と記述すると、Flash側の変数keyに文字列として
$keyval=$value;
※&変数には実際の値が入っています。
と表示されてしまいます。

どのような記述をすれば二つの変数をうまくFlash側に渡すことが出来るでしょうか?
よろしくお願いします。
0496nobodyさん2010/06/16(水) 09:07:59ID:???
MX時代の知識だからバージョンによって違うかもしれないけど
FlashとPHPでの値のやり取りは変数名=値&変数名=値… と&で連結する必要が
あったんじゃなかったかな
あと気をつけるのはphp側の文字エンコード
0497nobodyさん2010/06/16(水) 11:36:03ID:???
>>493
SELECTは一回で済むけど、結局内部的には二回じゃないのか? であり、
なおかつメモリ効率的には「俺って馬鹿げたことしてんなぁ」という方法

countする方をサブクエリにして、その結果を検索結果の方の一カラムに収める。
(検索結果行の全てに、同じ値(count結果)が収まってるカラムが付いちゃう)



MySQLだったら、SELECTは二回だけど二回目は実際の検索はしないから軽い(だろう)という方法有り(他は知らない)

SQL_CALC_FOUND_ROWS でぐぐってみてね。
0498nobodyさん2010/06/16(水) 11:40:12ID:???
後半のlimitって、count取ってからごにょごにょして作ったりしない?
0499nobodyさん2010/06/16(水) 12:34:49ID:???
countは全部数えるしかないし、limitつきのselectは適切なインデックスが
あれば全部見なくても値を返せるから別の処理。2回やってもしょうがない
と思う。まあインデックス使えなければ条件で全部ナメが2回走るかも
だけど、それはむしろインデックス用意しろだな。countとlimitつきのselectを
分けたいぐらい要素数が多いのならその価値はあるだろう。
0500nobodyさん2010/06/16(水) 13:56:16ID:6gbQuGMY
http://www.plusmb.jp/2008/12/19/1775.html
ここ等を参考に、swfmillで作成した携帯向けFlashを
header('Content-type: application/x-shockwave-flash');
echo $swfOutput;
のように返すと何故か
FireMobileSimulatorでは表示できるのに携帯では表示できない。

いったんfile_put_contentsでファイルに書き出し、そこにLocationヘッダで飛ばしてやると
携帯でも表示される。

ディスクI/Oを減らすためできればファイル吐かずに済ませたいんですが、
何かお知恵はありませんでしょうか。
0501nobodyさん2010/06/16(水) 14:10:56ID:???
>>500
2つの場合でヘッダに違いがないかよーく比べてみるとなにかわかるかも?
0502nobodyさん2010/06/17(木) 04:56:28ID:mKgRGi9a
PHPでブログ投稿したいのですがそのようなアプリありますか?
0503nobodyさん2010/06/17(木) 05:16:08ID:???
phpのセッションはどうやってクライアントを判別してるのでしょうか?

0504nobodyさん2010/06/17(木) 05:20:16ID:???
あクッキーみたいですね
IPで判別してるのかと思ってました。
クッキーにランダムな文字列のセッションIDだけを入れて
後はサーバー側に保存と・・
05054952010/06/17(木) 05:26:02ID:sy18pq7k
>>496
お返事が遅くなって申し訳ありません。
試してみます。
回答ありがとうございました。
0506nobodyさん2010/06/17(木) 09:29:50ID:Ii8+nE6y
質問いたします。
送信フォームなどで使うボタン。以下のように書けばボタンの代わりに画像を使うことができますよね。

<input type="image" src="image.gif" name="sub" /> ←(ボタンの代わりに、“image.gif”という画像を使う)

そこで、画像の代わりに文字列を使うことは出来ますでしょうか?どういうことかと申しますと、普通によくあるリンク
(< href="xxxxxxxxx.html">リンク</a>)を張る感じで、それをクリックするとデータを送信させるようにしたいのです。

例えば、これは私の予想ですが、ヤフオクとかで条件を絞り込む場合、
「デスクトップ」という文字列のリンクがあり、それをクリックすると「デスクトップ」というデータを送信し、それを抽出して表示…
という仮定を踏んでいるものだと思っています(間違ってたらすいません)。

皆様のお知恵を拝借したいと思います。宜しくお願いします。
0507nobodyさん2010/06/17(木) 09:40:25ID:???
POSTとGETリクエストは理解してるの?
0508nobodyさん2010/06/17(木) 11:47:14ID:Ii8+nE6y
>>507
POSTとGETリクエストは理解してるの?
理解はしてる…つもりです。一応ですけど。
<input type="image"……で、画像を使った時はうまくいきました。
0509nobodyさん2010/06/17(木) 12:03:43ID:???
506はずっとPOSTの話をしていると思うけど、
ヤフオクの例はGETなんじゃねーの?ってことを
507は言いたいんだと思う。

ちなみにリンクでsubmitしたければ、javascriptで
onclickイベントにsumbitを書けばおk
0510nobodyさん2010/06/17(木) 18:22:02ID:???
<form method="POST" action="<?php echo $_SERVER["PHP_SELF"];?>">
<input type="text" name="search">
<input type="submit" value="search!!">
</form>
<?php
if(isset($_POST["search"])){
$str = $_POST["search"];
mb_internal_encoding("UTF-8");
mb_http_output("UTF-8");
$url = "http://search.yahooapis.jp/WebSearchService/V1/webSearch?appid=***&results=2";
$url .= "&query=".urlencode($str);
$data = simplexml_load_file($url);
print_r($data);
}
?>

検索したい言葉を入れて、Yahooの検索APIから検索結果を表示させたいんだけど、
検索結果が文字化けしちゃうし、日本語の検索キーワードを入力すると検索結果0件になっちゃうんだけど
どこがおかしいの?
0511nobodyさん2010/06/17(木) 19:55:52ID:???
>>510
スレタイを読まないお前の頭
0512nobodyさん2010/06/17(木) 23:06:44ID:???
勝手に質問だと思い込むのはやめてもらえませんか?
0513nobodyさん2010/06/17(木) 23:11:18ID:???
>>511
「くだらない質問をするときはIDを出さなければならない」とは書かれているようですが、それがいかがなさいましたか?
0514nobodyさん2010/06/17(木) 23:11:53ID:???
質問じゃないならスレ違い
0515nobodyさん2010/06/17(木) 23:14:24ID:???
>>514
くだらなくない質問もですか?
0516nobodyさん2010/06/17(木) 23:15:55ID:???
「くだらなくない質問もですか?」は明らかにくだらない質問だな
0517nobodyさん2010/06/17(木) 23:18:39ID:???
>>515
もちろんスレ違い。
くだ質というのは昔からそのようにできている。
0518nobodyさん2010/06/17(木) 23:18:57ID:WMbR8KJ3
亀で横からなんだけど、
>>30でUAを設定してるのと設定してないので取得できる量が変わるのはなんで?
0519nobodyさん2010/06/17(木) 23:21:50ID:???
なんでかわからんが、そのうちはまりそうな気配がするな。
パケットキャプチャしたりするとわかるのかな。
0520nobodyさん2010/06/18(金) 00:26:09ID:df2633Ti
php-5.3.2-srcをDLしたんですが
php4ts.dllをシステムフォルダにコピーすればいいらしいんですが
php4ts.dllが見つかりません
どこにおいてあるのでしょうか?
0521nobodyさん2010/06/18(金) 00:27:56ID:???
>>520
なんでそんなことしてんの?
0522nobodyさん2010/06/18(金) 00:41:58ID:df2633Ti
http://www.scollabo.com/banban/php/apd_02.html
このサイトによると必要らしいので
0523nobodyさん2010/06/18(金) 00:49:38ID:???
windowsへのインストールなら、xamppでいいじゃん。
少なくともそこのサイトの通りやっても5系の入れられないし、
あなたがダウンロードしちゃったのはソースなので使えないです。
0524nobodyさん2010/06/18(金) 01:29:12ID:df2633Ti
ええっーマジですか…
回答ありがとうございます
0525nobodyさん2010/06/18(金) 01:57:21ID:???
>>523
残婦なんか勧めるなよ
あれは「分かってるヤツ」がほんの若干の手間を省くためのもの

>>524
どこにソースをダウンロードなんて書いてあんだよ
http://windows.php.net/download/
から
x86 Thread Safe
の Installer を落とせ
0526nobodyさん2010/06/18(金) 03:13:36ID:df2633Ti
>>525さん
インストーラーを落としましたサンクスです
インストールする時にother cgiを選んだんですがこれでもいいですよね?
あとインストールすればすぐにPHP使えますか?
0527nobodyさん2010/06/18(金) 03:33:58ID:feYzfmHO
すいません、質問です。

最近、PHPの勉強を始めたばかりなのですが。
XAMPPをインストール、テスト用の簡単なPHPも使用できていて、
動作には問題ないように思います。
mysqlは、utf8の文字コードを追加しています。
また、.htmlで、phpが動作するように、.htaccessを使用しています。

ウェブサイトを基本xhtmlでコーディングしていって、ヘッダーなどの部分を
PHPで共通化できればと思い、勉強を始めたのですが、いきなり文字化けに陥りました。

<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
これがソース内にあると、文字化けします。
逆に、なければ文字化けはしません。

これは、なぜなんでしょうか・・・

どなたか、おわかりになる方、ご教授してください><
0528nobodyさん2010/06/18(金) 03:56:02ID:???
>>526
ごめん オレには other cgi が何か分からん。
だいたい apache module みたいなんだと思う
君が cgi/fcgi を望んでるとは思えん

>>527
それぞれの文字コードを見直す
0529nobodyさん2010/06/18(金) 03:59:31ID:???
>>526
言い忘れたけど >>522 の内容は php4 を php5 に置き換えれば
そのまま使えるはず。
05305272010/06/18(金) 04:33:07ID:feYzfmHO
>>528
ありがとうございます。
php.iniを、もう1度みなおしていたら、UTF-8じゃない部分がありました。
単純なミスで質問してしまって、すいませんでした。

回答ありがとうございました!
0531nobodyさん2010/06/18(金) 07:32:29ID:???
>>520
phpに限らず、メジャーバージョンが異なるものの情報を鵜呑みにするのはやめたほうがいいよ
0532nobodyさん2010/06/18(金) 08:52:21ID:KlmzoK3k
echo $_SERVER["REMOTE_ADDR"];
は表示されるのですが、

echo $_SERVER["REMOTE_HOST"];
は表示されません。
これは何処の設定をいじくれば表示されるようになるんでしょうか?
0533nobodyさん2010/06/18(金) 09:18:11ID:???
>>525
またお前か。最後まで面倒みてやれよ。
0534nobodyさん2010/06/18(金) 14:04:34ID:J92h6I5e
>>532
http://nyx.pu1.net/practice/server_var/server_var2.php#sample6
0535nobodyさん2010/06/18(金) 14:43:06ID:PtT48P2n
もの凄いくだ質なんですが、、気になったので質問します。

MySQLのテーブル「user」の各フィールド名を
user_id|user_name|user_mail
のように、テーブル名を接頭辞にして付けています。

$sql = "SELECT * FROM user";
$res = mysql_query($sql);

みたいにしてSQL文を実行してmysql_fetch_arrayで登録値を取得出来るわけですが、
登録値を取得する時、どういう配列名にすればいいか悩みます。
これまでは
$user = mysql_fetch_array($res);

のように、テーブル名を配列にして代入していたのですが、
これを出力する時、 $user["user_name"]となるので、ややこしく感じます。

どうするのが一般的なかと疑問に感じ、質問させていただきました。
0536nobodyさん2010/06/18(金) 14:45:47ID:???
フィールド名のuser取ればいいじゃない。自分でもそう思ってるんでしょ?
05375352010/06/18(金) 14:53:14ID:PtT48P2n
いえ。それは思っていません。結合する時ややこしくなりますから。
0538nobodyさん2010/06/18(金) 14:59:35ID:J92h6I5e
僕は>>536の意見に賛成
0539nobodyさん2010/06/18(金) 15:11:06ID:???
RDBMSがなんのためにスキーマ、テーブル、カラムで空間を分けてるか考えたら
結合のときにカラムのエイリアスを付けなくていい
0540nobodyさん2010/06/18(金) 15:14:44ID:???
すまそ途中送信
RDBMSがなんのためにスキーマ、テーブル、カラムで空間を分けてるか考えたら
結合のときにカラムのエイリアスを付けなくていいという理由だけで
接頭辞を乱用すべきじゃないね
05415352010/06/18(金) 15:21:55ID:PtT48P2n
確かに接頭辞を付けると無駄にフィールド名が長くなるので
乱用すべきでないというのは分かります。

ただ、テーブル数が多くなってくると、やはり接頭辞を付けた方が
ソースが分かりやすいんです。WordPressやMTなんかも接頭辞を付けてますし。

で、>>536-540さんの意見を総合すると、
$user = mysql_fetch_array($res);
というようにテーブル名の配列に代入する方法が一般的なんですかね。
0542nobodyさん2010/06/18(金) 16:42:15ID:???
これ見てよ↓
http://livedoor.2.blogimg.jp/agomesu/imgs/4/f/4faec292.png
ばらまこうぜ!
0543nobodyさん2010/06/18(金) 18:19:48ID:df2633Ti
>>525さんのURLからPHP 5.3のインストーラーをDLして
インストールしたんですが
これって設定の変更とかせずにそのまますぐに使えますか?
0544nobodyさん2010/06/18(金) 18:20:53ID:???
>>525
呼んでるぞー
0545nobodyさん2010/06/18(金) 18:22:19ID:9ev+TnD6
これすぐ使えるぜ


http://itpro.nikkeibp.co.jp/article/COLUMN/20070507/270089/
bamcompileでスタンドアロンEXEアプリを作ろう - PHP TIPS:ITpro
0546nobodyさん2010/06/18(金) 18:25:10ID:UII6mL4g
APCを使おうと思ってさくらのレンタルサーバーに組み込んだんですが、
どうも上手く動作してないような気がします。

wwwフォルダ以下にある色んなphpやjpgなどを開いたら、
↓のapc.phpキャプチャ画像の2〜4番目あたりが変化しそうな気がするのですが、全く変わりません。
この状態だとキャッシュされているのが、その時開いたapc.phpだけという意味ですよね?

どこが悪いのかさっぱりです。
分かる方いましたらどうかよろしくお願いします。


【組込手順】
 ・本家からAPC.tgzダウンロード→解凍→サーバーにAPCフォルダとしてアップ
 ・cd APC
 ・phpize
 ・./configure --enable-apc
 ・make
 ・modulesにapc.soができたのを確認

【主なフォルダ/ファイル構成】
home
|
└myid
    |
   ├APC
    |  └modules
    |       └apc.so
    |
   └www
        └html/phpなど
0547nobodyさん2010/06/18(金) 18:25:32ID:9ev+TnD6
サーバー環境付きで動くフルセットはこれ使えよ。

XAMPP Windows版 1.7.3 51 MB 自己解凍型RAR アーカイブ

http://www.apachefriends.org/jp/xampp-windows.html#2671
05485462010/06/18(金) 18:26:25ID:UII6mL4g
【apc.php】
ttp://up.mugitya.com/img/Lv.1_up120571.jpg
ttp://up.mugitya.com/img/Lv.1_up120572.jpg
ttp://up.mugitya.com/img/Lv.1_up120573.jpg
ttp://up.mugitya.com/img/Lv.1_up120574.jpg

【phpinfo】
ttp://up.mugitya.com/img/Lv.1_up120575.jpg
ttp://up.mugitya.com/img/Lv.1_up120576.jpg
0549nobodyさん2010/06/18(金) 18:30:17ID:???
Linuxなら
apt-get install lamp-server とコマンドを打つだけで
Apache MySQL PHPが自動でインストールされるのに

Windowsは非常に面倒だな
0550nobodyさん2010/06/19(土) 05:25:01ID:9jWjEAKJ
PHPで4バイト整数のファイル入出力はどうやればいいですか。
0551nobodyさん2010/06/19(土) 05:41:28ID:???
fgets fputs
0552nobodyさん2010/06/19(土) 09:08:29ID:???
fread, fwrite
0553nobodyさん2010/06/19(土) 19:33:03ID:PoSyZtDI
<?php
header('Content-Type: text/html; charset=UTF-8');
mb_http_output("UTF-8");
ob_start("mb_output_handler");
?>
<form method="POST" action="">
<textarea name="replace" cols=20 rows=4></textarea>
<input type="submit" value="replace!!">
</form>
<?
if(isset($_POST["replace"])){
$before = $_POST["replace"];
echo $before;
echo mb_detect_encoding($before);

$after = str_replace("です", "でした", $before);

echo $after;
echo mb_detect_encoding($str)."<br>";
}

フォームで文字列置換をやりたいんだけど、うまくいきません。
置換前の文字列とその文字コード、置換後の文字列とその文字コードを表示させてますが、
「あいうえおです」みたいな日本語を入力しても、該当箇所が置換されないどころか文字列自体が表示されません。
しかも文字コードはどちらもSJISになっちゃいます。
どうしたらうまく置換できるのでしょうか。
0554nobodyさん2010/06/19(土) 19:39:59ID:???
>>553
問題を細かく切り分けてみそ
0555nobodyさん2010/06/19(土) 19:57:20ID:???
>>553
mb_internal_encoding("UTF-8");
0556nobodyさん2010/06/19(土) 19:58:59ID:9jWjEAKJ
パスの内部コードを取得する方法ありますか。
05575532010/06/19(土) 20:31:04ID:PoSyZtDI
<?php
header('Content-Type: text/html; charset=UTF-8');
mb_http_output("UTF-8");
mb_internal_encoding("UTF-8");
ob_start("mb_output_handler");
?>
<META httpequiv="Content-Type" content="text/html;charset=UTF-8">
<form method="POST" action="">
<textarea name="replace" cols=20 rows=4></textarea>
<input type="submit" value="replace!!">
</form>
<?
if(isset($_POST["replace"])){
$before = $_POST["replace"];
echo $before;
echo mb_detect_encoding($before);
}

とりあえずPOSTされたデータを表示させることから解決してみようと
>>555のmb_internal_encoding("UTF-8");を追加し、metaタグも入れてみましたが、
FirefoxではPOSTされたデータはちゃんと表示され、文字コードもUTF-8と出るのですが、
IEでは日本語を入力した場合、POSTされたデータは表示されない上、文字コードもSJISと出てしまいます。

ヘッダーもUTF-8にしてるはずなのでPOSTされたデータはUTF-8だと思ったのですが・・・
ヘッダーの設定方法がおかしいのでしょうか?
0558nobodyさん2010/06/19(土) 21:36:37ID:???
var_dump($_POST);
してIEとFirefoxで比べてみたらいい
0559nobodyさん2010/06/19(土) 22:46:46ID:9jWjEAKJ
$n = 123456; を32bitのバイナリとしてファイルへ書き出すには、
int2bin($n) のように変換するしかないですか? 既存関数のみで可能ですか。
fread, fwriteだとテキストで123456が出力されると思うのですが。


function int2bin($x){ return sprintf("%c%c%c%c", $x&255, ($x>>8)&255, ($x>>16)&255, ($x>>24)&255 ); }
function bin2int($s){ return ord ($s)+(ord ($s[1])<<8)+(ord ($s[2])<<16)+(ord ($s[3])<<24); }
0560nobodyさん2010/06/19(土) 23:01:00ID:???
intval
0561nobodyさん2010/06/20(日) 01:20:59ID:twag0hRe
forでaaa aab aac ...aaz aba abb abc ...zzy zzzというように3文字の文字列を表示するにはどうしたらいいでしょうか?
0562nobodyさん2010/06/20(日) 01:43:30ID:???
for ($a='aaa'; $a!='aaaa'; $a++) echo $a.' ';
0563nobodyさん2010/06/20(日) 01:55:32ID:???
>>562
すごい。そんな技できるんですね。
ありがとうございました。
0564nobodyさん2010/06/20(日) 01:59:37ID:qnX6bksX
ベーシック認証のページにログインしてHTMLを取得するには
どうすればいいでしょうか?
例えば、URL: http://example.com/basic.htmlと言うベーシック認証の
ページがありID:foo / Passwd:barの場合
$ary = file0("http://example.com/basic.html");じゃ取得できません。
どうすればいいのでしょうか?
0565nobodyさん2010/06/20(日) 02:06:30ID:???
>>557
ob_start("mb_output_handler");
消したら動いたけど。 ie8/fx3.6
0566nobodyさん2010/06/20(日) 02:09:23ID:???
>>559
pack
unpack
0567nobodyさん2010/06/20(日) 02:10:51ID:???
>>564
Basic認証がかかったページにアクセスする方法 - PHPプロ!Q&A掲示板
http://www.phppro.jp/qa/212
■ このスレッドは過去ログ倉庫に格納されています