【PHP】質問スレッド Part11

このエントリーをはてなブックマークに追加
1nobodyさん
PHP全般の質問スレです。
上級者用や雑談スレを立てたくなった場合は後から適宜立ててください。

■【PHP】初心者コーナー 4 Released
http://pc2.2ch.net/test/read.cgi/php/1062054002/へどうぞ

■本家
 http://www.php.net/

■日本 PHP ユーザ会
 http://www.php.gr.jp/

■PHP マニュアル
 http://www.php.net/manual/ja/

■PEAR マニュアル
 http://pear.php.net/manual/ja/

過去スレ, 関連スレ及び注意事項等は、 >>2-5ぐらい
2nobodyさん:03/11/01 06:27 ID:???
3nobodyさん:03/11/01 06:27 ID:???
関連スレ

■ PHP + MySQL
 http://pc2.2ch.net/test/read.cgi/php/983250751/

■ PHP + PostgreSQL
 http://pc2.2ch.net/test/read.cgi/php/983128806/

  ☆  P  H  P  5  ☆  
http://pc2.2ch.net/test/read.cgi/php/1056969979/

Pear
http://pc2.2ch.net/test/read.cgi/php/985665522/

【PHP】Smarty【Template】
http://pc2.2ch.net/test/read.cgi/php/1047225437/

■PHP関連の書籍(但しPHP出版系お断り)
http://pc2.2ch.net/test/read.cgi/php/985315574/

■ PHP アップグレード報告スレッド
 http://pc2.2ch.net/test/read.cgi/php/987259309/
4nobodyさん:03/11/01 12:44 ID:???
多次元配列の$hogeをファイルに保存したいのですが、うまくできません。
fwriteでそのまま書き込むと、Arrayのみになってしまいます。
5nobodyさん:03/11/01 14:07 ID:???
>>4
$s = serialize($hoge);
fwrite($fp, $s);

ファイルから読込むときは unserialize()
6nobodyさん:03/11/01 14:20 ID:???
>>1
乙!
74:03/11/01 15:23 ID:???
>>5
ありがとうございます!! 早速試してみます。
8nobodyさん:03/11/01 15:47 ID:???
>>1
9nobodyさん:03/11/01 23:31 ID:???
次のようなコードを実行してもうまく出力できないのです
どこに原因があると考えられますか?

<html>
 <form>
 あなたの名前をここに入力して下さい:<br>
  <input type="text" name="username"><br><br>
  <input type="submit" value="データを送る">
 </form><br><br>

あなたは次のように入力しました:
<?php
 echo($username);
?>

</html>

よろしくお願いします
10nobodyさん:03/11/02 00:03 ID:???
>>9
激しくFAQ
<?
phpinfo();
?>
でregister_globalsの値を確認しる
11nobodyさん:03/11/02 00:03 ID:???
>>9
echo $_GET("username");
ではどう?

つか、質問するなら環境、バージョン、「何が」「どう」うまく出力できないか、くらい書けよ!!
12nobodyさん:03/11/02 00:31 ID:???
>>11
をいをい。威張るなって。

>echo $_GET("username");

ってなんだ?

echo $_GET['username'];

なら、まだわかるけど、それでも、結局混乱させてるだけ。

まず、>>9は、>>10が言うように、
PHPのregister_globals
という言葉を知って、googleあたりでちゃんと調べること。

それとは別に、HTMLのForm要素の書き方の勉強を通じて、
POST/GET methodの意味も押さえること。
13nobodyさん:03/11/02 01:25 ID:MVus2Ek9
PHPのextensionとして他のアプリケーションへのラッパを作りたいと
思うのですが何かよい手本や解説はないでしょうか?
149:03/11/02 01:26 ID:???
>>10-12
レスサンクスです
register_globalsはoffでした
ver.4.3.3なのでデフォでオフになってるそうでお騒がせしました

軽く調べたところでは,onにするよりもスクリプトの記述を工夫した方が良いようなので
取りあえずoffにしたままやっていこうと思いましたが

>12の
>echo $_GET['username'];
っていうのはよくないんですか?何か混乱させててまずいんですかね?
15nobodyさん:03/11/02 01:45 ID:???
Web作成板のJavaスクリプトスレッドから誘導されてきました。

2003年12月31日まで後●●日
という●●の数字をGIF画像にするスクリプト教えてもらえないでしょうか?(配布しているサイトでも結構です)
16nobodyさん:03/11/02 02:26 ID:???
11です。

>>14

提示されたソース例のように、method属性が書かれないなら
初期値がgetなんで、
$_GET['変数名']
で取得できます。

ただし、必須属性のactionの記述がないソースについて、
(省略可能な)method属性が記述されていないからと言って、
データの受け渡しがGETであるのを自明として話が進むことに、
若干の疑問があったということなのです。

混乱させてすまそ。
179:03/11/02 03:20 ID:???
>>16
つまり,method属性が特別記述されていない場合はデフォルトのGETを指定して
記述されている場合はそれを指定してやれば問題ないわけですね

勉強になりましたありがとうございました
18nobodyさん:03/11/02 05:32 ID:ljiT0fis
includeするファイルを文字コード変換したいんですが、どうすればいいですか?
19nobodyさん:03/11/02 05:45 ID:???
はぁ…ここやっぱ完全に初心者スレだわ。
20nobodyさん:03/11/02 06:11 ID:???
>18
なんのために変換するのか知らないけどmb_convert_encoding();。
ttp://ns1.php.gr.jp/pipermail/php-users/2003-March/014605.htmlのような状況なら
mbstring関連の設定でこなす。
phpでやるなら普通に読んでからコンバートしてeval();つーのもアリかな。

質問する前にマニュアルを読んで呉よ。
21nobodyさん:03/11/02 06:29 ID:???
>>19
それと、あんたもわからないときは発言を控えた方がいいよ
22nobodyさん:03/11/02 07:04 ID:???
>>19
初心者とそれ以外で分けても使いこなせない
今までの状況を踏まえて質問スレが統一されてるわけじゃん。
今更グチ言ったって始まらないよ。
23nobodyさん:03/11/02 10:27 ID:V1BNcMbB
http://anony.net/abc/
という実際には存在しないabcというディレクトリにアクセスすると
http://anony.net/index.php?id=abc
にリダイレクトされるようにしたいのですが、
どーしたらいいんでしょう?
24nobodyさん:03/11/02 10:30 ID:???
phpと無関係。
次の方いってみましょう。
25nobodyさん:03/11/02 11:44 ID:???
>>23
自鯖板のapacheスレで訊くといいよ。
たぶん「ドキュメント嫁」って言われるけど。
26nobodyさん: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とも同じファイル内に書きました。
27nobodyさん:03/11/02 14:16 ID:???
>26
phpスクリプトにリンクすれば呼び出される。
スクリプトに値を渡して、その値ごとに処理を分ければいい。
28nobodyさん:03/11/02 14:19 ID:???
ウホッ
phpスクリプトにリンクすれば(クリックで)呼び出される。
29nobodyさん: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>
みたいにしないとダメですか?

30nobodyさん:03/11/02 14:44 ID:???
><a href="index.php?show_b">
そりゃムリかと。
送るのを分岐判断用の値にして、スクリプト側で分岐させれ。
それと、>>26そのまま書いてるわけじゃないよな?
31nobodyさん:03/11/02 14:55 ID:???
>>24 >>25 の言わんとすることもわかるが、
とりあえず
>>23
に次のような質問をしておきたい。


a.Webサーバの404(存在せず)エラーに関しての知識がある?
それがあるなら、b.に。

b.Webサーバの404エラー表示用ドキュメントをPHPにして、
その中でエラーを判定して、更にリダイレクトで自分が望んでいるURI
に飛ばせ。

b.をPHPでやりたいなら、a.をクリアした上で、ここで再質問。
そうではなくて、apacheだけで制御できる見通しがあるなら
板違い


----
なお、俺は、>>23がしたいことをapache側だけで制御出来る知識がない。
a.=>b.でやると思う。




3227: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

一冊本を買うか、簡単な入門ページを読めば十分なレベルで、
本来自分で調べなければいけないはず。
3327:03/11/02 15:03 ID:???
「b.」には、存在しなかったがリクエストされたフォルダ名abcを、404.phpに渡すスキルがあるかという判定が抜けてると思う。
34nobodyさん:03/11/02 15:16 ID:???
$_SERVER['PHP_SELF'] って、取得できないことってありますか?
35nobodyさん:03/11/02 15:18 ID:wqdh83P1
>>32さん
ありがとうございます!!!&ごめんなさい。
>>30さんに教わってif文を書いてみたんですが、
動かずに困ってた所でした。。本買います。
ありがとうございました。・゚・(ノД`)・゚・。
36nobodyさん:03/11/02 15:22 ID:???
>35ガンバレ

>34
ttp://jp.php.net/reserved.variables#reserved.variables.server
鯖経由じゃないと駄目だって。
37nobodyさん:03/11/02 15:25 ID:???
404.phpに渡すスキルでわなくて、404.phpにやってくる前にリクエストされたURI
を、404.php内で知るスキルじゃなくて?
いずれにせよ、それを言うなら「板違い判定リスト」の中に、必要なPHPスキルを
羅列しなければならなくなり、結局は、代わりに書いてあげる、ということに
なるのではないだろうか(w
3834:03/11/02 15:26 ID:???
>>36
アリガdございます。てことはウェブ用のスクリプト(掲示板とか)なら問題なさそうですね。
39nobodyさん:03/11/02 15:32 ID:???
>37
板違い判定リスト(?)というのが仮にあるとして、そこに否定条件として
あげられるのは、必要なphpスキルではなく、phpスキルでは無いもの。
また、スキル・実装・コーディングはそれぞれ別のもの。前2行意味不明。
40nobodyさん:03/11/02 15:44 ID:???
今作ってる日記スクリプト(完全に個人用)にPukiWikiのテキスト整形エンジンを
組み込みたいのですが、具体的にはどうすればいいでしょうか?
41nobodyさん:03/11/02 16:40 ID:???
>>40
地道に頑張るしかないんじゃないでしょうか?
42nobodyさん:03/11/02 16:46 ID:???
>>31
mod_rewrite
43nobodyさん:03/11/02 17:27 ID:8iNksTmP
Perlは経験あるものの、phpはこれからといったかんじです。

で、質問です。
みなさんは、phpがinclude_onceとかするときの外部ファイルは、
どこにどんな拡張子で置いてますか?

僕が想像するに、
ドキュメントルートより上(もしくはhtdocsと同じならび)に「include」とかディレクトリ作って、そこに「*.inc」みたいにファイルを置くのが、一番なんでしょうか?

いちお、perlやってるときは、(jcode.plとかの見られてもいいファイル以外は、)そうしていたのですが・・・
44nobodyさん: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();
としたのですが、まだスッキリしません
もう少しかっこよく処理するにはどういう手がありますか?
45nobodyさん:03/11/02 22:57 ID:MVus2Ek9
PHPのextensionとして他のアプリケーションへのラッパを作りたいと
思うのですが何かよい手本や解説はないでしょうか?
46nobodyさん:03/11/03 00:36 ID:???
>>44
$_REQUESTじゃダメか?

if(!isset($_REQUEST['hoge'])) error...
47nobodyさん:03/11/03 00:45 ID:/ixeLK6a
PHPに渡すURLの引数について質問です。
普通、GETメソッドの場合って

hoge.php?a=1&b=2

みたいに渡すと思うのですが、2ちゃんのスレッド表示用CGIに渡している
引数って ? とか & とか使ってないようなのです。こういう方法ってどうやって
処理しているのでしょうか?

例↓どうやらスラッシュ区切りでパラメータを渡している?
http://news5.2ch.net/test/read.cgi/newsplus/1067772832/

phpで同じようにスラッシュ区切りで引数を渡したい場合どうすればいいの?

48nobodyさん:03/11/03 00:47 ID:???
どーもせんでよろしい。
49nobodyさん:03/11/03 00:48 ID:???
wikiでfaq作る必要があるか。
50nobodyさん:03/11/03 00:53 ID:???
>>47
PATH_INFO
5147:03/11/03 00:53 ID:???
>>48
どーもせんでよろしいという場合だと、
スレッドの数分ディレクトリを作って、おのおの、index.phpみたいなファイルを
入れておいて(シンボリックリンク?)アクセス時のURLをパースして、値を取得
するとか、なんか、そんなローテクなことでやっているということでしょうか?

それとも、他に方法があるの?
5247:03/11/03 00:55 ID:???
>>50
PATH_INFOをみるのはなんとなく分かるのですが、
>>51 に書いたように、スレッドの数分ディレクトリを掘って、
中にindex.phpみたいなファイルを入れるのでしょうか?
5348:03/11/03 00:57 ID:???
あえて言うならスレ読んで死ねカス
5447:03/11/03 01:06 ID:???
>>48
すいません。すぐ上で同じような質問があったんですね。
mod_rewriteが使えそうです。
55nobodyさん:03/11/03 01:08 ID:???
>>52
スレの数だけディレクトリ作らんでもいいやろ。
どうやってデータ保存してるか知らんが。
http://pc2.2ch.net/test/read.cgi?bbs=php&key=1067635640
56nobodyさん: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日以前のデータだけ削除させられる方法教えて下さいまし。
57nobodyさん:03/11/03 01:22 ID:73zsQG70
phpだけど。テキストファイルのように見せるための
MIMEタイプって application/text ですよね
それを設定するのは mime_content_type という関数?
5857:03/11/03 01:26 ID:73zsQG70
あっはっは何言ってんだろねオレって
59nobodyさん:03/11/03 01:51 ID:8rePSY7H
(*`▽´*)あっはっは
6057:03/11/03 02:07 ID:???
ところで、
Header("Content-type: text/plain");
を指定してテキストにしているのですが
なぜかIEで見ると ダウンロード になってしまいます

当方としてはテキストとしてそのままブラウザでみたいのですが
何か足りないヘッダとかあるんですかね?
サーバ側は PHP4.1.2 Apache1.3.26
クライアント側は IE6.0 なんですけどね
61nobodyさん:03/11/03 03:57 ID:???
IEはtext/html以外は拡張子見るからなあ・・・
6257:03/11/03 05:56 ID:???
>>61
\な、なんだってー/
    Ω  Ω Ω
63nobodyさん: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出来るのでしょうか?
64nobodyさん:03/11/03 08:04 ID:???
>63
マニュアルにあると思うが、sortの第二引数にsort_numericて指定できなかったっけか。
6563:03/11/03 09:15 ID:???
>>64
ありがとうございます。解決しました
66nobodyさん:03/11/03 12:32 ID:???
phpでperlのモジュール使えますか?
67nobodyさん:03/11/03 13:36 ID:???
>>66
うん
6866:03/11/03 13:42 ID:???
ありがとう。
これで、心おきなくphpの勉強ができるよ。
69nobodyさん:03/11/03 18:20 ID:???
>66
67は問いに対する解としては正解でもあるが、
多分66の考えてるように使えることを指してる訳ではないよ。
「Perlと同様に、PHPの中でPerlのモジュールが」なら「使えない」
#同様というのも準拠といっしょで曖昧さを残した言葉だけど
70nobodyさん:03/11/03 18:26 ID:/qbkXFiI
>>69
66の中の人じゃないと分からん罠。
71nobodyさん:03/11/04 00:24 ID:6s03l7EN
メール送信スクリプトを作っているのですが、
Fatal error: Call to undefined function: mb_encode_mimeheader()
となってしまい
、出来ませんでした。
PHPのバージョンは4.2.2です。なぜでしょうか?
7271: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'
となっているようです。
73nobodyさん:03/11/04 01:03 ID:???
>>71
configureでオプション指定しても有効になっているとは限らん罠。

SHIMOOKAさんのウェブページの
ttp://www.pat.hi-ho.ne.jp/dimension/sample/sample_others_funclist.shtml

を実行してみてmb_encode_mimeheaderが有効になっているか
確認して見れ。
74nobodyさん :03/11/04 01:04 ID:???
>メール送信スクリプトを作っているのですが、
>Fatal error: Call to undefined function: mb_encode_mimeheader()
>となってしまい
>、出来ませんでした。
>PHPのバージョンは4.2.2です。なぜでしょうか?

71のメール送信スクリプトはこう書いたそうです
echo "Fatal error: Call to undefined function: mb_encode_mimeheader()";
75nobodyさん:03/11/04 01:11 ID:???
>68
大事を取ってPythonにしとけ。
76nobodyさん:03/11/04 01:51 ID:???
レン鯖等で、4.1.0より古いPHPしか使えない場合って頻繁にありますか?
7771:03/11/04 01:59 ID:???
>>73
max
md5
と見事に飛んでいます(´・ω・`)
どうやったら有効に出来るのでしょうか?
7823:03/11/04 02:42 ID:kDSz6pO0
XREAなのでmod_rewriteつかえそうです
ありがとうございました。
791/2:03/11/04 03:20 ID:5V0kFouY
ファイルのアップロードの仕方がわかりません。画像ファイルをアップロードしてそのファイル名を取得したいのですが
できません。
本も青・赤マンモス読みましたし、いろんなHPをまわってサンプルを手に入れたのですがサンプルすら動きません
一応他のPHPプログラムは動いているので環境のほうは整っているはずなのですが
OS:WIN2000 PHPDEV4で動かしています
以下のサンプルを手に入れたのでファイル名をfile_upload.phpとして保存し、gifファイルを指定してアップロードボタンをクリックしましたが
ファイル名もなにも表示されません、どうかご教授ください

802/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); // 一時ファイルの削除
}
?>
81nobodyさん:03/11/04 03:34 ID:???
サンプル古すぎ。http://jp.php.net/features.file-upload
82nobodyさん:03/11/04 03:42 ID:???
>>76
ないっすね。
83nobodyさん:03/11/04 03:46 ID:???
マニュアルを読もう。
84nobodyさん:03/11/04 04:06 ID:???
携帯用phpうpろだ掲示板に→ http://php.s3.to/php/mailbbs.php
Ezwebでのダウンロードに必要なCRC(ダウンロードCGI)を追加して
DHMLを出力したいのですが、知識が乏しいのでphpの書き換える部分いまいちが分かりません。
問題の部分はこちらです↓
<a task="go" dest="'.$tmpdir.rawurlencode($att).'">'.$ext.'</a>
これを↑下記↓のようなDHMLに出力できますでしょうか?
<A TASK="GOSUB" DEST="ez.cgi?f=***.jpg">ダウンロード</A>

諸先輩方、どうかご教授お願い致しします。もう2日程寝ないで頑張ってるにもかかわらず進歩がないので此処に質問させていただきました。
関連リンクも貼っておきます。よろしくお願いいたします。m(_ _)m

PHP配布元:http://php.s3.to/bbs/bbs7.php
download用スクリプト:http://www.kt.rim.or.jp/~marca/ezget/index.html

85nobodyさん:03/11/04 05:33 ID:???
'<a task="GOSUB" dest="ez.cgi?f=' .$tmpdir.rawurlencode($att). '.jpg"> ダウソ </a>'

勝手に .jpg にする処理もどうかと思うが、それより質問するスレ間違ってること無いか。
8684 ◆1zjIEZU5Ks :03/11/04 07:03 ID:???
>>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ファイル)

このような質問は何処ですればいいでしょうか?
87nobodyさん:03/11/04 07:08 ID:???
>>76
安鯖はよくある
8873:03/11/04 07:13 ID:+618ENQK
>>71
レンタルサーバなら、
1.管理者へお願いする
2.サーバを乗り換える
自分で建てたサーバなら、
3.configureした時のログを見て原因を追及する
だな。とりあえず。
89nobodyさん:03/11/04 07:33 ID:???
'<a task="GOSUB" dest="ez.cgi?f=' .rawurlencode($att). '"> ダウソ </a>'

> 掲示板にうpされたdataが格納されるDIRですので.jpgというのは仮です。

申し訳ないが意味が分からない('.jpg'が例だったのは了解したが)。
配布サイトの説明を見る限り、upfile格納フォルダは $datadir で設定し、ez.cig?f= には
指定しないことになってるようだが。

板はあってる。適当なスレを自分で見つけて移動してくれ。
90nobodyさん:03/11/04 07:43 ID:???
http://pc2.2ch.net/test/read.cgi/php/1054216089/245-

つーか似たような話が出てた。
php側の $tmpdir でファイルを格納するフォルダを指定するなら perlの $datdir を空にする。
$datdir で指定するなら $tmpdir を削る必要があるということのようだ。
91nobodyさん:03/11/04 09:50 ID:???
ディレクトリにあるファイルのサイズの合計を得る関数とかありますか?
92nobodyさん:03/11/04 11:20 ID:???
あるかどうか知らんが、非常にためになるので
自作する事をお勧めする
9373:03/11/04 12:03 ID:YWrYXVhJ
>>71
実は真面目に見ていなかったのだが、configureオプションとして
--enable-mbstring
--enable-mbstr-enc-trans
--enable-mbregex
なんかを追加せんとだめでしょうな(後ろの2行はおまけ)
94nobodyさん:03/11/04 12:23 ID:???
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の値が表示されるわけですが
これはこのような仕様なのでしょうか。
表示だけの問題なのでかまわないのですが、ちと気持ち悪いです。
95nobodyさん:03/11/04 12:50 ID:???
>>94
http://jp.php.net/manual/ja/function.setcookie.php
>陥りやすい失敗:
>クッキーはクッキーを有効にするために次にページをロードするまで
>アクセスすることができません。
9694:03/11/04 13:11 ID:???
>>95
納得しますた。

97nobodyさん:03/11/04 14:25 ID:???
>>94
花や葉っぱと根の間?
とか言ってみたりしてな




うはwwwwwwwwwwwww笑いの神が俺に降りたようだwwwwwwwwwwwwww
98nobodyさん:03/11/04 15:51 ID:???
ラg
99nobodyさん:03/11/04 16:14 ID:???
>>97-98
ワラタ
100nobodyさん:03/11/04 17:31 ID:ECyuE+2E
foo, 2
bar, 4
hoge, 98

のように値がコンマ(ほかの区切り文字でもいい)で区切られたリストがあるファイルから
$list['foo']=2
$list['bar']=4
$list['hoge']=98
というふうに連想配列に値を格納したいのですがどうしたらいいですか?
教えてください
101nobodyさん:03/11/04 17:58 ID:???
file()で配列に取り込むか、getsでまわして
各行をsplit , でばらし、$list[array[0]] = (int)array[1];
とかやればいいかと思う
102nobodyさん:03/11/04 18:03 ID:???
>>101
(o_ _)ノ彡☆バンバン ギャハハハ
103nobodyさん:03/11/04 18:13 ID:???
" を含む文字列変数を serialize() すると unserialize() できない結果が返されるのって仕様?

単体だったら \" とかに quote してやればいいんだろうけど。
そういう文字列を持つオブジェクトを serialize したい時、中身をいちいち調べて quote するのは邪道っぽい気がするし。
いちいち __sleep() とか書くの面倒くせーし(w、wddx_serialize は configure option 付けないと使えないし。

なんか楽な方法はないですかね?
104nobodyさん:03/11/04 18:37 ID:???
$name
$mail
$comment

と変数を使うのと

$data['name']
$data['mail']
$data['comment']

と連想配列にするのでは、サーバへの負担や処理速度に差は出ますか?
10571:03/11/04 19:33 ID:???
>>73
自分で立てた鯖です。
インストールしなおすしか方法は無いのでしょうか?
10673:03/11/04 19:37 ID:???
>>105
じゃとりあえず>>93のオプション付けて再インストールしてみ。

107nobodyさん:03/11/04 19:44 ID:fS4BwSG7
>>104
どういう処理をしたいのか良くわからんのでなんとも胃炎。
自分で試して結果報告よろしく。
処理時間を測るにはPEARのBenchmarkパッケージを使うのが簡単ですよ。
108nobodyさん:03/11/04 20:06 ID:sbLIjjuI
>>107
まぁそんな深い意味はないんだろうが少しでも
レスポンスを早くしたいってとこだろ

処理効率以外で考えたらオレなら連想配列で作るな
109nobodyさん:03/11/04 20:08 ID:1+3Oq+pN
require_once で読み込むファイルが変更された場合、再度読み込ませるには
どうすれば良いのでしょうか? 更新されていたら勝手に読み直してくれる?
110nobodyさん:03/11/04 20:33 ID:???
>109
スクリプトの読み出し毎にZendエンジンで新規にコンパイルされるから、
APCとか噛ませて、それをキャッシュしてなければ更新内容に追従する筈だけど。
require_once"してる"方のスクリプトがキャッシュされてしまうとかは別にして。
111109:03/11/04 20:42 ID:???
ありがとございます。
関係ないかもしれないけど、httpdの再起動が要るのかとか考えてました。
11271: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のこともよくわからないのでどうすればよいのやら・・っていう状態です。

というか・・
エンコードしなくてもメールが送れるようなので必要ないのでしょうか?
エンコードしないで送ると不具合とかありますかね?
11371:03/11/04 21:02 ID:???
てか
checking host system type... i686-pc-linux-gnu
って・・・
i386のハズなんだけどな(´・ω・`)
114nobodyさん:03/11/04 22:34 ID:???
safe_mode制限下でも動作するtelnet.cgiや似非シェル機能を持ったファイルマネジャー系のスクリプトはないでしょうか
探し回ったんですがPHPShellくらいしか見つからないし、これはsafe_mode環境下では使えなかった
11573: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の細かいところまでは分からん。
116628:03/11/04 23:54 ID:???
>>73
gccとflexを入れて
make install
までエラー無しで出来たのですが、PHPを開いても
<?
phpinfo();
?>
のようにソースがそのまま表示されてしまいます。

#いまp2で書き込もうとしたら動かなかった・・
117nobodyさん:03/11/05 00:08 ID:???
>>116
そりゃWebサーバの設定やな。
OSごと、Webサーバごとに説明が載ってるから、PHPのマニュアルみんしゃい。
つーか君頭悪すぎ。本7並だな
118nobodyさん:03/11/05 00:09 ID:???
>>116
httpd.confをきちんと設定してるか?
11973:03/11/05 00:13 ID:???
>>71
まず、環境(httpdに何を使っているの?とか)を明らかにしてくれ。
また、前の環境をどうやって構築したのかも。

恐らくRPMでインストールしたPHPをソースからコンパイルしたPHPで
置き換えようとしたので、デフォルトのパスが異なっているのが原因の
ように思えるが、環境がわからんのでこれ以上は分からん。
12071:03/11/05 00:46 ID:???
OSはREDHAT9です。
httpdはapache2.0.40です。

>>73さんの言うとおり、RPMでインストールしたものを置き換えました。
121nobodyさん: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という文字列が含まれているかそうでないかを評価したいのですが、
どうか先人の皆様お知恵をお貸しください。
122nobodyさん:03/11/05 05:18 ID:???
文字列の部分一致はperg_matchやstrstrを使う。$php_selfは現在使われておりません。
とにかくマニュアル読もうぜ。
123121:03/11/05 05:18 ID:REi/aH8F
解決しました preg_match を利用しました。
どうもありがとうございました。
124nobodyさん:03/11/05 05:19 ID:???
訂正したほうがいいのかどうかわからんが perg -> preg
12573:03/11/05 07:59 ID:???
>>71
原因はhttpd.confの設定ミスか、PHPをconfigureするときにApacheの
パスを間違えたんじゃないかな。

横道にそれるが、RPMを使うなら再コンパイルはSRPMを使わなきゃ。
ソースからコンパイルするならApacheもソースから入れて標準的な
ディレクトリ構成にしといたほうが後々楽だよ(私見)。

次にApache 2.0はまだ実運用環境での使用は推奨されていないよ。
ttp://www.php.net/manual/ja/install.apache2.php

よってApache 1.3.28をソースから入れなおして、PHPもApacheに合わせて
再インストールするのが簡単だと思う。
#そのときはPHPのconfigureオプションのApacheのパスも変更すること。

インストールの方法はマニュアルを読んだほうが早いな。
ttp://www.php.net/manual/ja/install.apache.php
#この例ではApache導入時にApacheのprefixを変更しているが、
#初心者はいじらんほうが良いよ。
126nobodyさん:03/11/05 11:28 ID:???
foreachでfile関数を回しています。1つのリクエストが終わるまで
次のリクエストに進まないみたいで、えらく時間がかかって困っています。
複数のリクエストを一気に出して一気に受信する方法って無いでしょうか。
127nobodyさん:03/11/05 12:20 ID:L9twVHuZ
>>126
もうちょっと状況がわかるように説明せんと誰も答えられないよ。
スクリプトを示すとかな。

128126:03/11/05 12:26 ID:???
こんな感じです。
$hoge = array(url1,url2,url3,url4...);
foreach ($hoge as $tmp) {
print_r(file($tmp));
}
たとえばurl2が刺さってしまうと、次に進まないんです。
並列して取得ってできないでしょうか?
129nobodyさん:03/11/05 12:47 ID:???
>>126
foreachの中の処理をurlを引数とするPHPのCLI scriptにして、
exec関数でバックグラウンドで実行するなんてのはいかが?

130126:03/11/05 12:59 ID:???
>>129
おおうっ、なるほど。試してみます。ありがとうございました。
131nobodyさん: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);

132nobodyさん:03/11/05 22:49 ID:???
ファイルを読み込んでそのまま出力するにはどうすれば良いのでしょうか。
Perlのノリで
$FH = fopen('$file', 'r');
echo($FH);
とやっても駄目だったので少し困ってます。
133nobodyさん:03/11/05 23:24 ID:???
>>132
readfile関数がある。
134nobodyさん:03/11/05 23:54 ID:???
>>132
ちっとはマニュアル嫁よ。
サンプルも載ってるから。

ttp://www.php.net/manual/ja/function.file-get-contents.php
135nobodyさん:03/11/06 02:23 ID:YynnB8fI
phpでファイルを添付できる掲示板を作ってるんですが、
アップされたファイルの拡張子のみを取り出す事って出来ますか?
basename()かと思ったんですが、ファイル名が取得出来るだけですよね…
拡張子の部分のみを取得する関数等はないのでしょうか??
ドットは含んでも含まなくても良いんですが…
136nobodyさん:03/11/06 03:04 ID:???
PEARあたりに転がってそうなきもするけどな。

if(ereg("\.([^\.]+)$",$filename,$regs)){
echo "拡張子:{$regs[1]}\n";
}else{
echo "拡張子がねぇぞ( ゚Д゚)ゴルァ\n";
}
137135:03/11/06 05:11 ID:YynnB8fI
136さんありがとー!
出来たよーうれしいーマジありがとね!
138nobodyさん:03/11/06 12:09 ID:???
>137
いいから死んで来い。
139nobodyさん:03/11/06 12:17 ID:???
つーか、このくらいのロジックが自分で作れない奴は何やってもダメだろ
140nobodyさん:03/11/06 12:24 ID:???
最近のphpユーザの標準関数に対する理解は、これまでのユーザのそれとまったく別のもになっていると感じる。
141nobodyさん:03/11/06 13:00 ID:???
これが会社の新人研修だったら半日説教コースだな
142nobodyさん:03/11/06 13:41 ID:???
$fileinfo = pathinfo ($filepath);
print "拡張子: ".$fileinfo["extention"]."\n";

>>140
標準関数、結構かゆいところに手が届いてていい感じ。
143nobodyさん:03/11/06 16:47 ID:???
htmlファイルでPHPを実行するには?

AddType application/x-httpd-php .php .html
上記のような設定でhtmlをつけてるのですが
phpファイルとして実行されないです。

他に何が足りないのでしょう?
144nobodyさん: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";
  }

}

どのように回避したらいいでしょうか。。
145nobodyさん:03/11/06 16:56 ID:???
146143:03/11/06 17:32 ID:AlFYbimU
>>145
CGIで動かさないとhtmlでは実行できない?
Apacheのモジュール組み込みでは動かないとか?
147145:03/11/06 17:42 ID:???
手動でftpコマンド叩いてみたら、同じようにエラーがデマした
php以前の問題でした
失礼します
148147=144:03/11/06 17:42 ID:???
間違えた。。
149nobodyさん:03/11/06 17:55 ID:???
AddType application/x-httpd-php .php .html

この設定で.html拡張子のドキュメントに<?php 〜 ?>を埋め込んで余裕で処理出来てますが何か?
apachectl restartやった?
150nobodyさん:03/11/06 19:10 ID:gYq7oMRF
mb_strposの関数について質問です。
mb_strposの引数の中の検索オフセットを変えても変化がありません。
設定ミスでしょうか?
151nobodyさん:03/11/06 20:49 ID:jlUctnWj
メールの送信について質問です。
Content-Type:image/jpeg としてファイルを送っても
添付ファイルとして認識されてしまいます。
設定ミスでしょうか?
152nobodyさん:03/11/06 20:54 ID:???
>143
拡張子phpの方は考えてる通りに動いてるんだったら、
設定ファイル(httpd.conf自身とかディレクトリ下の.htaccess)で
拡張子htmlに関するAddTypeを上書きしちゃってるんでない?
153nobodyさん:03/11/06 22:23 ID:gYq7oMRF
ガ━(゚Д゚;)━ ン !!!
154nobodyさん:03/11/06 23:31 ID:???
155nobodyさん:03/11/06 23:56 ID:???
>>151
添付ファイルになるならいーじゃん。何か問題でも?
156143: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は成功しました。
157143: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の再起動



158143:03/11/07 09:30 ID:cqIw/Aec
あらたな問題発生です。
AddTypeのhtml
AddType text/html .html
これをコメントアウトしたらSSIが機能しなくなりました。ガーン

同居できますか?PHPとSSI
159151:03/11/07 10:24 ID:AN8bbPHy
>>155
htmlメールで送ったときに画像の横に文字を入れたり
サイズを指定できればいいかなーと思いまして^^;
160nobodyさん:03/11/07 12:21 ID:???
>>158
同居って、、、サーバはphpなのかSSIなのか
どうやって判断するのだ?
161nobodyさん:03/11/07 12:38 ID:???
フォームから渡された文字列データが
・全角文字のみで構成されているかどうか
・半角カナのみで構成されているかどうか
を判別するにはどうすりゃいいんでしょ。

なんかヒントでもいいので教えてエロい人

あ。ちなみにPHPは4.3でス。よろしう。
162nobodyさん:03/11/07 14:56 ID:???
>>161
$tmp = "日本語EUC";
$w_byte = "半角含む";
if (! preg_match('/[\\x20-\\x7f]/',$tmp)) {
$w_byte = "全角";
}
echo $w_byte;
163nobodyさん:03/11/07 15:13 ID:???
半角カナはそうはいかない
164nobodyさん:03/11/07 15:54 ID:???
半角カナのみ
/^[\xA0-\xDF]$/
165nobodyさん:03/11/07 16:28 ID:???
>>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の違いがわかっていれば簡単
漢字コード勉強しる
166nobodyさん:03/11/07 17:54 ID:???
HTMLから文字列を探して、見つかったら<b>タグで囲みたいんですが、
preg_replace ( $_POST["hoge"], "<b>$_POST['hoge']</b>", $html ) ;
これだとエラーが表示されてしまいます。どうすればいいでしょうか。
167nobodyさん:03/11/07 18:03 ID:???
>>166
XSSの標的だな。
168nobodyさん:03/11/07 18:18 ID:???
>>166
それ、検索結果表示みたいな場面で使うの?
169nobodyさん:03/11/07 18:54 ID:???
>>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。
170nobodyさん:03/11/07 18:58 ID:???
171nobodyさん:03/11/07 18:59 ID:???
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]を配列に順次入れたいんですが、
どうすればいいんでしょうか?

172nobodyさん:03/11/07 20:53 ID:???
for ($i = 0; $i < 10; $i++)
{
  $arr[] = $i;
}

http://jp.php.net/array_push
173nobodyさん:03/11/07 21:06 ID:???
>>167
そうかえ?
174nobodyさん:03/11/07 21:39 ID:???
>>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
175nobodyさん: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をつけなければいけないのだろうか・・
176nobodyさん:03/11/07 23:13 ID:0ZmpNMJG
■■■ お勧めレンタルサーバー ■■■

★あなたのHPのアドレス長くて憶えられません!

【独自ドメインでホームページを作るならここ!】

A:無難なサーバー。 お勧め!!  
 http://www.webspeed.ne.jp/  
 http://www.wadax.ne.jp/
 http://www.ktplan.ne.jp/
 http://www.wakwak.net/
 http://www.cpi.ad.jp/  
 http://solid.ad.jp/  

B:ある程度の障害は大目に。  
 http://www.binboserver.com/
 http://s55.net/
 http://www.j-navi.com/
 http://domainya.net/
 http://www.j-speed.net/main/
 http://www.cyberjellyfish.com/
177nobodyさん:03/11/07 23:48 ID:???
今まで動いていたスクリプトが
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]; // 表示テスト
↑表示が?????????????????となる
178nobodyさん:03/11/07 23:56 ID:???
>>177
configure確認汁
179nobodyさん:03/11/08 00:01 ID:???
>>177
>>PHPのバージョンは4.3.5です
バージョンからしてパチものっぽい。4.3.4でも同じか?

どうでもいいが、configureのオプション一覧がドキュメントから消えて
毎回--helpみろってなったね。
なんでコロコロ変わるんだろうな?GDで日本語使うのにさんざん悩んだよ。
180nobodyさん:03/11/08 00:05 ID:???
いつversion4.3.5なんて出たの?
181177:03/11/08 00:47 ID:???
4.3.4をインストールし直したら直っタ━━━━(゚∀゚)━━━━!!
4.3.5は偽者だったのか_| ̄|○

178-180さんほんとにありがとうございました( ´Д`)人
182nobodyさん:03/11/08 00:51 ID:???
>>181
その4.3.5の入手先を教えて!
183nobodyさん:03/11/08 00:57 ID:???
184nobodyさん:03/11/08 01:32 ID:???
4.3.4インストールしたのに、apacheのコンソール画面には PHP/4.3.3って表示されるんですが、私が何か間違ってますか?
185nobodyさん:03/11/08 01:56 ID:???
>>184
とりあえずphpinfo()
186nobodyさん:03/11/08 02:48 ID:???
>>185
それではPHP Version 4.3.4ってなってます。
187nobodyさん:03/11/08 03:02 ID:???
>>186
異常がないなら気にスンナ。なんかの書き換えミスだ。
188nobodyさん:03/11/08 03:53 ID:???
>>176
有難う。その鯖は借りないようにするよ。
189nobodyさん:03/11/08 14:01 ID:???
phpとperlで変数の受け渡しってできるのでしょうか?

具体的にやりたいことは
SQLから受け取ったデータ(EUC)をSJISに変換したいのです。
マルチバイト文字列関数が使えない鯖なのでjcode.plを
使って変換しかないのかなーって思ってます
他になにかいい方法などもあればご教授お願いします
190nobodyさん:03/11/08 14:06 ID:???
>>187
わかりました。ありがとうごじゃりましゅる。
191nobodyさん:03/11/08 14:25 ID:???
すいません、質問です。
みなさんはPHPを組むとき、
どのようなテキストエディタを使用されてますか?
出来ればフリーでオススメなのを教えてやってください。
192nobodyさん:03/11/08 14:27 ID:???
>>189
DBの文字コードをを変更したら?
DBなに使っているの?
193nobodyさん:03/11/08 14:37 ID:???
>>191
xyzzy + php-mode
194nobodyさん:03/11/08 15:28 ID:???
>>192
MySQLです。今の設定ではEUCしか使えなないみたいです。
サポートに問い合わせてSJIS使えるようにしてもらえるか
どうか聞いてみます。ありがとうございます

>>193
フリーじゃないけどPeggyっての使ってます
4000円ぐらいですがかなり気に入ってます。
エディタ+開発環境って感じです。機能限定版の
フリーのPeggyも出てるみたいですよ
195nobodyさん:03/11/08 15:34 ID:???
>>189
jcode.php
196nobodyさん:03/11/08 15:40 ID:???
PeggyってMDIじゃなかったっけ? それが嫌で使わなかったんだけど、今はどうなんだろ。
今では秀丸も一応PHPに対応しているし、highlightとかマクロもいろいろ出ているので、
満足しているわけではないが、もう手が慣れちゃってなぁ。
197191:03/11/08 15:44 ID:???
>>193
情報ありがとです。
でも使い方ワカンネ(´・ω・`)

198nobodyさん:03/11/08 15:45 ID:???
>>191
K2Editor
199nobodyさん:03/11/08 15:57 ID:???
>>196
漏れも秀丸使ってるけど、マクロって何使ってます?

>>195
そうそうそれがありましたな。
ttp://www.spencernetwork.org/
200nobodyさん:03/11/08 17:11 ID:???
201nobodyさん:03/11/08 17:43 ID:???
>>199
関数補間マクロとかあったんだが、本家のリストには載ってないね。
あと、関数部分を選択してphpのマニュアルサイトに飛ばしてくれるものとか。
202nobodyさん:03/11/08 17:52 ID:???
URLからファイルサイズ取得できますか?
$size = file()
をやったのだけれどエラーが出てしまって・・・
URLができないのか、単に設定が足りないのでしょうか。
203nobodyさん:03/11/08 18:02 ID:???
>>195
>>199
>>200
jcodeのphp版ですか!ありがとうございます早速試します!
204nobodyさん:03/11/08 18:08 ID:???
205nobodyさん:03/11/08 18:34 ID:???
>202
マニュアル読め屑
206nobodyさん:03/11/08 19:52 ID:???
>>202
$size = filesize( "bbs.log" ) ;
とかだわ。
>>205
CFM版のWindowsHelpを取ってきたのだが、トップページが
「ページを表示できません」だわ、表示トピック(左ペイン)は
文字化けするわ、何か足りないものがあるんかぃの?
207nobodyさん:03/11/08 20:04 ID:???
208nobodyさん:03/11/08 20:30 ID:???
>>206
> >>202
> $size = filesize( "bbs.log" ) ;

URLからファイルサイズゲットするんだろ?
209nobodyさん: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

他力本願で申し訳ないですが、上記のエラーの対処法を教授してくださいませませ。
210nobodyさん:03/11/08 21:55 ID:???
>>209
何をどうしようとしてそのメッセージが出てきたのかくらい教えろよ。
お前には自明でもお前以外の奴には分かるわけ無いんだから。

後、自分で作ったスクリプトならサーバのOS、PHPのバージョン、
ソース、性別、年齢、年収、スリーサイズもな。
211nobodyさん:03/11/08 22:04 ID:???
>>209
IDがJ2EEだ!
サーブレットにしようぜ
212209:03/11/08 22:05 ID:???
情報不足でスミマセン。

年齢21歳
性別女
年収210万
スリーサイズ 88 58 90

自作のスクリプトではねーですよ。
213nobodyさん:03/11/08 22:10 ID:???
>>212
ケツがでかいので無理です
214209:03/11/08 22:13 ID:???
・・・_| ̄|○・・・・・・
215209:03/11/08 22:24 ID:???
ついでに 身長は182です。
○| ̄|_ =3  プッ
216nobodyさん:03/11/08 22:42 ID:???
独身じゃないのか
217206: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版をダウンロードしたら、トップページは見れるが、
キーワードは化けたまま。まぁ、これならだいぶましか。
と言うことで、事故解決。
218nobodyさん:03/11/08 23:00 ID:???
とりあえずお前もマニュアル読んどけ
219nobodyさん:03/11/08 23:07 ID:???
ここはいつからネタスレになったんだ…
220nobodyさん:03/11/08 23:20 ID:???
                             . - _
              _,..,_         ノ´//⌒ ミヾヽ、_
    _____  ,r'´   ``'' - 、ーニ三彡´〃   ! ゙ゞヾ、_`ヽ
  [|<|____├{             /´  {  l  | // ヽ`ーr' }
    ″       !    `、     '   ノ  l. ||l     i l / l   ああっ、つ、つらいです...
              ',      | ̄``''''ー―- ,'´l  l |!` ‐--| l l l
              ',    |             l  l  |    リ,! l
              ',   |          | | ,!    ' リ
  ,.r''ヽ、        _ ',   |          |. |
 ,'    ` ' ' ' ' ' ' ´  `ヽ   !            | |
/ ,.r'´ ̄ '''''' ─−-........__ ,.r'             | '''"''‐-、
~´                            ̄ ̄ ̄
221nobodyさん:03/11/08 23:23 ID:???
>>217
HTML Help Workshopでバラして修正、再コンパイルしとけ
222nobodyさん:03/11/08 23:58 ID:???
>>213
ケツでかい方が気持ち(・∀・)イイ!!!
223nobodyさん:03/11/09 00:09 ID:???
なるほど!
224nobodyさん:03/11/09 00:48 ID:???
>>222
初めて知った。
どうせ童貞サーヽ(`Д´)ノ ウワァァ
225nobodyさん:03/11/09 06:31 ID:9lYQF/if
ケツでかくて、ウエスト細くて身長高いのってどうなんだ?
226nobodyさん:03/11/09 10:01 ID:???
バーバママをイメージすればよかろう。
227nobodyさん:03/11/09 13:05 ID:???
>>226
ワラタ
228nobodyさん:03/11/09 14:24 ID:???
>>177
遅レスなんだが俺も4.2.3から4.3.3にしたら
派手に化けてくれた。
mb_convert_encodingで入力、出力の文字コードをきっちり指定しないと
動作おかしくなってるみたい。
多分に'auto'が拙そうな感じだったので
mb_detect_encodingででもいいから取得してみるとマシになったです。

マシになったというのも、今度は文字コードが同じで変換の必要のないものまで
二重に変換して化けるという素敵現象が発生したので
(元々EUCコードの文字列をEUCの文字列に変換してくれと渡すと
よくわからない文字になる)
最初に簡単に判別してコードが同じなら変換を避けるといった工夫が必要でした。

つーか動作が極端に変わるの勘弁してください_| ̄|○
FreeBSDでもRHLinuxでも発生したから環境の問題じゃないよね……
229nobodyさん:03/11/10 04:27 ID:???
>>228
php.iniで、mbstring.language = Japanese を入れる
うちでも 4.3.2 -> 4.3.3 では文字化けが発生したが
これでまともになった
230nobodyさん:03/11/10 10:20 ID:afsYTpOg
超ド心者な上、フリーで配ってるスクリプトの設置、動作確認をしています。
フリーの素材をServerにUPしたのですが、実際phpファイルにアクセスをすると、そのファイルのプログラム自体がそのままブラウザに表示されてしまうのです。
これはどないしたら、よろしいでっしゃろ。
置く場所が違うんですかね?
でもHTMLファイルが置かれている同じディレクトリにおけば良いのですよね?
231nobodyさん:03/11/10 10:31 ID:???
>>230
(プゲラウッヒョー

鯖はphpに対応してるのか?
鯖のマニュアルページでphpファイルの設置方法を探して隅から隅まで嫁
232nobodyさん:03/11/10 10:32 ID:???
>>230
PHPが使えない鯖のようだ
233nobodyさん:03/11/10 10:33 ID:???
カブタ
234nobodyさん:03/11/10 10:38 ID:???
へんじがない。ただのしかばねのようだ。
235230:03/11/10 10:44 ID:afsYTpOg
PHPが使用できない鯖の場合、そのままファイルの内容が表示されてしまうのですか?
一度、対応しているのかどうか確認してみるっす。
236nobodyさん:03/11/10 10:55 ID:???
>>235
対応しているサーバの場合、phpという拡張子で判断して
phpを実行している。
していない場合、phpという拡張子に対して特別な動作を設定していないし
MIME TYPEも無いと思われるので、デフォルトのMIME TYPE(普通はtext/plain)
で動作するからソースがそのまま表示される。
237230:03/11/10 11:09 ID:afsYTpOg
>>236
なるほど、そういう事なんですか。
何も知らないで、本当に恥ずかしいばかりですが、教えていただきありがとうございます。
238nobodyさん:03/11/10 11:18 ID:???
そんな事も知らずに運用しようとしてるやつがいるのは本当に怖い事です
239nobodyさん:03/11/10 11:21 ID:???
>>235
そんな事、過去ログ見れば書いてあるじゃねーか
240nobodyさん:03/11/10 17:02 ID:bp+FMRXt
読み込んだファイルの中から、ランダムで複数行(任意)選択したい。
選択した行は全てかぶらないようにする。

$sentaku = 5; //選択する行数(可変)
$file = file(log.dat); //ファイルを$fileに配列で読み込む

この後、どういう処理をしてけば、かぶらないように持っていけるのか分からない。
正直、PHPをまともに触るのは今日始めてで、マニュアル等を見たが、分からず。

考えたアイデアは、
・$fileの配列をランダムで並び替え、上から([0]から)$sentaku個選択。
・$fileの配列数を取得し(foreachを使用?)、そのうち5個かぶらないように整数を選択。
 この案がイイ気がするんだが、どういうコードをかけばいいか分からず。
 ifがいっぱいになるような気がするんだが…へたれで分からず。

誰かサンプルでコードを書いて晒してください、おねがいしまつ。
241nobodyさん:03/11/10 17:21 ID:???
>>240
array_rand()
242240:03/11/10 17:21 ID:bp+FMRXt
使用する用途としては、
log.datの中に、リンクしたいURLを改行して入れておく。
で、トップページに任意の数($sentaku)だけ表示したいんですわ。

何かイイ方法があれば教えていただけると嬉しいです。
243240:03/11/10 17:22 ID:???
>>241
!!
調べてきまつ…
244nobodyさん:03/11/10 17:25 ID:???
1〜(レコード数)の範囲でランダム値を5個拾って、後はforeachでnext読みしつつ、
先のランダム値のレコードを抜き打者医院じゃないの?

ヘタレなのでこのくらいしか思いつかん
245244:03/11/10 17:27 ID:???
array_randか。。勉強になりました。
246nobodyさん:03/11/10 17:36 ID:???
244の成長が停止しますた
247nobodyさん:03/11/10 17:52 ID:???
まあ244のに、重複チェック入れれば大体いいしな
カードのシャッフルとかにはそのままじゃ使えないが
248nobodyさん:03/11/10 17:59 ID:???
そもそも、重複しないランダム値が取れれば、
echo $file[ランダム値];
でいいんだし、>>244はforeachするところが違うよ。
249nobodyさん:03/11/10 18:02 ID:???
神経質な>240と大雑把な>244と神経質な>246と大雑把な>247のどっちやねん的スニーカーぶる〜す
250nobodyさん:03/11/10 18:55 ID:6dR1d26+
ものすごく初心者な質問したいのですが、よろしいでしょうか?
初心者向けスレが落ちているようなので……。

$input["zip"]に一文字でも数字以外の文字が入っているとき、
$checkにfalseを代入したいのですが、

$check = mbereg("\D",$input["zip"]);

では、falseが入らないようなのです。
もちろん、mb関数は動く鯖です。
どうすればfalseが入るか、よろしければお教えください。
251nobodyさん:03/11/10 19:00 ID:???
preg_match()じゃだめですか?
252nobodyさん:03/11/10 19:01 ID:???
> では、falseが入らないようなのです。

この手の婉曲表現はうんざり
253nobodyさん:03/11/10 19:18 ID:???
>251
同じ。
「一文字でも数字が入っている」は当然文字も入っているわけで、\Dつまり[^0-9]が
マッチして true になる。正常な動作。
254nobodyさん:03/11/10 19:19 ID:???
>>253
 _, ._
( ゚Д゚)???
255254:03/11/10 19:20 ID:???
ああそうか。マッチしたらtrueか。
256nobodyさん:03/11/10 19:33 ID:???
つーわけで、'^\d+$' がシンプルかと。
257nobodyさん:03/11/10 19:52 ID:ygz3u7ZD
apache の php モジュールを使って,
php ファイルの中から,他の php に変数を post メソッドで
渡してやって処理させるにはどうしたらいいの?
258nobodyさん:03/11/10 19:54 ID:???
ソケットでポストすればいいんじゃねーでしょうか
259nobodyさん:03/11/10 19:55 ID:???
つーかマルチかよ死ね
260nobodyさん:03/11/10 19:55 ID:ygz3u7ZD
>>258

ソケットとは?
261nobodyさん:03/11/10 20:15 ID:5NgpupLQ
>>257
まだ抽象的で分かり辛いからもっと具体的に何をしたいか言ってくれ
262nobodyさん:03/11/10 20:19 ID:???
マルチポストで検索もしらんようなのは掘っとけ。勘違されても困る。
263nobodyさん:03/11/10 20:21 ID:ygz3u7ZD
>>261

普通は hoge.php に html ファイルから,
post メソッドで引数を渡して,
apache で処理させることができますよね?

それを html ではなく,php からやって,
その出力を php の中から取得したいんです.
264nobodyさん:03/11/10 20:26 ID:???
なるほどよく分かったッ
265nobodyさん:03/11/10 20:28 ID:5NgpupLQ
>>263
いまいちよく分からんが、
hoge1.phpからpostした物をhoge2.phpに渡したいという事かい?
266nobodyさん:03/11/10 20:29 ID:ivefLIhn
ヤフオクでラジオチューナー買ったんだけど。
267nobodyさん:03/11/10 20:36 ID:???
俺はテレビチューナが欲しい。

ところで、パスワードの暗号化はmd5で十分ですかね?
268nobodyさん:03/11/10 20:45 ID:???
>>267
md5は暗号化じゃないハッシュだ
269nobodyさん:03/11/10 20:53 ID:???
それもワンウェイだッ参ったか!!
270267:03/11/10 20:53 ID:???
スマソ。ソースやログからパスワードが漏れないようにする手段としては十分ですか?
個人サイトで使う程度のスクリプトです。
271nobodyさん:03/11/10 20:56 ID:???
盗聴される
272nobodyさん:03/11/10 20:59 ID:???
いいんでない。パスの複雑さとか鯖の設定ミスとかも考えないといかんけど。
273nobodyさん:03/11/10 20:59 ID:???
入力されたパスワードが正しいかどうか調べるにはmd5で十分

パスワード − md5 → ハッシュ値(保存しておく)
           ↑↓検証
パス入力  − md5 → ハッシュ値

ただ,md5にかけたパスワードとかを復元することはまず不可能.だってワンウェイだから.
274267:03/11/10 21:01 ID:???
>>268-273
アリガd。大変参考になりますた。
275nobodyさん:03/11/10 21:22 ID:???
postなど使わずsessionを使え!
276nobodyさん:03/11/11 07:41 ID:???
幾ら文明が進化してもラジオだけは廃れないね
277nobodyさん:03/11/11 07:42 ID:???
袖におせんべのカスが入った臭いんだが。
チクチクして気持ち悪い
278nobodyさん:03/11/11 08:56 ID:???
袖の煎餅カスなんざ、外出中に靴下に異物が混入して
取るに取れない状況に比べたら屁でもないだろ。
279ナミ:03/11/11 09:35 ID:b1cYLlyQ
post された変数にある処理をしてある出力する
hoge.php があるとしますよね.

fuga.php の中で,hoge.php に変数を post して,
その出力を取得したいんですけど,
どうすればいいのですか?
280nobodyさん:03/11/11 10:18 ID:bLxOAbFp
>>279
postされた物をデコードして
君の好きなように処理すればいいだけ。
281nobodyさん:03/11/11 10:26 ID:???
>>279
postメソッドで渡すとなると、curl関数しかないかな?
getメソッドなら、fopen("http://www.example.com/hoge.php?foo=....","r"); で開けば、
その出力をfgetsなりfreadなりで取り込めると思うけど。
282nobodyさん:03/11/11 10:44 ID:???
すいません。PHPでSMTPサーバーを使用してメールを送信する方法を探しているのですが、一向に見つかりません。
参考になるサイト等ご存知ありませんか?
283nobodyさん:03/11/11 10:58 ID:5aaf/lA0
284nobodyさん:03/11/11 11:36 ID:b1cYLlyQ
ある函数が print で標準出力したものを
取得するにはどうすればいいのですか?
285nobodyさん:03/11/11 11:51 ID:OBiox2V1
>>284
ナミさん・・・
もう少しマニュアル読んでから来てくれよ・・・
286nobodyさん:03/11/11 12:04 ID:???
ばかばっか
287nobodyさん:03/11/11 12:36 ID:???
マニュアルについていないことを
答えられる香具師はここにいない。
288名無しさん@お腹いっぱい。:03/11/11 12:48 ID:???
ついていないことを??
289nobodyさん:03/11/11 13:00 ID:5aaf/lA0
ついていないことねぇ・・・
290nobodyさん:03/11/11 13:47 ID:ks/XAcB8
お前らのマニュアルにはついてないのか?
291名無しさん@お腹いっぱい。:03/11/11 13:50 ID:???
PHPでファイルの移動ってどうするんスか
292nobodyさん:03/11/11 13:53 ID:???
ドラッグする
293nobodyさん:03/11/11 14:08 ID:???
コピーして元を消せばよい
294nobodyさん:03/11/11 14:45 ID:???
295nobodyさん:03/11/11 16:48 ID:???
俺はマニュアルを破り捨てたよ
296nobodyさん:03/11/11 17:02 ID:???
本家のやつはいいんだが、ダウンロードする
マニュアルって非常に使いにくい、つか探しにくい
逆引きできるようにすればいいんかな
297nobodyさん:03/11/11 18:53 ID:???
ダウンロード版のマニュアル(CHM)を使ってみたんだけど
文字化けする
「キーワード」の上のほうの単語ほとんど化けてる
298nobodyさん:03/11/11 19:26 ID:BbQu8Jz5
本ぐらい買えよ。
マジで
299nobodyさん:03/11/11 22:04 ID:???
>>298
公式マニュアルの代替になるような全てを網羅した本なんて出てるか?
そしてそれは検索できるのか?
300nobodyさん:03/11/11 22:53 ID:???
301nobodyさん:03/11/11 23:05 ID:???
べたテキストのマニュアルも欲しい。
302nobodyさん:03/11/11 23:59 ID:i+gXuh2K
フレームの中から header("Location: url_string"); でページを
移動したいんですけど、その時にフレームを解除するには
どうすればいいのでしょうか?

<A HREF="xxx.html" TRAGET="_top">移動</A>
のtarget属性と同じようなことがしたいですが。
303nobodyさん:03/11/12 00:06 ID:???
マニュアル整備よりも馬鹿対策をとったほうがいいぞphp
304nobodyさん:03/11/12 01:20 ID:DMeBOQD8
PHP使ってPGPなんかの暗号化メールを送ることってできるの?
ショッピングサイトとかで受注メールを送るときどうしてる?
305nobodyさん:03/11/12 02:53 ID:fzWCW5In
関数使うときに@がついてる時があるんですが、これは何の意味があるのでしょうか?
$ret = @mail($to, $sb, $mes, $fr);
誰か教えてください。
306nobodyさん:03/11/12 02:54 ID:???
エラー制御
307nobodyさん:03/11/12 12:29 ID:???
厨房質問スマソ

hiddenで送信されてきた内容を全て取得するJSPの以下のコードって
PHPではどう書けばいいんでしょうか?

Enumeration enum =request.getParameterNames();
while(enum.hasMoreElement()){
String foo = (String)enum.nextElement();
String bar = getParameter(request,foo);
その後の処理
}
308307の訂正:03/11/12 12:32 ID:???
× while(enum.hasMoreElement()){
○ while(enum.hasMoreElements()){
309nobodyさん: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エラーが出る。
どうしたらいいのか教えてくれ。
310nobodyさん:03/11/12 12:55 ID:???
>>307
いろいろやりかたあるし、環境(php.ini)にもよるけど

foreach ($_POST as $foo => $bar) {
その後の処理
}

てのが手っ取り早いかなあ
311309:03/11/12 13:10 ID:???
スマソ、解決した。

これだと、if文は「p=」が無いとエラーになるんだな。
if ($_GET) 〜でいけた。
312307:03/11/12 13:14 ID:???
>>310さん
早速のレスありがとうございます。
PHPだと一行で書けてしまうのですね。
驚きました。
313nobodyさん:03/11/12 13:33 ID:???
>>310
hidden属性かどうかはどうやって判定するの?
314nobodyさん:03/11/12 13:35 ID:???
>>313
出来ないかもしれない。また、その必要は無いかもしれない。
315nobodyさん:03/11/12 13:37 ID:???
>>313
HTTPのプロトコル上、そういう区別は無いね
316307:03/11/12 14:15 ID:???
スマソ
質問の書き方マズかったです。
送信内容を全て取得するのが目的で、
hiddenには特にこだわりません。

よって
>>310 さんのでOKかと・・・・
317nobodyさん:03/11/12 16:07 ID:???
fileで読み込み出来ないですが、これ、
http://pc2.2ch.net/test/read.cgi/php/1067635640/l50
どして?防衛してるのかな?
318nobodyさん:03/11/12 16:15 ID:???
┐(´ー`)┌
319nobodyさん:03/11/12 16:20 ID:???
mod_rewrite?┐(´ー`)┌
320nobodyさん:03/11/12 16:39 ID:???
このときに、User-Agentの指定ってできるのかな?
321nobodyさん:03/11/12 16:52 ID:???
おまいら、独り言は他でやれ
322nobodyさん:03/11/12 21:19 ID:???
>>321
オシエテクレ
323nobodyさん:03/11/12 21:35 ID:???
何を?
324nobodyさん:03/11/12 23:09 ID:???
文字列の中に、特定の文字がいくつ入っているか調べる関数ってありますか?
多分ド初歩的だと思うんですが、マニュアルの文字列関数を探したんですが
見つかりませんでした。
例) "aaa" aが出現する数は3 / aaが出現する数は1
preg_matchなどで、帰ってきた要素の数で判断するしかないでしょうか?
325nobodyさん:03/11/12 23:31 ID:???
>>324
preg_match_all の返り値がマッチした数じゃなかったカナ。
326nobodyさん:03/11/13 00:47 ID:???
>324
aは文字、aaは文字列。
asciiなら count_chars() もそれなりに使える。
あとは substr_count() 。
327nobodyさん:03/11/13 01:39 ID:???
>>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系でも同じ感じでした。
328nobodyさん:03/11/13 10:22 ID:???
人の質問中にスマソ。

perlで配列@hogeの最大key数は$#hogeで取り出せますよね。
同じようなものはPHPにはないでしょうか。
わざわざforeachで++して数をカウントしなくてはならないんですかね…?
329nobodyさん:03/11/13 10:24 ID:???
count(@array)
330nobodyさん:03/11/13 10:31 ID:???
zeroboardとn@boardてどっちがパクったの?
331nobodyさん:03/11/13 10:32 ID:???
nzeoboardだった。
332328:03/11/13 10:43 ID:???
>>329
サンクスコ。
333nobodyさん:03/11/13 11:25 ID:???
質問スマソ
PHP+MySQLでWEBシステムを作って報酬を得た場合は
ごく簡単なものでもMySQLにお金払わないといけないのですか?
334nobodyさん:03/11/13 12:01 ID:???
俺に払え
335nobodyさん:03/11/13 12:07 ID:???
>>334
うほっ
336nobodyさん:03/11/13 12:41 ID:???
>>334
億万長者だね。
何かおごって〜
337nobodyさん:03/11/13 12:53 ID:???
>>333
だから商用ではPostgreSQLを使ってる所が多いんだろ
338nobodyさん:03/11/13 13:09 ID:???
厨質スマソ 
レンタル鯖のphpinfo見たのですが4.3.2、
mbstring.encoding_translation
がoffになってました。

この場合mb_convert_encoding関数は使えないのですか?
339nobodyさん:03/11/13 13:39 ID:???
>>338
使える
340nobodyさん:03/11/13 15:47 ID:???
関数に配列変数を渡すにはどうすればいいんでしょうか?
341マジ本気レス:03/11/13 15:57 ID:???
>>340
関数(配列);
342nobodyさん:03/11/13 15:59 ID:???
関数(配列変数);
343nobodyさん:03/11/13 17:56 ID:e5aQ6gVa
関西(ハイレグ変態);
344nobodyさん:03/11/13 18:21 ID:???
>>333
そのシステムが有償か無償かは、MySQLのライセンスとは関係ない。
GPLか否かが関係する。GPLではシステムが有償であっても良い。
まあ、普通は有償なソフトをGPLにすることは無いと思うが...

あとPHP4.3.xぐらいまでのPHPにバンドルされている
mysqlライブラリはPDSだから、WEBシステムとした場合
GPLである必要があるのはMySQL本体まで(ライセンス形態にGPLを選択した場合)

ただ、サービス売りするんじゃなくて、システム売りなら
コマーシャルライセンス選択するのが「当たり前」だと思うよ。
345nobodyさん:03/11/13 22:42 ID:DBMZc8xz
$hoge = 1;
としたときに$hogeに1を足した値を表示させたい場合って
print ($hoge + 1);
みたいにやる方法ってないの?
$hoge = $hoge+1;
print $hoge;
ってやるのがめんどくさいんだけど。
346nobodyさん:03/11/13 22:59 ID:???
マニュアル読め
347マジ本気レス:03/11/13 23:07 ID:???
>>345
echo $hoge++;

じゃあかんのか。そうですか。
348nobodyさん:03/11/13 23:11 ID:???
>>345は上達しないな
349マジ本気レス:03/11/13 23:11 ID:???
>>347
ごめん。嘘やった。酔っ払いはあかんな。

print ($hoge + 1);

これでええやんけ。
350nobodyさん:03/11/13 23:14 ID:???
凄いスレになってきたな
351nobodyさん:03/11/13 23:18 ID:???
ありえないよな(w
352nobodyさん:03/11/13 23:21 ID:???
>345,349
飛んでいってしまえ
http://life.2ch.net/yume/
353マジ本気レス:03/11/13 23:26 ID:???
すまんかった。今日はもう寝る。_| ̄|○ 
354nobodyさん:03/11/13 23:27 ID:???
スレが一気に低レベル化してきました
355nobodyさん:03/11/13 23:32 ID:???
すいません、ここでは右も左も分らないヤシなんですが、
WPEの話題はどの板でやれば良いでしょうか?
お願い致します。
356nobodyさん:03/11/13 23:38 ID:???
>>355
ちょっと左斜め上を行くと分かるYO。
357nobodyさん:03/11/13 23:50 ID:???
WPEって何よ?
358nobodyさん:03/11/14 01:11 ID:D6erX4dv
PHPで変数

date='XXXXXXXXXXXXXX'

のなかに

'

を入れて

date='XXXXX'XXX'

みたいにしてもエラーがでないように
するにはどうすればいいんでうか??
359nobodyさん:03/11/14 01:27 ID:???
もはやネタ質問の嵐だな
360nobodyさん:03/11/14 01:52 ID:???
別に低レベル化しても初心者向けで良いんじゃないか?
まぁ雑魚はがんばれや(笑)
361nobodyさん:03/11/14 01:58 ID:???
加えてゴミレスだからな。
362nobodyさん:03/11/14 03:40 ID:???
>>358
\'
363nobodyさん: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 ?>
//あと省略

で表示された結果は「未入力です。」になるんです。
長いので次へ
364nobodyさん:03/11/14 11:24 ID:e5jGTT3B
ローカル・他の鯖では問題なく動作してます。
パーミッションはhtml[644]、php[604]です。

値が渡らない以外は普通にPHP動いています。
よろしくお願いします。
365nobodyさん:03/11/14 11:32 ID:???
366338:03/11/14 12:12 ID:???
>>339 サンクス

再厨房質問スマソ

石井さんのphp+pgsqlの本に
明示的に文字コードを変換するには
--enable-mbstr-enc-trans
を指定してconfigureする必要がある 
と書いてあったんですが、

使ってるレンタル鯖のphpinfo(バージョンが4.3.2)の
Configure Command には
これが入ってませんでした。

この鯖では
mb_convert_encoding関数は使えませんか?


367366の補足:03/11/14 12:20 ID:???
--enable-mbstringはありました
368nobodyさん:03/11/14 12:27 ID:???
>>366
--enable-mbstr-enc-trans
は、オプションから廃止されました(4.3.0以降)
ってのは、FAQかな?

石井たんの本でのPHP versionはどうなってるよ。
369nobodyさん:03/11/14 12:30 ID:???
>>368
>>73見て自分で確認汁!
370366:03/11/14 13:00 ID:???
>>368
石井さんの本は4.2.2でした

ネット調べてみると
--enable-mbstr-enc-trans は
4.3.0以降
mbstring.encoding_translation に変更となります
とありました。

371363-364:03/11/14 17:39 ID:e5jGTT3B
>>365
ありがdございます。
やってみます!
372nobodyさん:03/11/14 23:16 ID:???
質問です。

https:// で始まるファイルを取得したいのです。

グーグルで調べてもなかなかでてきません。
curl,file_get_contents()は使えないようです。

レッツPHPさんのへっどらいんで取得しようとしてもhttpsは対応してないようです。

file(),readfile()で簡単にとれると思ったのですが、全くうまくいきません。
どうすればいいのでしょうか?
373nobodyさん:03/11/14 23:23 ID:???
>>372
マヌアルの「サポートされるプロトコル/ラッパー」見れ
374nobodyさん:03/11/14 23:29 ID:jXK5t9k/
超地球的変数の値を自分でいじるのって問題ありませんか?
$_SERVER['REMOTE_ADDR']に代入したりするのってなんとなく気分悪いけど。
375nobodyさん:03/11/15 00:01 ID:???
http://pear.php.net/manual/ja/standards.naming.php
ここを読むと、PHPでは関数とメソッドが別のものであるように読めるのですが、
単にクラス内関数=メソッドといった認識でよろしいのでしょうか?
376nobodyさん:03/11/15 00:04 ID:???
CURLは、sslのライブラリをリンクすれば使えるよ
377nobodyさん:03/11/15 03:52 ID:o0YbJxex
if ( $var ) { $var = "var = ".$var; }
これをもっとスマートにかけないでしょうか?
378nobodyさん:03/11/15 04:02 ID:???
関数にする
379nobodyさん:03/11/15 04:06 ID:o0YbJxex
関数は使わない方向で
380nobodyさん:03/11/15 05:09 ID:???
ダブルクォートなら "var = {$var}" でいいんじゃね?
$var ||= "var = {$var}";
こんな感じに出来なかったっけ…。
381nobodyさん:03/11/15 05:17 ID:???
||=はPerlダタ…。
もしくは…。
$var && $var = "var = {$var}";
382nobodyさん:03/11/15 10:04 ID:???
http://pc2.2ch.net/test/read.cgi/hp/1068729407/

ポップアップは特許らしい?
金取られるぞ!
383nobodyさん:03/11/15 10:36 ID:F9N3tr2c
cで作ったランダムファイルを読み書きしたいのですが、
phpでは構造体を使えるのでしょうか? それともunpackでレコード毎に
個々のデータを取り出すしかないのでしょうか?
384nobodyさん:03/11/15 14:51 ID:???
>>383
正解
385nobodyさん:03/11/15 15:26 ID:???
可逆な暗号化関数は標準でありますか?
386nobodyさん:03/11/15 15:28 ID:???
ないよ
387nobodyさん:03/11/15 16:18 ID:???
*.htmlファイル内で、aho.phpという外部のスクリプトを実行するにはどうすればいいですか。
388nobodyさん:03/11/15 16:23 ID:???
aho.phpでhtmlファイルを読み込む(もしくはテンプレートを使う)方が簡単。
389nobodyさん:03/11/15 16:33 ID:???
>>388
ありがとうございます。私の考えてるのとはちょっと違うかもしれません。

たとえば、SSIのアクセスカウンタのように、
htmlにアクセスした際にphpのスクリプトを実行し、
UAやIPアドレス等を保存と言う風に行いたいんです。
390nobodyさん: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ではできないってことでしょうか?それともスクリプトがどこかおかしいのでしょうか?
391nobodyさん:03/11/15 16:50 ID:???
>>389
いやだから、
<?php
カウンターなどの処理(aho.phpの部分)
?>
<HTML>
<HEAD>
</HEAD>
<BODY>
実際表示したい中身(*.htmlの部分)
</BODY>
</HTML>

のようなファイルにするか、
<?php
カウンターなどの処理(aho.phpの部分)
 readfile('hoge.html');
?>

とするか、
<?php
require 'aho.php';
テンプレートでhtml作成
?>

とかいろんなパターンがあるけどhtmlからphpを呼ぶのではなくて、
その反対の方がはるかに簡単でしょというお話。
392nobodyさん:03/11/15 16:55 ID:???
>>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固有の問題は、しらーん
393390: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を使用してますので問題ないと思います。
394nobodyさん:03/11/15 17:38 ID:???
>>390
うちの環境では正常に実行できましたよ。
>>73を参考にimage関係の命令が有効になっているか確認してみては?
395390:03/11/15 17:59 ID:F+sYHpcY
すいません。解決しました。
どうやらxreaではshared_html内でないとモジュールが有効にならなかったようです。
ずっとpublic_html内でやってました。
>>392のかたと>>394のかた、有難うございました。
お騒がせしました。
396nobodyさん:03/11/16 05:01 ID:HIoDQOU5
こんな感じに外部の画像ファイルを自分のページで加工ってできるの?
ttp://images.google.co.jp/images?hl=ja&lr=&ie=UTF-8&oe=UTF-8&q=a
image magickで外部ファイルを加工できないのかな?
397nobodyさん:03/11/16 06:18 ID:???
マニュアル読め。
398nobodyさん: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
399nobodyさん:03/11/16 10:05 ID:???
過去ログ機能と画像アップ機能のある掲示板の事です。
過去ログに回った記事に画像が合った場合に、
画像を格納していたディレクトリを移動させたいんです。
でもさっぱり分かりません。
ディレクトリの移動なんて出来ますか?
400nobodyさん:03/11/16 10:08 ID:???
>>396
俺が実際にやっている。
画像掲示板の投票で、上位三位の画像だけ引っ張って来て、サムネイル化、ランキングページを作っている。
PHPで外部のサーバーから画像を引っ張って来る。ってのはエラー制御が面倒くさいからwgetを使ってるけどね。

401$BJLHD$N(B38:03/11/16 10:46 ID:???
$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
402396:03/11/16 10:51 ID:fvqogEGE
>>400さん
僕image magickのxtpを用いて行おうとしているのですが、全く反応しません。
wgetの方法もう少し詳しく教えていただけませんか?
403nobodyさん:03/11/16 11:00 ID:???
さふぁり最悪!文字化けした。ごめんなさい。
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キャリア振り分けられるようにするにはどういたらいいですか?
どうかよろしくお願いします。
404nobodyさん:03/11/16 11:21 ID:???
> ezwebだけ無視されるのがわかりません

なんでそのコードで振り分けられると思ったのかがわからねぇよ。
http://www.au.kddi.com/ezfactory/tec/spec/4_4.html
405nobodyさん:03/11/16 12:14 ID:32VgkVgm
トップページに今の観覧者何人とか表示させたいんですが、やりかたがわかりません。だれか教えてもらえないでしょうか?
406nobodyさん:03/11/16 12:27 ID:???
アクセスがあったら、近時のアクセス者数をログから表示
407nobodyさん: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です。

よろしくお願いします。
408nobodyさん:03/11/16 13:38 ID:???

PHPって、ひとつのプロセスが固まってたら
他のプロセスも動かないのか?
それっておかしくない?
409nobodyさん:03/11/16 13:38 ID:???
>>407

> というエラーが出てしまうのですが、文字コードなどの問題でしょうか?
>

そう思うなら当然他の文字コードでも試したと思うが、
どの文字コードでエラーになったの?
あと、php.iniの設定は?
410nobodyさん:03/11/16 13:39 ID:???
ああ、セッションを抱えてるのか、なるほど
なるほど
411nobodyさん:03/11/16 13:42 ID:???
>>408
独り言ならよそでやれ。
質問なら具体的に状況を説明しろ。
412nobodyさん:03/11/16 13:47 ID:???
>407
SJISソの2byte目は、\
413nobodyさん:03/11/16 14:06 ID:CO2aljWv
session_end() って無いの?
414nobodyさん:03/11/16 14:11 ID:???
マニュアル読め。
415nobodyさん:03/11/16 14:19 ID:???
時間のかかる処理を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がセッション握ったままだから。

これを回避するにはどうしたらいい?
416nobodyさん:03/11/16 14:24 ID:???
夢の続き
417nobodyさん:03/11/16 14:47 ID:???
いまいちよく分からんのだが、そのsleepの秒数はどうやって
はじき出したの?
418nobodyさん:03/11/16 14:56 ID:d43keJAN
マニュアル強化年間です
419nobodyさん:03/11/16 15:26 ID:???
>>417
普通なら30秒かかる処理 の例として挙げただけです
420nobodyさん:03/11/16 15:44 ID:???
解決したよ。

session_end()でもあればと思ったが、そんなのは無いようなので
一度デストローイしてから再度startすることにした。
セッション変数はまたregisterしなおしだが、しょうがないな。
421372:03/11/16 16:19 ID:???
>>373
ネットが2日落ちていて亀レスすまそ

マニュアルを何回も読んだんですけど、結局どうすればいいのがさっぱり
わかりません…あれは読めばわかるようになってるかさえ疑問です…

fopen(),copy()で開けるって事なんでしょうか?
試したんですが、エラーになりました。

レンタル鯖なんですが、fopen wrapperが有効かどうかはどのように調べるか、
どのようにONにすればいいかがわかりません。(マニュアルで 発見できず)

マニュアル読んでもわからない私が悪いんでしょうか…
422372:03/11/16 16:29 ID:???
エラー内容も書いておきます。

Warning: fopen(https://www.xxx.co.jp/xxx/xxx/xxx.html): failed to open stream:
No such file or directory
in /home/xxx/public_html/xxx.php on line 9
423nobodyさん:03/11/16 16:44 ID:???
>>421
とりあえず、phpinfo();
url wrapperは標準でサポートされているが、httpsはOpenSSLのサポートを有効に...
って、ちゃんとマニュアルに書いてある。

>>422のエラーをみると、単純にファイルがないようにも思えるが、一度httpで開けるかどうか試してみるなど、
問題の切り分けも必要だな。

424nobodyさん:03/11/16 17:02 ID:???
session_write_close()なんてのがあるんだ。知らなかった。
でもうまく動作しないな。なんだこれ。
425nobodyさん:03/11/16 17:32 ID:???
もうみんな僕のスレから出て行ってくれよぉぉおお!!
426nobodyさん:03/11/16 17:47 ID:???
>>425
とりあえずマニュアル嫁。
427nobodyさん:03/11/16 18:59 ID:???
クッキーが使えるか使えないか って何で判断する?
428nobodyさん:03/11/16 19:31 ID:???
適当なの食わせて次ページで読み取り
429nobodyさん:03/11/16 19:53 ID:???
Webページで、IDとPassword(いずれもPOST)を入力した後で返って来る
ページのデータを取得するには、どうしたらいいんでしょうか?
430nobodyさん:03/11/16 19:54 ID:???
日本語の勉強
431429:03/11/16 20:12 ID:???
日本語能検と漢字検定1級はあるんですが、ほかに何か必要ですか?
432nobodyさん:03/11/16 20:17 ID:???
他人に自分の意思を的確に伝えようという努力
433427:03/11/16 20:24 ID:???
>>428
え〜マジで?
そんなヘッポコなん?
434429:03/11/16 20:53 ID:BS81469j
そ、そんなに分かりにくかったですか。スイマセン

つまり、とあるページ http://hogehoge.com があり、そこにアクセスすると
IDとPasswordを入力する欄があります。
通常はそこにIDとPasswordを入力してSubmitして中のページにアクセスする
訳ですが、そのログインの課程をPHPで実現し、中のページの内容を
保存する方法はありませんでしょうか?という質問だった訳です。
435nobodyさん:03/11/16 22:10 ID:???
>>433
428ではないが、へっぽこなの。
php4のセッション機能もphplibのセッション機能も、最初のページでセッションIDをcookieで
発行しつつ、URIかhiddenに埋め込んでいますよ。有効なセッションIDがcookieで受け付け
できると埋め込まなくなります。

>>434
このスレで既に似たような質問がいくつも出ているが、GETメソッドで可能なら、
fopen("http://hogehoge.com?ID=xxxx&Password=xxxx","r");とかcopy()とか、
POSTメソッドでしかダメなのなら、curl関数を使う。
436429:03/11/16 22:22 ID:???
>>434
レスどうもです。
過去スレは見たんですけれども、POSTなんですよね…
curlはマニュアル見ても解説が余りにも少ないもんで…
ソケットも含めて、もう少し考えてみます。
437nobodyさん:03/11/16 22:57 ID:???
>>436
たとえformがpostメソッドでも、perlのCGI.pmなど、postとgetの区別をしていない
処理だったらgetメソッドで送っても通りますよ。ダメ元で試して味噌。
438nobodyさん:03/11/16 22:57 ID:???
>>402
wgetってのは、linuxについてるバィナリで、wget http://hogehoge.com/hoge.jpgとsystem()で実行させれば
勝手にダウソしてくれる。おまけに、リトライもしてくれるし。あとはcopy関数でサムネイル加工ディレクトリへ移動。
そして、wgetでダウソしたファイルを削除。
あとはマターリと画像をphpでサムネイル化だな。
439403:03/11/17 01:18 ID:???
>>403なんですけど、別板で
「if〜elseif〜elseに汁!」といわれてその通りにして
「わぁいできました」と書いたら2人揃ってアホと呼ばれました。
そもそも>>403に書いてあるヤツもPHPの解説サイトさんからパクったんですけど。
僕も汁!の人も解説サイトさんもみんなアホなんですか?
どうやるのが一番スマートなんでしょうか?ご意見お願いします。
440nobodyさん:03/11/17 01:49 ID:???
>>439
どっちでもいいだろ
自分のスタイルでやればいいんだよ
441nobodyさん:03/11/17 01:59 ID:???
既存の辞書アタックツールを使えばいいんでないの。
442nobodyさん:03/11/17 02:01 ID:???
>439
つーかあんたの頭なんのためについてんの。
443nobodyさん:03/11/17 02:02 ID:???
>441が辞書アタックツールで何をしたいのかのほうが気になる
444nobodyさん:03/11/17 02:04 ID:???
俺が使ってどうすんだよ。
445nobodyさん:03/11/17 02:12 ID:???
>>439
>>404が貼ってくれたリンクを見たのか?
「/」で分割して「KDDI」が返ってくるわけないだろ
分岐は好きなのでやれ
446nobodyさん:03/11/17 02:18 ID:???
>>444
どこから辞書アタックツールって言葉が沸いてきたのかに興味があるんだが
447441(再):03/11/17 02:28 ID:???
>436
httpクライアントっぽいサンプルは腐るほど転がってるのでコピペすれば3分でできる。
pearのhttp系パッケージやsnoopyを使うのも楽でいい。
448nobodyさん:03/11/17 02:33 ID:???
http://pc2.2ch.net/test/read.cgi/hp/1068355992/

>>403のアホは態度悪いから放置しよう
449nobodyさん:03/11/17 02:34 ID:???
>>436
cURLはPHPのマニュアルの該当項目を見るよりも、
元々のlibcrlの方をあたった方が良い。
http://curl.haxx.se/
googleでも探してミソ

>439
404の言葉を借りれば、
「なんでその変更で振り分けられるようになったのかがわからねぇよ。」かもだ。
450nobodyさん:03/11/17 02:56 ID:???
>>437
一応GETでやってみると言うのは試してみてたので、
「POSTで」と書いた訳なんですけれども。書いてなかったですね。スイマセン

>>447
ぬお、3分で、ですか……
探すスキルが低いみたいですね、pearも当たって見ます、snoopyは調べます。

>>449
PHP/CURL Examples Collectionのsimplepost.phpから色々試してみたいと
思います。ありがとうございました。
451449:03/11/17 02:58 ID:???
PHPのマニュアルも元からcURLへのリンクがあったな。

PHPプログラマーズマガジンの2003年8月号にcURLの特集が
10ページ程あるので、参考にすると良いかと。
#アシアルには引き続き頑張って翻訳して欲しいので、敢えて日本語版。
452nobodyさん:03/11/17 03:58 ID:???
>>450
SnoopyはまんまP0STしたりGETしたりするクラスだよ。Pearのほうはシランけど。
socketの単純サンプルはマ二ユアルに投稿されてる。http://jp.php.net/fsockopen
453nobodyさん: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);

(恥ずかしいのですが)こんな感じで試行錯誤していましたが、
うまくいきませんでした。
454nobodyさん:03/11/17 05:52 ID:???
>>453
配列にしたら?
$files = array("aaa","bbb","ccc","ddd");

echo $file_data[$_GET['NO']];

見たいな感じで。
455nobodyさん:03/11/17 08:19 ID:???
>>453
可変変数を使えばできるけど、後々のことを考えるとdata.phpを変更した方がいいような。
456nobodyさん:03/11/17 08:19 ID:???
Windows2000ServerのActive DirectryとLDAPを使って、PHPコンテンツの
認証ってできるんでしょうか?
いろいろと探してみたのですが、まったく資料が見つかりません。
参考になるサイトや書籍はありませんでしょうか。

PHPコンテンツ側は、誰がアクセスしているのかがわかればそれで
いいのですが・・・
457nobodyさん:03/11/17 08:24 ID:???
>>453
おしいな、可変変数を使う。
$file_data = "file".$_GET['NO'];
echo $$file_data;
もしくは
echo ${"file."$_GET['NO']};
で、いけるはず。

>>454のいう通り、配列に入れてしまうほうが言いと思うけどね。
458nobodyさん:03/11/17 08:25 ID:???
ああ、かぶった上に間違えている。
echo ${"file".$_GET['NO']};
こっちね。
459nobodyさん:03/11/17 09:32 ID:???
>>456

ホントに探したのかと小一時間(ry
ttp://www.php.net/manual/ja/ref.ldap.php
460453:03/11/17 12:50 ID:wHZotKDg
>>454 >>455 >>457 >>458
みなさん、ありがとうございました。

echo ${"file".$_GET['NO']}; の方法で、
おかげさまで考えていたとおりに出来ました。

data.phpは、「$file01 = "aaa"; 」の種類が多いので
このようにしていました。

ひとつ教えてください。
後々のことを考えると「配列」ということですが、
今の方法ですと問題が出てくる可能性がありますか?
461nobodyさん:03/11/17 14:00 ID:???
>>460
一つの値だけを処理するだけなら、さほど問題は出てこないだろうけど、
全てもしくは複数の値を処理するようなときは、配列の方が扱いやすい。
扱いやすいということはスクリプト全体も見易いってことなので、バグる
可能性も低くなる。
462nobodyさん:03/11/17 15:18 ID:nxS/JzN0
PHP4を使っています。
strpos関数の2番目の引数にソを入れるとエラーがでてしまうのですが
バグかなにかでしょうか?

strpos('あいうえお','ソ'); みたいな感じです。
463nobodyさん:03/11/17 15:22 ID:???
>>462
ShiftJISで書いているとか?
4645C:03/11/17 15:27 ID:???
>>462
そうだんだよ、'表'って入れてもエラーが出るんだよ。
きっとバグだ。PHPユーザ会なり藤本さんなりに、
全然日本語対応できてないじゃないかゴラァっていってやれ。
465nobodyさん:03/11/17 15:28 ID:???
そもそもPHPはEUC推奨。
466462:03/11/17 15:28 ID:nxS/JzN0
>>463 書いています。

ShiftJISだとだめなんでしょうか?・・・^^;
467465:03/11/17 15:38 ID:???
mb_internal_encoding('SJIS');
または
mb_http_output('SJIS');
をスクリプトの先頭に書くとうまくいくかもしれません。
468nobodyさん:03/11/17 15:38 ID:???
>>466
超FAQ。ググレ。対処法も書いてある。
ちなみに答えを先に書いておくと、Shift-JISでソースを
書いてもエラーを回避する方法はある。
469nobodyさん:03/11/17 15:57 ID:???
答え書いてないジャン
470nobodyさん:03/11/17 16:05 ID:???
>>469
ああ、馬鹿には読めないかもな。
471462:03/11/17 16:09 ID:nxS/JzN0
>>467 
mb_internal_encoding('SJIS');
と書いたらいけました。 ありがとうございました^^

>>468 超FAQですか?ぐぐったんですがわかりませんでした、、
またわかれば参考に見ておきます。ありがとうございました。
472nobodyさん:03/11/17 16:25 ID:???
http://jp.php.net/manual/ja/ref.mbstring.php
このページを100回くらい音読する事をおすすめする
473nobodyさん:03/11/17 18:37 ID:???
>>472
mbstringをどう発音する?
474nobodyさん:03/11/17 18:38 ID:???
エムビーストリング
475nobodyさん:03/11/17 18:52 ID:???
Mind
Blaster of the
Supper that is
Tiny and
Rugged
Iron and
Naked
Garages
476453:03/11/17 19:04 ID:???
>>461
詳しい説明ありがとうございました。
おかげさまで理解できました。
477nobodyさん:03/11/17 19:34 ID:p9/wZzot
PCにアパッチ2とPHP入れようと思うんですが
メモリどれくらい食うんですか?
478nobodyさん:03/11/17 19:35 ID:???
1GBみといてください
479456:03/11/17 20:03 ID:???
>>459
オブジェクトを探索云々はもちろんできるんですが、問題はユーザー認証
でして・・・

アクセスしてきている人の、Windowsアカウント名を取得したいんですが
具体的な方法がまったく見えなくて。
どうかご教授願えませんでしょうか。
480nobodyさん:03/11/17 22:52 ID:rRY/Vvh3
レス式掲示板を作りたいのですが参考になるサイトやスクリプト、本などはありますでしょうか?
レッツPHPのBBSのソースを見てもさっぱりでした・・・
481nobodyさん:03/11/17 22:57 ID:???
>>480
ソースを見てもさっぱりなら紹介してもしゃあないやん。
出来合いのものを使っとけば?
482396:03/11/17 22:58 ID:iH0Np36n
$file = system("wget http://hogehoge.com/a.gif");
としたのですが、wgetの絶対パスは一般的に必要なのですか?
system("/usr/local/bin/wget");
で動かないのですが。。。
483480:03/11/17 23:10 ID:???
>>481
さっぱりというか・・
もう少し段階を追って解説してくれるものないでしょうかね?
レス機能や削除機能なしの掲示板程度なら作れるのですが・・
484363:03/11/17 23:11 ID:S1UyFitp
すいません、363です。
今度はアップロードでつまずいてしまいました。
363でも書きましたがsuExec導入されてるサーバーで動くシステムを製作中です。

画像をアップロードさせたいんですが、ファイル格納ディレクトリのパーミッションが
間違っている、というエラーが出るんです。
全く同じシステムを別サーバーで試した場合は格納ディレクトリのパーミッション[777]
で行けたんですが、suExecが導入されているので、[777]は設定できませんでした。
[775]さらにサーバーの設定マニュアルにある[701]でもだめでした。

こういう場合、格納ディレクトリのパーミッションはどのようにしたらよいのでしょうか?
教えてください。お願いします。
485nobodyさん:03/11/17 23:15 ID:???
PHPなのにsuEXECってCGIモードなのか?
なんで777から701まで試してて707はやってないんだ?
486nobodyさん:03/11/17 23:24 ID:???
>>483
求める機能をどのようなアルゴリズム(処理手順)によって実現するかと、
そのアルゴリズムを(限られた関数で)どのように実装するかは別問題だよ。
掲示板程度が作れるなら、求める機能に必要なアルゴリズムを図に書いて整理してごらん。
487nobodyさん:03/11/17 23:33 ID:???
>>483
まずどういった機能が欲しいのかが明らかにならないと誰もアドバイスできないと。
世の中に無い(発表されたことの無い)機能なら、自分で創造するしかないんだし。

そのソースが公開されてる掲示板システムにお目当ての機能があるなら、
それを読む以外ないと思うけど(むしろソースが公開されていることに感謝しなきゃ)。

488nobodyさん:03/11/17 23:35 ID:???
>>482
system()は、PHPの実行ユーザの権限で()内のコマンドを実行しようとする。
エラー内容をチェックすれば どこがまずいか分かるよ。
489nobodyさん:03/11/17 23:46 ID:z5/6dLW4
ImageMagicで画像のサムネイル作るのはどうやってやるんでしょうか。
サンプルどこかにありませんか。
または解説してるサイトなどありましたら教えてほしいです。
490484:03/11/17 23:47 ID:S1UyFitp
>>485
suExecではユーザーの書き込み権限を与えられないから「707」は無理だと思ってました。
とりあえず明日試してみます。

CGI版ではないのですが、CGIとかでディレクトリのパーミッションは701で…みたいなことが
サーバーのマニュアルに書かれてたので、PHPで使う場合でもダメだと思って、パーミッションいろいろ変えてたのですが。

もしかして、私めは初歩的な勘違いをしているのでしょうか?
491nobodyさん:03/11/17 23:53 ID:???
suEXECの場合、apacheのユーザーはcgiファイルのオーナーが確認できればいいので
cgiの存在するディレクトリは701等、xx1があれば十分。
それ以降はすべてオーナー権限で動作するからね。
で、同じサーバの別のユーザーのアクセスを拒否するために、真ん中は0が望ましい
オーナーは実行も読み書きもできる7
ということで、ディレクトリは701、cgiは700で動くんだが、PHPの場合モジュールで
動いている可能性があるので実行環境がわからないとなんともいえませんねえ
492nobodyさん:03/11/17 23:54 ID:???
共有サーバーでSMTPを使ってメール送る時、
送信元のアドレスを自分で設定するのは不可能でしょうか?
493nobodyさん:03/11/18 00:05 ID:???
>>492
できる。
494nobodyさん:03/11/18 00:06 ID:???
>>492
可能です。マニュアル読もうね。
495nobodyさん:03/11/18 00:08 ID:???
そですか、調べますです。
すません
496nobodyさん:03/11/18 00:08 ID:???
>>482
本当に/usr/local/bin/にあるのかtelnetからwhereisでも使って確認しる
その鯖のOSが標準でwget入れてたりする場合は/usr/bin/にある場合も考えられる
497nobodyさん:03/11/18 00:08 ID:???
phpでURLを与えてやるとそのファイルのタイトルを取得するみたいなことってできますでしょうか?
498nobodyさん:03/11/18 00:10 ID:???
>>497
dekiru
499nobodyさん:03/11/18 00:10 ID:???
>>483
段階を追うって言っても、間に特にないような気がするんだけど……
単発掲示板が作れるなら、単発投稿に番号を振って、その番号に対するレスを
つけられるようにすればいいだけなのでは。
500nobodyさん:03/11/18 00:11 ID:???
>>497
できるよ。
file()で配列に入れて1行づつ<title>〜</title>の部分を探せばよし。
501nobodyさん:03/11/18 00:26 ID:???
>>500
何もfileで全部読まんでも…
502489: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);

?>
503nobodyさん:03/11/18 01:25 ID:???
504nobodyさん:03/11/18 02:44 ID:???
すんごいどうでもいい質問かもしれませんが、
どうして、内容は変わらないのに、
pg_exec関数がpg_query関数に名称変更になってしまうんでしょうか?意味ない気が・・・
(いちお、最新バージョンのphpでもpg_execは使えるようですが、非推奨とか書いてあった)

いや、自分、perlとphpしか知らないもんで・・・・・
他の言語でも、こういうことって結構あるもんなんでしょか?
505nobodyさん:03/11/18 06:00 ID:???
>>504
他のDB関数(例えばMySQL)と名称を揃えるためでは?
Postgres->pg_query
MySQL->mysql_query
みたいな。
506nobodyさん:03/11/18 06:07 ID:???
>>482
/usr/binじゃなかったかな?
俺の時はcp /usr/bin/wget /home/hoge/filedown/とやってfiledown内に置いて、./wgetとやってるが。

んで、サムネイル置き場は/home/hoge/public_html/img/thum/だったり。

507nobodyさん:03/11/18 08:53 ID:???
>>502
XREAのPHPはsafe modeだからexec()やsystem()は使えない。
サムネイルだけならGDを使ったら
508490:03/11/18 09:33 ID:Fg+aUf/J
[707]でイキマススタ…。
>>485さん、DQNな質問に答えていただきありがとうございます。
suExecとパーミッションについてもう一度ぐぐって学び直します。
吊ってきます。ほんとにありがとう。
509nobodyさん:03/11/18 09:46 ID:???
>>507
サムネイルでもGDとimagemagickでは雲泥の差……
510nobodyさん:03/11/18 09:54 ID:???
>>479
ここは所詮趣味レベルの集まりなので、MLで聞いたら?
511nobodyさん:03/11/18 10:11 ID:???
>>479,510
PHPはサーバサイドで実行されるんだから、クライアントのローカルな
ネームスペースにはアクセスできんでしょ(Microsoftが公開しない限り)。
だからWSHやVBscriptつかうかASPならそういう関数があるんじゃね?
512489:03/11/18 11:37 ID:kSgvtIqG
>>507
なるほど。わかりました。ありがとうございます。
GDではサムネイルできたんですけど、
imagemagickでもちょっと試したいんです。

マニュアルみたらセーフモードでも
safe_mode_exec_dir を指定すれば動作可とかいてありましたが、
phpinfo見るとディレクトリ指定がなされて無いようでした。
ということはimagemagick使えないということですかね。残念・・。
513nobodyさん:03/11/18 12:08 ID:???
mb_send_mail()やmail()でメール送信を行なっているのですが、
メール送信は正常に行なわれているにもかかわらず、
上記関数からの戻り値がFALSEで戻ってきます。
同じような現象の経験がある方、いらっしゃいますか?

PHPバージョンは4.2.4です。Solaris 9上で動作させています。
514nobodyさん:03/11/18 12:15 ID:???
>>513
warningメッセージは出てないの?
セーフモードで引数5つ指定してたりする?
515513:03/11/18 13:52 ID:???
>>514
warningは出ていないようです。
safe_modeはOffにしてます。
516nobodyさん:03/11/18 15:19 ID:???
517名無しさん@お腹いっぱい。:03/11/18 19:09 ID:???
筋違いかもしれませんが、お願いします。
PHP4.3.4 + MySQL 3.23.49 を使って、
最近、やり始めたところです。
そこで、ブラウザを使ってMySQLに登録してある
テーブルの内容(1列)を表示したいと思っています。
検索をしてみたんですが、なかなかそのようなサイトが見つかりませんでした。
よかったら、そのようなサイトかその他教えてください。
お願いします。
518nobodyさん:03/11/18 19:19 ID:???
>>517
マニュアルのMySQL関数のところを見れば、関数の使い方から例まで
乗っている。個人が管理するウェブページは情報が古い場合もあるので
マニュアルを確認するのが第一ですよ。

519513:03/11/18 20:47 ID:???
>>516
そこもチェック済みです・・・
書かれている内容と同じ現象のようです。

別サーバーで同一のことを行なうと正常値が返ってくるので、
環境依存だと思います。もう少し追っかけてみます。
520nobodyさん:03/11/18 21:05 ID:???
>>519
では、sendmail -t -i で送った結果は?
521nobodyさん:03/11/18 21:12 ID:???
クラス使うと動作が遅くなると散々言われてるphpですが、
実際にクラスを多用した設計で失敗した経験のある人っていますか?
いつもどれくらいクラスを使っていいものやら悩んでしまうんですが、
何か良い指針などあれば教えて下さい。
あと、クラス多用による失敗談も(あれば)聞きたいです。
522nobodyさん:03/11/18 21:36 ID:???
readline()以外に有る変数から一行だけをある変数へ代入する方法って
存在するのでしょうか?マニュアルを探しても見つからないんですが、
見落としているだけなのでしょうか。
523nobodyさん:03/11/18 22:00 ID:???
>>521
人によってやりたいことが異なるんだから、自分でベンチでも取るしかなかろう。
まあ、既存のクラスを上書きするようなクラスはオーバヘッドが大きくて遅くなる
とは言われていますな。
524nobodyさん:03/11/18 22:20 ID:???
つーか一部だけクラスつかうとかいう
使い方だとクラスを使う意味が全くないわけだが
525nobodyさん:03/11/18 23:33 ID:gbpK+IU+
supplied argument is not a valid stream resource
って何?
526nobodyさん:03/11/19 00:38 ID:???
>>525
こんなん使えるかボケェ!ちゃんとしたリソースよこしやがれ、ゴラァっ!!
527525:03/11/19 02:36 ID:???
荒らしは無視。
528nobodyさん:03/11/19 02:57 ID:???
>525
英語も読めなければ、日本語も読めないのかよ...
んじゃ代りに。「辞書引け、ボケっ!」
529nobodyさん:03/11/19 04:04 ID:???
>>525は釣です。
530nobodyさん:03/11/19 08:35 ID:???
>>525
お前アホやろ

supplied argument is not a valid stream resource
↓和訳
こんなん使えるかボケェ!ちゃんとしたリソースよこしやがれ、ゴラァっ!!
531nobodyさん: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)
532nobodyさん:03/11/19 11:26 ID:???
>>531
mail()で5番目の引数(additional_parameters)を加えればReturn-Pathがつかないですか?
自分が作ったシステムではちゃんとついているけど。
533532:03/11/19 11:29 ID:???
ゴメソ、additional_parametersはsafe_mode=Onだと無効になっちゃうのだた。
534531:03/11/19 11:36 ID:RZZ5PKCA
safe_mode=Onだと第5パラメータは使用できないようです。
http://php.planetmirror.com/manual/ja/function.mail.php

4.2.3以降はFALSEを返すとありますが、4.1.2ではただ無視されてしまうようです。
送信先不明などはrootに帰ってきてしまいます。
535531:03/11/19 11:37 ID:???
あ、リロードしてなかった…
536nobodyさん:03/11/19 11:47 ID:???
>>525はアホづら晒しに戻ってこんのかいな
537531:03/11/19 13:01 ID:???
safe_mode=Onだと /bin/date とかも結果が表示されない… (;´Д`)
538nobodyさん:03/11/19 16:33 ID:LeB1buj1
Apache2系の最新バージョンでPHP4.3.4とOracle9.2は動きますか?
OSはLinuxデス。
539nobodyさん:03/11/19 16:52 ID:???
>>538
人に聞かなきゃ判断できないようなら、実績のある1.3系との組み合わせにしとけ。
540nobodyさん:03/11/19 17:35 ID:INlscLDs
検索したレコード結果一覧を表示させる画面があり、
ここから各レコードの詳細画面にリンクさせているのですが
この詳細画面からhistory.back等で戻ろうとしたら
フォーム情報が〜 っとメッセージがでてきて再表示させないと
だせないんですが何か方法はありませんでしょうか?
541nobodyさん:03/11/19 17:48 ID:???
>>540
せっしょんきゃっしゅりみったーでぐぐる。
で、設定次第では戻れるが、戻ることをせずに専用のボタンなりリンクなりを作るに行きつぐはず。
542nobodyさん:03/11/19 18:35 ID:???

せっしょんきゃっしゅりみったーに該当するページが見つかりませんでした。
"せっしょんきゃっしゅりみった"を含むページは見つかりませんでした。

 
  (´・ω・`)ショボーン
543540:03/11/19 18:48 ID:INlscLDs
せっしょんきゃっしゅりみったーですが
実はレンタルサーバーなので設定を変更することができないのです^^;
プログラム自体で何か生かす方法はできませんでしょうか?
544540:03/11/19 18:51 ID:INlscLDs
ちなみに今はnocacheになっておりました。
545541:03/11/19 19:11 ID:???
>>543
ini_set()で返られる。noneにして味噌。
546541:03/11/19 19:12 ID:???
>>545
s/返/変/
547531@自己解決:03/11/19 20:57 ID:???
safe_mode_exec_dir=/usr/sbin を設定したらsendmailが
正常に呼び出せるようになりますた。
設定しないと全て許可じゃないのかよっヽ(`Д´)ノ
548nobodyさん:03/11/19 20:58 ID:???
中略


// 投稿者のメールアドレスがあれば、それへのリンクを表示する
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}]");
550nobodyさん:03/11/19 21:36 ID:KSFoFMPl
http://www.komonet.ne.jp/~php/script/cs_chat.php
↑サンプル
http://www.komonet.ne.jp/~php/program/chap4.htm
↑解説

↑のサンプルで打ってみればわかると思いますけど、「貼」「ソ」をチャットや
名前の欄に入れると「貼\」「ソ\」と言う様な感じで不要な字「\」がついてきます。
名前の欄に「\」を入力して更新を押すと「\」が二倍になって返ってきます。
このバグはどうやったら消せますか?
551nobodyさん:03/11/19 21:38 ID:???
>>550
php.iniのインターナルエンコーディングをEUC-JPに設定
magic_quoteをoff
552nobodyさん:03/11/19 21:44 ID:???
>>549
それは名前に[かっこ]を付けただけじゃ?
553nobodyさん:03/11/19 21:48 ID:???
>548
http://www.hyuki.com/writing/techask.html

$_POSTの値チェックとサニタイズを忘れるなよ。
554550:03/11/19 22:19 ID:sN+3Stso
>>551
ごめんなさい、ヒントを頼りにググってみたんですけど、よくわかりませんでした。
それはどこでどのように設定するものなんでしょうか?

> php.iniのインターナルエンコーディングをEUC-JPに設定
> magic_quoteをoff
555nobodyさん:03/11/19 22:46 ID:???
バグと言い切るやつには何を言っても無駄
556nobodyさん:03/11/19 23:00 ID:???
>>554
<META http-equiv="Content-Type" content="text/html; charset=EUC-JP">
これで行けると思う
557nobodyさん:03/11/19 23:44 ID:???
>>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));
するのがおれ好み。
558nobodyさん:03/11/20 00:07 ID:???
>>557
それだと、Webサーバにアップロードした時に動かないんでは?
559nobodyさん:03/11/20 10:24 ID:???
クラスを使いたいと思っていて
とりあえず練習として
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などたくさん増えていく場合にはどちらがより効率的なのでしょうか。
560550:03/11/20 10:50 ID:5Fvc2fd6
みなさん考えていただいてありがとうございます
↓のようにして解決しました。
if(get_magic_quotes_gpc()) {
 $name = stripslashes($name);
}
561nobodyさん:03/11/20 21:30 ID:zwtb7HaV
http://php.s3.to/bbs/bbs7.php
こちらのメール投稿掲示板をXREAのサーバー(PHP4.3.3)に設置しているのですが
PHPバージョンが4.3.4にバージョンアップされてから、
http://php.s3.to/pppbbs.php?mode=all&no=2524
の現象が発生します。
ここに書かれている方法では解決できませんでした。
どなたかご教授お願いします。
562nobodyさん: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;
}

原因はこのへんかなぁ…?
563nobodyさん:03/11/20 22:04 ID:zPNn8BhK
はじめまして。
標準関数ImageCreateFromPNGなんですが、
ちゃんと画像を生成できなかったくせに
TUREを返す事ってありますか?
564nobodyさん: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がうまく読み込めないようです。。
どのように変えたら上下分割のフレームがつくれますか?
565nobodyさん:03/11/20 23:01 ID:8Xp/0zjz
http://hobby4.2ch.net/test/read.cgi/car/1063985015/606-611
偉そうにこんな事言ってますが
566nobodyさん:03/11/20 23:38 ID:???
>>563
ImageCreateFromPNGがTRUEを返すことはありません。
567nobodyさん:03/11/20 23:44 ID:???
>>564
MakeFrameの$titleは何が入る?
modeは定数なのか?
フレームのページ作ったことある?
568566:03/11/20 23:46 ID:???
しまった! 「TUREた!」とか言われるかな。。。
569nobodyさん:03/11/20 23:48 ID:5Fvc2fd6
>>567
$titleは何でもいいです。書き換えるのを忘れてました。
とりあえず「フレーム」としておきましょうか。
modeは変数です。
フレームはperlで作った事あります。
570nobodyさん:03/11/20 23:55 ID:???
>>561
ソース見てないけど、mb_language('japanese');の位置は大丈夫か?
autoではなく、JISとかEUC-JPとかにしてみたらどう?
571nobodyさん:03/11/21 00:05 ID:???
>>569
> modeは変数です。

いや、そんなこと言われても・・・・。
572nobodyさん:03/11/21 00:17 ID:???
>>569
つーかregister_globals問題はどうよ?
573564:03/11/21 00:17 ID:htyTFWd6
$modeでお願いします(凹
574564:03/11/21 01:20 ID:oq0nSHXH
$_GET[mode]で解決できました。
575nobodyさん:03/11/21 01:42 ID:???
>>559
http://pear.php.net/
でDBのクラスを参考にしながらいろいろ組み替えるなりそのまま使うなり
したらいいと思うよ。
俺も似たようなのやってるけどdbってconnectとqueryとfetch以外なんか使うかな
576nobodyさん:03/11/21 03:06 ID:9Q4OVv2s
携帯から見れないように/携帯からしか見れないように
したいんだけど、どうしたらいいんだっけ?

どっか解説サイトあったらキボンヌ
577nobodyさん:03/11/21 04:03 ID:???
>>576
User_Agentやhostで区別する。完ぺきに区別するのは難しいと思うけど。
IPアドレス帯域が公開されているキャリアなら大丈夫かも。
578nobodyさん:03/11/21 04:14 ID:???
ホストとかエージェントで区別するのは.htaccessの仕事じゃない?
動的に変更するならPHPの仕事だけど。
579nobodyさん:03/11/21 04:38 ID:???
まあ、どっちでもいいんだけどね
580nobodyさん:03/11/21 06:47 ID:X6nc3D6o
PHPでメモリーリークすることあると言うけれど、
メモリーリークしているかどうかを調べるにはどうするの?
メモリーリークしたらLinuxをリブートしないとだめなの?
どういうことに注意したらメモリーリークは避けられるの?
581nobodyさん:03/11/21 08:33 ID:???
>>559
このスレでは
マニュアルに載ってることしか答えられる香具師しか
いないし、ましてやクラスなんて絶対無理だから
MLに行った方がいいよ。
582559:03/11/21 09:48 ID:???
>>581
あなたに言われるまでも無くMLで聞いています
あなたもわからないのならレスしないでけっこうです
583563:03/11/21 09:56 ID:j9AK708g
>>566
申し訳ありません。
有効なリソースIDを返すかどうか、と聞きたかったのです。
どうも取り込みたい画像ではなくまっさらな画像を作っているかもしれないので聞いてみました。
584nobodyさん:03/11/21 10:14 ID:hhlqBJaB
あるサイトのページを読み込んで、任意のタグの値や文字列を抽出したいんだけど
使えそうなライブラリありますか?
fsockopen、fgets などでシコシコ作るのが面倒なんです。
585nobodyさん:03/11/21 10:32 ID:???
ループ開始
586nobodyさん:03/11/21 11:31 ID:???
>584
1.サイトのページを読み込む
2.読み込んだhtmlの解析

本当にシコシコ作ると面倒なのはどっちよ。
2で汎用的な解析が出来るライブラリがあるなら、折れも知りたい。
現状シコシコとパースしてるよ。
587nobodyさん:03/11/21 11:44 ID:???
POSTやSSL使わないなら
ファイル名に http://〜 で始まるURL指定すれば
ソケット気にしなくていいけどな
588nobodyさん:03/11/21 12:44 ID:???
>>559
俺もクラスの使い方を勉強し始めたときに、全く同じ事を考えたよ。
SQLクエリーを一箇所に集めることで、DBに変更が生じても修正しやすいかなと思って。
でも、各ページで共通なクエリーってほとんど無くて、ファイルサイズが大きくなって
メンテナンスしにくくなったので、今は以下のようにしてます。
1.→PEARのDBクラスをそのまま使用
3.→DBへの接続とクエリーの発行、デバックレベルのコントロールのみ
各クエリー→各ページに分散。

また、3ではPEARのDBクラスを継承せずincludeするだけにしてます(オーバ
ライドする必要無いし、オーバヘッドが増大するだけなので)。

これが正解かどうか分かりませんし、ニュアンスが伝わったかどうか不安ですが
こんなところで。
589nobodyさん:03/11/21 14:01 ID:???
XML_HTMLSax
590nobodyさん:03/11/21 14:36 ID:pFM+b2MN
異なるクラスのインスタンス同士で
メンバー変数をまるまるコピーするには
どうしたらいいのでしょうか
ひとつひとつ手でコピーするしかないの?
591nobodyさん:03/11/21 14:57 ID:nF07L8Ty
mail()関数を使ってメールを送りたいのですが
以前Shift_JISでやってたときは正常にいけてたのですが
EUCにすると件名がおかしくなり
又、本文もOEでは自動選択では化けておりEUCを指定すれば
見れるようになるのですが
何もせずに両方正常に見れるようにするには
どうすればよろしいのでしょうか?
592nobodyさん:03/11/21 15:07 ID:???
>>591
バージョンとか環境が無いが・・・
SJISで化けないように見えたのはたまたま
mail()のかわりにmb_send_mail()を使う
バージョンによってはphp.iniの設定も必要かもしれん
593nobodyさん:03/11/21 17:44 ID:6RTImdno
CSVのデータをFlashで読ませるためにphpを通して作ろうと思うのですが
日本語が文字化けしてしまいます。
mb_convert_encoding($***, "SJIS", "EUC");
としてブラウザではShift_JISでまともに表示できるのですが、flashだと
化けてしまいます。EUCでももちろん化けます。
何か良い方法はないでしょうか?
594nobodyさん:03/11/21 18:02 ID:???
595nobodyさん:03/11/21 18:03 ID:6RTImdno
593です。
mb_convert_encoding($***, "SJIS", "EUC");
↑間違えました。
array_convert_encoding( $CsvData[ $i ], SJIS);
です。
596nobodyさん:03/11/21 18:08 ID:6RTImdno
>>594
すげー!できました♪
こんなに簡単なことだったとは・・・
ありがとうございます!
597nobodyさん:03/11/21 22:08 ID:VKePmfjV
form.txtというテキストファイルに入力フォームを作って、
それを、php本体のファイルから、$_REQUESTや、$_POSTを使って呼び出す事ってできないんですか?

本体自体に入力フォームを作れば、普通に呼び出せるのですが…
別のファイルのnameって参照できないのでしょうか?

もう2時間以上調べたり、試行錯誤したりしてるんですが、どうしてもできません。
どうかよろしくお願いいたします。
598nobodyさん:03/11/21 22:12 ID:???
>>597
呼び出し元
<html略
<?php
readfile("form.txt");
?>
略submit></html>

別ファイルのフォーム
<textarea name="name"></textarea>

受け取る側
<?
$data = $_POST['name'];
?>
こういうこと?
599597:03/11/21 22:26 ID:VKePmfjV
>>598
そうです!
でもどうしてもnameが参照できないんです。
わかりますでしょうか?
600nobodyさん:03/11/21 22:34 ID:???
>>599
別ファイルの作りが悪いんでは?
formのsubmitがあるコンテンツをブラウザの
「htmlソースを見る」で見たらどうなってる?
601597:03/11/21 22:39 ID:VKePmfjV

>>600
フォームがあるファイルはtxtなんで、htmlではないんです。
htmlにしたほうがいいですか?
602597:03/11/21 22:53 ID:VKePmfjV
>>600
ごめんなさい、form.txtと、bbs.phpという二つのファイルしか用意していませんでした。
もっと詳しく書きます。

form.txtにある、<textarea name="BODY"></textarea>を
bbs.phpで、$_POST [ "BODY" ]で呼びだそうとしています。

これはやり方が違うんでしょか?
何度も恐縮です。
603nobodyさん:03/11/21 23:28 ID:???
あるファイルを

現在のディレクトリ → 別のディレクトリ

という風に変更したいんですが、できるんでしょうか?

public_html
   ├ 0 - this.html ←このファイルを
   └ 1
    └ 2 ←ここに移動
604nobodyさん:03/11/21 23:34 ID:???
>>603
copy関数を使え。
605nobodyさん:03/11/22 00:44 ID:+R8gCL5F
すいません
半角文字を全角にしたいんですけど
そんな関数ってないですか?
「アb12」→「アB12」のような感じで
606rwxr---wx ◆jTWOZwTY1g :03/11/22 01:09 ID:p23nlexh
607nobodyさん: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)関数をよんだところ、
こんな関数しらねえよ、みたいなエラーがでました。
・・・無理なんですか?
608nobodyさん:03/11/22 01:11 ID:???
>>605
> すいません
ゆるさん。

マニュアル嫁よ。
ttp://jp2.php.net/manual/ja/function.mb-convert-kana.php
609rwxr---wx ◆jTWOZwTY1g :03/11/22 01:11 ID:p23nlexh
>>603-604
renameのほうがいいんでない?
610605:03/11/22 01:32 ID:+R8gCL5F
>>608
あ、ごめんなさいmb_convert_kanaもi18n_ja_jp_hantozenもつかえないようなんで

> 半角文字を全角にしたいんですけど
> そんな関数ってないですか?
>「アb12」→「アB12」のような感じで
611605:03/11/22 01:33 ID:+R8gCL5F
>>608
あ、ごめんなさいmb_convert_kanaもi18n_ja_jp_hantozenも今のWebサーバじゃつかえないようなんですよ。
他に方法ないですかね・・・

> 半角文字を全角にしたいんですけど
> そんな関数ってないですか?
>「アb12」→「アB12」のような感じで
612nobodyさん:03/11/22 01:47 ID:???
>>611
jcode.phpで出来たような
613nobodyさん:03/11/22 01:51 ID:???
$message = "漢字ハンカクモジ1234567890";
$message = wordwrap( $message, 1, "<br>", 1);
print "$message";

↑のように文字を一文字ずつ縦に並べたいのですが、
漢字の部分が文字化けしてしまいます。
漢字の部分が文字化けせずにうまく表示する方法はありますか?
614nobodyさん:03/11/22 01:54 ID:???
>>610
ちょっとURLが出てこないけど、そういう関数を自作して(文字コード表を
持っておいて変換する)公開してた人がいたから探してみ。
615nobodyさん:03/11/22 02:11 ID:???
616590:03/11/22 07:34 ID:???
だれかわかるひといませんか?
617nobodyさん:03/11/22 09:03 ID:???
>>616
(´-`).。oO(なんでそういう疑問が出たのだろう・・・)
618nobodyさん:03/11/22 09:04 ID:???
$_SERVER['SCRIPT_NAME']と$_SERVER['PHP_SELF']の違いを教えてください。
619nobodyさん:03/11/22 09:52 ID:???
>>601
いや、「フォームがあるファイル=txt」をphpで読み込んで実際にhtmlが生成されて、
ブラウザに渡されてるときはどうなってるの?つう事なんだけど。
htmlのformエレメントにしたがってgetなりpostなりするのはブラウザのお仕事だから。
620597:03/11/22 11:35 ID:???
>>619
form.txtに作ったフォームを、<form></form>タグで囲うのを忘れていただけでした…
これだけ抜かしただけでも動かないんですね。
お騒がせしました。
色々とアドバイスをくださりまして本当にありがとうございました。
621nobodyさん:03/11/22 13:15 ID:???
>>613
mb_strcutを使ってみそ。半角かなは試したこと無いけど。
622nobodyさん:03/11/22 14:02 ID:BXEaKw0h
フォームで飛んだページからhistory.back()を使って
戻ろうとしたらエラーがでてしまってうまく戻れません。
調べたらsession.cache_limiterの値がnocacheになっており
これを変更したらいけると思うのですが
PrivateやPublic等の違いがいまいちわかりませんので
教えていただけませんでしょうか?
参考URL等でも結構です。よろしくお願いします。
623nobodyさん:03/11/22 14:13 ID:???
history.back()を使わない
624nobodyさん:03/11/22 14:21 ID:???
賛成!
625622:03/11/22 14:22 ID:BXEaKw0h
えっ、じゃあ前のページに戻るにはどうすればいいのでしょうか?

あ、で今publicやprivateにしたんですが直りませんでした。
他に設定しないといけないのでしょうか?
626nobodyさん:03/11/22 14:53 ID:???
>>622
history.back()ってJavascriptじゃないの?

そのフォームがプレーンなHTMLなら問題ないよね。
フォームのページを動的に作るなら、テンプレートクラスを使ったら?


627590:03/11/22 15:11 ID:???
>>617
クラス O にはメンバ hoge,piyo がいて
クラス K にもメンバ hoge,piyo がいるとき

$k->hoge = $o->hoge;
$k->piyo = $o->piyo;

とやるのが面倒なので、一気にコピーしたいんです。
クラス O の他のメンバもコピーされてしまっても気にしないです。
628nobodyさん:03/11/22 15:32 ID:???
>>627
hogeとpiyoを保持し、値のセット、ゲットを行うクラス(OYA)を作って、
クラスO、KはOYAを継承すれば?
629590:03/11/22 16:22 ID:???
>>628
継承等出来ない場合を想定してます。

たとえば、mysql等のデータベースを利用しているとき
フィールドと同名の要素を変数として持たせたクラスを
設計したときとか、mysql_fetch_objectで取得したオブジェクト
の各インスタンスを丸コピー出来たら便利だな、とか。
630nobodyさん:03/11/22 17:21 ID:vBe/Mytc
連想配列のキー文字列を宣言後に変更することは可能でしょうか?
$hoge = array("key"=>"value");
$hoge = xxx( "key", "key2");
で"key2"=>"value"になるようにしたいのですが。
631nobodyさん:03/11/22 17:31 ID:ZuYJGW09
mpegファイル用のアプロダってあるんでしょうか?教えて下さい。
もし板違いならどこで聞けばいいのか教えて下さい。
632nobodyさん:03/11/22 18:04 ID:???
>>629

こんな感じか。

foreach (get_object_vars($o) as $key => $val) {
    $k->{$key} = $val;
}

>>630

やりたいことがよく分からないけど、こういうことかな。

$hoge = array("key2" => $hoge["key"]);
633590:03/11/22 18:27 ID:???
>>632
(゚∀゚)キター!
すばらしいです。
そうか、こういうのがあるのか
634nobodyさん:03/11/22 18:55 ID:???
>>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)を呼べば一発でコピーしたことにならん?
(ソースは超適当。行数制限のため読みにくくてスマソ)
635634:03/11/22 18:56 ID:???
スマン。リロードして無かったよ…
636603:03/11/22 21:10 ID:???
>>604
>>609

アドバイスありがとうございます。
レス遅れて申し訳ない。

copy()だと移動したファイルが元のフォルダに残りますよね?
rename()だと完全に移動できちゃうんでしょうか?元のフォルダに残ります?
637nobodyさん:03/11/22 21:26 ID:GrZ4t9i9
PHPのデータベースシステムがPHP4.2.0を使っているんですが、
最新の4.3.4にバージョンアップする必要はありますでしょうか?
不具合が出る可能性もあるのでしなくていいならバージョンアップしないですませたいのですが。
638nobodyさん:03/11/22 21:41 ID:???
>>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
しといた方がいいんじゃないの?
639nobodyさん:03/11/22 21:50 ID:???
>>637
4.2.0からならやっといた方が良いんじゃないの?
3.x、4.0.6からならソースをチェックしといた方が良いけど。
640nobodyさん:03/11/22 21:55 ID:???
638の通り、少なくてもPHP4.2.2には上げるべき。
それか「マルチバイト系のバグパッチがあたった」PHP4.2.3。
#PHP4.2.4は正式に出して欲しかった...

PHP4.3.4だと日本語の設定や動作が多少違うのでポン入れ替えでは駄目。
大した変更ではないのだが「バージョンアップする必要はありますでしょうか?」
の時点で自力では無理だと思うので、ChangeLog読んで入れ替えの必要を感じたら
そのデータベースシステムを構築したところに相談してください。
つか、バージョンアップの必要性もそこに相談したら?
641nobodyさん:03/11/22 22:27 ID:???
バージョンが4.2.0の時点でその会社にはやる気がないな。
642nobodyさん: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です";

時間を漢字表記するために
現在↑のようにしているんだけど、
もっと簡単に出来る方法ありますか?
643nobodyさん:03/11/23 11:20 ID:???
>>642
$a = array( "0", "1", "2", "3", "4", "5", "6", "7", "8", "9" );
$b = array( "〇","一","ニ","三","四","五","六","七","八","九" );

$rtime = str_replace($a, $b, $rtime);
644nobodyさん:03/11/23 11:59 ID:VWGWrsR+
サイトの最終更新日時はjavascriptのコマンドを
アドレスバーに入力することによって分かりました。
しかし、拡張子:php3というサイトに行ってそのコマンドを
試したところ今現在の時間が表示されるだけで更新日時は分かりま
せんでした。

php3サイトでの最終更新日時を表示させる方法を知っておられる方
おられましたらお返事ください。宜しくお願いいたします。
645nobodyさん:03/11/23 12:05 ID:???
>>643
なるほど、ありがとうございます!
646nobodyさん:03/11/23 13:56 ID:???
phpの最終更新日=お前が見てるその時。
647nobodyさん:03/11/23 15:09 ID:4nY9jFdL
$data = "test";
こうした場合に、$dataをdata.txtとしてDLされるようにはできますか?
$dataを表示するのはわかったのですが、DLされるようにするにはどうしたらいいのでしょう
648nobodyさん:03/11/23 16:09 ID:???
♪マイムマイムマイム(ry

WinIEには諸刃の剣
649nobodyさん:03/11/23 16:43 ID:???
>>611
>>200

過去ログぐらい見れ
650nobodyさん:03/11/23 16:51 ID:???
651nobodyさん:03/11/23 17:06 ID:???
>647
text/plain

serialize($data)
http://www.php.net/manual/ja/function.serialize.php

ああ、text/plainのMIMEタイプを
"DL"するユーザエージェント使ってくれ。
652nobodyさん:03/11/23 18:01 ID:rPJOre3u
PHPEclipse使ってる人あんまりいないんかな?
Eclipse利用者はほとんどWebStudio派?
653nobodyさん:03/11/23 19:49 ID:???
if分岐で飛ばすページを変えようとしとるのですが、
指定したULRに飛ばす関数は何を使うのでしょうか?
654nobodyさん:03/11/23 20:11 ID:???
>>653
header
655nobodyさん:03/11/23 20:26 ID:???
file_get_contents
でタイムアウトを設定する方法はありますか?
656nobodyさん:03/11/23 21:25 ID:rPJOre3u
>>655
max_execution_timeの問題じゃなくて?
657nobodyさん:03/11/23 23:38 ID:QsyZNjyu
>>653

指定したURLに飛ばすなら
header("Location: http://www.hoge.com/");

指定したULRに飛ばす方法は知らない。
658nobodyさん:03/11/24 00:19 ID:???
<meta>タグでも飛ばせるよ(w
659nobodyさん:03/11/24 00:22 ID:???
>>653
指定したULR (Unicode Language Resouce)に飛ばす方法だけど
unpackかiconvで
バイナリ文字列のコードを取得して,それを元に何語かを判定して
unicode.orgかalanwood.netに飛ばせると思う。
未テストだけど、どう?
660nobodyさん:03/11/24 01:31 ID:+lHsWlKU
質問があります。

ttp://pic.to/www.shamezo.com/dog_jpg
↑コレってどうやって引数を渡してるのでしょうか?
普通は引数の受け渡しをする場合は
ttp://****.com/?hoge=111 のようにしますよね。

PHPに関係ある内容なのかは分かりませんが
教えていただけないでしょうか?

どうか宜しくお願いいたします。
661nobodyさん:03/11/24 01:36 ID:???
path_info
662nobodyさん:03/11/24 01:38 ID:???
mod_rewrite
663nobodyさん:03/11/24 01:52 ID:???
>>660
mod_rewrite モジュール
http://httpd.apache.org/docs/mod/mod_rewrite.html

PHPは関係ない
664nobodyさん:03/11/24 01:56 ID:K+lZFZJG
>>660
.htaccess
知ってる?
665nobodyさん:03/11/24 02:09 ID:???
<?php print($HTTP_USER_AGENT); ?>と書くと

DoCoMo/1.0/N504iS/c10/TBと出ますが

↑をN504iSと表示

Mozilla/4.0 (compatible; MSIE 6.0; Windows 98)

↑をpcと表示にしたいんですが、
どう書けば良いですか?
666nobodyさん:03/11/24 02:15 ID:K+lZFZJG
eregi関数でいいんじゃない
667nobodyさん:03/11/24 03:01 ID:???
>>665
split("/",...)で分割してarray[0]が"DoCoMo"ならarray[2]を表示。
"Mozilla"なら"pc"と表示。
668nobodyさん:03/11/24 03:09 ID:K+lZFZJG
if (ereg("DoCoMo","$HTTP_USER_AGENT")) {
print"ドコモ";
}
でいいじゃん
669nobodyさん:03/11/24 03:13 ID:???
携帯用エロサイト構築担当者が紛れ込んでいるようです
670nobodyさん:03/11/24 03:39 ID:???
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);

よろしくご教示お願いいたします。
671660:03/11/24 08:51 ID:9Tk3ShCC
>>661-664
ご返答本当にありがとうございます。
http://hoge.com/http://hoge.jpgと表現することによって
これがhttp://hoge.com/a/index.php?http://hoge.jpgと同じ意味になるようにしたいのですが
.htaccessに

RewriteEngine on
RewriteBase /a
RewriteRule /a/  index.php?
としてみたのですが全く動作をいたしません。
どうしたらよいのか説明を読んでも全く分かりません。
どうかご教授をお願いします。
672nobodyさん:03/11/24 08:58 ID:???
673nobodyさん:03/11/24 10:16 ID:pOpbqF88
Apacheにmod_status.soを組み込むと、接続を待っているコネクションの数とか
keep aliveしている接続数とかが取得できますが、あの値をPHPで取得する
方法ってありませんかね。今現在の接続数を取得したいんですが。
674nobodyさん:03/11/24 10:47 ID:???
>>673
http経由でserver-statusのページを読み込んで解析する。
675673:03/11/24 11:04 ID:pOpbqF88
>>674
ありがとうございます。じつはその方法も考えたのですが、server-statusのように
動的に作成されるファイルの内容を取得する方法が分からなかったりします。

telnetで80番ポートに繋いで、GETメソッドで取得するくらいしか思いつかないのですが、
他に便利な関数でもありますでしょうか。今マニュアルを読んでいるところですが…。
676nobodyさん:03/11/24 11:18 ID:???
>>669
それだ!
携帯用エロサイトの作成方法を学べばいいんだ!
ナイスヒントありがとう
677nobodyさん:03/11/24 11:32 ID:???
>>675
fopenで取得出来るが・・・
678nobodyさん:03/11/24 11:43 ID:???
>>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;
?>
679673:03/11/24 11:51 ID:pOpbqF88
>>677
そのとおりでした…、いろいろ激しく勘違いしてました。ありがとうございます…。
680673:03/11/24 11:56 ID:pOpbqF88
>>678
ありがとうございます。
file('http://localhost/server-status');
は真っ先に試したのですが、.httpd.confの書き方がまずくて
取得できていなかっただけなのですた…。

スクリプト参考にさせていただきます。
681678: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;
?>
682nobodyさん:03/11/24 12:50 ID:???
便乗質問ですけど,自分も含めた全接続数(ユーザ数)なら,
"R","W","K","D"をカウントすれば良いんですかね。

”L"(logging)もユーザのプロセスを表すんでしょうか?
683nobodyさん:03/11/24 18:28 ID:ZgzIc743
PHP歴一週間です。
MySQLをプロバイダーにアップロードして使うことって可能なんでしょうか?
何か詳しいページとか知っている方がおりましたら教えてください。
684nobodyさん:03/11/24 18:29 ID:???
ワラタ
685nobodyさん:03/11/24 18:34 ID:???
>>683
SQLiteくらいにしときなはれ。

といっても通じるか激しく不安…。
686nobodyさん:03/11/24 18:40 ID:ZgzIc743
SQLiteってライブラリーで全部やっちゃうやつでしたっけ?
MySQLってのがどういう環境で動くかよくわかってないです・・・
687nobodyさん:03/11/24 19:59 ID:???
プロバイダや借りてるプランによると思いますが、十中八九無理だと思います。。。
なぜ、MySQLを使うんでしょうか?
688nobodyさん:03/11/24 20:32 ID:ZgzIc743
勉強中だから
理由それだけですw
689nobodyさん:03/11/24 20:52 ID:???
なるほど。
では、セットアップから勉強してみてはいかがでしょう?
こんな板もありますし。

データベース板
http://pc2.2ch.net/db/
690nobodyさん:03/11/24 20:55 ID:???
つーか邪魔だ失せろ
691nobodyさん:03/11/24 20:56 ID:???
>>689
ご親切にありがとう
692nobodyさん:03/11/24 20:59 ID:???
>>688
勉強が目的ならローカルに入れるという手もあるよ。
WindowsでもApache+PHP+MySQLは動くからね。
693nobodyさん:03/11/24 21:21 ID:???
>>692
ありがとう
でも、どうせなら、みんなに見せたいw
694nobodyさん:03/11/24 21:25 ID:???
見せる意味のあるものならな(ゲラ
695nobodyさん:03/11/24 21:35 ID:FD1cyWLj
公式ページがParseエラー吐いてるょ・・・(泣
696nobodyさん:03/11/24 21:41 ID:???
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
697nobodyさん:03/11/24 21:55 ID:lX2TxRqK
yahoo推薦だから安心です
http://click.dtiserv2.com/Click2/10-98-7254
698nobodyさん:03/11/24 22:00 ID:FD1cyWLj
EUCでスクリプトを書いてて、データファイルをSJISで書き出したくて
mb_convert_encoding ($str, "SJIS", "auto");
としたり、jcode.phps を使ったりしてるのですが、書き出される
ファイルがEUCになってしまいます。
原因は何なんでしょうか?
699nobodyさん:03/11/24 22:39 ID:???
>>698
返り値
700698:03/11/24 23:25 ID:???
>> 699
ども、解決しました。
701nobodyさん:03/11/25 06:58 ID:???
PHP4.2.2を使っています。

mail() is not supported in this PHP build
というエラーが出ました。

mailを使うためには、ビルドオプションの何を設定すればいいのでしょうか
702nobodyさん:03/11/25 07:55 ID:???
>>701
こういう時はまずマニュアルを読もうな。
configureオプションは特に必要無いが、make時にsendmail binaryに
アクセスできる必要がある。sendmailを止めている時にコンパイル
したんじゃないの?それかパスが標準のものではないとか。
703nobodyさん:03/11/25 07:58 ID:???
>>702
sendmailが入ってさえすれば、止まっていても問題ない。
704nobodyさん:03/11/25 08:17 ID:???
>>703
そうですた。フォロー感謝。
705nobodyさん:03/11/25 12:25 ID:???
phpマニュアル日本語版がみられない・・
706nobodyさん:03/11/25 12:29 ID:???
>>705
そんなの複数あるから別のところ見ればいいだろ
707nobodyさん:03/11/25 12:58 ID:???
>>706
jp.php.netやjp2.php.netもフランス語(?)になっているよ。
日本語が生きているサイトってありますか?
708nobodyさん:03/11/25 13:05 ID:???
709nobodyさん:03/11/25 13:25 ID:???
このゴルァメール文はどう?

Hi, I am looking for the PHP Documentation of Japanses.
Where is Japanese Documentation?
I do not understand French.

Regard.
710nobodyさん:03/11/25 13:30 ID:???
マニュアル。
Windowsヘルプ形式しかないけどダウンロードする手もある。
711701:03/11/25 13:37 ID:???
>>702
マニュアルを読んでもわからなかったのです。
とりあえず、今 再コンパイルが終わったので
再インストロールして確認したところ メール出ました。

>>703
sendmailが入っていても、止まってたときコンパイルしたもの
は駄目みたいです。これは私の体験談です。
712nobodyさん:03/11/25 14:28 ID:???
>>711
(゚Д゚)ハァ?
sendmailでもpostfixでも止めている状態でインストールしてもちゃんと使えてますが。
ついでにいうと、MTAデーモンを止めている状態でもメール送信できます。
qmailは試したことが無いので、わからんが。
713nobodyさん:03/11/25 15:49 ID:???
>>712
ハァ じゃありませんよ

・・・まぁ今回はこのくらいで勘弁したる
714nobodyさん: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で利用するページがあったとき、

何か問題が起こる事ってありますか?
ちなみに、自分の環境では、特に問題なかったのですが。

マニュアル読んでも、リファレンスブック数冊読みあさっても、
この辺に触れている情報がなかったもので、質問させていただきました。

どうか、こんな糞な漏れを叩きながら、教えて下さい。
715nobodyさん:03/11/25 17:46 ID:???
>>714
それなら別に全く何もまるっとすりっと問題無い。
716nobodyさん:03/11/25 18:08 ID:???
くどいw
717nobodyさん:03/11/25 18:51 ID:Gjmr9rPM
flashを使ってloadVariablesでphpを通してcsvファイルを読み込む
というものを作っていて、winだと正常に表示されるのにmacだと
読み込むことができません。何か考えられる理由がございましたら、
どなたかご教授いただけないでしょうか?
718714:03/11/25 20:25 ID:???
>>715

モヤがとれ
 気分晴れやかに
    なりますた

ものすごく感謝です!
719nobodyさん:03/11/25 20:34 ID:???
>>717 各行の改行コード  と脊髄反射
720nobodyさん:03/11/25 21:08 ID:DkYGwGyS
>>719
なるほど、ありがとうございます。
改行コード変えてみます。
脊髄反射ってなんだろう・・・。
721nobodyさん:03/11/25 22:08 ID:???
脊髄反射
キーワードをみて頭で考える前にレスを書く
722nobodyさん:03/11/25 22:22 ID:GDlIUM5f
なんか質問がループしてない?
723nobodyさん:03/11/25 23:17 ID:???
>>722
何をいまさら
724nobodyさん:03/11/25 23:33 ID:???
http://jp.php.net/
日本語じゃなくなってる・・・
725nobodyさん:03/11/25 23:52 ID:???
726nobodyさん:03/11/26 00:05 ID:???
なんか質問がループしてない?
727nobodyさん:03/11/26 01:02 ID:???
おもろい
728nobodyさん: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ができるのでしょうか。
729nobodyさん:03/11/26 02:20 ID:???
--with-apx2= は --with-apxs2=じゃない?
貼る時ミスった?
730nobodyさん:03/11/26 02:21 ID:01znQriM
やってもーたかー、ちょっとたしかめます。
731nobodyさん:03/11/26 02:41 ID:01znQriM
やってました。ありがとん。
732nobodyさん:03/11/26 03:26 ID:???
>>725
フランスだよ!フランス!
733nobodyさん:03/11/26 07:48 ID:???
        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
734nobodyさん:03/11/26 09:48 ID:???
>>728
そういや、言うの忘れたが
--enable-mbstring --enable-mbregex の2つは入れたほうがいいかも
それ以外のマルチバイト指定はつけてないなぁ
735nobodyさん:03/11/26 10:58 ID:???
>>734
php4.3.4だと、--enable-mbstringで --enable-mbregexも
含まれるようになってますよ。逆に外すのに
--disable-mbregexという指定が増えた。
新しいバージョンの最初のコンパイルの際には、
./configure --help で逐一確認するのが吉。
736nobodyさん:03/11/26 11:25 ID:mWhZstI6
717です。
改行コード変えてみたのですが、ダメでした。
他に考えられる原因ご存知の方おられましたら、ご教授ください。
737nobodyさん:03/11/26 11:40 ID:6jd0hKUA
質問スマソ
if($hoge)

if (isset($hoge))
は等価ですか?
738nobodyさん:03/11/26 12:01 ID:???
>>737
これ実行してマニュアル読んで死ね。
<?php
$str = 0;
if (isset($str)) {
echo "true";
} else {
echo "false";
}

echo "\n<BR>";

if ($str) {
echo "true";
} else {
echo "false";
}
?>
739nobodyさん:03/11/26 18:47 ID:???
phpで関連・集約を
実装するにはどうするのが
常道なんでしょう?
740nobodyさん:03/11/26 19:21 ID:???
PHP で動作する CMS(Content Management System) を探しています。
PHP-Nuke や Xoops のように、読者?参加型の掲示板みたいな
ものは必要なく、ブラウザでコンテンツの内容を修正し、
書き込めるといったことに主眼を置いているソフトウェアを
探しています。

HTML の知識がないような初心者でも、ブラウザからぱぱっと内容を
変更できるものが理想ですが…。

PHP で動作する CMS でよいものがあれば教えていただけ
ないでしょうか?
741nobodyさん:03/11/26 19:31 ID:yQGS5nZS
クラスを作って、インスタンス化し、それを配列にしたり、引数にしたりしたいんだけど、
できますかね?
742nobodyさん:03/11/26 19:33 ID:???
>>741
オブジェクト指向の基礎から勉強しましょう。
憂鬱な〜
ていう本わかりやすいよ。
743nobodyさん:03/11/26 20:21 ID:???
>>741
言語リファレンス::クラスとオブジェクト嫁
744nobodyさん:03/11/26 21:18 ID:???
>>740
pukiwikiとか、phpで出来てるwiki
745740:03/11/26 21:35 ID:???
>>744
やはり wiki ですか。

wiki も考えたんですけど、デザインがある程度固定される
じゃないですか。こう、デザインはテンプレートみたいなので
あらかじめ決めておき、表示する中身を埋めていく、みたいなのが
ないかな、と思っているのですが。

やはり、そんなんはないかな。。。
746nobodyさん:03/11/26 22:45 ID:???
参照渡しがよくわからないです。
下の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();
?>
747nobodyさん: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文を抜けるにはどうしたらよいでしょうか?
748nobodyさん:03/11/27 00:36 ID:???
749nobodyさん:03/11/27 00:39 ID:???
>>745
pukiwikiもデザインテンプレート作って、全体のデザインはカスタマイズ出来ますけどね。
まあ言わんとしてることも判らないでもない。多分blogっぽい使い方をしたいのかな。
だったら下のスレで訊いてみそ。

PHP系blogツール
http://pc2.2ch.net/test/read.cgi/php/1069352373/
750nobodyさん:03/11/27 01:13 ID:???
>>747
オレはそういう時は構造から見直すが、
do {
} while (0);
でくくって、breakを使えるようにしてるやつを見たことがある。
751nobodyさん:03/11/27 01:21 ID:???
簡単にこんな↓ふうじゃダメ?

if(条件1){
 if(条件2){
  処理1;
 }elseif(条件3){
  処理2;
 }else{
  処理3;
 }
 if(!条件3){
  処理4;
 }
}
752nobodyさん:03/11/27 01:28 ID:???
pearコマンドでSpreadSheetExcelとかをインストールしたいのですが,
unstableだから駄目といわれてしまいます。
/usr/local/etc/pear.confを書き直せばいいっぽいですが,
書き方がわかりません。

た〜す〜けーて〜!!
753nobodyさん:03/11/27 03:55 ID:???
mb_send_mailを使ってメールを送ってるんですが
送信元の部分が[email protected]って感じで表示されちゃいます。

送信元を偽りたいのですが(FAKEMAILERのように)どこをかえればいいのですか?
754nobodyさん:03/11/27 06:07 ID:???
755nobodyさん:03/11/27 08:48 ID:???
>>753
ヘッダー部分のFROM:は自分で書いたか?
ドキュメントのsend_mailの部分に例が書いてあるぞ。
ついでに-fも付けておくとサーバ管理者にエラーメールが届かないようになるぞ。
756nobodyさん:03/11/27 11:33 ID:6RLdJ9Zz
>>747
if(条件1){
 if(条件2){
  処理1;
  処理4;
 }elseif(条件3){
  処理2;
 }else{
  処理3;    
  処理4;   
 }
}
757nobodyさん: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しているために望む結果が得られません。

こういう場合、普通はどうしているもんなんでしょうか?
758nobodyさん: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;
}

としたらちったー早くなりました。でもまだ冗長な気がするんだけどなぁ
759nobodyさん:03/11/27 20:30 ID:???
>>758
それだと、毎回バックエンドから必要以上のデータが転送されるので、余計無駄なんじゃないの?
問い合せ(アクセス)が少なければキャッシュに載って速くなるかもしれんけど。
>>757のやり方(select count(*) from hoge where hogehoge;)しかないとおもうんだけどなぁ。
後、たぶん端折っただけで知っているとは思うけど、order byは入れておかないとね。
760nobodyさん:03/11/27 20:35 ID:2iYDtIiQ
>>759
SQLサーバとwebサーバはギガビットLANでつながれているので、そんなに問題じゃないと思うんですがどうなんでしょう。
とりあえず
0.7s -> 0.5s
0.14s -> 0.12s
0.07s -> 0.07s
にはなっているので、効果はあるみたいですが・・・。

orderははしょったというか忘れてました。もちろん本物には入ってます。
761nobodyさん:03/11/27 20:35 ID:???
>>759
んなこと聞いてねーよクズ
762nobodyさん:03/11/27 20:46 ID:???
>>760
その結果は何件のヒットだったの?
763nobodyさん:03/11/27 20:47 ID:2iYDtIiQ
>>762
全部1千件ぐらいです。
764nobodyさん:03/11/27 21:04 ID:???
sqlを2回発行するより、抽出した全件を転送した方が速いと言うことか?
データにもよると思うけど。
765nobodyさん:03/11/27 21:05 ID:???
仕事でやることをこんなとこで聞くなよ
766nobodyさん:03/11/27 22:25 ID:???
echo "input type=file name='test' value=".$test.""
でファイル名を取得するとき
$testで取得するファイル名にバックスラッシュが入っているとファイル名の一部が消えるという現象が起きるのですが
どうやって対処したらいいのでしょうか?
767nobodyさん:03/11/27 23:08 ID:???
>>766
ファイル名にバックスラッシュを使うなと
祖父の遺言にあったのをお忘れですか?
768nobodyさん:03/11/28 00:07 ID:???
ファイル名にバックスラッシュ入れるやつが悪い。

対処法は「ファイル名を変えろ」
769nobodyさん:03/11/28 00:29 ID:???
文字列の文字コードを知る方法はありますか?

if(!strcmp($str,mb_convert_encoding($str,"EUC-JP")))return "EUC-JP";
なんて思いついたんだけど、さすがにアホっぽくて・・・
770nobodyさん:03/11/28 00:30 ID:???
,"auto" が抜けてた
771nobodyさん:03/11/28 00:47 ID:???
ttp://www.php.net/manual/ja/function.mb-detect-encoding.php
誰が最初に書き込むかの競争?
それともこういう意味ではなく?
772nobodyさん:03/11/28 01:27 ID:???
PHP で、PHP のソースにある全関数、全変数、全クラスを配列にいれる方はありませんか。
PHP_Parser だと全変数が出るわけじゃなくって。
773nobodyさん:03/11/28 07:16 ID:???
>>772
あなたが今使っているサーバで有効になっている全関数なら既出。
過去ログ参照。
774nobodyさん:03/11/28 10:54 ID:pumCEpNl
初心者で申し訳ありません。
上のほうにも似たような?質問があるようなのですが、
PostgreSQLとPHPでつくられた学習のシステムがあって(e-larning)
利用者のIDや名前やメールアドレス、講義、講師などはすべてデータベースに
格納されています。

ブラウザでアクセスするとPHPでかかれたページし、
それぞれの学習者に応じたページがでてきます。

これをいじらなくてはならなくなり、
学習者がログインしていろんなページにアクセスされる度に
そのログをはきたいと思っています。
普通のアクセスログ(リモホや時間)は吐き出せるですが
データベースにあるその学習者のIDなどもいっしょに吐き出したいのです。

PHPで学習者のIDなどが格納されているテーブルに対して
pg_execとかnumcolumns,pg_resultをつかってPHPを書いたのですが
うまくいきません。

どうすればいいでしょうか?アドバイスをお願いいたします。
775nobodyさん:03/11/28 10:56 ID:???
そんなん、テーブルの構造とうまくいかないというSQLを
出してもらわないとさっぱりわからん
776nobodyさん:03/11/28 15:28 ID:REwnJW+M
ファイルにデータを書き込むとき、ファイルポインタの位置って任意に指定できないのでしょうか?
色々試しているのですが、ファイルの先頭か終端しか指定できません。

どうかお願い致します。
777nobodyさん:03/11/28 15:35 ID:???
>>776
君、マニュアルを読んでみる気は無いかね?
マニュアルはいいぞー。あったかくておっきくてなー。
778nobodyさん:03/11/28 15:36 ID:???
仕事絡みで分からないことを2chやMLで済まそうって奴が多すぎる

出来ないなら受けるな無能
779nobodyさん:03/11/28 15:38 ID:???
いろいろってどういろいろ試したんだか
$fp = fopen(...);
fseek($fp, $offset, SEEK_CUR);

でいけるっしょ?
オープンのモードにはよるかもしれんが、
追記モードで移動するやつはおるまい
780nobodyさん:03/11/28 17:43 ID:???
>>778
偉そうなことをいっている椰子もいるが、
たまにでるオブジェクト指向関連の質問には
全くレスがつかない。
俺らは所詮その程度のレベルだ。
781nobodyさん:03/11/28 17:49 ID:???
PHPでオブジェクト指向はVer5待ちだと思ってる
782nobodyさん:03/11/28 17:50 ID:???
PHPでオブジェクト指向やろうとは思わんもんなあ
phytonとrubyとjavaとC++あるし
783nobodyさん:03/11/28 17:51 ID:???
newしたらdeleteしないと気持ち悪い香具師の数→(1)
784nobodyさん:03/11/28 18:24 ID:REwnJW+M
>>777
もちろんマニュアルは確認しました。
でもどうしてもわからなかったので…

>>779
回答ありがとうございます。
でも、私の言葉足らずでした、行の最初にポインタを移したいのです。
fseekだと、バイトで指定しないといけないので、行の最初に持って行くのは不可能です…
どういうやり方が考えられるでしょうか?
785nobodyさん:03/11/28 18:25 ID:???
周りから見て気持ち悪い香具師の数→(1001)
786nobodyさん:03/11/28 18:46 ID:???
>>784
\n
787nobodyさん:03/11/28 20:25 ID:VUrH8vz2
print "×";は

と表示されるのに

print "800" + "×" + "3";
だと
803
と表示されます。

800×3
と表示させるようにするにはどうしたらよいですか?

788nobodyさん:03/11/28 20:28 ID:???
>>787
print "800" . "×" . "3";
789nobodyさん:03/11/28 20:30 ID:VUrH8vz2
はやっw
ありがとう^^
790nobodyさん:03/11/28 21:10 ID:REwnJW+M
>>786
ありがとうございます。
fseek($fp, \n, SEEK_CUR);
とやったらエラーがでてしまいました。
\に問題があるとでています。
この書き方は間違ってますか…?
791nobodyさん:03/11/28 21:33 ID:???
ごめんまちがえた。
$buf=fgets($fp, 8000)
な。
8000は必要に応じて変更
な。
これ以上は自分で調べなさい。
本を買いなさい。
792nobodyさん:03/11/28 23:32 ID:???
>>790
int fseek ( int fp, int offset, int [whence])
793nobodyさん:03/11/28 23:51 ID:???
中を読まないで改行の位置がわかるはず無いだろ
794nobodyさん:03/11/29 03:35 ID:???
明らかにマニュアル読んでない証拠

・・・理解できないだけ?
795nobodyさん:03/11/29 03:44 ID:???
俺全く無関係でマニュアル読んでないけど、fgetsかませばfile pointerの場所移動するからそれを使えって言ってるのかな?
796nobodyさん:03/11/29 04:18 ID:G/R1ECpC
セッションのデータを置く場所は、デフォルトでは「/tmp」ですよね。
で、共有サーバの場合、このままだと危ないかと思うのですが、どうなんでしょう?

ベストは、「自分しか入れないディレクトリの下で、ドキュメントルートより上」かと思うのですが・・・

わざわざ「session_save_path」という関数(ただしPHP4以降)まである模様ですが、
それなのにこういったことがらについて書いたサイトが、探しても、見あたらないので。

(「データを置く場所を変えられる」としか書いてない。)

セキュリティ上、どうなんでしょうか?教えていただければ幸いです。
797nobodyさん:03/11/29 04:59 ID:???
<?php
header("HTTP/1.0 401 Unauthorized");
exit;
?>

とだけ書いたファイルにアクセスしたら、basic認証でだめだった場合の画面になるかと思ったのですが、
空白画面でした。
どこがおかしいのでしょうか?
798nobodyさん:03/11/29 06:11 ID:???
basic認証でだめだった場合の画面って何?
799nobodyさん:03/11/29 06:21 ID:???
headerだけ吐いて画面が表示されるわけないだろう
echoでそういう画面を吐けよ
800nobodyさん:03/11/29 06:36 ID:???
いや、でもheader("HTTP/1.0 403");とかheader("HTTP/1.0 404");は
自動的にブラウザ固有のHTMLを表示させるけど。
どちらにせよクライアントサイドになってしまうので自分できちんと
書いた方がいいんじゃないの?
801nobodyさん:03/11/29 06:42 ID:???
元々そういう画面をブラウザが持っていないだけでは?
404の画面はよく見るけど、401のもあるのかな
802797:03/11/29 06:43 ID:???
>>798
あー、そうか。
理屈がわかりました。ありがとうございます。
803797:03/11/29 06:44 ID:???
もとい、>>798-801さん、ありがとうございます。
804nobodyさん:03/11/29 10:05 ID:???
>>796
> セッションのデータを置く場所は、デフォルトでは「/tmp」ですよね。
> で、共有サーバの場合、このままだと危ないかと思うのですが、どうなんでしょう?
>
> ベストは、「自分しか入れないディレクトリの下で、ドキュメントルートより上」かと思うのですが・・・

そうだよ。

>
> わざわざ「session_save_path」という関数(ただしPHP4以降)まである模様ですが、
> それなのにこういったことがらについて書いたサイトが、探しても、見あたらないので。

マニュアルにもちゃんと書いてあるが?

ttp://jp.php.net/manual/ja/ref.session.php
この設定を/tmp (デフォルト)のようにどこか らでも読み込み可能なディレクトリの
ままにしている場合、サーバ上 の他のユーザがこのディレクトリのファイルのリストを
取得すること により、セッションをハイジャックをすることが可能となります。

他のディレクトリにセッションを保存する場合の注意点としては、ルートより深い階層に
保存する場合は自動ガーベッジコレクション が機能しないことくらいだな。

まずマニュアル嫁。話はそれからだ。
805nobodyさん:03/11/29 11:36 ID:???
マニュアル読んだらこのスレの
存在意義が…
806nobodyさん:03/11/29 11:53 ID:???
session_save_path の項に、注意事項へのリンクがあってしかるべき

と思ってよく読んだらちゃんとあるのな。ウェーハッハッハ
807nobodyさん:03/11/29 12:12 ID:???
>>805
質問が出る→「マニュアル嫁」と回答
以下繰り返し

ここで出る質問と回答って、マニュアルに書いてあることばっかりだし
808nobodyさん:03/11/29 12:20 ID:???
マニュアルに書いてない質問は
誰も答えられない罠
809nobodyさん:03/11/29 12:29 ID:???
マニュアル読めと即答されるだけでも俺はありがたいと思う
マニュアルのどこかには書いてあるということがわかれば
あとはマニュアルをよく読めばいいわけだしな

書いてあるかどうかを半信半疑のまま読み進めるよりも
必ずどこかに書いてあると確信を持って読んでるほうが
気分も能率もいい
810nobodyさん:03/11/29 12:32 ID:???
>>808
正しい日本語でちゃんと質問できたら考えてやるよ。
811nobodyさん:03/11/29 12:38 ID:???
まあ、C++の感覚で
class ClassA
{
  var $property1;
  function ClassA($value)
  {
    $property1 = $value;
  }
}

とか書いて痛い目にあったわけだが

(´-`).。oO(クラス内部から自クラスメンバにアクセスする時はthis使えとはっきり書いてホスィ‥‥)
812nobodyさん:03/11/29 12:53 ID:???
>>811
その方がすっきりしてて俺は好きだけどね。
813nobodyさん:03/11/29 15:04 ID:???
>>811
はっきり書いてあるじゃん
814nobodyさん:03/11/29 18:11 ID:???
PHPで高機能アクセス解析スクリプトの決定版をつくろうと思うのですが、
ログをDBに記録するのはどうでしょうかね?
一つのテーブルにすべてのアクセス記録を残していたら、
いずれ遅くて使い物にならなくなる気がするし、
かといって日別or月別or年別にテーブルをわけたりするのも
なんだかなぁだし、どんなものでしょうか?
(基本的にすべてのログを残しておきたいと考えてます)
815nobodyさん:03/11/29 18:15 ID:???
テキストに出力するよりは格段に高速なわけだが。
816nobodyさん:03/11/29 18:37 ID:???
$ENV{HTTP_REFERER}と$_SERVER['HTTP_REFERER']ってどう違うんですか?
817nobodyさん: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";
}
}
どこが悪いのでしょうか…
アドバイスをお願いします。
818nobodyさん:03/11/29 19:01 ID:???
>>817
エラーが再現する最小限の$inも付けてよ。
819nobodyさん:03/11/29 19:06 ID:???
旨く?
どう表示させたくて、どう表示されるのかを書けよ
820nobodyさん:03/11/29 19:10 ID:???
>>814
定期的に別DBに移動すりゃええだろ
まあ5年に1度でいいだろうけど、コピーに時間かかるから毎月コピーして
1年経過したら消すとかの運用でいいんじゃないか
821nobodyさん:03/11/29 19:10 ID:QbsaEi/6
レス有難う御座います。
レスが何件あるかが、カウントされません。
カウント数を正しくカウントされないのです。
宜しくお願いします。
822nobodyさん:03/11/29 19:39 ID:???
なんでそんなとこで$count++してるのかわかあんが・・・
$count++ の箇所で何か表示させてみろよ

何が悪いかを考えるより、何が悪いかを調べるためには
どうすればいいかを考えろ
823nobodyさん:03/11/29 19:48 ID:???
824nobodyさん:03/11/29 21:05 ID:???
>>816
同じ
825nobodyさん:03/11/29 21:08 ID:???
>>814
設定で別テーブルに移すようにしておけばどうでしょう。
10万アクセスとか、年間でとか、ユーザ側が設定できれば便利かも。
826nobodyさん:03/11/29 21:09 ID:???
>>814
もちろん、公開するんだよね?
827nobodyさん:03/11/30 02:03 ID:???
>>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万件以内。月のアーカイブデータをいじくれば日別も週別も出せる。
じゃまくっさいのでやってない。
828nobodyさん:03/11/30 02:29 ID:???
アクセスログの話が出たのでついでに初心者から質問させてください。
生ログをローテートさせつつPerlでぶったぎってDBにぶち込んだものをPHPで
解析しようと思ってますが、例えば2003/11/29の総PVを知りたいときは
どういうSQLを書くのが効率良いのでしょうか?
829nobodyさん:03/11/30 02:51 ID:???
>>828
TABLEの構造もDBの種類もわからんと・・・
SELECT count(*) FROM log WHERE date = '2003-11-29'
これだと html以外も数えちゃうから'、もうちょっと絞る
830nobodyさん:03/11/30 03:07 ID:???
なるほど。count()なんていう便利なものがあるんですね。
というか勉強不足でした _| ̄|○
831nobodyさん:03/11/30 03:21 ID:???
アクセスログをDBに突っ込んでおけば、sqlで如何様にでも抽出・集計できるから便利だよな。
832814:03/11/30 04:39 ID:???
レス下すった方、ありがとうです。
サイトに合わせて、1年1テーブルとか半年1テーブルとか、
期間ではっきりと区切るのがいいかなと考えました。
区切った期間をまたがった集計はしにくくなるけど、
そこは割り切ってしまってもたいして気にならないだろうと。
833830:03/11/30 06:02 ID:???
ついでに質問させていただきます。
仮にHTMLだけのアクセスログをDBにぶち込んだものとして、
ページの人気ランキングみたいなのをはじき出すためには如何様にするのが
賢いやり方でしょう?

今までCSVとかのテキストファイルでログを作ってた時は全行をループで回して
$PAGERANKING[$page]++;
みたいにしてハッシュを作っていましたが。
834830:03/11/30 06:07 ID:???
すみません、質問の内容をちょっと変えます。

アクセスログをDBにぶち込んだものとして、
訪問者IPアドレスのランキングみたいなのをはじき出すためには如何様にするのが
賢いやり方でしょう?

今までCSVとかのテキストファイルでログを作ってた時は全行をループで回して
$IPRANKING[$ip]++;
みたいにしてハッシュを作っていましたが。
835nobodyさん:03/11/30 07:33 ID:???
少しはSQLの勉強したら、>>833>>834もSQLなら1行で済むから。

select ip,count(ip) as hits from table group by ip order by hits desc;
836nobodyさん:03/11/30 07:47 ID:???
にゃるほど、、、
っていうかややすれ違いな質問にお答えありがとうございました。
SQLの知識なさ杉でした。
837nobodyさん:03/11/30 11:49 ID:pC46kKiS
$text = 'ABCJKLGHI';
のJKLをDEFに置き換えたいんですけど
PHPで特定文字列の置き換えってどうやるんですか?
手持ちの本を一通り調べ検索もしてみたのですが
それらしい物が見つかりませんでした。
838nobodyさん:03/11/30 12:10 ID:???
mk:@MSITStore:D:\Developer\php_manual_ja.chm::/ja/function.str-replace.html
839nobodyさん:03/11/30 12:17 ID:???
>>837
str_replace

とりあえず、その調べた本の書名を書き込んでくれ。
840nobodyさん:03/11/30 12:20 ID:???
ネタとしか
841nobodyさん:03/11/30 12:41 ID:???
str_replaceって
大きい文字列ぶち込んだら動かないみたいなんだけど(汗
みなさんどうやってます〜?
842nobodyさん:03/11/30 12:46 ID:???
>>841
大きな文字列って全角のことか?
ならmb_ereg_replace。

ちゅうかお前あほやろ。本もサイトも知らべんでええからマニュアル嫁。どあほ。
843nobodyさん:03/11/30 12:50 ID:???
>>842
文字数が多い=容量が大きい文字列
844nobodyさん:03/11/30 12:52 ID:???
>>843
ほう。どれぐらいの容量やねん?
845nobodyさん:03/11/30 12:55 ID:???
8.00 KB
846nobodyさん:03/11/30 13:02 ID:???
>>845
質問を小出しにして悪いな。
文字種は?(半角英数のみ?)
変換しようとしている文字は?
動かないというのは具体的にどういう状況?

バグが再現するようなソースを添付してみ。
#その過程で原因に気づくこともあるんでお勧め。
847nobodyさん:03/11/30 13:13 ID:???
>>843
長い文字列と言いますね
848nobodyさん:03/11/30 13:13 ID:???
>>846

ローカルのHTMLを呼び出して
リンク先を置き換える。

全角半角混合のファイル

<?php
$test = include 'test.html';
$test = str_replace ('<a href="/', '<a href="/test.php?go=',$test);
echo $test;
?>
849nobodyさん:03/11/30 13:16 ID:???
includeってファイルの中身を返すものだったっけ?(^_^;)
850nobodyさん:03/11/30 13:17 ID:???
>>846

もっと単純なHTMLファイルを呼ぶと動く

$test = '<html>
<head>
<title>てすと</title>
</head>
<body>
<a href="/Test/">Test</a>
<a href="http://www.google.com/">Google</a>
</body>
</html>';

※<と>は投稿用に全角にしてあります
851nobodyさん:03/11/30 13:21 ID:???
>>848
> $test = include 'test.html';
これの後にecho $test;ってやってみた?
852nobodyさん:03/11/30 13:24 ID:???
>>848
ファイルの中身がそのまんま表示されるんですよね
853nobodyさん:03/11/30 13:25 ID:???
>>852
http://jp2.php.net/manual/ja/function.include.php
これを見る限り、そうは思えないけどなぁ。
854nobodyさん:03/11/30 13:27 ID:???
ファイルの読み込み方に問題があるんじゃないの?
file_get_contentsで読み込んでみるとどうなる?

ちゅうか、replaceする直前にechoで変換前の文字列を
出力して、変換すべき文字列が入っているか確認してみ。
855853:03/11/30 13:28 ID:???
いやできるのか。
856853:03/11/30 13:29 ID:???
ああそうか、PHPでは<?phpと?>で囲まれているところ以外は評価しないでそのまま表示するからそうなるのか。。。
857nobodyさん:03/11/30 13:35 ID:???
includeをこんな使い方している人初めて見た。
読み込むファイルの内容によっては危ないと思うけど。
858nobodyさん:03/11/30 13:41 ID:???
サーバーの方の調子が悪かっただけのようです。
再起動してもらったら動くようになりました。
859nobodyさん:03/11/30 13:45 ID:???
>>858
それでもファイルの読み込みにはそれようの関数使えな。
include使うなんて普通や無いで。
860nobodyさん:03/11/30 14:03 ID:???
>>859
他人の話を聞かない人には何を言っても無駄。
861nobodyさん:03/11/30 14:10 ID:???
サーバトラブルってものすごくうそ臭いな。
862nobodyさん:03/11/30 16:19 ID:???
原因は本人にある
863nobodyさん:03/11/30 16:35 ID:???
まるでモノアイプログラマーだな
864nobodyさん:03/11/30 16:45 ID:???
一つ目?
865nobodyさん:03/11/30 17:05 ID:???
includeじゃ$testにファイルの内容は入らないよ。
$testに入るのはincludeが成功したかどうかだけ(1かwarn)。

だからサーバトラブルは完全にネタ。嘘ついてんじゃねーよ。
866nobodyさん:03/11/30 18:50 ID:???
>>865
単なるHTMLファイル(PHPのコード無し)なら入る。
少なくともPHP4.3.3では。
867nobodyさん:03/11/30 19:02 ID:???
補足すると単なるファイルの場合はファイルの中身+'1'が入る。
で、PHPのコードがあった場合は実行して、戻り値が返される(なければ1が返される)。
868nobodyさん:03/11/30 21:13 ID:???
まあ補足するまでも無いが、テキストファイルといえどもファイルの読み込みに
includeなんか使うなちゅうことやな。
行ごとに配列として取り込むならfile、文字列にファイル全体を読み込みたいなら
file_get_contents使えと。
869nobodyさん:03/11/30 21:31 ID:???
まじ?
がんがん使ってるけどな
870866:03/11/30 21:58 ID:???
あかん。思いっきり勘違いしていた。
includeの時点でコード外の部分を表示していただけだ。
それをincludeの次のechoで表示したと勘違いしたんだ。
やっぱり成功時に返されるものは戻り値か1だ。

じゃあサーバトラブルは完全にネタだな。
871865:03/11/30 23:53 ID:???
>>870
勘違いは誰にでもある罠。

本当はちょっとドキドキしてますた・・・。
872nobodyさん: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としか分かりませんでした.
873nobodyさん:03/12/01 00:36 ID:???
わらた
874nobodyさん:03/12/01 00:57 ID:???
>>872
きっと、レンタル鯖がクラッキングされているんだよ。
鯖屋のサポートに連絡すれば感謝されるかも。
875nobodyさん:03/12/01 00:58 ID:???
PHPをバージョンアップさせようと思ってますが、今だとバージョンいくつがお薦めですか?
昔、最新入れてはまったことがあるので、最新はいれたくないっす。
4.3.3が無難ですか?
876nobodyさん:03/12/01 01:03 ID:???
>>872
レンタルサーバ借りたことなんで良くわからんけど、apacheのモジュールとして
動いてるならそうなるのも分かる気がする。
普通FreBSDで共有サーバを作るときはjailでユーザ毎に独立した環境を提供する
もんだと思うけど、そこはそうじゃないのね。

あんまりお役に立てませんが。
877nobodyさん:03/12/01 01:04 ID:???
つーか、おめーら、テスト環境ぐらい用意しろよ。
878nobodyさん:03/12/01 01:07 ID:???
>>875
>>638-640を参考にされてはどうですか?
俺はさっさと最新版にするけどね。
879nobodyさん:03/12/01 01:23 ID:???
レスありがとうございます.

>>874
サポートBBSでどうにかならないでしょうかとお願いしてみました.

>>876
jailなどの話がわからないのです(^^;
役に立たないのは私の知識不足のせいなんでしょうね(;_;)

>>877
私のことでしょうか?
windows環境にphpをいれて動作させてはいるのですが,パーミッション関連のテストができなくて困っています.
マシンがPC98-NXでUSBキーボードしか持ってないから,Linuxが入れられない……
BSDは入れていますが,ルータの設定がうまくいかず(ftpインストールはできてるのになぁ)放置状態です(T_T)
スキル不足が全ての原因ですが,UNIXの導入は私のレベルでは難しいのです...(そしてスキルがあれば,こんな問題に突き当たらなかったり(^^;
しかも,昨日までは問題なく動作してましたんで,何もチェックしてませんでした...

ということで,サーバの管理会社の返事待ちであります.
お邪魔しました.
880nobodyさん:03/12/01 01:30 ID:???
>>879
管理会社に聞くまでも無く、それが普通の動作だと思うが
cgiモードで動いてるなら別だけど。
881872=879:03/12/01 01:42 ID:???
>>880
moduleとして組み込まれています(という表現であってるのかな).

普通の動作だったのですか……
ということは,毎回コピーの前にファイル生成しないとだめなんですね……

短いとはいえ毎回書くのも面倒ですし,MyCopy()なんて関数にして置いとくのがいいのかもしれませんね.
882874:03/12/01 01:49 ID:???
ネタにマジレスもらっちゃった。

で、コピーする先のディレクトリを707にすればできるよ。
全体像が見えないので、707にして安全かどうかという問題は残るけど。

それと、テスト環境ならvmwareとかは便利。
883nobodyさん:03/12/01 02:52 ID:???
>>878
さんきゅ
8841/2:03/12/01 03:11 ID:I0ROgwdS
php3なんですが
ファイルのアップロードはphp4と違ってまして

アップロードは出来てるようなのですが
テンポラリファイルに格納されたファイルを移動することが出来ません
サンプルプログラムではテンポラリ内でファイル名を変えています
プログラムの
if (copy($UserFile, $file)) {
の所です$fileを"/usr/photo"などのフォルダに移動したいのですが
エラーになります

どのようにしたらアップロードされたファイルを任意のフォルダに格納できるのでしょうか?
php3のアップロードサンプルなどがのっているHPでも結構です教えていただけますか

SAK
ttp://www2.osipp.osaka-u.ac.jp/~shirai/php-doc-j/features.file-upload.html
ttp://www7.big.or.jp/~fujiko/php_prog.htm

などは見てきましたがわかりませんでした



8852/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); // 一時ファイルの削除
}
?>
886nobodyさん:03/12/01 04:05 ID:???
フォルダつうことはWin鯖?
httpdにコピー先の書き込み権限があるんすか?

8872/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のところでエラーがでる

とまぁこういう次第でございます
888nobodyさん:03/12/01 04:18 ID:???
PostgreSQL 6.5にPHP-3.0.18 とは何年前の構成だか・・・
いざとなったらsystemでやってしまうのも手だ
889nobodyさん:03/12/01 04:19 ID:???
>>887
だとしたら、/usr/photo のパーミッションじゃねぇか。
890nobodyさん:03/12/01 04:38 ID:I0ROgwdS
で上のソースでは
TEMPまでは行ってるんです
tempファイルも作成されていますし

それをCOPYで移動しようとするとエラーになるんです
if (copy($UserFile, $file)) {
このままなら上手くいくのですが
if (copy($UserFile, "/user/photo/test.jpg")) {
とかいろいろフォルダを変えたりファイル名を変えたり、無しにしたり
やってるのですが、エラーばかりで
copyが悪いのだとは思うのですが
PHP3自体のサンプルが少ないし有ったとしても
上記のようにtmpファイル内で名前を変更するのしかないんです
891nobodyさん:03/12/01 04:47 ID:???
>>890
なんつーか、とりあえず、

もちつけ
892890:03/12/01 04:55 ID:???
いや、もう50回以上ループしてるんで・・・

COPYのところを書き換えて
PHPファイルアップして
検証して
エラーになって

なんだかもう眠いんだ、パトラッシュ
って感じです
893nobodyさん:03/12/01 05:08 ID:???
だから検証するためにもsystem()使ってみればいいだろ
894nobodyさん:03/12/01 05:18 ID:I0ROgwdS
system()ってなんでしょと思い調べてみました
早速実行
やはりエラー
895nobodyさん:03/12/01 05:23 ID:???
896nobodyさん:03/12/01 05:29 ID:???
systemで駄目ならphpの関数もバージョンも関係ない
パーミッションとphp.iniの確認だな
897nobodyさん:03/12/01 20:30 ID:???
質問です。
PerlEditor(http://www.vector.co.jp/soft/dl/win95/util/se114010.html)と
同じような感じで使えるPHPエディタとか知ってたら紹介してもらえないでしょうか?
898nobodyさん:03/12/01 20:39 ID:Be0bByhV
PHPdevがダウンロードできん・・・。
899872=879:03/12/02 00:09 ID:???
>>882
寝ちゃったんで,返事遅れてごめんなさい.
パーミッションは707どころか,777で試していたんですけど,だめでした……
サポートBBSは,返事こないままです.
でも,ネタだったんですね(汗

今日やってみたところ,ファイル内容のコピーはできるようになっていました.
ただ,パーミッションが755に設定されるのは相変わらずでした.
なぜ,昨日はコピーすらできなかったのやら...(勘違いではない……はず……)

アドバイスありがとでした.


あと,2年くらい前のvmwareは重くて使い物にならなかったのですが,今はどうなんでしょう?
私のPCはathlon(しかもslot)で550MHzしかない骨董品ですが(^^;
900nobodyさん:03/12/02 00:45 ID:???
>>897
IDEとしては、ZendStudio、WebStudio、PHPDevあたりを使っている人が多いんじゃないかな?
このスレでも頻繁に開発環境の話がでてきてたので過去ログを漁るのもよいかと。
曖昧な記憶だけど、エディタのみで頑張ってる人が多かったかもw

>>899
ファイルを新規作成する時のパーミッションがどうなるかは、
umask()の結果をゴニョゴニョして取得できます。
「パーミッション umask」あたりでググれば雰囲気は分かるかと。
901nobodyさん:03/12/02 01:00 ID:???
>>899
俺も以前(vmware v2時代)はP2-333MHz 192MBでやってた。
起動したら最小化して、ttsshやputtyなどでsshログインして設定すればいい。
画面表示は遅いけど、CPU命令は素で動いているので、テスト環境には
十分だったよ。
902899:03/12/02 03:01 ID:???
>>900
umask()で解決しました.
ありがとうございました.私の検索が足りなかったようですね.

>>901
なるほど,画面表示はさせずに動作だけさせるのですか.
それなら耐えられそうですね.
ということで,試してみることにします.(また,BSD入れるところでつまりそうではありますが(^^;)
アドバイスありがとうです.
903nobodyさん:03/12/02 13:43 ID:n3qOpeBH
はじめましてですが、質問をお願いします。
変数名を返す関数(f($x)としたら'x'、f($abc)としたら'abc'を)を使いたいのですが、変数名 取得 php、変数名 抽出 phpで検索してもさっぱりわかりません。
存在するかどうか、もしあるならその関数を教えていただけないでしょうか?
よろしくお願いします。

904nobodyさん:03/12/02 14:50 ID:???
>>903
ちょっとまて・・・
何のために必要なの?
905nobodyさん:03/12/02 15:22 ID:qElvlvCX
サイト入力フォームに自動入力してくれる
aiBAR2000(アイバー2000)というソフトのプログラムを見たいのですがどうやったら見れるのでしょうか?
906nobodyさん:03/12/02 16:01 ID:???
>>904
デバッグ用に"f($a)"としたら"$a=3"と出力してくれるような関数ができないかなと思って。
907nobodyさん:03/12/02 17:17 ID:???
>>906
print_r()、var_dump()、var_export()
908nobodyさん:03/12/02 17:53 ID:???
echo '$a='.$a;
909nobodyさん:03/12/02 18:27 ID:C0HjZayT
>>906
それって意味なくね?
910nobodyさん:03/12/02 20:02 ID:???
phpでマルチスレッドは使えますか?
911nobodyさん:03/12/02 20:13 ID:???
>>907
回答ありがとうございます。
でもそれでは少し足りないんです。

>>908
やっぱりそれが一番ですよね

>>909

//echo "$a";
//echo "$b";
echo "$c";

こんな感じで何回もくりかえしてると、今どの数字がでてるかわかんなくなって。

グローバル変数なら

function f($str){
echo $str."=".$$str;
}
とやって、$のついてない変数を引数にすればいいのかな?
912nobodyさん:03/12/02 20:13 ID:???
もちろん
913nobodyさん: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
というデータを取り出したいわけです。

どうしたらいいものか、さっぱりわかりません。
アイディアだけでもよいので、お願いします。
914nobodyさん:03/12/02 21:55 ID:???
>>913
グループバイ と ハビング でできるんじゃないかな
915nobodyさん:03/12/02 22:00 ID:???
>>913
MySQLで可能かどうかわからんけど、
select * from t1 where (c2,c3) in (SELECT c2,max(c3) from t1 group by c2);
SQLで済ましたいならDB板で聞く方がいいかと。
916nobodyさん:03/12/02 22:19 ID:juLEivKs
>>915
私もサブクエリを使って似たようなもの考えましたが、それめちゃくちゃ遅いです。
レコード数は2万ぐらいあります。
#さきほどやってみたところ、12分かかりました(汗
917915:03/12/02 23:03 ID:???
>>916
インデックスはつくりましたか?
pgsqlなら実用範囲内で返ってきそうなんですけど。
実証したわけではないが...
918nobodyさん:03/12/02 23:12 ID:???
>>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だとかなり早いよ。
919nobodyさん:03/12/03 17:32 ID:???
>>918
getColとjoinの使い方がチョトイイネ
920nobodyさん:03/12/03 22:43 ID:Uo7o1eBu
DB.phpのクラスファイル見せろ
921nobodyさん:03/12/03 23:01 ID:???
>>920
PEARのDBクラス知らんの?
ってか書いてあるだろ?ググレよ。
922nobodyさん:03/12/03 23:04 ID:???
ゲラゲラ
923nobodyさん:03/12/04 02:32 ID:???
Perlでのchomp(@a);はphpではどうなりますか?
924nobodyさん:03/12/04 05:53 ID:???
ブラウザのcookieがonかoffかを調べる方法ってあります?
925nobodyさん:03/12/04 07:24 ID:???
適当なcookie食わせて、受けいれるかどうかを調べるがよろし。
926nobodyさん:03/12/04 07:53 ID:???
>>925
どうもです。
調べるための関数は無いのか・・・。
927nobodyさん:03/12/04 08:10 ID:???
>>926
ひょっとしたらあるかも知れんけど、ブラウザとクライアントの設定に
依存するから、食わせて見るほうが手っ取り早い。

と思う。
928nobodyさん:03/12/04 09:18 ID:???
>>923
$array = array_map(create_function('$m', 'return trim($m);'), $array);
こんなかんじか??動かしてないから、激しく間違ってるかも
配列がどっち来るかわかんね。map系統一して欲しい…。
929nobodyさん:03/12/04 09:22 ID:???
>>928
create_function('$m', 'return trim($m);')

これってナンデこうしてるの?
単純にtrim($m)だけじゃダメなん?
930nobodyさん:03/12/04 10:35 ID:jdpah4Vh
主にLinux + Apache + PHP + MySQL で
WEBシステム制作をやってるんですが、
クライアントからの要求で、OSはWindowsでと言われています。

この場合、PHP + MySQLはそのまま流用できると思っていますが、
OSの選択や、メール関連の処理は、
何を使って実装すればいいのでしょうか。


Windows版sendmailというのがあるようなんですが、
システムが数百万程度のであれば、
運営で耐えうるものになるんでしょうか。

どのように実装されるか、ご意見お願いします。
931nobodyさん:03/12/04 11:04 ID:fe3bNtsq
初歩ですいません。
echo " ";  文に$aとか普通の変数を入れると
変数の値が表示されるのですが
$array['a']
みたいにアレイを入れるとエラーが出て表示されません。
echo " ".$array['a']" ";
ってしないといけないんでしょうか?
932nobodyさん:03/12/04 11:06 ID:???
echo と print の違いを教えてください。
933nobodyさん:03/12/04 11:27 ID:???
>>930
断る

>>931
manualの例1参照

>>932
echoには省略形がある(て違いじゃないが)
<?=$hoge?>
934931:03/12/04 11:51 ID:fe3bNtsq
>>933

マニュアルの例1-1 初歩的な例 でしょうか?

見ましたが、、わかりません。
935931:03/12/04 12:03 ID:fe3bNtsq
すいません,自己レスです。
解決しました。

{} で囲んでやればいけました。
936nobodyさん:03/12/04 12:11 ID:???
937nobodyさん:03/12/04 12:32 ID:???
>>929
確か、配列処理してくれなかった気がするんだが。
938nobodyさん:03/12/04 12:53 ID:jdpah4Vh
>933

主にLinux + Apache + PHP + MySQL で
WEBシステム制作をやってるんですが、
クライアントからの要求で、OSはWindowsでと言われています。

この場合、PHP + MySQLはそのまま流用できると思っていますが、
OSの選択や、メール関連の処理は、
何を使って実装すればいいのでしょうか。


Windows版sendmailというのがあるようなんですが、
システムが数百万程度のであれば、
運営で耐えうるものになるんでしょうか。

どのように実装されるか、ご意見お願いします。
939nobodyさん:03/12/04 13:05 ID:???
> システムが数百万程度のであれば、
ここが意味不明。ユーザ数?
940nobodyさん:03/12/04 13:14 ID:jdpah4Vh
>939
>> システムが数百万程度のであれば、
> ここが意味不明。ユーザ数?

すみません。
予算が数百万"円"です。500万円まで。

ユーザ数は、最大1万ユーザです。
1日500〜1000アクセスで、月に15000〜20000アクセスです。
941nobodyさん:03/12/04 16:02 ID:???
>>929
perl の@aは配列。

>>940
Windows版sendmail ってのを提供している団体に問い合わせるべきでは?
トラブった時に、「2chで誰かが言ってたから..」じゃ話にならんでしょ。
で、PHPとsendmailとどういう関係があるんだ?
942nobodyさん: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なのでプログラムヲタになる必要はありませんが。
943nobodyさん:03/12/04 17:07 ID:jdpah4Vh
> >>940
知りたいのは、Windows+PHPでメール送信どうしてるかってことなんで、
その例として、Windows版sendmailというのを出したんです。

スレ違いですかね???
944nobodyさん:03/12/04 17:08 ID:jdpah4Vh
>940

>941
の間違い。どうでもいいといえば。。。
945nobodyさん:03/12/04 17:27 ID:???
>>943
PHPでメール送信じゃだめなの?
946nobodyさん:03/12/04 17:34 ID:???
>>943

Windows版PHPのmail関数は、smtpサーバと直接会話できる
送るだけならsendmailは不要。

php.ini読んでみ
947nobodyさん:03/12/04 17:42 ID:jdpah4Vh
>945
mb_send_mail()関数を使おうとしたら、
メールサーバーが必要ではないんですか?
他の方法があるんでしょうか。

Linuxの時は、ドメイン取得して、
WWWサーバにメールサーバーもいっしょに乗せて、
そのメールサーバsendmailに対して、
mb_send_mail()関数を使って送信しています。


へっぽこプログラマなので、その辺りご理解ください。
948nobodyさん:03/12/04 17:42 ID:jdpah4Vh
>946
調べてみます。
ありがとうございました。
949nobodyさん:03/12/04 17:48 ID:???
1日500〜1000アクセスなら
そこら辺の中古PCでも全然いけそうだ。
950nobodyさん:03/12/04 19:01 ID:7bqdfjiy
◎もうすぐクリスマスだよ◎
http://homepage3.nifty.com//hot-hot/7254.html
951nobodyさん:03/12/04 19:48 ID:???
くりすますおめ
952nobodyさん: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で表示されてしまいます。
どこを直せばよいでしょうか?
953nobodyさん:03/12/04 21:08 ID:???
>>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;
954nobodyさん:03/12/04 21:16 ID:???
>>953
array_chunkじゃだめか?
955953:03/12/04 21:21 ID:???
>>954
array_splice()よりはましですね。
だけど、もっとズバリなものはないのかなぁ……。
956nobodyさん:03/12/04 22:08 ID:???
>946
うーんでも、ソースかなんかに
「適当な作りなんであんまりハードに使うな」
って書いてなかったけ(笑
957nobodyさん:03/12/04 23:40 ID:4RZpBvLI
return ○○○;のすぐ後に
exit;は要らない?
958nobodyさん:03/12/04 23:47 ID:???
array_spliceもarray_chunkも一発でそのものずばりじゃん。
何を望んでるのだ?
959958:03/12/04 23:49 ID:???
ちなみに、どっちも関数の戻りのarrayを元の変数に上書きする
960nobodyさん:03/12/04 23:53 ID:???
>>956
1日1000アクセスなんだからいいじゃん。

でもなんでWindowsサーバじゃないとダメなの?
961nobodyさん:03/12/05 00:17 ID:???
手元に4.3.3のソースがあったのでパラっと見てみたけど、
そういうコメントは気付かなかったなぁ。popenのforkに気をつけれ、くらいかな。
アクセス数から考えるとPHP側もsendmail側も余裕っしょ。
sendmailが1万ユーザに耐えられるかどうか知らんけど。
sendmail@winの代理店ぽい所をみると1万ユーザで数百万円くらいか(w
962nobodyさん: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 の組み合わせで実装してるんでしょうか?
ちょっとスレ違いがあるかもしれませんが、お許しください。

963nobodyさん:03/12/05 01:18 ID:W+9YW1p2
>961
Linuxでまとめるように話をすすめるのが、
一番良さそうな気がしています。
どうしたもんだろ・・・。
964nobodyさん:03/12/05 03:08 ID:???
>>962
POP鯖(鯖って言うのか?)って何でいるの?
全会員にメールアドレスを与えるの?
965nobodyさん:03/12/05 03:58 ID:wlPwhzW7
セッションを発行済みでいろんなページを行き来したあと、
とある1つのphpスクリプトに来たときに、
そのスクリプト内のみで、
セッションに関するあらゆるデータ(つまり、セッションID、セッション変数、セッションそのもの(session.destroy?))を削除し、
また、いちから、これらを作り出す(新しいセッションIDを発行して、それにひも付けされたセッション変数を入れ込んでいく)ことは
可能なのでしょうか?

いろいろためしたのですが、
同じセッションIDのままだったり、
なぜかその後のページでまた別のセッションIDが発行されたりで、
実現できませんでした。

どなたか、教えていただければ幸いです。
966953: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);
?>
967nobodyさん:03/12/05 06:34 ID:4RN/hEy0
★☆★もうすぐクリスマス★☆★おまんこプレゼント★☆★
http://marimo.s6.x-beat.com/marimo.html
968nobodyさん:03/12/05 08:42 ID:???
>>966
あんたはperl使ってた方が良いんじゃない?
969nobodyさん:03/12/05 09:53 ID:W+9YW1p2
>964
管理人がメーラー使うからです。
970953:03/12/05 10:01 ID:???
>>968
PerlもPHPも、そしてC++もJavaも、それぞれ長所のある良い言語ですよ。

例の件だけど、納得のいく答えを考えました。
PHPで、配列の最終要素の添え字を簡単に取得・設定出来ない理由は、
Perlは配列と連想配列が別物だが、PHPでは同じように扱ってるからだろう。
ライブラリを眺めていると、単純な配列の切りつめはarray_splice()を使えという
雰囲気を感じるのでこれでいくことにします。
971nobodyさん:03/12/05 10:54 ID:???
>>932
男は黙ってecho
972932:03/12/05 10:58 ID:???
本気でシステム的なところが聞きたくて質問させてもらったんですが。

分かる人はいないんですね。
973nobodyさん:03/12/05 11:02 ID:???
>>972
anonymous cvsからPHPのソースを取得して読んだら?
本気ならな。
974nobodyさん:03/12/05 11:06 ID:???
>>973
馬鹿はほっとけ
975953:03/12/05 11:15 ID:???
976nobodyさん:03/12/05 11:42 ID:???
>>962
できない仕事請けるなよ。
俺だったらwin鯖のネガティブな情報をこれでもかと客に浴びせてlinux鯖をごり押しする。
977nobodyさん:03/12/05 11:55 ID:???
別にWinにだって標準のSMTP入ってるんだし気にする事も無いが
わからないとかできないんだったら、事情を説明してlinuxとかにしたら
978nobodyさん:03/12/05 12:14 ID:MqWqoWuk
>>962
なら
win2000Server(IIS5.0)+PHP+MySQLでいいんじゃん?
メール送信なんてその辺探せばいくらでもサンプルあるし。
たしかIIS5.0は送信だけならできたはずだが・・・。
(送るだけ&スパム対策しないとだけど)
979nobodyさん:03/12/05 15:39 ID:???
<p id="name">ここに名前</p>
  が、
$tpl->assign("name", "太郎");
  で
<p>太郎</p>
になるようなテンプレートライブラリはありますか?
980nobodyさん:03/12/05 15:53 ID:???
>>979
Smarty
981nobodyさん:03/12/05 17:24 ID:W+9YW1p2
いろいろ考えることはありますが、
>>978 win2000Server(IIS5.0)+PHP+MySQLで、
最悪メル鯖は、別サーバたててもらうということにしようと思います。

LINUXで行きたいですが、
説き伏せるだけの「もの」がないので・・・。
色々助かりました。
982nobodyさん:03/12/05 19:56 ID:CWGc80VL
>>981
Windowsじゃなければならない理由が不明なら、ちゃんと確認しといたほうが
いいんじゃないの?で、その理由がたわいも無いものなら「sendmail@winの
ライセンス料だけでプロジェクトの予算がふっ飛びます」とか言って
(本当かどうかは事前に調べとけよ)説得すれば良いと思うが。
顧客の変なこだわりや思い込みに付き合って、本質じゃないところで悩むのって馬鹿らしくないか?
983nobodyさん:03/12/05 20:15 ID:???
>>980
おお、Smartyでできるんですね。{ } とか <% %> とか単純な対の文字列しか使えないと思ってました。

どういう風に設定すればいいですか。
ポインタだけでも教えてください。
984nobodyさん:03/12/05 20:22 ID:???
985nobodyさん:03/12/05 20:37 ID:U/LEnWp6
実行したPHPファイルのメモリー,CPU使用量を表示させたいのですが
いい方法はないでしょうか?
ちなみに
cgiでしたら
ps aux | grep cgi
とすれば実行CGIファイルのメモリCPU使用量が出ますが
phpの場合
ps aux |grep php 
としても何も表示されません

PHPスクリプトを最適化したときに
メモリ、CPU使用量がどれだけ変化したか数字として確認したいです
986nobodyさん:03/12/05 20:55 ID:???
>>985
memory_get_usage()
http://jp2.php.net/manual/ja/function.memory-get-usage.php
なんか雪つもっとる・・・季節モノやねぇ。>PHPロゴ

Unix板の方にもきちんと返答しておくのが吉。
987nobodyさん:03/12/05 21:13 ID:U/LEnWp6
>>986
どうもありがとうございます
こんな便利な関数があったのですね
助かりました
988nobodyさん:03/12/05 21:20 ID:6J62flsP
おーい
989nobodyさん:03/12/05 21:20 ID:???
はーい?
990nobodyさん:03/12/05 21:26 ID:???
うめのきせつか
991nobodyさん:03/12/05 21:36 ID:???
>>986
あれは雪だったのか。画像が化けてたのかと思ったよ。
992nobodyさん:03/12/05 21:41 ID:y4EWtpBu
そろそろ次スレよろ。
993nobodyさん:03/12/05 22:04 ID:???
記念カキコ v(^-^*)
994nobodyさん:03/12/06 00:06 ID:???
994
995nobodyさん:03/12/06 00:12 ID:???
995
996nobodyさん:03/12/06 00:30 ID:???
ついにこのスレも終わりか
997nobodyさん:03/12/06 00:31 ID:???
誰も次スレ立てないのはいらないってこと?
998nobodyさん:03/12/06 00:34 ID:???
yes
999nobodyさん:03/12/06 00:35 ID:???
次スレは要りません
1000nobodyさん:03/12/06 00:35 ID:???
絶対立てないで下さい
10011001
このスレッドは1000を超えました。
もう書けないので、新しいスレッドを立ててくださいです。。。