【PHP】くだらねぇ質問はここに書き込みやがれpart7
■ このスレッドは過去ログ倉庫に格納されています
0001966
2005/07/12(火) 01:47:09ID:qOoYFCn7ここなら本スレで回答のないお前の下らない質問に回答があるかも知れません。
次スレは>>970あたりが建てて下さい
・過去スレ
【PHP】くだらねぇ質問はここに書き込みやがれ
http://pc5.2ch.net/test/read.cgi/php/1099322141/
【PHP】くだらねぇ質問はここに書き込みやがれpart2
http://pc5.2ch.net/test/read.cgi/php/1105218084/
【PHP】くだらねぇ質問はここに書き込みやがれpart3
http://pc5.2ch.net/test/read.cgi/php/1107780435/
【PHP】くだらねぇ質問はここに書き込みやがれpart4
http://pc8.2ch.net/test/read.cgi/php/1110697712/
【PHP】くだらねぇ質問はここに書き込みやがれpart5
http://pc8.2ch.net/test/read.cgi/php/1114787573/
【PHP】くだらねぇ質問はここに書き込みやがれpart6
http://pc8.2ch.net/test/read.cgi/php/1117945031/
立ってなかったんで>>970に近かった自分が勝手に立てちゃいました。
0338nobodyさん
2005/07/21(木) 08:22:30ID:???0339nobodyさん
2005/07/21(木) 09:45:00ID:???キャッシュの有効期限だ。
つまり、今現在の日付より前に設定すれば、
アクセスしてきたブラウザはキャッシュの有効期限とみなして
新しくページを読み込むという理論。
だから今より古い時間ならいつでもいいけど、
時間が止まってるパソコンのことも考えて(?)
10年くらい前にしておけば問題無い。
0341nobodyさん
2005/07/21(木) 11:40:24ID:???有効期限のことって解説に載ってなかったの?
俺はてっきり「1994年12月1日16時ちょうど」って時間に特別な意味があるのか聞いてるのと思ってた。
0342238
2005/07/21(木) 12:34:04ID:1d7jG9nE第一弾で作ったシステムは、DBの重要度・依存度はそんなに高くない
ASP(顧客ごとのオリジナルシステムじゃないですよ)なので。
項目数も更新頻度も少ないから一つのテーブルでまとめちゃっても
特に支障なかったんですよ。
でも今作ってるのはDBに入れるべき項目数もレコード数も多くなるので、
きちんとした設計にしようと思って質問しました。
で、もう半年くらい営業してるんで、顧客が数十社というのはむしろ少なすぎです。
開発と営業を一人でこなさなきゃならないのでどうしても時間が足りないんです。
だからそろそろ営業マンと技術者を一人ずつ雇います。
>>296
いちおう第三正規化まで(無意識的に)やってました。
正規化という概念があるのは後付けで知ったんですが。
0343nobodyさん
2005/07/21(木) 13:30:41ID:jGRVDiGIPHP.ini のどこを変更すればいいんですか?
0344nobodyさん
2005/07/21(木) 13:45:42ID:???プロフェッショナリズムの欠如したプロフェッショナル(自己矛盾だな…)
0345nobodyさん
2005/07/21(木) 14:34:01ID:pW+lONe3手を加えたのですが、これで良いのでしょうか。
qmailでメールのエイリアスを追加したのですが、
/var/qmail/alias/.qmail〜 というファイルに
&〜
というメールアドレスを追加したのですが、qmail
を再起動しなくてもメールのエイリアスの追加は
完了したのでしょうか。
qmailの再起動も知らない初心者なので、これだけ
で良いのかと心配しています。どなかか教えて下さ
ると非常に助かります。お願いいたします。
0346nobodyさん
2005/07/21(木) 15:00:50ID:???mysql_close()とmysq_free_result()は必要なのでしょうか?
入門本では特に「切断する」「開放する」以上の説明はないのですが、
PHPのマニュアルには
「mysql_closeは通常必要ない」「結果保持用メモリは自動的に開放される」
とあります。
プログラミング的には書くのがお行儀がいい、ということなのでしょうか?
それともやはり「どっちでもいい」のでしょうか?
0347nobodyさん
2005/07/21(木) 15:04:34ID:???PHPというよりqmailの質問だから↓の方がいいかも
qmailインストール @Linux板
http://pc8.2ch.net/test/read.cgi/linux/1004341147/
qmailいろいろ(7) @UNIX板
http://pc8.2ch.net/test/read.cgi/unix/1114157851/
0348nobodyさん
2005/07/21(木) 15:07:32ID:???再起動は不要。
エイリアス追加後、再起動せずにエイリアス宛にメールを
送信してみれば聞くまでもないことだと思うんだけど。
てか、そもそもスレ違い。
0349nobodyさん
2005/07/21(木) 15:24:55ID:???<input type="text" name="hoge" value="10">
<input type="text" name="hoge" value="20">
<input type="text" name="hoge" value="30">
</form>
をsubmitして
'hoge.php'で$cnt=count($_POST['hoge'])ってしたら
$cntは3になると期待したんですが1になっちまうんです
3にするにはどうすればよいんしょうか?
0350nobodyさん
2005/07/21(木) 15:27:23ID:pW+lONe3>348
345です。ありがとうございます。再起動せずに
エイリアス宛にメールを送信して見たら、出来ま
した。そのようなことも思いつかないなんてどう
かしてますね。(笑)
また、スレ違いでしたので、今後はqmailスレで
聞くようにします。
いずれししても、ありがとうございました!!
0351nobodyさん
2005/07/21(木) 15:35:11ID:uSqim16b$start=microtime();
//処理
$end=microtime();
echo $end-$start;
ってな感じでmicrotimeの計算をした時に近い数字同士だと
指数になったり結果がマイナスになったりするんですがなぜなんでしょうか?
0352nobodyさん
2005/07/21(木) 15:45:03ID:???一般的なプログラミングの作法としては、ちゃんとプログラム中で
閉じたり開放するのが正しい(と思ってるので、自分はしてる)。
但し、PHPの仕様としてスクリプト終了時にmysql_close()とmysql_free_result()
相当の動作が自動的に行われると明記されているので、"PHPプログラミング"の
作法としてはスクリプト中で記述しないというのは正しい。
またプログラム処理の結果を吐き出してから後始末を行うので、
結果を得られるタイミングも早く、すなわち処理が速く終わる。
もっともmysql_closeはMySQLコネクションというリソースを、
mysql_free_resultはMySQLからの結果を保持する記憶域を開放するためのものであるから、
スクリプトの動作時間が長く、それらのリソースを無駄に保持する負荷が
比較的大きいのであれば、適宜開放してやるのが良い。
0353nobodyさん
2005/07/21(木) 15:51:03ID:???俺の考えだけど、俺の場合はソースの頭でオープンさせて最後に開放させてる。
と言うのも、その都度開放するとサーバに負担がかかると思ったから。
何度も開けたり閉じたりするより、最初に開けちゃって最後に閉じた方がよいかと思って。
0355nobodyさん
2005/07/21(木) 16:00:24ID:???事象がわかりましたが、
対策が解りませんのでどなたか教えてください。
<form method='POST' action='hoge.php'>
<input type="text" name="hoge" value="10">
<input type="text" name="hoge" value="20">
<input type="text" name="hoge" value="30">
</form>
をsubmitしたのに配列で受け取れないのは
<input type=image>で送信されたものの場合で試しに
<input type=submit>にしてみたら配列がやってきました。
イメージを送信ボタンとして配列をPOSTしたいのですが
javascriptを使わずに出来ますでしょうか?
0356nobodyさん
2005/07/21(木) 16:00:52ID:???microtime() で何が返ってきてるか見てみなよ。
0358nobodyさん
2005/07/21(木) 16:07:04ID:???<input type=submit style="background-image:url('イメージ')">
じゃダメ?やってないから分からんけど。
0359nobodyさん
2005/07/21(木) 16:15:01ID:???>>357 http://honyaku.yahoo.co.jp/transtext
0362nobodyさん
2005/07/21(木) 19:25:40ID:NWEHg4fzさらに内容が私のメールに届くようにしてあるスクリプトを作成したのですが
これに加えて
自分で作成したメールアカウントにメールを送信したら
そのメール内容が掲示板に投稿されるようには出来ますでしょうか?
0363nobodyさん
2005/07/21(木) 19:44:29ID:???0364nobodyさん
2005/07/21(木) 20:57:07ID:???SMTPサーバーを操作できるのならエイリアスファイルから登録用スクリプトを呼び出せばいい。
sendmailならこんな感じで呼び出すけど、SMTPサーバーによって設定ファイル、設定内容は
異なるので自分で調べてくだされ。
myaccount: "| /path/to/php 登録用スクリプト名"
これで[email protected]にメールが届くと登録用スクリプトが呼び出される。
スクリプトでは標準入力からメールデータを取り出して掲示板に登録する。
もちろんこのスクリプトはオマイさんが書くんだよ。
SMTPサーバーが触れないのならPOPやIMAPを使うしかないかも。
0365nobodyさん
2005/07/21(木) 21:06:26ID:???大体この3つくらいが定番かと。
0366nobodyさん
2005/07/21(木) 21:09:11ID:???rh9 php4.3.11を使用しています。
pear Net_SMTPを使用し
[email protected]さんのメールアドレスが実在するかチェックする
スクリプトを作成しています。
Net_SMTPコンストラクタ作成時に 接続先サーバを指定するのですが、
[email protected](abc.co.jp)のSMTP鯖を調べる方法は
ありますでしょうか。
0367nobodyさん
2005/07/21(木) 21:21:09ID:???getmxrr()
んでも、MXが見つからん場合はAとかに送るんじゃなかったっけ?その辺りは実装しなきゃいけないかもね。
0368nobodyさん
2005/07/21(木) 21:27:16ID:hk8J7OA3<?php
$a = @$_POST["answer"]
if($a="ほげほげ"){
echo "正解";
}
else{
echo "不正解";
}
?>
上記のif文で、$aが"ほげほげ"を含む場合には正解を表示させるには
どのように記述したらいいのでしょうか?
$aが"ほげほげです"でも"ほげほげかな?"でも正解にしたいのです。
よろしくお願いします。
0369nobodyさん
2005/07/21(木) 21:32:24ID:???http://jp2.php.net/manual/ja/function.mb-strpos.php
0370nobodyさん
2005/07/21(木) 21:54:25ID:hk8J7OA3有難う御座います。
リンク先をみても3%くらいしか理解できませんでした。
if(mb_strpos($a,"ほげほげ"){
echo "正解";
}
false{
echo "不正解";
}
こんな感じでしょうか?なんか足りない気がします。
0372nobodyさん
2005/07/21(木) 22:08:34ID:???0373nobodyさん
2005/07/21(木) 22:38:23ID:???正規表現を理解できるとは思えないけど(バカにしているんではないよ)。
>なんか足りない気がします
ってどういう意味だろう。実行したけどエラーがでるのかな。
エラーがでるのならエラーメッセージぐらいは張って欲しいけど。
とりあえず)が一個足りないけどコピペミスなの?
if(mb_strpos($a,"ほげほげ"){
↓
if(mb_strpos($a,"ほげほげ")){
このままmb_strposが使えるまで頑張るか正規表現を勉強するかは
>>370次第。嫌がらせではないからキレないでね。
0374nobodyさん
2005/07/21(木) 22:56:27ID:???0375nobodyさん
2005/07/21(木) 23:07:04ID:???0376nobodyさん
2005/07/21(木) 23:10:38ID:???ってのが聞こえてきそうだ。
var_dump(mb_strpos($a,"ほげほげ"); とかして、どんな値が返ってくるのか実感して欲しいところだな。
誰も突っ込んでないけど、 if($a="ほげほげ") ってのもかなりイタイ
0377nobodyさん
2005/07/21(木) 23:44:29ID:OPf2mV1L�@九九表
�A2次方程式の解 ax2+bx+c=0
0378nobodyさん
2005/07/22(金) 00:09:21ID:???>>377
どこまでやったのか書いてみ。
2.の方は学年と性別、妹の有無の情報が無いと、出題者の意図が分からん。
0379nobodyさん
2005/07/22(金) 00:17:20ID:1VklDg1R0380nobodyさん
2005/07/22(金) 00:21:20ID:???せめて過程だけでも教えて下さい。
0382nobodyさん
2005/07/22(金) 01:29:04ID:???if(mb_strpos($a,"ほげほげ") === FALSE){
echo "不正解";
} else {
echo "正解";
}
文字エンコーディングの設定必要あるかもだけど。
0383nobodyさん
2005/07/22(金) 02:49:06ID:???アリエナスww
上記のライブラリを追加したらリコンパイル必要ですか?
apache再起動で済みますか?
あと、php-usersのMLをどなたかのサイトでアーカイブにしてnamazuに喰わせてあったのですが
うかつにもブックマークし忘れました、どなたかurlわかりますか?
0384383
2005/07/22(金) 03:01:06ID:???すいません、後半部分は自己解凍しました。
http://www.php.gr.jp/php/novice.php3
このスレのテンプレにも追加したいくらい便利っすね。
0385nobodyさん
2005/07/22(金) 06:59:06ID:7S1nHf8D具体的には
CREATE TABLE myAuth (
myUserColumn VARCHAR(50) NOT NULL
, myPasswordColumn VARCHAR(32) NOT NULL
);
ってテーブルを作って、
ttp://dozo.matrix.jp/pear/index.php?PEAR%2FAuth
ここいらを参考に(というかそのまま)
認証をかけてみたんですが、常に認証失敗になってしまいます。
Pear::Authのインスタンスをprint_rしてみたんですが
どこで失敗しているのかがわからず(ちなみにDB接続は成功しています)
解決の糸口がつかめません。
試しにlast_queryをそのままDBに入れると、ちゃんと帰ってくるんで
一体どこでつまづいているのかサッパリです。
同じような現象になった方、解決方法ありましたらよろしくお願いします。
0386nobodyさん
2005/07/22(金) 07:31:03ID:???基本的にhtmlコードや普通のテキストを呼び出したりするときは.incで統一してるんですが、
phpコードとかだったら.phpにするべきなのかな?
0388nobodyさん
2005/07/22(金) 08:19:11ID:???特に決まりはないから好きにしたらいい
俺はphpコードはphpにしてる。他の拡張子だとソースの内容が丸見えになるので
後はhtmlだったりtxtだったり
config.inc.phpなんてやってるのもある
0390nobodyさん
2005/07/22(金) 12:43:09ID:???ドキュメントルート以下にそんなファイル置く奴が悪いんだが。
.htaccessとかで.incを.php扱いにすることも出来るがそんな手間を考えるなら拡張子を統一するのがベスト。
0392nobodyさん
2005/07/22(金) 16:26:40ID:s5umLjZLPHPをWindowsで使う際、execを使って外部のexeやバッチファイルを
バックグラウンドで動かすことは無理なのでしょうか?
時間のかかる処理をexeやバッチファイルで実行しているのですが、
exeなどをファイルにリダイレクトしても、結局バックグラウンドでは
動作せず、ブラウザが読み込み中のまま待たされることになってしまいます...。
処理が終わったら戻ってくるんですが。
Linuxだとリダイレクトと「&」を使って簡単にできるのに...。
PHP 4.3.11+IIS(Apacheでも同じ)です。
ぜひご教示を!
0393nobodyさん
2005/07/22(金) 16:29:55ID:mNPTggfmSimpleXMLは名前の通り使いやすいと思うのですが
SimpleXMLよりも使い勝手がよいパーサというものは
あるでしょうか?
0394nobodyさん
2005/07/22(金) 16:34:59ID:mNPTggfm変数を使う前に宣言してから利用可能に
するということはかのうでしょうか?
クラス内のフィールド(メンバ変数)とは別に。
PHPは、変数名などのスペルミスをすると
どこにバグがあるのか気づかずに
苦労することがあります。デバッガにも気づいて
もらえません。
それをC++やJavaのコンパイラように、
あらかじめ変数を宣言してから
利用できるようにすればどこにまちがい
があるのかかなりわかりやすくなり、
スペルミスにもすぐに気づきやすいのですが。
これをC++やJavaのように楽にする方法はないでしょうか?
C++やJavaを使えと言われても仕事上、そうはいかないものでして.。
0395nobodyさん
2005/07/22(金) 17:06:33ID:???error_reporting (E_ALL);
これで未定義の変数に警告を出してくれる。
0396nobodyさん
2005/07/22(金) 18:57:44ID:???PHPは、コンパイルできませんか?
0398nobodyさん
2005/07/22(金) 19:06:37ID:???つ http://www.google.co.jp/search?hl=ja&q=php+コンパイル&btnG=Google+検索&lr=
0399nobodyさん
2005/07/22(金) 19:09:20ID:???ionCube PHP Encoderですか?
PHPスクリプトをコンパイルした場合
こういうのを、サーバーに入れないとだめなんですか?
0400nobodyさん
2005/07/22(金) 19:16:57ID:???そういった用途の有償・無償のプロダクトがある。
ソース配布前提ライセンスのライブラリ等を利用するときは留意せよ。
0401nobodyさん
2005/07/22(金) 19:19:17ID:???それで、そういうのを使って、
コンパイル後のファイルを配布を受けたものは、
普通にサーバーの入ってるパソコンに
置くと、ネットに乗せられるんでしょうか?
お願いします。
0402nobodyさん
2005/07/22(金) 19:31:40ID:???書いてる日本語が変。
ネットに乗せられる
→(解釈)アップロードしてWebサーバのコンテンツ配下に置ける(ネットに乗せられる)か
→Yes. 単なるバイナリーファイルだから。
0403nobodyさん
2005/07/22(金) 20:17:50ID:???IEなんかで見られるんですか?という意味です。
0404nobodyさん
2005/07/22(金) 21:13:13ID:???まずお前は日本語と一般教養の勉強をしたほうがいい。
コミュニケーションできないと開発も出来ない(たとえ一人で開発してるとしても)。
0405nobodyさん
2005/07/22(金) 21:26:24ID:???0406nobodyさん
2005/07/22(金) 21:39:15ID:???0407nobodyさん
2005/07/22(金) 21:56:40ID:???「見る(見られる)」ってのも、これまた抽象的な表現だな。
可能。特にWebサーバでそのファイルに
アクセス出来ないようにしていなければだけど。
0408nobodyさん
2005/07/22(金) 22:03:28ID:???・配布した物の中身を見られたくない
・配布した物を実行する鯖(実行環境)に手を加える必要が無い
そんな便利なものがあるのだろうか?って質問をしたいんだろうね。
というか、そういう質問になるはずなのにパスコンとかIEとか訳ワカンネ
0410nobodyさん
2005/07/22(金) 23:51:35ID:???ほっておけ。
それにしても最近のここは惨いな。夏休みだからか。
0411nobodyさん
2005/07/23(土) 00:08:59ID:???0412nobodyさん
2005/07/23(土) 00:17:58ID:???ある変数がNULLかどうか、0かどうか、空かどうかを皆さんどう判定してますか?
いま、ある配列に特定のキーがあるかどうかを
$hoge = array(10,20,30);
$val = 10;
$key = array_search($val,$hoge);
このようなスクリプトで$valが$hogeに見つからなかった場合の処理をしようと
if ($key == NULL) print "ぬるぽ";
と記述したところ、この場合、$hoge[0]に10があるわけですが、
$keyに「0」が入ってしまい、$key == NULLが真となってしまいました。
仕方ないので(strlen($key)==0)としているのですが、他にもっと直接的な判別方法があるのでしょうか?
($key===NULL)だと$valが見つからない場合でも常に偽になってしまうようです。
よろしくお願いします。
0413nobodyさん
2005/07/23(土) 00:25:16ID:???いいよ。糞みたいな奴のスレはぶった切っても
array_searchは見つからなかったときはNULLではなくFALSEを返すので
if ($key === FALSE) print "ぬるぽ";
とすればいい。
できればPHPのリファレンスマニュアルを熟読して欲しいな。
0414nobodyさん
2005/07/23(土) 00:26:45ID:???とりあえず、nullかどうかを判定するなら、is_null()を使うし、
関数の戻り値でfalseが返ってくる可能性があるなら
if($result === false)と型で判定するのが普通。
array_searchの戻り値がnullかどうかで判定しようとしてるけど、
PHP4.2.0以前のバージョンを使っているの?
ttp://jp.php.net/manual/ja/function.array-search.php
最近のバージョンならfalseが返ってくるから、
$key = array_search($val,$hoge);
if ($key === false) print "ぬるぽ";
とする必要がある。
0415412
2005/07/23(土) 00:29:24ID:???レスありがとうございます。
もちろんマニュアルは読んでNULLを返すって・・・アレ?
「注意:・・・NULLを返します」のところと勘違いしてたorz。
スレ汚し失礼しました。
ところでここの「警告」の記述にある
「・・・0や""といった値を返す可能性があります。」
というのは、0はともかく""ってどういう状況なのでしょうか?
連想配列でキーを空にできるということでしょうか?
0417nobodyさん
2005/07/23(土) 00:34:47ID:???以下だったら理解できる?
$hoge = array('', '10', '20', '30');
$val = '';
$key = array_search($val,$hoge);
0418412
2005/07/23(土) 00:37:22ID:???どうもありがとうございます。
ただの勘違いでした。
キーに空文字という状況がなかなか想像できないというか、
混乱しそうであまりやりたくない状況みたいですね。
0419nobodyさん
2005/07/23(土) 00:38:03ID:???PHPは型はないとか言われてるけど、実際はあるわけですよ。
で、falseとして評価される0や""を返しますって言ってるわけね。
どういう状況で0や""を返すのかは分からんが、
これらの値もfalseと評価されると書いてある。
でも、
「この関数の返り値を調べるには ===演算子を使用してください。」
と書かれてるので、ちゃんと === falseで比較すればいい。
論理値のマニュアルも参照のこと。
ttp://jp.php.net/manual/ja/language.types.boolean.php
0422nobodyさん
2005/07/23(土) 01:17:21ID:???ぐぐってみたらShiftJISのせいか・・・。
magic quotes gpcをoffにしたらとりあえずおさまったけど、
こんどは必要なところにaddslashesとかやらなきゃいけないのか・・・。
今まだ勉強中なのですが、早いとこEUCなどに切り替えるべきなのでしょうか?
今まで作ったソースとかMySQLのデータはまとめて変換できるのだろうか??
0423nobodyさん
2005/07/23(土) 01:24:11ID:???0424nobodyさん
2005/07/23(土) 01:44:11ID:???俺は、ソースはもちろんEUCだが、出力もPC向けの場合はEUCのまま。
だって、特に支障ないじゃん?
携帯向けの場合だけ、SJISに変換して出力してる。
まあ携帯でも最近の機種はEUCでも問題なく表示されるけどね。
0425nobodyさん
2005/07/23(土) 01:59:55ID:???index.phpのソースの頭で
-----------------------
<?
$path="c:\php\includes";
include "${path}\hoge.inc";
〜
?>
としているのですがこのエラーがでます。↓
main(c:\php\includes\hoge_init.inc):
failed to open stream: Permission denied in
C:\Inetpub\vhosts\webautomatic.info\httpdocs\index.php on line 2
ぐぐった所winにはパーミッションの概念がない、
という記載があったのですが実際にPermission deniedとなっています。
C:\Inetpub\vhosts\の他のドメインからは同じ
c:\php\includes\hoge_init.incがincludeできるのですが…。
winのパーミッションの変更方法、またはこのエラーから予想できる別の原因ありましたら教えて下さい。
0426nobodyさん
2005/07/23(土) 02:00:54ID:???いいんじゃないかと思った。
0427nobodyさん
2005/07/23(土) 09:23:53ID:???Windowsでもパーミッションの概念はあるんだけど。
エクスプローラからc:\php\includesのプロパティ→セキュリティを選択して
ユーザー "IUSR_コンピュータ名" に読み取り許可を追加してみれば?
あと
$path="c:\php\includes";
include "${path}\hoge.inc";
は
$path="c:\\php\\includes";
include "${path}\\hoge.inc";
でないとダメだと思う。
0428422
2005/07/23(土) 09:24:11ID:???超絶マンドクサいので全部EUCでやってみることにしよう。
�dクス。>>423,424
0430422
2005/07/23(土) 09:51:27ID:???あらゆる場面で文字コードをちゃんと設定しなければいけないわけですが、
・データベースにある生データの文字コード(EUCにしたほうがよさげ?)
・HTMLに出力する文字コード(ShiftJISかな?)
・フォームで受け取る文字コード(PHPにあわせるべき?)
・PHPファイル自体の文字コード(EUCに決まってるでしょ?))
以上4つに分けて意識しておけばよいのでしょうか?
たとえばEUCでHTMLを表示したとして、その中のテキストボックス等のフォームで入力される文字はやはりEUCになるのでしょうか?
それとも見る側のOSによって変わるのでしょうか?(Win&IEならShiftJISとか?)
また、データベースから抽出して表示する際に「機能」とかに「\」が付いてしまうのは、
・データベースからPHPで文字列を抽出した段階?
・PHPからHTMLを出力する段階?
どちらなのでしょうか?(後者だとなんとなく思っているのですが。)
ということは、とりあえずPHPファイルをエディタ等で全てEUCにするだけで解決するものなのか?
でもPHPファイルをEUCにしたら当然echo文の内容もEUCになるからHTMLもあわせてEUCにしないと化けるのか?
うぅ・・・わからん・・・。
0431nobodyさん
2005/07/23(土) 09:59:49ID:???数段になる物を作りたいのですが、2段目以降が1段目と同じ画像から
始ってしまいます。どこに手を加えればよいのでしょうか。ご教授ください。
$data[] = $_POST['t1'];
$data[] = $_POST['t2'];
$data[] = $_POST['t3'];
for($x=0; $x<3; $x++){
$w = 400/$data[$x];
$h = 300/$data[$x];
echo "<table><tr>";
for($a=0; $a<$data[$x]; $a++){
echo "<td><a href='img/$a.gif'>";
echo "<img src='img/$a.gif' width='$w' height='$h'>";
echo "</a></td>";
}
echo "</tr></table>";
}
0432nobodyさん
2005/07/23(土) 10:03:20ID:???とりあえず細かいことは気にせず、全てを「EUC」「改行はLF」で統一していけ。
そんで、場面に応じて必要があれば、別のエンコードを使っていく。
どの場面で変換の必要があるのか…が分からなければ、EUCのままで問題ない。
おそらく全部EUCにするのが、最も問題が起きにくいだろう。
0433nobodyさん
2005/07/23(土) 10:31:45ID:???問題を単純化すると、こうなる。
for($x=0; $x<3; $x++){
for($a=0; $a<$data[$x]; $a++){
// ここで、連続する数字を出す。
// 元のスクリプトだと$aなので、xのループの度に当然0に戻る。
}
}
どこまで数字を使ったかというカウンタをつければいいだけじゃないの?
0434422=430
2005/07/23(土) 12:30:27ID:???alter table tbl_hoge character set eucとかだとデータそのものは変換されないみたいだし。
しかたないからphpMyAdminでEUCに変換してCSV出力→インポートっていう手間なことをやったわけですが。
直接データを変換する方法があるのかな?
0435nobodyさん
2005/07/23(土) 12:50:52ID:???0436age
2005/07/23(土) 14:26:43ID:???何か改善案とかありますか?
ちなみに、「"a"」内に含まれる「"」は「""」みたいな感じでエスケープしています。
<?php
$fp = fopen("log.txt");
while ( !feof($fp) ){
$EndCount = 0;
$i = 1;
fseek($fp, $FilePointt,SEEK_SET);
while ($EndCount < 2){
$FilePointt = ftell($fp);
$tmp[$i] = fread($fp, 1);
if ( feof($fp) ){ break; }
if ( $tmp[$i] == "\n" || $tmp[$i] == "\r" || $tmp[$i] == "\r\n" ){ continue; }
if ( $tmp[$i] == "\"" ){
if($EndCount == 0){ $EndCount++; $i = 1; continue; }
$i = $i + 1;
$tmp[$i] = fread($fp, 1);
while ( ($tmp[$i] == "\n" || $tmp[$i] == "\r" || $tmp[$i] == "\r\n") ){$tmp[$i] = fread($fp, 1); }
if( ($tmp[$i] == "\"") && ($tmp[$i-1] == "\"")){ continue; }
else if ( $tmp[$i] != "\"" ){ $EndCount = $EndCount + 1; }
else{}
}
else{ $i = $i + 1; }
}
for($j = 1; $j < ($i - 1); $j++){ $tmp[0] = $tmp[0] . $tmp[$j]; }
$FilePointt++;
echo $tmp[0];
}
?>
■ このスレッドは過去ログ倉庫に格納されています