多次元配列の$hogeをファイルに保存したいのですが、うまくできません。 fwriteでそのまま書き込むと、Arrayのみになってしまいます。
>>4 $s = serialize($hoge);
fwrite($fp, $s);
ファイルから読込むときは unserialize()
7 :
4 :03/11/01 15:23 ID:???
>>5 ありがとうございます!! 早速試してみます。
次のようなコードを実行してもうまく出力できないのです どこに原因があると考えられますか? <html> <form> あなたの名前をここに入力して下さい:<br> <input type="text" name="username"><br><br> <input type="submit" value="データを送る"> </form><br><br> あなたは次のように入力しました: <?php echo($username); ?> </html> よろしくお願いします
>>9 激しくFAQ
<?
phpinfo();
?>
でregister_globalsの値を確認しる
>>9 echo $_GET("username");
ではどう?
つか、質問するなら環境、バージョン、「何が」「どう」うまく出力できないか、くらい書けよ!!
>>11 をいをい。威張るなって。
>echo $_GET("username");
ってなんだ?
echo $_GET['username'];
なら、まだわかるけど、それでも、結局混乱させてるだけ。
まず、
>>9 は、
>>10 が言うように、
PHPのregister_globals
という言葉を知って、googleあたりでちゃんと調べること。
それとは別に、HTMLのForm要素の書き方の勉強を通じて、
POST/GET methodの意味も押さえること。
13 :
nobodyさん :03/11/02 01:25 ID:MVus2Ek9
PHPのextensionとして他のアプリケーションへのラッパを作りたいと 思うのですが何かよい手本や解説はないでしょうか?
14 :
9 :03/11/02 01:26 ID:???
>>10-12 レスサンクスです
register_globalsはoffでした
ver.4.3.3なのでデフォでオフになってるそうでお騒がせしました
軽く調べたところでは,onにするよりもスクリプトの記述を工夫した方が良いようなので
取りあえずoffにしたままやっていこうと思いましたが
>12の
>echo $_GET['username'];
っていうのはよくないんですか?何か混乱させててまずいんですかね?
Web作成板のJavaスクリプトスレッドから誘導されてきました。 2003年12月31日まで後●●日 という●●の数字をGIF画像にするスクリプト教えてもらえないでしょうか?(配布しているサイトでも結構です)
11です。
>>14 提示されたソース例のように、method属性が書かれないなら
初期値がgetなんで、
$_GET['変数名']
で取得できます。
ただし、必須属性のactionの記述がないソースについて、
(省略可能な)method属性が記述されていないからと言って、
データの受け渡しがGETであるのを自明として話が進むことに、
若干の疑問があったということなのです。
混乱させてすまそ。
17 :
9 :03/11/02 03:20 ID:???
>>16 つまり,method属性が特別記述されていない場合はデフォルトのGETを指定して
記述されている場合はそれを指定してやれば問題ないわけですね
勉強になりましたありがとうございました
18 :
nobodyさん :03/11/02 05:32 ID:ljiT0fis
includeするファイルを文字コード変換したいんですが、どうすればいいですか?
はぁ…ここやっぱ完全に初心者スレだわ。
>>19 それと、あんたもわからないときは発言を控えた方がいいよ
>>19 初心者とそれ以外で分けても使いこなせない
今までの状況を踏まえて質問スレが統一されてるわけじゃん。
今更グチ言ったって始まらないよ。
23 :
nobodyさん :03/11/02 10:27 ID:V1BNcMbB
phpと無関係。 次の方いってみましょう。
>>23 自鯖板のapacheスレで訊くといいよ。
たぶん「ドキュメント嫁」って言われるけど。
26 :
nobodyさん :03/11/02 14:07 ID:wqdh83P1
javascriptのテキスト入替えみたいなのをPHPでやりたくて $z = $a; function show_a(){$z = $a;} function show_b(){$z = $b;} function show_c(){$z = $c;} って書いてみたんですけど、 これをリンクをクリックして呼び出すにはどうしたら良いんですか? a,b,cとも同じファイル内に書きました。
>26 phpスクリプトにリンクすれば呼び出される。 スクリプトに値を渡して、その値ごとに処理を分ければいい。
ウホッ phpスクリプトにリンクすれば(クリックで)呼び出される。
29 :
nobodyさん :03/11/02 14:35 ID:wqdh83P1
>>27-28 ありがとございます!
でも、ごめんなさい。全然分かりません。
あの、index.phpに
<a href="#">aの説明</a>
<a href="#">bの説明</a>
<a href="#">cの説明</a>
と言うリンクをつけて、同じindex.php内の別の場所にa,b,cの説明文を出したいんです。
それで、<a href="index.php?show_b">とかしてみたんですけど音沙汰がありません。
functionの呼び出し方が分からないです。
<form method="GET" value="b"><input type="button" value="bの説明"></form>
みたいにしないとダメですか?
><a href="index.php?show_b">
そりゃムリかと。
送るのを分岐判断用の値にして、スクリプト側で分岐させれ。
それと、
>>26 そのまま書いてるわけじゃないよな?
>>24 >>25 の言わんとすることもわかるが、
とりあえず
>>23 に次のような質問をしておきたい。
a.Webサーバの404(存在せず)エラーに関しての知識がある?
それがあるなら、b.に。
b.Webサーバの404エラー表示用ドキュメントをPHPにして、
その中でエラーを判定して、更にリダイレクトで自分が望んでいるURI
に飛ばせ。
b.をPHPでやりたいなら、a.をクリアした上で、ここで再質問。
そうではなくて、apacheだけで制御できる見通しがあるなら
板違い
----
なお、俺は、
>>23 がしたいことをapache側だけで制御出来る知識がない。
a.=>b.でやると思う。
32 :
27 :03/11/02 14:58 ID:???
この程度の質問まで許容してよいのか分からないが。
a href="index.php?show=a
とやれば $_GET['show'] に a が入る。POSTなら $_POST['show']。
(index.php?show_b だと値の無い $_GET['show_b'] ができるだけ。)
これを使って値(bやc)に応じてswitchかifで処理分岐させる。
関数は関数名を書けば動く。javascと似たようなもの。
ttp://jp.php.net/functions 一冊本を買うか、簡単な入門ページを読めば十分なレベルで、
本来自分で調べなければいけないはず。
33 :
27 :03/11/02 15:03 ID:???
「b.」には、存在しなかったがリクエストされたフォルダ名abcを、404.phpに渡すスキルがあるかという判定が抜けてると思う。
$_SERVER['PHP_SELF'] って、取得できないことってありますか?
35 :
nobodyさん :03/11/02 15:18 ID:wqdh83P1
>>32 さん
ありがとうございます!!!&ごめんなさい。
>>30 さんに教わってif文を書いてみたんですが、
動かずに困ってた所でした。。本買います。
ありがとうございました。・゚・(ノД`)・゚・。
404.phpに渡すスキルでわなくて、404.phpにやってくる前にリクエストされたURI を、404.php内で知るスキルじゃなくて? いずれにせよ、それを言うなら「板違い判定リスト」の中に、必要なPHPスキルを 羅列しなければならなくなり、結局は、代わりに書いてあげる、ということに なるのではないだろうか(w
38 :
34 :03/11/02 15:26 ID:???
>>36 アリガdございます。てことはウェブ用のスクリプト(掲示板とか)なら問題なさそうですね。
>37 板違い判定リスト(?)というのが仮にあるとして、そこに否定条件として あげられるのは、必要なphpスキルではなく、phpスキルでは無いもの。 また、スキル・実装・コーディングはそれぞれ別のもの。前2行意味不明。
今作ってる日記スクリプト(完全に個人用)にPukiWikiのテキスト整形エンジンを 組み込みたいのですが、具体的にはどうすればいいでしょうか?
>>40 地道に頑張るしかないんじゃないでしょうか?
43 :
nobodyさん :03/11/02 17:27 ID:8iNksTmP
Perlは経験あるものの、phpはこれからといったかんじです。 で、質問です。 みなさんは、phpがinclude_onceとかするときの外部ファイルは、 どこにどんな拡張子で置いてますか? 僕が想像するに、 ドキュメントルートより上(もしくはhtdocsと同じならび)に「include」とかディレクトリ作って、そこに「*.inc」みたいにファイルを置くのが、一番なんでしょうか? いちお、perlやってるときは、(jcode.plとかの見られてもいいファイル以外は、)そうしていたのですが・・・
44 :
nobodyさん :03/11/02 17:34 ID:0vjLA28b
if( isset( $_GET['hoge'] ) $hoge=$_GET['hoge']; if( isset( $_POST['hoge'] ) $hoge=$_POST['hoge']; if( ! isset( $hoge ) errorshori(); とやってるんだけど、引数分だけチェックするのは面倒です。 そこで、これを関数化して $hoge = getget( 'hoge' ); if( ! isset( $hoge ) ) errorshori(); としたのですが、まだスッキリしません もう少しかっこよく処理するにはどういう手がありますか?
45 :
nobodyさん :03/11/02 22:57 ID:MVus2Ek9
PHPのextensionとして他のアプリケーションへのラッパを作りたいと 思うのですが何かよい手本や解説はないでしょうか?
>>44 $_REQUESTじゃダメか?
if(!isset($_REQUEST['hoge'])) error...
47 :
nobodyさん :03/11/03 00:45 ID:/ixeLK6a
どーもせんでよろしい。
wikiでfaq作る必要があるか。
51 :
47 :03/11/03 00:53 ID:???
>>48 どーもせんでよろしいという場合だと、
スレッドの数分ディレクトリを作って、おのおの、index.phpみたいなファイルを
入れておいて(シンボリックリンク?)アクセス時のURLをパースして、値を取得
するとか、なんか、そんなローテクなことでやっているということでしょうか?
それとも、他に方法があるの?
52 :
47 :03/11/03 00:55 ID:???
>>50 PATH_INFOをみるのはなんとなく分かるのですが、
>>51 に書いたように、スレッドの数分ディレクトリを掘って、
中にindex.phpみたいなファイルを入れるのでしょうか?
53 :
48 :03/11/03 00:57 ID:???
あえて言うならスレ読んで死ねカス
54 :
47 :03/11/03 01:06 ID:???
>>48 すいません。すぐ上で同じような質問があったんですね。
mod_rewriteが使えそうです。
56 :
nobodyさん :03/11/03 01:17 ID:hP8zj7o6
本日($date)より10日先の日付をカラムdate2に格納してまして、date2が本日以前のデータを削除したいのですがうまくいきません。 $today=date("y/m/d H:i:s"); delete from a_goodtest where date2 <= '$today' date2のフィールドタイプがvarcharなのでそれがアウチなんだと思うんですが うまく10日以前のデータだけ削除させられる方法教えて下さいまし。
57 :
nobodyさん :03/11/03 01:22 ID:73zsQG70
phpだけど。テキストファイルのように見せるための MIMEタイプって application/text ですよね それを設定するのは mime_content_type という関数?
58 :
57 :03/11/03 01:26 ID:73zsQG70
あっはっは何言ってんだろねオレって
59 :
nobodyさん :03/11/03 01:51 ID:8rePSY7H
(*`▽´*)あっはっは
60 :
57 :03/11/03 02:07 ID:???
ところで、 Header("Content-type: text/plain"); を指定してテキストにしているのですが なぜかIEで見ると ダウンロード になってしまいます 当方としてはテキストとしてそのままブラウザでみたいのですが 何か足りないヘッダとかあるんですかね? サーバ側は PHP4.1.2 Apache1.3.26 クライアント側は IE6.0 なんですけどね
IEはtext/html以外は拡張子見るからなあ・・・
62 :
57 :03/11/03 05:56 ID:???
63 :
nobodyさん :03/11/03 07:49 ID:CS2iJVYq
質問です。外部ファイルdat.txtがあり中身は 1,50,9,8,4 です。それを読み込んで$datの配列にします。んで sort($dat); します。出力すると 1 4 8 9 50 になるはずですが実際は 1 4 50 8 9 になってしまいます。何が原因でどうすればうまくsort出来るのでしょうか?
>63 マニュアルにあると思うが、sortの第二引数にsort_numericて指定できなかったっけか。
65 :
63 :03/11/03 09:15 ID:???
phpでperlのモジュール使えますか?
68 :
66 :03/11/03 13:42 ID:???
ありがとう。 これで、心おきなくphpの勉強ができるよ。
>66 67は問いに対する解としては正解でもあるが、 多分66の考えてるように使えることを指してる訳ではないよ。 「Perlと同様に、PHPの中でPerlのモジュールが」なら「使えない」 #同様というのも準拠といっしょで曖昧さを残した言葉だけど
70 :
nobodyさん :03/11/03 18:26 ID:/qbkXFiI
71 :
nobodyさん :03/11/04 00:24 ID:6s03l7EN
メール送信スクリプトを作っているのですが、 Fatal error: Call to undefined function: mb_encode_mimeheader() となってしまい 、出来ませんでした。 PHPのバージョンは4.2.2です。なぜでしょうか?
72 :
71 :03/11/04 00:25 ID:???
ちなみにconfigureオプションは './configure' '--host=i386-redhat-linux' '--build=i386-redhat-linux' '--target=i386-redhat-linux-gnu' '--program-prefix=' '--prefix=/usr' '--exec-prefix=/usr' '--bindir=/usr/bin' '--sbindir=/usr/sbin' '--sysconfdir=/etc' '--datadir=/usr/share' '--includedir=/usr/include' '--libdir=/usr/lib' '--libexecdir=/usr/libexec' '--localstatedir=/var' '--sharedstatedir=/usr/com' '--mandir=/usr/share/man' '--infodir=/usr/share/info' '--cache-file=../config.cache' '--with-config-file-path=/etc' '--with-config-file-scan-dir=/etc/php.d' '--enable-force-cgi-redirect' '--disable-debug' '--enable-pic' '--disable-rpath' '--enable-inline-optimization' '--with-bz2' '--with-db3' '--with-curl' '--with-dom=/usr' '--with-exec-dir=/usr/bin' '--with-freetype-dir=/usr' '--with-png-dir=/usr' '--with-gd' '--enable-gd-native-ttf' '--with-ttf' '--with-gdbm' '--with-gettext' '--with-ncurses' '--with-gmp' '--with-iconv' '--with-jpeg-dir=/usr' '--with-openssl' '--with-png' '--with-pspell' '--with-regex=system' '--with-xml' '--with-expat-dir=/usr' '--with-zlib' '--with-layout=GNU' '--enable-bcmath' '--enable-exif' '--enable-ftp' '--enable-magic-quotes' '--enable-safe-mode' '--enable-sockets' '--enable-sysvsem' '--enable-sysvshm' '--enable-discard-path' '--enable-track-vars' '--enable-trans-sid' '--enable-yp' '--enable-wddx' '--without-oci8' '--with-pear=/usr/share/pear' '--with-imap=shared' '--with-imap-ssl' '--with-kerberos=/usr/kerberos' '--with-ldap=shared' '--with-mysql=shared,/usr' '--with-pgsql=shared' '--with-snmp=shared,/usr' '--with-snmp=shared' '--enable-ucd-snmp-hack' '--with-unixODBC=shared' '--enable-memory-limit' '--enable-bcmath' '--enable-shmop' '--enable-versioning' '--enable-calendar' '--enable-dbx' '--enable-dio' '--enable-mcal' '--with-apxs2=/usr/sbin/apxs' となっているようです。
>メール送信スクリプトを作っているのですが、 >Fatal error: Call to undefined function: mb_encode_mimeheader() >となってしまい >、出来ませんでした。 >PHPのバージョンは4.2.2です。なぜでしょうか? 71のメール送信スクリプトはこう書いたそうです echo "Fatal error: Call to undefined function: mb_encode_mimeheader()";
>68 大事を取ってPythonにしとけ。
レン鯖等で、4.1.0より古いPHPしか使えない場合って頻繁にありますか?
77 :
71 :03/11/04 01:59 ID:???
>>73 max
md5
と見事に飛んでいます(´・ω・`)
どうやったら有効に出来るのでしょうか?
78 :
23 :03/11/04 02:42 ID:kDSz6pO0
XREAなのでmod_rewriteつかえそうです ありがとうございました。
79 :
1/2 :03/11/04 03:20 ID:5V0kFouY
ファイルのアップロードの仕方がわかりません。画像ファイルをアップロードしてそのファイル名を取得したいのですが できません。 本も青・赤マンモス読みましたし、いろんなHPをまわってサンプルを手に入れたのですがサンプルすら動きません 一応他のPHPプログラムは動いているので環境のほうは整っているはずなのですが OS:WIN2000 PHPDEV4で動かしています 以下のサンプルを手に入れたのでファイル名をfile_upload.phpとして保存し、gifファイルを指定してアップロードボタンをクリックしましたが ファイル名もなにも表示されません、どうかご教授ください
80 :
2/2 :03/11/04 03:21 ID:5V0kFouY
<?php if (empty($UserFile)) { // 変数が未定義の時にTRUE ?> <form method="post" action="file_upload.php" enctype="multipart/form-data"> <input type="hidden" name="MAX_FILE_SIZE" size="65536"> <input type="file" name="UserFile"> <input type="submit" value="アップロード"> </form> <?php } else { print "<a href=\"file_upload.php\">戻る</a><br><br>\n"; print "ファイル名 = $UserFile_name<br>\n"; print "ファイルサイズ = $UserFile_size バイト<br>\n"; print "ファイルタイプ = $UserFile_type<br>\n"; print "テンポラリファイルパス = $UserFile<br>\n"; // $file = tempnam("../img","upload_"); if (is_uploaded_file($UserFile) ) { // HTTP POSTでアップロードされたファイルか? print "アップロードされました。<br>(但し、一時ファイルを任意のフォルダには格納していません)<br>\n"; // if (copy($UserFile, $file)) { // if (copy($UserFile, $UserFile_name)) { // print "ファイルコピー成功。 $UserFile -> $file<BR>\n"; // } else { // print "ファイルコピー失敗。 $UserFile -> $file<BR>\n"; // } } else { print "アップロードできません。<br>\n"; } unlink($UserFile); // 一時ファイルの削除 } ?>
マニュアルを読もう。
'<a task="GOSUB" dest="ez.cgi?f=' .$tmpdir.rawurlencode($att). '.jpg"> ダウソ </a>' 勝手に .jpg にする処理もどうかと思うが、それより質問するスレ間違ってること無いか。
>>85 サン
ご教授ありがとうございます。
試したところ以下のようなDHMLが出力されました。
残念ながら携帯からDLできませんでした↓
<br>------------<br><LINE>[2]匿名さんbr>
<br><br> <br>
<br>添付:<a task="GOSUB" dest="ez.cgi?f=./data/1067875861-%81yPV%81zGackt%20-%20Vanilla.amc">AMC</a>(234KB)
>>勝手に .jpg にする処理もどうかと思うが、
えっと、この.jpgの部分は、→ =' .$tmpdir.rawurlencode($att). '.jpg">
掲示板にうpされたdataが格納されるDIRですので.jpgというのは仮です。
ディテクトリ↓
├ pc.php [666] (pc表示出力)
├ ez.php [666] (DHML出力)
├ ez.cgi [666] (ez端末DLスクリプト)
├/data/ [777] (data保存用ディレクトリ)
U
├1067875861-%81yPV%81zGackt%20-%20Vanilla.amc
├**************.mmf
├*******.jpg (etc...
└.log(logファイル)
このような質問は何処ですればいいでしょうか?
88 :
73 :03/11/04 07:13 ID:+618ENQK
>>71 レンタルサーバなら、
1.管理者へお願いする
2.サーバを乗り換える
自分で建てたサーバなら、
3.configureした時のログを見て原因を追及する
だな。とりあえず。
'<a task="GOSUB" dest="ez.cgi?f=' .rawurlencode($att). '"> ダウソ </a>' > 掲示板にうpされたdataが格納されるDIRですので.jpgというのは仮です。 申し訳ないが意味が分からない('.jpg'が例だったのは了解したが)。 配布サイトの説明を見る限り、upfile格納フォルダは $datadir で設定し、ez.cig?f= には 指定しないことになってるようだが。 板はあってる。適当なスレを自分で見つけて移動してくれ。
ディレクトリにあるファイルのサイズの合計を得る関数とかありますか?
あるかどうか知らんが、非常にためになるので 自作する事をお勧めする
93 :
73 :03/11/04 12:03 ID:YWrYXVhJ
>>71 実は真面目に見ていなかったのだが、configureオプションとして
--enable-mbstring
--enable-mbstr-enc-trans
--enable-mbregex
なんかを追加せんとだめでしょうな(後ろの2行はおまけ)
cookieの件で質問です。 <?php $vl = time(); setcookie("TEST"); setcookie("TEST", (string)$vl); var_dump($_COOKIE); ?> このようなファイルをブラウザで実行すると、最初は array(0){ } のように表示されます。しかし、ブラウザで実際のcookieの値を見ると正しい値が 格納されています。次にブラウザをリロードすると array(1){["TEST"]=>string(10)"1067915940"} と表示されます。この値は最初に格納されたcookieの値で、同様にファイルには 正しいcookieの値が入っています。つまり、常に1回前のcookieの値が表示されるわけですが これはこのような仕様なのでしょうか。 表示だけの問題なのでかまわないのですが、ちと気持ち悪いです。
96 :
94 :03/11/04 13:11 ID:???
>>94 花や葉っぱと根の間?
とか言ってみたりしてな
うはwwwwwwwwwwwww笑いの神が俺に降りたようだwwwwwwwwwwwwww
ラg
100 :
nobodyさん :03/11/04 17:31 ID:ECyuE+2E
foo, 2 bar, 4 hoge, 98 のように値がコンマ(ほかの区切り文字でもいい)で区切られたリストがあるファイルから $list['foo']=2 $list['bar']=4 $list['hoge']=98 というふうに連想配列に値を格納したいのですがどうしたらいいですか? 教えてください
file()で配列に取り込むか、getsでまわして 各行をsplit , でばらし、$list[array[0]] = (int)array[1]; とかやればいいかと思う
>>101 (o_ _)ノ彡☆バンバン ギャハハハ
" を含む文字列変数を serialize() すると unserialize() できない結果が返されるのって仕様? 単体だったら \" とかに quote してやればいいんだろうけど。 そういう文字列を持つオブジェクトを serialize したい時、中身をいちいち調べて quote するのは邪道っぽい気がするし。 いちいち __sleep() とか書くの面倒くせーし(w、wddx_serialize は configure option 付けないと使えないし。 なんか楽な方法はないですかね?
$name $mail $comment と変数を使うのと $data['name'] $data['mail'] $data['comment'] と連想配列にするのでは、サーバへの負担や処理速度に差は出ますか?
105 :
71 :03/11/04 19:33 ID:???
>>73 自分で立てた鯖です。
インストールしなおすしか方法は無いのでしょうか?
106 :
73 :03/11/04 19:37 ID:???
107 :
nobodyさん :03/11/04 19:44 ID:fS4BwSG7
>>104 どういう処理をしたいのか良くわからんのでなんとも胃炎。
自分で試して結果報告よろしく。
処理時間を測るにはPEARのBenchmarkパッケージを使うのが簡単ですよ。
108 :
nobodyさん :03/11/04 20:06 ID:sbLIjjuI
>>107 まぁそんな深い意味はないんだろうが少しでも
レスポンスを早くしたいってとこだろ
処理効率以外で考えたらオレなら連想配列で作るな
109 :
nobodyさん :03/11/04 20:08 ID:1+3Oq+pN
require_once で読み込むファイルが変更された場合、再度読み込ませるには どうすれば良いのでしょうか? 更新されていたら勝手に読み直してくれる?
>109 スクリプトの読み出し毎にZendエンジンで新規にコンパイルされるから、 APCとか噛ませて、それをキャッシュしてなければ更新内容に追従する筈だけど。 require_once"してる"方のスクリプトがキャッシュされてしまうとかは別にして。
111 :
109 :03/11/04 20:42 ID:???
ありがとございます。 関係ないかもしれないけど、httpdの再起動が要るのかとか考えてました。
112 :
71 :03/11/04 21:01 ID:???
>>73 checking host system type... i686-pc-linux-gnu
checking for gcc... no
checking for cc... no
configure: error: no acceptable cc found in $PATH
となってしまい失敗しました。
linuxのこともよくわからないのでどうすればよいのやら・・っていう状態です。
というか・・
エンコードしなくてもメールが送れるようなので必要ないのでしょうか?
エンコードしないで送ると不具合とかありますかね?
113 :
71 :03/11/04 21:02 ID:???
てか checking host system type... i686-pc-linux-gnu って・・・ i386のハズなんだけどな(´・ω・`)
safe_mode制限下でも動作するtelnet.cgiや似非シェル機能を持ったファイルマネジャー系のスクリプトはないでしょうか 探し回ったんですがPHPShellくらいしか見つからないし、これはsafe_mode環境下では使えなかった
115 :
73 :03/11/04 22:53 ID:???
>>71 むーん。とりあえずLinuxは何を使っているかとか、
>>72 で教えてくれた
configureの内容はどうやって確認したのか。
そもそもその環境はどのように構築したのかが分からんとなんともかんとも。
>checking host system type... i686-pc-linux-gnu
>checking for gcc... no
>checking for cc... no
>configure: error: no acceptable cc found in $PATH
これくらいの英語は読めるでしょ。
C compiler へのパスが適切ではない(=パスが通ってない)といって
るわけだ。ccとかgccとかが入っていないんじゃないの?
ちなみに私はFreeBSDを使っていて、必要なツール、ライブラリ類は全て
コンパイルして入れているので、Linuxの細かいところまでは分からん。
116 :
628 :03/11/04 23:54 ID:???
>>73 gccとflexを入れて
make install
までエラー無しで出来たのですが、PHPを開いても
<?
phpinfo();
?>
のようにソースがそのまま表示されてしまいます。
#いまp2で書き込もうとしたら動かなかった・・
>>116 そりゃWebサーバの設定やな。
OSごと、Webサーバごとに説明が載ってるから、PHPのマニュアルみんしゃい。
つーか君頭悪すぎ。本7並だな
>>116 httpd.confをきちんと設定してるか?
119 :
73 :03/11/05 00:13 ID:???
>>71 まず、環境(httpdに何を使っているの?とか)を明らかにしてくれ。
また、前の環境をどうやって構築したのかも。
恐らくRPMでインストールしたPHPをソースからコンパイルしたPHPで
置き換えようとしたので、デフォルトのパスが異なっているのが原因の
ように思えるが、環境がわからんのでこれ以上は分からん。
120 :
71 :03/11/05 00:46 ID:???
OSはREDHAT9です。
httpdはapache2.0.40です。
>>73 さんの言うとおり、RPMでインストールしたものを置き換えました。
121 :
nobodyさん :03/11/05 04:56 ID:REi/aH8F
ttp://hoge.h.oge/link/hogehoge.php というURLにアクセスした場合に読み込まれるhoge.h.oge/link/のhogehoge.phpファイルより
if($PHP_SELF =~ link){
echo"ra-men_man";
}else{
echo"○| ̄|_ =3 プッ";
}
というコードを実行して$PHP_SELFの値にlinkという文字列が含まれているかそうでないかを評価したいのですが、
どうか先人の皆様お知恵をお貸しください。
文字列の部分一致はperg_matchやstrstrを使う。$php_selfは現在使われておりません。 とにかくマニュアル読もうぜ。
123 :
121 :03/11/05 05:18 ID:REi/aH8F
解決しました preg_match を利用しました。 どうもありがとうございました。
訂正したほうがいいのかどうかわからんが perg -> preg
125 :
73 :03/11/05 07:59 ID:???
foreachでfile関数を回しています。1つのリクエストが終わるまで 次のリクエストに進まないみたいで、えらく時間がかかって困っています。 複数のリクエストを一気に出して一気に受信する方法って無いでしょうか。
127 :
nobodyさん :03/11/05 12:20 ID:L9twVHuZ
>>126 もうちょっと状況がわかるように説明せんと誰も答えられないよ。
スクリプトを示すとかな。
128 :
126 :03/11/05 12:26 ID:???
こんな感じです。 $hoge = array(url1,url2,url3,url4...); foreach ($hoge as $tmp) { print_r(file($tmp)); } たとえばurl2が刺さってしまうと、次に進まないんです。 並列して取得ってできないでしょうか?
>>126 foreachの中の処理をurlを引数とするPHPのCLI scriptにして、
exec関数でバックグラウンドで実行するなんてのはいかが?
130 :
126 :03/11/05 12:59 ID:???
>>129 おおうっ、なるほど。試してみます。ありがとうございました。
131 :
nobodyさん :03/11/05 21:33 ID:013gEsrt
ファイルを添付したメール処理を行いたいのですが 受信したときにテキストだと/tmp/〜 というような文字だけ表示され 画像なら一応種類は認識しているらしく画像のビューアが開きますが 見れませんというようなエラーが表示されてしまいます。 ファイルの種類や名前などは正常に取得できております。 いったいどこが悪いのでしょうか?? ソースの一部分のせておきます。 $attach = chunk_split(base64_encode($attach)); $filename=$attach_name; $message.="Content-Type: $attach_type; name=\"$filename\"\n"; $message.="Content-Transfer-Encoding: base64\n"; $message.="Content-Disposition: attachment; filename=\"$filename\"\n"; $message.="\n".$attach."\n\n"; $message.="--".$boundary. "--\n"; mail ($to, $subject, $message, $headers);
ファイルを読み込んでそのまま出力するにはどうすれば良いのでしょうか。 Perlのノリで $FH = fopen('$file', 'r'); echo($FH); とやっても駄目だったので少し困ってます。
135 :
nobodyさん :03/11/06 02:23 ID:YynnB8fI
phpでファイルを添付できる掲示板を作ってるんですが、 アップされたファイルの拡張子のみを取り出す事って出来ますか? basename()かと思ったんですが、ファイル名が取得出来るだけですよね… 拡張子の部分のみを取得する関数等はないのでしょうか?? ドットは含んでも含まなくても良いんですが…
PEARあたりに転がってそうなきもするけどな。 if(ereg("\.([^\.]+)$",$filename,$regs)){ echo "拡張子:{$regs[1]}\n"; }else{ echo "拡張子がねぇぞ( ゚Д゚)ゴルァ\n"; }
137 :
135 :03/11/06 05:11 ID:YynnB8fI
136さんありがとー! 出来たよーうれしいーマジありがとね!
>137 いいから死んで来い。
つーか、このくらいのロジックが自分で作れない奴は何やってもダメだろ
最近のphpユーザの標準関数に対する理解は、これまでのユーザのそれとまったく別のもになっていると感じる。
これが会社の新人研修だったら半日説教コースだな
$fileinfo = pathinfo ($filepath);
print "拡張子: ".$fileinfo["extention"]."\n";
>>140 標準関数、結構かゆいところに手が届いてていい感じ。
htmlファイルでPHPを実行するには? AddType application/x-httpd-php .php .html 上記のような設定でhtmlをつけてるのですが phpファイルとして実行されないです。 他に何が足りないのでしょう?
144 :
nobodyさん :03/11/06 16:54 ID:EVv/CCMa
ftp_get関数でファイル名に日本語が含まれているファイルをダウンロード使用とすると、 「ftp_get() Error Opening ファイル名」というエラーが出てしまいます。 ftpサーバはWindowsNT4.0で、ファイル名はSJISです phpの環境はMacOSX(10.2)+PHP4.3.4 以下のCLIのスクリプトをターミナルから実行しています $dllist = ftp_nlist ($ftpcon, "."); foreach($dllist as $elm){ if ( !ftp_get($ftpcon, "$argv[5]$elm", "$elm", FTP_BINARY) ) { echo strftime('%Y/%m/%d %H:%M:%S ',time()) . " Downloadに失敗しました。\n"; } } どのように回避したらいいでしょうか。。
146 :
143 :03/11/06 17:32 ID:AlFYbimU
>>145 CGIで動かさないとhtmlでは実行できない?
Apacheのモジュール組み込みでは動かないとか?
147 :
145 :03/11/06 17:42 ID:???
手動でftpコマンド叩いてみたら、同じようにエラーがデマした php以前の問題でした 失礼します
間違えた。。
AddType application/x-httpd-php .php .html この設定で.html拡張子のドキュメントに<?php 〜 ?>を埋め込んで余裕で処理出来てますが何か? apachectl restartやった?
150 :
nobodyさん :03/11/06 19:10 ID:gYq7oMRF
mb_strposの関数について質問です。 mb_strposの引数の中の検索オフセットを変えても変化がありません。 設定ミスでしょうか?
151 :
nobodyさん :03/11/06 20:49 ID:jlUctnWj
メールの送信について質問です。 Content-Type:image/jpeg としてファイルを送っても 添付ファイルとして認識されてしまいます。 設定ミスでしょうか?
>143 拡張子phpの方は考えてる通りに動いてるんだったら、 設定ファイル(httpd.conf自身とかディレクトリ下の.htaccess)で 拡張子htmlに関するAddTypeを上書きしちゃってるんでない?
153 :
nobodyさん :03/11/06 22:23 ID:gYq7oMRF
ガ━(゚Д゚;)━ ン !!!
>>151 添付ファイルになるならいーじゃん。何か問題でも?
156 :
143 :03/11/07 09:11 ID:???
>>152 AddType text/html .shtml
AddHandler server-parsed .shtml
AddType text/html .html
AddHandler server-parsed .html
AddType text/html .htm
AddHandler server-parsed .htm
これらをコメントアウトしたらhtmlファイルのダウンロードが始まってしまうんですよ。
ちなみにApache1.3系です。
2.0は成功しました。
157 :
143 :03/11/07 09:21 ID:???
>>152 成功しました。まとめると
ApacheでhtmlファイルでPHPを実行するには
httpd.conf
AddType application/x-httpd-php .php .html
PHPを実行させたいファイルの拡張子を記述する。
AddType text/html .html
AddHandler server-parsed .html
拡張子htmlに関するAddTypeを上書きしているのを
コメントアウトする。
Apacheの再起動
158 :
143 :03/11/07 09:30 ID:cqIw/Aec
あらたな問題発生です。 AddTypeのhtml AddType text/html .html これをコメントアウトしたらSSIが機能しなくなりました。ガーン 同居できますか?PHPとSSI
159 :
151 :03/11/07 10:24 ID:AN8bbPHy
>>155 htmlメールで送ったときに画像の横に文字を入れたり
サイズを指定できればいいかなーと思いまして^^;
>>158 同居って、、、サーバはphpなのかSSIなのか
どうやって判断するのだ?
フォームから渡された文字列データが ・全角文字のみで構成されているかどうか ・半角カナのみで構成されているかどうか を判別するにはどうすりゃいいんでしょ。 なんかヒントでもいいので教えてエロい人 あ。ちなみにPHPは4.3でス。よろしう。
>>161 $tmp = "日本語EUC";
$w_byte = "半角含む";
if (! preg_match('/[\\x20-\\x7f]/',$tmp)) {
$w_byte = "全角";
}
echo $w_byte;
半角カナはそうはいかない
半角カナのみ /^[\xA0-\xDF]$/
>>161 <?php
$test_data[] = '日本語EUC';
$test_data[] = '日本語EUC';
$test_data[] = '日本語イーユーシー';
$test_data[] = 'イーユーシー';
foreach ($test_data as $key => $str) {
$euc_len = strlen($str);
$sjis_len = strlen(mb_convert_encoding($str, 'sjis', 'euc-jp'));
if ($euc_len == $sjis_len) {
echo "test data $key : 英数半角と全角漢字\n";
} else if ($euc_len == ($sjis_len * 2)) {
echo "test data $key : 半角カナのみ\n";
} else {
echo "test data $key : 半角カナを含む\n";
}
}
?>
SJISとEUCの違いがわかっていれば簡単
漢字コード勉強しる
HTMLから文字列を探して、見つかったら<b>タグで囲みたいんですが、 preg_replace ( $_POST["hoge"], "<b>$_POST['hoge']</b>", $html ) ; これだとエラーが表示されてしまいます。どうすればいいでしょうか。
>>166 それ、検索結果表示みたいな場面で使うの?
>>158 解1:
PHPスクリプトの拡張子は.php、.htm、.htmlとし、
SSIは.shtmlとして区別する。
解1a:
PHPスクリプトの拡張子は.php、.htm、.htmlとし、
SSIは個々のファイルをAddtypeで指定して区別する。
解2(Apache2):
AddOutputFilterを指定してPHPで処理させた後、SSIとしても処理させる。
解3:
SSI止めて、全部PHPで同等なコード書く
普通、解1か解3。
while (list($num, $line) = each($page)){;
switch($act){
default:
$line=preg_match("/(\bhref\s*=\s*[\"']?)(
http:\/\/[^\s\ "'>]*)/i",$line,$reg);
If($reg) echo "$reg[2]";
break;
}
$lineから正規表現で抜き出した$reg[2]を配列に順次入れたいんですが、
どうすればいいんでしょうか?
>>172 $array = array("");
while (list($num, $line) = each($page)){;
switch($act){
default:
$line=preg_match("/(\bhref\s*=\s*[\"']?)(
http:\/\/[^\s\ "'>]*)/i",$line,$reg);
If($reg) array_push($array,$reg[2]);
break;
}
}
echo ($array[3]);
array_push使ったらできたthanks
175 :
nobodyさん :03/11/07 22:41 ID:AN8bbPHy
PHPでHTMLメールを送ったときに 普通に<a href="hoge.com">hoge</a> って書いたら実際メールで見たらリンク先はoge.com" となっており <a href=3D"hoge.com">hoge</a> と書いたら正常にいけるのですが この3Dの意味とかってわかりますでしょうか? いちいち3Dをつけなければいけないのだろうか・・
176 :
nobodyさん :03/11/07 23:13 ID:0ZmpNMJG
今まで動いていたスクリプトが
PHPをバージョンアップさせたら文字コードの変換が出来なくなりました
原因が分かりません、誰か助けてくださいませんか(´・ω・`)
PHPのバージョンは4.3.5です
apache2でCGIとして動かしています。
// 問題のスクリプト
require_once("XML/RSS.php"); // RSSパーサ
$rss =& new XML_RSS("
http://bulknews.net/rss/rdf.cgi?ZakZak ");
$rss->parse(); // RSSファイルをパース
foreach ($rss->getItems() as $item) {
$kiji[$i] = "<a href=\"" . $item['link'] . "\">" .
mb_convert_encoding($item['title'], mb_internal_encoding(), 'auto') .
"</a><br>\n";
$i++;
}
echo "<br>".$kiji[0].$kiji[1]; // 表示テスト
↑表示が?????????????????となる
>>177 >>PHPのバージョンは4.3.5です
バージョンからしてパチものっぽい。4.3.4でも同じか?
どうでもいいが、configureのオプション一覧がドキュメントから消えて
毎回--helpみろってなったね。
なんでコロコロ変わるんだろうな?GDで日本語使うのにさんざん悩んだよ。
いつversion4.3.5なんて出たの?
181 :
177 :03/11/08 00:47 ID:???
4.3.4をインストールし直したら直っタ━━━━(゚∀゚)━━━━!! 4.3.5は偽者だったのか_| ̄|○ 178-180さんほんとにありがとうございました( ´Д`)人
4.3.4インストールしたのに、apacheのコンソール画面には PHP/4.3.3って表示されるんですが、私が何か間違ってますか?
>>185 それではPHP Version 4.3.4ってなってます。
>>186 異常がないなら気にスンナ。なんかの書き換えミスだ。
>>176 有難う。その鯖は借りないようにするよ。
phpとperlで変数の受け渡しってできるのでしょうか? 具体的にやりたいことは SQLから受け取ったデータ(EUC)をSJISに変換したいのです。 マルチバイト文字列関数が使えない鯖なのでjcode.plを 使って変換しかないのかなーって思ってます 他になにかいい方法などもあればご教授お願いします
>>187 わかりました。ありがとうごじゃりましゅる。
すいません、質問です。 みなさんはPHPを組むとき、 どのようなテキストエディタを使用されてますか? 出来ればフリーでオススメなのを教えてやってください。
>>189 DBの文字コードをを変更したら?
DBなに使っているの?
>>192 MySQLです。今の設定ではEUCしか使えなないみたいです。
サポートに問い合わせてSJIS使えるようにしてもらえるか
どうか聞いてみます。ありがとうございます
>>193 フリーじゃないけどPeggyっての使ってます
4000円ぐらいですがかなり気に入ってます。
エディタ+開発環境って感じです。機能限定版の
フリーのPeggyも出てるみたいですよ
PeggyってMDIじゃなかったっけ? それが嫌で使わなかったんだけど、今はどうなんだろ。 今では秀丸も一応PHPに対応しているし、highlightとかマクロもいろいろ出ているので、 満足しているわけではないが、もう手が慣れちゃってなぁ。
197 :
191 :03/11/08 15:44 ID:???
>>193 情報ありがとです。
でも使い方ワカンネ(´・ω・`)
>>199 関数補間マクロとかあったんだが、本家のリストには載ってないね。
あと、関数部分を選択してphpのマニュアルサイトに飛ばしてくれるものとか。
URLからファイルサイズ取得できますか? $size = file() をやったのだけれどエラーが出てしまって・・・ URLができないのか、単に設定が足りないのでしょうか。
>202 マニュアル読め屑
>>202 $size = filesize( "bbs.log" ) ;
とかだわ。
>>205 CFM版のWindowsHelpを取ってきたのだが、トップページが
「ページを表示できません」だわ、表示トピック(左ペイン)は
文字化けするわ、何か足りないものがあるんかぃの?
>>206 >
>>202 > $size = filesize( "bbs.log" ) ;
URLからファイルサイズゲットするんだろ?
209 :
nobodyさん :03/11/08 21:50 ID:2kleJ2EE
Warning: Unknown(): A session is active. You cannot change the session module's ini settings at this time. in Unknown on line 0 他力本願で申し訳ないですが、上記のエラーの対処法を教授してくださいませませ。
>>209 何をどうしようとしてそのメッセージが出てきたのかくらい教えろよ。
お前には自明でもお前以外の奴には分かるわけ無いんだから。
後、自分で作ったスクリプトならサーバのOS、PHPのバージョン、
ソース、性別、年齢、年収、スリーサイズもな。
>>209 IDがJ2EEだ!
サーブレットにしようぜ
212 :
209 :03/11/08 22:05 ID:???
情報不足でスミマセン。 年齢21歳 性別女 年収210万 スリーサイズ 88 58 90 自作のスクリプトではねーですよ。
214 :
209 :03/11/08 22:13 ID:???
・・・_| ̄|○・・・・・・
215 :
209 :03/11/08 22:24 ID:???
ついでに 身長は182です。 ○| ̄|_ =3 プッ
独身じゃないのか
217 :
206 :03/11/08 22:54 ID:???
>>207 ん? phpのドキュメントの話だったんだが。
ttp://www.php.net/download-docs.php ここの「Windows HTML Help」- Japanese から
ダウンロードできる「php_manual_ja.chm」の話です。
。。。11/8版をダウンロードしたら、トップページは見れるが、
キーワードは化けたまま。まぁ、これならだいぶましか。
と言うことで、事故解決。
とりあえずお前もマニュアル読んどけ
ここはいつからネタスレになったんだ…
. - _ _,..,_ ノ´//⌒ ミヾヽ、_ _____ ,r'´ ``'' - 、ーニ三彡´〃 ! ゙ゞヾ、_`ヽ [|<|____├{ /´ { l | // ヽ`ーr' } ″ ! `、 ' ノ l. ||l i l / l ああっ、つ、つらいです... ', | ̄``''''ー―- ,'´l l |!` ‐--| l l l ', | l l | リ,! l ', | | | ,! ' リ ,.r''ヽ、 _ ', | |. | ,' ` ' ' ' ' ' ' ´ `ヽ ! | | / ,.r'´ ̄ '''''' ─−-........__ ,.r' | '''"''‐-、 ~´  ̄ ̄ ̄
>>217 HTML Help Workshopでバラして修正、再コンパイルしとけ
>>213 ケツでかい方が気持ち(・∀・)イイ!!!
なるほど!
>>222 初めて知った。
どうせ童貞サーヽ(`Д´)ノ ウワァァ
225 :
nobodyさん :03/11/09 06:31 ID:9lYQF/if
ケツでかくて、ウエスト細くて身長高いのってどうなんだ?
バーバママをイメージすればよかろう。
>>177 遅レスなんだが俺も4.2.3から4.3.3にしたら
派手に化けてくれた。
mb_convert_encodingで入力、出力の文字コードをきっちり指定しないと
動作おかしくなってるみたい。
多分に'auto'が拙そうな感じだったので
mb_detect_encodingででもいいから取得してみるとマシになったです。
マシになったというのも、今度は文字コードが同じで変換の必要のないものまで
二重に変換して化けるという素敵現象が発生したので
(元々EUCコードの文字列をEUCの文字列に変換してくれと渡すと
よくわからない文字になる)
最初に簡単に判別してコードが同じなら変換を避けるといった工夫が必要でした。
つーか動作が極端に変わるの勘弁してください_| ̄|○
FreeBSDでもRHLinuxでも発生したから環境の問題じゃないよね……
>>228 php.iniで、mbstring.language = Japanese を入れる
うちでも 4.3.2 -> 4.3.3 では文字化けが発生したが
これでまともになった
230 :
nobodyさん :03/11/10 10:20 ID:afsYTpOg
超ド心者な上、フリーで配ってるスクリプトの設置、動作確認をしています。 フリーの素材をServerにUPしたのですが、実際phpファイルにアクセスをすると、そのファイルのプログラム自体がそのままブラウザに表示されてしまうのです。 これはどないしたら、よろしいでっしゃろ。 置く場所が違うんですかね? でもHTMLファイルが置かれている同じディレクトリにおけば良いのですよね?
>>230 (プゲラウッヒョー
鯖はphpに対応してるのか?
鯖のマニュアルページでphpファイルの設置方法を探して隅から隅まで嫁
カブタ
へんじがない。ただのしかばねのようだ。
235 :
230 :03/11/10 10:44 ID:afsYTpOg
PHPが使用できない鯖の場合、そのままファイルの内容が表示されてしまうのですか? 一度、対応しているのかどうか確認してみるっす。
>>235 対応しているサーバの場合、phpという拡張子で判断して
phpを実行している。
していない場合、phpという拡張子に対して特別な動作を設定していないし
MIME TYPEも無いと思われるので、デフォルトのMIME TYPE(普通はtext/plain)
で動作するからソースがそのまま表示される。
237 :
230 :03/11/10 11:09 ID:afsYTpOg
>>236 なるほど、そういう事なんですか。
何も知らないで、本当に恥ずかしいばかりですが、教えていただきありがとうございます。
そんな事も知らずに運用しようとしてるやつがいるのは本当に怖い事です
>>235 そんな事、過去ログ見れば書いてあるじゃねーか
240 :
nobodyさん :03/11/10 17:02 ID:bp+FMRXt
読み込んだファイルの中から、ランダムで複数行(任意)選択したい。 選択した行は全てかぶらないようにする。 $sentaku = 5; //選択する行数(可変) $file = file(log.dat); //ファイルを$fileに配列で読み込む この後、どういう処理をしてけば、かぶらないように持っていけるのか分からない。 正直、PHPをまともに触るのは今日始めてで、マニュアル等を見たが、分からず。 考えたアイデアは、 ・$fileの配列をランダムで並び替え、上から([0]から)$sentaku個選択。 ・$fileの配列数を取得し(foreachを使用?)、そのうち5個かぶらないように整数を選択。 この案がイイ気がするんだが、どういうコードをかけばいいか分からず。 ifがいっぱいになるような気がするんだが…へたれで分からず。 誰かサンプルでコードを書いて晒してください、おねがいしまつ。
242 :
240 :03/11/10 17:21 ID:bp+FMRXt
使用する用途としては、 log.datの中に、リンクしたいURLを改行して入れておく。 で、トップページに任意の数($sentaku)だけ表示したいんですわ。 何かイイ方法があれば教えていただけると嬉しいです。
243 :
240 :03/11/10 17:22 ID:???
1〜(レコード数)の範囲でランダム値を5個拾って、後はforeachでnext読みしつつ、 先のランダム値のレコードを抜き打者医院じゃないの? ヘタレなのでこのくらいしか思いつかん
245 :
244 :03/11/10 17:27 ID:???
array_randか。。勉強になりました。
244の成長が停止しますた
まあ244のに、重複チェック入れれば大体いいしな カードのシャッフルとかにはそのままじゃ使えないが
そもそも、重複しないランダム値が取れれば、
echo $file[ランダム値];
でいいんだし、
>>244 はforeachするところが違うよ。
神経質な>240と大雑把な>244と神経質な>246と大雑把な>247のどっちやねん的スニーカーぶる〜す
250 :
nobodyさん :03/11/10 18:55 ID:6dR1d26+
ものすごく初心者な質問したいのですが、よろしいでしょうか? 初心者向けスレが落ちているようなので……。 $input["zip"]に一文字でも数字以外の文字が入っているとき、 $checkにfalseを代入したいのですが、 $check = mbereg("\D",$input["zip"]); では、falseが入らないようなのです。 もちろん、mb関数は動く鯖です。 どうすればfalseが入るか、よろしければお教えください。
preg_match()じゃだめですか?
> では、falseが入らないようなのです。 この手の婉曲表現はうんざり
>251 同じ。 「一文字でも数字が入っている」は当然文字も入っているわけで、\Dつまり[^0-9]が マッチして true になる。正常な動作。
255 :
254 :03/11/10 19:20 ID:???
ああそうか。マッチしたらtrueか。
つーわけで、'^\d+$' がシンプルかと。
257 :
nobodyさん :03/11/10 19:52 ID:ygz3u7ZD
apache の php モジュールを使って, php ファイルの中から,他の php に変数を post メソッドで 渡してやって処理させるにはどうしたらいいの?
ソケットでポストすればいいんじゃねーでしょうか
つーかマルチかよ死ね
260 :
nobodyさん :03/11/10 19:55 ID:ygz3u7ZD
261 :
nobodyさん :03/11/10 20:15 ID:5NgpupLQ
>>257 まだ抽象的で分かり辛いからもっと具体的に何をしたいか言ってくれ
マルチポストで検索もしらんようなのは掘っとけ。勘違されても困る。
263 :
nobodyさん :03/11/10 20:21 ID:ygz3u7ZD
>>261 普通は hoge.php に html ファイルから,
post メソッドで引数を渡して,
apache で処理させることができますよね?
それを html ではなく,php からやって,
その出力を php の中から取得したいんです.
なるほどよく分かったッ
265 :
nobodyさん :03/11/10 20:28 ID:5NgpupLQ
>>263 いまいちよく分からんが、
hoge1.phpからpostした物をhoge2.phpに渡したいという事かい?
266 :
nobodyさん :03/11/10 20:29 ID:ivefLIhn
ヤフオクでラジオチューナー買ったんだけど。
俺はテレビチューナが欲しい。 ところで、パスワードの暗号化はmd5で十分ですかね?
それもワンウェイだッ参ったか!!
270 :
267 :03/11/10 20:53 ID:???
スマソ。ソースやログからパスワードが漏れないようにする手段としては十分ですか? 個人サイトで使う程度のスクリプトです。
盗聴される
いいんでない。パスの複雑さとか鯖の設定ミスとかも考えないといかんけど。
入力されたパスワードが正しいかどうか調べるにはmd5で十分 パスワード − md5 → ハッシュ値(保存しておく) ↑↓検証 パス入力 − md5 → ハッシュ値 ただ,md5にかけたパスワードとかを復元することはまず不可能.だってワンウェイだから.
274 :
267 :03/11/10 21:01 ID:???
postなど使わずsessionを使え!
幾ら文明が進化してもラジオだけは廃れないね
袖におせんべのカスが入った臭いんだが。 チクチクして気持ち悪い
袖の煎餅カスなんざ、外出中に靴下に異物が混入して 取るに取れない状況に比べたら屁でもないだろ。
279 :
ナミ :03/11/11 09:35 ID:b1cYLlyQ
post された変数にある処理をしてある出力する hoge.php があるとしますよね. fuga.php の中で,hoge.php に変数を post して, その出力を取得したいんですけど, どうすればいいのですか?
280 :
nobodyさん :03/11/11 10:18 ID:bLxOAbFp
>>279 postされた物をデコードして
君の好きなように処理すればいいだけ。
すいません。PHPでSMTPサーバーを使用してメールを送信する方法を探しているのですが、一向に見つかりません。 参考になるサイト等ご存知ありませんか?
283 :
nobodyさん :03/11/11 10:58 ID:5aaf/lA0
284 :
nobodyさん :03/11/11 11:36 ID:b1cYLlyQ
ある函数が print で標準出力したものを 取得するにはどうすればいいのですか?
285 :
nobodyさん :03/11/11 11:51 ID:OBiox2V1
>>284 ナミさん・・・
もう少しマニュアル読んでから来てくれよ・・・
ばかばっか
マニュアルについていないことを 答えられる香具師はここにいない。
ついていないことを??
289 :
nobodyさん :03/11/11 13:00 ID:5aaf/lA0
ついていないことねぇ・・・
290 :
nobodyさん :03/11/11 13:47 ID:ks/XAcB8
お前らのマニュアルにはついてないのか?
PHPでファイルの移動ってどうするんスか
ドラッグする
コピーして元を消せばよい
俺はマニュアルを破り捨てたよ
本家のやつはいいんだが、ダウンロードする マニュアルって非常に使いにくい、つか探しにくい 逆引きできるようにすればいいんかな
ダウンロード版のマニュアル(CHM)を使ってみたんだけど 文字化けする 「キーワード」の上のほうの単語ほとんど化けてる
298 :
nobodyさん :03/11/11 19:26 ID:BbQu8Jz5
本ぐらい買えよ。 マジで
>>298 公式マニュアルの代替になるような全てを網羅した本なんて出てるか?
そしてそれは検索できるのか?
べたテキストのマニュアルも欲しい。
302 :
nobodyさん :03/11/11 23:59 ID:i+gXuh2K
フレームの中から header("Location: url_string"); でページを 移動したいんですけど、その時にフレームを解除するには どうすればいいのでしょうか? <A HREF="xxx.html" TRAGET="_top">移動</A> のtarget属性と同じようなことがしたいですが。
マニュアル整備よりも馬鹿対策をとったほうがいいぞphp
304 :
nobodyさん :03/11/12 01:20 ID:DMeBOQD8
PHP使ってPGPなんかの暗号化メールを送ることってできるの? ショッピングサイトとかで受注メールを送るときどうしてる?
305 :
nobodyさん :03/11/12 02:53 ID:fzWCW5In
関数使うときに@がついてる時があるんですが、これは何の意味があるのでしょうか? $ret = @mail($to, $sb, $mes, $fr); 誰か教えてください。
エラー制御
厨房質問スマソ hiddenで送信されてきた内容を全て取得するJSPの以下のコードって PHPではどう書けばいいんでしょうか? Enumeration enum =request.getParameterNames(); while(enum.hasMoreElement()){ String foo = (String)enum.nextElement(); String bar = getParameter(request,foo); その後の処理 }
× while(enum.hasMoreElement()){ ○ while(enum.hasMoreElements()){
309 :
nobodyさん :03/11/12 12:52 ID:ETMG6AZo
perlを使ってるもんなんだが。 仕事でPHP書かされてる。質問させてくれ。 if ($_GET['p']) { GETで取得したp=??がある場合の処理(呼び出し:hoge.php?p=1) } else { GETで何も取得していない場合。(呼び出し:hoge.php) } perl的に考えるとけるはずなんだが、PHPだとifの行でUndefinedエラーが出る。 どうしたらいいのか教えてくれ。
>>307 いろいろやりかたあるし、環境(php.ini)にもよるけど
foreach ($_POST as $foo => $bar) {
その後の処理
}
てのが手っ取り早いかなあ
311 :
309 :03/11/12 13:10 ID:???
スマソ、解決した。 これだと、if文は「p=」が無いとエラーになるんだな。 if ($_GET) 〜でいけた。
312 :
307 :03/11/12 13:14 ID:???
>>310 さん
早速のレスありがとうございます。
PHPだと一行で書けてしまうのですね。
驚きました。
>>310 hidden属性かどうかはどうやって判定するの?
>>313 出来ないかもしれない。また、その必要は無いかもしれない。
>>313 HTTPのプロトコル上、そういう区別は無いね
316 :
307 :03/11/12 14:15 ID:???
スマソ
質問の書き方マズかったです。
送信内容を全て取得するのが目的で、
hiddenには特にこだわりません。
よって
>>310 さんのでOKかと・・・・
┐(´ー`)┌
mod_rewrite?┐(´ー`)┌
このときに、User-Agentの指定ってできるのかな?
おまいら、独り言は他でやれ
何を?
文字列の中に、特定の文字がいくつ入っているか調べる関数ってありますか? 多分ド初歩的だと思うんですが、マニュアルの文字列関数を探したんですが 見つかりませんでした。 例) "aaa" aが出現する数は3 / aaが出現する数は1 preg_matchなどで、帰ってきた要素の数で判断するしかないでしょうか?
>>324 preg_match_all の返り値がマッチした数じゃなかったカナ。
>324 aは文字、aaは文字列。 asciiなら count_chars() もそれなりに使える。 あとは substr_count() 。
>>325 _allの書損じです、すみません(^^;
>>326 希望通りの関数のようです、マニュアルに思いっきり載っていたようですね
申し訳ないです。
あと、新たな疑問が生じたのですが、
(A) $str = eregi_replace('\-abcdefg','\1',$str);
(B) $str = eregi_replace('abcdefg','\1',$str);
AとBのそれぞれのベンチをとった場合、Aの方がBの10倍以上早かったんですが
これって何故なんでしょう?
ちなみに、Aの一番最初の文字が正規表現の特殊文字(\付き)の場合だけで、aとかだと、Bと一緒でした。
preg系でも同じ感じでした。
人の質問中にスマソ。 perlで配列@hogeの最大key数は$#hogeで取り出せますよね。 同じようなものはPHPにはないでしょうか。 わざわざforeachで++して数をカウントしなくてはならないんですかね…?
count(@array)
zeroboardとn@boardてどっちがパクったの?
nzeoboardだった。
332 :
328 :03/11/13 10:43 ID:???
質問スマソ PHP+MySQLでWEBシステムを作って報酬を得た場合は ごく簡単なものでもMySQLにお金払わないといけないのですか?
俺に払え
>>333 だから商用ではPostgreSQLを使ってる所が多いんだろ
厨質スマソ レンタル鯖のphpinfo見たのですが4.3.2、 mbstring.encoding_translation がoffになってました。 この場合mb_convert_encoding関数は使えないのですか?
関数に配列変数を渡すにはどうすればいいんでしょうか?
関数(配列変数);
343 :
nobodyさん :03/11/13 17:56 ID:e5aQ6gVa
関西(ハイレグ変態);
>>333 そのシステムが有償か無償かは、MySQLのライセンスとは関係ない。
GPLか否かが関係する。GPLではシステムが有償であっても良い。
まあ、普通は有償なソフトをGPLにすることは無いと思うが...
あとPHP4.3.xぐらいまでのPHPにバンドルされている
mysqlライブラリはPDSだから、WEBシステムとした場合
GPLである必要があるのはMySQL本体まで(ライセンス形態にGPLを選択した場合)
ただ、サービス売りするんじゃなくて、システム売りなら
コマーシャルライセンス選択するのが「当たり前」だと思うよ。
345 :
nobodyさん :03/11/13 22:42 ID:DBMZc8xz
$hoge = 1; としたときに$hogeに1を足した値を表示させたい場合って print ($hoge + 1); みたいにやる方法ってないの? $hoge = $hoge+1; print $hoge; ってやるのがめんどくさいんだけど。
マニュアル読め
>>345 echo $hoge++;
じゃあかんのか。そうですか。
>>347 ごめん。嘘やった。酔っ払いはあかんな。
print ($hoge + 1);
これでええやんけ。
凄いスレになってきたな
ありえないよな(w
すまんかった。今日はもう寝る。_| ̄|○
スレが一気に低レベル化してきました
すいません、ここでは右も左も分らないヤシなんですが、 WPEの話題はどの板でやれば良いでしょうか? お願い致します。
WPEって何よ?
358 :
nobodyさん :03/11/14 01:11 ID:D6erX4dv
PHPで変数 date='XXXXXXXXXXXXXX' のなかに ' を入れて date='XXXXX'XXX' みたいにしてもエラーがでないように するにはどうすればいいんでうか??
もはやネタ質問の嵐だな
別に低レベル化しても初心者向けで良いんじゃないか? まぁ雑魚はがんばれや(笑)
加えてゴミレスだからな。
363 :
nobodyさん :03/11/14 11:21 ID:e5jGTT3B
すいません、どなたか教えてください。 suExec導入されてるレンタル鯖で form.htmlのフォームに入力された内容をprint.phpで表示させたいんですが、 値がうまくprint.phpに渡らず困っています。 form.html------------------- //省略// <form method="post" action="print.php"> <input name="name" type="text" id="name"> <input type="submit" name="Submit" value="入力内容の確認"> </form> //省略// print.php----------------- <? //phpの処理部分 if(!$name){ $name="未入力です。"; } ?> //html冒頭部分省略 <? echo $name ?> //あと省略 で表示された結果は「未入力です。」になるんです。 長いので次へ
364 :
nobodyさん :03/11/14 11:24 ID:e5jGTT3B
ローカル・他の鯖では問題なく動作してます。 パーミッションはhtml[644]、php[604]です。 値が渡らない以外は普通にPHP動いています。 よろしくお願いします。
366 :
338 :03/11/14 12:12 ID:???
>>339 サンクス
再厨房質問スマソ
石井さんのphp+pgsqlの本に
明示的に文字コードを変換するには
--enable-mbstr-enc-trans
を指定してconfigureする必要がある
と書いてあったんですが、
使ってるレンタル鯖のphpinfo(バージョンが4.3.2)の
Configure Command には
これが入ってませんでした。
この鯖では
mb_convert_encoding関数は使えませんか?
--enable-mbstringはありました
>>366 --enable-mbstr-enc-trans
は、オプションから廃止されました(4.3.0以降)
ってのは、FAQかな?
石井たんの本でのPHP versionはどうなってるよ。
370 :
366 :03/11/14 13:00 ID:???
>>368 石井さんの本は4.2.2でした
ネット調べてみると
--enable-mbstr-enc-trans は
4.3.0以降
mbstring.encoding_translation に変更となります
とありました。
371 :
363-364 :03/11/14 17:39 ID:e5jGTT3B
質問です。
https:// で始まるファイルを取得したいのです。
グーグルで調べてもなかなかでてきません。
curl,file_get_contents()は使えないようです。
レッツPHPさんのへっどらいんで取得しようとしてもhttpsは対応してないようです。
file(),readfile()で簡単にとれると思ったのですが、全くうまくいきません。
どうすればいいのでしょうか?
>>372 マヌアルの「サポートされるプロトコル/ラッパー」見れ
374 :
nobodyさん :03/11/14 23:29 ID:jXK5t9k/
超地球的変数の値を自分でいじるのって問題ありませんか? $_SERVER['REMOTE_ADDR']に代入したりするのってなんとなく気分悪いけど。
CURLは、sslのライブラリをリンクすれば使えるよ
377 :
nobodyさん :03/11/15 03:52 ID:o0YbJxex
if ( $var ) { $var = "var = ".$var; } これをもっとスマートにかけないでしょうか?
関数にする
379 :
nobodyさん :03/11/15 04:06 ID:o0YbJxex
関数は使わない方向で
ダブルクォートなら "var = {$var}" でいいんじゃね? $var ||= "var = {$var}"; こんな感じに出来なかったっけ…。
||=はPerlダタ…。 もしくは…。 $var && $var = "var = {$var}";
383 :
nobodyさん :03/11/15 10:36 ID:F9N3tr2c
cで作ったランダムファイルを読み書きしたいのですが、 phpでは構造体を使えるのでしょうか? それともunpackでレコード毎に 個々のデータを取り出すしかないのでしょうか?
可逆な暗号化関数は標準でありますか?
ないよ
*.htmlファイル内で、aho.phpという外部のスクリプトを実行するにはどうすればいいですか。
aho.phpでhtmlファイルを読み込む(もしくはテンプレートを使う)方が簡単。
>>388 ありがとうございます。私の考えてるのとはちょっと違うかもしれません。
たとえば、SSIのアクセスカウンタのように、
htmlにアクセスした際にphpのスクリプトを実行し、
UAやIPアドレス等を保存と言う風に行いたいんです。
390 :
nobodyさん :03/11/15 16:34 ID:F+sYHpcY
PHPで作ったpng画像表示スクリプトをxrea.comで動かそうとしてますが ブラウザで表示しても「臼NG・」と表示されるだけで動きません。 スクリプトは以下のとおりです。 <?php header("Content-Type: image/png"); $img = imagecreate(200, 200); imagecolorallocate($img, 255, 0, 0); imagepng($img); ?> headerの前にi18n_http_output("pass");やmb_http_output("pass");を入れても同じでした。 これってxrea.comではできないってことでしょうか?それともスクリプトがどこかおかしいのでしょうか?
>>389 いやだから、
<?php
カウンターなどの処理(aho.phpの部分)
?>
<HTML>
<HEAD>
</HEAD>
<BODY>
実際表示したい中身(*.htmlの部分)
</BODY>
</HTML>
のようなファイルにするか、
<?php
カウンターなどの処理(aho.phpの部分)
readfile('hoge.html');
?>
とするか、
<?php
require 'aho.php';
テンプレートでhtml作成
?>
とかいろんなパターンがあるけどhtmlからphpを呼ぶのではなくて、
その反対の方がはるかに簡単でしょというお話。
>>389 htmlファイルなのでサーバ内では何も処理できない、ってのが基本。
それを踏まえて、
1. 画像を吐くphpを書き、htmlの中で<img src="-.php">で呼び出す。
2. htmlをサーバ内でphpファイルのように処理させる。
3. iframeのようなHTML側の仕組みを利用してファイル読込
..etc.
2.はサーバの設定ができないと無理なので 1.がいいのでは?
>>390 スクリプトがちょっと変だけど大体あってるよ。
臼NG ってのが怪しいので、
1. telnet等でContent-type: がちゃんと送られてきてるか確認。
2. 1度ファイルに落としてちゃんとしたPNGファイルになっているか確認。
古いブラウザだとPNGに対応してないけど、それは問題ないよね?
xrea固有の問題は、しらーん
393 :
390 :03/11/15 17:29 ID:F+sYHpcY
>>392 回答有難うございます。
>1. telnet等でContent-type: がちゃんと送られてきてるか確認。
スクリプトではheader("Content-Type: image/png");を指定しているにも関わらず
telnetで接続してContent-Typeを調べてみたらContent-Type: text/htmlで送られてきているようでした。
>2. 1度ファイルに落としてちゃんとしたPNGファイルになっているか確認。
落として中身をテキストエディタで開いてみたところ、たった3行のファイルで
1行目は改行だけ、2行目に「臼NG」とだけ書かれていて、3行目はバイナリ文字1文字だけという中身でした。
落としたファイルの拡張子を.pngにしてみましたが、やはり画像ファイルになってないみたいです。
> 古いブラウザだとPNGに対応してないけど、それは問題ないよね?
こちらはInternet Explorer 6を使用してますので問題ないと思います。
>>390 うちの環境では正常に実行できましたよ。
>>73 を参考にimage関係の命令が有効になっているか確認してみては?
395 :
390 :03/11/15 17:59 ID:F+sYHpcY
すいません。解決しました。
どうやらxreaではshared_html内でないとモジュールが有効にならなかったようです。
ずっとpublic_html内でやってました。
>>392 のかたと
>>394 のかた、有難うございました。
お騒がせしました。
396 :
nobodyさん :03/11/16 05:01 ID:HIoDQOU5
マニュアル読め。
398 :
nobodyさん :03/11/16 08:38 ID:rlQklRyJ
Warning: file_exists() [function.file-exists]: Unable to access in /virtual/○○○/shared_html/○○○/includes/functions.php on line 329
なんだか最近漏れのphpBBがこんなエラー吐き出すんだがどうすればいいですかね。
このエラーにリンクされている下のページ見てもわけわからん。
ttp://jp2.php.net/function.file-exists
過去ログ機能と画像アップ機能のある掲示板の事です。 過去ログに回った記事に画像が合った場合に、 画像を格納していたディレクトリを移動させたいんです。 でもさっぱり分かりません。 ディレクトリの移動なんて出来ますか?
>>396 俺が実際にやっている。
画像掲示板の投票で、上位三位の画像だけ引っ張って来て、サムネイル化、ランキングページを作っている。
PHPで外部のサーバーから画像を引っ張って来る。ってのはエラー制御が面倒くさいからwgetを使ってるけどね。
$B$9$$$^$;$s!"$A$g$C$H<ALd$5$;$F$b$i$$$^$9!#(B <?php $user_agent= explode( "/", $_SERVER['HTTP_USER_AGENT']); switch( $user_agent[0] ){ case "DoCoMo" : include("docomo.php"); break; case "KDDI" : include("au.php"); break; case "J-PHONE" : include("vodafone.php"); break; default : include("pc.php"); break; } ?> $B$H$7$F$_$?$s$G$9$,!"(Bi$B%b!<%I$H(Bvodafone Live!$B$K$O?6$jJ,$1$i$l$k$s$G$9$1$I(B ezweb$B$@$H%G%U%)%k%H$N(Bpc.php$B$,FI$_9~$^$l$k$s$G$9!&!&!&!#(B "KDDI"$B$r(B"UP.Browser"$B$K$7$F$b(B"UP\.Browser"$B$K$7$F$b%@%a$G$7$?!#(B $B$J$s$G$J$s$G$7$g$&!&!&!&!#JLHD$G5-=R$,$*$+$7$$$H8@$o$l$?$N$G$9$,!"(B i$B!"(Bv$B!"(Bpc$B$,$*(Bk$B$G(Bez$B$@$1%@%a$J$N$,A4A3M}2r$G$-$^$;$s!#!#!#(B $B$h$m$7$/$*4j$$$7$^$9!#(B
402 :
396 :03/11/16 10:51 ID:fvqogEGE
>>400 さん
僕image magickのxtpを用いて行おうとしているのですが、全く反応しません。
wgetの方法もう少し詳しく教えていただけませんか?
さふぁり最悪!文字化けした。ごめんなさい。 401の内容なんですけど、 <?php $user_agent= explode( "/", $_SERVER['HTTP_USER_AGENT']); switch( $user_agent[0] ){ case "DoCoMo" : include("docomo.php"); break; case "KDDI" : include("au.php"); break; case "J-PHONE" : include("vodafone.php"); break; default : include("pc.php"); break; } ?> としてるんですがiモー、vodafone Live!には振り分けられるのに ezwebだけはデフォルトのpc.phpをいんくるしてしまいます。 "KDDI"を"UP.Browser""UP\.Browser"にしてもダメでした。 別板で記述がおかしいといわれましたがi、vだけおkで ezwebだけ無視されるのがわかりません。 ちゃんと3キャリア振り分けられるようにするにはどういたらいいですか? どうかよろしくお願いします。
405 :
nobodyさん :03/11/16 12:14 ID:32VgkVgm
トップページに今の観覧者何人とか表示させたいんですが、やりかたがわかりません。だれか教えてもらえないでしょうか?
アクセスがあったら、近時のアクセス者数をログから表示
407 :
nobodyさん :03/11/16 13:33 ID:AiU3MBOj
<? $a = "ソ"; echo $a; ?> というスクリプトを実行すると、 Parse error: parse error, unexpected $end in index.php on line 5 というエラーが出てしまうのですが、文字コードなどの問題でしょうか? 例えば「か」「ソ」などではエラーは出ません。 環境はWindows2000,PHP4.3.4です。 よろしくお願いします。
PHPって、ひとつのプロセスが固まってたら 他のプロセスも動かないのか? それっておかしくない?
>>407 > というエラーが出てしまうのですが、文字コードなどの問題でしょうか?
>
そう思うなら当然他の文字コードでも試したと思うが、
どの文字コードでエラーになったの?
あと、php.iniの設定は?
ああ、セッションを抱えてるのか、なるほど なるほど
>>408 独り言ならよそでやれ。
質問なら具体的に状況を説明しろ。
>407 SJISソの2byte目は、\
413 :
nobodyさん :03/11/16 14:06 ID:CO2aljWv
session_end() って無いの?
マニュアル読め。
時間のかかる処理をPHPから呼び出したいとき、通常は system( "sleep 30 >/dev/null &" ); という形で呼び出すことになっているけど セッション管理をしているとこれが不味い。 <? session_start(); system( "sleep 30 >/dev/null &" ); ?> <HTML><BODY> <A HREF="test.php">RELOAD</A> </BODY></HTML> こういうtest.phpを実行すると そのページは30秒待たずにすぐ表示されるけど RELOADをクリックしてもう一度表示させると 今度はセッションが使えるようになるまで 30秒待たされる。 最初に開いたtest.phpがセッション握ったままだから。 これを回避するにはどうしたらいい?
夢の続き
いまいちよく分からんのだが、そのsleepの秒数はどうやって はじき出したの?
418 :
nobodyさん :03/11/16 14:56 ID:d43keJAN
マニュアル強化年間です
>>417 普通なら30秒かかる処理 の例として挙げただけです
解決したよ。 session_end()でもあればと思ったが、そんなのは無いようなので 一度デストローイしてから再度startすることにした。 セッション変数はまたregisterしなおしだが、しょうがないな。
421 :
372 :03/11/16 16:19 ID:???
>>373 ネットが2日落ちていて亀レスすまそ
マニュアルを何回も読んだんですけど、結局どうすればいいのがさっぱり
わかりません…あれは読めばわかるようになってるかさえ疑問です…
fopen(),copy()で開けるって事なんでしょうか?
試したんですが、エラーになりました。
レンタル鯖なんですが、fopen wrapperが有効かどうかはどのように調べるか、
どのようにONにすればいいかがわかりません。(マニュアルで 発見できず)
マニュアル読んでもわからない私が悪いんでしょうか…
422 :
372 :03/11/16 16:29 ID:???
>>421 とりあえず、phpinfo();
url wrapperは標準でサポートされているが、httpsはOpenSSLのサポートを有効に...
って、ちゃんとマニュアルに書いてある。
>>422 のエラーをみると、単純にファイルがないようにも思えるが、一度httpで開けるかどうか試してみるなど、
問題の切り分けも必要だな。
session_write_close()なんてのがあるんだ。知らなかった。 でもうまく動作しないな。なんだこれ。
もうみんな僕のスレから出て行ってくれよぉぉおお!!
クッキーが使えるか使えないか って何で判断する?
適当なの食わせて次ページで読み取り
Webページで、IDとPassword(いずれもPOST)を入力した後で返って来る ページのデータを取得するには、どうしたらいいんでしょうか?
日本語の勉強
431 :
429 :03/11/16 20:12 ID:???
日本語能検と漢字検定1級はあるんですが、ほかに何か必要ですか?
他人に自分の意思を的確に伝えようという努力
433 :
427 :03/11/16 20:24 ID:???
434 :
429 :03/11/16 20:53 ID:BS81469j
そ、そんなに分かりにくかったですか。スイマセン
つまり、とあるページ
http://hogehoge.com があり、そこにアクセスすると
IDとPasswordを入力する欄があります。
通常はそこにIDとPasswordを入力してSubmitして中のページにアクセスする
訳ですが、そのログインの課程をPHPで実現し、中のページの内容を
保存する方法はありませんでしょうか?という質問だった訳です。
>>433 428ではないが、へっぽこなの。
php4のセッション機能もphplibのセッション機能も、最初のページでセッションIDをcookieで
発行しつつ、URIかhiddenに埋め込んでいますよ。有効なセッションIDがcookieで受け付け
できると埋め込まなくなります。
>>434 このスレで既に似たような質問がいくつも出ているが、GETメソッドで可能なら、
fopen("
http://hogehoge.com?ID=xxxx&Password=xxxx ","r");とかcopy()とか、
POSTメソッドでしかダメなのなら、curl関数を使う。
436 :
429 :03/11/16 22:22 ID:???
>>434 レスどうもです。
過去スレは見たんですけれども、POSTなんですよね…
curlはマニュアル見ても解説が余りにも少ないもんで…
ソケットも含めて、もう少し考えてみます。
>>436 たとえformがpostメソッドでも、perlのCGI.pmなど、postとgetの区別をしていない
処理だったらgetメソッドで送っても通りますよ。ダメ元で試して味噌。
439 :
403 :03/11/17 01:18 ID:???
>>403 なんですけど、別板で
「if〜elseif〜elseに汁!」といわれてその通りにして
「わぁいできました」と書いたら2人揃ってアホと呼ばれました。
そもそも
>>403 に書いてあるヤツもPHPの解説サイトさんからパクったんですけど。
僕も汁!の人も解説サイトさんもみんなアホなんですか?
どうやるのが一番スマートなんでしょうか?ご意見お願いします。
>>439 どっちでもいいだろ
自分のスタイルでやればいいんだよ
既存の辞書アタックツールを使えばいいんでないの。
>439 つーかあんたの頭なんのためについてんの。
>441が辞書アタックツールで何をしたいのかのほうが気になる
俺が使ってどうすんだよ。
>>439 >>404 が貼ってくれたリンクを見たのか?
「/」で分割して「KDDI」が返ってくるわけないだろ
分岐は好きなのでやれ
>>444 どこから辞書アタックツールって言葉が沸いてきたのかに興味があるんだが
>436 httpクライアントっぽいサンプルは腐るほど転がってるのでコピペすれば3分でできる。 pearのhttp系パッケージやsnoopyを使うのも楽でいい。
>>436 cURLはPHPのマニュアルの該当項目を見るよりも、
元々のlibcrlの方をあたった方が良い。
http://curl.haxx.se/ googleでも探してミソ
>439
404の言葉を借りれば、
「なんでその変更で振り分けられるようになったのかがわからねぇよ。」かもだ。
>>437 一応GETでやってみると言うのは試してみてたので、
「POSTで」と書いた訳なんですけれども。書いてなかったですね。スイマセン
>>447 ぬお、3分で、ですか……
探すスキルが低いみたいですね、pearも当たって見ます、snoopyは調べます。
>>449 PHP/CURL Examples Collectionのsimplepost.phpから色々試してみたいと
思います。ありがとうございました。
451 :
449 :03/11/17 02:58 ID:???
PHPのマニュアルも元からcURLへのリンクがあったな。 PHPプログラマーズマガジンの2003年8月号にcURLの特集が 10ページ程あるので、参考にすると良いかと。 #アシアルには引き続き頑張って翻訳して欲しいので、敢えて日本語版。
453 :
nobodyさん :03/11/17 05:18 ID:wHZotKDg
下記のようなファイル(data.php)があります。 $file01 = "aaa"; $file02 = "bbb"; $file03 = "ccc"; $file04 = "ddd"; $file05 = "eee"; ............... ............... これを別のファイル(file.php)から、 require_once("data.php"); で呼び込んでいます。 リンク先からはURLの末尾を file.php?NO=01 などとして、 ナンバー($_GET['NO'])を元に「$file01」などの値を取得したいのですが、 どう書いたらいいのでしょうか? $file_data = "$file".$_GET['NO']; echo($file_data); (恥ずかしいのですが)こんな感じで試行錯誤していましたが、 うまくいきませんでした。
>>453 配列にしたら?
$files = array("aaa","bbb","ccc","ddd");
echo $file_data[$_GET['NO']];
見たいな感じで。
>>453 可変変数を使えばできるけど、後々のことを考えるとdata.phpを変更した方がいいような。
Windows2000ServerのActive DirectryとLDAPを使って、PHPコンテンツの 認証ってできるんでしょうか? いろいろと探してみたのですが、まったく資料が見つかりません。 参考になるサイトや書籍はありませんでしょうか。 PHPコンテンツ側は、誰がアクセスしているのかがわかればそれで いいのですが・・・
>>453 おしいな、可変変数を使う。
$file_data = "file".$_GET['NO'];
echo $$file_data;
もしくは
echo ${"file."$_GET['NO']};
で、いけるはず。
>>454 のいう通り、配列に入れてしまうほうが言いと思うけどね。
ああ、かぶった上に間違えている。 echo ${"file".$_GET['NO']}; こっちね。
460 :
453 :03/11/17 12:50 ID:wHZotKDg
>>454 >>455 >>457 >>458 みなさん、ありがとうございました。
echo ${"file".$_GET['NO']}; の方法で、
おかげさまで考えていたとおりに出来ました。
data.phpは、「$file01 = "aaa"; 」の種類が多いので
このようにしていました。
ひとつ教えてください。
後々のことを考えると「配列」ということですが、
今の方法ですと問題が出てくる可能性がありますか?
>>460 一つの値だけを処理するだけなら、さほど問題は出てこないだろうけど、
全てもしくは複数の値を処理するようなときは、配列の方が扱いやすい。
扱いやすいということはスクリプト全体も見易いってことなので、バグる
可能性も低くなる。
462 :
nobodyさん :03/11/17 15:18 ID:nxS/JzN0
PHP4を使っています。 strpos関数の2番目の引数にソを入れるとエラーがでてしまうのですが バグかなにかでしょうか? strpos('あいうえお','ソ'); みたいな感じです。
464 :
5C :03/11/17 15:27 ID:???
>>462 そうだんだよ、'表'って入れてもエラーが出るんだよ。
きっとバグだ。PHPユーザ会なり藤本さんなりに、
全然日本語対応できてないじゃないかゴラァっていってやれ。
そもそもPHPはEUC推奨。
466 :
462 :03/11/17 15:28 ID:nxS/JzN0
>>463 書いています。
ShiftJISだとだめなんでしょうか?・・・^^;
467 :
465 :03/11/17 15:38 ID:???
mb_internal_encoding('SJIS'); または mb_http_output('SJIS'); をスクリプトの先頭に書くとうまくいくかもしれません。
>>466 超FAQ。ググレ。対処法も書いてある。
ちなみに答えを先に書いておくと、Shift-JISでソースを
書いてもエラーを回避する方法はある。
答え書いてないジャン
471 :
462 :03/11/17 16:09 ID:nxS/JzN0
>>467 mb_internal_encoding('SJIS');
と書いたらいけました。 ありがとうございました^^
>>468 超FAQですか?ぐぐったんですがわかりませんでした、、
またわかれば参考に見ておきます。ありがとうございました。
エムビーストリング
Mind Blaster of the Supper that is Tiny and Rugged Iron and Naked Garages
476 :
453 :03/11/17 19:04 ID:???
>>461 詳しい説明ありがとうございました。
おかげさまで理解できました。
477 :
nobodyさん :03/11/17 19:34 ID:p9/wZzot
PCにアパッチ2とPHP入れようと思うんですが メモリどれくらい食うんですか?
1GBみといてください
479 :
456 :03/11/17 20:03 ID:???
>>459 オブジェクトを探索云々はもちろんできるんですが、問題はユーザー認証
でして・・・
アクセスしてきている人の、Windowsアカウント名を取得したいんですが
具体的な方法がまったく見えなくて。
どうかご教授願えませんでしょうか。
480 :
nobodyさん :03/11/17 22:52 ID:rRY/Vvh3
レス式掲示板を作りたいのですが参考になるサイトやスクリプト、本などはありますでしょうか? レッツPHPのBBSのソースを見てもさっぱりでした・・・
>>480 ソースを見てもさっぱりなら紹介してもしゃあないやん。
出来合いのものを使っとけば?
482 :
396 :03/11/17 22:58 ID:iH0Np36n
483 :
480 :03/11/17 23:10 ID:???
>>481 さっぱりというか・・
もう少し段階を追って解説してくれるものないでしょうかね?
レス機能や削除機能なしの掲示板程度なら作れるのですが・・
484 :
363 :03/11/17 23:11 ID:S1UyFitp
すいません、363です。 今度はアップロードでつまずいてしまいました。 363でも書きましたがsuExec導入されてるサーバーで動くシステムを製作中です。 画像をアップロードさせたいんですが、ファイル格納ディレクトリのパーミッションが 間違っている、というエラーが出るんです。 全く同じシステムを別サーバーで試した場合は格納ディレクトリのパーミッション[777] で行けたんですが、suExecが導入されているので、[777]は設定できませんでした。 [775]さらにサーバーの設定マニュアルにある[701]でもだめでした。 こういう場合、格納ディレクトリのパーミッションはどのようにしたらよいのでしょうか? 教えてください。お願いします。
PHPなのにsuEXECってCGIモードなのか? なんで777から701まで試してて707はやってないんだ?
>>483 求める機能をどのようなアルゴリズム(処理手順)によって実現するかと、
そのアルゴリズムを(限られた関数で)どのように実装するかは別問題だよ。
掲示板程度が作れるなら、求める機能に必要なアルゴリズムを図に書いて整理してごらん。
>>483 まずどういった機能が欲しいのかが明らかにならないと誰もアドバイスできないと。
世の中に無い(発表されたことの無い)機能なら、自分で創造するしかないんだし。
そのソースが公開されてる掲示板システムにお目当ての機能があるなら、
それを読む以外ないと思うけど(むしろソースが公開されていることに感謝しなきゃ)。
>>482 system()は、PHPの実行ユーザの権限で()内のコマンドを実行しようとする。
エラー内容をチェックすれば どこがまずいか分かるよ。
489 :
nobodyさん :03/11/17 23:46 ID:z5/6dLW4
ImageMagicで画像のサムネイル作るのはどうやってやるんでしょうか。 サンプルどこかにありませんか。 または解説してるサイトなどありましたら教えてほしいです。
490 :
484 :03/11/17 23:47 ID:S1UyFitp
>>485 suExecではユーザーの書き込み権限を与えられないから「707」は無理だと思ってました。
とりあえず明日試してみます。
CGI版ではないのですが、CGIとかでディレクトリのパーミッションは701で…みたいなことが
サーバーのマニュアルに書かれてたので、PHPで使う場合でもダメだと思って、パーミッションいろいろ変えてたのですが。
もしかして、私めは初歩的な勘違いをしているのでしょうか?
suEXECの場合、apacheのユーザーはcgiファイルのオーナーが確認できればいいので cgiの存在するディレクトリは701等、xx1があれば十分。 それ以降はすべてオーナー権限で動作するからね。 で、同じサーバの別のユーザーのアクセスを拒否するために、真ん中は0が望ましい オーナーは実行も読み書きもできる7 ということで、ディレクトリは701、cgiは700で動くんだが、PHPの場合モジュールで 動いている可能性があるので実行環境がわからないとなんともいえませんねえ
共有サーバーでSMTPを使ってメール送る時、 送信元のアドレスを自分で設定するのは不可能でしょうか?
そですか、調べますです。 すません
>>482 本当に/usr/local/bin/にあるのかtelnetからwhereisでも使って確認しる
その鯖のOSが標準でwget入れてたりする場合は/usr/bin/にある場合も考えられる
phpでURLを与えてやるとそのファイルのタイトルを取得するみたいなことってできますでしょうか?
>>483 段階を追うって言っても、間に特にないような気がするんだけど……
単発掲示板が作れるなら、単発投稿に番号を振って、その番号に対するレスを
つけられるようにすればいいだけなのでは。
>>497 できるよ。
file()で配列に入れて1行づつ<title>〜</title>の部分を探せばよし。
502 :
489 :03/11/18 01:20 ID:kSgvtIqG
>>489 です。
某所で見つけたのを参考にやってみたんですが・・動きません。
サムネイルが生成されません。
どこがおかしいかわかる方いますか。
・サーバーはxreaという所を使ってます。
・dataフォルダは777
・管理者曰く、imagemagicは/usr/bin/に
↓以下スクリプト
<?
$savedir = "data";
$name = "photo";
//サムネイル画像生成
$srcname = $savedir."/".$name.".jpg";
$size = getimagesize($srcname);
$x_size = 48;
$ritu = $size[0] / $x_size;
$y_size = round ($size[1] / $ritu);
//ImageMagicで画像縮小
$dstnames = $savedir."/".$name."_S.jpg";
$w = "/usr/bin/convert -geometry ".$x_size."x".$y_size." $srcname $dstnames";
echo $w;
exec($w,$parray,$rtnsts);
//print ("command=$w,array=$parray,rtnsts=$rtnsts\n");
chmod($dstnames,0666);
?>
すんごいどうでもいい質問かもしれませんが、 どうして、内容は変わらないのに、 pg_exec関数がpg_query関数に名称変更になってしまうんでしょうか?意味ない気が・・・ (いちお、最新バージョンのphpでもpg_execは使えるようですが、非推奨とか書いてあった) いや、自分、perlとphpしか知らないもんで・・・・・ 他の言語でも、こういうことって結構あるもんなんでしょか?
>>504 他のDB関数(例えばMySQL)と名称を揃えるためでは?
Postgres->pg_query
MySQL->mysql_query
みたいな。
>>482 /usr/binじゃなかったかな?
俺の時はcp /usr/bin/wget /home/hoge/filedown/とやってfiledown内に置いて、./wgetとやってるが。
んで、サムネイル置き場は/home/hoge/public_html/img/thum/だったり。
>>502 XREAのPHPはsafe modeだからexec()やsystem()は使えない。
サムネイルだけならGDを使ったら
508 :
490 :03/11/18 09:33 ID:Fg+aUf/J
[707]でイキマススタ…。
>>485 さん、DQNな質問に答えていただきありがとうございます。
suExecとパーミッションについてもう一度ぐぐって学び直します。
吊ってきます。ほんとにありがとう。
>>507 サムネイルでもGDとimagemagickでは雲泥の差……
>>479 ここは所詮趣味レベルの集まりなので、MLで聞いたら?
>>479 ,510
PHPはサーバサイドで実行されるんだから、クライアントのローカルな
ネームスペースにはアクセスできんでしょ(Microsoftが公開しない限り)。
だからWSHやVBscriptつかうかASPならそういう関数があるんじゃね?
512 :
489 :03/11/18 11:37 ID:kSgvtIqG
>>507 なるほど。わかりました。ありがとうございます。
GDではサムネイルできたんですけど、
imagemagickでもちょっと試したいんです。
マニュアルみたらセーフモードでも
safe_mode_exec_dir を指定すれば動作可とかいてありましたが、
phpinfo見るとディレクトリ指定がなされて無いようでした。
ということはimagemagick使えないということですかね。残念・・。
mb_send_mail()やmail()でメール送信を行なっているのですが、 メール送信は正常に行なわれているにもかかわらず、 上記関数からの戻り値がFALSEで戻ってきます。 同じような現象の経験がある方、いらっしゃいますか? PHPバージョンは4.2.4です。Solaris 9上で動作させています。
>>513 warningメッセージは出てないの?
セーフモードで引数5つ指定してたりする?
515 :
513 :03/11/18 13:52 ID:???
>>514 warningは出ていないようです。
safe_modeはOffにしてます。
筋違いかもしれませんが、お願いします。 PHP4.3.4 + MySQL 3.23.49 を使って、 最近、やり始めたところです。 そこで、ブラウザを使ってMySQLに登録してある テーブルの内容(1列)を表示したいと思っています。 検索をしてみたんですが、なかなかそのようなサイトが見つかりませんでした。 よかったら、そのようなサイトかその他教えてください。 お願いします。
>>517 マニュアルのMySQL関数のところを見れば、関数の使い方から例まで
乗っている。個人が管理するウェブページは情報が古い場合もあるので
マニュアルを確認するのが第一ですよ。
519 :
513 :03/11/18 20:47 ID:???
>>516 そこもチェック済みです・・・
書かれている内容と同じ現象のようです。
別サーバーで同一のことを行なうと正常値が返ってくるので、
環境依存だと思います。もう少し追っかけてみます。
>>519 では、sendmail -t -i で送った結果は?
クラス使うと動作が遅くなると散々言われてるphpですが、 実際にクラスを多用した設計で失敗した経験のある人っていますか? いつもどれくらいクラスを使っていいものやら悩んでしまうんですが、 何か良い指針などあれば教えて下さい。 あと、クラス多用による失敗談も(あれば)聞きたいです。
readline()以外に有る変数から一行だけをある変数へ代入する方法って 存在するのでしょうか?マニュアルを探しても見つからないんですが、 見落としているだけなのでしょうか。
>>521 人によってやりたいことが異なるんだから、自分でベンチでも取るしかなかろう。
まあ、既存のクラスを上書きするようなクラスはオーバヘッドが大きくて遅くなる
とは言われていますな。
つーか一部だけクラスつかうとかいう 使い方だとクラスを使う意味が全くないわけだが
525 :
nobodyさん :03/11/18 23:33 ID:gbpK+IU+
supplied argument is not a valid stream resource って何?
>>525 こんなん使えるかボケェ!ちゃんとしたリソースよこしやがれ、ゴラァっ!!
527 :
525 :03/11/19 02:36 ID:???
荒らしは無視。
>525 英語も読めなければ、日本語も読めないのかよ... んじゃ代りに。「辞書引け、ボケっ!」
>>525 お前アホやろ
supplied argument is not a valid stream resource
↓和訳
こんなん使えるかボケェ!ちゃんとしたリソースよこしやがれ、ゴラァっ!!
531 :
nobodyさん :03/11/19 11:11 ID:RZZ5PKCA
mail()を使うとReturn-Pathが付かないのでpopen()でメール送信しようと
思ったんですが、safe_mode=Onにすると送信できなくなります。
$fp = @popen("/usr/sbin/sendmail -t
[email protected] ", "w");
fputs($fp,"To:
[email protected] \nSubject: test\n\nThis is a test mail.\n.");
pclose($fp);
こんな感じで送信してます。safe_mode=Onだとpopen()の戻り値はtrueなのに
メールは送信されず、sendmailのログにも何も残っていません。
safe_mode=On、safe_mode_exec_dirは設定していません。
他に必要な設定等はありますでしょうか?(環境:RedHat Linux9 + PHP4.1.2)
>>531 mail()で5番目の引数(additional_parameters)を加えればReturn-Pathがつかないですか?
自分が作ったシステムではちゃんとついているけど。
533 :
532 :03/11/19 11:29 ID:???
ゴメソ、additional_parametersはsafe_mode=Onだと無効になっちゃうのだた。
534 :
531 :03/11/19 11:36 ID:RZZ5PKCA
535 :
531 :03/11/19 11:37 ID:???
あ、リロードしてなかった…
537 :
531 :03/11/19 13:01 ID:???
safe_mode=Onだと /bin/date とかも結果が表示されない… (;´Д`)
538 :
nobodyさん :03/11/19 16:33 ID:LeB1buj1
Apache2系の最新バージョンでPHP4.3.4とOracle9.2は動きますか? OSはLinuxデス。
>>538 人に聞かなきゃ判断できないようなら、実績のある1.3系との組み合わせにしとけ。
540 :
nobodyさん :03/11/19 17:35 ID:INlscLDs
検索したレコード結果一覧を表示させる画面があり、 ここから各レコードの詳細画面にリンクさせているのですが この詳細画面からhistory.back等で戻ろうとしたら フォーム情報が〜 っとメッセージがでてきて再表示させないと だせないんですが何か方法はありませんでしょうか?
>>540 せっしょんきゃっしゅりみったーでぐぐる。
で、設定次第では戻れるが、戻ることをせずに専用のボタンなりリンクなりを作るに行きつぐはず。
せっしょんきゃっしゅりみったーに該当するページが見つかりませんでした。 "せっしょんきゃっしゅりみった"を含むページは見つかりませんでした。 (´・ω・`)ショボーン
543 :
540 :03/11/19 18:48 ID:INlscLDs
せっしょんきゃっしゅりみったーですが 実はレンタルサーバーなので設定を変更することができないのです^^; プログラム自体で何か生かす方法はできませんでしょうか?
544 :
540 :03/11/19 18:51 ID:INlscLDs
ちなみに今はnocacheになっておりました。
545 :
541 :03/11/19 19:11 ID:???
>>543 ini_set()で返られる。noneにして味噌。
546 :
541 :03/11/19 19:12 ID:???
safe_mode_exec_dir=/usr/sbin を設定したらsendmailが 正常に呼び出せるようになりますた。 設定しないと全て許可じゃないのかよっヽ(`Д´)ノ
中略 // 投稿者のメールアドレスがあれば、それへのリンクを表示する if ($mailadrs != "") { print("<A HREF=\"mailto:$mailadrs\">"); } // 投稿者の名前を表示する print("[$yourname]"); // 投稿者のホームページアドレスがあれば、それへのリンクを表示する if ($mailadrs != "") { print("</A>"); } // メッセージを表示する print("<BR>\n"); print($msg); print("<BR>\n"); <?include "log.php";?> print("$msgdate $msgtime"); $count++; } // ファイルを閉じる fclose($fp); ?> どこがおかしいですか?
549 :
適当 :03/11/19 21:02 ID:???
print("[${yourname}]");
550 :
nobodyさん :03/11/19 21:36 ID:KSFoFMPl
>>550 php.iniのインターナルエンコーディングをEUC-JPに設定
magic_quoteをoff
>>549 それは名前に[かっこ]を付けただけじゃ?
554 :
550 :03/11/19 22:19 ID:sN+3Stso
>>551 ごめんなさい、ヒントを頼りにググってみたんですけど、よくわかりませんでした。
それはどこでどのように設定するものなんでしょうか?
> php.iniのインターナルエンコーディングをEUC-JPに設定
> magic_quoteをoff
バグと言い切るやつには何を言っても無駄
>>554 <META http-equiv="Content-Type" content="text/html; charset=EUC-JP">
これで行けると思う
>>550 /usr/local/lib/php.ini
もしインストールした時にコピーしていないのなら
src/php-4.x.x./php.ini-dist
これがPHPの設定ファイル。
ちなみに
require_once 'Var_Dump.php';
Var_Dump::Display(parse_ini_file("/usr/local/lib/php.ini",true));
するのがおれ好み。
>>557 それだと、Webサーバにアップロードした時に動かないんでは?
クラスを使いたいと思っていて とりあえず練習として DBをつかった簡単な掲示板を作ろうと思ってます。 基本となるクラスは、 1 クエリ発行やdB接続などのDB操作に関する基本的なクラス。 2 メッセージクラス($name, $msg//名前設定・取得()、メッセージ設定・取得() ) 3 1のDB操作クラスを継承。メッセージをDBに書き込む(読み込みも)ためのクラス 4 出力クラス で 2と3、2と4を関連させて、3は1を継承というクラス図になると思うのですが 3をどのように実装させるべきか、アイデアがない状態です。 3に持たせる機能としては DBへのカキコミと、DBからの読み出しなわけですが $name と $msgを3でもパブリック変数として登録して コンストラクタで初期化するべきなのか(でもそうすると読み込み時には無駄な操作が・・) もしくは3に$msgと$nameを設定する関数を作って それをメッセージクラスから操作して値を代入させるべきなのか(変数が増えたときに1行だけの関数が大量にできそう・・) それとも他に何かいい方法があるのか おしえてもらえるとありがたいです。 変数が$nameと$msgだけならどっちでもいいようなかんじですが 今後$passwordや$ipなどたくさん増えていく場合にはどちらがより効率的なのでしょうか。
560 :
550 :03/11/20 10:50 ID:5Fvc2fd6
みなさん考えていただいてありがとうございます ↓のようにして解決しました。 if(get_magic_quotes_gpc()) { $name = stripslashes($name); }
561 :
nobodyさん :03/11/20 21:30 ID:zwtb7HaV
562 :
nobodyさん :03/11/20 21:38 ID:zwtb7HaV
/* 文字コードコンバートauto→SJIS */ mb_language('japanese'); function convert($str) { if (function_exists('mb_convert_encoding')) { return mb_convert_encoding($str, "SJIS", "auto"); } elseif (function_exists('JcodeConvert')) { return JcodeConvert($str, 0, 2); } return true; } 原因はこのへんかなぁ…?
563 :
nobodyさん :03/11/20 22:04 ID:zPNn8BhK
はじめまして。 標準関数ImageCreateFromPNGなんですが、 ちゃんと画像を生成できなかったくせに TUREを返す事ってありますか?
564 :
nobodyさん :03/11/20 22:18 ID:5Fvc2fd6
function MakeFrame() { global $PHP_SELF; print "<HTML><HEAD><TITLE>$title</TITLE></HEAD>\n"; print "<FRAMESET rows=30,*>\n"; print "<FRAME src=$PHP_SELF?mode=ue name=up>\n"; print "<FRAME src=$PHP_SELF?mode=shita name=bottom>\n"; print "</FRAMESET></HTML>\n"; } function UenoPage() { print "<HTML><HEAD><TITLE>上</TITLE></HEAD>\n"; print "<font size=2>上のページ</font>\n"; print "</BODY></HTML>\n"; } function SitanoPage() { print "<HTML><HEAD><TITLE>下</TITLE></HEAD>\n"; print "<font size=2>下のページ</font>\n"; print "</BODY></HTML>\n"; } if(mode == ""){ MakeFrame(); } elseif(mode == "ue") { UenoPage(); } elseif(mode == "shita") { SitanoPage(); } else { } ↑上下分割のフレームを作ったつもりで上のようにプログラムを 打ったんですけど、$PHP_SELFとmodeがうまく読み込めないようです。。 どのように変えたら上下分割のフレームがつくれますか?
565 :
nobodyさん :03/11/20 23:01 ID:8Xp/0zjz
>>563 ImageCreateFromPNGがTRUEを返すことはありません。
>>564 MakeFrameの$titleは何が入る?
modeは定数なのか?
フレームのページ作ったことある?
568 :
566 :03/11/20 23:46 ID:???
しまった! 「TUREた!」とか言われるかな。。。
569 :
nobodyさん :03/11/20 23:48 ID:5Fvc2fd6
>>567 $titleは何でもいいです。書き換えるのを忘れてました。
とりあえず「フレーム」としておきましょうか。
modeは変数です。
フレームはperlで作った事あります。
>>561 ソース見てないけど、mb_language('japanese');の位置は大丈夫か?
autoではなく、JISとかEUC-JPとかにしてみたらどう?
>>569 > modeは変数です。
いや、そんなこと言われても・・・・。
>>569 つーかregister_globals問題はどうよ?
573 :
564 :03/11/21 00:17 ID:htyTFWd6
$modeでお願いします(凹
574 :
564 :03/11/21 01:20 ID:oq0nSHXH
$_GET[mode]で解決できました。
576 :
nobodyさん :03/11/21 03:06 ID:9Q4OVv2s
携帯から見れないように/携帯からしか見れないように したいんだけど、どうしたらいいんだっけ? どっか解説サイトあったらキボンヌ
>>576 User_Agentやhostで区別する。完ぺきに区別するのは難しいと思うけど。
IPアドレス帯域が公開されているキャリアなら大丈夫かも。
ホストとかエージェントで区別するのは.htaccessの仕事じゃない? 動的に変更するならPHPの仕事だけど。
まあ、どっちでもいいんだけどね
580 :
nobodyさん :03/11/21 06:47 ID:X6nc3D6o
PHPでメモリーリークすることあると言うけれど、 メモリーリークしているかどうかを調べるにはどうするの? メモリーリークしたらLinuxをリブートしないとだめなの? どういうことに注意したらメモリーリークは避けられるの?
>>559 このスレでは
マニュアルに載ってることしか答えられる香具師しか
いないし、ましてやクラスなんて絶対無理だから
MLに行った方がいいよ。
582 :
559 :03/11/21 09:48 ID:???
>>581 あなたに言われるまでも無くMLで聞いています
あなたもわからないのならレスしないでけっこうです
583 :
563 :03/11/21 09:56 ID:j9AK708g
>>566 申し訳ありません。
有効なリソースIDを返すかどうか、と聞きたかったのです。
どうも取り込みたい画像ではなくまっさらな画像を作っているかもしれないので聞いてみました。
584 :
nobodyさん :03/11/21 10:14 ID:hhlqBJaB
あるサイトのページを読み込んで、任意のタグの値や文字列を抽出したいんだけど 使えそうなライブラリありますか? fsockopen、fgets などでシコシコ作るのが面倒なんです。
ループ開始
>584 1.サイトのページを読み込む 2.読み込んだhtmlの解析 本当にシコシコ作ると面倒なのはどっちよ。 2で汎用的な解析が出来るライブラリがあるなら、折れも知りたい。 現状シコシコとパースしてるよ。
POSTやSSL使わないなら
ファイル名に
http:// 〜 で始まるURL指定すれば
ソケット気にしなくていいけどな
>>559 俺もクラスの使い方を勉強し始めたときに、全く同じ事を考えたよ。
SQLクエリーを一箇所に集めることで、DBに変更が生じても修正しやすいかなと思って。
でも、各ページで共通なクエリーってほとんど無くて、ファイルサイズが大きくなって
メンテナンスしにくくなったので、今は以下のようにしてます。
1.→PEARのDBクラスをそのまま使用
3.→DBへの接続とクエリーの発行、デバックレベルのコントロールのみ
各クエリー→各ページに分散。
また、3ではPEARのDBクラスを継承せずincludeするだけにしてます(オーバ
ライドする必要無いし、オーバヘッドが増大するだけなので)。
これが正解かどうか分かりませんし、ニュアンスが伝わったかどうか不安ですが
こんなところで。
XML_HTMLSax
590 :
nobodyさん :03/11/21 14:36 ID:pFM+b2MN
異なるクラスのインスタンス同士で メンバー変数をまるまるコピーするには どうしたらいいのでしょうか ひとつひとつ手でコピーするしかないの?
591 :
nobodyさん :03/11/21 14:57 ID:nF07L8Ty
mail()関数を使ってメールを送りたいのですが 以前Shift_JISでやってたときは正常にいけてたのですが EUCにすると件名がおかしくなり 又、本文もOEでは自動選択では化けておりEUCを指定すれば 見れるようになるのですが 何もせずに両方正常に見れるようにするには どうすればよろしいのでしょうか?
>>591 バージョンとか環境が無いが・・・
SJISで化けないように見えたのはたまたま
mail()のかわりにmb_send_mail()を使う
バージョンによってはphp.iniの設定も必要かもしれん
593 :
nobodyさん :03/11/21 17:44 ID:6RTImdno
CSVのデータをFlashで読ませるためにphpを通して作ろうと思うのですが 日本語が文字化けしてしまいます。 mb_convert_encoding($***, "SJIS", "EUC"); としてブラウザではShift_JISでまともに表示できるのですが、flashだと 化けてしまいます。EUCでももちろん化けます。 何か良い方法はないでしょうか?
595 :
nobodyさん :03/11/21 18:03 ID:6RTImdno
593です。 mb_convert_encoding($***, "SJIS", "EUC"); ↑間違えました。 array_convert_encoding( $CsvData[ $i ], SJIS); です。
596 :
nobodyさん :03/11/21 18:08 ID:6RTImdno
>>594 すげー!できました♪
こんなに簡単なことだったとは・・・
ありがとうございます!
597 :
nobodyさん :03/11/21 22:08 ID:VKePmfjV
form.txtというテキストファイルに入力フォームを作って、 それを、php本体のファイルから、$_REQUESTや、$_POSTを使って呼び出す事ってできないんですか? 本体自体に入力フォームを作れば、普通に呼び出せるのですが… 別のファイルのnameって参照できないのでしょうか? もう2時間以上調べたり、試行錯誤したりしてるんですが、どうしてもできません。 どうかよろしくお願いいたします。
>>597 呼び出し元
<html略
<?php
readfile("form.txt");
?>
略submit></html>
別ファイルのフォーム
<textarea name="name"></textarea>
受け取る側
<?
$data = $_POST['name'];
?>
こういうこと?
599 :
597 :03/11/21 22:26 ID:VKePmfjV
>>598 そうです!
でもどうしてもnameが参照できないんです。
わかりますでしょうか?
>>599 別ファイルの作りが悪いんでは?
formのsubmitがあるコンテンツをブラウザの
「htmlソースを見る」で見たらどうなってる?
601 :
597 :03/11/21 22:39 ID:VKePmfjV
>>600 フォームがあるファイルはtxtなんで、htmlではないんです。
htmlにしたほうがいいですか?
602 :
597 :03/11/21 22:53 ID:VKePmfjV
>>600 ごめんなさい、form.txtと、bbs.phpという二つのファイルしか用意していませんでした。
もっと詳しく書きます。
form.txtにある、<textarea name="BODY"></textarea>を
bbs.phpで、$_POST [ "BODY" ]で呼びだそうとしています。
これはやり方が違うんでしょか?
何度も恐縮です。
あるファイルを 現在のディレクトリ → 別のディレクトリ という風に変更したいんですが、できるんでしょうか? public_html ├ 0 - this.html ←このファイルを └ 1 └ 2 ←ここに移動
605 :
nobodyさん :03/11/22 00:44 ID:+R8gCL5F
すいません 半角文字を全角にしたいんですけど そんな関数ってないですか? 「アb12」→「アB12」のような感じで
606 :
rwxr---wx ◆jTWOZwTY1g :03/11/22 01:09 ID:p23nlexh
607 :
nobodyさん :03/11/22 01:10 ID:gH7w41VD
とにかくPHPでDOMやSAXを使いたいです。 PHP Version 4.1.2 XML Support active XML Namespace Support active EXPAT Version 1.95.2 phpinfo()により得られる情報はこんな感じです。 xmldocfile(str)関数をよんだところ、 こんな関数しらねえよ、みたいなエラーがでました。 ・・・無理なんですか?
609 :
rwxr---wx ◆jTWOZwTY1g :03/11/22 01:11 ID:p23nlexh
610 :
605 :03/11/22 01:32 ID:+R8gCL5F
>>608 あ、ごめんなさいmb_convert_kanaもi18n_ja_jp_hantozenもつかえないようなんで
> 半角文字を全角にしたいんですけど
> そんな関数ってないですか?
>「アb12」→「アB12」のような感じで
611 :
605 :03/11/22 01:33 ID:+R8gCL5F
>>608 あ、ごめんなさいmb_convert_kanaもi18n_ja_jp_hantozenも今のWebサーバじゃつかえないようなんですよ。
他に方法ないですかね・・・
> 半角文字を全角にしたいんですけど
> そんな関数ってないですか?
>「アb12」→「アB12」のような感じで
$message = "漢字ハンカクモジ1234567890"; $message = wordwrap( $message, 1, "<br>", 1); print "$message"; ↑のように文字を一文字ずつ縦に並べたいのですが、 漢字の部分が文字化けしてしまいます。 漢字の部分が文字化けせずにうまく表示する方法はありますか?
>>610 ちょっとURLが出てこないけど、そういう関数を自作して(文字コード表を
持っておいて変換する)公開してた人がいたから探してみ。
616 :
590 :03/11/22 07:34 ID:???
だれかわかるひといませんか?
>>616 (´-`).。oO(なんでそういう疑問が出たのだろう・・・)
$_SERVER['SCRIPT_NAME']と$_SERVER['PHP_SELF']の違いを教えてください。
>>601 いや、「フォームがあるファイル=txt」をphpで読み込んで実際にhtmlが生成されて、
ブラウザに渡されてるときはどうなってるの?つう事なんだけど。
htmlのformエレメントにしたがってgetなりpostなりするのはブラウザのお仕事だから。
620 :
597 :03/11/22 11:35 ID:???
>>619 form.txtに作ったフォームを、<form></form>タグで囲うのを忘れていただけでした…
これだけ抜かしただけでも動かないんですね。
お騒がせしました。
色々とアドバイスをくださりまして本当にありがとうございました。
>>613 mb_strcutを使ってみそ。半角かなは試したこと無いけど。
622 :
nobodyさん :03/11/22 14:02 ID:BXEaKw0h
フォームで飛んだページからhistory.back()を使って 戻ろうとしたらエラーがでてしまってうまく戻れません。 調べたらsession.cache_limiterの値がnocacheになっており これを変更したらいけると思うのですが PrivateやPublic等の違いがいまいちわかりませんので 教えていただけませんでしょうか? 参考URL等でも結構です。よろしくお願いします。
history.back()を使わない
賛成!
625 :
622 :03/11/22 14:22 ID:BXEaKw0h
えっ、じゃあ前のページに戻るにはどうすればいいのでしょうか? あ、で今publicやprivateにしたんですが直りませんでした。 他に設定しないといけないのでしょうか?
>>622 history.back()ってJavascriptじゃないの?
そのフォームがプレーンなHTMLなら問題ないよね。
フォームのページを動的に作るなら、テンプレートクラスを使ったら?
627 :
590 :03/11/22 15:11 ID:???
>>617 クラス O にはメンバ hoge,piyo がいて
クラス K にもメンバ hoge,piyo がいるとき
$k->hoge = $o->hoge;
$k->piyo = $o->piyo;
とやるのが面倒なので、一気にコピーしたいんです。
クラス O の他のメンバもコピーされてしまっても気にしないです。
>>627 hogeとpiyoを保持し、値のセット、ゲットを行うクラス(OYA)を作って、
クラスO、KはOYAを継承すれば?
629 :
590 :03/11/22 16:22 ID:???
>>628 継承等出来ない場合を想定してます。
たとえば、mysql等のデータベースを利用しているとき
フィールドと同名の要素を変数として持たせたクラスを
設計したときとか、mysql_fetch_objectで取得したオブジェクト
の各インスタンスを丸コピー出来たら便利だな、とか。
630 :
nobodyさん :03/11/22 17:21 ID:vBe/Mytc
連想配列のキー文字列を宣言後に変更することは可能でしょうか? $hoge = array("key"=>"value"); $hoge = xxx( "key", "key2"); で"key2"=>"value"になるようにしたいのですが。
631 :
nobodyさん :03/11/22 17:31 ID:ZuYJGW09
mpegファイル用のアプロダってあるんでしょうか?教えて下さい。 もし板違いならどこで聞けばいいのか教えて下さい。
>>629 こんな感じか。
foreach (get_object_vars($o) as $key => $val) {
$k->{$key} = $val;
}
>>630 やりたいことがよく分からないけど、こういうことかな。
$hoge = array("key2" => $hoge["key"]);
633 :
590 :03/11/22 18:27 ID:???
>>632 (゚∀゚)キター!
すばらしいです。
そうか、こういうのがあるのか
>>629 その場合でも、
class oya {
var $db;
var $piyo,$hoge;
function oya(){ $this->db = mysql_connect(・・・・); }
function setVl($vl) {
$rst = $this->db->mysql_query('select * from table where key=' . $vl);
while( $row=mysql_fetch_assoc($rst) ){
$this->piyo[] = $row['PIYO'];
$this->hoge[] = $row['HOGE'];
}
}
function getPiyo() { return $this->piyo; }
function getHoge() { return $this->hoge; }
}
class o extends oya {}
class k extends oya {}
$objO = new o;
$objK = new k;
$objO->setVl($vl); ←(1)
$objK->setVl($vl); ←(2)
こんな風にしておくと、(1)の後に(2)を呼べば一発でコピーしたことにならん?
(ソースは超適当。行数制限のため読みにくくてスマソ)
635 :
634 :03/11/22 18:56 ID:???
スマン。リロードして無かったよ…
636 :
603 :03/11/22 21:10 ID:???
>>604 >>609 アドバイスありがとうございます。
レス遅れて申し訳ない。
copy()だと移動したファイルが元のフォルダに残りますよね?
rename()だと完全に移動できちゃうんでしょうか?元のフォルダに残ります?
637 :
nobodyさん :03/11/22 21:26 ID:GrZ4t9i9
PHPのデータベースシステムがPHP4.2.0を使っているんですが、 最新の4.3.4にバージョンアップする必要はありますでしょうか? 不具合が出る可能性もあるのでしなくていいならバージョンアップしないですませたいのですが。
>>637 こんだけ変わってる。
http://www.php.net/ChangeLog-4.php 人ごとなんできちんと読んじゃいないが、
4.3.1 Fixed serious security vulnerability in CGI SAPI.
4.3.0 Fixed a security bug in the bundled MySQL library
4.2.2 Fixed serious security vulnerability
しといた方がいいんじゃないの?
>>637 4.2.0からならやっといた方が良いんじゃないの?
3.x、4.0.6からならソースをチェックしといた方が良いけど。
638の通り、少なくてもPHP4.2.2には上げるべき。 それか「マルチバイト系のバグパッチがあたった」PHP4.2.3。 #PHP4.2.4は正式に出して欲しかった... PHP4.3.4だと日本語の設定や動作が多少違うのでポン入れ替えでは駄目。 大した変更ではないのだが「バージョンアップする必要はありますでしょうか?」 の時点で自力では無理だと思うので、ChangeLog読んで入れ替えの必要を感じたら そのデータベースシステムを構築したところに相談してください。 つか、バージョンアップの必要性もそこに相談したら?
バージョンが4.2.0の時点でその会社にはやる気がないな。
642 :
nobodyさん :03/11/23 10:54 ID:dHFRcZc4
$rtime = date("G時i分"); $rtime = str_replace("0", "〇", $rtime); $rtime = str_replace("1", "一", $rtime); $rtime = str_replace("2", "ニ", $rtime); $rtime = str_replace("3", "三", $rtime); $rtime = str_replace("4", "四", $rtime); $rtime = str_replace("5", "五", $rtime); $rtime = str_replace("6", "六", $rtime); $rtime = str_replace("7", "七", $rtime); $rtime = str_replace("8", "八", $rtime); $rtime = str_replace("9", "九", $rtime); print "ただいまの時間は$rtimeです"; 時間を漢字表記するために 現在↑のようにしているんだけど、 もっと簡単に出来る方法ありますか?
>>642 $a = array( "0", "1", "2", "3", "4", "5", "6", "7", "8", "9" );
$b = array( "〇","一","ニ","三","四","五","六","七","八","九" );
$rtime = str_replace($a, $b, $rtime);
644 :
nobodyさん :03/11/23 11:59 ID:VWGWrsR+
サイトの最終更新日時はjavascriptのコマンドを アドレスバーに入力することによって分かりました。 しかし、拡張子:php3というサイトに行ってそのコマンドを 試したところ今現在の時間が表示されるだけで更新日時は分かりま せんでした。 php3サイトでの最終更新日時を表示させる方法を知っておられる方 おられましたらお返事ください。宜しくお願いいたします。
phpの最終更新日=お前が見てるその時。
647 :
nobodyさん :03/11/23 15:09 ID:4nY9jFdL
$data = "test"; こうした場合に、$dataをdata.txtとしてDLされるようにはできますか? $dataを表示するのはわかったのですが、DLされるようにするにはどうしたらいいのでしょう
♪マイムマイムマイム(ry ↑ WinIEには諸刃の剣
652 :
nobodyさん :03/11/23 18:01 ID:rPJOre3u
PHPEclipse使ってる人あんまりいないんかな? Eclipse利用者はほとんどWebStudio派?
if分岐で飛ばすページを変えようとしとるのですが、 指定したULRに飛ばす関数は何を使うのでしょうか?
file_get_contents でタイムアウトを設定する方法はありますか?
656 :
nobodyさん :03/11/23 21:25 ID:rPJOre3u
>>655 max_execution_timeの問題じゃなくて?
657 :
nobodyさん :03/11/23 23:38 ID:QsyZNjyu
<meta>タグでも飛ばせるよ(w
>>653 指定したULR (Unicode Language Resouce)に飛ばす方法だけど
unpackかiconvで
バイナリ文字列のコードを取得して,それを元に何語かを判定して
unicode.orgかalanwood.netに飛ばせると思う。
未テストだけど、どう?
660 :
nobodyさん :03/11/24 01:31 ID:+lHsWlKU
path_info
mod_rewrite
664 :
nobodyさん :03/11/24 01:56 ID:K+lZFZJG
<?php print($HTTP_USER_AGENT); ?>と書くと DoCoMo/1.0/N504iS/c10/TBと出ますが ↑をN504iSと表示 Mozilla/4.0 (compatible; MSIE 6.0; Windows 98) ↑をpcと表示にしたいんですが、 どう書けば良いですか?
666 :
nobodyさん :03/11/24 02:15 ID:K+lZFZJG
eregi関数でいいんじゃない
>>665 split("/",...)で分割してarray[0]が"DoCoMo"ならarray[2]を表示。
"Mozilla"なら"pc"と表示。
668 :
nobodyさん :03/11/24 03:09 ID:K+lZFZJG
if (ereg("DoCoMo","$HTTP_USER_AGENT")) { print"ドコモ"; } でいいじゃん
携帯用エロサイト構築担当者が紛れ込んでいるようです
PHP開発日誌で公開されているPHPosxomの改造版のことについてですが、 RSS Feedのページで文字化けするので、 PHP Samples & Tips に置かれてある漢字コード変換を用いて EUC-JPで書かれた文字列をUTF-8に変換してから RSSに出力するように処理してみたところ、今度は文字化けは見られなくなったのですが、 しかし日本語の部分はすべて?に変わって表示されるようになりました。 どこかに間違いがあると思われるのですが、それを探り当てることができません。 RSS出力部のプログラムは以下の通りです。 function rssStory($title,$text,$path) { global $whoami; $title = JcodeConvert($title, 1, 4); $text = JcodeConvert($text, 1, 4); よろしくご教示お願いいたします。
671 :
660 :03/11/24 08:51 ID:9Tk3ShCC
673 :
nobodyさん :03/11/24 10:16 ID:pOpbqF88
Apacheにmod_status.soを組み込むと、接続を待っているコネクションの数とか keep aliveしている接続数とかが取得できますが、あの値をPHPで取得する 方法ってありませんかね。今現在の接続数を取得したいんですが。
>>673 http経由でserver-statusのページを読み込んで解析する。
675 :
673 :03/11/24 11:04 ID:pOpbqF88
>>674 ありがとうございます。じつはその方法も考えたのですが、server-statusのように
動的に作成されるファイルの内容を取得する方法が分からなかったりします。
telnetで80番ポートに繋いで、GETメソッドで取得するくらいしか思いつかないのですが、
他に便利な関数でもありますでしょうか。今マニュアルを読んでいるところですが…。
>>669 それだ!
携帯用エロサイトの作成方法を学べばいいんだ!
ナイスヒントありがとう
>>675 <?php
$count = 0;
$status = file('
http://localhost/server-status ');
while(list(, $line) = each($status)) {
if (stristr($line, "<pre>")) {
while(list(, $line) = each($status)) {
if (stristr($line, "</pre>")) {
break;
}
$count += substr_count($line, "K");
}
}
}
echo "Keep alive = ".$count;
?>
679 :
673 :03/11/24 11:51 ID:pOpbqF88
>>677 そのとおりでした…、いろいろ激しく勘違いしてました。ありがとうございます…。
680 :
673 :03/11/24 11:56 ID:pOpbqF88
681 :
678 :03/11/24 11:58 ID:???
間違えた
<?php
$count = 0;
$status = file('
http://localhost/server-status ');
while(list(, $line) = each($status)) {
if (stristr($line, "<pre>")) {
do {
$count += substr_count($line, "K");
if (stristr($line, "</pre>")) {
$end = 1;
break;
}
}while(list(, $line) = each($status));
}
if ($end) {break;}
}
echo "Keep alive = ".$count;
?>
便乗質問ですけど,自分も含めた全接続数(ユーザ数)なら, "R","W","K","D"をカウントすれば良いんですかね。 ”L"(logging)もユーザのプロセスを表すんでしょうか?
683 :
nobodyさん :03/11/24 18:28 ID:ZgzIc743
PHP歴一週間です。 MySQLをプロバイダーにアップロードして使うことって可能なんでしょうか? 何か詳しいページとか知っている方がおりましたら教えてください。
ワラタ
>>683 SQLiteくらいにしときなはれ。
といっても通じるか激しく不安…。
686 :
nobodyさん :03/11/24 18:40 ID:ZgzIc743
SQLiteってライブラリーで全部やっちゃうやつでしたっけ? MySQLってのがどういう環境で動くかよくわかってないです・・・
プロバイダや借りてるプランによると思いますが、十中八九無理だと思います。。。 なぜ、MySQLを使うんでしょうか?
688 :
nobodyさん :03/11/24 20:32 ID:ZgzIc743
勉強中だから 理由それだけですw
つーか邪魔だ失せろ
>>688 勉強が目的ならローカルに入れるという手もあるよ。
WindowsでもApache+PHP+MySQLは動くからね。
>>692 ありがとう
でも、どうせなら、みんなに見せたいw
見せる意味のあるものならな(ゲラ
695 :
nobodyさん :03/11/24 21:35 ID:FD1cyWLj
公式ページがParseエラー吐いてるょ・・・(泣
Parse error: parse error, expecting `')'' in /local/Web/sites/phpweb/include/layout.inc on line 29 Fatal error: Call to undefined function: make_image() in /local/Web/sites/phpweb/index.php on line 117
697 :
nobodyさん :03/11/24 21:55 ID:lX2TxRqK
698 :
nobodyさん :03/11/24 22:00 ID:FD1cyWLj
EUCでスクリプトを書いてて、データファイルをSJISで書き出したくて mb_convert_encoding ($str, "SJIS", "auto"); としたり、jcode.phps を使ったりしてるのですが、書き出される ファイルがEUCになってしまいます。 原因は何なんでしょうか?
700 :
698 :03/11/24 23:25 ID:???
>> 699 ども、解決しました。
PHP4.2.2を使っています。 mail() is not supported in this PHP build というエラーが出ました。 mailを使うためには、ビルドオプションの何を設定すればいいのでしょうか
>>701 こういう時はまずマニュアルを読もうな。
configureオプションは特に必要無いが、make時にsendmail binaryに
アクセスできる必要がある。sendmailを止めている時にコンパイル
したんじゃないの?それかパスが標準のものではないとか。
>>702 sendmailが入ってさえすれば、止まっていても問題ない。
phpマニュアル日本語版がみられない・・
>>705 そんなの複数あるから別のところ見ればいいだろ
>>706 jp.php.netやjp2.php.netもフランス語(?)になっているよ。
日本語が生きているサイトってありますか?
このゴルァメール文はどう? Hi, I am looking for the PHP Documentation of Japanses. Where is Japanese Documentation? I do not understand French. Regard.
マニュアル。 Windowsヘルプ形式しかないけどダウンロードする手もある。
711 :
701 :03/11/25 13:37 ID:???
>>702 マニュアルを読んでもわからなかったのです。
とりあえず、今 再コンパイルが終わったので
再インストロールして確認したところ メール出ました。
>>703 sendmailが入っていても、止まってたときコンパイルしたもの
は駄目みたいです。これは私の体験談です。
>>711 (゚Д゚)ハァ?
sendmailでもpostfixでも止めている状態でインストールしてもちゃんと使えてますが。
ついでにいうと、MTAデーモンを止めている状態でもメール送信できます。
qmailは試したことが無いので、わからんが。
>>712 ハァ じゃありませんよ
・・・まぁ今回はこのくらいで勘弁したる
714 :
nobodyさん :03/11/25 17:42 ID:ebRH0ppG
はじめますて、PHPど素人です。 PHPの場合、Javaみたいなパッケージないですよね? 今、PHPのクラスごとに、ファイルを分割していろいろ試しているんですけど、 内容が違うファイルで、クラス名ががぶるとまずい状況ってありますか? 変な質問になってしまいますが、 ClassSono1.phpというファイルに、ClassSono1というクラスがあり、 ClassSono2.phpというファイルに、ClassSono1.phpとは別内容のClassSono1というクラスがあり、 hoge.phpというファイルから、ClassSono1.phpをrequireで利用するページがあり、 foge.phpというファイルから、ClassSono2.phpをrequireで利用するページがあったとき、 何か問題が起こる事ってありますか? ちなみに、自分の環境では、特に問題なかったのですが。 マニュアル読んでも、リファレンスブック数冊読みあさっても、 この辺に触れている情報がなかったもので、質問させていただきました。 どうか、こんな糞な漏れを叩きながら、教えて下さい。
>>714 それなら別に全く何もまるっとすりっと問題無い。
くどいw
717 :
nobodyさん :03/11/25 18:51 ID:Gjmr9rPM
flashを使ってloadVariablesでphpを通してcsvファイルを読み込む というものを作っていて、winだと正常に表示されるのにmacだと 読み込むことができません。何か考えられる理由がございましたら、 どなたかご教授いただけないでしょうか?
718 :
714 :03/11/25 20:25 ID:???
>>715 モヤがとれ
気分晴れやかに
なりますた
ものすごく感謝です!
720 :
nobodyさん :03/11/25 21:08 ID:DkYGwGyS
>>719 なるほど、ありがとうございます。
改行コード変えてみます。
脊髄反射ってなんだろう・・・。
脊髄反射 キーワードをみて頭で考える前にレスを書く
722 :
nobodyさん :03/11/25 22:22 ID:GDlIUM5f
なんか質問がループしてない?
なんか質問がループしてない?
おもろい
728 :
nobodyさん :03/11/26 01:25 ID:01znQriM
すいません。インストールでつまずいている初心者なのですが、、、 fedora1+apache2+postgres+php4.3.4 という状況です。すべて、ソースから入れて、phpをapacheのモジュールとして入れたいのですが 、phpをconfigureした際、 You will be compiling the CGI version of PHP without any | | redirection checking.と最後に警告されます。 案の定、make & make installを実行しても、libphp4.soは生成されていません。 ちなみに、 ./configure --enable-zend-multibyte --with-apx2=/usr/local/apache2/bin/apxs --with-pgsql --with-pear --enable-zend-multibyte --disable-cgi --with-mod_charset こんな感じでconfigureしました。どうしたら、libphp4.soができるのでしょうか。
--with-apx2= は --with-apxs2=じゃない? 貼る時ミスった?
730 :
nobodyさん :03/11/26 02:21 ID:01znQriM
やってもーたかー、ちょっとたしかめます。
731 :
nobodyさん :03/11/26 02:41 ID:01znQriM
やってました。ありがとん。
lヽ ノ l l l l ヽ ヽ
)'ーーノ( | | | 、 / l| l ハヽ |ー‐''"l
/ D | | |/| ハ / / ,/ /|ノ /l / l l l| l D ヽ
l ・ i´ | ヽ、| |r|| | //--‐'" `'メ、_lノ| / ・ /
| V l トー-トヽ| |ノ ''"´` rー-/// | V |
| ・ |/ | l ||、 ''""" j ""''/ | |ヽl ・ |
| D | | l | ヽ, ― / | | l D |
| !! | / | | | ` ー-‐ ' ´|| ,ノ| | | !! |
ノー‐---、,| / │l、l |レ' ,ノノ ノハ、_ノヽ
/ / ノ⌒ヾ、 ヽ ノハ, |
,/ ,イーf'´ /´ \ | ,/´ |ヽl |
/-ト、| ┼―- 、_ヽメr' , -=l''"ハ | l
,/ | ヽ \ _,ノーf' ´ ノノ ヽ | |
、_ _ ‐''l `ー‐―''" ⌒'ー--‐'´`ヽ、_ _,ノ ノ
http://www.pandora.nu/tv/src/img20031125124106.jpg
>>728 そういや、言うの忘れたが
--enable-mbstring --enable-mbregex の2つは入れたほうがいいかも
それ以外のマルチバイト指定はつけてないなぁ
>>734 php4.3.4だと、--enable-mbstringで --enable-mbregexも
含まれるようになってますよ。逆に外すのに
--disable-mbregexという指定が増えた。
新しいバージョンの最初のコンパイルの際には、
./configure --help で逐一確認するのが吉。
736 :
nobodyさん :03/11/26 11:25 ID:mWhZstI6
717です。 改行コード変えてみたのですが、ダメでした。 他に考えられる原因ご存知の方おられましたら、ご教授ください。
737 :
nobodyさん :03/11/26 11:40 ID:6jd0hKUA
質問スマソ if($hoge) と if (isset($hoge)) は等価ですか?
>>737 これ実行してマニュアル読んで死ね。
<?php
$str = 0;
if (isset($str)) {
echo "true";
} else {
echo "false";
}
echo "\n<BR>";
if ($str) {
echo "true";
} else {
echo "false";
}
?>
phpで関連・集約を 実装するにはどうするのが 常道なんでしょう?
PHP で動作する CMS(Content Management System) を探しています。 PHP-Nuke や Xoops のように、読者?参加型の掲示板みたいな ものは必要なく、ブラウザでコンテンツの内容を修正し、 書き込めるといったことに主眼を置いているソフトウェアを 探しています。 HTML の知識がないような初心者でも、ブラウザからぱぱっと内容を 変更できるものが理想ですが…。 PHP で動作する CMS でよいものがあれば教えていただけ ないでしょうか?
741 :
nobodyさん :03/11/26 19:31 ID:yQGS5nZS
クラスを作って、インスタンス化し、それを配列にしたり、引数にしたりしたいんだけど、 できますかね?
>>741 オブジェクト指向の基礎から勉強しましょう。
憂鬱な〜
ていう本わかりやすいよ。
>>741 言語リファレンス::クラスとオブジェクト嫁
>>740 pukiwikiとか、phpで出来てるwiki
745 :
740 :03/11/26 21:35 ID:???
>>744 やはり wiki ですか。
wiki も考えたんですけど、デザインがある程度固定される
じゃないですか。こう、デザインはテンプレートみたいなので
あらかじめ決めておき、表示する中身を埋めていく、みたいなのが
ないかな、と思っているのですが。
やはり、そんなんはないかな。。。
参照渡しがよくわからないです。 下のModelクラスで インスタンスを作るときに Model($dao)としていますが 逆にコンストラクタの定義を function Model ( $dao) として、$model = new Model( & $dao)としちゃいけないのでしょうか? <?php class Dao { function getSomething() { } } class Model { var $dao; function Model (& $dao) { $this->dao=& $dao; } function doSomething () { $this->dao->getSomething(); } } $dao=new Dao; $model=new Model($dao); $model->doSomething(); ?>
747 :
nobodyさん :03/11/27 00:33 ID:lfmdU05+
if(条件1){ if(条件2){ 処理1; }elseif(条件3){ 処理2; break; }else{ 処理3; } 処理4; } ↑のように、処理2を実行した場合だけ、 処理4を実行しないで条件1のif文を抜けるつもりで 処理2の後「break;」を書いたのですが、 「Cannot break/continue 1 level in」というエラーが出ました。 処理2を実行したあと処理4を実行せずに条件1のif文を抜けるにはどうしたらよいでしょうか?
>>747 オレはそういう時は構造から見直すが、
do {
} while (0);
でくくって、breakを使えるようにしてるやつを見たことがある。
簡単にこんな↓ふうじゃダメ? if(条件1){ if(条件2){ 処理1; }elseif(条件3){ 処理2; }else{ 処理3; } if(!条件3){ 処理4; } }
pearコマンドでSpreadSheetExcelとかをインストールしたいのですが, unstableだから駄目といわれてしまいます。 /usr/local/etc/pear.confを書き直せばいいっぽいですが, 書き方がわかりません。 た〜す〜けーて〜!!
mb_send_mailを使ってメールを送ってるんですが
送信元の部分が
[email protected] って感じで表示されちゃいます。
送信元を偽りたいのですが(FAKEMAILERのように)どこをかえればいいのですか?
>>753 ヘッダー部分のFROM:は自分で書いたか?
ドキュメントのsend_mailの部分に例が書いてあるぞ。
ついでに-fも付けておくとサーバ管理者にエラーメールが届かないようになるぞ。
756 :
nobodyさん :03/11/27 11:33 ID:6RLdJ9Zz
>>747 if(条件1){
if(条件2){
処理1;
処理4;
}elseif(条件3){
処理2;
}else{
処理3;
処理4;
}
}
757 :
nobodyさん :03/11/27 19:40 ID:2iYDtIiQ
PHP4.3.2 + MySQL4.0です。 googleとかにあるように > 検索結果:x件がヒットしました。 と出したいのです。 現状では1回目にcount(*) as numとでもした後、改めて select * from hoge where hogehoge limit 0,50 とでもしているのですが、明らかにアホですし、無駄な気がします。 調べてみると行数を調べるmysql_num_rowsがあることがわかったので試してみたいのですが、 limitしているために望む結果が得られません。 こういう場合、普通はどうしているもんなんでしょうか?
758 :
nobodyさん :03/11/27 19:52 ID:2iYDtIiQ
↑ $result = mysql_query("select * from hoge where hogehoge limit $startpage*50,9999"); echo $count = mysql_num_rows($result) + $startpage * 50; while ($row = mysql_fetch_object($result)) { echo $row->name; $i++; if ($i >=50) break; } としたらちったー早くなりました。でもまだ冗長な気がするんだけどなぁ
>>758 それだと、毎回バックエンドから必要以上のデータが転送されるので、余計無駄なんじゃないの?
問い合せ(アクセス)が少なければキャッシュに載って速くなるかもしれんけど。
>>757 のやり方(select count(*) from hoge where hogehoge;)しかないとおもうんだけどなぁ。
後、たぶん端折っただけで知っているとは思うけど、order byは入れておかないとね。
760 :
nobodyさん :03/11/27 20:35 ID:2iYDtIiQ
>>759 SQLサーバとwebサーバはギガビットLANでつながれているので、そんなに問題じゃないと思うんですがどうなんでしょう。
とりあえず
0.7s -> 0.5s
0.14s -> 0.12s
0.07s -> 0.07s
にはなっているので、効果はあるみたいですが・・・。
orderははしょったというか忘れてました。もちろん本物には入ってます。
763 :
nobodyさん :03/11/27 20:47 ID:2iYDtIiQ
sqlを2回発行するより、抽出した全件を転送した方が速いと言うことか? データにもよると思うけど。
仕事でやることをこんなとこで聞くなよ
echo "input type=file name='test' value=".$test."" でファイル名を取得するとき $testで取得するファイル名にバックスラッシュが入っているとファイル名の一部が消えるという現象が起きるのですが どうやって対処したらいいのでしょうか?
>>766 ファイル名にバックスラッシュを使うなと
祖父の遺言にあったのをお忘れですか?
ファイル名にバックスラッシュ入れるやつが悪い。 対処法は「ファイル名を変えろ」
文字列の文字コードを知る方法はありますか? if(!strcmp($str,mb_convert_encoding($str,"EUC-JP")))return "EUC-JP"; なんて思いついたんだけど、さすがにアホっぽくて・・・
,"auto" が抜けてた
PHP で、PHP のソースにある全関数、全変数、全クラスを配列にいれる方はありませんか。 PHP_Parser だと全変数が出るわけじゃなくって。
>>772 あなたが今使っているサーバで有効になっている全関数なら既出。
過去ログ参照。
774 :
nobodyさん :03/11/28 10:54 ID:pumCEpNl
初心者で申し訳ありません。 上のほうにも似たような?質問があるようなのですが、 PostgreSQLとPHPでつくられた学習のシステムがあって(e-larning) 利用者のIDや名前やメールアドレス、講義、講師などはすべてデータベースに 格納されています。 ブラウザでアクセスするとPHPでかかれたページし、 それぞれの学習者に応じたページがでてきます。 これをいじらなくてはならなくなり、 学習者がログインしていろんなページにアクセスされる度に そのログをはきたいと思っています。 普通のアクセスログ(リモホや時間)は吐き出せるですが データベースにあるその学習者のIDなどもいっしょに吐き出したいのです。 PHPで学習者のIDなどが格納されているテーブルに対して pg_execとかnumcolumns,pg_resultをつかってPHPを書いたのですが うまくいきません。 どうすればいいでしょうか?アドバイスをお願いいたします。
そんなん、テーブルの構造とうまくいかないというSQLを 出してもらわないとさっぱりわからん
776 :
nobodyさん :03/11/28 15:28 ID:REwnJW+M
ファイルにデータを書き込むとき、ファイルポインタの位置って任意に指定できないのでしょうか? 色々試しているのですが、ファイルの先頭か終端しか指定できません。 どうかお願い致します。
>>776 君、マニュアルを読んでみる気は無いかね?
マニュアルはいいぞー。あったかくておっきくてなー。
仕事絡みで分からないことを2chやMLで済まそうって奴が多すぎる 出来ないなら受けるな無能
いろいろってどういろいろ試したんだか $fp = fopen(...); fseek($fp, $offset, SEEK_CUR); でいけるっしょ? オープンのモードにはよるかもしれんが、 追記モードで移動するやつはおるまい
>>778 偉そうなことをいっている椰子もいるが、
たまにでるオブジェクト指向関連の質問には
全くレスがつかない。
俺らは所詮その程度のレベルだ。
PHPでオブジェクト指向はVer5待ちだと思ってる
PHPでオブジェクト指向やろうとは思わんもんなあ phytonとrubyとjavaとC++あるし
newしたらdeleteしないと気持ち悪い香具師の数→(1)
784 :
nobodyさん :03/11/28 18:24 ID:REwnJW+M
>>777 もちろんマニュアルは確認しました。
でもどうしてもわからなかったので…
>>779 回答ありがとうございます。
でも、私の言葉足らずでした、行の最初にポインタを移したいのです。
fseekだと、バイトで指定しないといけないので、行の最初に持って行くのは不可能です…
どういうやり方が考えられるでしょうか?
周りから見て気持ち悪い香具師の数→(1001)
787 :
nobodyさん :03/11/28 20:25 ID:VUrH8vz2
print "×";は x と表示されるのに print "800" + "×" + "3"; だと 803 と表示されます。 800×3 と表示させるようにするにはどうしたらよいですか?
>>787 print "800" . "×" . "3";
789 :
nobodyさん :03/11/28 20:30 ID:VUrH8vz2
はやっw ありがとう^^
790 :
nobodyさん :03/11/28 21:10 ID:REwnJW+M
>>786 ありがとうございます。
fseek($fp, \n, SEEK_CUR);
とやったらエラーがでてしまいました。
\に問題があるとでています。
この書き方は間違ってますか…?
ごめんまちがえた。 $buf=fgets($fp, 8000) な。 8000は必要に応じて変更 な。 これ以上は自分で調べなさい。 本を買いなさい。
>>790 int fseek ( int fp, int offset, int [whence])
中を読まないで改行の位置がわかるはず無いだろ
明らかにマニュアル読んでない証拠 ・・・理解できないだけ?
俺全く無関係でマニュアル読んでないけど、fgetsかませばfile pointerの場所移動するからそれを使えって言ってるのかな?
796 :
nobodyさん :03/11/29 04:18 ID:G/R1ECpC
セッションのデータを置く場所は、デフォルトでは「/tmp」ですよね。 で、共有サーバの場合、このままだと危ないかと思うのですが、どうなんでしょう? ベストは、「自分しか入れないディレクトリの下で、ドキュメントルートより上」かと思うのですが・・・ わざわざ「session_save_path」という関数(ただしPHP4以降)まである模様ですが、 それなのにこういったことがらについて書いたサイトが、探しても、見あたらないので。 (「データを置く場所を変えられる」としか書いてない。) セキュリティ上、どうなんでしょうか?教えていただければ幸いです。
<?php header("HTTP/1.0 401 Unauthorized"); exit; ?> とだけ書いたファイルにアクセスしたら、basic認証でだめだった場合の画面になるかと思ったのですが、 空白画面でした。 どこがおかしいのでしょうか?
basic認証でだめだった場合の画面って何?
headerだけ吐いて画面が表示されるわけないだろう echoでそういう画面を吐けよ
いや、でもheader("HTTP/1.0 403");とかheader("HTTP/1.0 404");は 自動的にブラウザ固有のHTMLを表示させるけど。 どちらにせよクライアントサイドになってしまうので自分できちんと 書いた方がいいんじゃないの?
元々そういう画面をブラウザが持っていないだけでは? 404の画面はよく見るけど、401のもあるのかな
802 :
797 :03/11/29 06:43 ID:???
>>798 あー、そうか。
理屈がわかりました。ありがとうございます。
803 :
797 :03/11/29 06:44 ID:???
>>796 > セッションのデータを置く場所は、デフォルトでは「/tmp」ですよね。
> で、共有サーバの場合、このままだと危ないかと思うのですが、どうなんでしょう?
>
> ベストは、「自分しか入れないディレクトリの下で、ドキュメントルートより上」かと思うのですが・・・
そうだよ。
>
> わざわざ「session_save_path」という関数(ただしPHP4以降)まである模様ですが、
> それなのにこういったことがらについて書いたサイトが、探しても、見あたらないので。
マニュアルにもちゃんと書いてあるが?
ttp://jp.php.net/manual/ja/ref.session.php この設定を/tmp (デフォルト)のようにどこか らでも読み込み可能なディレクトリの
ままにしている場合、サーバ上 の他のユーザがこのディレクトリのファイルのリストを
取得すること により、セッションをハイジャックをすることが可能となります。
他のディレクトリにセッションを保存する場合の注意点としては、ルートより深い階層に
保存する場合は自動ガーベッジコレクション が機能しないことくらいだな。
まずマニュアル嫁。話はそれからだ。
マニュアル読んだらこのスレの 存在意義が…
session_save_path の項に、注意事項へのリンクがあってしかるべき と思ってよく読んだらちゃんとあるのな。ウェーハッハッハ
>>805 質問が出る→「マニュアル嫁」と回答
以下繰り返し
ここで出る質問と回答って、マニュアルに書いてあることばっかりだし
マニュアルに書いてない質問は 誰も答えられない罠
マニュアル読めと即答されるだけでも俺はありがたいと思う マニュアルのどこかには書いてあるということがわかれば あとはマニュアルをよく読めばいいわけだしな 書いてあるかどうかを半信半疑のまま読み進めるよりも 必ずどこかに書いてあると確信を持って読んでるほうが 気分も能率もいい
>>808 正しい日本語でちゃんと質問できたら考えてやるよ。
まあ、C++の感覚で class ClassA { var $property1; function ClassA($value) { $property1 = $value; } } とか書いて痛い目にあったわけだが (´-`).。oO(クラス内部から自クラスメンバにアクセスする時はthis使えとはっきり書いてホスィ‥‥)
>>811 その方がすっきりしてて俺は好きだけどね。
PHPで高機能アクセス解析スクリプトの決定版をつくろうと思うのですが、 ログをDBに記録するのはどうでしょうかね? 一つのテーブルにすべてのアクセス記録を残していたら、 いずれ遅くて使い物にならなくなる気がするし、 かといって日別or月別or年別にテーブルをわけたりするのも なんだかなぁだし、どんなものでしょうか? (基本的にすべてのログを残しておきたいと考えてます)
テキストに出力するよりは格段に高速なわけだが。
$ENV{HTTP_REFERER}と$_SERVER['HTTP_REFERER']ってどう違うんですか?
817 :
nobodyさん :03/11/29 18:50 ID:QbsaEi/6
今レス式のBBSを作っています。 最初の画面では親記事のみを表示して、レスをカウントし 返信が何件かを表示させたいのですが旨く行きません。 while (list (, $line) = each ($in)) { list($no,$reno,$date,$namae,$mail,$sub,$comment,$pw,$ip,$host) = explode("<>",$line); if ($reno == "") { $i++; } if ($i < $start) { continue; } if ($i > $end) { continue; } if ($mail) { $namae = "<A href=\"mailto:$mail\">$namae</A>"; } if (!$reno) { print "<table border=0 bgcolor=#e1e1e1 width=70%><tr><td width=30%>\n"; print "<b>$no <a href=$self?m=view&id=$no>$sub</a></td>\n"; print "<td width=30%>$namae</td><td>$date\n"; print "</td><td>返信\n"; } if($reno){ $count++; } if(!$reno){ print "$count"; print "</td></tr></table><br>\n"; } } どこが悪いのでしょうか… アドバイスをお願いします。
>>817 エラーが再現する最小限の$inも付けてよ。
旨く? どう表示させたくて、どう表示されるのかを書けよ
>>814 定期的に別DBに移動すりゃええだろ
まあ5年に1度でいいだろうけど、コピーに時間かかるから毎月コピーして
1年経過したら消すとかの運用でいいんじゃないか
821 :
nobodyさん :03/11/29 19:10 ID:QbsaEi/6
レス有難う御座います。 レスが何件あるかが、カウントされません。 カウント数を正しくカウントされないのです。 宜しくお願いします。
なんでそんなとこで$count++してるのかわかあんが・・・ $count++ の箇所で何か表示させてみろよ 何が悪いかを考えるより、何が悪いかを調べるためには どうすればいいかを考えろ
>>814 設定で別テーブルに移すようにしておけばどうでしょう。
10万アクセスとか、年間でとか、ユーザ側が設定できれば便利かも。
>>814 漏れはすでに作ったが「決定版」とはいかないな。DB版というのは使える環境が絞られるし。
で、データーの保存だけど10万件または3ヶ月で古いデータは削ってる。
過去のデーターなんぞ、表示用の数値データーさえあれば良いのでSQLの結果からさらに集計してHTML表示用になおした配列をserializeしてアーカイブしてる。
まぁHTML作成直前のデーターそのままの形。
そのデータはテキスト。月単位。月が変わって表示する時、前月のアーカイブが無ければ作成するようにしてる。
こんな感じ
ホストa:534:{i:0;i:592;i:1;i:451;i:2;i:264;i:3;i:252;・・・省略
a:534:{i:0;s:29:"yahoobb************.bbtec.net";i:1;・・・省略
参照元a:484:{i:0;i:424;i:1;i:116;i:2;i:63;i:3;・・・省略
a:484:{i:0;s:8:"/~・・・省略
検索エンジンa:311:{i:0;s:1:"5";・・・省略
a:311:{i:0;s:58:"Google 【 語句・・・省略
グラフa:31:{i:0;s:3:"314";i:1;s:3:"263";・・・省略
・・・省略
参照元全部文字列で残すので少しばかりでかい。1Mを超える時がある。
参照元はでかすぎて時たまunserializeに失敗するし。
これは削ってもいいかな。DBでもいいけど。
週別、日別は3ヶ月以内または10万件以内。月のアーカイブデータをいじくれば日別も週別も出せる。
じゃまくっさいのでやってない。
アクセスログの話が出たのでついでに初心者から質問させてください。 生ログをローテートさせつつPerlでぶったぎってDBにぶち込んだものをPHPで 解析しようと思ってますが、例えば2003/11/29の総PVを知りたいときは どういうSQLを書くのが効率良いのでしょうか?
>>828 TABLEの構造もDBの種類もわからんと・・・
SELECT count(*) FROM log WHERE date = '2003-11-29'
これだと html以外も数えちゃうから'、もうちょっと絞る
なるほど。count()なんていう便利なものがあるんですね。 というか勉強不足でした _| ̄|○
アクセスログをDBに突っ込んでおけば、sqlで如何様にでも抽出・集計できるから便利だよな。
832 :
814 :03/11/30 04:39 ID:???
レス下すった方、ありがとうです。 サイトに合わせて、1年1テーブルとか半年1テーブルとか、 期間ではっきりと区切るのがいいかなと考えました。 区切った期間をまたがった集計はしにくくなるけど、 そこは割り切ってしまってもたいして気にならないだろうと。
833 :
830 :03/11/30 06:02 ID:???
ついでに質問させていただきます。 仮にHTMLだけのアクセスログをDBにぶち込んだものとして、 ページの人気ランキングみたいなのをはじき出すためには如何様にするのが 賢いやり方でしょう? 今までCSVとかのテキストファイルでログを作ってた時は全行をループで回して $PAGERANKING[$page]++; みたいにしてハッシュを作っていましたが。
834 :
830 :03/11/30 06:07 ID:???
すみません、質問の内容をちょっと変えます。 アクセスログをDBにぶち込んだものとして、 訪問者IPアドレスのランキングみたいなのをはじき出すためには如何様にするのが 賢いやり方でしょう? 今までCSVとかのテキストファイルでログを作ってた時は全行をループで回して $IPRANKING[$ip]++; みたいにしてハッシュを作っていましたが。
少しはSQLの勉強したら、
>>833 も
>>834 もSQLなら1行で済むから。
select ip,count(ip) as hits from table group by ip order by hits desc;
にゃるほど、、、 っていうかややすれ違いな質問にお答えありがとうございました。 SQLの知識なさ杉でした。
837 :
nobodyさん :03/11/30 11:49 ID:pC46kKiS
$text = 'ABCJKLGHI'; のJKLをDEFに置き換えたいんですけど PHPで特定文字列の置き換えってどうやるんですか? 手持ちの本を一通り調べ検索もしてみたのですが それらしい物が見つかりませんでした。
mk:@MSITStore:D:\Developer\php_manual_ja.chm::/ja/function.str-replace.html
>>837 str_replace
とりあえず、その調べた本の書名を書き込んでくれ。
ネタとしか
str_replaceって 大きい文字列ぶち込んだら動かないみたいなんだけど(汗 みなさんどうやってます〜?
>>841 大きな文字列って全角のことか?
ならmb_ereg_replace。
ちゅうかお前あほやろ。本もサイトも知らべんでええからマニュアル嫁。どあほ。
8.00 KB
>>845 質問を小出しにして悪いな。
文字種は?(半角英数のみ?)
変換しようとしている文字は?
動かないというのは具体的にどういう状況?
バグが再現するようなソースを添付してみ。
#その過程で原因に気づくこともあるんでお勧め。
>>846 ローカルのHTMLを呼び出して
リンク先を置き換える。
全角半角混合のファイル
<?php
$test = include 'test.html';
$test = str_replace ('<a href="/', '<a href="/test.php?go=',$test);
echo $test;
?>
includeってファイルの中身を返すものだったっけ?(^_^;)
>>846 もっと単純なHTMLファイルを呼ぶと動く
$test = '<html>
<head>
<title>てすと</title>
</head>
<body>
<a href="/Test/">Test</a>
<a href="
http://www.google.com/ ">Google</a>
</body>
</html>';
※<と>は投稿用に全角にしてあります
>>848 > $test = include 'test.html';
これの後にecho $test;ってやってみた?
>>848 ファイルの中身がそのまんま表示されるんですよね
ファイルの読み込み方に問題があるんじゃないの? file_get_contentsで読み込んでみるとどうなる? ちゅうか、replaceする直前にechoで変換前の文字列を 出力して、変換すべき文字列が入っているか確認してみ。
855 :
853 :03/11/30 13:28 ID:???
いやできるのか。
856 :
853 :03/11/30 13:29 ID:???
ああそうか、PHPでは<?phpと?>で囲まれているところ以外は評価しないでそのまま表示するからそうなるのか。。。
includeをこんな使い方している人初めて見た。 読み込むファイルの内容によっては危ないと思うけど。
サーバーの方の調子が悪かっただけのようです。 再起動してもらったら動くようになりました。
>>858 それでもファイルの読み込みにはそれようの関数使えな。
include使うなんて普通や無いで。
>>859 他人の話を聞かない人には何を言っても無駄。
サーバトラブルってものすごくうそ臭いな。
原因は本人にある
まるでモノアイプログラマーだな
一つ目?
includeじゃ$testにファイルの内容は入らないよ。 $testに入るのはincludeが成功したかどうかだけ(1かwarn)。 だからサーバトラブルは完全にネタ。嘘ついてんじゃねーよ。
>>865 単なるHTMLファイル(PHPのコード無し)なら入る。
少なくともPHP4.3.3では。
補足すると単なるファイルの場合はファイルの中身+'1'が入る。 で、PHPのコードがあった場合は実行して、戻り値が返される(なければ1が返される)。
まあ補足するまでも無いが、テキストファイルといえどもファイルの読み込みに includeなんか使うなちゅうことやな。 行ごとに配列として取り込むならfile、文字列にファイル全体を読み込みたいなら file_get_contents使えと。
まじ? がんがん使ってるけどな
870 :
866 :03/11/30 21:58 ID:???
あかん。思いっきり勘違いしていた。 includeの時点でコード外の部分を表示していただけだ。 それをincludeの次のechoで表示したと勘違いしたんだ。 やっぱり成功時に返されるものは戻り値か1だ。 じゃあサーバトラブルは完全にネタだな。
871 :
865 :03/11/30 23:53 ID:???
>>870 勘違いは誰にでもある罠。
本当はちょっとドキドキしてますた・・・。
872 :
nobodyさん :03/12/01 00:35 ID:SOU/CJkZ
こんちわ.質問があります. レンタルサーバを借りてphpを使ってるんですが, phpファイルの所有者(user)と異なる名前(nobody)でphpの実行が行われているようなんです. で,問題なのがファイルを生成した時です. copy()を使って新しいファイルへコピーしようとした場合, userに書き込み属性を持たせないとだめみたいなんです. // 所有者user パーミッション644 // 所有者nobody パーミッション666 などなど しかし,そのレンタルサーバで何も考えずにコピーしようとすると copy()は所有者nobodyでパーミッションが755なファイルを生成してからFalseを返します. ファイルサイズは0で,中身はコピーされていません. touch()やchmod()を使ってファイル生成の処理を前に置けば問題ないのですが,面倒で困ってます. どこのレンタルサーバでも同じような動作なんでしょうか? なお,利用しているサーバはOSがFreeBSDで,phpのバージョンはphp4.x.xとしか分かりませんでした.
わらた
>>872 きっと、レンタル鯖がクラッキングされているんだよ。
鯖屋のサポートに連絡すれば感謝されるかも。
PHPをバージョンアップさせようと思ってますが、今だとバージョンいくつがお薦めですか? 昔、最新入れてはまったことがあるので、最新はいれたくないっす。 4.3.3が無難ですか?
>>872 レンタルサーバ借りたことなんで良くわからんけど、apacheのモジュールとして
動いてるならそうなるのも分かる気がする。
普通FreBSDで共有サーバを作るときはjailでユーザ毎に独立した環境を提供する
もんだと思うけど、そこはそうじゃないのね。
あんまりお役に立てませんが。
つーか、おめーら、テスト環境ぐらい用意しろよ。
レスありがとうございます.
>>874 サポートBBSでどうにかならないでしょうかとお願いしてみました.
>>876 jailなどの話がわからないのです(^^;
役に立たないのは私の知識不足のせいなんでしょうね(;_;)
>>877 私のことでしょうか?
windows環境にphpをいれて動作させてはいるのですが,パーミッション関連のテストができなくて困っています.
マシンがPC98-NXでUSBキーボードしか持ってないから,Linuxが入れられない……
BSDは入れていますが,ルータの設定がうまくいかず(ftpインストールはできてるのになぁ)放置状態です(T_T)
スキル不足が全ての原因ですが,UNIXの導入は私のレベルでは難しいのです...(そしてスキルがあれば,こんな問題に突き当たらなかったり(^^;
しかも,昨日までは問題なく動作してましたんで,何もチェックしてませんでした...
ということで,サーバの管理会社の返事待ちであります.
お邪魔しました.
>>879 管理会社に聞くまでも無く、それが普通の動作だと思うが
cgiモードで動いてるなら別だけど。
>>880 moduleとして組み込まれています(という表現であってるのかな).
普通の動作だったのですか……
ということは,毎回コピーの前にファイル生成しないとだめなんですね……
短いとはいえ毎回書くのも面倒ですし,MyCopy()なんて関数にして置いとくのがいいのかもしれませんね.
882 :
874 :03/12/01 01:49 ID:???
ネタにマジレスもらっちゃった。 で、コピーする先のディレクトリを707にすればできるよ。 全体像が見えないので、707にして安全かどうかという問題は残るけど。 それと、テスト環境ならvmwareとかは便利。
884 :
1/2 :03/12/01 03:11 ID:I0ROgwdS
885 :
2/2 :03/12/01 03:11 ID:I0ROgwdS
<?php if (empty($UserFile)) { // 変数が未定義の時にTRUE echo $SCRIPT_FILENAME; ?> <form method="post" action="file_upload.php" enctype="multipart/form-data"> <input type="hidden" name="MAX_FILE_SIZE" size="65536"> <input type="file" name="UserFile"> <input type="submit" value="アップロード"> </form> <?php } else { print "<a href=\"file_upload.php\">戻る</a><br><br>\n"; print "ファイル名 = $UserFile_name<br>\n"; print "ファイルサイズ = $UserFile_size バイト<br>\n"; print "ファイルタイプ = $UserFile_type<br>\n"; print "テンポラリファイルパス = $UserFile<br>\n"; $file = tempnam("../img","mksup_"); if (is_uploaded_file($UserFile) ) { // HTTP POSTでアップロードされたファイルか? print "アップロードされました。<br>(但し、一時ファイルを任意のフォルダには格納していません)<br>\n"; if (copy($UserFile, $file)) { print "ファイルコピー成功。 $UserFile -> $file<BR>\n"; } else { print "ファイルコピー失敗。 $UserFile -> $file<BR>\n"; } } else { print "アップロードできません。<br>\n"; } unlink($UserFile); // 一時ファイルの削除 } ?>
フォルダつうことはWin鯖? httpdにコピー先の書き込み権限があるんすか?
887 :
2/2 :03/12/01 04:15 ID:I0ROgwdS
>886さん フォルダというのは間違いですね ついWINの癖が出てしまいました データベースエンジン PostgreSQL Ver6.5. データベースインターフェース PHP Ver3.0.18 の鯖です 「とりあえずPHPらしいから作って」 といわれ WEBのPG初めてでPHP4で本やWEBを駆使して作ったのですが のちに 「動かないよ、PHPのバージョンは3だって、すぐに変えて」 とPHP3であることが判明・・・・ で、PHP4でしたらmove_upload〜が使えるのですがPHP3だと使えないんですね で3対応のサンプルを見つけたのですがどうにもCOPYのところでエラーがでる とまぁこういう次第でございます
PostgreSQL 6.5にPHP-3.0.18 とは何年前の構成だか・・・ いざとなったらsystemでやってしまうのも手だ
>>887 だとしたら、/usr/photo のパーミッションじゃねぇか。
890 :
nobodyさん :03/12/01 04:38 ID:I0ROgwdS
で上のソースでは TEMPまでは行ってるんです tempファイルも作成されていますし それをCOPYで移動しようとするとエラーになるんです if (copy($UserFile, $file)) { このままなら上手くいくのですが if (copy($UserFile, "/user/photo/test.jpg")) { とかいろいろフォルダを変えたりファイル名を変えたり、無しにしたり やってるのですが、エラーばかりで copyが悪いのだとは思うのですが PHP3自体のサンプルが少ないし有ったとしても 上記のようにtmpファイル内で名前を変更するのしかないんです
892 :
890 :03/12/01 04:55 ID:???
いや、もう50回以上ループしてるんで・・・ COPYのところを書き換えて PHPファイルアップして 検証して エラーになって なんだかもう眠いんだ、パトラッシュ って感じです
だから検証するためにもsystem()使ってみればいいだろ
894 :
nobodyさん :03/12/01 05:18 ID:I0ROgwdS
system()ってなんでしょと思い調べてみました 早速実行 やはりエラー
systemで駄目ならphpの関数もバージョンも関係ない パーミッションとphp.iniの確認だな
898 :
nobodyさん :03/12/01 20:39 ID:Be0bByhV
PHPdevがダウンロードできん・・・。
>>882 寝ちゃったんで,返事遅れてごめんなさい.
パーミッションは707どころか,777で試していたんですけど,だめでした……
サポートBBSは,返事こないままです.
でも,ネタだったんですね(汗
今日やってみたところ,ファイル内容のコピーはできるようになっていました.
ただ,パーミッションが755に設定されるのは相変わらずでした.
なぜ,昨日はコピーすらできなかったのやら...(勘違いではない……はず……)
アドバイスありがとでした.
あと,2年くらい前のvmwareは重くて使い物にならなかったのですが,今はどうなんでしょう?
私のPCはathlon(しかもslot)で550MHzしかない骨董品ですが(^^;
>>897 IDEとしては、ZendStudio、WebStudio、PHPDevあたりを使っている人が多いんじゃないかな?
このスレでも頻繁に開発環境の話がでてきてたので過去ログを漁るのもよいかと。
曖昧な記憶だけど、エディタのみで頑張ってる人が多かったかもw
>>899 ファイルを新規作成する時のパーミッションがどうなるかは、
umask()の結果をゴニョゴニョして取得できます。
「パーミッション umask」あたりでググれば雰囲気は分かるかと。
>>899 俺も以前(vmware v2時代)はP2-333MHz 192MBでやってた。
起動したら最小化して、ttsshやputtyなどでsshログインして設定すればいい。
画面表示は遅いけど、CPU命令は素で動いているので、テスト環境には
十分だったよ。
902 :
899 :03/12/02 03:01 ID:???
>>900 umask()で解決しました.
ありがとうございました.私の検索が足りなかったようですね.
>>901 なるほど,画面表示はさせずに動作だけさせるのですか.
それなら耐えられそうですね.
ということで,試してみることにします.(また,BSD入れるところでつまりそうではありますが(^^;)
アドバイスありがとうです.
903 :
nobodyさん :03/12/02 13:43 ID:n3qOpeBH
はじめましてですが、質問をお願いします。 変数名を返す関数(f($x)としたら'x'、f($abc)としたら'abc'を)を使いたいのですが、変数名 取得 php、変数名 抽出 phpで検索してもさっぱりわかりません。 存在するかどうか、もしあるならその関数を教えていただけないでしょうか? よろしくお願いします。
>>903 ちょっとまて・・・
何のために必要なの?
905 :
nobodyさん :03/12/02 15:22 ID:qElvlvCX
サイト入力フォームに自動入力してくれる aiBAR2000(アイバー2000)というソフトのプログラムを見たいのですがどうやったら見れるのでしょうか?
>>904 デバッグ用に"f($a)"としたら"$a=3"と出力してくれるような関数ができないかなと思って。
>>906 print_r()、var_dump()、var_export()
echo '$a='.$a;
909 :
nobodyさん :03/12/02 18:27 ID:C0HjZayT
phpでマルチスレッドは使えますか?
>>907 回答ありがとうございます。
でもそれでは少し足りないんです。
>>908 やっぱりそれが一番ですよね
>>909 //echo "$a";
//echo "$b";
echo "$c";
こんな感じで何回もくりかえしてると、今どの数字がでてるかわかんなくなって。
グローバル変数なら
function f($str){
echo $str."=".$$str;
}
とやって、$のついてない変数を引数にすればいいのかな?
もちろん
913 :
nobodyさん :03/12/02 21:20 ID:juLEivKs
PHP4.3.2 + MySQL4.1です。 あるフィールドに重複があるとき、そのレコードを特定条件で取り出すようにしたいのです。 例えば 1|2|0 2|2|1 3|3|0 4|4|0 5|4|1 があったとき 「2列目が重複しており、かつ3列目の大きいほう」 という条件を満たすデータが欲しいのです。 具体的には 2|2|1 3|3|0 5|4|1 というデータを取り出したいわけです。 どうしたらいいものか、さっぱりわかりません。 アイディアだけでもよいので、お願いします。
>>913 グループバイ と ハビング でできるんじゃないかな
>>913 MySQLで可能かどうかわからんけど、
select * from t1 where (c2,c3) in (SELECT c2,max(c3) from t1 group by c2);
SQLで済ましたいならDB板で聞く方がいいかと。
916 :
nobodyさん :03/12/02 22:19 ID:juLEivKs
>>915 私もサブクエリを使って似たようなもの考えましたが、それめちゃくちゃ遅いです。
レコード数は2万ぐらいあります。
#さきほどやってみたところ、12分かかりました(汗
917 :
915 :03/12/02 23:03 ID:???
>>916 インデックスはつくりましたか?
pgsqlなら実用範囲内で返ってきそうなんですけど。
実証したわけではないが...
>>916 MySQLはサブクエリーが使えないからしょうがないけど、PostgreSQLもinにサブクエリーを
使った問い合わせがめちゃめちゃ遅いから、そういう時は面倒でもsqlを2回発行してる。
require_once 'DB.php'; // PEARのDB class
$dsn = …;
$db = DB::connect($dsn, 'TRUE');
$sql = "select hoge from table_name";
$rst = $db->getCol($sql);
$subquery = join(',', $rst);
$sql = "select * from table2_name where foo in (" . $subquey . ")";
ってやってる(エラー処理は適当に入れてね)。
こうするとMySQLだとかなり早いよ。
>>918 getColとjoinの使い方がチョトイイネ
920 :
nobodyさん :03/12/03 22:43 ID:Uo7o1eBu
DB.phpのクラスファイル見せろ
>>920 PEARのDBクラス知らんの?
ってか書いてあるだろ?ググレよ。
ゲラゲラ
Perlでのchomp(@a);はphpではどうなりますか?
ブラウザのcookieがonかoffかを調べる方法ってあります?
適当なcookie食わせて、受けいれるかどうかを調べるがよろし。
>>925 どうもです。
調べるための関数は無いのか・・・。
>>926 ひょっとしたらあるかも知れんけど、ブラウザとクライアントの設定に
依存するから、食わせて見るほうが手っ取り早い。
と思う。
>>923 $array = array_map(create_function('$m', 'return trim($m);'), $array);
こんなかんじか??動かしてないから、激しく間違ってるかも
配列がどっち来るかわかんね。map系統一して欲しい…。
>>928 create_function('$m', 'return trim($m);')
↑
これってナンデこうしてるの?
単純にtrim($m)だけじゃダメなん?
930 :
nobodyさん :03/12/04 10:35 ID:jdpah4Vh
主にLinux + Apache + PHP + MySQL で WEBシステム制作をやってるんですが、 クライアントからの要求で、OSはWindowsでと言われています。 この場合、PHP + MySQLはそのまま流用できると思っていますが、 OSの選択や、メール関連の処理は、 何を使って実装すればいいのでしょうか。 Windows版sendmailというのがあるようなんですが、 システムが数百万程度のであれば、 運営で耐えうるものになるんでしょうか。 どのように実装されるか、ご意見お願いします。
931 :
nobodyさん :03/12/04 11:04 ID:fe3bNtsq
初歩ですいません。 echo " "; 文に$aとか普通の変数を入れると 変数の値が表示されるのですが $array['a'] みたいにアレイを入れるとエラーが出て表示されません。 echo " ".$array['a']" "; ってしないといけないんでしょうか?
echo と print の違いを教えてください。
934 :
931 :03/12/04 11:51 ID:fe3bNtsq
>>933 マニュアルの例1-1 初歩的な例 でしょうか?
見ましたが、、わかりません。
935 :
931 :03/12/04 12:03 ID:fe3bNtsq
すいません,自己レスです。 解決しました。 {} で囲んでやればいけました。
>>929 確か、配列処理してくれなかった気がするんだが。
938 :
nobodyさん :03/12/04 12:53 ID:jdpah4Vh
>933 主にLinux + Apache + PHP + MySQL で WEBシステム制作をやってるんですが、 クライアントからの要求で、OSはWindowsでと言われています。 この場合、PHP + MySQLはそのまま流用できると思っていますが、 OSの選択や、メール関連の処理は、 何を使って実装すればいいのでしょうか。 Windows版sendmailというのがあるようなんですが、 システムが数百万程度のであれば、 運営で耐えうるものになるんでしょうか。 どのように実装されるか、ご意見お願いします。
> システムが数百万程度のであれば、 ここが意味不明。ユーザ数?
940 :
nobodyさん :03/12/04 13:14 ID:jdpah4Vh
>939 >> システムが数百万程度のであれば、 > ここが意味不明。ユーザ数? すみません。 予算が数百万"円"です。500万円まで。 ユーザ数は、最大1万ユーザです。 1日500〜1000アクセスで、月に15000〜20000アクセスです。
>>929 perl の@aは配列。
>>940 Windows版sendmail ってのを提供している団体に問い合わせるべきでは?
トラブった時に、「2chで誰かが言ってたから..」じゃ話にならんでしょ。
で、PHPとsendmailとどういう関係があるんだ?
942 :
nobodyさん :03/12/04 16:28 ID:C0iqSoTu
WebデータベースならMySQLかPostgreSQLのどちらかに絞って勉強してみてはいかがでしょう? 私は仕事柄、Oracle,SQLServer,DB2と色々使うのですがWebに関してはMySQLだけしか使いませんし 今のところそれで事足りてます。 Web開発言語はperlが代表選手みたいに言われていますが私はPHPをお勧めします。 データベースへの接続性が良くて使い易いです。 Webアプリの開発なんてprint文でhtmlを吐き出すのが殆どなので書籍としてはhtmlのハンドブックも 一つあった方が良いと思われます。 お勧め書籍 SQLWebデータベース(すばる舎) お勧め度★★★ 内容は薄いんですが付属のCDに入ってるソフトで自宅サーバーがすぐに構築できます。 勿論、お金を出さなくても必要なソフトをダウンロードすれば全部タダでできますけど。 PHPポケットリファレンス(技術評論社) お勧め度★★★★★ 私はほぼ、この1冊で足りてます。 PHP4徹底攻略(soft Bank) ※マンモス本で有名 お勧め度★★ 良著だと思うんですが厚いので使いにくいです。 あと、言語系ではUNIXならshell,WindowsならVBscriptをマスターしておくとWebで入ってきたデータから ファイルを操作するのが非常に楽です。 言語の勉強は ・データの扱い(データタイプ) ・制御構造を把握する(if then else, loop構造) ・関数化したときのデータ引渡し方法 の順に押さえサンプルプログラムを自分で作ればプログラムを多少やったことのある人なら基本的なことは 1日程度でマスターできます。 今のプログラミングはヘルプを如何に使いこなすかが重要なのでネットでオンラインヘルプを探して 目次に目を通しサンプルプログラムを動かしてみるのが上達の近道だと思います。 やりたいことができればOKなのでプログラムヲタになる必要はありませんが。
943 :
nobodyさん :03/12/04 17:07 ID:jdpah4Vh
>
>>940 知りたいのは、Windows+PHPでメール送信どうしてるかってことなんで、
その例として、Windows版sendmailというのを出したんです。
スレ違いですかね???
944 :
nobodyさん :03/12/04 17:08 ID:jdpah4Vh
>940 ↓ >941 の間違い。どうでもいいといえば。。。
>>943 Windows版PHPのmail関数は、smtpサーバと直接会話できる
送るだけならsendmailは不要。
php.ini読んでみ
947 :
nobodyさん :03/12/04 17:42 ID:jdpah4Vh
>945 mb_send_mail()関数を使おうとしたら、 メールサーバーが必要ではないんですか? 他の方法があるんでしょうか。 Linuxの時は、ドメイン取得して、 WWWサーバにメールサーバーもいっしょに乗せて、 そのメールサーバsendmailに対して、 mb_send_mail()関数を使って送信しています。 へっぽこプログラマなので、その辺りご理解ください。
948 :
nobodyさん :03/12/04 17:42 ID:jdpah4Vh
>946 調べてみます。 ありがとうございました。
1日500〜1000アクセスなら そこら辺の中古PCでも全然いけそうだ。
950 :
nobodyさん :03/12/04 19:01 ID:7bqdfjiy
くりすますおめ
952 :
nobodyさん :03/12/04 20:43 ID:PxB4skeb
初心者質問です。ごめんなさい。 背景色を選択→クッキー保存→次回選択した色で初期表示 とやりたくて $col = $_GET['col']; setcookie("MYCOL", $col, time()+86400*100); echo "<style type=\"text/css\">"; switch($col){ case "1": $bc = '000000'; break; case "2": $bc = 'ffffff'; break; default: $bc = 'cccccc'; break; } echo "body{background-color:#$bc}"; echo "</style>"; と書いたら、クッキーは保存されているようなのですが 色選択後の再訪問時にデフォルトの#ccccccで表示されてしまいます。 どこを直せばよいでしょうか?
>>952 その処理だと、$_GET['col']が未定義の場合cookieから値を取得しなくちゃいけないのでは?
質問です。
PHPで配列の切りつめはどうやればいいのでしょうか?
例えば要素数10個の配列があって、前3つだけ残したい場合。
array_splice()はそういう用途ではすさまじく使いにくい。
ループでarray_pop()したりunset()するよりはましだけど。
Perlなら簡単に出来るのですが……
Perlの場合:
my @array = (0, 1, 2, 3, 4, 5, 6, 7, 8, 9);
$#array = 3;
955 :
953 :03/12/04 21:21 ID:???
>>954 array_splice()よりはましですね。
だけど、もっとズバリなものはないのかなぁ……。
>946 うーんでも、ソースかなんかに 「適当な作りなんであんまりハードに使うな」 って書いてなかったけ(笑
957 :
nobodyさん :03/12/04 23:40 ID:4RZpBvLI
return ○○○;のすぐ後に exit;は要らない?
array_spliceもarray_chunkも一発でそのものずばりじゃん。 何を望んでるのだ?
959 :
958 :03/12/04 23:49 ID:???
ちなみに、どっちも関数の戻りのarrayを元の変数に上書きする
>>956 1日1000アクセスなんだからいいじゃん。
でもなんでWindowsサーバじゃないとダメなの?
手元に4.3.3のソースがあったのでパラっと見てみたけど、 そういうコメントは気付かなかったなぁ。popenのforkに気をつけれ、くらいかな。 アクセス数から考えるとPHP側もsendmail側も余裕っしょ。 sendmailが1万ユーザに耐えられるかどうか知らんけど。 sendmail@winの代理店ぽい所をみると1万ユーザで数百万円くらいか(w
962 :
nobodyさん :03/12/05 01:04 ID:W+9YW1p2
>>960 理由は不明です。
Linuxですすめてるんですが、要件にWindowsサーバと言ってきます。
たぶん、Windowsしか経験がないんだと思います。
逆に当方は、Windowsで
HTTP+SMTP+POPサーバをたてたことがないので、
どうしたものかと悩んでいます。
Windows+IIS+ASP+SQLServerにすると、
当方のリスクが増えるので、
Apache+PHP+MySQLの組み合わせは通そうとしているのですが、
メールサーバーをどう扱えば良いのかわからないので、困っています。
前にあった、PHPでメール送信の件は、
送信はできても、SMTP+POPメールサーバーが
必要なので、送受信できるサーバで、
PHPからメール送信できるものが必要なんです。
こういう場合、
WindowsServer+IIS+ASP+SQLServer の組み合わせで実装してるんでしょうか?
ちょっとスレ違いがあるかもしれませんが、お許しください。
963 :
nobodyさん :03/12/05 01:18 ID:W+9YW1p2
>961 Linuxでまとめるように話をすすめるのが、 一番良さそうな気がしています。 どうしたもんだろ・・・。
>>962 POP鯖(鯖って言うのか?)って何でいるの?
全会員にメールアドレスを与えるの?
965 :
nobodyさん :03/12/05 03:58 ID:wlPwhzW7
セッションを発行済みでいろんなページを行き来したあと、 とある1つのphpスクリプトに来たときに、 そのスクリプト内のみで、 セッションに関するあらゆるデータ(つまり、セッションID、セッション変数、セッションそのもの(session.destroy?))を削除し、 また、いちから、これらを作り出す(新しいセッションIDを発行して、それにひも付けされたセッション変数を入れ込んでいく)ことは 可能なのでしょうか? いろいろためしたのですが、 同じセッションIDのままだったり、 なぜかその後のページでまた別のセッションIDが発行されたりで、 実現できませんでした。 どなたか、教えていただければ幸いです。
966 :
953 :03/12/05 04:07 ID:???
>>958 だって全然美しくないんだもの。array_splice()が一番ましかな。
<?php
$vector = array('a', 'b', 'c', 'd', 'e', 'f', 'g');
$index = 3;
// array_spliceの場合(PHP 4から)
$vector_splice = $vector;
array_splice($vector_splice, $index);
// array_chunk()の場合(PHP 4.2.0から)
$vector_chunk = array_chunk($vector, $index);
$vector_chunk = $vector_chunk[0];
// unset()の場合
$vector_unset = $vector;
$length = count($vector_unset);
for ($i = $index; $i < $length; $i++) {
unset($vector_unset[$i]);
}
print_r($vector_splice);
print_r($vector_chunk);
print_r($vector_unset);
?>
967 :
nobodyさん :03/12/05 06:34 ID:4RN/hEy0
>>966 あんたはperl使ってた方が良いんじゃない?
969 :
nobodyさん :03/12/05 09:53 ID:W+9YW1p2
>964 管理人がメーラー使うからです。
970 :
953 :03/12/05 10:01 ID:???
>>968 PerlもPHPも、そしてC++もJavaも、それぞれ長所のある良い言語ですよ。
例の件だけど、納得のいく答えを考えました。
PHPで、配列の最終要素の添え字を簡単に取得・設定出来ない理由は、
Perlは配列と連想配列が別物だが、PHPでは同じように扱ってるからだろう。
ライブラリを眺めていると、単純な配列の切りつめはarray_splice()を使えという
雰囲気を感じるのでこれでいくことにします。
972 :
932 :03/12/05 10:58 ID:???
本気でシステム的なところが聞きたくて質問させてもらったんですが。 分かる人はいないんですね。
>>972 anonymous cvsからPHPのソースを取得して読んだら?
本気ならな。
975 :
953 :03/12/05 11:15 ID:???
>>962 できない仕事請けるなよ。
俺だったらwin鯖のネガティブな情報をこれでもかと客に浴びせてlinux鯖をごり押しする。
別にWinにだって標準のSMTP入ってるんだし気にする事も無いが わからないとかできないんだったら、事情を説明してlinuxとかにしたら
978 :
nobodyさん :03/12/05 12:14 ID:MqWqoWuk
>>962 なら
win2000Server(IIS5.0)+PHP+MySQLでいいんじゃん?
メール送信なんてその辺探せばいくらでもサンプルあるし。
たしかIIS5.0は送信だけならできたはずだが・・・。
(送るだけ&スパム対策しないとだけど)
<p id="name">ここに名前</p> が、 $tpl->assign("name", "太郎"); で <p>太郎</p> になるようなテンプレートライブラリはありますか?
981 :
nobodyさん :03/12/05 17:24 ID:W+9YW1p2
いろいろ考えることはありますが、
>>978 win2000Server(IIS5.0)+PHP+MySQLで、
最悪メル鯖は、別サーバたててもらうということにしようと思います。
LINUXで行きたいですが、
説き伏せるだけの「もの」がないので・・・。
色々助かりました。
982 :
nobodyさん :03/12/05 19:56 ID:CWGc80VL
>>981 Windowsじゃなければならない理由が不明なら、ちゃんと確認しといたほうが
いいんじゃないの?で、その理由がたわいも無いものなら「sendmail@winの
ライセンス料だけでプロジェクトの予算がふっ飛びます」とか言って
(本当かどうかは事前に調べとけよ)説得すれば良いと思うが。
顧客の変なこだわりや思い込みに付き合って、本質じゃないところで悩むのって馬鹿らしくないか?
>>980 おお、Smartyでできるんですね。{ } とか <% %> とか単純な対の文字列しか使えないと思ってました。
どういう風に設定すればいいですか。
ポインタだけでも教えてください。
985 :
nobodyさん :03/12/05 20:37 ID:U/LEnWp6
実行したPHPファイルのメモリー,CPU使用量を表示させたいのですが いい方法はないでしょうか? ちなみに cgiでしたら ps aux | grep cgi とすれば実行CGIファイルのメモリCPU使用量が出ますが phpの場合 ps aux |grep php としても何も表示されません PHPスクリプトを最適化したときに メモリ、CPU使用量がどれだけ変化したか数字として確認したいです
987 :
nobodyさん :03/12/05 21:13 ID:U/LEnWp6
>>986 どうもありがとうございます
こんな便利な関数があったのですね
助かりました
988 :
nobodyさん :03/12/05 21:20 ID:6J62flsP
おーい
はーい?
うめのきせつか
>>986 あれは雪だったのか。画像が化けてたのかと思ったよ。
992 :
nobodyさん :03/12/05 21:41 ID:y4EWtpBu
そろそろ次スレよろ。
記念カキコ v(^-^*)
994
995
ついにこのスレも終わりか
誰も次スレ立てないのはいらないってこと?
yes
次スレは要りません
絶対立てないで下さい
1001 :
1001 :
Over 1000 Thread このスレッドは1000を超えました。 もう書けないので、新しいスレッドを立ててくださいです。。。