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

【PHP】くだらねぇ質問はここに書き込みやがれpart8

■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん2005/08/08(月) 01:18:55ID:54u1h4+D
PHPに関するくだらない質問用すれです。
ここなら本スレで回答のないお前の下らない質問に回答があるかも知れません。
次スレは>>970あたりが建てて下さい

・過去スレ
【PHP】くだらねぇ質問はここに書き込みやがれ
http://pc5.2ch.net/test/read.cgi/php/1099322141/
【PHP】くだらねぇ質問はここに書き込みやがれpart2
http://pc5.2ch.net/test/read.cgi/php/1105218084/
【PHP】くだらねぇ質問はここに書き込みやがれpart3
http://pc5.2ch.net/test/read.cgi/php/1107780435/
【PHP】くだらねぇ質問はここに書き込みやがれpart4
http://pc8.2ch.net/test/read.cgi/php/1110697712/
【PHP】くだらねぇ質問はここに書き込みやがれpart5
http://pc8.2ch.net/test/read.cgi/php/1114787573/
【PHP】くだらねぇ質問はここに書き込みやがれpart6
http://pc8.2ch.net/test/read.cgi/php/1117945031/
【PHP】くだらねぇ質問はここに書き込みやがれpart7
http://pc8.2ch.net/test/read.cgi/php/1121100429/
0175nobodyさん2005/08/12(金) 09:17:24ID:???
>>170
そういう動きをしたいなら普通はsubmitされた先でセッション登録だと思う。
history.back() じゃないならhiddenでもいいよね。
#個人的にはhistory.back()を仕様になんかしない方がいいと思うけど

ちなみに、ブラウザバックで戻ったときに入力値を覚えてるのは、
ブラウザがそういうおせっかいをしているだけだと思う。
0176nobodyさん2005/08/12(金) 09:17:58ID:???
>>169
スレ違い
0177nobodyさん2005/08/12(金) 10:05:24ID:???
>>174
ありがとん
0178nobodyさん2005/08/12(金) 11:05:18ID:h+1D0YJb
>>175
>ちなみに、ブラウザバックで戻ったときに入力値を覚えてるのは、
>ブラウザがそういうおせっかいをしているだけだと思う。

これって昔から不思議に思ってた。どういう仕様なんだろう?
postした値がブラウザのキャッシュに残るのかな?
部分的に消えてたりするし。

話それてスマソ
01791552005/08/12(金) 13:46:38ID:???
>>160
いえIEとfirefoxで日本語で使われそうなEUC,sJIS,JIS,utf-8,ISO-2022-jp,等を試しましたが文字化けしています。

01801702005/08/12(金) 16:24:28ID:???
>>171,175
レスありがとうございます。
セッション変数を使う方向でいろいろ試してみます。
ところでhistory.back()を多用するのは問題があるのでしょうか?
0181nobodyさん2005/08/12(金) 16:42:10ID:???
>>180
よく考えると、history.back()したときは、
サーバーに処理がこないんじゃないか?
セッションにデータを埋め込もうがなにしようが。

あれ?セッション使うとhistory.back()効かなくならなかったっけ?
0182軟式PHP2005/08/12(金) 17:24:33ID:???
session_cache_limiterの設定によっては効かないな。
0183nobodyさん2005/08/12(金) 17:26:22ID:???
年と月を指定したら、その月の月末の日付を取得できる関数ってありますか?
0184nobodyさん2005/08/12(金) 17:43:29ID:???
>183
こんなんでどう?

$Month=8;
$Year=2005;

$Ts = mktime(0,0,0,$Month,1,$Year,-1);


$getsumatsu = date("t",$Ts);
0185nobodyさん2005/08/12(金) 18:35:49ID:???
>>183
そんな関数は自分で作る。
翌月の1日の1日前が当月の月末の日付。
01861702005/08/12(金) 20:14:21ID:???
>>181,182 Σ(゚Д゚)

そういえばそうかも・・・。
history.back()ではなくlocation.href='input.php'でボタンを設置する必要があるようですね。
ブラウザの戻るボタンを使われたときは・・・シラネorz。

session_cache_limiterはprivate, must-revalidateに設定してるんですが、
正直session_cache_limiterの動作をあまり理解していないのでよくわかりません。
(POSTでデータを受け渡しするページで「戻る」ときの有効期限エラーを消すための方法としてどこかで見つけただけなので・・・。)
リファレンス本とか買えば細かく説明があるのかな・・・?
0187nobodyさん2005/08/12(金) 21:09:25ID:???
いろんなphpのソースを読んでいると、「->」というのが出てきます。
ググって見たですのがちょっと見つかりません。

例
http://www.stackasterisk.jp/tech/php/searchAction.do?cid=28#86

グレーのソースのコラムの部分

// 現在ログインしているユーザがアドミンかどうかを調べる。
$sql = "select is_admin from user_table where id=$sUID";
$is_admin = $db->getOneValue($sql);<<<ここに出てきてます

「->」とはどういう意味なんでしょうか?
0188nobodyさん2005/08/12(金) 21:33:50ID:???
オブジェクトのメソッド・プロパティにアクセスする
マニュアルにあるはずだが・・・矢印演算子とか言ったかな
0189nobodyさん2005/08/12(金) 21:55:21ID:???
>>188
http://php.s3.to/man/language.oop5.static.html
この辺でしょうか?
なんだか、いきなり難し過ぎて全く理解不能です。
オブジェクト、クラス、インスタンス、その辺はいつになっても踏み込めないんですよ。
0190nobodyさん2005/08/12(金) 22:08:47ID:???
オレもオブジェクトとかよくわかんないんだよなぁ。
その辺詳しく説明してるHPとかないものだろうか。
0191nobodyさん2005/08/12(金) 22:21:21ID:???
そこって古いんじゃないかな。とりあえず本家。
ttp://www.php.net/manual/ja/language.oop.php

phpでオブジェクトを使った説明をしているサイトはあんまり無いんじゃないかなぁ。
「php オブジェクト」でググって地道に探すか、
phpから一旦離れて(言語に関係無く)純粋にオブジェクト指向を勉強するか、
pearあたりにゴロゴロ転がってるクラスで書かれたソースを見て見回るか。。
0192nobodyさん2005/08/12(金) 22:30:09ID:???
オブジェクト指向の話は読んでも理解しずらいと思うよ。
よく、タイ焼きの型とタイ焼きに例えて説明されることがあるけど判ったような気がする、
ぐらいで終わると思う。

こんな感じで自分でサンプルを書いて動かしながら勉強していくのがてっとり早いんぢゃないかな。
(ちなみにこのサンプルはあまりよろしくないんだけど)
PHP5でマシになったとはいえ、PHPのクラス機能は貧弱なので、あまりクラスのメリットは
実感としてわかないかもしれないけどね。

class MyClass {
 var$MyName;

 function SetName($name) {
  $this->MyName = $name;
 }
}

$instance1 = new MyClass;
$instance2 = new MyClass;

$instance1->SetName('インスタンス1');
$instance2->SetName('インスタンス2');

echo $instance1->MyName . '<br>';
echo $instance2->MyName . '<br>';
0193nobodyさん2005/08/12(金) 22:56:03ID:???
オブジェクト指向をPHPで理解するなら、PHP5の〜〜と書いてある部分は脳内あぼーんすべし
0194nobodyさん2005/08/12(金) 23:21:14ID:???
オブジェクト指向って何?
↓
色々調べる
↓
なんとなくわかったかも
↓
てきとーに使ってみるが、普通の関数とどう違う?
↓
もうちょい調べてみる
↓
なるほど便利じゃねーか!
↓
多重継承できないことを知る
↓
オブジェクト指向って結局面倒じゃね? ←今ここ
0195nobodyさん2005/08/12(金) 23:37:13ID:???
>>194
C++でも使っとけ
01961942005/08/12(金) 23:45:28ID:???
>>195
オブジェクト指向とはなんぞやと、必死に理解しようとしてるんだよ
継承するメリットすら、あるのか判らなくなってきた
つまり、まだまだ理解できていないんだ、と思うのだ
0197nobodyさん2005/08/12(金) 23:55:18ID:???
あのー基本的な質問です。
PHPにおいて「0」と「--」って等しいことになってるんでしょうか?
ただハイフン2個並べたつもりがマイナスとマイナスってことになってんのかな?
if (0 == "--") print "kita-------------";
これでkita----が出力されるって・・・orz。
0198nobodyさん2005/08/12(金) 23:56:21ID:???
PHPで画像を表示させるものをつくりたいのですが、
調べても画像に関してはGDというライブラリでの作画ばかりで
調べ方が悪いのでしょうか?
既存のpngファイルを表示したいだけなのですが・・・
0199nobodyさん2005/08/12(金) 23:59:35ID:???
>>197
型変換されて0になるだけだ
===
使っとけ
0200nobodyさん2005/08/12(金) 23:59:36ID:Dcm/2S4D
>オブジェクト指向とはなんぞや
一言で言うと「設計思想」。
コーディングは2次的なものだろ。

オブジェクト指向はスピードやメモリとトレードオフで保守の簡便さ、再利用性の向上を与える。
保守も再利用もする必要のない書き捨てコードをオブジェクト指向化するのは趣味の領域。

あ、PHPならまだそのレベルに達してないから無理すんなw
0201nobodyさん2005/08/13(土) 00:06:57ID:???
>保守も再利用もする必要のない書き捨てコードをオブジェクト指向化するのは趣味の領域。
コーディングスピードが向上することもある
02021972005/08/13(土) 00:13:40ID:???
サンクス!>>199
0203nobodyさん2005/08/13(土) 00:14:05ID:???
IMGタグでも使えば?>>198
02041982005/08/13(土) 00:20:03ID:???
いあ、普通に条件分岐するようなものになる予定なんだが
画像扱ったことなくて
どうやってPHPでひょうじすんだべ、と。
それでまず画像だけ表示するのを作ろうと思ったんだが、
いきなり詰まってるのです。
0205nobodyさん2005/08/13(土) 00:23:22ID:???
>>204
echo で imgタグ吐けば良いだけでは…。
0206nobodyさん2005/08/13(土) 00:23:55ID:H8OS7Q3n

変数を初期化するとすると、
↓のうち、どちらが良いでしょうか?

$var = NULL;
$var = "";

その他にいい初期化方法などあったら教えてください
0207nobodyさん2005/08/13(土) 00:26:40ID:???
>>206
unset($var);
02081982005/08/13(土) 00:27:06ID:???
>>205
え?そうなの!?
うそー
直接png読んでバイナリで吐いてやらないとないのかと思ってた
やってみまつ
0209nobodyさん2005/08/13(土) 00:34:07ID:???
>>207
ありがとうございます!
02101982005/08/13(土) 00:46:40ID:???
<img src="xx.php">ってやるなら
やっぱり直接出力しかない?
0211nobodyさん2005/08/13(土) 00:50:23ID:???
>>198
条件に応じてファイル名を変えたいとかだったら単純に
<img src="{$hoge}.png">
でいいような。

何がしたいんだ?
0212nobodyさん2005/08/13(土) 00:51:51ID:???
>>210
どういう事をやりたいのかよく分かんないけど、
1. htmlを動的にphpで出力 -> <img src="<?= $filename; ?>">
2. 静的htmlからphpで画像を出力 -> html <img src="image.php?file=〜">
image.phpの中で header('Content-type: image/png"); readfile($filename);
readfile部分は他のファイル関数でも可。
02131982005/08/13(土) 00:53:13ID:???
>>211
htmlから imgタグでphpを呼んで、
ブラウザからは画像が表示される、という感じのやつ
02141982005/08/13(土) 00:55:55ID:???
あ
読んで出力までする関数があるんですか
phpってすげえと思った
02151982005/08/13(土) 01:08:58ID:???
>>213
ありがとう。
php便利ダナー 
0216nobodyさん2005/08/13(土) 01:57:59ID:???
>>214
別にphpでなくても表示するだけならこんだけでできるぞ。

#!/bin/sh
echo "Content-Type: image/png"
echo
cat "/path/to/image.png"

まぁ、phpでも表示だけなら特別な関数を使わなくってもいいってこと。
0217nobodyさん2005/08/13(土) 02:43:42ID:???
シェル便利ダナー
0218nobodyさん2005/08/13(土) 08:59:08ID:???
登録したユーザーを対象としたサイトを作っているのですが、
不正なアクセスを防ぐべく、パスワードを一定回数以上間違えたら
そのIPアドレスからの接続を一定時間拒絶するような処理は可能でしょうか?

あるいはログインページの時点でセッションを開始しておき、
セッション変数に間違えた回数をカウントさせて、
上限を超えたらログインできなくさせる、というやり方でもできそうな気がするんですが、
ブラウザを終了させるだけでまたトライできるってのがどうも不安が・・・。

何かいい方法はないものでしょうか。
02192182005/08/13(土) 09:14:59ID:???
ちなみにログイン処理は
1. ユーザー名・パスワードを入力フォームに入力
2. DBに照合し1件ヒットしたらログイン処理・それ以外ならログイン画面にリダイレクト
3. セッション開始・セッション変数にユーザー名を格納・トップページにリダイレクト
こんな感じです。
よろしくお願いします。
0220nobodyさん2005/08/13(土) 09:28:36ID:???
IPアドレスで制限ということであれば、セッションを使わなくてもIPアドレスを基準にカウントすればいいんじゃないでしょうか?
0221nobodyさん2005/08/13(土) 09:29:08ID:???
>>219
セッションはクライアント依存だから、信用できないクライアントが
前提ならそういう目的に使うべきじゃない。

サーバー側で bad list に期限付きのエントリを保存するとかしないと。
認証失敗のたびにIPアドレスを bad list に追加し、bad list に一定回数以上
出現するIPアドレスならばログイン拒否とか。
0222nobodyさん2005/08/13(土) 11:19:58ID:???
なぁなぁ
PHPってなんでこんなに速いの?
perlが遅くてとりあえずphp化したら同じ物を4つ動かしても(仕事で使う集計もの)それ以上に速い気がする
0223nobodyさん2005/08/13(土) 11:36:47ID:???
>>222
CGI版Perlとモジュール版PHPを比較してないか?
0224nobodyさん2005/08/13(土) 13:37:45ID:???
レンタルサーバですがphpがソースからでなくrpmで入れてらしいのですが
phpのバージョンをアップデートする時に
rpm -Fvh [filename]
のような記述をみかけましたがこの[filename]の箇所は既存の.rpmをかくのでしょうか?
それとも目的の新しいバージョンの.rpmでしょうか?
0225nobodyさん2005/08/13(土) 13:45:43ID:???
>>224
ttp://www.linux.or.jp/JM/html/rpm/man8/rpm.8.html
0226nobodyさん2005/08/13(土) 13:48:02ID:???
>>224
後者。質問する前にman rpmしような。
っていうかパッケージは入手済みなのか?
ともかくスレ違いだよ。
0227nobodyさん2005/08/13(土) 15:06:43ID:???
>>226

レスありがとうございました、rpmはこれからrpmfind.netでもいってこうかと。
スレちがいかなーと思いつつもphpのインスコネタだったんで…。誘導先は自宅鯖あたりですか?

0228nobodyさん2005/08/13(土) 16:43:42ID:???
ちょっとしたcmsのシステムを作ったのは良いけど、当初漏れの会社で、手配したレンタル鯖にドメインを割り当ててそこで運用するってことになってた。
ところが、もろもろの事情から先方の指定(先方がftpに入れちゃうとこ)で運用する事になった。
このままだと、結果的にphpのソースそのまま渡すのと同じことになっちまうんですが、こんなとき皆さんはどうしてますか?
もっとも、漏れのスパゲッティなソースなど誰が見てもわかるわけない、というか解る気も無くすけどなw

プログラムのコアの部分だけ、別ファイルにして、別の鯖に置いちゃうとかあり?
0229nobodyさん2005/08/13(土) 17:01:37ID:???
だめだねぇ。。そういう時は、
ソースを暗号化したいんですが、できますか?
仕事なので冷やかしの回答は遠慮願います。
って感じに質問しないと。
0230nobodyさん2005/08/13(土) 17:09:53ID:???
>>228
スパゲッティソース=最強の暗号化
0231nobodyさん2005/08/13(土) 17:27:51ID:???
>>228
先方の会社のために作ったプログラムなら
ソース毎あげるのが当たり前なんじゃないの?
0232nobodyさん2005/08/13(土) 17:30:26ID:???
「ソフトを売る=ソースも渡す」ってわけぢゃないでしょ。
いや、そういう仕事してるわけじゃないから知らないけど、
パッケージのソフト買ってソースがついてきたことってないし。
0233nobodyさん2005/08/13(土) 17:34:16ID:H8OS7Q3n
ところで、スパゲッティソースを、やきそばソースと言ってもいいのかね?
0234nobodyさん2005/08/13(土) 17:41:42ID:???
別鯖に置け
0235nobodyさん2005/08/13(土) 17:44:56ID:???
>>231
製品とソースは別物だよ。
だから予め契約時にはソース納品ありかどうかをきちんと決めておく。
当然ソース納品の場合は見積もり金額が大きく変わってくる。
今回の>>228の場合はその辺の契約をきちんと交わしていなかったんだとすれば
泥沼化する可能性もあるね。担当者しだいだけど。

>>233
スパゲッティソースはトマトベースだろ
0236nobodyさん2005/08/13(土) 17:49:18ID:???
>>228
プログラムそのものを別鯖におく
先方のサーバのサイトから、リダイレクトして、自鯖のプログラムが
動作するようにする

Urlアドレスが変わるから、先方が嫌がるかもしれないけど
0237nobodyさん2005/08/13(土) 17:58:28ID:js/pUsHi
$string="abcdefg";
とあったとして、$stringの上位1ビットを削除したいんですけど、
どすれば良いんでしょう。
0238nobodyさん2005/08/13(土) 18:06:13ID:???
こんなことはやったことがないけど、自分の管理下の鯖にコアの部分のphpを置いて、それを客鯖からinclude出来ないかな?

>>231
まぁ、その会社のために作ったには違いないけど、後々の修正やメンテ含め、今後の儲けにするハラもあったんで。
例えば、その会社と喧嘩した場合、うちと取引がなくなってもそのシステムは動き続けちゃうでしょ?
それは面白くない訳です。それで、よその会社が、システム運用を引き継いだりした日にゃ・・・もっとも、漏れの最強スパゲッティーソースが読めればの話。

>>235
先方も、別にそんなに深い考え(ソースを自分の手元に押さえたい)で、こういう事を言いだしたわけではないんですよ。
万一、プログラムに関する部分は、他の人が一文字でも手を入れたら一切サポートしないですよ。

>>236
自分の管理下の鯖に、システム置いて、客の鯖で、サブドメインつけて、それを自分のとこに飛ばしてもらうのもありかな。

でも最初に書いた「自分の管理下の鯖にコアの部分のphpを置いて、それを客鯖からinclude」ってのがよさそう。
0239nobodyさん2005/08/13(土) 18:06:52ID:???
substr
0240nobodyさん2005/08/13(土) 18:20:16ID:???
小数点以下を取得する関数ってありませんか?

5.12 → 0.12
18.3 → 0.3
0241nobodyさん2005/08/13(土) 18:30:04ID:???
>>238
客がだまされたと感じなければ別にいいと思うけど、
そういう客にトクにならない皮算用してると自分の知らないところで悪い噂が立ったりするよ。

前の開発会社が気に食わないからとかでシステム運用を引き継いだりすると、
たいていすっごい保守性が悪いコードなのはなぜだろうとよく考える。
保守コストがかさむとかの問題だろうか。

まぁ汚い方が再開発のいいきっかけになるから文句は言いません。
一回失敗しているところの方が何かとスムーズに話が出来るしね。

>>240
$a = 5.12;
echo $a - (int) $a;
とかでは?。べつに小数点以下を切り捨てる関数を使ってもいいけれど。
0242nobodyさん2005/08/13(土) 22:14:23ID:UF4ziiZ+
>>240
普通に切り捨てた数を引けばいいだろ。
くだらなすぎ。そういうスレかorz
0243nobodyさん2005/08/14(日) 01:17:45ID:???
質問させて下さい。

サーバへアップする前に、ローカル環境にて開発・テストを行っています。
ローカル環境はWindowsにApache2を入れ、PHP・MySQLを入れています。

複数のPHPのバージョンを切り替えたいのですが、簡単な方法は無いでしょうか?

PHPのDLLやINIをWindowsディレクトリやシステムディレクトリに入れる事無く、
起動することが出来れば(たとえば環境変数の切り替えるだけとか)、いいなと思っているのですが、
何か良い方法ってありませんか?
0244nobodyさん2005/08/14(日) 01:48:18ID:???
俺が教えて欲しいもんだ・・・

XAMPPで5と4の切り替えが出来るけど
0245nobodyさん2005/08/14(日) 02:20:17ID:???
>243
coLinuxやVMware/VirtualPC上にLAMP環境作るのが一番簡単じゃない?
02462372005/08/14(日) 02:39:25ID:???
>>239
ありがとうございました。substr($res,1)でいけました!
何度も質問ばかりで恐縮なんですが、特定の文字列があり
任意の文字移行切り捨てたい場合、どすればいいんでしょうか?
例えば、HIJ移行を切り捨てたい場合

$string="abcdefgHIJklmn";

を、

$string="abcdefg";

としたいんです・・・。昨日から本読んでるですがどうしてもわから
ないです。
0247nobodyさん2005/08/14(日) 03:11:27ID:???
"HIJ"っていう固定の文字列なら

.*HIJ?
ちなみにphpのマニュアルは読んだ事ありますか?
http://www.php.net/manual/ja/
0248nobodyさん2005/08/14(日) 03:33:48ID:???
>>246
// 方法1 (今回みたいな単純なものはこれがお勧め)
$pos = strpos($string, 'HIJ');
if ($pos !== false) $string = substr($string, 0, $pos);

// 方法2
if (preg_match('/(.*?)HIJ/', $string, $matches)) $string = $matches[1];

// 方法3
$string = preg_replace('/HIJ.*/', '', $string);

まだまだイパーイあるよ
0249nobodyさん2005/08/14(日) 08:57:06ID:???
>>228
Zendとかその他の暗号化ツールを買って使うのが一般的な方法でないの?
価格は結構するけど。暗号化サービスだけ提供もされてる。ただこれも高価。
色々調べてみたら? 他のサーバからincludeは薦められん。

0250nobodyさん2005/08/14(日) 09:58:00ID:???
>>243
php_flag zend.ze1_compatibility_mode On
0251nobodyさん2005/08/14(日) 10:31:53ID:???
>>243
CGIでよければ
ttp://cubic9.com/Devel/PHP/%A5%D0%A1%BC%A5%B8%A5%E7%A5%F3%A4%CE%B0%E3%A4%A6PHP%A4%C7%A4%CE%C6%B0%BA%EE%B3%CE%C7%A7%A4%F2%B4%CA%C3%B1%A4%CB/
試してないけど。
0252nobodyさん2005/08/14(日) 12:24:05ID:???
>>243
参考になるかどうか判らないけど、漏れがやっている方法。ちょっと長くなるけど。
切り替えているのは PHP4.3.10 と PHP4.4.0 ね。

1)4.3.10 と 4.4.0 を別ディレクトリにインストール。
2)4.3.10 と 4.4.0 用の httpd.conf をそれぞれ httpd-4.3.10.conf と httpd-4.4.0.conf として作成して
  LoadModule 行の php4apache2.dll のディレクトリを変更。
3) コマンドプロンプトを開いて Apache のサービスを2つ登録。
  <Apacheディレクトリ>\bin\apache -k install -n "Apache2-PHP4.3.10" -f <Apacheディレクトリ>\conf\httpd-php4.3.10.conf
  <Apacheディレクトリ>\bin\apache -k install -n "Apache2-PHP4.4.0" -f <Apacheディレクトリ>\conf\httpd-php4.4.0.conf
4) php.in と php4ts.dll を Windowsディレクトリにコピー。コピー時にそれぞれのバージョン用に名前を変更しておく。
  php.ini → C:\Windows\php-4.3.10.ini、C:\Windows\php-4.4.0.ini
  php4ts.dll → C:\Windows\System32\php4ts-4.3.10.dll、C:\Windows\System32\php4ts-4.4.0.dll
5) それぞれの起動用バッチファイルを作成。
  --- apache2-php4.3.10.bat ---
  net stop apache2-php4.3.10
  net stop apache2-php4.4.0
  copy /y c:\windows\php-4.3.10.ini c:\windows\php.ini
  copy /y c:\windows\system32\php4ts-4.3.10.dll c:\windows\system32\php4ts.dll
  net start apache2-php4.3.10

  --- apache2-php4.4.0.bat ---
  net stop apache2-php4.3.10
  net stop apache2-php4.4.0
  copy /y c:\windows\php-4.4.0.ini c:\windows\php.ini
  copy /y c:\windows\system32\php4ts-4.4.0.dll c:\windows\system32\php4ts.dll
  net start apache2-php4.4.0

apache2-php4.3.10.bat を実行すれば PHP4.3.10 で、apache2-php4.4.0.bat を実行すれば PHP4.4.0 で起動する。
0253nobodyさん2005/08/14(日) 12:29:42ID:???
なんかスマートじゃないよね。

俺も複数バージョンの切り替えって興味あるんだけど、
PHPのdllsやExtensionとかのDLLはクラスパスで通せば認識してくれるから、
問題はphp.iniとphp4apache2.dllの場所をどこかで指定して、
それを読み込ませればいいんだよな・・・

頭でわかっていても解決方法はわからん。
0254nobodyさん2005/08/14(日) 12:41:42ID:???
PCのパワーに余裕があるのなら、複数のapache(+php)を立ち上げるのも手だね。
基本はポート番号でphpのバージョンを切り替える。
使いやすいように、mod_writeやmod_proxyを使って拡張子で各apacheへ振り分ける
フロントエンドのapacheをたてれば手軽さ倍増かと。
0255nobodyさん2005/08/14(日) 12:54:20ID:???
お前らに聞きたいんだが、なんでそこまでしてWindows+ApacheでPHP動かしたいんだ?
>245でいいじゃん?
実行環境がWindowsServerとかなのか?
0256nobodyさん2005/08/14(日) 13:06:37ID:???
>>249
>他のサーバからincludeは薦められん。
その理由とは?
また、そこらへんの事について言及した参考サイトなどあれば教えてください
0257nobodyさん2005/08/14(日) 13:26:48ID:???
>>255
鯖へアップする前の開発とテスト用。

coLinuxやVMWare/VirtualPCだとPHPのテストの為に、
複数のOSをHDDに入れなきゃいけない。(無駄が多い)
0258nobodyさん2005/08/14(日) 14:17:05ID:???
写メールBBSで、うpファイル名を時間+拡張子したいのですがうまくいきません
pop.phpの
if (!$original) $filename = time()."-".$filename;
}
をいじくればいいと思うのですが解る方教えてください。
0259nobodyさん2005/08/14(日) 14:17:48ID:???
PHPで

◎
  ◎
  ○
  ○
○
  ○
  ○

このようなラジオボタンを作ることはできるのでしょうか?
一段目の二つ目のラジオボタンを選択すると、二段目の上から四つ目のラジオボタンも自動的にチェックされます。
0260nobodyさん2005/08/14(日) 14:22:33ID:???
>>258
写メールBBSとやらをググって探すのが面倒。ダウンロードして解凍して回答するのが面倒(クスクス)。

$filename = time()."-".$filename;
つーのは、この行以前に値が入っている$filenameという変数の先頭に、
time()で取得できるunixタイムスタンプと「-」という文字を連結し、
それを新しく$filenameの値とする事を意味する。
その部分でそういう処理をすることを望んでいるのかね?
0261nobodyさん2005/08/14(日) 14:26:29ID:???
>>259
PHPは鯖側で動作するので、
ラジオボタンを選択してsubmitボタンとかで鯖に送信し、
希望するチェック状態(<input type="radio" 〜 checked>でチェック状態になる)のhtmlを出力する。
クライアント側(ブラウザ)でやりたい場合は、JavaScriptを使う。
0262nobodyさん2005/08/14(日) 14:29:17ID:???
>>259
それはHTML+javascriptでやることだ
0263nobodyさん2005/08/14(日) 16:51:44ID:???
$result1 = mysql_query("SELECT * WHERE type='0'")

で$resultに結果を格納した後に、さらに$result1の結果を反映している状態で

mysql_query()を使って結果を出すことは可能なのでしょうか?
02642522005/08/14(日) 17:10:12ID:???
先の方法(>>252)で PHP5 も同様に切り替えていたんだが。。。
PHP5 では php5ts.dll のコピーはしていないことに気付いて調べてみたら単に Apache モジュールと
同じディレクトリに置いておけば良かった模様。
また Apache の PHPIniDir ディレクティブで php.ini の置き場所を設定できることを発見したので先の方法を訂正。
>>253 さんの言うとおりスマートぢゃないのは変わらないけどね。また長くなって申し訳ない。

例として PHP4.3.10 を c:\php4.3.10、PHP4.4.0 を c:\php4.4.0 にインストールしたとする。

1)4.3.10 と 4.4.0 用の httpd.conf をそれぞれ httpd-4.3.10.conf と httpd-4.4.0.conf として作成して以下を設定。
  LoadModule php4_module php4apache2.dllのフルパス
  PHPIniDir php.iniが存在するディレクトリ
2)それぞれのバージョン用の php4ts.dll を c:\php4.3.10\sapi、c:\php4.4.0\sapi にコピー。
3) コマンドプロンプトを開いて Apache のサービスを2つ登録。
  <Apacheディレクトリ>\bin\apache -k install -n "Apache2-PHP4.3.10" -f <Apacheディレクトリ>\conf\httpd-php4.3.10.conf
  <Apacheディレクトリ>\bin\apache -k install -n "Apache2-PHP4.4.0" -f <Apacheディレクトリ>\conf\httpd-php4.4.0.conf
4) それぞれの起動用バッチファイルを作成。
  --- apache2-php4.3.10.bat ---
  net stop apache2-php4.3.10
  net stop apache2-php4.4.0
  net start apache2-php4.3.10

  --- apache2-php4.4.0.bat ---
  net stop apache2-php4.3.10
  net stop apache2-php4.4.0
  net start apache2-php4.4.0

apache2-php4.3.10.bat を実行すれば PHP4.3.10 で、apache2-php4.4.0.bat を実行すれば PHP4.4.0 で起動する。
>>254 さんが言っている複数の Apache を異なるポートで動作させる場合も1)、2)は使えるはず。
0265nobodyさん2005/08/14(日) 18:00:39ID:???
php.iniを指定できるなら、Apacheを複数登録する必要あるのかなぁ・・・

httpd.confで、複数のバージョンの定義をしておいて、使わない奴はコメントアウトしておいて、
切り替えたい時に、コメントアウトする場所を変えて、Apache再起動でよくない?
0266从'ャ')2005/08/14(日) 20:17:01ID:???
ちくしょー
ローカルで試したらMySQLにつながらんねー
Can't connect to MySQL server on 'localhost' (10061)

mysql.exeでMySQLに繋がるし、借りてる無料スペースだと動くので
何かが悪いのだろうけど
apacheもPHPもはじめたばかり、何が悪いかわからん。

WindowsXPです。
0267nobodyさん2005/08/14(日) 20:21:47ID:???
>>266
まさかローカルからレンタルスペースに置いてるDBへ接続するのに
localhostで指定してる?
外部からだとipなりで繋がないと繋がらないべさ
0268从'ャ')2005/08/14(日) 20:30:52ID:???
ローカルにもMySQL入れました。
はじめたばかりの俺が
本とかみながら設定したので何か不足があるのだろうけど
わからん。

MySQL Server Instance Config Wizard
いじってたらMySQLサービスが起動エラーになるようになってしまった。
悪化!
0269nobodyさん2005/08/14(日) 20:35:54ID:???
PHPという訳じゃないんだけど質問が。

HTMLのタグの属性とCSSってどうやって使い分けるのがベストなの?
タグで属性指定するものは、大抵CSSやSTYLE属性で指定出来る。

デザイン系のHPとか見ても、両方がごちゃまぜに使われてる場合が多い。

この属性はCSSやSTYLEで指定すべきとか
タグでこの属性を設定するのは推奨できないとかの指針みたいなのってどっかに公開されてないの?
0270nobodyさん2005/08/14(日) 20:39:33ID:???
>>268
日記はジャポニカ日記帳へ。
質問があるなら的確な状況説明を。

>>269
web制作板があるでよ
0271从'ャ')2005/08/14(日) 21:19:22ID:???
my.iniのバックアップがあったのでサービスは復活した。
mysql -u xxxx -pyyyyで使えたのはmysqlパイプ接続だかららしいと推測。
0272从'ャ')2005/08/14(日) 21:30:45ID:???
MySQL Server Instance Config Wizard
を使うとmysqlサービスが起動できなくなるので、
バックアップを参考に手動でmy.iniをいじってpipeをportにしたら
PHPのmysql_connectが成功するようになりました。
ありがとうございました。
0273nobodyさん2005/08/14(日) 21:40:31ID:BEaEv0Pj
初歩的な質問になりますがお許しください。

たとえば通信販売などで、WEBから注文をもらい、その顧客のデータを
データベース化するというような一連の流れをおこなうにはphpというものとSQLというものを勉強すれば作成可能でしょうか??
WEBフォームを作成し、顧客が入力したデータをデータベースとして保存したいのですが。
0274nobodyさん2005/08/14(日) 21:52:48ID:???
>>273
まぁPHPが一番簡単だろうね。なんでもいいよw
■ このスレッドは過去ログ倉庫に格納されています