1 :
名無しさん@お腹いっぱい。 :
02/02/17 13:23 ID:N+9Uw5dE
3 :
名無しさん@お腹いっぱい。 :02/02/17 17:34 ID:o+p/bz/2
OOP関連の質問です。 以下みたいな方法は使えないんでしょうか? > Fatal error: Call to a member function on a non-object in Myclass.php on line 10 という様なエラーが出ます。 # もしかして根本的にOOPを理解してないのかも… require_once "DB.php"; class Myclass { var $dbh; function Myclass($dsn){ $this->dbh = DB::connect($dsn); if (DB::isError($this->dbh)) die (DB::errorMessage($this->dbh)); $sql = "SELECT * FROM hoge"; $res = $this->dbh->query($sql); // ここね } }
4 :
3 :02/02/17 18:11 ID:???
すみません、解決しました。 別の所で$this->dbhを上書きしてました(^^;
5 :
名無しさん@お腹いっぱい。 :02/02/18 15:59 ID:63Rz//cP
BBSとかでURLの自動判定してリンク張るのを実現したいです。 先日流出した逝っちゃんねるのperlソース見ると $text =~s|(https?://[-\w.!~*'();/?:@&=+$,%#]+)|<a href="$+" target=_blank>$+</a>|g; こんなん書いてあるっす。 これをphpで書こうとするとどうすればいいですか? 当方性器表現サパーリわかりません。
大きな本屋さんに行くと、「正規表現の達人」っていう本が売ってます。 これ、結構、お勧めだよ。
というか前スレあたりにそのまんまのソースがあったはず。 探して見れ。
8 :
名無しさん@お腹いっぱい。 :02/02/18 18:18 ID:63Rz//cP
>>6 さん、ありがとうございますありました!
お母さんと呼ばせてくださいっ
$reg = "(s?https?:\/\/[-_.!~*'()a-zA-Z0-9;\/?:\@&=+\$,%#]+)";
$text = eregi_replace("$reg","<a href=\"\\1\">\\1</a>",$text);
こーやって食わせるんですねー。尻ませんでした。
9 :
名無しさん@お腹いっぱい。 :02/02/18 18:59 ID:TaD7mEml
すいません。過去ログやサイトめぐりをしたのですが見つからなかったので 質問させてください。 php3(細かいバージョン問わず)できちんと動作するアップローダーのサンプルソースの あるサイトをどなたかご存知ないですか? 環境はWin端末からSolarisへのアップロードです。 よろしくお願いします。
10 :
_ ◆IVXmlxmI :02/02/19 12:38 ID:cA5jMcdr
>>8 あ、俺が書いた奴だ。
ちなみに、そのまま掲示板に使った場合
改行がない英文字の羅列を入れられると
折り返さずに延々といってしまうので
<BR>を適当なところに入れるようにするのが良いかも。
どうでもいいことだけど、shttpってあるんだね…。
>>8 の正規表現見て初めて知ったよ(;´Д`)
PHPのlintみたいなの無いですか? Parse error出されても、どこが間違ってるのかなかなか見付けられなくて。 その点Perlは、きちんと間違ってる所を同定してくれるから好いなぁ…
最近はキチガイでもMLが使えるようになったのか・・・
. AGEだ!AGE!!AGE!!  ̄ ̄ ̄ ̄ ̄∨ ̄ ̄ ̄ ̄ ̄ ∧ ∧ ∧ ゛ノl ./ /( ゚Д゚) // ゙ ./ /, _ __/// / / // .///゙゙ / /, (_//゙ / / .. // / / //,
17 :
名無しさん@お腹いっぱい。 :02/02/20 16:36 ID:oGzmr4xJ
前、ここの板に、2ch型掲示板のスクリプトが配布されてあるサイトがあったんですけど。 スレ名とかわからないので倉庫かどこかに保存されていたら。そのURLを教えてください。
>>14 たしかに、閉じ忘れとかはエラーが最後の行になってるな
19 :
14 :02/02/20 23:18 ID:???
>>18 場合によっては数十行戻ってやっと見付かったりして大変なんですよ…
今の所こまめにcvsでcommitして、parse errorがでたらdiff取って対処してます。
中途半端なソースをcommitするのは嫌ですけど、仕方ないです…
20 :
名無しさん@お腹いっぱい。 :02/02/21 00:37 ID:LR9iul81
超厨房質問で申し訳ないのですが PHPはHTMLファイル 内に記述するタイプのスクリプト言語 とのことですがPHPを利用しているページには拡張子が.htmlではなく.php なものがたくさんあるのですが何でですか?個人的には.html以外はなんか嫌 なんでなんで.phpがこんなにあるのかなーと疑問です。
.phtml ってのもたまに見るぜよ。
>>20 拡張子htmlの場合はphpは含まれてないよ〜
とapacheに伝えて、余計な処理をしてほしくないからかと。
それか、httpd.confに書き込まれるからかと。
俺は、拡張子omankoでもphpを動くようにしようと思ったが
20すぎてそんな事をするのは恥ずかしいので泣く泣く断念。
ま、httpd.confで.htmlのMINEタイプ書き換えれば.htmlでphpも動く。
シオリ タソ キタ━━━━━━━━━(゚∀゚)━━━━━━━━━!!!!
25 :
24 :02/02/21 02:57 ID:???
板違いキタ━━━━━━━━━(゚∀゚)━━━━━━━━━!!!! 逝ってくる・・・・
27 :
名無しさん@お腹いっぱい。 :02/02/21 17:18 ID:OU5uihE5
Zend Encoderって誰か使ってる? 日本語いけるの?
ってか、PHP4はZEND使ってるんじゃなかったっけ? 的外れというか、知ったかの可能性があるんで、だれかつっこんでくれ。
29 :
20 :02/02/21 21:44 ID:???
回答者の方々、サンクスです。 PHP使ってクイズゲームみたいの作ろうとぼんやりと思ってました
30 :
名無しさん@お腹いっぱい。 :02/02/21 23:49 ID:8hN7Kh2F
掲示板のログを1つのファイルに保存してます。 それで最新の記事をファイルの先頭に保存する際に ログを配列に読み込む ⇒ 新しい記事を保存する ⇒ 配列を保存する という処理をしています。 この場合ログが大きくなってくると、メモリの消費が大きくなってしまいます。 なんとか配列に読み込まずに記事を保存させたいのですが、 何かうまい方法はあるでしょうか?
31 :
27 :02/02/22 00:44 ID:???
>>30 追加ログの長さ分だけ既存ログをシフトさせとけば?
fread()/fwrite()で小分けにしてシフトさせりゃメモリ食わんと思うが。
>>30 >掲示板のログを1つのファイルに保存してます。
>それで最新の記事をファイルの先頭に保存する際に
末尾に追加して、うしろから読み出すっつーのじゃだめ?
新規ファイルを作って最新ログを書き込み ↓ 古いログから読み込んで追加 ↓ 古いログをunlink ↓ 新しいファイルをrename というのは無駄すぎ?
サイズが大きくなったら過去ログ逝きにしなさい。
36 :
厨房君 :02/02/22 15:55 ID:kXWUShxI
たぶんめっちゃ厨房的な恥ずかしい質問だと思うんですが、調べたけど分からないんでおせーてください ヘッダの前に <? $filename="test.txt"; if ( $submit ){ $backupfile=$filename.".bak"; if (copy($writefile,$backupfile)) {$fp = fopen($filename,"w"); if (flock($fp,2)){ fputs($fp,$contents); flock($fp,3); }else{ echo "erroe:file lock"; exit; } fclose($fp); }else{ echo "error backup"; exit; } といれたら Warning: Undefined variable: submit in c:\inetpub\wwwroot\aaa.php on line 2 とでてきます? なんででてくるんですか?
37 :
423 :02/02/22 16:00 ID:HkC8f5Xi
$submitはどこで定義されてるのよ。前のページで <input type="submit" name="hoge" value="ボタン押せ"> とかでボタン出してるんなら、$hogeでちぇっくしなくちゃ。
38 :
厨房君 :02/02/22 16:07 ID:kXWUShxI
ありがとうございますーーーー! なかなかむずかしいですね。PHPって。 初心者でもマスターしやすいっていうのにひかれて今日PHPを始めたんですが、なんかはやくも挫折してしまいそうです。。 てことで、どうもありがとうございました
>>36 それか
<input type="submit" name="submit" value="ボタンおまんこ">
40 :
厨房君 :02/02/22 16:10 ID:kXWUShxI
submit って、使っちゃ、駄目なんじゃないの? if ( $omanko ){ に変更して <input type="submit" name="omanko" value="ボタンおまんこ"> でサブミットしてあげれば
>>41 そういうことか、勘違いしてた。
いますぐ、ベランダから飛んでくる。
>>41 if( isset($omanko) )
にしないと、きちんと動作しないとおもはれ。
44 :
北の名無しサン@FreeBSD :02/02/22 20:23 ID:ca9PRzqo
>27 逝けるよ〜ん。でも高すぎ… しゃ〜ないから、毎月決済の方使ってる。
45 :
北の名無しサン@FreeBSD :02/02/22 20:24 ID:ca9PRzqo
ついでにZendStudioなんだけど、Javaで出来ているようで重い。 日本語の表示関係は昔より大分まともになりました。 が、おいらは使ってないです。 だって重すぎなんだも〜ん(涙
>>45 げ、WIN版X版とか関係なくJAVA?
だとしたら、悩むな・・・
サンプルをダウンロードしてくるか・・・
>45 Win版しかダウンロードしてないからわかんないです。 でも,多分Javaなんじゃないの? そうでないとJavaで作ってる意味が… とおもうんだけど。
48 :
ままーん :02/02/23 15:16 ID:Zox6ntCN
CSV形式にデータを保存したいので文字列中にダブルクォーテーション がある場合 "" に変換したくて以下のコードを試したのですが $report = ereg_replace ('"', '""', $report); "記事管理者画面" -> \""記事管理者画面\"" 上記のように\がくっついてしまいます。 どのように解決すればよろしいでしょうか? perlでいう $report =~ s/\"/\"\"/g; という処理をしたいのですが・・。
>>48 string stripslashes (string str)
これ出るの何回目だろうか・・・
50 :
phpな名無しさん :02/02/23 20:38 ID:uPzzZRLr
∧∧ /\ガチャ (,,*゚/ /|> ,◇ ノつ、/||◇γ (_,,う▲□□凸□  ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ∧ ∧ 〜♪ (*゚ー゚) 、ノ つC□ (_,,う▲□□凸□  ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ★★ 口◇口口☆ ■ age!! □ ☆口口◎口 ∧ ∧ 口 ▽ ▼ ◎ (*゚ー゚) ○ 口 / | ▼ ○ 〜(,_,,ノ
51 :
名無しさん@お腹いっぱい。 :02/02/25 00:08 ID:3vrmdlHX
今カウンタ(つーか、それに類似する機能が存在するプログラム)つくってんだけど、 現在のカウント数を保存するためのファイルcount.datだったとして、 1.count.datが存在しない場合は作成する 2.その他はカウンタとして当然の機能 を実現したいんだけど、どうすりゃスマートかなあ。 いまいちわかんなかったから、今は 1.fopenのa+で、ファイルが存在しないときは作成し、ファイルの内容を読み込む 2.a+で開いたファイルポインタを閉じ、unlinkでそのファイルを削除する 3.fopenのwでファイルを作成し、a+で読み込んだ内容をインクリメントしたものを 書き込む みたいな感じで実装してんだけど、もっとスマートな方法がありそだし。。。 それにしてもこの方法だせーな(汗
52 :
名無しさん@お腹いっぱい。 :02/02/25 00:31 ID:7MsnFSwt
>>51 単純にw+でfopenしちゃだめなの?
ファイルがなければ勝手に作ってくれるし、あれば中身を読み込んで
+1すればいいし。
53 :
51 :02/02/25 00:39 ID:3vrmdlHX
w+だと、うちの環境じゃ 開いたときにファイルの中身がなくなっちゃう(nullになる)んだよね。 つまり、何回カウンタ回しても1が保存されてる。 ふつうはw+でいけるもんなの?
54 :
51 :02/02/25 00:44 ID:3vrmdlHX
ちなみに環境は Win2000Pro、AN HTTPD、PHP4.1.1 localhostでのテスト中
55 :
名無しさん@お腹いっぱい。 :02/02/25 01:01 ID:+42bmYuS
>>53 追加書き込みで0をプリントしていけば、
そのファイルサイズ=カウント数ってテクもあります。
あと普通のカウンタは
$fp = fopen($COUNT_FILE, "r+");
$count = fgets($fp, 2048);
$count++;
fseek($fp, 0);
fputs($fp, $count);
fclose($fp);
って感じじゃない?
56 :
51 :02/02/25 01:11 ID:3vrmdlHX
>>55 あー、なるほどね。
それ結構いいね。そうしようかな。
ふつうのカウンタはそうだけど、
r+じゃファイル作ってくれないから困ってるんだって。
あと、fseekは要らない気もした(怪しいけど)
rってポインタ頭に置いてくれない?
57 :
名無しさん@お腹いっぱい。 :02/02/25 01:14 ID:+42bmYuS
>>56 fseekしなかったらカウンタにならないんじゃ
58 :
51 :02/02/25 01:18 ID:3vrmdlHX
>>57 ほんとだ。
r+、fseekなしでやってみたらすげーことになった。
勘違いスマソ
無いときは作ってから開くように
60 :
51 :02/02/25 21:59 ID:???
>>59 ……それがいい気がしてきた。
つーか、今の実装って禿しくやばいような(苦笑
1.aが数字を読み込んでファイルを削除
2.aが削除してる間にbがその処理に行く
3.aが書き込みようのファイル作成
4.bがファイルを読み込む
5.aが書き込む
6.bが書き込む
7.(゚д゚)マズー
61 :
名無しさん@お腹いっぱい。 :02/02/25 23:56 ID:80OsEAbU
$filename = "omanko.seq"; if (!file_exists($filename)) { touch($filename); } $fp = fopen($filename, 'r+'); if (!$fp) { die('fopen error'); } flock($fp, LOCK_EX); rewind($fp); $count = fgets($fp, 16); if (empty($count)) { $count = 0; } $count++; rewind($fp); fputs($fp, (string)$count); fclose($fp); でどうよ。
62 :
51 :02/02/26 00:10 ID:IIIHmPva
>>61 もらった。カウンタ機能はそれで実装決定。
touchなんて関数知らなかったのは秘密。
63 :
61 :02/02/26 00:21 ID:EFcQI2qb
>>62 もらったもクソもそれくらい書けないと正直マズイと思われ。
そのまま実装する前に何でそうなるのかマニュアル読みながら理解しとけと。
touch って、phpにも、あるんだね・・・・
それは、確かに、しらなかった..
>>61 自体は、もらうも何も、ま、ごく普通のカウンタ。
だいたい、カウンタなんて、今時、何につかうの?
どーせ、カウンタ使ってる位だから、どきゅそなホームページなんだろうね。
ま、カウンタ、できたら、URL公開してや。
おもいきり、カウンタ、あげてあげるから。藁
66 :
51 :02/02/26 14:31 ID:???
>>63 , 64
精進いたす所存にございます
>>65 別にサイトじゃないし(苦笑
ファイル名ユニークに生成するなら、
カウンタ機能が楽かなー、と思っただけだYO!
68 :
51 :02/02/26 15:20 ID:???
>>67 tempnamは知ってるけど、tempってのがやだ。
あと、.tmpって拡張子も。
これって拡張子変えられるの?
69 :
教えて君 :02/02/26 15:26 ID:???
uniqid() とか md5() じゃあかんのか? まぁそうやっていろいろ学んで行くんだろうから 試行錯誤も(・∀・)イイ!と思うけどね。
何って、ドキュソなプログラムを作ってるんだ… 何に使うの?誰が使うの? 勉強とか、宿題ならいいけど、はっきりいって、意味ないぞ。
煽りがキタ━━━━━━(゚∀゚)━━━━━━ !!!!! その上、日本語がおかしいおまけ付き。 ていうのは、どうでもいいとして PHPマニュアルのEUC-JP版ってどこかにないですか? 自分で変換するしかないかな。 UTF-8だとnamazuで検索できなくて。 森田検索、なんつったりして♪
キタ ━━━━━━(゚∀゚)━━━━━━ !!!!! ミナミ ━━━━━━(゚∀゚)━━━━━━ !!!!! ヒガシ━━━━━━(゚∀゚)━━━━━━ !!!!! ニシ ━━━━━━(゚∀゚)━━━━━━ !!!!!
73 :
名無しさん@お腹いっぱい。 :02/02/26 21:01 ID:Pp6lneKl
>72 微妙なずれの修正きぼんぬ。
━━━━━━(゚∀゚)━━━━━━ !!!!! ━━━━━━(゚∀゚)━━━━━━ !!!!! ━━━━━━(゚∀゚)━━━━━━ !!!!! ━━━━━━(゚∀゚)━━━━━━ !!!!! ━━━━━━(゚∀゚)━━━━━━ !!!!!
>74 そろいすぎるとキモイ 微妙なズレをきぼんぬ。
. キタ━━━(゚∀゚)━━━━┓ .┏━━━━(゚∀゚)━━━!!!!!! ┏━━━━( ゚∀)━━━━┛ .┗━━━━(∀゚ )━━━━┓ ┗━━━━( ゚)━━━━┓ .┏━━━━(゚ )━━━━┛ ┏━━━━( ,)━━━━┛ .┗━━━━(, )━━━━┓ ┗━━━━(゚ )━━━━┓ .┏━━━━( ゚)━━━━┛
. キタ━━━(゚∀゚)━━━━┓ .┏━━━━(゚∀゚)━━━!!!!!! ┏━━━━( ゚∀)━━━━┛ .┗━━━━(∀゚ )━━━━┓ ┗━━━━( ゚)━━━━┓ .┏━━━━(゚ )━━━━┛ ┏━━━━( ,)━━━━┛ .┗━━━━(, )━━━━┓ ┗━━━━(゚ )━━━━┓ .┏━━━━( ゚)━━━━┛ ┏━━━━(∀゚ )━━━━┛ .┗━━━━( ゚∀)━━━━┓ ┗━━━━(゚∀゚)━━━━━━━━━━━(゚∀゚)━━━━┛
80 :
名無しさん@お腹いっぱい。 :02/02/28 01:02 ID:fv7QtiV9
PHP4をインストールしたのですが php.exeを実行しても 必要なDLLファイルODBC32.DLLが見つかりませんでした。 とかいうエラーメッセージが出てきて勝手に終了してしまいます。 誰かこれの原因がわかる人いますか? 当方win98です。
>80 そのままODBC32.DLLがないんじゃないの?
82 :
名無しさん@お腹いっぱい。 :02/02/28 01:23 ID:F/W694nA
>>81 Windowsユーザーに、そんな高度な事、いっても、だめだよ〜
エラーメッセージなんて、読まないでコピペにしか、つかわないんだし…
こういうときの、回答は、OSの再インストールが必要です
って一言、いっておけばいいんだよね〜藁
そう言う貴方は何ユーザー? (笑
85 :
84 :02/02/28 01:34 ID:???
ちなみに、内容を詳しく読んだわけではないので自己責任でよろしく。
86 :
名無しさん@お腹いっぱい。 :02/02/28 01:41 ID:yurHYYfe
そういや、自分もWindows2kユーザだった。 とりあえず、MDACダウンロードして、インストールしてみな。 dllとして、登録されるでしょ。
87 :
80 :02/02/28 02:11 ID:FbR74De/
>>84 どうもありがとうございます
ウィンドウズを再インストールする前は
エラーがでずに実行できたので混乱してろくに調べもしませんでした
すいません
4.1.2キタ━━━(゚∀゚)━━━━━━━━━━━━━━━━━┓ ┏━━━━━━━( ゚)━━━━━━━━━━━━━━┓┃ ┃┏━━━━━━━━(゚ )━━━━━━━━━━━┓┃┃ ┃┃┏━━━━━━━━━━━━━━━━━━━┓.┃┃┃ ┃┃┃┏━━━━━━━━(゚∀゚)━━━━━━━━╋╋╋╋━━!!!!! ┃┃┃┗━━━━━━━━━━━━━━━━━━┛.┃┃┃ ┃┃┗━━━━━━━━━━━(∀゚ )━━━━━━━┛┃┃ ┃┗━━━━━━━━━━━━━━( ,)━━━━━━┛┃ ┗━━━━━━━━━━━━━━━━━( ゚∀)━━━━━┛
シオリタン モ キタ━━━━━━(゚(゚∀(゚∀゚(゚∀゚)゚∀゚)∀゚)゚)━━━━━━ !!
逝ってくる・・・・
例のファイルアップロード問題だけどさ。 これってファイルアップロードを公開してなければ別にいいんだよね?
92 :
教えて君 :02/02/28 14:10 ID:Sg2+650K
>>91 ダメらしいよ。
つーか、だれか 3.0.18-i18n-ja-2 用のパッチ作ってくれー
93 :
教えて君 :02/02/28 14:22 ID:Sg2+650K
>>92 つか、これでいいのか?
--- mime.c.orig Wed Nov 22 02:56:54 2000
+++ mime.c Thu Feb 28 14:16:11 2002
@@ -26,7 +26,7 @@
| Authors: Rasmus Lerdorf <
[email protected] > |
+----------------------------------------------------------------------+
*/
-/* $Id: mime.c,v 1.64 2000/10/17 01:30:59 sas Exp $ */
+/* $Id: mime.c,v 1.65 2002/02/21 18:49:47 sesser Exp $ */
#include <stdio.h>
#include "php.h"
#include "internal_functions.h"
@@ -113,7 +113,9 @@
SAFE_RETURN;
}
loc = memchr(ptr, '\n', rem);
+ rem -= loc - ptr;
name = strstr(ptr, " name=");
+ ptr = loc;
if (name && name < loc) {
name += 6;
s = memchr(name, '\"', loc - name);
@@ -172,6 +174,10 @@
sbuf=estrdup(abuf);
#endif /* PHP3_I18N */
} else {
+ if (abuf) {
+ efree(abuf);
+ abuf = NULL;
+ }
#ifdef PHP3_I18N
i18n_http_post_puts(namebuf);
i18n_http_post_puts("_name");
最新リリース(PHP 3-i18n): PHP 4.xに開発体制が以降したため、 PHP 3.0.xの国際化対応版の開発は、 (深刻なセキュリティホールの修整を除き、)終了しています。 以降。 あと、修整ってこういう時にも使うのか?
>>95 でてるよ。だけんども、
php_version.h の
#define PHP_VERSION "3.0.18"
#define PHP3_I18N_VERSION "i18n-ja-2"
ってversionケアレスミスな感じ。
97 :
名無しさん@お腹いっぱい。 :02/03/01 22:42 ID:n34+MBcQ
http://dokidoki.lantecweb.net/scripts/vote/dvote.html これなんだけど、Win Apache+PHP4.0.6で動かすと、ログに空白行がズラーっと書き込まれる。
分析してみたとこ、一回書き込まれる毎に空白行が一行ずつそれぞれのコメント行に付加されるみたい。
かと言って、行数をカウントしている変数を表示させたら、正規の行数になる。
どこで空白改行コードが書き込まれてるのだろう・・・・
エディタで読み込むと38万行で、空白改行だけ除去してログの部分だけにすると700行なんだよ〜。
>>97 全然見ないでカキコ。
\r\nと\rと\nの違いはどういう扱いになっているのだろう?
PHP3のころって、 i18n_ja_jp_hantozen() で、「”」が「"」になってくれたけど PHP4になって変わってくれなくなった。なんで?
100 :
名無しさん@お腹いっぱい。 :02/03/01 23:40 ID:5OIg3ecR
PHPでYahoo型サーチエンジン(日本語対応)公開しているところってあります?
101 :
名無しさん@お腹いっぱい。 :02/03/02 01:27 ID:l/A2rqb3
>98 それなんだけど、初期状態では\nとなってるんだが、\rとか\n\rとか\r\nって試したけど、 初めはちゃんと書き込まれるが、ログが飛んでしまう。原因不明で、どーにもならんです。 fputs($fp, $koumoku."<>".$no[1]."<>".$com."<>".$REMOTE_ADDR."<>".$date."<>\n"); となってるんだけど、これ、特に間違ってないんだよなぁ。 Win鯖+PHPだからか?
102 :
無料 :02/03/02 01:37 ID:voSOqZmi
○・. 。○.・ ☆フルーツメール会員☆只今急増中♪ .・ ○ ・ 。
┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓
☆★☆現金1000万円が当るチャンス!☆★☆
┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛
************************************************************
【その他キャンペーン】
人気ゲーム機プレゼントキャンペーン!
田中貴金属製 金ののべ板(純金)プレゼント!
☆☆☆ フィット(車)プレゼントキャンペーン! ☆☆☆
豪華賞品がもらえる!ビンゴゲーム!(毎週実施)
毎日豪華賞品が当る☆毎日懸賞☆
************************************************************
http://www.fruitmail.net/cgi/introduce_jump2.exe?517755
<?PHP $fp = fopen("a.log","r"); $contents = fread( $fp, filesize( "a.log" ) ); fclose($fp); $fp = fopen("a.log","w"); fwrite($fp, $contents+1); fclose($fp); ?> と、読み込むのに一度開いて、書き込むのにまた開いて・・・ってしてるんですが、 一度に出来ますでしょうか?
105 :
nobodyさん :02/03/02 09:35 ID:ldf38DFr
<?PHP $fp = fopen("a.log","r+"); $contents = fread( $fp, filesize( "a.log" ) ); fseek($fp, 0); fwrite($fp, $contents+1); fclose($fp); ?> で動く?
なんか駄目みたいです。 エラーも何も出ません。。 # apache for win32(1.3.22) + php4です
php4.1.1でした
108 :
:02/03/02 12:10 ID:???
すんまそん、ウェブデザインしてるんですが。 フリーのPHPを配布しているところってあるんでしょうか? 海外ほど日本は多くないんですか? なかなか思ったものがみつからず困ってます。 どこかいいとこあったら教えてください
110 :
nobodyさん :02/03/02 17:45 ID:ldf38DFr
111 :
nobodyさん :02/03/02 17:59 ID:xzfRHLYl
>>104 $contents+1 ってのが謎やな。
なにがしたいんだ?
112 :
nobodyさん :02/03/02 20:17 ID:pM8GMSO8
>>104 ++$contents
に変えてみな。
それから、このプログラムだったら、何も表示されなくて、当然だけど…
113 :
104 :02/03/02 22:00 ID:dw498nID
すいません。printを忘れてました・・・ ちなみにただのテストカウンターです。
114 :
名無しさんに接続中… :02/03/02 23:27 ID:7pVD+YgT
PHP出版(藁
例のセキュリティーホール、どういうコードで落ちるんすか?
118 :
nobodyさん :02/03/03 00:28 ID:1xLD0C1V
みなさん、データベースとPHPのテスト環境ってどこでやってますか?
120 :
nobodyさん :02/03/03 00:50 ID:T1JS/I3h
>>118 おれもローカルにレン鯖と同じ環境作ってる。
だったら自宅鯖でいいじゃんていう話もあるが・・・
121 :
118 :02/03/03 00:56 ID:1xLD0C1V
ごめんなさい、ローカルでどのような環境ですかって意味です。 LinuxいれてるとかWindows版でやってるとか。 出来ればスペックも教えてほしいです。
122 :
120 :02/03/03 01:33 ID:T1JS/I3h
>>121 んじゃ俺の環境
FreeBSD + Apache + PHP + MySQL
レン鯖のアカウントと同じID・PASSWORDでアカウント1個作ってる。
MySQL のアカウントも同じ。
Apache にはバーチャルドメインを設定して、
レン鯖と同じような感じでアクセスできるようにしてある。
違うのは、レン鯖は Linux ってところかな。
こんなんでいい?
123 :
119 :02/03/03 02:05 ID:???
>>121 んじゃ俺も。
サーバはハウジングを利用してる。
ローカルでも全く同じモノを用意して、ハードトラブル時の予備兼
実験・テスト機にしている。
環境はFreeBSD4.4 + Apache1.3.14 + PHP4.1.2 + MySQL3.23.39。
124 :
119 :02/03/03 02:06 ID:???
ってApacheは1.3.23だった。何を勘違いしたんだ>俺
>>110 海外でも構わないのですが、写真をあげとけばフォトアルバムになるようなものを探してます。
サムネイルを自動生成してくれて、それぞれのページに簡単なコメントと他画像へのリンクを貼りたい。
さらにimodeのページも生成してほしいです。
現在手作業で作っておりますが、PHPサーバを借りて移行したいとおもっております。
>125 それくらいだったら探すより自分で作ったほうが早くない?
>>126 いえ、それがプログラムの知識全く無いので、、、
お金払うから誰か作っていただけません?(笑
128 :
118 :02/03/03 18:01 ID:RuQ6RTRa
>>127 PhotoHighwayで作った方がええと思う
>>128 まさにあのスクリプトが欲しいんです(笑
やっぱ分かりました?
ただ仕事で使うので勝手に人のサーバに寄生するわけにはいかないので、、、、
130 :
nobodyさん :02/03/03 23:01 ID:XAnFyXJO
131 :
nobodyさん :02/03/03 23:13 ID:/1MIb/EV
副業20万萌え
133 :
nobodyさん :02/03/04 01:07 ID:Apf9QyOG
$person[0] = array("0005","いいつか"); $person[1] = array("0041","たなべ"); $person[2] = array("0036","いいむら"); $person[3] = array("0001","あらかわ"); $person[4] = array("2005","わたなべ"); $person[5] = array("1102","さとう"); これを、名前の順にソートさせたいのですが どうすれば良いのでしょうか? sort($person); reset($person); だと 番号順になってしまいますし……
世界は広いよ。みんなタダだもんな。
>>134 どうもありがとう、この辺をベースに知り合いに改造してもらいます。
iモード対応のスクリプトは海外にさすがにねえな
おい、HotWiredのウェブモンキーチュートリアルの フォトギャラリーをPHPで作るって奴、サンプルコードがデバッグしてない、 説明の記述がめちゃくちゃ。 これを読みながら誤字を修正しつつ打ち込んでも100パー動かない。 何のためにをチュートリアルを世間に晒しているんだ。 初心者にプログラミングを挫折させるためか!! 俺は今、激しく怒っている。
>>140 かねだして本くらい買え、ただのもんで文句言うな
買ってるって。 言いたいことは 「何のためにをチュートリアルを世間に晒しているんだ」ってことだよ。 著者もHotWiredスタッフも 一回読み返せばわかるめちゃくちゃな記述をノーチェックで 載せんなって。 あんなんだったらやらないほうがまし。 あんまりいい加減な仕事すんなって言いたいわけよ。 初心者潰しの効果ありまくりだろ。
144 :
138 :02/03/04 14:42 ID:???
>>139 アフォだよ。
前も誰かに同じ事言って、同じようなやり取りした事があったのを思い出した。
しかもその事実があった事すら忘れてた(w
この表記の仕方って全く使わんからすぐ忘れる…
>>143 すでに感性が腐ってるらしいな。南無
つかこの板の住人ってお前みたいなのばっか。
146 :
nobodyさん :02/03/05 01:29 ID:GzlcMgav
>>133 function cmp($a, $b) {
list($a_key, $a_name) = $a;
list($b_key, $b_name) = $b;
return strcmp($a_name, $b_name);
}
usort($person, 'cmp');
こんなんでどう?
配列に 'hoge' => 'ugu' を追加したいときにはどうすれば?
$配列['hoge'] = 'ugu';
>>145 お前みたいな煽りが偉そうに何言ってんだ(ワラ
>>150 ああ、そうか。感性が腐ってるんじゃなくて
心が最強に弱まった連中か。
152 :
_ :02/03/05 11:12 ID:???
煽りがキタ━━━━━━(゚∀゚)━━━━━━ !!!!! と報告してみるテスト
いや、あのページむかつくっていう賛同者探すならよそいけ、 あんなもんに踊らされて腹が立ったからって、ここで当たり散らすの止めい
>>153 おれはここでひろゆき以外の人間の意向に従うつもりはないが、
あんたの意見は意見として聞いとくよ。
>>154 単にエラそうな態度がむかつかれてるだけに気づかないバカハケーン
156 :
nobodyさん :02/03/05 20:09 ID:Nll019+f
┌────────────────────────┐ │ ( ̄ ̄) │ │ ) ( 糞 ス レ 認 定 証│ │ / 2ch \ │ │ | ∧∧ |/ ̄ ̄ ̄ ̄ ̄\ 認定番号第5314号 │ │ | ( ゚Д゚)< 糞だこりゃ! | │ │ \__/ \_____/ | │ │ │ このスレが、 2ch糞スレ審査委員会の定める認定 │ │ 基準(第5項) を満たしていることをここに証する。 │ │ │ │ 平成14年3月 2ch糞スレ審査委員会 | │ 理 事 長 ひろゆき@管直人 | └────────────────────────┘
>>155 どこの誰だかわかんない奴に
大した理由も無くむかつかれたからって
それが俺にとってなんなんだっつうの。
気安く指図すんなって。
(・∀・)マターリ!
>>157 ああそう?むかついたむかついた
おめえうざい、なんか知らないけど生理的にキモイ
ホムペに騙されただって?
どこの誰だかわかんねえ、お前に何言われたってつくってるやつ
何とも思わねえよ(藁
160 :
nobodyさん :02/03/05 20:56 ID:eqE53nyj
なんかくだらん言い合いしてる奴全員逝ってよし
>>159 予想どうりの反応が返ってきて嬉しいよ。
群れてないと生きられねえ弱っちい奴は自分の順位を
必要以上に気にすんだよな。
おれみたいの生理的にうけつけねえだろ?
お前ばっちしそのタイプだな。
犬見てえ。プ
どっちがどっちでもいい、うざすぎ、どっかよそいってやってくれ
PEARのIntegratedTemplateクラスって使ってる人いる? 見た感じ使いにくそうなのでテンプレートクラスを自作するか検討中
>165 何となく、仕事で使ってみた。 ループ処理とかに何となくバグもちな気がする・・・。 まあ、CVSから持ってきた最新版じゃなくて 普通に配布されてるやつだから何とも言えないけど。 後、最低一個は置換しないと駄目な気がする。
>166 サンクス 使い勝手はともかくバグですか・・・ しばらくは自作クラスで間に合わせた方がよさそうですね。
168 :
nobodyさん :02/03/06 02:05 ID:TsOKx1jP
169 :
nobodyさん :02/03/06 09:02 ID:T5j6rphN
win98(アパッチインストール済み)にphp4を入れようと思って、 php-4.1.1-Win32を落としてきました。 インストールの仕方を説明してあるサイトでは「php4ts.dllをC:\Windows\Systemに入れてください」 とあるんですが、落としてきたphp-4.1.1-Win32にはphp4ts.dllが見つかりません。 php4ts.dlってまた別に落としてこないとダメなんですか? それとも違ったインストール方法があるんですか? 知ってる方、お助けください。
>>169 俺がインストールした時はそんな作業必要なかったと思うんだけどなぁ
171 :
169 :02/03/06 09:24 ID:T5j6rphN
>>170 そうなんですか。
もうちょっとphp系のサイトで調べてみます。
172 :
nobodyさん :02/03/06 09:37 ID:tuJGrm7F
>>169 Winのフォルダ設定でdllを表示しない設定になってるとかない?
php4ts.dllは必要だよ。
173 :
166 ◆AngelBlk :02/03/06 09:59 ID:z7t2jvIE
>167
168さんも言ってるけど、IT割と使いやすいですよ。
一回使ってみるといいかも。
http://angelicwing.net/server/php/IntegratedTemplate.html 適当にpear.php.net見ながら会社の新人用に書いたドキュメント。
参考になれば。
//間違いあったら指摘よろしく(^^;
>168
自分が使ったときは何となくtouchBlockの挙動がおかしい気がした。
まあ、根本的に勘違いしてる可能性否定出来ないけど・・・。
あと、気になったのは最低一つはsetVariableしないと
何も表示されないことない?
Smarty、ちょっと試してみるっす。
174 :
169 :02/03/06 10:19 ID:T5j6rphN
>>172 そのとおりでした…
ありがとうございます。
175 :
nobodyさん :02/03/06 13:04 ID:2mUXrcp1
Smartyなかなかいいっすよ。 ただ、入り組んだtableを作るのが面倒というか、よくわからなくなるけど。
176 :
167 :02/03/06 23:41 ID:???
IntegratedTemplate使ってみました。 PHP4.0.6では何故かIT_Error.phpが無いらしくエラーを吐いたので PHP4.1.2に付属していたPEARを丸ごと上書きして解決しました。 今のところ問題は出てないが$_POSTや$_GETなんかの 旧バージョンでは使えない機能って使われてないことを祈る。 で、実際使ってみたら思ったより使い安かった。 <!-- BEGIN *** --> <!-- END *** --> っていうのがもうすこしスマートにならなかったのかと思うが 次はSmartyも試してみようかな
177 :
nobodyさん :02/03/06 23:50 ID:4IV0+NOU
つい最近PHPはじめたんですが、 PHPでXHTMLって表示できないんでしょうか? Parse error: parse error in (ファイル名) on line 1 とかエラーが出てくるんですけど。 xml宣言が悪いの?
>>177 short_open_tagがonになってるから
<?xml version="1.0" encoding=... ?>
がPHPと認識されてると思われ。
php.iniが弄れる環境ならoffに。弄れないなら.htaccessで
php_flag short_open_tag off
の一行を。
>>178 便乗ですが、.htaccessで PHP 自体を無効にする
書き方はないでしょうか?
特定のディレクトリだけ無効にしたくて。
php_flag engine off でいけそうな気が。
181 :
177 :02/03/07 16:45 ID:oKCl5bDx
>>178 ありがとうございます。解決しました。
しかも、よく見るとマニュアルにも書いてありました。すいません。
182 :
nobodyさん :02/03/08 00:50 ID:/gp9jaEC
普通に鯖においてあるcgiの中身は何とかして見れないもんですかね?
183 :
nobodyさん :02/03/08 00:57 ID:zfV74nWY
184 :
nobodyさん :02/03/08 02:20 ID:FFC0dBuR
breadcrumbs(パンくず)をPHPのソースを見ていて見つけたのですが、 プログラムでは、どういう意味で使う言葉なのでしょうか。
>>180 それでいけました。
ありがとうございました。
186 :
_ :02/03/08 06:15 ID:???
>>182 管理者がしょぼければ
同じサーバを使えば見れるかもしれない
でも、普通は無理
187 :
nobodyさん :02/03/08 13:34 ID:qpd6ZWSb
Basic認証を1000人単位で行いたいので、一件ずつ登録するわけには いかないのですが、UserIDとPassをcsv or tabで管理するので、 それを一括で登録するだけのcgiってありますか?
>>188 , 189
悪かったYo.
書き込むスレッド間違ったんだYo.気づいたけど、
反省して同じ質問すぐに別スレに書き込むの待ったんだよ。
>>187 DBにIDとpasswdをいれて、それを読むPHPがBasic認証やったらいいじゃん。
ツリー掲示板のアルゴリズム教えて(´Д`;) わからないよ〜、、
193 :
nobodyさん :02/03/09 14:24 ID:qlswu0DN
>>192 ユニークなキー(仮にID)で親、子記事を管理して、
子の書き込みがあった場合は親へのID属性を持たせる。
他のアルゴリズム見たことないから分からないけどこんな感じでは?
ただこれはDB側でBBSを管理する場合の想定であって、
ファイル(datやcsv)で管理する場合は若干変わってくるかも。
194 :
192 :02/03/09 14:30 ID:???
>>193 レスありがd!mysql使って組みたいんだけど
その属性の持たし方が頭の中で整理できないんですわ(TДT;)
良かったらサンプル組んで詳しく教えてもらえませんか?
お願いします。昨日から考えてるけどマジでわけわかんないわ
195 :
193 :02/03/09 14:45 ID:???
196 :
195 :02/03/09 14:53 ID:???
>>194 ちゅうか今から出かけるんで何か質問あったら夜に。
>>196 ありがとうございます111111111111111
勉強さしてもらいます、また質問するかもしれないですがよろしく111111
198 :
nobodyさん :02/03/09 16:36 ID:a/ptHYRQ
PHPをLinuxにCGIとしてインストールしたんですけど コマンドラインからは問題ないんですが Apacheの設定がいまいちわかりません AddType application/x-httpd-php .php をついかしても ソースのダウンロードとなってしまいます。 書き方教えてYO!
>>198 コマンドライン版としていれたのかな?
そうならScript内に
#!/usr/bin/php
かな?
ちがうなら、libphp(4||3).soをLoadModuleしやがれあんちくしょう
↑忘れてた、「200ゲト ズサー」
203 :
◆AngelBlk :02/03/09 17:18 ID:GxPRyCo5
>>198 httpd.conf か .htaccess の適当なところに
Action application/x-httpd-php /usr/local/bin/php
AddType application/x-httpd-php .php
205 :
198 :02/03/09 18:24 ID:a/ptHYRQ
一応その設定はやってみました which phpで /usr/local/bin/php はでてくるので設定は合ってると思ったんですが いざ*.phpや*.phtmlにアクセスすると404を返してきます。 あと一歩だと思うんですけど… ちなみにphpinfoはコマンドラインでは出せました。
206 :
198 :02/03/09 18:29 ID:a/ptHYRQ
Action application/x-httpd-php /usr/local/bin/php の行に#を付けると問題ない(ソースが見える)ので この行が怪しそうなんですけど 404になる理由がわかりません Apacheのログ見てもたいしたこと載ってないです。
>>206 ようは、CGI として PHP スクリプトを動作
させたいんだよね?
そうだったら
Action application/x-httpd-php ...
は不要だと思うYO!
問題なのは CGI の設定だから、例えば、
.cgi というファイル名にするとか、そ
ういう話でしょ。
> Apacheのログ見てもたいしたこと載ってないです。
最後の方だけでいいから、こぴぺしてみろYO!
208 :
204 :02/03/09 18:57 ID:???
スマソ。Action で指定するのはファイルシステム上の絶対パスじゃなかった。 php の実行バイナリをScriptAlias が効いているパスにコピーして、 Action application/x-httpd-php /cgi-bin/php でうまくいくと思う。
>>207 php スクリプトの拡張子を .cgi にして #!/usr/local/bin/php で書き出せば、
もちろん CGI として実行可能。だけど、Action と AddType を設定すれば、
そのような変更せずにモジュール組み込みのときど同じ感覚で実行することができる。
210 :
198 :02/03/09 19:45 ID:a/ptHYRQ
どもみなさんがた Alias /php-bin/ /usr/local/bin/ Action application/x-httpd-php /php-bin/php AddType application/x-httpd-php .php .phtml 追加したんですけど変わりませんでした。 最初に#!usr〜を追加して.cgiにリネームすると Security Alert! PHP CGI cannot be accessed directly. This PHP CGI binary was compiled with force-cgi-redirect enabled. This means that a page will only be served up if the REDIRECT_STATUS CGI variable is set. This variable is set, for example, by Apache's Action directive redirect. とエラー んでphpのバイナリを自分のhomeにもってきて そこを指定したところ問題ありませんでした…。 とりあえず 動きましたありがとうゴザイマス。
211 :
198 :02/03/09 19:51 ID:a/ptHYRQ
なんかsuEXECが悪さしていたみたいなんですけど そのファイルの所有を他のやつにするだけで エラーします(パーミッションは755) なんかいい解決方法ないでしょうか
212 :
198 :02/03/09 20:10 ID:a/ptHYRQ
理想的には元の場所(/usr/local/bin/php) に置いたままで 他のユーザからも使えるようにしたいのですが…。
213 :
nobodyさん :02/03/09 20:43 ID:qNOyVSl/
こんにちは、はじめまして。 Perl CGIで、最初に、タイトルを表示しておいて、時間がかかる処理の 間、待たせるってことできるでしょうか? まず表示はさせて起きたくて、 print "Content-type:text/html\n\n"; print <<HTM; <html><body> HTM sleep(5); # 処理にかかる時間 print <<HTM; </body></html> HTM としても無理なようです。 どなたかご教授ください。
214 :
nobodyさん :02/03/09 20:49 ID:iSgkJRfk
phpファイルって全部同じところに置かないとダメなのかなぁ・・ フォルダ分けするとダメなんですけど。
215 :
nobodyさん :02/03/09 20:55 ID:fjut0yPf
216 :
nobodyさん :02/03/09 21:06 ID:iSgkJRfk
アレってなんですか?
>>215 意味的には問題ないんだからいいじゃん。
UNIX系OSの扱いに長けた人間しか扱うなって話でもあるまいに。
>>216 気にするな。
218 :
nobodyさん :02/03/10 00:10 ID:Qu/4OYSw
>214 出来るよ。セーフモード OFFになってね? フォルダって言うのは初心者が使う言葉だからじゃない?
>>217 Windowsでもディレクトリはディレクトリだ。
dir c:\ /w
221 :
nobodyさん :02/03/10 00:26 ID:HGwBGXBU
ディレクトリと言えばいいんですね?すみませんでした セーフモードって・・?いや、ちょっと調べてくることにします・・・
"ディレクトリ"は、UNIX や MS-DOS。 Win や Mac では同様の概念を"フォルダ"と呼ぶ。 スレ違いスマソ。
>>222 Windows 3.1 ではディレクトリでしたがなにか?
これをPHPに書き換えるとすると、どうなるの? my ($key,$salt); if($FORM{'FROM'}=~/#(.+)/){ $key = $1; $salt = substr($key."H.", 1, 2); $salt =~ s/[^\.-z]/\./go; $salt =~ tr/:;<=>?@[\\]^_`/ABCDEFGabcdef/; $FLAG{'trip'} = substr(crypt($key, $salt),-8); }
なにやってるのかさっぱりわからん・・・・
トリップ生成やね。 簡単に移植できるよ。 っていうか、今やってた(笑 が、OSがFreeBSD3.4なせいか cryptでMD5かえってきてそこではまり。 どうしよう・・・。
228 :
198 :02/03/10 19:00 ID:ZkYuit9E
よければ教えてくださいな。 Suexecを導入しているので CGIモードでやるとphpにuserの実行権がないとエラーします。 別にPHPはユーザー権限で動かなくていいので 他のユーザからでも 実行できる方法を教えてください。
>>228 よく分からんけど、suexec 自体が不要という
こと?
230 :
228 :02/03/10 19:22 ID:ZkYuit9E
perlはsuexecで動かしたいんですが PHPはCGIとしてインストールすると suexecが邪魔をして実行できないので PHPを実行するときはsuexecを無効にできないかということです。
231 :
nobodyさん :02/03/10 19:53 ID:nYrVUmys
>230 うーん、ちょっと思いつかないなぁ・・・。 PHPをApacheのモジュールでいれるのは出来ないの? 実行速度とか考えても、そっちのが良いと思うのだけど。
>>224 なぜ2ch互換にこだわるの?
自分で適当に暗号関数を組み合わせればいいやん。
>>232 トリップ生成ツールが使えないからじゃないか?
>233 なんか本末転倒な雰囲気にワラタ。
235 :
227 :02/03/10 23:12 ID:???
>234 自分がMD5になって萎えていたのは、 まさにそれが理由だし(苦笑>生成ツール使えない 一応ソースのせておくと if (ereg("#",$name)){ ereg("#(.+)",$name,$array); $key = $array[1]; $salt = substr($key."H.", 1, 2); $salt = strtr($salt,":;<=>?@[\\]^_`","ABCDEFGabcdef"); $trip = substr(crypt($key, $salt),-8); print "◆".$trip; } こういう感じ? なんか忘れてるような・・・。
PHPで金取れるようなスクリプトってどんなのがありますか? ソース見て勉強したいんですけど。
237 :
:02/03/10 23:41 ID:???
ワロタ
239 :
nobodyさん :02/03/11 01:06 ID:hZmTDUb8
PHPを使って、CPUの使用率をファイルに 書き出したりとかって出来るのでしょうか? なにか方法があればお願いします。 使用サーバはPHP4.1.1 + Redhat 6.2 という構成になっています。
240 :
:02/03/11 01:10 ID:???
>>239 CPUを測るスクリプトというのは外部アプリでつくり、
それを呼び出して実行結果を保存すればいい。
PHP単体では無理っぴぃ
241 :
239 :02/03/11 01:37 ID:hZmTDUb8
>>240 やっぱPHPだけでは無理ですか。
ありがとうございましたです。
あ、PHP-MLおなじみの「書き換えるとどうなるの?」シリーズだ。 毎回、「マニュアル見ましょう」と突っ込まれてるし。
>>239 微妙なな。。。
SNMP関数使えばできんことないと思うけど
果たしてそれをPHP単体と呼ぶのかどうか。。。
244 :
227 :02/03/11 08:39 ID:???
>242 ひょっとして漏れはネタにマジレスしてしまったんでしょうか
245 :
nobodyさん :02/03/11 11:31 ID:tibj4QCu
PHP3で、 WEBページのフォームから、感想などの、 メールを自分あてに送れるようにしようと頑張っています。 で、だいたい出来ているのですが、 メールが4通重複して送られて来てしまうのです。 mailコマンドはこんな感じですが。 <?php mail("mail@address", "test", "This is test mail") ?> どっかでループ回ってるのかな?と思うんですけど、 ありがちな失敗があったらおしえてください。
247 :
245 :02/03/11 13:20 ID:???
こんな感じです。 <BODY BGCOLOR="#FFFFFF"> <? $str="姓:$sei\n名:$mei\nふりがな:$furigana\n\n郵便番号: $zip\n現住所:$address\n同電話:$tel\n同ファクシミリ: $fax\n\n勤務先:$kinmusaki\n役職:$yakushoku\n同郵便番号: $kinmuzip\n同住所:$kinmuaddress\n同電話:$kinmutel\n同ファクシミリ: $kinmufax\n\n学位称号:$gakui\n最終卒業校名: $school\n卒業(終了)年月日:$monthday1/$monthday2/$monthday3\n専門分野: $senmon\n\n"; if ($renraku=="kinmusaki") { $str2="連絡先:勤務先\n"; } else { $str2="連絡先:現住所\n"; } if ($shubetsu=="sei") { $str3="seikai\n"; } else{ $str3="huseikai\n"; } $str4="電子メールアドレス:$email\n生年月日:$birthday1/$birthday2/$birthday3\n紹介者:$shoukaisha\n連絡事項:$renrakujikou\n"; mail("user", "USER", "$str$str2$str3$str4", "From: mail@address"); ?> 送信しました。 </BODY> </HTML>
>>247 フォーム4連打してたとか、そういうオチはないよね?
249 :
245 :02/03/11 14:19 ID:tibj4QCu
もごとにそうでした。
>>249 もごとキタ━━━━━━(゚∀゚)━━━━━━ !!!!!
~~~~~~
原因分かって良かったですね。
251 :
228 :02/03/11 17:15 ID:vV9+nccN
結局DSOとしてインストールしました 問題なく動いています。 付き合ってくださった方々どうもありがと!!
print '変数1:'.$var.'だよ〜'; という風に、一回閉じてから書いてるのだが、こんな俺の書き方は変なのだろうか(;´Д`)
253 :
:02/03/11 18:32 ID:???
<? 〜 ?>で出たり入ったりするのを繰り返した方がいいのか それとも全体を<? 〜 ?>で括っちゃった方がいいのか 流儀もあるだろうけど、みんなはどう考える?
254 :
239 :02/03/11 19:41 ID:???
>>253 場合によると思う。
例えばtableをループでまわすとき、
ソース的に見やすいのは<? 〜 ?>とする方だろうけど、
エディタで開いたときに参照し難くなるからおすすめできない。
デザインを他の人に任せる場合なんかは特に。
255 :
239 :02/03/11 19:46 ID:???
>>252 print "変数1: $var だよ〜";
でいいだろ
これがめんどくさい define('MYSELF', $PHP_SELF); print '<A href="', MYSELF, '">戻る</A>'; 最近は eval() かな〜と思ってるんだが、 eval() ってどうよ?<?= ?> よりも重たい?
evalって多用するには汚染チェックとか気を使わない?
>>258 んにゃ、クラスの中に閉じ込めるつもりだから多分大丈夫かと。
逆にそゆことするとどんどん重くなる気もしてちと鬱。
260 :
nobodyさん :02/03/12 01:12 ID:HtOfM4j8
定数はめったに使わんなぁ
>259 現在、オブジェクト指向と格闘中・・・。 今までべた書きしかしたことなかったから 概念がうまくつかめず(苦笑 クラスとか使うなら、APCとかで高速化したほうが いいかも。 普通に使うと、かなり重くなっちゃうみたい。
262 :
221 :02/03/12 04:14 ID:or3FKG02
セーフモード理解不能・・・ ど素人はまずどこから学んだ方が良いでしょう?
264 :
221 :02/03/12 05:45 ID:or3FKG02
それわかるまで来るなってことですか・・・
>>264 ここより優しい解説ページはないからねぇ・・・
しょうがないと思うよ。
266 :
nobodyさん :02/03/12 07:56 ID:SZRWTyJ2
リストとクリックカウンタ数を表示させてるんですが、↓こんなの。 aaa[500] bbb[200] ccc[450] phpだけでクリック数順に自動的に並び替えるってできるでしょうか。 mysqlと組み合わせた方が簡単ですか?
>264 問題の切り分けしないと。 セーフモードの何がわからないの? >266 PHPだけでも出来ると思うけど、 SQL使った方がスマートだろうね・・・。
268 :
266 :02/03/12 14:53 ID:SZRWTyJ2
うーん、クリック数を別ファイルからincludeしてきてるんですけど、mysqlでうまく表示できないんですよ。 スレ違いですがどなたか教えていただければ。 while($row=mysql_fetch_array($result)){ echo $row["id"]," ", "<a href=\"./hoge/",$row["id"],".php","\">",$row["title"],"</a>"," "; include './hoge,$row["id"],'; print "<p>\n";}
>268 というか、MySQLってどういうものかわかってる?(汗 なんか激しく勘違いしてる予感・・・。
271 :
nobodyさん :02/03/13 01:58 ID:IXx7qadd
MySQLにはAUTO_INCREMENTなんてのがあるのかぁ。
つーか Zend Engine 2ってどーよ? 誰か使ってる?
273 :
266 :02/03/13 09:59 ID:WmCmDYl5
>>270 あああああれー?
一生懸命考えたんですが全然違ってます?(;´Д`)
275 :
266 :02/03/13 12:42 ID:???
276 :
教えて君 :02/03/13 17:44 ID:wVBmS6c2
とある配列をとあるクラスのメンバにしたいとき、 コピーじゃなくてポインタ渡し(?)みたいにする方法ってないかな? $array = array(...); $this->array = $array; ってやると $this->array は $array のコピーになっちゃうよね? C で言う、 array = calloc(...); ptr->array = array; みたいなことをしたいんだけど。。。 何でかって言うとちょっとでかめの配列なので 何となくメモリ節約したくて。。。
誰かが話題に出してたSmarty使ってみてるんだけど、ちょっと質問。 セキュリティを有効にしてsecurity_settings等の設定をしてると、 Warning: Undefined offset: Smarty_Compiler.class.php on line 857 がたくさん出る事ないですか?エラー表示レベルはE_ALLで。
279 :
nobodyさん :02/03/13 18:52 ID:d35MZnFu
>>276 $this->array = &$array;
とか出来ない?
>273 「ファイル操作」と「DB操作」は別だよ〜。 どうもファイルとDBを混同してるような気が(^^; >278 前、一回英語版を仕様してみたけど、どうもいまいち。 どうもクライアントがJAVAで書かれてるソフトは 好きになれない・・・。 ただ、関数とかの補完とか使いやすい機能も多いと思う。 本格的に開発やってるなら買っても良いかも。 //でも、45000円(だったよね)はちょっと高いよなー。 //クライアントだけで売ってくれないものか・・・。
282 :
266 :02/03/13 23:53 ID:???
>>280 めっちゃ混同してました(;´Д`)
他のやり方考えてみます。。
283 :
nobodyさん :02/03/14 02:19 ID:80hRLeB+
トランザクション中にコミットせずにプログラム終了させてんだけどこれってヤバイ?
284 :
nobodyさん :02/03/14 02:21 ID:80hRLeB+
あ、DBはPostgresで。 教えて君でスマソ
データベースの勉強したら?
286 :
283 :02/03/14 09:31 ID:n8zcTGGh
コミットせずに終了させてるのはエラーが出たときだけでした。 通常はコミットしてます。スマソ。 ようするにエラーでたときにコミットせずに exit してるって事です。
287 :
:02/03/14 09:46 ID:???
データベースの勉強したら?
288 :
nobodyさん :02/03/14 14:37 ID:7AlJ59cB
rollbackしたら?
289 :
283 :02/03/14 16:53 ID:n8zcTGGh
>>288 実際にはデータチェック → データ登録の
データチェックの部分でエラー出してるんで
ロールバック必要ないかな?と思ったりしてるんですが、やっぱり必要ですか?
290 :
nobodyさん :02/03/14 16:55 ID:5LxluOYT
291 :
ななし :02/03/14 18:15 ID:???
>>289 やはり「データベースの勉強」は必要かも。
何のためにトランザクション使っているのか分かってないでしょ。
仮に今のそのシステムでトランザクションなしにして、不都合ある?
293 :
283 :02/03/14 18:43 ID:n8zcTGGh
例えばさ トランザクション開始 ↓ フラグチェック ↓ データ更新 ↓ トランザクションコミット って、やる所を トランザクション開始 ↓ フラグチェック ↓ エラー ↓ exit って、なんだけどコミット(ロールバック)は要るか?って事で insert 文や update 文は発行してないから無くてもイイかな?って思うんだけどやっぱダメ?
294 :
283 :02/03/14 18:47 ID:n8zcTGGh
>>292 データチェックって入力されたデータのチェックでなくて
DBに格納されてるデータのチェックね。フラグとか
そろそろみんなの言うこと聞きなよ。 みんな出直してこい、ってんじゃん。
296 :
:02/03/14 23:42 ID:???
>>283 なんでそんなことで悩んでるんだ?
他にもっと重要なことがあるだろ。
不安ならrollbackすればいいだろ。
自分で考えられないなら、向いてないから辞めちまえ。
297 :
nobodyさん :02/03/15 04:28 ID:sSRdthig
phpファイル内でSSIを動かす方法ってありますか?
298 :
:02/03/15 04:52 ID:???
php4.1.0使ってるんですが、 例えばクエリー文字列を取得する場合に $QUERY_STRINGだけではダメなんですか? $_SERVER["QUERY_STRING"]とすると大丈夫ですが。 マニュアルの注意書きにある、コマンドラインからでないと使えない変数ってやつ??
300 :
教えて君 :02/03/15 11:22 ID:jXzuFDrg
PDF扱うことになったんですけど、 ClipPDF と libpdf ってどちらがオススメですか? OS は FreeBSD4,5R、PHP は 4.1.2 です。
301 :
nobodyさん :02/03/15 16:50 ID:zj9b84BU
PHPに文字を何倍かにする演算子ってありますか? Perlだったら $stars = '☆' x 4; ってやれば"☆☆☆☆"って出来たのですが PHPだとうまくいきません。
302 :
:02/03/15 18:39 ID:???
PHPで無限ループを走らせてしまった場合の回避法ってありますか?
305 :
ほげ :02/03/15 19:01 ID:mEJywi54
>>303 print "<!-- 誰か止めて -->";
307 :
:02/03/15 19:10 ID:???
>>303 制限時間を10秒にしろ。 ターイム・ショック!
310 :
239 :02/03/15 20:31 ID:???
>>301 for ($i = 1; $i < 4; $i++) {
$starts .= $start;
}
>>301 $stars = str_repeat("☆", 4);
313 :
nobodyさん :02/03/16 00:38 ID:bJHnWes8
>>299 php.iniで、register_globals=Onにすれば従来どおり。
314 :
nobodyさん :02/03/16 01:51 ID:d8wgePDM
XBM ひみこーどがそうだっけ?
316 :
nobodyさん :02/03/16 03:35 ID:rfiYtYN+
質問です。 以下のファイルがあったとします。 <!-- test.php --> <img src="./log.cgi?ref=<?php echo getenv("HTTP_REFERER"); ?>"> これの実行結果を変数に入れようと $bar = include("test.inc"); echo $bar; とやってもうまくいきませんでした。 fread 関数では処理されずにソースコードがそのまま入れられてしまいました。 方法があれば教えてください。
317 :
へなちょこ :02/03/16 06:14 ID:ZL3U7hey
サーバにPHPファイルをアップして(IE以外のブラウザで)表示すると、 ソースが丸見えになってしまいました。 他のサイトのPHPファイルは正常に表示されるのですけど、 自分のサイトのPHPファイルを見るとソース丸見えという状態です。 ちなみにローカルだとどのブラウザでも表示されるんです。 これはどういったことが原因なのでしょうか?
318 :
317 :02/03/16 06:44 ID:???
すんません、サーバでPHPが動いてないだけですね。
319 :
◆AngelBlk :02/03/16 10:03 ID:QdJopNnK
register_globals、どうしてる? offがいいのはわかってるし、利用者が自分だけならいいんだけど サーバ利用者にその辺のサイトで配ってるスクリプトを 使いたいっていう人がいるとちょっと問題。 まあ、簡単な書き換え方法もあるけど・・・うーん。
当然Off
そのスクリプトがどれくらい信用できるものなのかにも よると思うけど、offってた方が絶対いいよ
>320-321 回答ども〜。 safe_modeも当然offですよね。
>>322 どういう事してるのか知らないけど、
共有レンタル鯖とか運営してるならonにすれ
>>322 safe_modeはonに決まってるだろ
325 :
nobodyさん :02/03/16 23:56 ID:w4jnixRu
すみません、 mbereg_replace の e オプションはどういう風に使うのでしょうか? 実は、ある文字に囲まれた文字列がデータベース上に 存在しているかをチェックしてから、その文字列を置換 したいのですが、mbereg_replace の説明を見ると、 「eを指定した場合、置換文字列をPHPの式として評価します」と 記載されているので、これが使えないか、と考えてるのですが このオプションを使ったサンプルが見つからなくて・・・ どなたかお願いします。
326 :
nobodyさん :02/03/17 02:26 ID:QsNQTCic
$hoge = 'ほげほげ'; $string = 'あいうえおかきくけこさしすせとたちつてと'; $replaced = mbereg_replace('おかき', '$hoge', $string, 'e'); こんなんでどう?
329 :
325 :02/03/17 04:00 ID:???
>>326 ありがとうございます。なるほど・・・。
$hogeの代わりに\1を引数に関数を呼んで、置換文字を
返すようにしたら、望み通りの動きをしてくれました。
さんくすです。
330 :
nobodyさん :02/03/17 21:17 ID:cMXiknvM
timeoutについて教えてください。 スクリプト中でタイムアウト設定を set_time_limit(0); ignore_user_abort(1); とやってますが、長い処理をやらせると300秒で中断してしまいます。 apacheの httpd.conf 内で Timeout を増やせばその分長くなることがわかりました。 しかし .htaccess にTimeoutディレクティブは書けず(エラーになりました)、 「ここだけtimeout増やしたい(or timeoutさせたくない)」というのをどうやって 実現するのかがわかりません。 使用しているのはPHP4.1.2+apache1.3.22です。 どなたか助言を・・・
331 :
nobodyさん :02/03/17 23:23 ID:RVb4+mVn
いきなり漠然とした質問なのですが、 あらかじめ用意したpdfファイルを二つ以上結合し、 ひとつのpdfファイルとして出力することは可能ですか? 可能であれば是非教えてください。
332 :
:02/03/17 23:29 ID:???
>>331 可能だけど、A+B=A になっちゃうな。それでもいい?
333 :
nobodyさん :02/03/17 23:35 ID:RVb4+mVn
>>332 A+B=A
っということは、結合後のPDFファイルを表示したときの内容は変化しないということですか?
表示時にAもBも両方表示させたい場合はダメでしょうか?
334 :
nobodyさん :02/03/18 01:28 ID:eemTiEMO
ユーザー数の多い(目標値ですが)コンテンツを作成しています。 そのため軽いCGIを作らなければいけないのですが、 PHPはかなり軽いと聞きました。 たとえばCで書いたCGIと比べてどうなのでしょう? 現在は、CGIはPerlで書いたことがあるくらいです。
335 :
nobodyさん :02/03/18 01:53 ID:FbIeGRWP
PHPといえども、スクリプト言語である以上Cで書かれた CGIに勝つのはなかなか難しいでしょう。 CGIのプロセスforkのオーバーヘッドはFastCGIなどで 改善できますので、ぎりぎりまでチューンしなければ ならないのならば、Cで書いたほうが無難です。 本当にそこまでのチューンが必要なのかどうかが実は 大事なところですが、書き易さやデバッグ・テスト・ メンテナンスのし易さなどに重きを置くなら、PHPは 良い選択肢の一つになるでしょう。
>>335 良いこと言った。俺もそう思う。
CでCGI書いた事ないけど(=゚ω゚)ノ
>>335 FastCGIなどが使えない環境では、
CでCGIよりPHPのほうが軽いということですか?
軽いCGIを書きたいのなら、機械語でWWWサーバのモジュールを作った ほうがよいのでは?
340 :
:02/03/18 14:11 ID:???
>>338 機械語っていう表現がネタっぽいけど、真実はそのとおり。
だけどメンテするのはだれだ?
俺はいやだ。 保守性と速度のトレードオフじゃん?
341 :
nobodyさん :02/03/18 14:20 ID:9HrxD1ng
mod_perlとPHPのそれぞれの短所と長所は何? CPANの膨大なライブラリを利用できる分 mod_perlの方が良さげに思える。
>341 わたしの知るかぎり、 mod_perl の長所は、8バイト PHP の短所は、3バイト
>>343 どーでもいいことだが
そのphp鯖ではGDがインストールされてるかね?
使えなかったらIMG呼び出しのカウンタは使えんぞい。
345 :
337 :02/03/18 15:37 ID:???
>>339 結局どうなんですか?
共用サーバーでできる方法限定で教えてください。
CGI起動にかかる負荷はどれくらいなんですか?
PHPとCのCGIで比較した場合。
346 :
nobodyさん :02/03/18 15:59 ID:Q2ChloQC
現在webメールシステムを作成しているのですが、国際化されていない phpで添付ファイルをMINEエンコードするにはどのようにしたらいいのでしょうか? 検索をかけてみたところ、国際化されているphpが前提、のような サイトばかりでてきてしまいました。 また、添付ファイルを扱うようなクラスや関数などありましたら 紹介していただけないでしょうか。 よろしくお願いいたします。
>344 管理者に聞いてみたけど、使えるって。 >343に書いたcgiカウンタのphp版、知ってませんか?
348 :
334 :02/03/18 17:26 ID:eemTiEMO
>>335 ありがとうございました。
決して開発時間に余裕があるわけではないので、
PHPで行こうと思います。
それで問題が出たら、負荷の軽い方法で順次リプレースしていけば
いいわけですしね。
あ〜、PEARが気持ちいい。
350 :
nobodyさん :02/03/18 19:17 ID:9HrxD1ng
うーん。実行速度はAPC使って 中間コードをメモリに置けばかなりいけるような・・・。 うちだとcore吐いてapacheおちちゃうけど(苦笑 現在、PEARを色々使ってみよう週間中。 PEAR-Authうまくいかない・・・。 サンプルが少ないのはきついよ。
$hoge = $obj->method(); $result = $hoge->var; $hogeにはオブジェクトが返されるんですが、これを一行で $result = $obj->method()->var みたいな感じには書けないですか?
>>351 Auth
マニュアルのサンプルでちゃんと動いたよ?
Authちゃんと入ってる?
>>352 $result = ($obj->method())->var
だめかな?
だめっぽいな、妄想でかいてみた。
>353 じゃあ自分何か決定的な勘違いしてるのかな・・・。 PHP4.1.2/register_globals=offの状態、 /usr/local/lib/php/Auth/Auth.phpに入れていて DB「hoge」に「master_auth」テーブルを作り そこに「id」と「pass」という項目に アカウントとcryptでMD5かけたパスいれて require_once ('Auth/Auth.php'); function loginFunction($username, $status){ (サンプル通り。省略) } $dsn = "mysql://mysqlのid:mysqlのpass@localhost/hoge"; $auth_params = array( "dsn" => "$dsn", "table" => "master_auth", "usernamecol" => "id", "passwordcol" => "pass" ); $a = new Auth("DB",$auth_params, "loginFunction"); $a->start(); if ($a->getAuth()){ echo "認証に成功したよー"; }else{ echo "失敗してるよ〜"; } こんな感じ。 mysqlの接続はうまくいって、フォームは出るんだけど 認証に成功しない。 間違いあったら指摘よろしくっす。
フォームのnameはあってる?
フォームに入力されたパスワードって自分でmd5しなきゃいけないとか。
>356 自分で色々やっても出来ないから質問してるだけですよ。 >357 echo "<input type=\"text\" name=\"username\">"; echo "<input type=\"password\" name=\"password\">" って感じにサンプルそのまま。 (というか、username/passwordしか駄目なんですよね?) >358 一応、生のパスワードをDBに入れて試してみたんだけど うまくいかず・・・。 とりあえず、時間ある時にやってみます>自分でmd5 //って、MD5で入れて自分でMD5にするのが正解なのかな・・・。 //ソースのコメントみたら // 'passwordcol' => $column_with_md5_pw //って書いてあったし。 //というか、これ認証自体はどこでしてるものなんだろう・・・。
条件にマッチするデータのみ'表示させない'スクリプトはどう書けばいいのですか?
>>360 ごめんなさい、わかりました。
<>の演算子を使えばいいのですね。目から鱗です。
>>360 条件にマッチしたもののリストをまず配列に作り、次に全件に対してwhileかforeachでループを行い、
その条件に当てはまったらnext;、当てはまらなかったらprint
>357-358 Auth.phpのソースコードみてようやく解決。 パスワードの生成方法間違えてました。 返答、どもでした〜。
364 :
nobodyさん :02/03/20 02:17 ID:0gbAx4e0
PEARのソースはきれいだよなー、ものによるけど。 読むだけで勉強になるぜー。
>>346 PEARにMail_mimeちゅ−クラスがあるけど、これでいけるんじゃん?
PEARって何回聞いても違和感がある。
367 :
nobodyさん :02/03/20 03:21 ID:WjKXVqhv
($userip, $user, $accessdate, $request, $answer, $sendbyte, $referer, $browser) = /(.*?)\s-(.*?)-\s\[(.*?)\]\s\"(.*?)\"\s(\d+?)\s(.*?)\s\"(.*?)\"\s\"(.*?)\"/; perlで書くと上のようになるスクリプトをPHPで書きたいのですがどのように書けばよいのでしょうか?
誰か「Perlで書くと〜〜」スレ立てて
369 :
nobodyさん :02/03/20 03:54 ID:vOH6bAl6
>>368 反対も欲しいよ。
Perlで書いて「PHPで書くと・・・」
うまい感じのスレにして下さい
Subject:【PHP2Perl/Perl2PHP】スクリプト移植スレッド ------------------------------------------------------ 「Perlではこう書くんだけど、PHPではどう書くの?」 とか、逆に 「PHPではこう書くんだけど、Perlではどう書くの?」 ってな質問用スレッドです。 質問はスクリプトの丸投げをせずに、必要最小限のみでしてください。 ------------------------------------------------------ ってな感じ?
371 :
nobodyさん :02/03/20 04:11 ID:vOH6bAl6
うん。 スクリプトの丸投げかぁ。それされると萎えるよね、確かに。
PHPでdbm使ってる人います?
373 :
nobodyさん :02/03/20 17:59 ID:hVtSV1Su
最近PHPを勉強し始めた者なんですが ここで聞くほどでもないような初歩的な質問はどこにすればいいのでしょうか?
374 :
:02/03/20 18:16 ID:???
>>373 本やWebで調べればいいと思うよ。 何事も勉強。
それで判らなかったら、ここで聞けばいいし。
375 :
nobodyさん :02/03/20 18:54 ID:GUsWp33X
PHP+MySQLで掲示板を作りたいのですが、 レスがついたら上がるようにするにはどんな動作をさせればよいでしょう?
>>375 order by lastwrite
とかじゃ駄目なん?
377 :
die :02/03/21 00:39 ID:LqA6LiGp
PHP使い始めて2年位経つけど、どうもPHPプログラマーって 馬鹿にされる傾向にあるね。 「PHPなんてむっちゃ簡単じゃん!」とか言うけれど どんな言語もそれなりの事をしようとすれば、 それなりに大変なんだと感じてるんだけど。。 みんなもこんな風にムカツイタ経験ない?
378 :
nobodyさん :02/03/21 01:59 ID:ZJLyYdJY
379 :
nobodyさん :02/03/21 04:08 ID:IEuenbIb
11183317819 % 1024 = -197 とでます。。 どのようにすればきちんと計算できますか? 任意精度数学関数は使えないようです。
>379 1024 + 11183317819 / 1024 これでどうでしょう? PHPやったことないから / 演算子があるかどうかわからないケド
>379 1024 + 11183317819 / 1024 これでどうでしょう? PHPやったことないから / 演算子があるかどうかわからないケド
>379 1024 + 11183317819 / 1024 これでどうでしょう? PHPやったことないから / 演算子があるかどうかわからないケド
まちがった、 1024 + 11183317819 % 1024
384 :
ー :02/03/21 14:03 ID:???
FDF ToolKit 使おうと思ったら FreeBSD に対応してなかった。。。 SoftwareDesign 読んで発注元に「あぁ、できますよー」って言ってしまったのに。。。 鬱だ。。。
385 :
nobodyさん :02/03/21 16:46 ID:Mn+jRr98
elseifってないの?
PHPをインストールするとき、余計なモジュールは除いとかないと パフォーマンスに影響しますか?
391 :
nobodyさん :02/03/21 20:10 ID:Oz/GEgky
elseifで50くらい分岐させたらやっぱ処理重くなるのかな。。 うちのボロマシンで試すのは怖いんで、どなたか分かる方いらっしゃいますか?
どの程度低スペックなのかは知らんが、 大丈夫だと思われ、、、
>>391 たいていの場合、そこまでelseifの分岐が深くならずに書き直せる。
試すよりもロジックを再考せよ。
というか普通はswitch〜caseでやらないか?
395 :
391 :02/03/22 13:20 ID:???
>>392-394 うへー、仰有るとおり見直してみます。
それにしてもPHPってのは私のような初心者でもなんとなく動きが理解できるのでよいですね。
396 :
nobodyさん :02/03/22 19:40 ID:b0vQIUuf
配列変数は一つの変数に何個も代入する事、と覚えて間違いないでしょうか? そして代入した順に[1]、[2]とキーが割り当てられる、と。 間違いがあったら教えて下さい。 どうもいまいちつかめないんです。
397 :
:02/03/22 19:51 ID:???
>>396 a[0] a[1] a[2] ・・・
っていう変数だと思いねぇ
398 :
nobodyさん :02/03/22 20:05 ID:94AXX7Nm
>>397 うーむ、わかったようなわからないような・・・です。
でも、ありがとうございます。
>>398 a[0] という風に添え字はゼロからはじまるからね。
--
それにしても
a[] = 'foo';
a[] = 'bar';
a[] = 'hoge';
で a[0] = 'foo'; a[1] = 'bar'; a[2] = 'hoge'; という動作になってしまうから
>>398 のような人には紛らわしいもんだ。
400 :
nobodyさん :02/03/23 02:01 ID:z8vjGGtG
PHPの場合は、配列は連想配列と統合されちゃってるので、 a[] = 'foo'; a[] = 'bar'; a['hoge'] = 'fuga'; なんてことができちゃうのも、他のプログラム言語を知ってる人には紛らわしいかも。
401 :
顔も名前も出さずに毎月100万円 :02/03/23 06:38 ID:IeLGNiOW
Future-Web(フューチャーウェブ)登場
なんと10,000円単位の収入
●10,000円単位の高収入
1件につき最大10、000円の高額収入。月収100万円以上も可能。
●画期的なビジネス!
インターネットを利用したこれまでにない斬新で画期的なビジネスです。
●誰でも出来ます!
インターネットが出来る環境の方なら誰でも参加可能です。
●専門的な知識は一切不要!
ビジネスに必要なツールはすべて当社で用意いたします。また、サポ
ートも万全です。
●詳細は今すぐHPをご覧ください。
http://www.future-web.tv/7823/
402 :
nobodyさん :02/03/23 13:52 ID:7h32oUgT
これからWebプログラミングを勉強しようと思っているリアル厨房です。 この前加入したレンタル鯖屋さんがPHPというものが使えるとのことで さっそくつかってみようとindex.html内に <HTML> <BODY> test<BR> <?php echo "Hi, I'm a PHP script!"; ?> </BODY> </HTML> と組み込んだのですが動きません。 <?php〜?>の部分をindex.phpとすると表示されるのですが・・・ どなたか教えて下さい。Webを調べただけでは理解できなかったので 本屋にPHP関係の本を買いに行ったのですが高くて小遣いでは買えま せんでした(>_<)
>>402 .htmlじゃ動かない設定なんだろ。
ローカル鯖では.htmlで動くように設定してるのか?
勿論ローカルでテストしてから動かしてるよな?
ローカル環境作れるやつがそんな基本も分からないのか?
つーか本当に調べたのか?
404 :
nobodyさん :02/03/23 14:44 ID:7h32oUgT
>>403 そうなんですか、ありがとうございます。
鯖屋に確認取ってみます。
あと、(ローカル鯖で実験してからするのが常識だとは知ってたものの)
テストはしてません。というかローカル環境は今後導入して行こうと思って
ます。とりあえず試したくてWeb上に載っていたサンプルをアップしてしまいました。
ごめんなさい。
Web上の情報や過去ログを見ましたが僕にはチンプンカンプンなのでせめて
皆さんの話の内容が理解できるようになったらまた来たいと思います。
ありがとうございました。
プログラムって外国語を勉強するようなものですかね?
406 :
nobodyさん :02/03/23 22:00 ID:0OfOOAzp
forとwhileの違いを教えて下さい。 というか、どこか違うんですか?
ありがとうございました。 自分で調べる事にします。
409 :
nobodyさん :02/03/23 23:24 ID:wgXrmnkN
>>408 それだけ言ってもお前が誰かは全くわからんぞ。
>>409 さん
あ、それもそうですよね。すいません。
名前欄にもあるとおり、406と408を書き込んだ者です。
>>406 どうでもいい話だけどPerlだとwhileの方が微妙に早かった
>411 同じはずだが? その根拠は?
>>412 5000回ループを
Benchmark.pmで計ったらさせたら差が出ますた。
>413 おれのほうはほとんど同じだが? やりかたがちがうのか? ソースを見せてみー!
415 :
414 :02/03/24 15:55 ID:???
>413 つーか、5000回程度のループだったらどちらも0secになるが、 どんなマシン使ったら差が出るの? 因みにこちらはCPU「MMX Pentium 233」のメモリ64MBだが そっちはどうだ?
416 :
414 :02/03/24 16:05 ID:???
おやーのーーちをーひーくー と、ワンフレーズうたったところで さりげなく age
418 :
nobodyさん :02/03/25 01:25 ID:vc0v+WM7
初心者の質問スマソデス。 現在WindowsXPにApache1.3.24とPHPをインストールしてPHPスクリプトを試しに動かしてみたいのですが、 localhostからphpファイルにアクセスしても「ファイルのダウンロード」が始まってしまいます。 おそらくhttpd.confが原因かと思われますが、色々調べてもわかりませんでした。 どなたかおわかりでしょうか?
色々調べてもわかりませんでした。
>>418 ,(
>>419 ?)
httpd.confの問題だと思われ。
実行結果じゃなくってソースコードがダウンロードされるんだよな?
>>418 そのファイルをPHPファイルとして認識させるように拡張子の設定をしな
422 :
418 :02/03/25 13:34 ID:k/t8FdqM
>420 419は私ではありませんが、そのとおりです。ソースコードのダウンロードが始まります。 >421 手持ちの参考書通り AddType application/x-httpd-php .php に変更、 #LoadModule php4_module c:/php/sapi/php4apache.dll を追加したのですが、ここに問題があるのでしょうか?
424 :
nobodyさん :02/03/25 14:14 ID:XhUH/m4i
MySQLに格納されている画像の大きさを取得したいのですが どうやったらいいでしょう? GetImageSize($sql_dat[image])ではできませんでした。 SQLから取り出した画像を一回フォルダに書き込んでサイズ取得 その後フォルダの画像を消すみたいなのはかなり強引なやり方ですが…。 他に何か方法ありませんか?
425 :
nobodyさん :02/03/25 15:33 ID:Wy1qIOaA
426 :
nobodyさん :02/03/25 16:51 ID:KmZZ8WAs
私のIPアドレスを使って、アダルトサイト見てるおじさんがいます。 どうしたらいいですか?
428 :
( ´-`) :02/03/25 17:31 ID:08CC0/cf
すみません、phpを4.0.6から4.1.2にしようと、入れ替えたのですが、下のようなエラーが出てしまい、 Apache上で動作させる事ができなくなってしまいました。もちろんphp4_ts.dllもphp.iniも入れ替えました。 仕方が無いので前の4.0.6に戻そうとしたのですがまた同じエラーが出てしまいました。どうすればよいのか 教えてください。 Syntax error on line 194 of c:/apache/conf/httpd.conf: Cannot load c:/usr/local/bin/sapi/php4apache.dll into server: (1157) このアプリ ケーションの実行に必要なライブラリ ファイルのうちの 1 つが見つかりません。: Note the errors or messages above, and press the <ESC> key to exit. 27...
>429 ちゃんとエラー読もうよ・・・ httpd.confの194行目にSyntax error。 スペル間違ってるとかタイプミスしてるとかしてない? それか、php4apache.dllが所定の位置に入ってないか。
432 :
425 :02/03/26 06:53 ID:WETXB+nE
>428 ありがとうございます。 いやー、おかしいな、それも試したつもりだったんですけど。 しかし試した状況が ?abc= と変数の中身は空文字列っていう・・・訳ありな変な状況で ?abc=#def ってこりゃだめじゃないか・・・ 解決しました、感謝。
433 :
425 :02/03/26 07:45 ID:???
おかしい、 ?abc=#def でもできてた。謎だ。 お騒がせしました。 とにかく助かりました。
opendir()とreaddir()を使ってディレクトリ内の全ファイル名を取得してるんだけど、 マニュアルにもある通り、特定の順序に並ばないのは知ってるんだけど、 マニュアルのサンプルを動かした結果: pre14.php pre11.php pre13.php pre12.php pre10.php pre15.php pre16.php pre17.php pre18.php pre19.php pre20.php pre100.php なんでこんな風にバラバラに取得できるんだろ? 何回やってもこの結果になったんで何かに従ってるんだと思うんだけど。 タイムスタンプかi-nodeに関係あるのかと思ったけど違ったし。
435 :
nobodyさん :02/03/26 19:17 ID:0DHHOlhe
htmlなページを全てPHPに移行しようと思っていますが、ふと疑問がでました。 htmlなページでは、SSIでアクセスログを取っていたのですが、PHPページの中で SSIのアクセス解析CGIを動かすことはできますか?
436 :
nobodyさん :02/03/26 20:55 ID:L9i8r0sf
Windows2000環境の人、ちょいと試して頂けませんか? 環境:Windows2000 + Apache1.3.19 + php4.1.2 ---test.php--- <? echo `php -q test2.php`; ?> ---test2.php--- <? echo `echo aaa`; ?> ブラウザでtest.phpアクセスすると、 X-Powered-By: PHP/4.1.2 Content-type: text/html をひたすら繰り返して出力してくれます。 コマンドプロンプト経由だとしっかりaaaを返してくれるのですが。
>>434 phpじゃなくて、unixの話になるんだけど、
たとえばhogeがファイルじゃなくてディレクトリのときに
% hexdump -C hoge
を実行してみ。
438 :
nobodyさん :02/03/27 00:22 ID:UaVDXePK
今 Zeev 日本に来てるんやな。
439 :
434 :02/03/27 03:18 ID:???
>>437 ちょっとよく分からなかったです。
ディレクトリに対してhexdumpするって意味じゃないですよね。
ファイルにしたら16進が出るだけ・・・
なんだろうごめんなさいもうすこしくわしくおながいします(´д`)
440 :
nobodyさん :02/03/27 08:31 ID:U90sbad3
>439 ディレクトリに対してhexdumpするって意味かと。 >440 まず、使っているPHPのバージョンは? あと、具体的に何がしたいの?
442 :
434 :02/03/27 12:48 ID:???
>>441 そしたら、Is Directoryとしか出なかったんだけどなぁ。
LinuxのDebian使ってますが。
>442 んー、うちだとこんな感じ。 > hexdump -C hoge 00000000 41 d5 4e 00 0c 00 04 01 2e 00 00 00 00 d5 4e 00 |A.N...........N.| 00000010 0c 00 04 02 2e 2e 00 00 42 d5 4e 00 10 00 08 07 |........B.N.....| 00000020 66 6f 6f 2e 70 68 70 00 43 d5 4e 00 14 00 08 09 |foo.php.C.N.....| 00000030 61 79 61 79 61 2e 70 68 70 00 00 00 44 d5 4e 00 |ayaya.php...D.N.| 00000040 c4 01 08 07 6e 79 6f 2e 70 68 70 00 00 00 00 00 |....nyo.php.....| 00000050 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................| * 00000200 > FreeBSD4.5っす。
444 :
434 :02/03/27 16:32 ID:???
Linuxでは無理なんですかね。うーむ。 憶測でしか言えないんですが、 ダンプした時に現れるファイルの順、って事ですか?
>444 たぶん、>437が言いたかったのはそう言うことだと 思うよ〜。 違ってたらツッコミよろしく。
446 :
440 :02/03/27 17:44 ID:???
>>441 ありがとうございます、当方4.0.6を使ってます。
用途はというと、しぃお絵かきアプレットのデータを受け取りたいのです。
生バイナリで自分でparseするところなので…。
448 :
437 :02/03/27 21:58 ID:???
そういえばLinuxはディレクトリをcatもできなかったな。んじゃ、 % ls -f かな。readdir()っつーのは、ディレクトリファイルに格納されてるエントリを 順番に読み出してるだけなんで、どんな並びになるかってのはファイルシステムの 実装に依存するですよ。
449 :
440 :02/03/27 22:52 ID:???
450 :
434 :02/03/27 23:58 ID:???
>>448 なるほど、謎がとけました。どうもありがとう。
451 :
名無しさん@お腹いっぱい。@522 :02/03/29 00:35 ID:RtQXAlBI
質問です!!! PHPでpostgreSQLをcreatedbしたくて まず、hoge.shというファイルをシェルで作成 su - postgres -c "createdb $1" 次に、phpソースでは、 <? system("csh hoge.sh DB_NAME"); ?> って書いたんだけど、createdbしてくれません。なぜか教えて〜ぇ ちなみに、コマンドラインからだとちゃんとシェルが動いてるんだけどね
su - postgres -c "createdb $1" ってrootじゃないといかんのじゃ?
453 :
名無しさん@お腹いっぱい。@522 :02/03/29 00:47 ID:RtQXAlBI
454 :
名無しさん@お腹いっぱい。@522 :02/03/29 01:15 ID:RtQXAlBI
>>452 これはどうなの?
hoge.shのファイル
su -
****** <- rootのパスワード
su - postgres -c "createdb $1"
455 :
名無しさん@お腹いっぱい。@522 :02/03/29 02:16 ID:RtQXAlBI
<? echo system("who"); ?> rootじゃないんだけど・・・・ どうしたら、rootになるの? どこで、設定するの????
457 :
nobody :02/03/29 13:06 ID:0qXfiGHt
458 :
nobodyさん :02/03/29 14:26 ID:ioukNhEY
apache1.3.24+php4.1.2+postgresql7.2+modssl2.8.8の構築をしたいです。 OSはportsが便利そうという事でFreeBSDで行こうと思います。 ・全てportsからインストールして環境を整えるのは可能でしょうか? ・インストールした後にソースから入れる時でいうconfigureオプションは どこのファイルを書き換えるべきなのでしょうか? ・ソースからインストールとportsからインストールのメリットデメリットもあれば 教えていただきたいと思います。 ・ここを見ろ!というのでも助かります。 よろしくお願いいたします。
>449 調べてみたんだけど、いまいちよくわからず・・・。 また時間ある時に調べてみる。 スマソ。 >450 portsから入れる利点は インストール/アンインストールが楽 依存性があるソフトは足りないソフトも一緒にいれてくれる 欠点はインストールされる位置とか設定ファイルの場所とか 把握してないと見失いがちなこと。 後、最新版に即対応出来ないことがあることかな。 configureはPortsのMakefile見ればわかるはず・・・。
460 :
nobodyさん :02/03/29 20:44 ID:ioukNhEY
portsからphp4を入れてみたんですが libphp4.soってどこに入るんですか?
>>460 /var/db/pkg/$PKGNAME/+CONTENTS
463 :
460 :02/03/29 22:06 ID:ioukNhEY
>>462 様
/var/db/pkg/$PKGNAME/+CONTENTS
とはどういう意味ですか?
libphp4.soがこれなんですか?
464 :
460 :02/03/29 22:40 ID:ioukNhEY
自己レス。 portsから /lang/php4でいれたときは /www/mod_php4も入れれば libphp4.soが入りました。
$PKGNAME を自分が入れた ports の名前に置き替えるべし。 すなわちこの場合は /var/db/pkg/mod_php4-4.1.2/+CONTENTS このファイルの中にインストールされたファイルやらなんやらが書いてある。
>463 $ file /var/db/pkg/mod_php4-4.0.6_4/+CONTENTS /var/db/pkg/mod_php4-4.0.6_4/+CONTENTS: ASCII text $ cat /var/db/pkg/mod_php4-4.0.6_4/+CONTENTS @name mod_php4-4.0.6_4 @cwd /usr/local @pkgdep mysql-client-3.23.42 @pkgdep apache-1.3.20 @comment ORIGIN:www/mod_php4 bin/pear @comment MD5:22b7923ad56776c64f234b57d60b3c0f bin/php-config @comment MD5:87c9caa19893adc928cee314d69ddb31 bin/phpextdist : : (以下略)
467 :
nobodyさん :02/03/30 19:40 ID:fhg4NU7F
web mailを作っているのですが、 <textarea rows="5" wrap="soft" name="msg"></textarea> で取得したmsgを mail($to, $subject, $msg, $header); で送信すると、本文の頭に必ず3行分の改行が入ってしまいます。 他に$msgをいじっている部分は 入力チェックと 文字コード変換 $msg = JcodeConvert($msg, 0, 3); ですが、上記の部分はコメントアウトしても変化がなかったので 関係ないと思われます。 サーバーに関しても別のサーバーで試したところ、同様の結果に なったので関係ないと思われます。 何か他に思いつく原因はないでしょうか? よろしくお願いします。
>>467 とりあえず各処理の間で$msgの中身をファイルへ出力してどこが原因か探してみたかい?
469 :
467 :02/03/31 01:46 ID:pwj7EFfY
470 :
467 :02/03/31 01:49 ID:???
>>467 一通りソース見ただけだから自信はないんだけど、
これは恐らくmail関数の問題では?
今昔知り合いが書いたソースを読んだんだけど、
そいつがmail関数使うところではヘッダの最後の行は
改行無しだった。
最後の引数の$headerの最後に\r\nいれちゃってるから
関数内で加えられる改行とで合計3つとか。
ここのところが一番臭いから試してみて。
472 :
467 :02/03/31 11:04 ID:???
>>471 おお!
おっしゃる通り、ヘッダにつける改行を削ったらちゃんと動作しました。
どうもありがとうございました。
しかし、ヘッダに改行があると本文に反映するってのはよくわからんなあ・・・
473 :
nobodyさん :02/03/31 20:48 ID:gcEm6bxV
ポマエラ!こんなロジック組んでくれ。おながいします CSVデータの変更プログラム 列A,列B,列C 11,22,33 44,55,66 ・ ・ ・ これを 列A,列B,列C 11,22,33 44,XX,66 ・ ・ ・ 55のところをXXに変更。 指定した列の指定した行を任意に変更できるロジック。 もちろん、なるべくメモリを食わないように。
>>473 本当にメモリの使用量を気にするなら、
CSVのファイルから直接読み込むのか
メモリ上にCSV形式のデータを編集するか
どちらかを教えれ。
これを作るに当たって何がわからないの?
メモリをなるべく使わない方法?
それとも置換そのもの?
とりあえず今まで何して、どう失敗したかとか書いてくれや。
475 :
474 :02/03/31 21:11 ID:???
ちょっとミス。 >メモリ上にCSV形式のデータを編集するか メモリ上にあるCSV形式のデータを編集するのか の間違いでした。
477 :
nobodyさん :02/04/01 09:24 ID:wTPI09Op
html出力とファイル出力をうまく切り替えられる方法ないですかねぇ? イメージ的には下のような感じにしたいのですが(もちろん動作しません) ///////////////////////////////////// if($filesave==1){ fopen($fp,"filename.dat"); }else{ fopen($fp,"html"): } fputs($fp,"データ"); fclose($fp); /////////////////////////////////////
>477 クラス作れ class foo var $f; function foo($hoge) { $this->f=$hoge; } function fputs($data) { if ($this->f == なんとか) { fputs ふが else fputs ほげ } こんな感じ。
479 :
477 :02/04/01 13:13 ID:???
そうしてみます。 ありがとうございました。
480 :
nobodyさん :02/04/01 20:03 ID:213sjeJ3
かちゅ〜しゃから送信されたフォーム情報がPHPで取得できません。 $HTTP_POST_VARSも空っぽです・・・。 ブラウザからなら取得できるのですが。 どうやったら取得できるのでしょう・・・。
481 :
nobodyさん :02/04/01 22:11 ID:RDA5NK4q
上省略 /bin/sh /usr/home/xxx/src/php-4.1.2/libtool --silent --mode=link gcc -I. -I/usr/home/xxx/src/p hp-4.1.2/ -I/usr/home/xxx/src/php-4.1.2/main -I/usr/home/xxx/src/php-4.1.2 -I/usr/home/xxx/s rc/php-4.1.2/Zend -I/usr/home/xxx/src/php-4.1.2/ext/mysql/libmysql -I/usr/home/xxx/src/php-4.1 .2/ext/xml/expat -I/usr/home/xxx/src/php-4.1.2/TSRM -g -O2 -o php -export-dynamic stub.lo lib php4.la /usr/libexec/elf/ld: cannot find -lpq *** Error code 1 Stop in /usr/home/xxx/src/php-4.1.2. *** Error code 1 Stop in /usr/home/xxx/src/php-4.1.2. > php4.1.2をダウンロードしてきて./configure makeしたところなんですが こんな感じです。なにがいけないのでしょうか? おねがいします。
482 :
nobodyさん :02/04/01 22:13 ID:RDA5NK4q
/bin/sh /usr/home/xxx/src/php-4.1.2/libtool --silent --mode=link gcc -I. -I/usr/home/xxx/src/p hp-4.1.2/ -I/usr/home/xxx/src/php-4.1.2/main -I/usr/home/xxx/src/php-4.1.2 -I/usr/home/xxx/s rc/php-4.1.2/Zend -I/usr/home/xxx/src/php-4.1.2/ext/mysql/libmysql -I/usr/home/xxx/src/php-4.1 .2/ext/xml/expat -I/usr/home/xxx/src/php-4.1.2/TSRM -g -O2 -o php -export-dynamic stub.lo lib php4.la /usr/libexec/elf/ld: cannot find -lpq *** Error code 1 Stop in /usr/home/xxx/src/php-4.1.2. *** Error code 1 Stop in /usr/home/xxx/src/php-4.1.2. > となってしまいました。 なにがいけないのでしょうか?よろしくおねがいします。
483 :
481 :02/04/01 22:14 ID:RDA5NK4q
あれ?書き込めてる。失敗。
484 :
名無しさん@お腹いっぱい。 :02/04/02 00:31 ID:cW7c6rc4
どこに質問していいのやら・・・ 板違いだったらごめんなさい。 通信技術のほうにも書き込みました。 画像UPのPHPを作ったんですが、動作チェックをしてて妙な事に気づきました。 1ピクセルごとに、赤、青、緑、赤、青、緑・・・ 2行目緑、赤、青、緑、赤、青・・・ 3行目青、緑、赤、青、緑、赤・・・ というように交互に塗っていって、BMP Win形式24bitで保存した画像をupしようとすると、24×24ピクセル以上は、なぜかupできないのです。 それ以上のファイルサイズの普通のbmpファイルはアップできます。 いろいろ試してみました。 Windows2000personal+IE6.0、Windows2000Server+IE5.0、Windows2000Server+NN4.5、MacOS9.2+IE5.0,MacOS9.2+NN4.7 いずれも同じ動作で、OSやブラウザによる依存はないように思われます。 また、画像のほうもPhotosho5.5Win版で加工したものですが、ペイントブラシで作成したりいろいろ試しました。 また、2色、4色の格子は問題ないのですが、3色の格子だけだめなようです。3色のスプライト、ボーダーも同様の現象。 また例えば100×100の上記格子に、先頭以外の一部分(例えば20×20)の黒塗りつぶし領域をつけても同様でした。(先頭は試してません) また、CGIの画像UP掲示板なんかも試してみたのですが、これもだめでした。 なにかこの現象についてご存知の方がいらしたら是非教えてください。 また、3台のマシンでしか試してないので、皆さんの結果もできれば聞きたいです。 私の稚拙な頭では、画像のパターンが原因か通信部分での問題しか思いつかないのでよろしくお願いします。
>>484 とりあえず検証用に問題の画像をうpすれ。
486 :
名無しさん@会社 :02/04/02 09:27 ID:0y5SIjSU
487 :
nobodyさん :02/04/02 09:42 ID:ff+k1ZXe
画面表示を SJIS で、内部処理を EUC でやっているPHP プログラム A.php があります。 (サーバは FreeBSD 4.4R, Apache 1.3.20, PHP 4.1.2) たとえば、 $t1 = "SJISの文字列"; <form action="B.php" method="POST"> <input type="text" name="t1" value="$t1"> : </form> と書いた場合、B.php では $t1 は SJIS で受け取れるんでしょうか、 それとも EUC ですか。 あるいは、HTTPサーバによって異なってしまうんでしょうか。 A.PHP と B.PHP で、うまく日本語が渡ってくれなくて困っています。 どなたか助けてください。
>487 ブラウザの仕様によるのでは? 基本的にブラウザが表示している文字コードで送られてくるはず。 その後、どうなるかはPHP側の設定。 mbstring.http_inputがautoになっていたら SJISで受け取った後内部エンコーディング(この場合EUC)に 変換してると思います。 心配ならmb_convert_encoding使って自分で文字コードを 指定したほうがトラブル無いと思うけど。
489 :
nobodyさん :02/04/02 18:50 ID:C7YJwDj/
フレームを使って、フレームの要素のページに、前のページのフォーム からの値を、送れるようにしました。 <frame src="fra3.php<? echo ("?atai1=$atai1"); ?> ここで$ataiに配列を利用したいのですが、どう記述すればよろしいで しょうか。atai[0]=$atai[0]&atai[1]=atai[1]、と網羅的に記述すれば 確かにできるのですが、見にくいものとなってしまいます。 簡潔に書く方法がご存知でしたら、参考サイトや手段など教えてくださ い、よろしくお願いします。
490 :
あはっ。☆。。。☆。 :02/04/02 18:57 ID:MsnfFTr6
491 :
名無しさん@お腹いっぱい。 :02/04/03 00:21 ID:gGeAb4cd
484です。 どうも火壁の問題のようです。 お騒がせしました。って解決はしてないんですけど。
>>489 区切り文字を一つ適当に選んで、
配列の中にその文字があったらエスケープする。
後はimplodeで区切り文字をつければよし。
復元のほうのアルゴリズムのほうがちょっと面倒。
そんな難しくないけど。
こんなんでいい?
493 :
:02/04/03 09:53 ID:qAYnfRwX
>apacheuserさん うまくいきました。 どうもありがとうございました。
tableやdivで、例えばaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa とかやると、スタイルシートで幅を定義してても、びにょ〜んと伸びちゃいますよね。 これの対策としてwordwrap使ってぶった切りかませばいいのだなと やっちゃみたのですが、これのlengthってバイト数だそうで、 1バイト文字と2バイト文字を組み合わせて使っちゃうと変に切れて文字化けしちゃいます。 何かいい方法ありましたらどうかご教授ください。
495 :
nobodyさん :02/04/04 12:17 ID:WzAT/ySJ
>>495 mbstring関連の関数って、mbstring は拡張モジュールとかマニュアルに書いてあるんですが、
どこでもつかえるのですか?
ribbon networkにアップして、
<?
echo mb_strlen("あげ");
?>
とやってみたのですが、何も表示されません。
これだけじゃだめなんですか?
497 :
nobodyさん :02/04/04 16:04 ID:HHqarjRe
>>496 print mbstrlen("あああaa","Shift_JIS");
これでテストしてみるとよろし
498 :
494 :02/04/04 17:41 ID:???
>>496 さん、ダメです。何も表示されません・・・。
<?
print "前";
print mb_strlen("あああaa","Shift_JIS");
print "後";
?>
このように書くと、
前
だけしか表示されませんでした・・・。
>498 うちの環境だと 前5後 って出るけど。 で、ふと思ったこと。 PHPの設定を確認してほしいんだけど php.iniで display_errors = Off にしてない? これだと 1.mbstring入っていないからmb_strlenが無いというエラーがでる 2.エラーが出た場所以降、画面には何も表示されない。 ってことに。
>499に追加。 <?php phpinfo(); ?> っていうファイルを実行すべし。 display_errorsのOn/Offもわかるし mbstringが入っているかどうかもわかるはず。
ribbon.toはエラー出ない設定になってるしmbstringも入ってない。
502 :
494 :02/04/04 21:58 ID:???
ううう、懇切丁寧にありがとうございます皆さん。 で、mbstring入ってないってことは他の方法考えにゃならんってことだということですよね、、、 むむむー。ギブアップ。
こんな感じでいいかな?無理矢理切り取ってきた糞ソースですまん。 $textが置き換え対象 この場合は80文字で改行とチンチンを挿入 場合によってはreturnで戻す前に'<br />' . $tempurlをいれてください。 $tangoregx = "([a-zA-Z0-9]{80,})"; $text = preg_replace_callback("$tangoregx","gyou",$text); function gyou($url){ for($m = 0;$m < count($url);$m++){ $tempurl = $url[$m]; $nkosuu = (int) $nkosuu = strlen($tempurl) / 80; for($n = 1;$n < ($nkosuu+1);$n++){ $tempurl = wordwrap($tempurl,(80 * $n),"<br />",1); } return $tempurl; } } それとかなり前の方の人への遅レスだが、Perlでforとwhileの違いなかった・・・ 計った時にファイルを読み書きさせたところで差が出た模様。 紛らわしくてすまん。あひゃん♪
504 :
494 :02/04/04 22:45 ID:???
すんません。jcode_mini.phpsを使ってなんとなく出来ちゃいました。 <? require("jcode_mini.phps"); $string="aあcdでe使f"; $Max_strlen=strlen($string); for($i=0;$i<$Max_strlen;$i++){ $std=substr($string,$i,1); $d=AutoDetect($std); if($d==0){echo $std;} else {$std=substr($string,$i,2);echo $std;$i++;} } ?> 1バイトずつ取って逝って、アスキー文字だったらそのまま、 それ以外だったら2バイト?ってことで。
505 :
494 :02/04/04 22:48 ID:???
506 :
:02/04/05 14:11 ID:vKH3Wlrd
質問です。 index.htmlにphpで作ったカウンタを入れたいんですが、 index.htmlからcounter.phpを呼び出してその返り値っていうか 要はカウンタをindex.htmlに埋め込んで表示するにはどうしたら いいんでしょうか?
507 :
nobodyさん :02/04/05 19:34 ID:ol6QsPih
>>506 カウンタ表示を画像にするか文字にするかで方法が違うんだけど、どっち?
508 :
nobodyさん :02/04/05 20:17 ID:8HekwyeF
質問です。 httpsでファイルのダウンロードをするサイトを作ろうとしています。 セッション管理はPHPLIBで行っています。 セッション管理をPHP4から用意されたセッション処理関数で行う場合、 session_cache_limiter('public'); をセッション開始前に行わないとうまくいかないそうなのですが、 PHPLIBでのセッション管理では、これにあたる物は有るのでしょうか?
509 :
494 :02/04/06 09:23 ID:???
たびたびすいません。 [:alnum:]だとか[a-Z]などのパターンは、マニュアルのどこに載ってますか? 探したんですけど一向に見つからなく・・・
510 :
_ ◆IVXmlxmI :02/04/06 21:19 ID:xiXLt5jB
>>494 正規表現なので、正規表現について調べればいいのでは?
preg_replace_callbackはPerl互換
レイが見えるのは霊感
511 :
nobodyさん :02/04/07 04:50 ID:sDrsWdZs
今までhtml内のSSI経由で呼んでいたperlのCGIアクセス解析を phpファイル内から呼ぶ方法ってありますか?
512 :
nobodyさん :02/04/07 04:55 ID:sDrsWdZs
>>511 自己レス。というか、php内でperlなcgiを動かせる方法があればいいのかな?
>>511 普通に外部プログラムとして呼んで、出力をprintすればいいのでは?
514 :
nobodyさん :02/04/07 09:00 ID:oKmtaXBH
なんか、おまえら、会話が、あほだぞ・・・・
515 :
nobodyさん :02/04/07 16:12 ID:sDrsWdZs
>>513 レスthanx. 例えば、includeすると結果はwebページにちゃんと表示されますが、呼び出しているのが、
PHPなので、アクセス解析にはブラウザがPHP 4.1.2、アクセスもとがウェッブ・サーバとか出てしまう
という欠点があります。
>>514 だから意外に難しいと思ったんですけど、あほですか?
>515 system関数使うのはダなの?
>>516 やってみましたが、うんともすんとも言わなかったでした。
素直にphpなアクセス解析使ったほうがいいのかなぁ。
オススメのアクセス解析ってありますか?
>>517 アクセス解析のログをphpで吐き出せば?
>517 systemで呼ぶときはcgiに渡したい値を 引数で渡さないとだめなような。 昔やってたんだけど、もう忘れたなぁ・・・。 まあ、PHPで書き直すのがいいかもね。 勉強にもなるし。
>>518 ログを吐き出すだけなら、できますけど、ブラウザとかの情報はとれないですよね?
>>519 なるほど、引数ですか、ちょっと試してみます。
phpで作ろうかと思って勉強しています。
$SCRIPT_NAMEでもgetenv("SCRIPT_NAME")でも自分のファイル名を
とれますけど、どっちを使ってますか?
>>520 $SCRIPT_NAME って自分のファイル名だけでなく、パスも入っちゃうよ。
523 :
nobodyさん :02/04/09 23:45 ID:v8USxwZs
>>520 phpinfo();を参考に環境変数を取って、
GETでPerlに渡せばどうよ?
524 :
nobodyさん :02/04/10 00:52 ID:QeMF+ULc
PHPでaddslashes()とhtmlspecialchars()を使ってユーザー側からのJavasqriptなどの危険なコマンドの無効化をしたのですが、これを使うと日本語表示でも時々\がついてしまうことがあります。 なんとか日本語表示のときだけ\がでないようにしたいのですが、どうしたらいいのでしょうか?
Javasqript(´,_ゝ`)
失礼、本文を書き忘れた 通常なら htmlspecialchars($text,ENT_QUOTES) のみで十分かと DB使うなら addslashes()ではなくstr_replace()を使ってはいかがか? それと文字コードはどうなってる?
527 :
nobodyさん :02/04/10 16:35 ID:i95Gvoeh
ちょうど私も似たような状況です。 掲示板を作っているのですが、設定をiniファイルに保存しているので それを読み出す際、 $iniData = file($iniFileName); で一気に配列に読み込んでから for($i = 0; $i < count($iniData); $i++){ $iniData[$i] = str_replace("\r\n", "\r", $drnArray[$i]); $iniData[$i] = str_replace("\r", "\n", $drnArray[$i]); $iniData[$i] = str_replace("\n", "", $drnArray[$i]); } ってやって改行コードを切ってるんですが、 配列の中に「\」があると「\\」となり、 「表」っていう文字があると「表\」となっちゃいます。 原因すらわからないので、助けてください。
528 :
527 :02/04/10 16:37 ID:???
すいません、間違えました for($i = 0; $i < count($iniData); $i++){ $iniData[$i] = str_replace("\r\n", "\r", $iniData[$i]); $iniData[$i] = str_replace("\r", "\n", $iniData[$i]); $iniData[$i] = str_replace("\n", "", $iniData[$i]); } str_replaceの引数コピペ間違い。
aaa \t あ \t 1 bbb \t い \t 2 ccc \t う \t 1 aaa \t あ \t 2 bbb \t い \t 2 ccc \t う \t 3 このような中身のファイルがあり、一番左の項目が重複する時にまとめて 数字だけは足したい場合は、どのようにすればよいでしょうか。 aaa \t あ \t 3 bbb \t い \t 4 ccc \t う \t 4 こうしたいです。
>>529 タブ区切りのCSVってことでいいのかな。
一番左が一致してるときに真中の値はどうするかは
よくわからんけど、とりあえず普通にハッシュ使えば?
531 :
nobodyさん :02/04/11 00:01 ID:0MrGuQ4Q
>>524 >>527 ひょっとして文字コードshift_jis?
magic_quotes と問題がごっちゃになっているが
532 :
nobodyさん :02/04/11 01:24 ID:0YnZBQoe
PHP3で書かれたソースをWeb上で見つけて、それを自分のサーバーで使いたいのですが、自分のとこはPHP4なので、エラーが出てしまいます。 ソースは ------------------------------------------ <? Header( "Content-type: image/gif"); /* 出力がGIFファイルであることを示す */ $font_num = 4; /* フォントの種類 */ /* PHP3では1以上の数にfontを割り当てることができる。 */ /* 1〜4までは、PHP3に組込まれたBitmapfontが使用される。*/ /* でも、日本語は使えない(;;) */ /* 全体の作画範囲の決定 size_xが水平方向 size_yが垂直方向 */ $size_x = strlen($write_word)*imageFontWidth($font_num)*2; $size_y = imageFontHeight($font_num)*2; /* 文字列の作画位置の開始座標の決定 */ $write_x = ($size_x - strlen($write_word)*imageFontWidth($font_num))/2; $write_y = ($size_y - imageFontHeight($font_num))/2; /* 空のimageの作成を行なう。*/ $im = ImageCreate($size_x, $size_y); /* imageのbackgroundの色を作成する。*/ $bgcolor=ImageColorAllocate($im,(int)$bg_red,(int)$bg_green,(int)$bg_blue); /* imageのforegroundの色を作成する。*/ $fgcolor=ImageColorAllocate($im,(int)$fg_red,(int)$fg_green,(int)$fg_blue); ImageFill($im ,$size_x, $size_y, $bgcolor); ImageString($im,$font_num,$write_x, $write_y, "$write_word",$fgcolor); ImageGif($im); /* imageをGIFとして出力する。 */ ImageDestory($im); /* imageを破棄する。*/ ?> ----------------------------------------------- なんですが、自分のとこで実行すると、 <br> <b>Fatal error</b>: Call to undefined function: imagefontwidth() in <b>/home/majihima/public_html/test.php</b> on line <b>25</b><br> と出てしまいます。 どこを改造したらうまく実行できるのか教えていただけないでしょうか。 よろしくお願いいたします。
534 :
527 :02/04/11 10:02 ID:???
>>531 えーと、Shift_jisでした。
EUCで保存しなおしたら、「表」が「表\」になるのは
直ったみたい。嬉。
でも「\」は「\\」になっちゃうなぁ。
ちなみに改行コードって、今までCR+LFだったのを
LFのみにしたんですが、実際どれにすればよいのか
まったくわかりません。
535 :
527 :02/04/11 10:05 ID:Qk43qoJG
すみません、文字コード関連でもうひとつ質問があります。 プログラム(phpファイル)をEUCで書けば、そのプログラムが 生成するファイルもEUCになるんでしょうか?
536 :
Grips ◆ZEplUyt2 :02/04/11 11:42 ID:s9L3xhCG
spaceports.comで、MySQLを使うのに、SQLでCREATE DATABASE ABCとPHPに埋め込んだのですが、 どうもデータベースが作成されていないようなんです。 どうやったらデータベースが作成できるでしょうか?
>>535 php.iniのmbstring.http_outputの設定か、
mb_output_handlerとか使う。
538 :
Grips ◆ZEplUyt2 :02/04/11 14:14 ID:s9L3xhCG
>>536 がダメであれば、せめてMySQLのダンプをPHP上で実行する方法を誰か分かる人がいるのであれば教えてください。
分からなくて困っています。
>>536 たいていのフリーホスティング系はユーザにDBを作成する権限を与えてない。
ユーザ名のDBが1コだけ提供される。spaceport.comもそのはず。
>>538 phpMyAdminを入れるってのは?
バックアップファイルも直接流せる。
540 :
527 :02/04/11 15:06 ID:Qk43qoJG
>537 なるほど。みっけました。 さらに質問なんですが、掲示板等でタグを使われないために、 "とか<とか>をエスケープさせたいんですが、 ほかにもやっといたほうがいい文字ってどんなのありますかね
>>540 htmlspecialcharsか、
htmlentitiesとか使う。
542 :
Grips ◆ZEplUyt2 :02/04/11 20:04 ID:STOJDdM0
>>539 ありがとう!
解決できました!
nobodyさんの知識にカンパーイ!
543 :
nobodyさん :02/04/11 22:55 ID:99F5CMsa
>>533nobodyさん 返答ありがとうございます。 すいません。GDが入っているかどうかというのはどうやったらわかるのでしょうか。 UNIXあんまりわからないもので、、、。 一生懸命調べていますが、ヒントを教えていただければありがたいです
>543 マニュアルのイメージ関数の項を見れ
GD が組み込まれていれば <? phpinfo(); > でどんな設定になってるか 出てくるはず。出なければ GD なし。
546 :
527 :02/04/12 10:41 ID:8K23hqg+
>>541 この二つってどう違うんでしょうか?
マニュアルにはhtmlspecialcharsは「&」「"」「'」「<」「>」を
変換するって書いてあるんですが、
htmlentitiesのほうは何をどう変換するのかぜんぜんかいてません。
すべての文字ってことなんですかね?
ちなみにこれは、たとえば掲示板だとすると、
書き込まれた瞬間に変換してログファイルに保存するときは
変換済みで保存するべきなのか、それともとりあえず
書き込まれたとおりに保存しておいて、表示する段階で
変換するべきなのか、どっちでしょ?
URLに?a=50&b=30 とか入れると変数の値を渡せますが 別な方法でコッソリ(ユーザーにどんな値を渡してるか秘密で) 渡すことってできますか?
>>547 cookie か POSTでhidden か セッション でどう?
それか、渡す値を一時的に暗号化するってのはどう?
549 :
547 :02/04/12 12:24 ID:???
cookieは考えたんですが、中にはOFFな人も いるかなーと思いまして。 POSTでhiddenって初めて聞きます。調べてみます。 これはクッキーがオフだったりいろいろこまめにセキュリティ関係を いじってる人でもちゃんと送ってくれるんでしょうか? 暗号化。これもいいですね。もしPOSTがだめならこっちを 考えてみます。 ありがとうございます。
<input type="hidden" name="hoge" value="fuga">
551 :
547 :02/04/12 12:57 ID:???
>>550 あーこれってもしかして<form>の中にこの文を入れれば
いいってことですか?どうりで探しても出てこなかったワケです。
phpっていうよりむしろhtmlだったんですかね。
ありがとうございます。今から試してみます。
552 :
550 :02/04/12 14:31 ID:???
>>551 そです。formの中に入れます。
原始的だけど一般的かつそこそこ確実な方法。
>>551 ただし、hiddenだとHTMLのソース見られると渡している値が
わかっちゃうけどね。
まあ、HTMLを知らない人には全然わからないだろうから、
その程度の隠し方でいいならhiddenが一番簡単じゃないかな。
554 :
547 :02/04/12 14:56 ID:???
なるほどー。たしかにソースにバッチリでちゃうな。 しかもこれはこのhtmlをローカルに保存してhtml書き換えれば 送る値を自分でコントロールできるってことだよね? どーしよっかなぁ。まあでもURLに出るよりは数倍いいか。 暗号化はめんどいんで、この方法で逝ってみます。
555 :
547 :02/04/12 14:59 ID:???
ちょっとまった。 これって<form>にいれるってことは、当然submitボタンで ページ間を移動するってこと?リンク(a href)では 値を渡せないですよね? まいったなぁ。 暗号化か・・・。
じゃあセッション使えよ。
557 :
547 :02/04/12 15:25 ID:???
>>556 また知らない言葉がでてきた・・・。セッション。
急いで調べてみたけど、かなり使えそう。
$_SESSION[]こういう配列になるってことですかね?これは。
[]の中に好きな数字なり言葉なりをいれて。
セッションIDってのは使い捨てでいいんですか?
定義や開放は必要ですか?
unset()ってのがあったんですが、これやらないと
すごい負荷になったりするんでしょうか?
558 :
547 :02/04/12 15:54 ID:???
AN HTTPD + php4.1.1ですが、 なんだかエラーになります。 Warning: open(/tmp\sess_2ccfb96834bdeca3e99dac8180555afb, O_RDWR) failed: No such file or directory (2) これって?ていうか↑こんなファイルあるわけないのに。
おちけつ。 脊髄反射書き込みはんたーい。
php.ini の "session.save_path" はどうなってます? このpathが存在しないものになっている可能性があります。 または [PHP-users 6265] Win版 $_SESSION が使えない で、「Sessionモジュールがtrack varsを登録する方法に問題が あるためにこの不具合が発生します。」 と書いてあるのでそれかも。 どーでもいいけど、4.1.1以前は穴があるので 4.1.2にしたほうが良いと思ふ。
誰か、汎用的な文字列浄化クラス書いてくれないかなぁ…
562 :
529 :02/04/14 02:45 ID:???
>>529 をハッシュを使ってとのことだったので、やってみたのですが
どうしても上書きできるところまでしか行けません。
aaa \t 1
bbb \t 2
ccc \t 1
aaa \t 2
bbb \t 2
ccc \t 3
これでやっても
aaa \t 2
bbb \t 2
ccc \t 3
ここまでしかできません。
aaa \t 3
bbb \t 4
ccc \t 4
こうならないですかね。
うーんと、$a = 5 だと $a って変数が新しい値で上書きされちゃうよね。 でもやりたいのは代入じゃなくて足し算でしょ。だったら足し算しなさい。$a += 5
564 :
nobodyさん :02/04/14 14:47 ID:OSF8kSUV
html,htmの拡張子でもPHPが使用可能な共有レンタルサーバー どなたかご存じないですか? 使用したいのが、個人的な趣味のサイトなので自宅鯖や専鯖は 予算的に無理なもので・・・
何故そうしたいのか、理由を書け。
今後の予想 PHPを使ってるとバレたくないからです。 何故バレたくないのか書け。 やましいことをするからです。
というか、.htmや.htmlでphp使えるようにすると 負荷高くなるから普通やってないと思われ・・・。
.htaccess に下のように書けば、hoge.html だけが PHP で動くんだよもん。 html すべてをPHP で処理するより負荷は低いんだよもん。 <Files hoge.html> ForceType application/x-httpd-php </Files>
語尾に「だよもん」をつける方は、 for foreach whileの使用を禁止します。
570 :
564 :02/04/15 12:17 ID:???
>>568 ありがとうね!
とりあえず「index.html」だけでもPHPが使えれば
助かります。
>>566 するどいですね。
やましい事というか、確かに真面目な目的で
PHPを使ったページを作るわけではなかったので・・・
でも、PHPって面白いですね。
初めてのWebプログラミングですがホント面白いサイト作りが
できる。
571 :
nobodyさん :02/04/15 21:51 ID:m/DrIwmV
setcookie()でクッキーをセットしたあと、 JavaScriptでクッキーを取得するとどうしても文字化けしてしまいます。 誰かこの現象について知っている方いませんか?
572 :
nobodyさん :02/04/16 11:05 ID:knkJqIPn
最近気になるんですが、Perlに比べてPHP簡単と言う人がいますが PerlもPHPもとくに変わらない気がするのですが Perlに比べてどこら辺が簡単なんでしょうか?
==2==C==H====================================================== 2ちゃんねるのお勧めな話題と ネットでの面白い出来事を配送したいと思ってます。。。 ===============================読者数:102115人 発行日:2002/03/12 どもども、人格障害者のひろゆきですー。 今日は重大なお知らせがありますですー。 これまで2chでは、企業に対する真偽の曖昧な書き込みは削除しませんでしたが、これからは削除依頼が出たら一旦全て削除して、その真偽をおいらが責任を持って調査し、真実であると確信した時点で改めて復帰させ公開することにしましたですー。。。 これまでは企業に対して、書き込みの内容が嘘であることを「証明してみろ」という傲慢な態度を示してきましたが、これからはおいらが書き込みの内容が真実であることを証明してから大衆の目に触れさせることにしますですー、、、 いやぁ、よく考えると始めからこうするのが当然だったのかも知れませんねー。。。 ちなみに最近はDHCの裁判の模様をお伝えしてますが、それも話半分で聞いていてくださいー、、、 おいらは相手側の主張の極一部を抜き取って、自分の都合の良いように歪曲して報告してますが、その前後の話も含めれば本当は全く違う状況なんですよー、、、えぇえぇ、、、 おいらってば本当に卑劣な人間なんですよー。。。 向こうの弁護士さんも相当に怒っていると思いますですー。。。 ついでに言っておきますが、DHCの件もこれまでと同様に旗色が悪くなったら報告するのを止めますので予めご了承くださいですー、、、 本当は結果まで全て真実を報告して、もし削除するよう決定がくだれば、相手側の企業に対する謝罪のひとつでも掲載するべきなんですよねー。。。 おいらってば人格障害者なもんで許して欲しいですー。。。 んじゃ!
>>572 HTMLの中に書いてくからとっつきやすいだけでしょ
>>572 簡単ってよく言われる割には、Perlみたいに自作スクリプト配布してる人
少ないよね。(国内限定で)
もうたいていの鯖でPHPは動かせるし、Perlよりも設置は簡単だと思うんだけどなぁ。
(/usr/bin/perlのパスを変更する手間が無いから、
初心者が躓く原因を一つだけ減らせる)
>>575 それよりも、見た目がまんまCで覚えることが少ないからじゃない?
phpやりはじめたけど難しいです・・・・・ perlだと $hoge =~ /(\S+)\s+(.+)/; print "$1 : $2"; って書いてたもの、phpだとどんな風に記述するんでしょうか? eregで\Sとかにマッチしなくて泣きそうです。
579 :
nobodyさん :02/04/16 18:24 ID:A/BDgF1b
>>576 >もうたいていの鯖でPHPは動かせるし
そうか?半分くらいのような感覚なんだけど。
あと、データベースが使えるところはさらに少ない。
DB連携できないならPerlでも十分だしね。
負荷の問題はあるけれども。
なんとpregなんて便利なものがあったのね・・・ ありがとうございました。
phpって、クラス内変数とかメソッドとか呼び出すとき、いちいち $this->str とか $this->method() ってしなきゃいけないの?
>>575 そのとっつきやすさって結構重要だよ。しかもperlより
WEB向きなんだし。〜より簡単なのって優れた事なんじゃないの?
何かプライドでもあるのかプログラマってのはよくわからん。
実際Cやってた人間から見ると圧倒的にPHPの方がとっつきやすい。
Perlからクソめんどくさい事抜いたらPHPになったって感じなんだけどなあ。
>583 とりあえず、自分的にはヘッダ関係考えなくていいだけで PHP楽だ〜って思ったよ・・・。 超遅レスだけど。 >446 どうやら、CGI版PHPじゃないと<STDIN>(だったかな? が空になってる模様。 CGIとして動作してるPHPなら出来そうという意見が。
>>571 1ページ目が.htmlの掲示板で、それをやろうとしたけど
できなくて、諦めたよ。
NNでは化けないけど、IEだと化けたような覚えがある。
PHP4.1.2にバージョンアップしたら、session_start();するだけで Fatal error: Failed to initialize session module って初期化に失敗するんだけど、これって何故? MLの過去ログに同じ現象の人見つけたけど、誰もレスして無かったよ。 phpinfo見ると、sessionは有効になってるんだけどなぁ。
587 :
586 :02/04/17 16:18 ID:???
>>586 あぼーんします。
カスタムセッションハンドラ使ってました。
RFC822形式の日付(date("r"))を、Epochに逆算する関数ってある? ereg&mktimeでやるしかないのか。
589 :
588 :02/04/17 20:30 ID:???
PHP 4.1.2
590 :
nobodyさん :02/04/18 03:34 ID:IMuTE+9J
質問です。 Windows版 php4.1.2 + IIS 4 on NT な環境です。 スクリプトの中で、そのスクリプトを実行するユーザー毎に 8文字位のパスワードを生成したいのですが、Win環境な為、 crypt() 関数が使えません。 とりあえず md5() の結果の頭8文字を取ってきてパスワードと しているのですが、結果が16進数なので数字ばかりであまり 好きではありません。ユーザーID毎のパスワードなのでダブっても いいのですが、できればアルファベット26文字+数字の組み合わせを パスワードとしたいのです。 Win環境で簡単にランダムな英数字の文字列を生成する方法はないでしょうか。
591 :
588 :02/04/18 10:11 ID:???
16進数を(26+10)進数に、変換すればいいだけじゃないの?
592 :
nobodyさん :02/04/18 12:17 ID:8LmMiEMy
単純なメールフォームをphpでつくってます。 php.iniの設定は以下の通りです。 ------------------------------------------------------------ mbstring.detect_order ----- auto mbstring.http_input ----- auto mbstring.http_output ----- pass mbstring.internal_encoding ----- EUC-JP mbstring.substitute_character ----- no value ------------------------------------------------------------ フォームを置いているindex.phpはEUCです。 そこから呼び出してメール送信させるmail.phpの中身もEUCです。 なのに、 メール本文のうち、 ・index.phpで入力した日本語(value) ・mail.phpの中に書き込んでる日本語(<値一覧>みたいな日本語> が文字化けしてしまいます。 なお、index.phpの<input type="text" name="なまえ" value=""> とある「なまえ」の文字は、正常にメールに表示されてます。 なぜなのでしょうか?お教えいただければ幸いです。
593 :
nobodyさん :02/04/18 17:29 ID:4lmPxRyS
//●1 //まず変数がこのようにあるとします。 $aaa1 = "A"; $aaa2 = "B"; $aaa3 = "C"; //●2 //画面に出力 echo"$aaa1<BR>\n"; echo"$aaa2<BR>\n"; echo"$aaa3<BR>\n"; ↓ ■結果 A B C =================================================== 初歩的な事で申し訳ないのですが以下の質問があります。 =================================================== ●2の部分で、1つづず「echo」で出力するのではなく 「for」等で出力するには、 for($i=1; $i<=3; $i++){ echo"$aaa$i<BR>\n"; } のように考えたのですが、うまく ■結果 のようには出来ません。 どのようにすればうまく表示できるのでしょうか? よろしくお願いします。
594 :
590 :02/04/18 19:11 ID:IMuTE+9J
>> 591 それって、どのようにして変換すればよいのでしょうか? ソースをご教授いただけると助かります。
>>568 いくつかのファイルをphpとして動かす場合はどう書けばいいの?
しかし、悲しくなるくらい低レベルなスレだな・・
598 :
590 :02/04/18 21:20 ID:IMuTE+9J
こうかな。 $password = substr( base_convert( md5($string), 16, 36 ) , 0, 8 );
>>511 から質問したものです。
未だに成功しないので、質問させて下さい。
perlアクセス解析cgiをPHPから動かしたいのですが、
systemで引数?(GET?)が渡せません。
system("/home/user/www/cgi-bin/hoge/stat.cgi?LOG=index") はダメです。
LOG=indexの渡し方を知ってるかたいますか?
>>592 mail()のメールヘッダ部分で文字コードの指定してる?
してなければたぶんそれが原因。
>>599 env QUERY_STRING=LOG=index /home/user/www/cgi-bin/hoge/stat.cgi
>597 一時期、もっと楽しかったんだけどなぁ・・・。 そういえば、PHP4.2.0RC4どうなん? 流石に他の人に貸してる環境に入れることも出来ず 様子見してるんだけど。
603 :
592 :02/04/19 00:03 ID:bxirOF7Z
>>600 さんありがとうです。
「Content-Type: text/plain; charset=iso-2022-jp」のことですよね。
つけてなかったのでつけたのですが、そしたら本文が全部文字化けしてしまいました。
(半角かなばっかり。これってどういう化けかたでしたっけ???)
なお、サブジェクトは正常に日本語が表示されてます。
($subject = mb_encode_mimeheader("EMAIl FROM どこそこ"); としてます)
あと言い忘れましたが(すみません)、FreeBSD 4.2 で、PHP4.0.6 です。
605 :
592=603 :02/04/19 00:58 ID:stB036rz
>>604 ありがとうございます。とりあえず自分も、
http://www.spencernetwork.org/ を使って動きました。
ただ疑問なのが、別のサーバ(RedHat6とPHP3)で、
mail($Mailto,i18n_mime_header_encode("さぶじぇくと"),"にほんご")
ってだけで(このphpファイルはEUC)、ちゃんとJISのメールが送られて、
しかも、「Content-Type: text/plain; charset=iso-2022-jp」が付いている例が
あるんですよ。
だから、とくに文字コードを意識しなくても前述のようにメールが送れると今まで思いこんでいて。。。
この別のサーバで正常に送れているのは、PHPでなく、Sendmailか何か別の設定のせいなんでしょうか・・・?
>605 そのPHP3って、国際化バージョンでは? 文字コードの自動認識とかは、PHP3のが強かった気がする。 PHP4でやるなら、明示的に指定したほうが事故ないですよ〜。
>>601 お返事ありがとうございます。色々試しましたが、うまくいっておりません。
include("env QUERY_STRING=LOG=index /home/user/www/cgi-bin/hoge/stat.cgi"); //ダメ
こんなこともやってみましたが、ダメでした。
system("QUERY_STRING=LOG=index"):
system("export QUERY_STRING");
system('/home/user/www/cgi-bin/hoge/stat.cgi"); // エラーとなる。
ちなみに、上記表示で見えたところでは、サーバはLinuxでシェルは、bashです。(telnet不可)
他に stat.cgi にQUERY_STRINGを渡す方法はあるでしょうか?
608 :
nobodyさん :02/04/19 09:56 ID:3KXoKyNv
PHP + MySQL
http://pc.2ch.net/test/read.cgi/php/983250751/209-213 から飛んできました。
Apache + mod_php を使っています。
データベースにアクセスするパスワードなんかをスクリプトに埋め込んで、
そのスクリプトを他のユーザに詠まれないようにしたい、ということです。
CGI なら suExec で user=www ( or nobody) => user=ore に
権限を変更できるので、パーミッション 600 で OK なんですが、
モジュールの場合は user = www ( or nobody) のままなので
600 にはできないです。
結局
safe_mode = on
safe_mode_exec_dir = "."
open_basedir , doc_root を適切に設定。
を適切に設定することで何とかなりそうかな、ということだったんですが、
それでもパスワードを含むスクリプトを 600 にはできないですよね?
となると、ssh とかでログインして作業している他のユーザには
読まれてしまうわけで……
まだあんまりやったことないですが PHP を CGI として動かそうかな、とか。
>607
>system('/home/user/www/cgi-bin/hoge/stat.cgi"); // エラーとなる。
これそのままコピーしてきた奴?
だとしたら、「""」でちゃんと閉じてないよ。最初の方が「'」になってる。
あと、
http://www.itboost.co.jp/php/php_05.phpに説明がある system("/home/your/bgprog $arg1 $arg2 > /dev/null &");
ではダメ?
610 :
すえぐぜく? :02/04/19 11:40 ID:3KXoKyNv
http://www.php.net/ への投稿でも結局のところ次のような感じでした。
[email protected] 24-Mar-2002 12:09
If you install PHP as a CGI (
http://www.php.net/manual/en/security.cgi-bin.php )
and then set up Apache with suexec enabled (
http://httpd.apache.org/docs/suexec.html ),
you can set your PHP scripts' permissions to 700, thereby making it more
difficult for other users of the system to get at your MySQL passwords. I
like this setup anyway, because under it a user's script runs with the
user's ID. Scripts thus inherit the user's permissions and can read and
write files without setting the files' permissions so as to open the files
up to other users -- handy for the user and the sysop, from a security
point of view.
Sure, running PHP as a CGI isn't as efficient as running it as an Apache
module (according to my informal benchmarks, the former setup can only
handle about one third as many concurrent users as the latter), but for
many people, the added security is worth the performance trade off.
いや、やりたかったのは Xoops っていう PHP ベースのポータルサイト構築
ツールを使いたかったんですが、その config.php ファイルに MySQL への
接続パスワードを書くようになってるので、パーミッションを 600 にしたい、
ということだったんです。
んが、さっき CGI として Xoops を動かしてみようとすると、動かなかった……
611 :
nobodyさん :02/04/19 12:29 ID:3oF7V8+F
PHP4のScriptをPHP5に移行する時は、
ソースの書き換えが大量に発生する予感
とdev側でアナウンスされたというのはマジ?
前に日本語MLでちらっと話が出てたのだけど、気になって
JSPに移行しようかと悩む今日この頃
>>610 パスワードを返すところだけ、PHP以外を使うというのはどう?
>611 マジかと。 で、PHP-dev ML.JPでは <?php version="5.0" ?> という風にバージョンわけ出来るように話して見ます? みたいな事が投稿されてました。 まあ、PHP4とPHP5を一緒にインストール出来るように なっていれば、そこまで問題ならないような気もするけど・・・。 php.iniでPHP4 or PHP5というのをディレクトリ別に 設定できるとうれしいかも。
613 :
nobodyさん :02/04/19 14:37 ID:3oF7V8+F
>php.iniでPHP4 or PHP5というのをディレクトリ別に >設定できるとうれしいかも。 うちもうれしいかも 鯖管が新しい物好きという困った状況の時 拡張子phpをphp4にする作業がなくなるかも
614 :
nobodyさん :02/04/19 15:22 ID:uydc7dr5
変数を自動的に割り当てたいんですが何か良い方法ありますか? たとえば、 $a=1; while($a < 5){ $a++; $wari=5+$a; echo $wari; } というようなプログラムでこの$wariを 値が6のときは$wari1、値が7のときは$wari2・・・みたいに 名前を自動的に変えたいのですが。 いい方法を知っていらっしゃる方がいたら是非ご教授お願います。 ちなみに、実際作っているプログラムでの$wariの値はデータベ ースの検索結果を当てています。
615 :
nobodyさん :02/04/19 15:25 ID:uydc7dr5
あ、言い忘れました。 >while($a < 5){ ここの5という数字は適当です。 今書いてるプログラムではここに当てはまる数字がいくつでも対応する ようにしなければいけないです。 すいませんが、よろしくお願いします。
616 :
nobodyさん :02/04/19 19:11 ID:Kja3u5oC
${wari$a}=5+$a;
>>612 「いちおうdevloper」な立場から言わせて頂くと、
versionディレクティブが採用される確立は0に
等しいです。良いアイデアだとは思いますが。
ただ、4->5のスクリプトコンバータは作成される
可能性があります。
i18n関連はこれから実装されるでしょう。ただ、
なんとなくな方向性が決まっているだけなので
どうなるかはまだ分かりません。
>>608 >それでもパスワードを含むスクリプトを 600 にはできないですよね?
別にソース内にパスワードを書く必要は無いでしょ。
PHPでパスワードファイルを作成し、パーミッションを 600にします。
パスワード作成のPHPは削除します。(これを覗かれたら意味無い)
パスワードファイルの所有者は www (apacheのUser 以下wwwと表記),パーミッションは 600 になるので、
www 若しくは root 以外では開く事は出来ません。
CGIはsuexecにより、www以外のユーザで動くようにします。
これで www もしくは root 以外ではパスワードファイルは覗けない事になります。
しかしこのままでは他人のPHPから覗けることになるので、safe_mode等で制限するのです。
# ポイントは「PHPでパスワードファイルを作成」です。
# PHPで作成したファイルは所有者が www なのでパーミッションを600にしてもPHPから読み込めます。
# また、CGI、SSHなどでは読み込めなくなります。
## ローカルでパスワードファイルを作ってFTP/SSHでログインしてvi等でパスワードファイルを作成
## では所有者がwwwでは無いのでパーミッションを600にするとPHPからパスワードを読み込めなくなります。
わざわざパスワードファイル作成用のPHP作らないといけないし、パスワードファイルの
削除もPHPから行わないといけないし結構面倒です。
# けど、コマンドライン版PHPでCGIとして動かすぐらいならPHP止めて、Perl使うな俺は。
##(あくまで個人的にはです。理由は色々。)
suexecに対応すればそれが一番簡単なんですけどね。PHP5で対応してくれないかなぁ。
>php.iniでPHP4 or PHP5というのをディレクトリ別に >設定できるとうれしいかも。 php.iniでは無くhttpd.confや.htaccessの範疇だと思いますが。
>617 うーん、そうなんだ。 残念。 コンバータはどうなんだろう・・・。 結局手直しがかなりいりそうな予感も。 >618 suexec(またはそれに変わる何か)には対応してほしいね。 そのあたり、話にでてるのかなぁ・・・。 英語MLは読んでないから、情報ほしいところ。 >619 あー、そうっスね。 ディレクトリ別の設定ならphp_valueか。
621 :
nobodyさん :02/04/20 04:25 ID:Mslw1o2N
windows版(apache+php4)にて、コンテンツ作成しているんですが、 phpでのBasic認証ができません。 下記ソースにアクセスすると、[500 Internal Server Error]を返します。 apacheのerror.logには、「Bad header=HTTP/1.0 401 Unauthorized: c:/php4/php.exe」なんて かかれてます。 もしかして、windows版phpは、これ使えないのでしょうか? ちなみに、同じソースをLinux版で試すとokでした。 ===== <?php if (!isset($PHP_AUTH_USER)) { header("WWW-Authenticate: Basic realm=\"My Realm\""); header("HTTP/1.0 401 Unauthorized"); echo "ユーザーがキャンセルボタンを押した時に送信されるテキスト\n"; exit; } else { echo "<p>こんにちは、$PHP_AUTH_USER さん。</p>"; echo "<p>あなたは、$PHP_AUTH_PW をパスワードとして入力しました。</p>"; } ?> ===
>>621 C:\php\にちゃんとphp.exeはあるのか?
header("Status: 401 Unauthorized"); にしてみたら?
Apacheモジュールとして動かしてる?
625 :
nobodyさん :02/04/20 22:08 ID:Mslw1o2N
621 です。 phpをCGI版じゃなく、Apacheモジュールとして動作させ 解決しました。どうもでした。
626 :
nobodyさん :02/04/20 22:17 ID:dRKvCqvI
warning Inside of the start "/www/flashkit/php/DB_.inc" which went wrong for :inclusion (include_path=":/www/flashkit/board:/usr -- /local//php / release / php:/www/flashkit/html is stacked -- ") /www2/flashkit/html/jump.php on-line 4 Fatal error : The member function on a non-object is called. It is a /www2/flashkit/html/jump.php on-line. 5 これは、どうゆう意味でしょうか?ご教授ください。
英語というだけで努力を放棄する人間が多いと思いませんか?
英語だけど読んでごらん。 Fatal error : The member function on a non-object is called. It is a /www2/flashkit/html/jump.php on-line. 5
629 :
nobodyさん :02/04/21 00:50 ID:wb3vDYFU
PHPの勉強するときって、ローカルの自分のマシンだけでできるの? Windows2000だけでできるの? Linuxとか使わないとだめ?
>>629 数レス前のログさえ読まないお馬鹿さんにはPHPの勉強は無理だと思われ。
>>626 中学校から人生やりなおせ。
>>629 そうだよ。君には Linux が必要だ。
何冊か本や雑誌を買ってきて、勉強しながらインストールしてみよう。
632 :
nobodyさん :02/04/21 11:47 ID:/tnBoE3S
英語ぐらいは読めるんですが、どのような警告と致命的エラーかが 知りたいんですよね。
警告:warning Inside of the start "/www/flashkit/php/DB_.inc" which went wrong for :inclusion エラー:The member function on a non-object is called.
>>632 ふーん。読めるのに意味が分からないのか。
やっぱ中学校からやり直しな
phpだとPATH_INFOでいろいろ渡せないんですか?
http:// 〜/hoge.php/zzz みたいに使いたいんですが・・・・
渡せるか渡せないかはCGIかPHPかで決まるんじゃなく サーバソフトで決まるだろ。
637 :
635 :02/04/21 16:22 ID:???
私もサーバ側で決まるんだと思ってたんですが、hoge.php/zzz だと404が出て、 hoge.cgi/zzz は期待通りに動くので、phpだとできないのかと思った次第です。 サーバの環境としては、Apache2.0.35にphp4.2RC3をDSOで入れてあります。
>>637 どうやってPATH_INFOを取得しようとしてるのか、その部分のコードを書け。
PHPってソケットみたいなことできますか?
641 :
635 :02/04/21 17:23 ID:???
うーん、取得以前の問題で、hoge.php/zzzとかをリクエストすると404NotFoundになってしまうんです。 今のところ、hoge.phpとしては、 <? print "hello"; ?> しか書いてません。 実際にPATH_INFOを取得するのはこれがきちんと動いてからやろうと思ってます。 hoge.cgiの方は、 #!/usr/local/bin/perl print "Content-type: text/plain\n\n"; print "hello", $ENV{PATH_INFO}; で、正常に稼動しています。
PATH_INFO付けなくても404になるってオチだったら殺す。
643 :
635 :02/04/21 17:33 ID:???
それだけはないから安心してください。
644 :
nobodyさん :02/04/21 17:55 ID:73tQq+TH
そういえば、PATH_INFO使うと virtual() が正常に動作しないんだよね。 PATH_INFO使わないで参照すると正常に動作するんだけど。
645 :
nobodyさん :02/04/22 02:36 ID:AXvATEcm
教えてください。 プログラムの問題ではないので恐縮ですが、 *.phpでHTML表記部分(?)の<A href="#NAME">がうまくいかず、困ってます。 拡張子を*.htmにするとうまくいくのですが、 これはどうすればいいでしょうか。
教えてください。
プログラムの問題ではないので恐縮ですが、
>>645 の人は何がうまくいかない為状況が判らず、困っています。
私の環境ではうまくいくのですが、
コヤツにどう答えればいいのでしょうか。
>>645 の人は何がうまくいかない為状況が判らず、困っています。
↓
>>645 の人は何がうまくいかないのか書いていない為、状況が判らず、困っています。
鬱だ詩嚢
<? $new_w=100; $new_h=100; header("Content-type: image/gif"); $dst_img=ImageCreate($new_w,$new_h); $src_img=ImageCreateFromGif("./test.gif"); ImageCopy($dst_img,$src_img,0,0,0,0,ImageSX($src_img),ImageSY($src_img)); ImageGif($dst_img); ?> test.gifは20×3の画像。色は赤一色。 この画像を$dst_imgに重ねたいのですが、 上記ソースを実行しても、100×100の赤く塗りつぶされた画像になってしまいます。 $dst_imgの背景色を白として、test.gifを重ねるにはどうしたらよいのでしょうか?
>>645 百万回ソースを見直せ。
実際に動かして表示されたページのソースを保存してさらに百万回見直せ。
>>648 バックグラウンドに使用する画像は空という罠。
おとなしくバックの白い画像も用意するのが吉。
651 :
650 :02/04/22 04:13 ID:???
スマソ ImageCreate使った後に ImageColorAllocate使えば塗りつぶしできるな。
652 :
648 :02/04/22 19:47 ID:???
自己レス。 ImageCreateしたイメージを一旦名前を付けて保存し、 改めて開き、ImageCopyすることで重ねることが出来ました。
653 :
645 :02/04/22 21:20 ID:AXvATEcm
>>646 、649
レスありがとうございます。
むちゃくちゃな質問してしまってすいませんでした。
原因がわかりました。
上手く動かなかったのは、サーバプログラムを導入していないPCでテストしていたためでした。
サーバに上げたら正常に動作しています。
お騒がせしてしまい、本当に申し訳ありませんでした。
654 :
_ ◆IVXmlxmI :02/04/23 12:50 ID:3ZaaJEvL
655 :
nobodyさん :02/04/23 13:38 ID:ztAlz169
4.2.0で mb_http_output('SJIS'); ob_start('mb_output_handler'); と、 header("Content-type: text/plain"); とかヘッダー関数を一緒に使うとなんも表示されなくなった。 これはバグなのか? 4.1.2では両方とも同時に使えていたのだけど。
PHP4.2.0インストール報告。 とりあえず、APCはcvsバージョンで普通に入った。 あと、safe_mode使ってるとsafe_mode_include_dirの書き方が 微妙に変わったらしく前のまま(シングルクオート)で囲ってると ダメだった。 >654 register_globals のデフォルトがoffになるの、 思ったより早かったね。 4.3.0あたりからだと思っていたのに。
>>656 解説本書いてる人たちは直し面倒だろうなぁ
MLみるとmb関連などで4.2.1が出そうな雰囲気なので
うちではちょっと我慢
658 :
655 :02/04/23 18:07 ID:ztAlz169
mbstring.c の 1.65をCSVから拾ってきて使ってみたら、 表示はされるようになったが、今度はSJIS変換が効いてない・・
ルートに置いているPHPスクリプトで各ユーザのファイルの有無を調べ一覧を返 すようなものを作りたいのですが、権限なしとでます。 PHPスクリプト内で実行権限をnobodyから変えるようなことはできますでしょうか
馬鹿が前スレあげたのでage
661 :
nobodyさん :02/04/23 22:17 ID:jWd71drq
質問があります。 zend studio(PHP統合開発環境)で、デバッグURLできないんだけど、どうすれば良い? デバッグURLというのは、実際に稼動しているサーバのPHPスクリプトをデバッグする機能。 今までに行った設定は、普通にzend studioをインストールして、ポート10000空けただけ。 ほかに必要な設定とかありますか?
662 :
661 :02/04/23 22:26 ID:jWd71drq
説明不足のため追加説明です。
localhostのウェブサーバに接続しています(WEBサーバのマシンとデバッグしているマシンが同じ)
デバッグURLを行ったときの状況は、
デバッグURL(F8を押したとき)
The Zend Debug Server did not connect.
Please check the Troubleshooting pane for possible causes.と出力される
zend server centerボタンを押したとき
the zend server is not installed on
http://localhost/と出ます 。
663 :
592=603 :02/04/23 22:45 ID:B45a096e
>>606 えらく遅レスですみませんが、PHP3は、確かに国際化版です。
でも、PHP4の方は、PHP4.0.6なんですよ。(mb_なんちゃらの関数があるやつ)
だから、「PHP4の国際化版」ということですよね?
>663 PHP4.0.6の「自動変換」系の処理はあまり信用したら ダメだと思う・・・。 (何となくそのあたりのバージョンのmail関数に バグがあった気がするんだけど覚えてない。 スマソ。) PHP3国際化は化けなかったけど、PHP4にしたら 化けた、ってことも多かったし。 出来るだけ明示的に指定したほうがいいですよ〜。
665 :
663 :02/04/23 23:48 ID:B45a096e
>>664 なるほどー、1つ物知りになりました。ありがとうございます。
666 :
nobodyさん :02/04/24 11:55 ID:27Mq6623
PHP+MySQL初挑戦の者です(むしろDB連繋初挑戦) PHP側からMySQLへUPDATEでデータ更新を行うと思っくそ文字化けします。 データを投げる際、文字コードをEUCやSJISへの変換も試みてみたのですが 全くうまく行きません。表示側での文字化けでなく、DB内部で文字化けしています。 ドキュメントも全然見つからないので質問しました。 なにぶんDB自体まだ不慣れなので根本的な点で躓いているかもしれませんが、 助言お願いします。
667 :
nobodyさん :02/04/24 12:49 ID:xs5bIMSG
とりあえず全部EUCでやってみたら。 それなら変換いらないはず。 たぶん入力フォームとデータ表示ページの文字コードが違ってるんではないかと。 関係するすべてのhtmlファイルににmetaタグでEUCを明示してみて。
668 :
666 :02/04/24 13:40 ID:27Mq6623
>>667 ありがとうございます、解決しました。
ソースの文字コードを全部EUCにしたら変換無しでも
正常にデータ更新が行えました。
我ながら超初歩的な点で躓いていたなと反省します。
669 :
nobodyさん :02/04/24 14:25 ID:qHnTuQcb
EUCにすると、ブラウザは自動判別してくれるんですが、 iモードはs_jisしか対応してないみたいで文字化けします。 どーすりゃいいでしょうか
>668 解決したみたいだけど、少し補足。 MySQLは確かデフォルトでEUCだったはずなので ブラウザからの入力、ブラウザに対する出力がSJISなら 入力(SJIS)>(mbstringでEUCに変換)>DBにinsert DBからselect>mbstringでSJISに変換>ブラウザに出力 ってかんじのことがいります。 他の方法として、自分は内部エンコードをUTF-8にして MySQLのBLOB型にバイナリとして保存、ということをやってます。 以上参考になれば。 >669 単に出力をSJISにするだけでは?
perlのglobに相当することを手軽にやるにはどうすればいいの? opendir(),readdir()の結果から該当しないものをオミットするとか考えたんだけど、もっと簡単にできるものがありそうで。
673 :
nobodyさん :02/04/24 19:46 ID:tWCSSODi
674 :
nobodyさん :02/04/24 19:48 ID:tHbMJxml
PHPで、毎回アクセスするごとに違うファイルを表示することはできるのですか?
675 :
nobodyさん :02/04/24 22:31 ID:2H1uzio+
>>674 君....
それは、難しすぎる
他の板に行ってくれ。
676 :
nobodyさん :02/04/25 01:35 ID:Dqy3iBWZ
winユーザーでXPなんですけど、
最近PHPをはじめました。
んで、DBを使う時に、いろいろなページや本を見ると、
ほとんどすべてLinuxを使ってますよね。
やはり、本格的にPHPでDBを使うなら、Linuxを導入しなければ
いけないのでしょうか…。
http://hp.vector.co.jp/authors/VA023283/ このようにwinでPostgreSQLを使えるようなものもあるみたいですが、
どうなんでしょう…。
>>676 全然Windowsでも問題ないと思うんですが。
MySQL 良いよ。早くて。Windowsでも使えますし。
678 :
:02/04/25 07:47 ID:???
winのMySQL使うべし。
679 :
nobodyさん :02/04/25 10:10 ID:iOYJ99hT
>>676 >本格的にPHPでDBを使うなら
本格的にやるなら,Linux導入したほうがいいよ。
ネット上に落ちているPHP + DB(MySQL)連動のものは
ほとんどLinux + Apache環境で開発されてるからね。
PHPが使えるレンタルサーバーとかでもLinuxベースだしね。
$message = "./whats.txt"; $msg = file($message); srand((double)microtime()*1000000); $num = rand() % sizeof($msg); echo("$msg[$num]"); という風にTOPページに馬鹿げたランダム嘘新着情報を表示してる俺…。応用でランダム馬鹿TOP画像も。
681 :
ok :02/04/25 22:13 ID:???
mail()でメールが送れないんですけど、できますか? メールサーバーにqmailをつかっていてsendmailははいっていません phpのバージョンは4.2です
682 :
nobodyさん :02/04/26 01:10 ID:gdGuor6I
683 :
ok :02/04/26 21:00 ID:???
sendmail_path=/var/qmail/bin/sendmail って設定したんですけどこれじゃあダメですか?
684 :
名無し :02/04/26 21:00 ID:hGC+fs9V
windows2000pro+apache+PHP4で楽しく遊んでいますが。 ネットワーク接続するとライセンス違反であるというの 本当ですか。 会社のイントラネットで150台つないで使っています。
685 :
nobodyさん :02/04/26 22:25 ID:Sgu23qbz
文字列が 0-9 と , だけで 構成されているかどうかを調べるには どうすれば良いでしょうか?
686 :
nobodyさん :02/04/27 00:09 ID:40Y3gDf/
>>683 sendmail -t -i
でやってみ
687 :
nobodyさん :02/04/27 00:46 ID:5ozKIanz
>>685 if(ereg([^0-9,])){
}
よってるからだめだったらすまn
10進数→62進数、62進数→10進数の関数を作っています。 PHPで$str = base_convert($digit, 10, 62)なんてやってみましたが、2〜32進数までしか対応して いないようです。 googleで調べたところ、perlの変換コードはあったので、それを応用しようとしていますが、 はまっています。 何か簡単な方法なぞあるのでしょうか?
689 :
nobodyさん :02/04/27 02:36 ID:40Y3gDf/
>>685 if (preg_match("/^([0-9,]+|[^.*])$/i", $str)){
}
こんなんはどう?
690 :
:02/04/27 14:32 ID:o0HNGDqt
gazou.php以外に画像掲示板って無いかのう?
692 :
:02/04/27 18:37 ID:???
>691 答えないなら黙ってろよ。
694 :
nobodyさん :02/04/28 15:28 ID:T4n5Tvqk
PHP 版 Algorithm::Diff みたいなものはありませんか?
695 :
nobodyさん :02/04/29 01:09 ID:6cDOgkjX
>694 Chora CVS Viewer とかで使われてるdiff.phpとかの中身参考にして作れば?
696 :
nobodyさん :02/04/29 04:54 ID:g+MD6PFP
PHPだけでつくられてるYomi-Searchみたいな検索エンジンはないですか?
697 :
nobodyさん :02/04/29 09:23 ID:SgsfgQTv
はじめまして。契約しているレンタルサーバー上(Linux)でPHP4.1.2 とPostgreSQLが使えるんですが 動的なレコードセットオブジェクトを作成する方法はありますか? ADOやRDO、OO4OのようにSELECTで発行したレコードセット上でADDやUPDATE、 DELETEを行いたいんです
698 :
nobodyさん :02/05/01 00:54 ID:c7UNrZdf
PHPで、ヘッド、メイン、フットをくっつけられる スクリプトを配布してるところありませんか?
>>698 君....
それは、難しすぎる
他の板に行ってくれ。
>>698 小一時間問いつめて(・∀・)イイ?
<?php
readfile("~/public_html/header.html");
?>
702 :
nobodyさん :02/05/02 10:27 ID:H4uNVy/3
MySQLの使い方がわかんないです。 いろんなサイトを参考にして、Windows2000にApache、PHP4、MySQLをインストールして ブラウザからローカルでPHPをテストできるところまで行きました。 あとはPHPからMySQLに接続すればSQL文を送信れきるんですよね? そのためにはMySQLを起動するんでしょうか? なんか信号機みたいなアイコンが出ます。信号は赤です。 できればサービスとして使いたいのですが。
703 :
kossy :02/05/02 11:32 ID:Ogsl+RYn
704 :
nobodyさん :02/05/02 14:25 ID:ReJCGtLp
質問です。 ファイル書き込みで、バイナリで書き込みたいんですが どうすれば良いですか? fwriteの引数の型がstringの為、文字列として書き込まれてしまうのですが。。 ちなみにUNIXです。 $data = 1; fwrite( $fp, $data ); ファイルの中身は0x31。 0x01で書き込みたい。 申し訳ありませんが、宜しくお願い致します。
705 :
nobodyさん :02/05/02 15:09 ID:LWXh07pJ
>>704 fopen("FILE", "wb")
で開いてみれば?
706 :
nobodyさん :02/05/02 15:12 ID:StaNwaI6
PHPって同じオブジェクトを複数の変数から 参照することって出来ないんですか? $a = new test; $a->bar = "NG"; $b = $a; $b->bar = "OK"; echo $a->bar; class test { var $bar; } このスクリプトの結果が"NG"になって ちょっとショックなんですが・・・
707 :
nobodyさん :02/05/02 15:16 ID:ReJCGtLp
>>705 それは試したのですが、ダメだったのです。
バイナリファイルを読み込んで(0x01)、そのままその値を編集せず
書き込んだ場合はOK(0x01)なのですが。。
コード上で値をいれようとすると文字列になってしまうのです。
$data = 0x01;
fwrite( $fp, $data );
これでもファイル内は0x31
709 :
706 :02/05/02 15:29 ID:???
710 :
nobodyさん :02/05/02 15:33 ID:SdWAUBLy
>>707 $data = chr(1);
fwrite($fp,$data);
これじゃダメなの??
711 :
nobodyさん :02/05/02 15:46 ID:ReJCGtLp
>>710 ありがとうございます。
ただし、1バイトを越える値の場合は何か良い方法ありますか?
あぼーん
713 :
nobodyさん :02/05/03 10:53 ID:2N37GTgZ
今、phpでカウンタ作ってるんですが、ちょっと疑問に思ったので。 $count = "0\n"; のとき、$count ++; とか ++$count; ってやると 0\n のままで、 $count += 1; ってやると 1 になるのはなんででしょうか? よろしければご教授ください。
714 :
nobodyさん :02/05/03 13:22 ID:2f1x5Gpc
715 :
nobodyさん :02/05/03 13:36 ID:6+RS1vf9
ー^@−^@−^@−^@−^@−^@−^@−^@−^@−^@−^@−^@−^@−^@−^@−^@−^@−^@−^@−^@−^@
717 :
nobodyさん :02/05/03 13:48 ID:6+RS1vf9
っっっっっっplj;。ぐ。いぃぅfrflるflるい;とpt8989
718 :
nobodyさん :02/05/03 15:58 ID:o476aILp
携帯電話からアクセスしたときだけ、セッションがうまくいきません。 session_start();でエラーになるようです。 Failed to write session data(files).〜のエラーが表示されますが、セッションファイルはちゃんと作られています。読み取りがうまくできていないのでしょうか? PCからアクセスときは上手く動くのに・・・なぜでしょうか?
┐(`ー`)┌
720 :
714 :02/05/03 16:47 ID:jtB/eSrY
>>716 ありがとうございます。
その方法だと当然JavaScriptをオフにしている環境ではカウント自体されませんよね?
html+PHPだけで実現させる方法はない、という理解でいいでしょうか?
できればブラウザに依存しない方法を使いたいのですが。
ちなみに、hoge.netでは.htaccessは使えますが、関係ない・・・かな?
721 :
710 :02/05/03 16:58 ID:ae/2vlov
>>711 気になったので調べてみたけど、イマイチ無いっぽかった。
変数にためてたのを、一括して出力したいって事だよね?
だとしたら、packもちょっと違うし・・・
1byteづつ地道にやるしか?
あぼーん
>720 普通に考えたら無理かと。 hoge.netの方のhttpd.confいじれるなら リダイレクトさせればリファはhoge.net以前のサイトのやつになるけど。
724 :
nobodyさん :02/05/03 21:53 ID:A7Qo48zv
>>721 亀レスですみません。
やはりそうですかぁ。
どうもありがとうございました。
>>720 飛び先のサーバにはHTTP_REFERERがわたらないので、
PHP側では何をやってもムリ。
つーか、referer なんていくらでも偽装できるし、Referer: を除去する
プロキシもあるんで、ブラウザ依存性を排除することにあんまり意味はないような。
# Referer: を除去するプロキシでも JavaScript を使えば referer を取れる。
726 :
nobodyさん :02/05/04 01:09 ID:9sXlelN5
>>718 自レス。リンクURLにひっつけていた ?<?=SID?> をとったら動きました。
SIDの意味っていったい?
727 :
俺専用 :02/05/04 06:46 ID:J7LP/U4U
質問です。 PHPを使って、機種依存文字チェッカーを作りたいのですが どうすれば、よいのでしょうか?
>>727 お前専用の板があるんだからそこで聞けよ。誰も答えないかもしれんが。
729 :
714 :02/05/04 11:56 ID:???
定期的な質問になりますが、PHPのIDE環境・デバッガ等で 何か良い新しいものは出てきましたか? 有償ではZS2Jですが、なるべく無償で入手可能なもので。 他にも、「今まで○○使ってたけどアレの理由で○○に移行したよ。」 ってのもあれば聞かせて下さい。
>>718 クッキーを利用したセッションの場合は
携帯はクッキー使えんからアウトだよね。
732 :
kokom :02/05/05 01:27 ID:d193Lwiz
あのさぁー、Yahoo掲示板の インターネット→全般 の所にこんなヤツがいるんだけど、ホント迷惑なんだよね。 トピが立てられん!!。ちょっと誰か脅かしてやってください。 ソイツの名は internet_whole_category
>>730 PHP coderってまだ日本語化けるんかなぁ?
>730 >734 PHP coderはバージョンアップする気なさげ。 (というか、今ページ見ようとしたら繋がらない?) PHP Editは割と頻繁にバージョンアップしてるんだけど 2バイト文字意識してるように見えない。 (一応、ShiftJis選択すれば日本語表示はできるけど EUC-JPやUTF-8使えないんでいまいち)
737 :
nobodyさん :02/05/05 15:40 ID:OwGM3Xg3
array_sliceかな?
738 :
736 :02/05/05 21:09 ID:???
>>737 ん〜、そのセンで考えてみたけど思いつかなかったです。
具体的に説明お願いできますか?
>PHPの配列はハッシュなのでkeyを上手く利用することで
ここが最重要ポイントですよね。
739 :
nobodyさん :02/05/06 02:51 ID:ARFE3LhU
php.ini で一括設定するのではなく、 スクリプトのタイムアウトを 個々に設定するにはどうすればよいでしょうか?
>>738 あくまで、極力使わないように工夫汁ってことじゃないのかな?
forなどで回さなくてもいいところでも、回してる場合もあるし。
気になるなら、MLに流してみたらどうよ?
つーか、array系は4からのが多いのでいまいち使い忘れる。
741 :
nobodyさん :02/05/06 11:09 ID:eQDHY1YE
なんか面白そうなエディタを発見したので。
QaDRAM
http://www.visualphpstudio.com/ VBライクなPHP(Perl)IDE。
チュートリアル読んで、DBからレコードひっぱって表示するのに
1,2分で出来ました。
チュートリアル
http://studio.qadram.com/tutorial ためしにEUCのスクリプトを読み込ませたら日本語化けませんでした。
DATABASEエクスプローラなるものがあるんですが
そこでは化けましたが。(まぁあまり関係ないかも)
#イメージの置き方が分からない・・・。Image Conponentってどこにあるんだろう。
#全パッケージインストールしても無かったし。
というわけで興味ある方、いじくりたおしてみませんか。
>741 とりあえずインストールしてみたよ。 VBライクっていうかDelphi/BCBそのままだね。 設定見たらSJIS/EUC-JP/UTF-8使えるし 割と面白そう。 ちょっと研究してみます。
>>739 httpd.confとか.htaccessに書けないか?
744 :
741 :02/05/06 12:13 ID:???
>>742 どっかでVB/Delphiが選べたと思います。デフォルトはDelphiなのかな。(使った事ない)
Templateタグを選ぶとテンプレートのスクリプトが表示されるのは
いいんだけど、何故に編集できないんだろう。
絶対できると思うんだけど。(できないとおかしいですよね)
ちなみにテンプレートエンジンとの統合も予定してるとかで
昨日、投票やってました。
ちなみに自分はSmartyに+1。
近々どれを統合するか発表があるらしいですが。
>>745 とか書いた後にスマンが‥‥
ようは、日が変わる毎にランダム値を新たに作ってMD5の種にしてるっつー
事だな。ということは無理に同じロジックを持ってきても余り意味が無いの
ね‥‥。自己解決&スレ汚しスマソ。
‥‥結局2chの某板と同じID出したいっつー野望は潰えますた(;´д⊂
どうでもいいが、php.gr.jpのドメインおかしくない? うちのDNSのログにlame serverが入りまくってるんだけど。
748 :
nobodyさん :02/05/07 18:28 ID:SNb67ynd
初歩的な質問スイマセンソ。 最近PHPを導入したのですが、HTMLフォームによるPHPファイルへの変数の引渡しができません。 どの入門書にも書いてあるようなものなのですが、環境が悪いのか、PHP.iniの設定が不完全なのかわかりません。 環境はWindowsXPにApache1.3.24+PHP4.20です。 どなたかわかる方お願いします。
749 :
:02/05/07 18:37 ID:???
750 :
nobodyさん :02/05/07 19:04 ID:QNR95n8W
超初歩的な質問ですが教えて下さい。 PHPで外部のテキストを読み込んで表示させる方法はどうしたらよいのでしょうか? <html> <body> <? echo "Hello";?> </body> </html> のHelloの部分を外部のテキストファイルから読み込ませるような感じなのですが、、 どうしたらいいのかわかりません 教えて下さい
>750 fopenでファイルを開いてfread辺りで読み込み、吐き出し fcloseでファイルを閉める。 詳しくは本家のファイルシステム関数の辺りを読む。 あと、phpで掲示板ソースを配布しているところへ行ってソースを落とし 研究してみ。
外部ファイルを出力するだけなら、readfile()でよくない?
>>748 いつの頃の本かはわからないが、4.2から
$_GET,$_POST,$_SERVERなどで変数に入れる必要があります。
例えば、
<form action="manko.php" method="POST">
<input type="hidden" name="tinko" value="seisi">
<input type="submit" name="submit" value="発射">
</form>
を受け取る場合、今までは$tinkoに勝手にseisiが入ってましたが
現在は、$seisi = $_POST[seisi]とやる必要があります。
753 :
752 :02/05/07 20:08 ID:???
補足 4.2ではなく4.1からでしたが、4.2からこれが標準となりました。 誤解を招くような発言をして、あれでした。
754 :
752 :02/05/07 20:09 ID:???
更に補足 php.iniで、れじすたー_ぐろーばるとかそんな感じのを onにすれば、その作業は必要なくなります。
>752 そですね。readfileで事足りますね。 ううん、漏れもまだまだ勉強不足だわ。
756 :
nobodyさん :02/05/07 20:49 ID:ftqwPW9d
mail 関数使っても、false が返されるだけで送信されません。 php.ini で SMTPの設定をしていますが、sendmail の設定までしなきゃいけないんでしょうか。 原因をつきとめる方法を教えていただければありがたいです。
757 :
nobodyさん :02/05/07 21:55 ID:VqI4L4Y2
みなさんどうもありがとうございました。 明日早速試してみます!
758 :
nobodyさん :02/05/07 21:56 ID:VqI4L4Y2
757=748 スマソです
>>756 sendmailのログはどのようになってる?
OSとphpのバージョン、sendmailのバージョンなどを
書かないで何を答えればよいのかと。
760 :
nobodyさん :02/05/08 10:36 ID:E9E2qFUU
2時間やってるが、ドメインの完璧な正規表現が作れん 使える文字:【-】【a-z】【A-Z】【0-9】 ↑の文字数3〜63 使わなきゃいけない文字:【.】 ↑の後の文字数2〜4? このままじゃ俺狂っちゃうよ だれか頭のいい奴答えてくれ!! (eregでよろしく)
2時間ぽっちで狂っちゃいかん。 2年考えてもわからなかったら教えてやる。
ざっとでよければこんな具合かな?
/^([a-zA-Z0-9-]+\.)+[a-zA-Z0-9-]{2,4}$/
ちなみに、sub level domainは別に何文字でもいい筈。
ccTLD と gTLD ごとに決めてて、jpとかだと最低2文字。
(coとかneとかがあるから)
本当にちゃんと作りたければ、Perl メモあたりに載ってる定義からはじき出すべし。
http://www.din.or.jp/~ohzaki/perl.htm#URI あと、逆引きが設定されてない場合もあるから注意。
763 :
nobodyさん :02/05/08 14:22 ID:RSF6GQMM
Redhat の PHP 4.20 の RPM パッケージって、今あるのかな? どうよ? (PHP ホームページ行っても、ディストリビューション配布先を見ろ! 書かれてる)
xoopsに異様にこだわる人がいるけど なんかあるのか?
766 :
750 :02/05/09 17:13 ID:vZV/SkfS
>751さん752さんありがとうございます! 少し何か出来るようになってきました〜 出来れば日記プログラム自作してみたいと思います〜 また色々お聞きするかもしれないけど、よろしくお願いします
php.gr.jpは何時になったら繋がるようになる?
サーバ移行? それとも、DNS?どっちだ?
769 :
nobodyさん :02/05/09 22:13 ID:yN28WV3K
setcookie()について。 cookieに「ほげ」設定しようとするとエスケープされて Cookie: hoge=%82%D9%82%B0 になるのだが、JavaScriptでunescapeするとIEとNNで挙動が違って困る。 できたらこれを Cookie: hoge=ほげ としてクライアントに送りたい。 どぉしらた良いかしらん? header()しかないかのお?
770 :
nobodyさん :02/05/10 00:16 ID:srGshNOy
771 :
ねね :02/05/10 01:48 ID:Re1ZwDzp
Perl的プログラミングにやっとなれたところでまたPHPする 羽目になったんですが、Perlで出来ていたことをPHPでどう するのか判らず困ってます。 1.LWPモジュールのように外部Webページを取得するには どうするのか。 include("URL指定")は変数に取得できないそうなので 逝ってよし。 2.Perlの正規表現マッチングのように、マッチング部分 だけでなくマッチしていない前後の部分も取得する にはどうするのか。 preg_matchはマッチ部分しかとれないようなので 逝ってよし。 3.ファイルストリームから、バイト制限を設けず改行 までをどれだけ長くても一行として受け取るには どうすればいいか。 fgetsはバイト制限が必要なので逝ってよし。 あたりの処理はどうすればいいのでしょう? 代替アルゴリズムを考えるにしても3.くらいしか思いつかない。 2.は恐ろしく迂遠な事をすれば出来る気もするが、1.に関しては もうお手上げ。 ご助言お願いします。
>>771 ちなみに 1 が一番楽だが。
あんたの作ったPerlの移植の手伝いする気は無いので
もちっとマニュアル読み直して出直しな。
773 :
よろしゅう :02/05/10 13:52 ID:hczMLcNA
formでmethod=POSTとすると、与えられた文字列のmb_strlenが期待される数値+2で返ってきます。 <form method=POST action="test.php"> <input type=text name=\"name1\"> <input type=submit> で「あひゃ」を入力したとき、mb_strlen($_POST[name1])が5になります。 なにがおかしいのでしょうか? ちなみに、methodの明示的な設定を行なわない場合は、期待通りの数値が返ってきます。 設定は以下のとおりです。 php-4.2.0 php.ini : default_charset = Shift_JIS mbstring.internal_encoding = EUC-JP mbstring.http_input = auto mbstring.http_output = SJIS mbstring.detect_order = auto mbstring.substitude_character = none; mbregex.encoding = EUC-JP test.php : ob_start('mb_output_handler');
774 :
うー :02/05/10 16:54 ID:Pprr/GPf
phpを使ってpop3サーバにアクセスすることってできますか? 自分のpopアカウントを調べて、新着メールがあったら、 その内容を表示する(受信する)ようなページをphpで作りたいのですが。 そんなのってそもそも無理なんでしょうか?
>>774 Socketでメールサーバとお話しる。
776 :
うー :02/05/10 17:13 ID:Pprr/GPf
>>775 なるほろー。
このワザつかえばどんなサーバとも通信できますねー。
popサーバの使用っていうか、通信するにはどうすりゃいいか
ってどこで調べればいいでしょうか。
ちなみにgoogleでは調べましたが私には見つけられませんでした。
777 :
nobodyさん :02/05/10 17:27 ID:N8MyGidW
778 :
うー :02/05/10 17:33 ID:Pprr/GPf
>>777 IMAP,POP3,NNTP関数
これPHPマニュアルにIMAPのことしか書いてないですよね?
おかげでぜんぜんわかんないんです。
とりあえずこのサイトいってみます!
779 :
773 :02/05/10 17:46 ID:???
原因はCRLFでした。IEを使用時のみ発生。NNでは問題なし。 よくわからないので、mbereg_replaceで置換しました。 マイク口ソフトマンセ!
780 :
nobodyさん :02/05/10 18:40 ID:N8MyGidW
>>778 IMAP関数の説明の中にPOPへのアクセスの解説もあったはずよ。
781 :
初心者です :02/05/10 19:31 ID:0xG01URd
マニュアルの日本語版PDF、DLしたんですけど 日本語が化け(なんか剥き出しの文字コードの羅列になる)て読めないです。 HTML版は読めるんすけど、できればPDFでキレイなのを 印刷して読みたいです。 どうにかして読めんでしょうか? DL元は php.net アクロバットリーダのヴァージョンは 4.0 です
782 :
nobodyさん :02/05/10 22:39 ID:N8MyGidW
>>781 あれ、たしか見れないはずよ。
あきらめましょう。
>781-782 あれって自動生成してるんだっけ? そうならPHP4のデフォルトにmbstringが入っていないのが 原因かもね。 PHP4.3.0からmbstringがデフォルトenableになるみたいだから ひょっとしたら読めるようになるかも。
784 :
初心者です :02/05/10 23:13 ID:0xG01URd
785 :
769 :02/05/10 23:49 ID:6nNB49td
>>769 に答えてョ(゚д゚)
とりあえずasciiだけセットしてお茶を濁したケド
786 :
nobodyさん :02/05/11 00:23 ID:CFWMRgCd
フォームデータは全部勝手に配列にセットされるらしいですが、 bbs.cgi?page1 みたく呼び出した場合、page1っつーのはどの関数にセットされるんでしょーか?
788 :
nobodyさん :02/05/11 06:23 ID:Hoa7fXm7
789 :
nobodyさん :02/05/11 06:25 ID:Hoa7fXm7
しかし、日本語マニュアルHTMLの文字コード指定が あったり無かったりするのは、いかがなものかと。
790 :
nobodyさん :02/05/11 10:35 ID:Md7S8VnN
791 :
ノーバディさん :02/05/11 10:39 ID:DmITiQtb
ヤフーオークションの履歴をまとめて取得したい。下記のエラーが出ます。ご教示ください。
Warning: stat failed for
http://page.auctions.yahoo.co.jp/jp/show/bid_hist?aID=46229999 (errno=2 - No such file or directory) in _on line 18
Warning: Supplied argument is not a valid File-Handle resource in on line 18
ソース
<?php
$urlname="
http://page.auctions.yahoo.co.jp/jp/show/bid_hist?aID= ";
for($urlnum=46229999; $urlnum<= 46239999; $urlnum++){
$url = $urlname.$urlnum;
if(!($file=fopen($url , "r"))){
print("File could not open.");
exit;
}
while(!feof($file)){
$text=fgets($url ,filesize($url));
}
if(!($writefile=fopen("./data.txt","a"))){
print("data.txt could not open.");
exit;
}
fputs($writefile,$text);
fclose($writefile);
fclose($file);
}
print("success");
?>
793 :
771ですが :02/05/11 15:22 ID:diEJiLzM
>>772 とりあえず1.は判りました。
UserAgentも変えられないし、LWPモジュールの代わりには
全然ならないですけど。
膨大なマニュアルの中でどこを見ればいいか判らないんで
教えを乞うているんですが、教えてもらえないですか…。
言語によって思想も違うから、見当違いの方向探せば
どつぼにはまるんで(1.の例でも、ファイルオープンと
HTTPアクセスの関数が同じなんて、言われなきゃ普通
判らない)ヒントになる関数名やポインタだけでも教えて
もらおうと思って書いたんですけどねえ…。
それ以上は自分で調べますが…。
逝ってよし云々は、口が悪かったですが、聞く→教えて
もらう→使いたい用途と少し違うので再度聞く、という
手順を省きたかったんで、この関数については調べました
が使いたい用途とは違うので、別のを教えてくださいっ
ていう事を前もって書いておいただけなんですが。
>>793 見苦しいな。もう来なくていいよ。
もうPHPに触れるな。黙ってPerlやってろ。
795 :
nobodyさん :02/05/11 16:21 ID:R17vJsYA
imap関数使いたいんですが、実際にIMAPサーバをインストール しなくては駄目でしょうか? また、IMAPサーバはCourierIMAPやCyrusでもいいのでしょうか? ご存知の方よろしくお願いします。
現在 PHP4 で FORMデーターと受け渡しの実験を しているのですが、下記のサンプルプログラムを 用いたところ正常に実行されません。 sample.php --- <html> <body> <? print $hoge; ?> </body> </html> sample.html ------ <html> <body> <FORM method="POST" action="sample.php"> <input type="text" name="hoge"> <input type="submit" value="test"> </FORM> </body> </html> 実験方法としては ブラウザで sample.html にアクセスし、 テキストフォームに 適当な値を入力し、 その後 sample.php でその値が表示されれば成功なのですが、 下記のようなエラーが発生します。 Notice: Undefined variable: hoge in c:\php\sample.php on line 4 上記のエラーを見る限りでは、hoge が sample.php に渡っておらず、 不明な変数という理由でエラーが出ているように思えます。 サーバー環境は下記の通りです。 windows XP Pro Apache/1.3.24 PHP Version 4.2.0 ご教授お願い致します。
798 :
nobodyさん :02/05/11 21:25 ID:vjg6e4I2
>>796 C-clientだけをインストールして動くのかは試しました。結果は駄目でした。
やはりIMAPサーバを入れなくては駄目なのでしょうか?
799 :
nobodyさん :02/05/12 01:42 ID:usCGfXXC
800ゲットオォォォォ!!  ̄ ̄ ̄ ̄ ̄∨ ̄ ̄ ̄ (´´ ∧∧ ) (´⌒(´ ⊂(゚Д゚⊂⌒`つ≡≡≡(´⌒;;;≡≡≡  ̄ ̄ (´⌒(´⌒;; ズザーーーーーッ
801 :
nobodyさん :02/05/12 12:24 ID:DUg/4LyB
HTTP の「201 Created」を返して、それに「Location」
ヘッダも付加することはできますかね?
header('HTTP/1.1 201 Created');
header("Location:
http://... ");
とかやると、マニュアルに書いてある通り「302 Found」
になっちゃいます。PHP-4.0.6 です。
>>801 HTTP を勉強しましょう。できるわけない。
803 :
801 :02/05/12 12:30 ID:???
事故レス。header() を呼ぶ順序を変えたらうまくいきました。
header("Location:
http://... ");
header('HTTP/1.1 201 Created');
という風に。
804 :
逆 :02/05/12 13:38 ID:GnR2DzSw
805 :
PHP4.1.2だが :02/05/12 14:16 ID:+O1dnnhP
$PHP_SELFって時々変な値が入ってない? /boo/hoge.phpってファイル名のはずが/boo/hogeしか入ってなかったり。 $PHP_SELFに依存するのは避けた方がいいかな?
php.gr.jpはいつまでDNSの設定ほったらかしにしておくんだ? 210.143.199.209に誰かが借りてるのか?
質問さて下さい。 クラスAを継承するクラスBとクラスAを継承するクラスCとで 同じ変数を共有するにはどうしたらいいのでしょうか? class A { var $a; function aa() { $this->a += 10; echo $this->a . "[A]<BR>\n"; } } class B extends A { function bb() { $this->a += 10; echo $this->a . "[B]<BR>\n"; } } class C extends A { function cc() { $this->a += 10; echo $this->a . "[C]<BR>\n"; } } $bb = new B; $bb->aa(); $bb->bb(); $cc = new C; $cc->aa(); $cc->cc(); ためしにこんなスクリプトを書いてみたところ 10[A] 20[B] 10[A] 20[C] という結果になりました。 10[A] 20[B] 30[A] 40[C] という結果にしたいのですが。 それとも変数を共有する時点で設計がおかしいのでしょうか?
808ゲットオォォォォ!!  ̄ ̄ ̄ ̄ ̄∨ ̄ ̄ ̄ (´´ ∧∧ ) (´⌒(´ ⊂(゚Д゚⊂⌒`つ≡≡≡(´⌒;;;≡≡≡  ̄ ̄ (´⌒(´⌒;; ズザーーーーーッ
809 :
PHP4.1.2だが :02/05/13 19:45 ID:eICPjNFh
どうやら$PATH_TRANSLATEDと$PHP_SELFは妙らしい。 /home/usr/pub/boo/hoge.phpがあるとき'hoge.php'を呼ぶと $PATH_TRANSLATEDは/home/usr/pub/boo/hoge.phpになるが、 '/'を付けて'hoge.php/'と呼ぶと $PATH_TRANSLATEDは/home/usr/pub/になる。 仕様?バグ?再現求む。 dirname($PATH_TRANSLATED)とかやると更に妙な事に。
810 :
nobodyさん :02/05/14 00:49 ID:PuzpL/Zh
ちょっと質問。 <? function Hoge() { ?> <html> <head> </head> <body> Hoge </body> </html> <? } ?> という書き方にすごーく変な感じを受けるのですが、これってどうなんでしょ。 関数の定義中にPHPを抜けてるように見えて仕方ない、、
811 :
nobodyさん :02/05/14 10:14 ID:dvbYPP4R
age
絶対パスを簡単に算出する方法を教えてください。 "/aaa/bbb/ccc.html" + "../ddd/eee.html" => "/aaa/ddd/eee.html" みたいなの
>>810 うんへんだねー って答えが欲しいのか?
?> xxxxx <? ってなってるところを
print(" xxxxx ");
みたいに脳内変換すれ
>>807 設計がおかしい オブジェクト指向を勉強しなおし
別オブジェクトかglobal変数にしなさい
邪道だが、 $bb と $cc を new した後で
$cc->a =& $bb->a みたいなでとりあえずは可能かも
ただおかしいのは確か
>>810 気になるなら
ひあどきゅめんと
でも使ってなさい。
816 :
nobodyさん :02/05/14 13:26 ID:1hXqJxvV
817 :
nobodyさん :02/05/14 13:27 ID:pQxfM21A
php4.2.1でてたよーーーー!!! bagFix版とのこと。 一昨日4.2.0入れたのに(~_~;)
818 :
nobodyさん :02/05/14 13:36 ID:pQxfM21A
あら、tarball5%ぐらいまでしかダウンできん、、、 しょうがなく、bz2ダウン、、、
>>818 tar Ixvf派の俺
bzip2 -dc派はあれ
820 :
714 :02/05/14 14:48 ID:???
>>815 俺は810ではないけど、ヒアドキュメントじゃなくて
<?php function hoge(){ ?>
hoge
<?php } ?>
みたいにするメリットって何かあるの?
html部分をwebデザイナーに任せられるとかそんな感じ?
714でもないよ・・・ 鬱sage
>>814 やはり設計がおかしかったですか…
オブジェクト指向を勉強し直します。
お答えありがとうございました。
ただ単にその結果のみを求めるならCのインスタンスだけを作ればいいと思うんだけど… B,C2種類のインスタンスを作りたいなら引数で引き継ぐようにすればいいんじゃないかな。
日本PHPユーザ会のweb page無くなったんですか?
>817 だいぶ遅れたね・・・。 最初の話ではGW中には出るみたいな感じだったんだけど。 割と面倒なバグ多かったのかな(苦笑。
826 :
かなりしょしんしゃ :02/05/14 20:10 ID:z0ANN3Ad
サイト内の、トップページを除く全ページを、一つのPHPファイル(doc.php)で済ましてしまおうと考えました。 つまり、ページのデータはテキストファイルとして作っておき(1ページにつき1つ)、doc.phpでそのテキストファイルを読みこんで表示させようというアイデアです。 が、これは鯖に負担がかかりそうなのでいけない気がしてきました。 このアイデアは使えるでしょうか? 乱文スマソ (コンテンツの表示の仕方が極めて単調になる、という突っ込みは勘弁してください。)
827 :
nobodyさん :02/05/15 00:25 ID:+pLmcUHC
register_globalsがoffで、 postで送られてくるかgetで送られてくるかわかんない場合、 どの配列を参照すればいいんでしょーか。 まさかif分岐?
828 :
827 :02/05/15 00:30 ID:+pLmcUHC
ごめんセルフ解決しました。お邪魔。
>>827 全部受け取れる奴がある。$_REQUESTか
language.variables.predefined.htmlを参照してくれ。
けど、私の場合はそのような使い方するところは少ないので
そのまさかのifを使っていたり・・・
830 :
829 :02/05/15 00:31 ID:???
。・゚・(ノД`)・゚・。
831 :
827 :02/05/15 00:36 ID:+pLmcUHC
829さんご丁寧にありがとうございます。 ココ答えてくれる確率すごい低いんで書いた後も調べ続けたら見つけちゃいました。 $_REQUEST、セキュリティー上云々と書いてありますけどとりあえず使っちゃいます。 ifでもいいけど、個数増えると面倒そうで、、、
832 :
827 :02/05/15 00:48 ID:+pLmcUHC
答えてくれる確率低いとか書いといてアレだけど答えてみよう。
>>826 悪くはないと思う。メンテが楽になるという点では。
が、ページに共通する部分が多ければの話じゃないかな。
イニシャルの負担は別として、サーバーにかかる負荷と、
共通部分を一斉にメンテできる利点とを天秤にかけて下さいな。
因みに前Perlで同じようなもの作ろうとしました(笑
833 :
nobodyさん :02/05/15 05:42 ID:P4GuvpUh
そういうのは今時、xmlかDBにデータは保存するのでは(~_~;) テキスト、csvだと仕様変更時難儀しそうやね。
834 :
807 :02/05/15 13:35 ID:???
>>823 引数も考えたんですが、共有するほうが
今組んでいるプログラムの設計的に
いいかなと思ったんです。
が、その設計が間違っているということで、
オブジェクト指向を再度勉強中です。
しかし、お答えありがとうございました。
835 :
826 :02/05/15 16:51 ID:???
>>832 レスありがとうございます。
うーむ、天秤にかけるのか…。微妙だけど、100枚程度の中規模サイトなので、PHPで処理したいと思います。
>>833 レスありがとうございます。
DBかXMLですか。勉強しなきゃなあ…。(DBはちょっとかじったんですが。)
たしかに、テキストだと要素を追加するとき大変ですが、前述の通り中規模サイトなのでテキストでなんとかなるような気がします。
最近のMLは香ばしいにほひがぷんぷんと、・・
837 :
nobodyさん :02/05/15 23:06 ID:LtIl3eJN
MLもここもつまんねー話題ばっかだ。 PHPじゃこんなもんか。
838 :
nobody :02/05/16 13:58 ID:/I5K1IiO
フリーのPHPスクリプトで掲示板設置したのですが、 PHP4.0.3だと動作しないのです。 プログラミングは全然わからないのですが、何故でしょう?
>>838 質問がアバウトすぎです。
どんなエラーがでたとか
設置したソースはこれだとか
示さないと答えようがありません。
>プログラミングは全然わからないのですが
なら、少しは自分で調べましょう。
調べて、それでもわからなかった時に
聞いて下さい。
841 :
838 :02/05/16 15:12 ID:/I5K1IiO
842 :
nobodyさん :02/05/16 15:23 ID:KqIN4L4C
4.2.1 をインストールすると、 Warning: Failed opening '/home/htdocs/public_html/test.php inclusion (include_path='.;c:\php4\pear') in Unknown on line 0 と言われるのですが、何が原因でしょうか?
843 :
nobodyさん :02/05/16 15:49 ID:DuKoWpQw
本当につまんない質問なんですけど(PHPってこんなんばっか) version 4.2.1 を使用しています。 mb_ereg といったマルチバイト関数が使えません。 気づいた原因があれば教えてください。 php_info() Configure Command './configure' '--with-apxs=/usr/local/bin/apxs' '--with-pgsql=shared' '--enable-mbstring' '--enable-mbstr-env-trans' '--enable-versioning' '--enable-pcntl' mbstring Multibyte (Japanese) Support enabled Directive Local Value Master Value mbstring.detect_order EUC-JP,SJIS,UTF-8,JIS,ASCII EUC-JP,SJIS,UTF-8,JIS,ASCII mbstring.func_overload 0 0 mbstring.http_input AUTO AUTO mbstring.http_output EUC-JP EUC-JP mbstring.internal_encoding EUC-JP EUC-JP mbstring.substitute_character no value no value
>843 ・・・mb_eregってマルチバイト正規表現関数では? --enable-mbregex つけないとダメですよ。
845 :
842 :02/05/16 17:01 ID:KqIN4L4C
VirtualHost のみで このエラーが出るところまでは分かったのですが……。
ゾロ目(111111、222222など)の判定をしたいんですけど、比較的効率がいい方法を教えてください
>845 確証ないけど。 php.iniのinclude_path見て、 シングルクォーテーションで囲っていたら それをダブルウォーてーションに変えてみそ。 っていうか、UNIX系のOSだよね? UNIX系OS使っていてinclude_path='.;c:\php4\pear' とか書いていたら青マンモス本で後頭部殴って沈めますが(藁
848 :
新人 :02/05/16 20:19 ID:???
OracleでDBにアクセスするんだけど、ASPのADOを使うのと OO4Oを使うのはどっちがいいの? 社会人一ヶ月目の課題です。
849 :
新人 :02/05/16 20:21 ID:???
850 :
842 :02/05/16 20:27 ID:KqIN4L4C
>>847 ""で括ってます。
> っていうか、UNIX系のOSだよね?
Windows XP なので、殴らないで下さい。。。
>850 あー、いや。 Warning: Failed opening '/home/htdocs/public_html/test.php とか書いてたからあれ?と思っただけ。 UNIXっぽいpathだなぁと。 とりあえず、もうちょっと詳しい状況聞かないと何とも。 後はsafe_mode絡みかなぁ・・・。
853 :
げ鬱 :02/05/17 02:01 ID:Yz0hLQt9
GDライブラリをうまいことconfigでけへん。./config --with-gd --with-zlib でだめかいね。既にphpは動作中。 これでconfigした後makeしょうとすると決まって失敗するねん。 どこかいいGDやFreetypeインストールに懇切丁寧に書かれたページはないもんか。(英日どっちでもいいよ)
>>853 GDに必要なライブラリとかは入ってる?
855 :
846 :02/05/17 02:26 ID:???
>>852 やっぱそうやんね。ちなみにさ、egeg()系とpreg()系ってどっちが速いの?
856 :
げ鬱 :02/05/17 03:05 ID:Yz0hLQt9
>>854 res-thanX!!!
とりあえず下記を今のところ下記のものをインストールしてます。
freetype-2.1.0
gd-1.8.4
jpeg-6b
libpng-1.2.2
zlib-1.1.4
ほかに必要なものなどありますか?
857 :
げ鬱 :02/05/17 03:33 ID:Yz0hLQt9
おはようございます。 >857 --with-gd=/usr/local とか。 パス指定してないのが原因でない?
859 :
nobodyさん :02/05/17 13:10 ID:fkHus637
$pid = pcntl_fork(); プロセス管理関数が使えません。使っているのは 4.2.1 です。 configure は以下のとおりです。 './configure' '--with-apxs=/usr/local/bin/apxs' '--with-pgsql=shared' '--enable-mbstring' '--enable-mbregex' '--enable-pcntl' '--enable-mbstr-env-trans'
>>857 GDのインストールまじで面倒・・・
うちだとこんな感じ・・・。なんで、こんなに上位のディレクトリ
指定しないと駄目なんだろうか
それと、ゴミが入ってるけど気にしないでください。
./configure --with-pgsql=/usr/local/pgsql --with-mysql=/usr/local/mysql
--with-apxs=/usr/local/apache/bin/apxs --enable-versioning
--enable-trans-sid --enable-ftp --enable-mbregex --enable-mbstring
--enable-mbstr-enc-trans --with-gd=/usr/local --with-jpeg-dir=/usr
--with-png-dir=/usr --with-zlib-dir=/usr
--with-ttf=/usr/X11R6/lib/X11/fonts/TrueType
861 :
nobodyさん :02/05/17 23:29 ID:nK6fF4kR
バイナリ依存で実行できる関数があったりなかったりするのはどう考えても逝かれてる。 よって PHP は糞。
862 :
nobodyさん :02/05/18 00:41 ID:/NnU/kQ2
>>861 そんなのどんな言語だって一緒だろうが。
>>862 禿同です。
でも PHP だと設定の違いを吸収するためのコード
を書く必要が多いような気がする。大した手間じゃ
ないけど、ちょっと鬱かモナー
864 :
2ch? :02/05/18 21:19 ID:XJvHLsL2
ていうか2chって何?
865 :
駆け出し :02/05/19 02:34 ID:o8HCULoj
PHPでプログラムを書いているんですが、 「長文の先頭から何文字を表示する」っていうプログラム をどう製作すればいいか、迷っています。 例えば、この掲示板もそうですが、あまりに長文だと、 ある一定の文だけを表示して、それ以降を省略させてい ますよね。 ただ、日本語文字は全角2バイトですよね、だから、 もし「先頭から100バイトを表示」とか指定した場合、 途中に半角の文字がはいったりして、 100バイト目と101バイト目を使って、全角文字を 1つ表示している・・・って場合もありうるわけで、そ の場合、文字化けの原因になりますよね? どうすれば、こういった問題を回避して、 「長文過ぎる場合に省略して前半部分だけ表示」という のができるのでしょうか。 (他の言語なら分かるが、PHPでは無理って場合でもOK なんで、やりかたをご存知の方がいれば・・・)
866 :
nobodyさん :02/05/19 02:48 ID:a+gm9DOh
>>865 マルチバイト文字列関数使えばいい。
mb_strimwidth() あたりかな。
867 :
nobodyさん :02/05/19 03:40 ID:C9ltI6g1
phpの人工無能ってないかな今更。
869 :
nobodyさん :02/05/19 17:00 ID:CsY+l6QG
age
>>865 文字列はCの文字列のように1byteの配列として扱えるぞ。
オブジェクト指向を学べるサイトはありませんか? すれ違いですか? それとも板違いですか? すみません。
>870 文盲? >871 わかってるなら二度と来るな
873 :
nobodyさん :02/05/19 18:46 ID:a+gm9DOh
874 :
narucy56 ◆wMOjCT4s :02/05/19 19:05 ID:SLQ7PBuz
>>873 スゲーな。こんなちゃんとしたドキュメントもあるのか。
確かに、PHP でも、OOP やれることはやれる。
しかし、そういうことに凝れば凝るほど、Ruby に帰りたくなる罠。
875 :
nobodyさん :02/05/20 10:48 ID:GKYMwnV0
876 :
nobodyさん :02/05/20 12:54 ID:axVCexX7
877 :
nobodyさん :02/05/20 14:11 ID:RpThRsU9
FDF Toolkitを使って、PHPからPDFを作成しブラウザ上で表示させる テストコードを作成しているのですが、Acrobat Readerでエラーが出て しまいます。 「ファイルの種類がサポートされていないかファイルが壊れている(電子メール の添付資料として送信され正しくデコードされなかったなど)のため、Acrobat では「V1S6CVDB.fdf」を開けません。」 と出てきてしまいます。 テスト対象のfdfファイルを単独でAcrobatで起動すると、問題なく 表示されるので、コードが間違っているとは思うのですが・・・。 Web上(google等でサーチ)にPHPでの見本が見つからなかったので、 途方にくれています。 どなたか同じようなことを解決された方はいらっしゃいませんでしょうか? 上記のエラーは↓が間違ってるのでしょうか? header("Content-type: application/vnd.fdf");
878 :
nobodyさん :02/05/20 14:34 ID:0YtwoM9N
ある年と月の第2月曜日は何日とか求める関数ないですか?
>>878 だいたいこんなアルゴリズム
1.ある年の月の第1月曜日を求める
2.1で求めた数字に7を足す
880 :
nobodyさん :02/05/20 19:36 ID:ezs3rnc7
PHPを今使っている某レンタル鯖で使おうとしたら、httpdがapacheじゃなくて なぜかNCSA HTTPd 1.5.2でした。 仕方がないのでCGIとして使おうとするのですが、どうもうまくいきません。 500 Internal server error が出ます。 いろいろ試しているのですが…。 あ、apacheも入ってた。 apache 1.2.4。鬱だ。 どちらかでPHP4は動かせますか?
882 :
nobodyさん :02/05/20 20:27 ID:3waXCUcX
>864 DB(mysql)のsqlで対応しています。(left関数) (最近のPHP <4.1 とか 4.2とか> であれば、マルチバイト関数で、すんなりできるかも。) mysqlの例) mysql> select left('あいうえお1234567890',5); +--------------------------------+ | left('あいうえお1234567890',5) | +--------------------------------+ | あいうえお | +--------------------------------+ 1 row in set (0.00 sec) mysql> select left('あいうえお1234567890',6); +--------------------------------+ | left('あいうえお1234567890',6) | +--------------------------------+ | あいうえお1 | +--------------------------------+ 1 row in set (0.00 sec) mysql> select left('あいうえお1234567890',7); +--------------------------------+ | left('あいうえお1234567890',7) | +--------------------------------+ | あいうえお12 | +--------------------------------+ 引数は、バイト単位ではなく、文字数の模様。 詳細は、mysqlのマニュアル参照して。。。。
883 :
nobodyさん :02/05/20 21:20 ID:3waXCUcX
>>878 ちょっと時間かかったけど、できたよ。
>>879 のアルゴで。
function fnc_2monday($pi_yyyy,$pi_mm){
//******************************************//
// ある年の月の第2月曜日を求める関数 //
// 引数 $pi_yyyy ある年(一応、4桁でね) //
// 引数 $pi_mm ある月(1〜12) //
//******************************************//
//******************************************//
//
>>879 のアルゴリズムでコーディング
//******************************************//
//1.ある年の月の第1月曜日を求める
$wk_1day = mktime(0,0,0,$pi_mm ,1 ,$pi_yyyy)."<BR>";
//一日から順に第一月曜を求める(べたべたやけど、確実にね)
for ($i=1;$i<= 7;$i++){
$wk_aaa = date("D",mktime(0,0,0,$pi_mm ,$i ,$pi_yyyy));
if ($wk_aaa=="Mon"){
//第一月曜日の場合、抜ける
$wk_1monday = $i;
break;
}
}
//2.1で求めた数字に7を足す
//つまり第二月曜日ね
$wk_2monday = $wk_1monday + 7;
return $wk_2monday;
}
//呼び出し側
print fnc_2monday(2002,1);
print fnc_2monday(2002,10);
どう?
884 :
883 :02/05/20 21:23 ID:3waXCUcX
1つ訂正 $wk_1day = mktime(0,0,0,$pi_mm ,1 ,$pi_yyyy)."<BR>"; ↓ $wk_1day = mktime(0,0,0,$pi_mm ,1 ,$pi_yyyy);
885 :
nobodyさん :02/05/20 21:33 ID:3waXCUcX
886 :
878 :02/05/21 10:06 ID:Khg2tXr/
>>879 自分で書くしかないんですね。
>>883 おお!助かります!
まぁ、たしかに改正祝日法で休日を求めたかったんですけどね。
来年から海の日と敬老の日は第3月曜日が休みらしいので
ちょっと改造して使いたいと思います。m(_ _)m
887 :
880 :02/05/21 10:56 ID:Y+BXE95A
>>881 鯖屋さんは「サポートはしないが、CGIならなんでも使ってOK」と言ってて、
それならCGIとしてphpを使ってみようと思ったんですが、前述のような構成なので
情報が少なく、(Windows以外では普通CGIとして使わないでしょ?)
そもそもFreeBSD4.5+apache1.2.4 なんて環境で動く可能性があるのかどうか、
やったことある人がもしいればいいなぁと。
だめだったら鯖屋変えます。
>>883 > //一日から順に第一月曜を求める(べたべたやけど、確実にね)
とするなら、はじめから8日から14日の間で月曜を探す、とした方が
早いでしょ。第n週目なら
for ($i=($n-1)*7+1; $i<= $n*7; $i++)
「第2月曜はX日?」ではなく、「X日は特別な日かどうか」と
逆方向からアプローチする解もあるんで参考までに。
>>887 PHP のバージョンは……つーかやめちまえ、そんなサーバ。
(´-`).。oO(FreeBSDのバージョンが4.5なのに、なんでApacheが1.2.4なんて古いバージョンなんだろ・・・)
891 :
880 :02/05/21 19:37 ID:???
ふぅ、phpinfo() ができました。 >(´-`).。oO(FreeBSDのバージョンが4.5なのに、なんでApacheが1.2.4なんて古いバージョンなんだろ・・・) それが不思議なんですが、本当なんです。httpd -v で確認。 こんな古いのでもphp4.2.1が動きました。ついでにNCSA HTTPdでもw
892 :
nobodyさん :02/05/22 08:15 ID:xP9u5upA
<?php echo"<a href=$PHP_SELF?hoge=test>テスト</a>\n"; print ($hoge); ?> こういう使い方は論外ですか? テストのリンク以外 何も表示されないんですが というか、基本的に解っていないような気もする・・
何をやりたいのか、理解に苦しみます。
894 :
nobodyさん :02/05/22 11:53 ID:NOISo+Qe
>>892 $hogeが表示されねーんだろ?
「register_globals」「$_REQUEST」について調べろ。
いい加減、この同じような質問見るの飽きたんだが。
MLでもこんなんが定期的に出てくるし。
にしても親切だな。MLの連中。
「過去ログ見ろ」の一言ですまさず、ちゃんと教えてやがんの。
896 :
nobodyさん :02/05/22 20:41 ID:eoMNTnSb
へたれな質問です。 $this->hoge = $aaa["hoge"] というような処理が連続でいっぱいあるんですが、whileをつかって簡潔にする方法はありませんか?
899 :
879 :02/05/22 21:16 ID:???
>>883 ごめん、適当に答えたのに実装してくれるなんて(w
お詫びに、第一月曜日を求める方法
$dai1getsuyou = ( (8-date("w",mktime(0,0,0, $pi_mm ,1 ,$pi_yyyy)) ) %7 +1);
第二月曜日を求める方法
$dai2getsuyou = ( (8-date("w",mktime(0,0,0, $pi_mm ,1 ,$pi_yyyy)) ) %7 +8);
>>878 は
>>883 に感謝しれ
900 :
nobodyさん :02/05/23 21:01 ID:HecqOJNe
MySQLで、任意の行にINSERTすることは可能でしょうか?
901 :
nobodyさん :02/05/23 21:30 ID:vIfw4Hg/
WEBサーバーとDBサーバーを別のPCに設定すると負荷が分散する? 負荷がかかるのはDB(Postgresとか)なのかPHPのスクリプトなのか? スクリプトだとしたらスクリプトもDBサーバー側におかないと意味がないですかね。
902 :
nobodyさん :02/05/23 22:06 ID:vpWkcYfm
さて、スクリプトをDBサーバに置いたとして、そいつはどこで 実行されるのか見物だ。 報告を待つ。
>901 最近の報告。 PHP4+Postgresでアクセス数多いサイト抱え込んでいて、 CPUアベレージ40〜50でかなり苦しかったんだけど pconnectにしたら0.5くらいまで下がったよw どうやら、DBに大しての接続/切断にコストがかかるらしい。 まあ、サーバ複数台でやれば確かに負荷分散はされるだろうけど PHP用サーバ<>DBサーバ間で当然トラフィック発生するし それよりはサーバの設定きっちりやって一台でやったほうがいいかも。
904 :
nobodyさん :02/05/24 00:43 ID:HdKAqX0e
>903 ありがとうございます。PHPスクリプトのプログラミングの方法によっても ずいぶん負荷が違うようですね。1台にして、様子を見ます。
906 :
nobodyさん :02/05/24 11:21 ID:w/ckmNwW
すみません、初歩の質問です。 setcookie関数に関してなんですが、 setcookie("cookieNm","1",time()+3600); 上記のようにクッキーを発行しているんですが、その後に if(isset($cookieNm){ と、クッキーの有無の判断では、falseと判断されて クッキーの存在が無い事になっています。 setcookieの使い方がおかしいのでしょうか? Webのドキュメントや本にもあまり詳しく書かれていないので、質問しました。
908 :
nobodyさん :02/05/24 15:12 ID:IikL0GY5
>908 「ミラー」はコピーであって同じものじゃないから バージョンに差があってもしかたないんじゃ・・・。 まあ、ちゃんとミラーリングされていない原因まではわからないけど。 (jpの方、pg_queryが無い事から古いドキュメントだと思われ)
あ、ちとすまそ pconnectの件で、これって複数ページにまたがってても接続維持してくれる んですよね? pg_closeで普通に閉じればOKなん? あともしcloseし忘れた場合って適度に切ってくれるのかしらん?
誰か教えてください。私がよく行く掲示板で 文字の色を変えて、書きこみしたいのですが そこの掲示板は、最初から文字の色が決まって いて、タグをつかっても、大きさとかは、 変わるんですが、文字の色変わりません、 どうかお願いします。
912 :
:02/05/24 16:18 ID:???
913 :
nobodyさん :02/05/24 16:20 ID:Huj+PVcs
>>910 pconnectで接続してたら、明示的に切断するまで
プロセス残るよ。
>910 >913 先に答えられてしまったので、新たな疑問。 pconnectを明示的に切断する必要があるのって 一体どんなとき? どうもまだ、仕組みわかってないな・・・自分。
915 :
nobodyさん :02/05/24 16:43 ID:NPp4aT3o
>>914 あるsessionが終了するときとかじゃない?
システムによると思うが。
Javaとかのコネクションプーリングとは別物だから
永続的(?)に残す物でも無いと思うけど。
草薙ぃ、みなまで言うなよぉ、おもろないやっちゃなぁ。。。 山内ぐらいのでええんや、あれでも教えすぎやとは思うけどな。
>915 んー。 ちょっと考え纏めつつ。 httpの通信ってのは単発だからpconnectの動作ってのは 「httpdのプロセスにアクセスして、 そのhttpdプロセスが既にpconnectでDBに接続されていたらそれを使う。 されていなければ新規にDBとの接続を開く」 ですよね。 で、例えページA>ページB>ページCって感じに一連の流れでページ見ていても、 接続しているhttpdプロセスが同じとは限らないわけで。 となると、接続閉じる意味って?っと思ったわけです。 (例えば、今の例でいくと ページCでpg_close()した場合、ページAで使っていた接続を 閉じることにはなりませんよね) 何か、勘違いしてることあったら指摘よろしくっス。
>>917 おそらく915よりあんたの方が正しい
設定間違ってなければ、明示的に閉じる必要はほぼないかと思われ
「閉じられる」のは
「関数作るのがカンタンだったからついでに実装してやれ」という、
開発者の気持ちの問題だけかと(笑)
919 :
nobodyさん :02/05/24 22:40 ID:PwbaMwAZ
漏れもあまり理解してないから勉強になります。
>917
どういう意味かもうちょっと詳しく説明キボーン!
「httpdのプロセスにアクセスして、
そのhttpdプロセスが既にpconnectでDBに接続されていたらそれを使う。
されていなければ新規にDBとの接続を開く」
「httpdプロセス」ってのがよくわからん。>プロセスIDのこと?
httpdのpidが変わったら新規でDBに接続にいくってこと?
httpdのpidって頻繁に変わるものじゃないの?
「httpdプロセス」(?)とどう関係してるのか教えて。
>918
http://jp.php.net/manual/ja/function.pg-pconnect.php 「pg_close() は、 pg_pconnect()によりオープンされた持続的接続は 閉じません。」
って あるから閉じることはできないんじゃないの?
もちろん閉じる必要もないと思うけど。
>918 やっぱそうなんですかね〜。 ちょっと疑問解決。 っていうか今pg_closeの説明見たら >注意 持続的でない接続はスクリプトの実行終了時に時動的にクローズされる ため、pg_close()は通常は必要ありません。 >pg_close() は、 pg_pconnect()で生成された持続的なリンクは閉じ ません。 これが正しいとすると、pg_closeの意味って・・・。 >919 とりあえずサーバにログインしてps -axとかtopしてみればわかるけど apache1.3はシングルスレッド(だったはず)なので 例えば同タイミングで10人がページを見ようとした場合、 10個httpdを起動してそれをさばいてる。 で、pconnectってのはhttpdのプロセスが死ぬまで接続を閉じない、 ってことなのでは。
とりあえずpconnect使ってプロセス監視してみるか テストあるのみだね
923 :
nobodyさん :02/05/26 01:50 ID:XrXi+HAS
PHP 4.0.6 => PHP 4.2.1 にしたが、 Socket.php が入ってないんじゃないか? Mail.php が使えん
> 入ってないんじゃないか? 無いなら入れれば済む。
925 :
nobodyさん :02/05/27 15:13 ID:Ljs/HuU/
>echo() には、次のように開始タグのすぐ >後に等号 を付ける省略形があります。 > I have <?=$foo?> foo. >注意 この省略形はshort_open_tagのオプションを >有効にしないと使用できません。 日本語のマニュアルには、 この注意のところがなかったので 少し、はまったよ
926 :
nobodyさん :02/05/27 16:13 ID:xVyONfkD
テキストコンテンツを楽に更新するためには、PHP+DBとXMLどちらがいいですか? それぞれの利点、欠点をしりたいです。
927 :
nobodyさん :02/05/27 19:22 ID:ftR3tely
928 :
nobodyさん :02/05/27 21:26 ID:zZy+Uwrs
xmlでデータ管理は楽じゃないよ
929 :
nobodyさん :02/05/27 23:02 ID:bVOs1lxa
PHPをWindowsにインストールしたんですが、 MySQLも必要とか書いてあるHPがありましたがApacheとPHPをインストールしただけでPHPが動作しました。 MySQLは必要なんですか?
別に。 もしかしてネタ?
931 :
nobodyさん :02/05/28 10:33 ID:ddwqkdLJ
>>929 たしかにそういう本あるね。
DBとの連携をその本でやるのであればこれだけインストールしろって意味だと
思うんだけどさ。
932 :
nobodyさん :02/05/29 13:11 ID:BTyiqr4V
php_extension形式のパッケージを作った場合、 商用パッケージ化するってできるの? 当然Zend APIばりばりコールするわけだけど。
初心者なんですが、Apatchサーバーで普通にマニュアルどおりインストール して、マニュアルどおりフォームからphpに変数として渡すプログラムを組ん だのですが、POSTがうまくいってないのかなんなのか、phpの変数にフォーム の内容が入ってきません・・・name も指定してるのになんでだろう???
$_POST?
>>933 過去ログ嫁。
つーか、バージョンとconfigureの引数くらい書けやゴルァ(゚Д゚)
936 :
nobodyさん :02/05/29 16:03 ID:rc13816W
937 :
SupportDESK ★ :02/05/29 16:10 ID:???
記念カキコ
938 :
SupportDESK ★ :02/05/29 16:12 ID:???
>>936 > mb_send_mail($mail_to,$mail_subject,$mail_text,$headers);
ここ見直せ。
phpからメールを出したことはないんでアレだけど、メールの一般論としては envelope recipient とヘッダのTo/Cc/Bccは別です。 sendmailの場合、起動オプションに -t を追加すればヘッダから recipientを読みとってくれるようになるので、 mb_send_mail($mail_to,$mail_subject,$mail_text,$headers,"-t"); とすればうまくいくんじゃないですかね。どうですかね。
940 :
nobodyさん :02/05/29 16:22 ID:lnkev8xS
もしかしてfgetcsv()ってマルチバイト文字食わせちゃダメですか? while($tmp = fgets($fp, 1000)){ $data[++$n] = explode(",", $tmp); } ↑これはうまくいくけど、↓これは文字化けします。 while($data[++$n] = fgetcsv($fp, 1000, ",")); EUC-JPなんですが。
configure って何?
Apatch で ASP 使えんのか??噂じゃ信用できん。スレ違いでスマソ
943 :
nobodyさん :02/05/29 21:02 ID:za7l8984
>>938 ,939
早速のレスありがとうございます。
試させていただきます。
Apatch 萌え
>>941 RPMでインストールしたん?普通はそのコマンド使わなきゃいかんはずだが
949 :
FAQ :02/05/30 20:52 ID:???
外部変数はデフォルトではグローバル変数として登録
されません。変わりにスーパーグローバル配列を利用
することを推奨します。
http://www.php.gr.jp/history/release_4_2_1.html スーパーグローバル変数:
$_GET - GETを通じて送信された内容が格納されます
$_POST - POSTを通じて送信された内容が格納されます
$_COOKIE - HTTPクッキーの内容が格納されます
$_SERVER - サーバ変数の内容が格納されます(例:REMOTE_ADDR)
$_ENV - 環境変数が格納されます
$_REQUEST - GET, POST, クッキーの内容が格納されます。
言い換えると、 ユーザから送信された全ての情報と
いうことです。セキュリティ的側面 から見ると必ず
しも信頼できるものではありません。
$_SESSION - セッションモジュールにより登録された内容が格納
されます
http://www.php.gr.jp/history/release_4_1_0.html
950 :
FAQ :02/05/30 20:56 ID:5rwZOSAr
-[form.php]--------------------------------- <html><body> <form action="<?= $_SERVER["PHP_SELF"]?>" method="POST"> <input type="text" name="name1"> <input type="submit" value="Go"> </form> <?php echo $_POST["name1"]; ?> </body></html>
PHPとXMLの絡みについて学べるサイトはありませんか? Googleで探しても見つからなかったです。
Apache 2.0.36とPHP 4.2.0でPOST後に,自分自身をリダイレクトしようと しているのですが header("Location: ".$_SERVER['PHP_SELF']); のところで エラーが発生してしまいます。 if ($_SERVER['REQUEST_METHOD'] == 'POST') { header("Location: ".$_SERVER['PHP_SELF']); ←ここでエラー } エラーメッセージは,Warning: Cannot add header information - headers already sent by ...... です。 どうしたら,POST後に自分自身をリダイレクトできるのでしょうか?
POST後とかじゃなくて・・・。 改行とか先に出力されてたりしない?
956 :
FAQ :02/05/31 07:45 ID:???
/ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ | ♪聞いてうにゅうリーナ ちょっと言いにくいんだけど | ♪聞いてうにゅうリーナ | | 最近、エラーメッセージも読まずに質問する厨がふえてるんだよ | ぐんにょり | | 聞いてくれてあーりがと うにゅうリーナ♪ \____ __________________ V , -―- 、 ./ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ /了 l__〕 〈] | 火炎瓶投げてきていいで 7| K ノメノ )))〉 | 不審美や。 l」 |」(l| ( | | || \_ _____________ | |ゝリ " (フ/リ V | | /\_V〕、 _/l__ . l l | /ヽ/<ノ|〉ヘ. / く !リl〈 〈〉、_ト .〉 | ´ω` | V^i` ―lV | C=' | `ァ'/ l|-' | ̄ ̄ ̄ ̄ ̄| / \/V| ~|  ̄ ̄ ̄ ;|~ ゝ | | .;;|
PocketPCで排他の機能を作ろうとしています。 PocketPCでは新規にウインドウを開くことや、モーダルダイアログ などのイベントは一切発生しません。 まず、テキストファイルにフラグを立てるやり方をしていましたが、 フラグを消す処理を違うフレームに配置して onunLoadイベントで実行させる方法がうまく動かずに苦労しています。 そこでそれとは違う方法も模索しています。 PHPではどのクライアントからでも参照できるグローバルな変数を 持つことは可能でしょうか?回答を宜しくお願いします。
959 :
nobodyさん :02/05/31 13:10 ID:kQ6/O1xW
スレ違いな気もするのですが、 <script language="javascript"> function test1 (){ for (i=0;i<document.test_form.test.length;i++){ document.test_form.test[i].checked=true; } } </script> <form name="test_form"> <input type="checkbox" name="test" value=""> <input type="checkbox" name="test" value=""> <input type="button" value="test" onclick="test1()"> </form> と同等の処理を、PHPで配列として扱えるようにnameを <form name="test_form"> <input type="checkbox" name="test[]" value=""> <input type="checkbox" name="test[]" value=""> <input type="button" value="test" onclick="test1()"> </form> として処理したいのですが、 どのようにすればいいのか、どなたか教えてもらえないでしょうか?
>>958 PHPでファイルに変数を保存する事はできます
誰に何をいつまでさせたくないのか分からないので
後は何とも。
>>959 はずしたらスマソ。 しかしセンスないなぁ
>>960 <html><body>
<?php
foreach($_POST["test"] as $value) {
echo $value;
}
?>
<form method="post" action="<?= $_SERVER["PHP_SELF"];?>">
<input type="checkbox" name="test[]" value="MA">MA
<input type="checkbox" name="test[]" value="MUKO">MUKO
<input type="submit" value="Go">
</form>
</body></html>
>>960 回答ありがとうございます。
質問の仕方がまずかったのであまり趣旨が伝わらなかったようで
すみません。要するに、ASPでいうところのGlobal.asaのような
グローバルなセッションを持つことは可能でしょうか?
962 :
959 :02/05/31 16:48 ID:OsEG1hGV
>960 うーん、javascriptをどう書けば name が test[] の項目を一括で変更できるかという話なんですよ。 PHP使ってる人の方が同じ状況に陥った人が多そうなのでここに書いてみたんですが。。。
963 :
nobodyさん :02/05/31 18:00 ID:3WIJ9xDF
>>962 JavaScriptがわかりゃだれでもできるだろ
Web制作板でも逝け
964 :
qqq :02/05/31 21:08 ID:Yl9y3+1W
聞くのも恥かしいほどの初歩的なことですが、すでに4時間試行錯誤していますが 解決できません。助けて下さい。 フォーム送信データを変数として取り込めないのです。 参考書に付いていた、サンプルがあるのですが、 sample3.html <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=euc-jp"> <title>サンプル3</title> </head> <body> <form method="post" action="sample3.php"> お名前: <input type="text" name="YourName"><br> <input type="submit" value="GO"> </form> </body> </html> ------------------------ sample3.php <? header("Content-type: text/html; charset=euc-jp"); ?> <html> <head> <title>サンプル3</title> </head> <body> お名前: <b><? print($YourName); ?></b><br> </body> </html> ---------------------- つづく。。。
965 :
qqq :02/05/31 21:08 ID:Yl9y3+1W
つづき php自体は普通のプログラム(時間表示)などはちゃんと 動作しています。上のサンプルも、送信ボタンを 押すとsample3.phpを実行してくれるのですが、 変数が空白で表示されてしまいます。 他の参考書でも入力フォームの物は変数が空白で 帰ってきてしまいます。変数名の大、小文字 対策もしています。(付録のcdromから直接使っても 結果は同じでした。) なんかすんごい初歩的なことを見逃しているのは 十分わかっているのですが、それがなにかわからなくて。。 redhat7.2 apache1.3.24(ソース版) php-4.2.1(ソース版)
<?xml version="1.1"?> これをインクルードしたり記述すると止まります 先輩!解決方法教えてください
質問させて頂きます。 list($v['name'],$v['msg'],$v['ipaddr'],$v['icon']) = explode("\t",trim(fgets($fp, 4096))); というところで、もし 名無しさん\tage\t\tface.png というログだった場合、undef代入したということで Undefined offset 3 と 怒られてしまうのですが、うまい方法無いでしょうか。 やっぱlistを放棄してせこせこ切り分けするしか無いんでしょうか。 # error_reporting(5);じゃあんまりだなぁ…と思うのです。 # 別にundef代入してもいいじゃん…
968 :
qqq :02/05/31 22:02 ID:Yl9y3+1W
>>964-965 自己レスです。
4.2からはグローバル変数がデフォルトでoffになっていたようですね。
おさわがせしました。
それにしてもphp.iniなんかも探しまくったのですが、見つからないと思ったら
手動なんですね。この手の設定があやしいと思っていたのですが。
3冊の参考書にはそれらしい注意事項も書かれていなかった(4.1まで)ので
まさか初期状態で使えなくなるとは。。。初心者にはマジできつかったです。
969 :
967 :02/05/31 23:31 ID:???
970 :
951 :02/06/01 00:12 ID:???
>>952 おお、ありがとうございます!!
では、じっくり読みたいとおもいます。
>>966 <? echo('<?xml version="1.1"?>'); ?>
次スレ テンプレにはFAQとしてPHP4.2.1の変更点を書いといたほうが良いかもね。 メジャーバージョンがあがるまでは間違える人が後を断たないだろう・・。
973 :
967 :02/06/01 06:16 ID:???
セッション変数ってやっぱ変数だから数字だけだとまずいんだよね? ショッピングカート作ってて 商品番号=商品個数 みたいなデータを渡そうと思ってたんだけどうまくいかないや 多分これが原因かな?
<html> <body> <?php session_start(); if(!isset($_SESSION["num"])) { $_SESSION["num"] = 10; } else { echo "num = ".$_SESSION["num"]; //リロードしてください } ?> </body> </html>
>>973 >>967 を再現したくて、↓してみたけど
error_reporting = E_ALLで
$str = " 名無しさん\tage\t\tface.png";
list($v['name'],$v['msg'],$v['ipaddr'],$v['icon'])
= explode("\t",trim($str));
すると、警告なしで下記のようになりました。
$v['name'] => 名無しさん
$v['msg'] => age
$v['ipaddr'] =>
$v['icon'] => face.png
ファイル使わないとダメ?
PHP 4.2.1です。
>>975 おお!ありがとうございます。
勉強不足でした。
979 :
nobodyさん :02/06/01 14:47 ID:PQ5ydhwv
PHP-4.2.1 Apache 1.3.24 linux(kernel 2.4.18) ./configure \ --with-apxs=/usr/local/apache/bin/apxs \ --enable-mbstring \ --enable-mbregex \ --enable-mbstr-enc-trans \ --with-pgsql=/usr/local/pgsql \ --enable-sockets ---e.hdml (EUC) <hdml version="3.0"> <display>ほげほげ</display> </hdml> ---p.php <?php mb_http_output('SJIS'); ob_start('mb_output_handler'); header('content-type: text/x-hdml; charset=shift_jis'); require './e.hdml'; ?> p.phpにアクセスするとEUCなんです。 e.hdmlをshift_jisにコンバートして試すと、SJISなんです。 php.iniのmbstring.http_outputなどをいじっても結果は変わりません。 requireではなく、fopenで読み込みechoしても結果は変わりません。 私、何か勘違いしてますか?
980 :
967 :02/06/01 16:47 ID:???
>>976 レスありがとうございます。
こうだと転けてくれるみたいです、こちら4.2.1です。
$str ="1\t2\t\t\t\t\t\n";
list($v['name'],$v['msg'],$v['ipaddr'],$v['icon'])
= explode("\t",trim($str));
Undefined offset: 3
Undefined offset: 2
981 :
nobodyさん :02/06/01 18:56 ID:P630Haih
PHP 4.2.1 ---e.html (EUC) <html lang="ja"> <head> <meta http-equiv="Content-Type" content="text/html; charset=Shift_JIS"> </head> <body>日本語の出力。</body> </html> ---p.php <?php mb_http_output('SJIS'); ob_start('mb_output_handler'); //header('content-type: text/html; charset=shift_jis'); require './e.html'; ?> こうするとshift_jisになりますが、 headerのコメントをはずすと 私もEUC-JPになってしまいます。?。
982 :
nobodyさん :02/06/01 20:43 ID:Q92m0630
あるディレクトリに連番のファイルが幾つか入っていて(000,001,002...)、 このファイルを新しい順に並べたいのと、一番最後のファイルを別に表示させたいんだけどどうすればいいの? 教えてください。
983 :
967 :02/06/01 21:07 ID:???
>>981 少しやってみた、新しい順 ? 最後のファイル ?
<?php
$path = "./work";
$dir = @opendir($path)
or die("Cannot open directory $path");
while ($file = readdir($dir)) {
if (!ereg("(\.|\.\.)" , $file)) {
$files[$file] = filemtime($path . "/" . $file);
}
}
closedir($dir);
arsort($files);
foreach($files as $key => $value) {
echo $key . "<br>\n";
}
?>
985 :
nobodyさん :02/06/02 00:16 ID:7VWf6zUb
超初心者です。 $sに、 test<>hoge という文字列が入ってるんですが、 test()hoge にするにはどうしたらいいですか?
str_replace
987 :
nobodyさん :02/06/02 01:17 ID:SBRh2Tol
p2cの意味がわからないので、いろいろ調べていると、 Pascal から C への変換プログラムとありました。 しかし、混乱しております。 あるphpとmysqlのスクリプトのソースを見ていたのですが、こんな感じでp2cが使われていました。 "select products_id, products_name, products_quantity, products_image, products_price, products_date_added, products_status from products , products_to_categories p2c where products_id = p2c.products_id and p2c.categories_id = '" . $current_category_id . "' order by products_name"); テーブル、カラムの名前にはp2cの文字は使われていません。 何故こんなところにp2cでしょうか?
988 :
nobodyさん :02/06/02 02:00 ID:nwqefcRu
>>987 FROM句で products_to_categories p2c ってやってるでしょ。
products_to_categories を p2c というエイリアスで扱ってるんよ。
だから p2c.products_id は products_to_categories.products_id と同じになるんよ。
989 :
987 :02/06/02 02:30 ID:SBRh2Tol
>>988 さん
ありがとうございます。ちょっと書いただけでわかるのですね。感激です。sqlファイルを今見ています。
エイリアスとはわからず、p2cばかり調べていました。
今、夜空の星にあなたの幸せを祈りました。
でも何故p2cとしたのでしょう?作者の気まぐれでしょうか。
それとも慣用句みたいによく使うのでしょうか。
products_to_categories だから p2c なんだろ products = p to = 2 categories = c 自分が省略するときのことを考えてみろよ
991 :
:02/06/02 03:38 ID:???
992 :
nobodyさん :02/06/02 10:01 ID:smXe05SQ
>>990 さん
ありがとうございます。
感動しました。
言葉がでません。
星がでてないので、暗くなったら祈ります。
993 :
nobodyさん :02/06/02 13:35 ID:S6tfVE27
板違いかもしれませんが、質問があるのです。 ウェブデザイナーって儲かるんですか? 進学に困ってるのです><
994 :
979 :02/06/02 14:43 ID:???
995 :
979 :02/06/02 14:51 ID:???
ごめん勘違い。
996 :
981 :02/06/02 14:56 ID:iCTCDCX0
>>984 説明不足でスマソ。書いてくれたの読んで大体わかったよ。
ディレクトリの中のファイルを番号が若い順に並べたいの。
更新時間はバラバラなので、ファイル名だけ配列に入れてrsortしようと思うんだけど、
readdirってちゃんとファイル名順に読み込んでいくの?
あと、ディレクトリの中のファイルで一番番号が若いファイル名を取得したいんだけど、
それも上のように一度配列に読み込まないとだめかな。
997 :
教えて君 :02/06/02 14:58 ID:Tbi7w50X
時差を調節したいのですが どこをいじればいいでしょうか? ($sec, $min, $hour, $mday, $mon, $year, $wday, $yday, $isdst) = localtime(time); $year += 1900; $month = $mon + 1; @dayname = ('日','月','火','水','木','金','土'); このあたりが怪しいと思うのですが見当違いですか? 初心者でスンマセン
998 :
979 :02/06/02 14:59 ID:???
header()でcontent-typeを指定すると、mb_output_handlerが効かなくなる仕様のようです。 ini_set('default_mimetype', 'text/x-hdml'); で回避できました。お騒がせしました。
(・∀・)ズザーー!三三三二二一一 ''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
1001 :
1001 :
Over 1000 Thread このスレッドは1000を超えました。 もう書けないので、新しいスレッドを立ててくださいです。。。