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

このエントリーをはてなブックマークに追加
644nobodyさん
もの凄くくだらない質問でわるいのですが、教えてください。

echo $_SERVER["REMOTE_ADDR"];
echo $_SERVER["REMOTE_HOST"];
echo $_SERVER["HTTP_REFERER"];
echo getenv("REMOTE_ADDR");
echo getenv("REMOTE_HOST");
echo getenv("HTTP_REFERER");

これを試すと表示されるのは両REMOTE_ADDRだけで、HTTP_REFERERに至っては怒られます。
php.iniの設定の問題でしょうか?
どこを見れば良いのかわからないんですが、関係ありそうなところは
register_globals = OFF
register_argc_argv = On
くらいでしょうか?他に見る必要がある場所ありますか?
645nobodyさん:05/02/26 18:33:50 ID:???
>>644
<pre>
<?=print_r($_SERVER)?>
</pre>

REMOTE_HOSTはサーバーからDNS逆引きしてるわけじゃなく、
クライアント側で付加するかしないかなので、
表示するやつとしないやつがいるのは仕方が無い。

んで、「怒られる」とか訳の分からない表現を使うな。
エラーが出るならそのエラーをまるまるコピペ。
あと、バージョン周りの表記も必要。

php.iniは関係無い気がする。
646nobodyさん:05/02/26 18:56:53 ID:???
何となく匿名関数を使って見たのですが、string codeに<?が含められないので
絶対パスでファイルの内容が丸見えになってしまいますね。
拡張子でアクセス制限するのではなく他に良い手だてはないものでしょうか?。

>>644
E_ALLで変数が存在していないだけでは?
647nobodyさん:05/02/26 18:58:51 ID:???
エラーはNotice: Undefined index: HTTP_REFERER in D:\(略)test.php on line 6です。
バージョンはPHP Version 4.3.6
Server API ISAPI
Virtual Directory Support enabled
Configuration File (php.ini) Path C:\WINDOWS\php.ini
PHP API 20020918
PHP Extension 20020429
Zend Extension 20021010
Debug Build no
Thread Safety enabled
Registered PHP Streams php, http, ftp, compress.zlib
こんなもんでいいでしょうか?
648nobodyさん:05/02/26 19:03:52 ID:???
>>646
error_reportingですか?
確かにE_ALLにしてます。
E_ALL & ~E_NOTICEにしたらエラーは表示されなくなりました。が、REMOTE_ADDRしか表示されないのは変わらずです。
表示されないのもあるとの事なのでしょうがないんですね?HTTP_REFERERもそういうことなんですか?
649nobodyさん:05/02/26 19:32:12 ID:???
>>648
しょうがないのではなく、そういうものです
環境変数が何であるのかを勉強して来た方が良いですよ
650636:05/02/26 22:20:10 ID:???
>639
ご、ごめ…そのまさかです…動くからいいかなって…w
>637のは大変有り難いのは分かってるんですが仕事が鮮やかすぎて
今の俺のスキルではどう使ったらいいのかすら分からなかったんだ…
現状はこのままで、試行錯誤していずれ>637のアイテムを理解できるように頑張ってきます

# 本音:マニュアル読んでも全然わかんねぇ…
651nobodyさん:05/02/26 22:35:45 ID:???
>>648
REMOTE_HOST はWebサーバ自身が逆引きをしておかないと設定されない。
apacheなら HostnameLookups on。
全アクセスに対して逆引きが実行されるのであんまりお勧めできない。
(webサーバではなく)PHPが逆引きするにはgethostbyaddrという関数が用意されている。
652nobodyさん:05/02/26 23:43:58 ID:zgM2ruO5
ちょっと自分の力量では無理っぽいので質問させて頂きます。
POSTでバイナリーデータを受け取り、変数に入れる場合、どのようにすれば
良いのでしょうか?どんな情報でも結構ですがので、どうかアドバイスお願い
致します。
653nobodyさん:05/02/26 23:55:56 ID:???
654652:05/02/27 00:04:35 ID:Quvh5uNr
>>653

情報ありがとうございます!
クライアントから送られてきたバイナリファイルは、$HTTP_POST_FILES
でサーバ(PHP)側で受け取れるということであってますでしょうか?
655nobodyさん:05/02/27 00:12:08 ID:G/Og0QBF
買い物カゴをperlで作成する際に、クライアントのカゴを保持したいのですが、
カゴとクライアントをどのようにつなげてよいかわかりません。

つまり、カゴにIPアドレスを付ければある程度誰の買い物籠か
わかりますが、それではproxyを経由しているPCたちはみんな同じ
カゴになってしまいます。どうしたらよいのでしょうか?
656nobodyさん:05/02/27 00:16:33 ID:???
perlのスレにいけばよいかと
657nobodyさん:05/02/27 00:21:39 ID:???
>>655
ここはPHP(言語)スレですよ。

買い物カゴのように複数のhttpアクセス間でデータを継続するには
セッションと呼ばれる仕組みを使います。
perlにもセッションを提供するモジュールがありますが、
簡単な物の場合は自作してしまってもよいでしょう。
自作する場合には、
1. cookieや urlの一部に データそのものを付加する
2. データ本体はサーバ上のファイルに保持しておき、
 そのデータへのIDとなるものをcookieやurlの一部に付加しておく
の2つの方法があります。
658nobodyさん:05/02/27 01:13:03 ID:G/Og0QBF
>>657
なるほど、ありがとうございます。場違いな場所…すいませんでした。

クッキーを使ってみます。本当にありがとうございました!!
659652:05/02/27 02:28:21 ID:Quvh5uNr
なんどもすいません。
受け取ったバイナリデータを$dataに入れ
filesize($data);
とやってもエラーになるのですが、バイナリデータのサイズはfilesize()
では取れないのでしょうか・・・(T.T)
660nobodyさん:05/02/27 03:02:55 ID:???
>>659
変数のバイト長ならstrlenでいいんじゃない?
アップロードされたファイルのサイズを知りたいなら一時ファイルのサイズで
filesize()すればいいだけだよ。
661659:05/02/27 03:51:26 ID:Quvh5uNr
>>660
そうでした。strlen()でいけました。
ありがとうございます。
662nobodyさん:05/02/27 18:49:25 ID:/nNhQDUH
あるhtmlファイルを ftp_put でアップロードする際に、
内部の文字列を一部変更したいのですが、
どのようにすればいいでしょうか?
663nobodyさん:05/02/27 18:56:05 ID:???
>>662
先にナメて痴漢した上でうp。
664nobodyさん:05/02/27 23:32:30 ID:???
DBにアクセスするためのパスワードなど各種設定を別ファイルに保存しておいて
実行時に読み出すようにしているのですが、この設定ファイルを当該スクリプト以外から
読み出されないようにするにはどうすればいいでしょうか?

ちなみに共用サーバーなのでサーバー側の設定はいじれません。
665nobodyさん:05/02/28 00:41:54 ID:???
>>664
>当該スクリプト以外から
自分の設置するスクリプト以外からってこと?

んで、サーバの情報ヽ(`Д´)ノクレヨ
666nobodyさん:05/02/28 00:53:52 ID:???
>>664
無理。
667nobodyさん:05/02/28 00:54:06 ID:???
>>665
そうです。
もしくは読み出されても悪用されないようにデータを暗号化しておくなどでもいいのですが。

あと、サーバー情報ってどんな事を書けばいいのですか?
668nobodyさん:05/02/28 09:08:11 ID:Cd7H0ok5
Win32のApache 2.0.48と、PHP4.3.5で、問題なく動いていたのですが、
PHPを4.3.10にしようと思い、

・c:\php\以下を全部削除、
・4.3.10の中身をコピー
・php.iniをwindowsフォルダにコピー

そしてapacheの再起動しました。
エラーで起動せず、イベントビューワーにはphp4apache2.dllが見つからないと。
もちろんパスは合っているし、直前まで前VERで動いていた、
何か変更でもあったのでしょうか?

669nobodyさん:05/02/28 09:22:35 ID:???
>>668
apache2.dllのパスが合っているならts.dllも入れ替えろ
窓ユーザーってこんなんばっかか・・・
670nobodyさん:05/02/28 09:32:11 ID:???
>>669
うるせー馬鹿
671668:05/02/28 09:55:08 ID:???
>>669
あ、忘れてた・・・サンクス
672669:05/02/28 11:21:28 ID:???
>>670
犬ユーザーに言わせるな、カス!笑

>>671
動いて良かったね^^
673nobodyさん:05/02/28 11:23:49 ID:???
参照元が検索エンジンからの場合にキーワードを抜きたいと
考えているのですが何処かにパターンマッチの参考になる
スクリプト等をご存じないでしょうか?
674nobodyさん:05/02/28 21:09:40 ID:NQSvt/75
自分で作った連想配列をスーパーグローバル変数にすることって可能でしょうか?
675nobodyさん:05/02/28 21:22:22 ID:???
>>673
parse_url() を使うのはどうだろう。
676nobodyさん:05/02/28 21:57:28 ID:???
$logfile = "***.dat";
のようにDATAファイルのファイル名を不特定にする表現ってどうするのでしょうか?
英字や数字もカバーしたいんですが「.*」じゃだめでした。

もう一つ質問なんですが、PHPとあまり関係なくて申し訳ないのですが
Windowsは半角のバックスラッシュ(\)は普通に打ち込めるものなんですか?
当方Mac+miなんですがマニュアルサイトをIEで見ると\に化け、
iCabで見るとちゃんと半角バックスラッシュ、それをコピペするとやはり\。
文字パレットでバックスラッシュを打ち込もうとしたんですが
全角しか無く、参ったんですが…
677nobodyさん:05/02/28 22:06:46 ID:???
>>676
とりあえずプログラミング…というか、PC自体素人?
半角の場合、¥と表示するか、「\」とするかはフォント次第。

Macの見やすいOsakaフォントをWinで使おうプロジェクト
http://osakattf.hp.infoseek.co.jp/

このOsakaフォントはきちんと「\」になってるよ。
漏れ、WinでのPGはOsakaしか使ってない気がする・・・。


で、"*.dat"だけど、どんなときに使うの?
使用する場所によりけりで実装の仕方変えるべきだぞ。
preg_match("/^[0-9A-Z]+\.dat$/i",$hoge)なり使うとかになりそう。
678nobodyさん:05/02/28 22:06:59 ID:???
くだらない質問スレに池・・・ってここがそうか。。
ではドゾー
679678:05/02/28 22:07:38 ID:???
ヒィィ
>>678
>>677
っと
680nobodyさん:05/03/01 15:36:15 ID:???
ちょっと行き詰まってしまったので、質問させて下さい。

php4+smarty+jpgraphで、グラフを作っています。
以下を参考にして、MVC(よく理解してませんが)で作ろうとしています。
ttp://www.stackasterisk.jp/tech/php/phpMvc01_02.jsp

この場合、グラフを出力する処理はどこに書くべきでしょうか?

1. index.phpでGETを受け付け、そのGETをそのまま、表示部で引っ付ける
<img src="index.php?action=display_graph&以降パラメータ" >

controller.phpの中でclass/graph.phpを呼び出して、その中で処理。
index.phpがページ表示とグラフ表示を両方行う。

2. graph.phpという別単独スクリプトを作って
<img src="graph.php?以降パラメータ" >
index.phpがページ表示、graph.phpがグラフ表示を行う。

2.は MVCでないような気がします。
1.もなんとなく間違っている気がします。
1.の場合だと、一度パラメータを受け取って、もう一度それを出力すると
いう無駄な処理があるのですが、これでいいのでしょうか?

スマートな方法を教えて頂けないでしょうか?
よろしくお願いします。



681nobodyさん:05/03/01 21:32:45 ID:3VPrEAk/
変数は何個まで使っていいの?上限ってあるの?100万個使っても大丈夫?
682nobodyさん:05/03/01 22:17:17 ID:???
何を考えてるのかな
683nobodyさん:05/03/02 01:28:12 ID:???
>>681
マニュアル読め
Linux系は1000個、 Windows系は100個
684nobodyさん:05/03/02 01:46:25 ID:???
>>664
呼ばれるファイルがPHPであれば定数の有無で判別できるけどな
完璧じゃないが‥‥
685nobodyさん:05/03/02 02:32:19 ID:???
>>683
正確には
Uinux系は1024個、 Windows系は128個
じゃなかったか。リファレンステーブルの限度だよな。
686nobodyさん:05/03/02 03:13:37 ID:???
掲示板を作成しているのですが、親記事と子記事を
ひとつのファイルにまとめて


1<>0<>〜〜
2<>1<>〜〜
3<>1<>〜〜

1番目は記事番号、2番目は0が親記事、1が子記事として
読み込み時に判定させる方法と

親記事と子記事を別々のファイルに保存し、
子記事は親記事の記事番号をキーとして持っており、
親記事は子記事がいくつ存在するかの情報を持たせて、
3つ存在するなら、子記事ファイルのほうから自分の記事番号と
一致する子記事を3つ読み込む

というような方法のどちらを使ったほうが効率がいいのでしょうか?

効率がいいか悪いかの判断は書き込みのほうが多いのか表示するほうが多いのかで
判断するのでしょうか?

687nobodyさん:05/03/02 03:40:35 ID:???
>>686
親記事と子記事は入れ子になるの?

>効率がいいか悪いかの判断は書き込みのほうが多いのか表示するほうが多いのかで
>判断するのでしょうか?
意味がわからない。
688nobodyさん:05/03/02 03:58:19 ID:???
>>686
単純に表示だけで考えたら
もしKENTのYY-BOARDのような表示形式を考えてるなら
前者の方が効率がいいと思う
2chのようにスレッドタイトル(親記事)を一覧表示させて
そこから子記事(スレッド)を表示させるっていうなら後者の方が効率がいい

あとファイルサイズとファイル数の問題もある
前者は大規模で使われると途端にファイルサイズがでかくなり
目的の記事を探すのに時間がかかるだろうし
後者は大量の親記事に1個2個程度の子記事が作られたとき
小さいファイルが大量に出来ていく

全然答えになってなくてゴメンって感じだが
要は用途を想定しないと効率なんて考えられないってことだ
689nobodyさん:05/03/02 05:09:54 ID:XnVo8Giw
if 文の()内で、$name が文字列 abc または def に一致する、
という条件はどう書くんでしょうか?

if ($name == ('abc'|'def'))

ダメですorz

690nobodyさん:05/03/02 06:27:07 ID:???
if($name == "abc" or $name == "def")
691689:05/03/02 06:37:20 ID:???
>>690
お早うございます。

やっぱりそう書くしかないんでしょうか?
$name が重複してしまうのが、何となく嫌な感じがして、
perlでは>>689のように書けたような気がしまして。
とにかく、どうもありがとうございました。
692nobodyさん:05/03/02 08:43:58 ID:???
>>689
正規表現がそのまま書けてしまうのは
ある意味特殊(Perlの特色)なので、必要であれば
"普通"に正規表現関数を使って書けばよいのでは?
693nobodyさん:05/03/02 08:56:03 ID:???
in_array($name,array('abc','def'))とか。
意味ねーナ
694nobodyさん:05/03/02 10:20:55 ID:???
>>691
正規表現使いたければ
if (preg_match("/^(abc|def)$/", $name))
ただ正規表現使うと確実に重くなる
正規表現使う必要がなければorやandを10個並べても全然嫌じゃないです
695nobodyさん:05/03/02 11:46:53 ID:???
個人的には
>if($name == "abc" or $name == "def")
なパターンは、switchで書くようにしてる。

switch($name) {
case 'abc':
case 'def':
echo "Match";
break;
default:
break;
}
696nobodyさん:05/03/02 12:32:21 ID:???
>>694
こういう単純な比較を10個並べた場合、and/orとpreg_matchはそれほど変わらないと思う
とくにどれにもマッチしないとかそういう時は。

もちろん最初の一個にマッチした場合はorの圧勝だろうけど。
697nobodyさん:05/03/02 20:14:45 ID:???
>>683 >>685
アリガト
698nobodyさん:05/03/02 20:53:02 ID:???
if($hoge == $hage){
 print "PIKA";
}
という条件式を、Perlの場合、

print "PIKA" if $hoge == $hage;

という書き方ができました。

PHPで同じような書き方はできないでしょうか?
699nobodyさん:05/03/02 21:03:27 ID:???
<?php
 echo 'Hellow';
?>
と、
<?php
/*
複数行用のコメント
以下数万行(約10000K)
*/
 echo 'Hellow';
?>

<?php
 echo 'Hellow';
/*
複数行用のコメント
以下数万行(約10000K)
*/
?>

では、リクエストされてから表示されるまでの時間に差異は出るのでしょうか?
実際に試してみたいのですが、今使っているサーバ自体が糞で、
同じスクリプトを呼んでも、レスポンスにばらつきがありすぎて確認できません。
700nobodyさん:05/03/02 21:03:47 ID:SuYdpkb9
if ($hoge == $hage) print "PIKA";
701nobodyさん:05/03/02 21:03:56 ID:???
変数の数って上限あったのか、俺知らなかった・・・ごめん。
702nobodyさん:05/03/02 22:30:57 ID:???
ディレクトリの中のファイル一覧を知りたいのですがどうしたらいいですか?

配列とかで取得できると後が楽でうれしいです。
PHPポケットリファレンスとphp manualを読んでそんな関数が見つからなかったので教えてください。
お願いします。
703nobodyさん:05/03/02 23:03:36 ID:???
元質問者じゃないんですが変数の数の上限はどこに記載されているのでしょうか?
調べてもわからなかったんで実際に変数作ってみたら100万個までは作成できるみたいなんですけど。
704nobodyさん:05/03/02 23:04:55 ID:???
>>702
>PHPポケットリファレンスとphp manualを読んでそんな関数が見つからなかった
705nobodyさん:05/03/02 23:06:37 ID:???
>>702
>php manualを読んでそんな関数が見つからなかったので

読みが浅い。
「opendir」の項を嫁
706nobodyさん:05/03/02 23:10:35 ID:???
むしろ「readdir」だな
707nobodyさん:05/03/02 23:12:14 ID:???
うわーホントだ。読んでねえ俺・・・orz
どうもありがd >>705
708689:05/03/02 23:35:30 ID:???
>>692-696
詳しい解説と考察をありがとうございました。マニュアルには

>複雑な処理を行ったり、 重い繰り返し処理を行う場合、
>switchの方がより処理が速い可能性があります

とありますが、今回のは簡単な処理だと思いますし、行数を
減らしたいので if を使います。
709nobodyさん:05/03/02 23:55:12 ID:???
PHPicalendarで↓のような警告文が出て参ってます
もう何がなんだかちんぷんかんぷんです。
どなたかどういう警告で何が原因なのか教えてくださいお願いします・゚・(´Д`)・゚・
------------------------------------------------------------------------------------
Warning: fopen(): SAFE MODE Restriction in effect. The script whose uid is 11005 is not allowed to access /tmp owned by uid 0 in /PHPicalendarまでのパス/functions/ical_parser.php on line 1070

Warning: fopen(/tmp/parsedcal-Home-2005): failed to open stream: No such file or directory in /PHPicalendarまでのパス/functions/ical_parser.php on line 1070

Warning: fwrite(): supplied argument is not a valid stream resource in /PHPicalendarまでのパス/functions/ical_parser.php on line 1071

Warning: fclose(): supplied argument is not a valid stream resource in /PHPicalendarまでのパス/functions/ical_parser.php on line 1072

Warning: touch(): SAFE MODE Restriction in effect. The script whose uid is 11005 is not allowed to access /tmp owned by uid 0 in /PHPicalendarまでのパス/functions/ical_parser.php on line 1073
------------------------------------------------------------------------------------
710nobodyさん:05/03/03 00:58:57 ID:pcZIX8SU
$a=1
$_SESSION['$a']
こんなかんじで使いたいのですが、$aを展開する書き方はありますでしょうか?
$_SESSION['$_SESSION[$a]']
↑できればこれも。。
わかりづらい説明ですみません。うまく説明できないです。
711710:05/03/03 01:20:37 ID:???
>>709
上で710程度の質問してるくらいなので詳しいことはわかりませんが、
SAFE MODE phpで検索すればそれらしきものが出てきます。
一行目:今のUIDでは/tmpへアクセスができない
二行目:fopen(/tmp/parsedcal-Home-2005) 作成されるはずだったファイルがないため開けない。
三行目:存在しないので、ロックもできない
四行目:存在しないので、書き込みもできない

ということではないでしょうか?詳しい方どうでしょ?
712nobodyさん:05/03/03 02:01:11 ID:???
>>710
シングルクォートを外せば良い。
$_SESSION[$a]
$_SESSION[$_SESSION[$a]]

>>709
711 の説明でだいたい正しいように思う。
SAFE MODE を外せないのであれば、テンポラリファイルを作成する
場所を /tmp から適当な httpd の動作権限で書き込み可能な
ディレクトリに変更すれば動作するのでは?
713710:05/03/03 02:13:20 ID:???
>>712
望んでいた結果が得られましたありがとうございます。
714nobodyさん:05/03/03 09:13:21 ID:L91eb6rn
すみません。ちょっと、教えて頂けますでしょうか。
PHPで、リロードせずに時刻を常に更新させたいのですが、どのように
すれば良いのでしょうか。

<?php
while(True)
{
print(date("Y/m/d h:i:s"));
}
?>

と書くと、「2005/03/03 09:16:57」という文字が連続して表示され、
1秒も進みません。
時刻を更新し続けたいのですが、どなたかやり方を教えて頂けま
すでしょうか。何卒、宜しくお願い致します。
715nobodyさん:05/03/03 09:36:32 ID:???
>>714
print(date("Y/m/d h:i:s")) が実行にかかる時間をちょっと調べてみようか。

$start = microtime(); // マイクロ秒単位でunixタイムスタンプを取得
print(date("Y/m/d h:i:s"));
$stop = microtime();
print ($stop-$start);

一回だけの試行なので信頼性はあんまり無いんだが、
うちの環境だと 0.000204秒になった。4900回/秒 くらいってことだな。

sleep()を使って1秒に一回くらいのペースでdate()を実行させるか、
そもそも鯖側で実行させずにJavaScript等のクライアント側でやらせた方がよいと思われ。
716nobodyさん:05/03/03 09:40:35 ID:???
>>714
metaタグでリフレッシュする(結局リロードと一緒なのであまりサーバには良くない)
表示するだけならJavaScriptでやっとけ
717nobodyさん:05/03/03 10:40:32 ID:7OeoLBpl
mb_send_mailはメール送信先にメールが届けられて初めてTRUEが返ってくる
ものですか??
でたらめなアドレスを送信先引数にしてもTRUEが返ってくるのですが・・・。
718nobodyさん:05/03/03 11:09:37 ID:???
>>717
最初のMTAに処理を依頼した結果が返ります。
719nobodyさん:05/03/03 11:24:02 ID:7OeoLBpl
MTAとは
インターネット内で電子メールを配送するソフトウェア。
ユーザが送信したメールを受け取って、他のサーバと連携して
バケツリレー式に目的地まで配送したり、
届いたメールをユーザが受け取るまで保管したりする。
ってことは送信先に届けましたよってことでTRUEが返ってくるわけでは
ないということでしょうか??

720nobodyさん:05/03/03 11:53:35 ID:???
>>719
例えばsendmailの場合、下のurlにあるような結果(終了コード)を返す。
ttp://www.linux.or.jp/JM/html/sendmail/man8/sendmail.8.html
sendmailがどう設定されているかはその鯖の管理者にしか分からん。
そして、PHPはこの終了コードだけを見て適当に加工してmb_send_mailの返り値としている。
phpのソースコードをぱっと見た感じでは、EX_OKの時にtrueを返しているみたいだな。

つーわけで、mb_send_mail == trueになったからと言って、
そのメールが確実に相手に届いているかどうか(届く予定かどうかさえも)分からない。
確実に届いたかどうか確認したきゃ、メールの中にidを含んだURLを書いておいて
相手にアクセスさせるくらいしかないわな
721nobodyさん:05/03/03 12:32:41 ID:7OeoLBpl
詳しい説明ありがとうございます。
感謝です。
722nobodyさん:05/03/03 13:08:25 ID:T3a2sbue
PHPを使って、ページAを表示しています。
そのとき、ページAの中心部分に、外部テキストデータBを挿入したいと考えています。
しかし、外部テキストデータBを呼び出すには多少時間がかかるため、
可能ならばページAを表示した後、時間差で外部テキストデータBを表示したいと考えています。

これを実現するためにはPHP内でやるよりも、iframeを使うのがいいのかなと思っているんですが、
iframeだと最初に縦横サイズを決めておかねばならず、テキストの量が変化するし実に不便です。

時間差で後からテキスト文を挿入する方法があれば、教えてください。
723nobodyさん:05/03/03 13:48:25 ID:???
>>722
javascriptでも使えよ・・
724nobodyさん:05/03/03 13:53:11 ID:???
なんだと
725nobodyさん:05/03/03 15:11:55 ID:T3a2sbue
>>723
JavaScriptだと、時間差で読み込みできますか?

document.write(外部ファイル)

みたいな感じでいいでしょか?
726nobodyさん:05/03/03 16:18:55 ID:7OeoLBpl
質問です。
mb_send_mailでエラー返送先Return-Pathを指定しなかったら
fromで指定したところにエラー返送されますか??
727709:05/03/03 16:51:52 ID:???
>>711-712
丁寧なレスありがとうございます

-------
1067行   // write the new master array to the file
       if (isset($master_array) && is_array($master_array) && $save_parsed_cals == 'no' && $is_webcal == FALSE && $cal != $ALL_CALENDARS_COMBINED) {
              $write_me = serialize($master_array);                   ~~~~
              $fd = fopen($parsedcal, 'w');
              fwrite($fd, $write_me);
              fclose($fd);
1073行          touch($parsedcal, $realcal_mtime);}
-------

色々試行錯誤した結果、力技といいますか
警告を受けていた「functions/ical_parser.php」の↑の波線部分の所をyesからnoに変えたらなんとか警告は出なくなりました
この変更によってどういう影響をもたらすのかさっぱりですが・・・('A`;)
728nobodyさん:05/03/03 18:19:00 ID:???
>>722
しかし、外部テキストデータBを呼び出すには多少時間がかかるため

どんなでっかいテキストデータなんだ?
どれともローカル以外にあるとか?

いずれにしても、PHPでopenしたほうが手間無いと思われ。
729nobodyさん:05/03/03 18:48:52 ID:???
現在のTV番組を配信してるrssはどこかないでしょうか?
730nobodyさん:05/03/03 18:52:01 ID:sBw8KeR2
生まれて初めてphpというものを書いてみました。
いろんなphpの見よう見まねで作った、近々ある社会の用語テスト用のくだらないスクリプトなのですが、
うまくいかないのです・・・もしよければ相談に乗っていただけませんでしょうか?

スクリプトの内容は
<?
$question = array( "問1","問2","問3" );
$answer = array( "答1","答2","答3" );
print("[問]<br>$question<br><br>[答]<br>$answer");
?>
この4行ですorz
ためしに動かしてみたのですが、なぜか「問1」とか「答1」とか表示される所に「Array」と表示されました・・・
それでarrayを消してもう一度動かしてみたのですが、こんどはエラーで動いてくれませんでしたorz
構想としては「問1」とでるならば「答1」とでるように、つながってて(?)ほしいです・・
もしよければ悪い点を指摘して頂きたいです。phpの勉強もしてみたいので。。。
では宜しくお願い致しますorz
731nobodyさん:05/03/03 18:58:50 ID:???
$question = array( "問1","問2","問3" );

この$question は "問1"、"問2"、"問3"、が入っている配列そのものを指していると思えばよい。
だから、配列を意味するArrayという文字が出てくる。決してarray()の"array"が表示されているわけではない。
問1(つまり配列の0番目)にアクセスするにはこの変数の後ろに[0]という添え字をつける。
$question[0]
問2であれば、
$question[1]
だ。
配列の先頭は1番目から数えるのではなく、0番目からスタートする。



732nobodyさん:05/03/03 18:59:26 ID:7OeoLBpl
>>730
配列一つづつ表示させたいんですよね??
以下のようなやりかたで表示されるのでは?
for($i=0;$i<3;$i++){
print "[問]<BR>$question[$i]<BR><BR>[答]<BR>$answer[$i]
}
733nobodyさん:05/03/03 19:00:19 ID:7OeoLBpl
質問です。
mb_send_mailでエラー返送先Return-Pathを指定しなかったら
fromで指定したところにエラー返送されますか??
734nobodyさん:05/03/03 19:02:27 ID:sBw8KeR2
>>731
大変勉強になりますです 無事、表示できました。
ところで、ランダムに表示する事は可能でしょうか・・・?
また、その場合においてもquestionとanswerは結びついていて欲しいのですが・・・orz
735nobodyさん:05/03/03 19:03:42 ID:W+vZoiDK
returnでfalseにせずに数字もしくは文字列の0を返したい場合、どすれば
よいですか?やっぱり、無理ですか。
736nobodyさん:05/03/03 19:04:40 ID:7OeoLBpl
return 数字;
もしくは
return 文字列;
でできるのでは?
737nobodyさん:05/03/03 19:15:01 ID:???
>>733
実際に試してみれば?

答えは「鯖の設定による」
738nobodyさん:05/03/03 19:19:44 ID:???
もしランダムに選んで1回だけ表示でよいなら、

$i = rand(0, 2); // ← 0 〜 2 までの乱数を取得
print "[問]<BR>$question[$i]<BR><BR>[答]<BR>$answer[$i] ";
739nobodyさん:05/03/03 19:20:32 ID:7OeoLBpl
>>737
SMTPの関係で今実際にメール送信ができないのです。
safe_modeを有効にした状態でmb_send_mailの第5引数に
Return-Pathを設定すると設定したアドレスにエラー返送できる。
ということまで分かっているのですが、
もし、このReturn-Pathを設定しなかったら。
”答えは「鯖の設定による」 ”ということは
safe_modeが有効だったらfromで指定したアドレスに返送される
ということでしょうか?
740nobodyさん:05/03/03 19:24:31 ID:sBw8KeR2
>>738
ありがとうございます!!
できました!!
スレッドの皆さん、お世話になりました
これで勉強が少しやりやすくなりましたです 本当に有難うございました
741nobodyさん:05/03/03 19:52:32 ID:???
日本語の勉強がんばってね
742nobodyさん:05/03/03 20:25:50 ID:???
時代を感じるね phpで勉強とは。。。
743nobodyさん:05/03/03 20:29:59 ID:???
オッサン乙
744nobodyさん:05/03/03 20:40:30 ID:???
うるさい
745nobodyさん:05/03/04 09:58:10 ID:???
>>739
Return-Path は、Recieved: ヘッダの情報を元に、最終的に
受け取った MTA が付けます。
746nobodyさん:05/03/04 14:53:02 ID:isNQAP9U
外部のSMTPサーバを利用してメールの送信を行うにはどうすればいいですか?
747nobodyさん:05/03/04 15:12:57 ID:???
>>746
どこまでやって、何につまってるのか書いてないので適当に答える。

・mail()関数を使う場合
 Linux -> sendmail等を直接叩くので不可
 Windows -> SMTPサーバ接続のみ利用可なので適切な設定でOK
・fsockopenでSMTPを直接喋る
 SMTPに則って、適切に実行する。ググればサンプルもあるはず。
 つーか、他の言語ではこの形式のものが多いから他言語のものであっても参考に汁
748746:05/03/04 15:22:55 ID:???
すいません、焦っていたもので環境を書き忘れてました。Linuxなんです。
でも、Linuxだと、mail()関数は使えないんですね。
参考になりました。ありがとうございます。
749nobodyさん:05/03/04 16:11:59 ID:???
簡単なうぷろだを作ろうと実験してるんですが
フォームから$_FILES['upfile']['tmp_name'] で取得できる一時ファイルはどのタイミングで消えるんでしょうか。

$_SESSIONに一時ファイルのパス情報をいれて他のページに移動、
移動先のページで処理(アップロードファイルの確認とか)した後に$_SESSIONに保存しておいたパス情報を
使って move_uploaded_file() を発行しても、時間がある程度経過した後でもファイルを保存できますか?

それともアップロード直後に move_uploaded_file() で保存してやらないと一時ファイルは消えちゃいますか?

環境はLinux、Apache1.3系、PHP4.3.9 です。
750nobodyさん:05/03/04 16:18:30 ID:???
>>746
「fsockopenでSMTPを直接喋る」ライブラリが豊富にあるので、それを利用する。
PHPMailerとか、Pearのクラスとか。
751nobodyさん:05/03/04 16:20:51 ID:???
>>749
ttp://www.php.net/manual/ja/features.file-upload.php
移動または名前の変更が行われていない場合、リクエストの終了時にその
ファイルはテンポラリディレクトリから削除されます。
752nobodyさん:05/03/04 16:28:34 ID:fHaVG3jY
>>751

ありがとう 読み飛ばしていたようだ(;´д`)
アップ後に一旦移動させる事にします
753nobodyさん:05/03/05 00:35:30 ID:???
Configuration File (php.ini) Path を変更することってできるんでしょうか?
754nobodyさん:05/03/05 01:27:21 ID:???
>>753
コンパイルをしなおせば。
755nobodyさん:05/03/05 01:51:38 ID:???
>>753
-c <path>|<file> Look for php.ini file in this directory
756nobodyさん:05/03/05 01:59:54 ID:???
>>755
CLI版はね。
757nobodyさん:05/03/05 03:36:18 ID:???
>754-756

まずお礼を言わせていただきます。
今の自分にはそこまでするスキルがありません。
Windows 環境ですし。。。
758nobodyさん:05/03/05 08:56:07 ID:???
>>757
Visual C++(Ver.6以降)があればWindowsでもコンパイルできる
759nobodyさん:05/03/05 09:34:58 ID:???
そこでVCかよ…(;´Д`)
760nobodyさん:05/03/05 10:13:30 ID:???
>758

難しいものなんでしょうか?
761760:05/03/05 10:16:43 ID:???
C++ は持っていませんが、他で使える環境があります。
コンパイルの方法を教えてもらえないでしょうか?
762nobodyさん:05/03/05 10:27:05 ID:???
>>761
つ【日本語マニュアル】
つ【Google】
763nobodyさん:05/03/05 10:34:38 ID:???
>>761
マニュアルを読む癖を付けた方がいい。
ttp://www.php.net/manual/ja/install.php
そこにも書いてあるが、ソースからwindows用のをbuildするのは結構難しい。
取り組むつもりなら独力でやるつもりでがんがれ
764nobodyさん:05/03/05 11:36:27 ID:pdjPLFTW
>>734

ちょっと亀レスですみません。

ランダムに出すと言う意味ではちょっと>>738さんとは違うと思うんですが、

<?php
$qa=array(
array('問1','答1'),
array('問2','答2'),
array('問3','答3')
);

$num=rand(0,2);

print ("<p>".$qa[$num][0]);
print ("<p>".$qa[$num][1]);

?>

これだと、リロードするたびに違う問題が出てきます。
だから用語テスト的にはよろしいのではないかと・・・・。
765760-761:05/03/05 11:57:52 ID:???
>762-763

わかりました。
自力でトライしてみます
ありがとうございました。
766nobodyさん:05/03/05 13:02:19 ID:???
PHPで変数中にある指定文字のX番目以降の文字を返す関数はないでしょうか?
eregとsubstrの両方の機能があるような関数が欲しいのですが。

検索文字したい文字以降の X番目からY番目の文字を表示したいのですが。

たとえば$RR=あいうえをかきくけこさしすせそたちつてとなににねの;のとき。

検索文字=「かき」
X番目= 3
y番目= 6
とした場合
「こさしすせそ」 を表示させたいのですが。関数の名前だけでもいいので
誰かご存じないでしょうか?


767nobodyさん:05/03/05 13:05:49 ID:???
昔はregister_globalsがデフォルトでonだったってのは
今考えるとかなりやヴぁいと思った
俺みたいな初級プログラマーは間違いなくハックされそう

extractも安易に使うとやばいような気もするんだけど、どうなんでしょう?
768nobodyさん:05/03/05 13:19:03 ID:???
>>766
strposとsubstrを組み合わせれ
例のように全角文字を対象とするならそれぞれのマルチバイト対応関数を使うべし
769nobodyさん:05/03/05 13:37:03 ID:???
>>766
無い!
770nobodyさん:05/03/05 13:55:45 ID:???
>>766
$str="あいうえをかきくけこさしすせそたちつてとなににねの";
mb_ereg("かき(.{2})(.{6})",$str,$arr);
print_r($arr);
771nobodyさん:05/03/05 14:46:58 ID:???
>>767
むしろ、ヤバさはregister_globals=Onよりも強力です。
extractを記述するってことで本人が意図的にやってる部分でスポイルされてますが。
772ico:05/03/05 14:47:38 ID:???
質問です。携帯電話での音楽のダウンロードサイトを作っています。
□やりたいこと
音楽ファイルを1曲ダウンロードしたらセッションフラグを立てるなどして、
一度ブラウザを閉じてセッションをリセットしないと他の曲をダウンロードできないようにしたい。
ダウンロード完了後、他画面に強制的に遷移できれば問題ないはず
□問題点
ダウンロードまではできるのだが、各携帯電話によってダウンロード後の「保存画面」が存在する場合がある。
「保存画面」で「保存」が押下されたことを検知できない。
□打開策
案1:携帯の固定識別番号を取得しデータベースに登録。
データベースに存在する固定識別番号の携帯はTOP画面から入りなおさないと音楽ファイルのダウンロードを出来なくする。
 →問題点:「固定識別番号を送信しますか?」とダイアログボックスがでる携帯がある。利用者が不審に思い、サイトの利用を控えるのではないか?
□現在のソース
$file_location=i18n_convert($strPath,SJIS);
$filesize=filesize($strPath);
header ("Accept-Ranges: none");
header ("Content-Length: $filesize");
header("Content-Type: text/octet-stream");
header("Content-Disposition: attachment; filename=$cm_file_place");
i18n_http_output("pass");
$fp=fopen($strPath,"rb");
fpassthru($fp);
fclose($fp);
//端末に保存されたら強制的に画面遷移する(このままでは端末にファイルが保存されない・・・)
header("Location: ".COMPURL);
携帯にファイルが保存されたことを検知する方法ってないですかね?
もしくは他の方法で「□やりたいこと」を実現する打開策とか。
いろいろ調べてみたけど良い方法が見つからないので質問させて頂きました。
宜しくお願い致します

773nobodyさん:05/03/05 15:00:46 ID:???
空メール送信にしたら?
774ico:05/03/05 15:04:39 ID:???
>>773
いい案だけど却下です。
いちいちそんな手間を利用者に踏ませたくないというのと
僕だったらめんどくさくてダウンロードするのあきらめちゃいます^^;
775nobodyさん:05/03/05 15:11:33 ID:???
もうね、お前の場合、だぁれも相手してくれないと思っていいよ。
「却下」って何様?
776nobodyさん:05/03/05 15:13:09 ID:???
>>775
おれもそう思った
態度がおかしい

>>774
どっかいけ
777nobodyさん:05/03/05 15:17:02 ID:???

             ,. -─- 、
            ,r'´,. ‐,‐'`` ‐、、 __  ←>>774
            ,'  { ' rヽ'`ヽヽ{:::::}
           i   ヽ  ヽ 。ヽ゚,r'ー‐t <あひょほほほほほ!!
           !  ,-- ゝ  ー' '    !           _
       _   ', {  r、       ノ _  、、    / /
      r'´_``ヽ、ゝ、、  `iー,-,-,‐'´,r'´_`ヽ カタカタカタ/
     (/,=ニミ= `ー'` ‐ヽ`ー'ノー-' 彡ニ=、\)   / /
             `ー'`ー'`ー-`ニ-'`ー´ i二二二二二二l

778nobodyさん:05/03/05 15:35:26 ID:nfpa4x1+
htmlソースを簡単に変更する方法教えてくださいませ
どんな関数使えば宜しいでしょうか
779nobodyさん:05/03/05 15:37:19 ID:???
何がしたいのか書けよ
780nobodyさん:05/03/05 15:38:40 ID:???
質問です
fatal error; undefind function mysql_connect()
というエラーが出てしまいます
WindowsXP+PHP(モジュール) にMySQLを入れ、DOS窓では動きましまが、以下のPHPのソースではエラーになりました
<html><body><?php
$dbid = mysql_connect("localhost","root","pass");
?></body></html>
何が原因なんでしょうか?
781780:05/03/05 15:44:33 ID:???
急いでるんですが・・・
早く誰でもいいので答えてもらえませんか?
782nobodyさん:05/03/05 15:46:07 ID:???
undefind
783780:05/03/05 15:46:54 ID:???
>782
即レスありがとうございました
784780:05/03/05 15:49:03 ID:???
誰ですかあなた
急いでいるのにsageるなんて面白い方ですね

調べながらマターリ待っています。
785780:05/03/05 15:52:14 ID:???
>>782
それがなぜか分からないのです
Windowsなのでコンパイル時にオプションを指定する必要はないはずですし…
786766:05/03/05 16:18:24 ID:???
>>770

ヒントありがとうございます。できました。
787780:05/03/05 16:28:55 ID:???
早くしてください。
788780=785:05/03/05 16:38:22 ID:???
すみません原因が分かりました
PHP5からはDLLをコピーしたりする必要があったんですね。失礼しました

789774=780=785:05/03/05 16:44:01 ID:???


    ,、    /7       ,-、
    ( <.    | l      //´
    ヽ\,.ィ´ .ニニェ‐、//
      >、<・> < ・>) 〈
     // ´ ノ( 、_, )ヽ ヘヘ.
     | l  ノ、__!!_,.、 | l
     ヘヘ.   ヽニニソ  ././
       ヽヽヘ、____,,..ィ,ン′
         `''‐---‐''´


790nobodyさん:05/03/05 16:50:58 ID:???
>>778
質問の内容が不十分で意味が不明なので、勝手に解釈して返答。
file()で読んでfopen()&fputs()で書き込み。
791nobodyさん:05/03/05 16:52:31 ID:???
すいません。質問なのですが、
ttp://www.balletrussia.com/stars/ilse/images/phli.swf
↑の画像を自分のPCの壁紙にしたいと思うのですが、
画像が保存出来ないのです。画像を自分のPCに取り込んで、
保存出来る方法ってあるのでしょうか。
初心者なので、スレ違いでしたらすいません。
792nobodyさん:05/03/05 16:57:46 ID:???
なんでPHPスレに…
flashは画像じゃないからスクリーンショット撮れ。
793nobodyさん:05/03/05 17:50:31 ID:LpD+DiyE
PHPで使うリクエストをPOSTで統一したいのですが、フレームを使った
ページの場合、どうやってindex.phpにモジュール名とアクション名を
渡せばいいのか分からず悩んでいます。
具体的に言うと下記のソース(GET版)の6,7行目にモジュール名と
アクション名を書かないでも済むようPOSTにしたいのです。
どうか皆様のお知恵をお貸し下さいませ。

<HTML>
<HEAD>
<TITLE>メニュー</TITLE>
</HEAD>
<FRAMESET COLS="20%,80%">
<FRAME SRC="index.php?module=Manu&action=Left" name="Left">
<FRAME SRC="index.php?module=Manu&action=Right" name="Right">
</FRAMESET>
</HTML>
794nobodyさん:05/03/05 17:54:20 ID:???
フレームを使っている時点で(ry
795nobodyさん:05/03/05 18:20:10 ID:???
>>793
input type=hidden使え。
あとpostするにはなんらかのアクションが必要だから
たぶんJavaScriptでpostさせることになるだろう。
796nobodyさん:05/03/05 18:41:39 ID:???
>>793
なんだ?そのindex.phpは?
そのindex.phpの内部で、action値をどうやって処理しているか
がわからなけりゃ、答えようもない。
まぁ、たぶんactionの値で、送出する内容を切り分けているだけだろうが。

で、解決策。
index.phpを2つコピー
それぞれを[right.php][left.php]にリネーム。
で、内部で$action = $_REQUEST['action'];とか、
$action = $_GET['action'];
とかになっているところを、
[right.php]なら
$action = 'right';
[left.php]
$action = 'left';
と書き換える。
あとは、
<FRAME SRC="left.php?module=Manu" name="Left">
<FRAME SRC="right.php?module=Manu" name="Right">
で桶。
moduleもうっとうしかったら上記応用で固定汁

797706:05/03/05 18:42:48 ID:???
訂正。
[right.php]なら
$action = 'Right';
[left.php]
$action = 'Left';

な。
798nobodyさん:05/03/05 19:18:25 ID:???
>>796
> なんだ?そのindex.phpは?

フレームワークでも使ってんじゃねーの?
799793:05/03/05 20:15:26 ID:???
フレームワークにmojaviを使って、index.phpに渡すmoduleとactionで表示ページを
切り分けています。
URLやHTML内に表示したくない項目を各画面で引き継いで行く必要があるのですが、
POSTを使えない場面でどうすればよいのか悩んでいました。
index.php一つで対応する場合はやはりJavaScriptしかないのでしょうか。
800nobodyさん:05/03/05 20:29:38 ID:???
>>799
session使えば?
801nobodyさん:05/03/05 20:46:24 ID:???
フレームワークに振り回されて作りたい物が作れないのは本末転倒だろ。
802nobodyさん:05/03/05 21:46:12 ID:NIxfXemZ
PHP5なんですけど、
あるクラスのプロパティ一覧をゲットして、foreachでまわすなんてことは、できないでしょうか?
803nobodyさん:05/03/05 21:55:59 ID:???
>>802
マニュアルのクラス/オブジェクト関数嫁
804nobodyさん:05/03/06 00:19:42 ID:cTj8jdFA
以下のようなPHPファイルを別ファイルのPHPでインクルードして
fugaメソッドを呼び出すとNULLと表示されてしまいます。
$hogeはグローバル変数になっていないようなのですが、
使い方間違っているでしょうか?

<?php
$hoge = array("aaa", "bbb", "ccc");

class hoge {

 function fuga() {
  global $hoge;
  var_dump($hoge);
 }

}
?>
805nobodyさん:05/03/06 04:50:09 ID:+a6+jJiS
すみません、質問です。
PHPでアクセスする度にインターネット一時ファイルを削除したいのですが
どのようにすればいいのでしょうか?
806nobodyさん:05/03/06 05:02:34 ID:???
>>804
グローバル変数になってますが?
807nobodyさん:05/03/06 08:11:14 ID:???
>>805
意味が分かりません。「インターネット一時ファイル」ってローカルに持つ
ファイルじゃないですか? PHPって、サーバーサイド言語じゃないですか?
どうやってローカルのファイルを削除するんですか?
っていうか、サーバーからそんなことできたら、危険じゃね?
808nobodyさん:05/03/06 09:33:22 ID:???
>>805
<meta>で、制御できたと思ったけど。
809nobodyさん:05/03/06 10:03:02 ID:???
>>807
すみません、知識がなくて…

>>808
ありがとうございます。解決できました。

答えてくれたお二人方、感謝しています。
810nobodyさん:05/03/06 10:19:59 ID:???
>>808で解決できたってことは、
インターネット一時ファイルを削除 -> キャッシュに残したくない
-> meta content="no-cache" http-equiv="Cache-Control|Pragma">
ってことだったのかのぅ。
811802:05/03/06 10:32:16 ID:???
>>803

をを、さんくす
812nobodyさん:05/03/06 10:34:01 ID:???
>>810
はい、そうです。

header("Cache-Control:no-cache,must-revalidate");
header("Pragma:no-cache");

を書き加えたらキャッシュに残されなくなりました。
813nobodyさん:05/03/06 17:51:44 ID:???
>>806
(・∀・)ニヤニヤ
814nobodyさん:05/03/06 23:25:56 ID:???
くだらない質問させてください。
if(ereg("[^._0-9A-Za-z]+", $_FILES['userfile']['name'][0])) {
と記述されている部分があるのですが、
この場合、「ハイフン」も含めるにはどう書けばいいでしょうか?
815nobodyさん:05/03/06 23:49:24 ID:???
すみません。
if (ereg("[^._0-9A-Za-z-]+", $_FILES['userfile']['name'][0])) {
で解決できました。
スレ汚し失礼しました。
816nobodyさん:05/03/07 00:56:19 ID:HlPlUaTA
phpとMySQLで簡単なデータ検索スクリプトを作りました。
携帯(i-mode)でも見られるように文字コードをsjisにしたんですが、
化ける文字に\を付ける他、
何か対策すべきことはありますか?
自分の携帯以外で逐一確認出来ないんで心配です。
817nobodyさん:05/03/07 04:34:06 ID:???
explodeとpreg_splitではexplodeのほうが速いと思うのですが、
1文字ずつ配列に入れるためにはpreg_splitの場合

$string = "0123456";
$ary_data = preg_split("//", $string);

とすることでできたのですが、explodeの場合


$ary_data = explode("", $string);

とやってもエラーがでてしまいました。
この場合はどのようにすればよいのでしょうか?
818nobodyさん:05/03/07 04:58:18 ID:???
>>817
そもそも$string{index}使えば配列に入れる必要が無いような
819nobodyさん:05/03/07 08:29:27 ID:???
>>817
<?php
$string = "0123456";
echo $string[3]; // 3
?>
820nobodyさん :05/03/07 11:31:34 ID:???
APACHEかもしれないのですが・・・すいません。
現在apache2.0.50PHP4.3.9jpgraph1.17を使っているのですが
jpgraphでグラフを作るたびD:\にtmpファイルが出てきてしまいます。
(DocumentRootはD:\にしています。)
キャッシュルートの設定だと思うのですがよくわかりません。
tmpファイルを特定のディレクトリに送る方法を教えてください。
初心者の質問で申し訳ありません。
821820:05/03/07 14:35:09 ID:???
追記。ちなみに
apache2.0.50(WIN)です。
よろしくお願いします
822nobodyさん:05/03/07 14:57:48 ID:???
>>820
よく分かりませんが、設定用のファイルの中で
define(〜〜)てな感じで設定するようになっていないんですか?
よく名前を聞くライブラリですし、それぐらいしてそうなんですが。
823nobodyさん:05/03/07 17:23:06 ID:???
DBのバックアップをPHPでやりたいのですが(shellがかけないので)
試しに以下のものを実行しました

-------------psql_back.php-----------------------
#!/usr/bin/php -q
<?
//ファイル名の設定
$filename = "DBdump_data" . date( 'Ymd' ) . ".gz";

//dump開始
system("pg_dumpall -U postgres > $filename");
system("cp $dl_filename /mnt/dir/");
?>
---------------------------------------------------

これをSSHでログインして
./psql_back.php
の形で実行してみましたがpg_dumpallで止まってしまいcpが実行されませんでした。
/var/log/messagesに何かでているかと思ったのですがログが膨大過ぎてどこに何があるかわかりませんでした。
「SSHでログインして./psql_back.php : #!/usr/bin/php -q」この条件で
何かログを検索するキーワードのようなものって想定できますでしょうか?
もし板違いでしたら誘導もお願いします。
824nobodyさん:05/03/07 17:36:39 ID:???
>>823
pg_dumpallの標準エラーを別ファイルに保存させるとか。
( command > file1 ) >& file2 (リダイレクトの利用)
825nobodyさん:05/03/07 17:41:49 ID:???
>>823
ホントにpg_dumpallで止まってるの?
cpの引数が一個定義されていないのはなぜ?


#!/bin/sh
pg_dumpall -U postgres | gzip -c - > /mnt/dir/DBdump_dat`date +%Y%m%d`.gz

pg_dumpall って出力はgz圧縮されてるの? されてたらゴメン
system()を使うならshellを勉強してからにしたほうがいいよ。
826823:05/03/07 18:15:26 ID:???
>>824
ちょっとおっしゃる意味がわからんのでぐぐってみます

>>825
実際はcpの引数は足りてました
ただ圧縮はしていませんでした。
gzipのオプションも把握していなかった次第です。

実験する前に勉強しなきゃですね
827nobodyさん:05/03/07 18:25:34 ID:???
質問ですが、MySQLにSJISで書き込む時に起こる文字化けをエスケープして化けないようにする関数があれば関数名を教えてください。
magic_quote_gcpはoffです。

>>816
手動で\を付けて書き込んでいますが、正しく表示されますよ(N900is)
ただクエリを送るページがSJIS以外の時は半角カタカナを使うとうまくいかないことがあるようです。
828nobodyさん:05/03/07 18:48:34 ID:???
PHP用のソース整形ツールを探してるんですけど、ご存じないですか?
Javaだとastyle(http://astyle.sourceforge.net/)などがあるんですが
PHPで同じ様なツールがあれば教えていただきたいです。
829nobodyさん:05/03/07 19:23:07 ID:???
>>828
PEAR::PHP_beautifier
てのがあるよ。使ったことないけど。
830nobodyさん:05/03/07 19:40:58 ID:???
phpCodeBeautifier - コーディングスタイルを統一する
ttp://www.pat.hi-ho.ne.jp/dimension/tips/tips_phpcb.shtml
ttp://www.waterproof.fr/products/phpCodeBeautifier/
とか。
831nobodyさん:05/03/07 21:44:39 ID:eEc3+oc8
Parse error: parse error, unexpected $ in /public_html/***.php on line 最終行

こういうの困りますよね
832nobodyさん:05/03/07 22:22:49 ID:KVf6uHOl
PHPで作られているオンラインでのウェブサイト管理ソフトって有りませんか?
ソースが見たいのですが。
833nobodyさん:05/03/07 22:34:46 ID:???
>>832
xoopsとかじゃだめなの?
834nobodyさん:05/03/07 22:43:54 ID:???
>>831
よくやったよそのミス。
835832:05/03/07 22:44:16 ID:KVf6uHOl
>>833
それもいいんですが、いろいろなバリエーションを見てみたいんです。
それぞれの設計(画面構成も含めた)の良い点を取り入れたいので、
もっといろいろな種類を知りたいんです。
836nobodyさん:05/03/07 22:50:24 ID:???
>>832
「ウェブサイト管理」の意味する範囲が広すぎ。

最近1000点ぐらいソース公開されてるPHPスクリプトを
紹介する本が出たからそれ見てチェックしてみ。
837nobodyさん:05/03/07 22:54:31 ID:???
>>835
sourceforge.netあたりで CMS PHPで検索すれば、かなりヒットするかと。
玉石混交&ドキュメント無しですが。
838nobodyさん:05/03/07 23:26:15 ID:???
変な質問ですけど、foreachを使って10個あるデータを
繰り返さずに1つしか表示させる方法は知りませんか?
839nobodyさん:05/03/07 23:39:52 ID:???
832ではないけど、玉石混交じゃなくて最近人気だとか
評判の良いPHPスクリプト紹介している所ってないですか?
840nobodyさん:05/03/07 23:42:48 ID:???
>>838
質問が変というより日本語が変で何をしたいのかよく分かりません。
例をあげてもらった方が伝わり易いかも知れません。
841nobodyさん:05/03/08 00:12:49 ID:???
>>839
熱いスクリプトか、新鮮な肉で評価順で探せ。
842nobodyさん:05/03/08 01:07:14 ID:???
>>841どもです
843nobodyさん:05/03/08 01:48:30 ID:???
PHPやってるオマエラは犬と猫どっちが好き?俺は犬だけど。
844nobodyさん:05/03/08 02:00:22 ID:???
ぬこ
845nobodyさん:05/03/08 02:02:25 ID:???
ねこになりたい にゃーん
846nobodyさん:05/03/08 02:19:17 ID:???
>>843
なんつうくだらねぇ質問だ。そんなの100人中64人が
猫と答えるに決まってんだろ。
847nobodyさん:05/03/08 11:22:16 ID:???
アップロードされたムービーの作成時刻(撮影時刻)を取得する方法はありますか?

phpからファイル一覧を取得して、リスト表示するのを作っています。撮影時刻順に並べたいのです。
ファイルは静止画とムービーです。
JPEG画像はexif情報から作成時刻(撮影時刻)を取得できていますが、ムービーでも同じようなことができるのでしょうか?
(更新時刻、すなわちアップロード時刻ではありませんのでねんのため…)

よろしくお願いします。
848nobodyさん:05/03/08 11:35:07 ID:???
>>847
ムービーつってもいろんな種類がある。
なかには撮影時刻を保持しているのがあるかも知れない。
対象とするムービーのファイル構造を調べるのが第一歩かと。
その辺の話はPHPやWebProgとは関係無くなる。
849nobodyさん:05/03/08 16:33:01 ID:uOGRIuh4
>>841 新鮮な肉ってなんですか?
熱いスクリプトはぐぐったら出てきたのですが・・・
850nobodyさん:05/03/08 17:00:46 ID:???
>>849
freshmeat.netだろうね
851nobodyさん:05/03/08 18:16:05 ID:LGJ/YsME
レーダーグラフのスクリプトというのは
どこかで配布されているでしょうか?
852nobodyさん:05/03/08 18:20:00 ID:???
画像のID取得するのにimagecreatefromjpeg imagecreatefrompngという関数がありますが、
その他の画像のIDを取得するにはどうすればいいのでしょう?gifやtiffなど。
 画像掲示板を作っていて縮小表示するためにサイズの変更をしたいのですが、
画像フォーマットごとに処理をかえなくてはいけないでしょうか?
853nobodyさん:05/03/08 18:34:20 ID:???
>>851
グラフを書くためのjpgraphやphplotてなライブラリもあるけど、
ttp://www.rakuto.net/study/php/sample/sradar/ の人みたいに自力でやるのもいいかと。

>>852
処理分岐が必要な時は当然するべきですよ。
854852:05/03/08 18:34:50 ID:1t4kry72
追記
GD2.0.28
gifcreate enable
pngsupport enable
jpegsupport enable
です。
855nobodyさん:05/03/08 18:40:35 ID:???
>>853
ありがとうございます。
画像フォーマットに関係なく縮小コピーなどできる関数があればと思ったのですが残念です。
imagecopyresizedを使う場合、
GD2.0.48ではgif,tiffの縮小コピーはあきらめるしかないでしょうか?
856851:05/03/08 18:44:11 ID:???
>>853
どうもありがとうございました
857nobodyさん:05/03/08 19:16:04 ID:7EtI6IRz
IISの板には人がいないのでこちらに書きます。
IIS6.0上のPHPでWindowsのATコマンドを実行したいのですが、
「Warning: system(): Unable to fork 」と表示されてsystem()
コマンドが実行できません。
何かいい方法はありますでしょうか?
ちなみにIIS5.0では問題なく動きます。
858nobodyさん:05/03/08 19:59:56 ID:miamZvaO
初歩的ですまんが フォーム→確認画面→完了画面
という単純な流れを行うときに確認画面から完了画面へパラメータを渡すのは
確認画面でhiddenタグに入れて飛ばすのかセッションに格納する方がいいのが
どっちがいいのでしょうか?

859nobodyさん:05/03/08 20:11:09 ID:???
>858
どっちでも好きなように汁
860nobodyさん:05/03/08 20:21:53 ID:???
俺ならcookieにmicrotime()、hiddenにパスワードをcryptしたのを入れてMySQL
861nobodyさん:05/03/08 20:41:18 ID:???
>>855
GDいじったことないけど、最近GIFの加工に関する関数が消されたとか。
862nobodyさん:05/03/08 21:03:36 ID:KmS8l+Vh
PHPは、拡張子を.htmlのまま組み込む事は出来ないのでしょうか。
くだらなくてすみません。
863nobodyさん:05/03/08 21:31:06 ID:???
>>862
鯖の設定に関係するので 管理者さんと相談かと。
htaccessが使えるなら自分で設定できる可能性もありますが。<AddTypeディレクティブ等
864nobodyさん:05/03/08 21:48:23 ID:KmS8l+Vh
>>863
レスありがとうございます。
indexにphpのカウンタを置きたいのですが、サーバさんがphpを許可してなくて。
なので、phpを外部ファイルみたいにして別の(phpを許可している)サーバさんに置かせてもらって、
indexにくみこみたいのですが。これは可能でしょうか?
.htaccessはphp可能なサーバさんなら使えるのですが、やはりindexの方が使用を許可していないと無理ですか?
865nobodyさん:05/03/08 22:09:10 ID:???
header("Content-type: image/jpeg");
$im = imagecreate(100,50);
$white = imagecolorallocate($im, 255,255,255);
$black = imagecolorallocate($im, 0,0,0);
$font = "BGPENKB.TTF";
$moji = "aイうE尾";
$text = mb_convert_encoding($moji, "SJIS");

// Replace path by your own font path
imagettftext($im, 15, 0, 10, 35, $black, $font, $text);
imagejpeg($im);
imagedestroy($im);
こんな感じで画像に文字を入れたいんですが、上記では文字化けもせず表示されます。
ところが、フォントを変えるとSJISでは文字化けする物もあります。
使いたいフォントが10個くらいあるんですが、1個づつ調べるしか方法はありませんか?
866nobodyさん:05/03/08 22:11:50 ID:???
>>861
逆。最近復活した。
867nobodyさん:05/03/08 22:14:12 ID:???
>>855
今、GD2ってそんなバージョンまで上がってるんだっけ?
http://www.boutell.com/gd/
PHPのバンドルは本家のGDにちと手を加えてるしな...
868nobodyさん:05/03/08 22:20:51 ID:???
携帯キャリア検索をPHPで作りたい。

090‐□□□×‐××××

□に数字を入れて検索ボタン押したら『ドコモ中国です』とかでるやつです

例だけでもお願いします
869nobodyさん:05/03/08 22:35:06 ID:???
>>868
PHPスクリプトを回答するから
□の数字の組み合わせとキャリアのマッピングを教えてくれ。
870nobodyさん:05/03/09 00:15:54 ID:???
今更Gifが復活しても使うメリットが無いわけだが。
871nobodyさん:05/03/09 00:28:09 ID:???
>>869は優しいなあ
お望みのものは総務省のホームページで
公開されてるから頑張れ

ちなみに俺は質問者じゃないけど
期待してるよ
872nobodyさん:05/03/09 01:18:11 ID:TPYzASqD
同じHPの中にある、htmlの表示(呼び出し)とか可能でしょうか・・・?
フレーム無し仕様なので、
メニューバーのところが、コンテンツが増えるたびにすべてのphpを更新しなくてはいけないんです・・・
もしできれば、やりかたも教えて下さい・・・ おねがいしますorz
873nobodyさん:05/03/09 01:21:50 ID:TPYzASqD
まとめつくってくるお
874nobodyさん:05/03/09 01:22:53 ID:???
>>872
require include その他もろもろ。
875nobodyさん:05/03/09 01:29:46 ID:TPYzASqD
>>873は誤爆です すいません

>>874
なるほど ありがとうございました!
876nobodyさん:05/03/09 02:10:32 ID:???
php-4.3.10のconfigure時にエラーになってしまいました。
osはRH9です。

config.logを確認すると
configure:32396: checking for XpmFreeXpmImage in -lXpm
configure:32415: gcc -o conftest -g -O2 -Wl,-rpath,/usr/X11R6/lib -L/usr/X11R6/lib -lX11
conftest.c -lXpm -lpng -lz -ljpeg -lz -lresolv -lm -ldl -lnsl 1>&5
/usr/X11R6/lib/libXpm.so: undefined reference to `__ctype_b'
/usr/X11R6/lib/libXpm.so: undefined reference to `_fxstat'
/usr/X11R6/lib/libXpm.so: undefined reference to `__ctype_tolower'

libXpm.soが undefinedとなっております。
xpmはネットからxpm-3.4k-linux.tgzを落としたものです。
877nobodyさん:05/03/09 02:17:02 ID:???
configureでxpmの場所を指定すればいい希ガス
878nobodyさん:05/03/09 02:18:53 ID:???
>>877さん
すんません。指定してまつ
./configure --with-apxs2=/usr/local/apache2/bin/apxs \
--enable-mbstring \
--enable-mbregex \
--enable-zend-multibyte \
--with-zlib \
--with-mysql=/usr/local/mysql \
--with-zlib-dir=/usr/lib \
--with-gd=/usr/lib \
--with-jpeg-dir=/usr/lib \
--with-png-dir=/usr/lib \
--with-xml \
--enable-xslt \
--with-xslt-sablot \
--with-xpm-dir=/usr/X11R6/lib \
--with-freetype-dir=/usr/lib
879nobodyさん:05/03/09 02:28:41 ID:???
>>878
何か場所が違ってる気がする。
> xpmはネットからxpm-3.4k-linux.tgzを落としたものです。
なんでそ?

だったら、/usr/local 以下に入ってるような・・・
(特に指定していなければ)
$ locate libXpm.so
して正確な場所を探すべし。
もし、見つからなかったら
# updatedb
してから再度locate汁
880nobodyさん:05/03/09 02:37:11 ID:???
>>879さん
やっぱし、configureで正しい場所を示してるようです。
/usr/X11R6/lib/libXpm.so
/usr/X11R6/lib/libXpm.so.4
/usr/X11R6/lib/libXpm.so.4.11
/home/horie/xpm-3.4k-linux/lib/libXpm.so.4.11
/home/horie/xpm-3.4k-linux/lib/libXpm.so.4
/home/horie/xpm-3.4k-linux/lib/libXpm.so

xpm-3.4k-linux.tgzにはインストールスクリプトも何も
ついていませんでした。
881nobodyさん:05/03/09 02:44:46 ID:TPYzASqD
すいませんもう一つ質問したいことが・・・orz

imgというフォルダのなかに1.jpg 2.jpg 3.jpgというように沢山jpgが入っていて、
これ頻繁に更新するんです・・・
そこで、フォルダからファイルみつけて自動でリンク作成してくれるようなのを作れませんかね・・・?
<a href="http://***/img/1.jpg">1</a>
<a href="http://***/img/2.jpg">2</a>
このように・・

おねがいしますorz
882855:05/03/09 03:01:39 ID:???
>>867
失礼しました2.0.28です。
TIFのアップロードは許可せず、GIFは縮小表示無しとしました。
883nobodyさん:05/03/09 03:16:20 ID:???
>>880
漏れにはお手上げだわ。スマソ

>>881
できるよ。

PukiWikiのソースが参考になるんでないかな?
ページの一覧を得るヤツとか。pagesとかでgrepしたら見つかると思う。
884nobodyさん:05/03/09 03:17:49 ID:???
>>881
マニュアルのディレクトリ関数参照
それでわからないならマル投げスレいけ。
885nobodyさん:05/03/09 03:38:26 ID:TPYzASqD
>>883-884
申し訳ありません サッパリでした・・・orz
丸投げスレでお願いしてみますです。。。
886nobodyさん:05/03/09 06:29:18 ID:/L5CaHRV
質問させて頂きます。
現在PHP + MySQLでデータベースの勉強をしているのですが
いきなり取っ掛かりで躓いてしまってます…
一通り設定し終わってから、MySQLに接続するだけの以下の様なコードを実行しました。
<?php
$hdb = mysql_connect("localhost","root","test_pass");
if(!$hdb){ print("can not connect db\n"); exit; }
mysql_close($hdb);
?>

すると、以下の様なエラーが表示されてしまい、失敗します。
Warning: mysql_connect() [function.mysql-connect]: Client does not support authentication protocol
requested by server; consider upgrading MySQL client in C:\www\test.php on line 2
can not connect db

色々と自分でネット上を調べた結果、新しいMySQLのパスワードのハッシュが
変更になった為に起こる問題だという事が分かり、my.iniに [mysqld-4.1] old-passwords を追加して実行したのですが、
やはり同じエラーが表示されてしまいます…
色々と自分で試行錯誤したのですが、どうしても問題が解決できず、ここで質問させて頂きました。
尚、PHPはMySQL関係以外のコードならキチンと動作し、MySQLもコンソールから問題なく接続出来てます。

[環境]
WindowsXP SP2 Professional
Apache 2.0.52
PHP 5.0.2.2
MySQL 4.1
887nobodyさん:05/03/09 07:37:39 ID:???
>>886
MySQL4.0にしたら
888nobodyさん:05/03/09 07:47:03 ID:???
ファイルがテキストかバイナリかを見分ける方法ってありますか?
889886:05/03/09 08:36:06 ID:???
>>887
今、言われた通りに、MySQLのバージョンを4にすると問題なく実行できる様になりました!
原因は分からず終いですが、とりあえず先に進みたいので、このバージョンを使ってみる事にします。
助言の方、ありがとうございました。
890nobodyさん:05/03/09 08:40:21 ID:???
>>886
そのmy.iniの値が本当にサーバに反映されてるのか、
MySQLに付属してたmysqlクライアントでチェックしてみな。
891nobodyさん:05/03/09 08:47:36 ID:???
Windows版バイナリのPHP5.0.2ならば、バンドルされている
MySQLクライアントのバージョンが4.1.7だから、
もとよりそんな細工は要らんわけだが。

>原因は分からず終いですが、とりあえず先に進みたい

まあ、この件はいいとしても(貴方の本筋でない可能性が高いから)
全般として自分がやってることを理解せずに、ただ書かれていることを
写すだけなら学習方法として間違ってるよ。
892nobodyさん:05/03/09 08:49:57 ID:???
>>888
テキストにないコードが入ってたらバイナリと判断するかね。
テキストはある意味、特殊なバイナリという見方もできるから判別が難しい。
893nobodyさん:05/03/09 09:07:40 ID:y1CZf8yX
894nobodyさん:05/03/09 09:10:13 ID:???
>>847です。
遅くなりましたが>>848さん、どうもありがとうございます。
895886:05/03/09 09:16:40 ID:/L5CaHRV
>>890
一応「show variable」で確認したんですが、
old-passwordsはONになってましたので、反映されてたと思います。
その後も色々試行錯誤したんですが、どうもダメでして…

>>891
> バンドルされているMySQLクライアントのバージョンが4.1.7だから、
> もとよりそんな細工は要らんわけだが。
そうでしたか。

> 全般として自分がやってることを理解せずに、ただ書かれていることを
> 写すだけなら学習方法として間違ってるよ。
いや、取っ掛かりでいきなり時間が掛かってしまい、先に進みたい気持ちが先行してしまいまして…
確かに仰る通りですね。解決しても原因を理解していないと、また同じ様な失敗をしてしまうでしょうしね。

あと、>>886で書き忘れてましたが、MySQLに付属の「libmysql.dll」をシステムディレクトリに置くと
起動時に「指定されたモジュールが見付かりません」みたいなエラーが表示されてしまいます。
PHPに付いている方の「libmysql.dll」ならば問題ないのですが…
MySQLに付属の物の方がサイズも大きく、更新日も新しいので、そちらの方が良いかなと思ったのですが。
何か>>886のエラーと関係があるのでしょうか?
896nobodyさん:05/03/09 09:42:17 ID:???
>>893
期待されてもな...単なるマッピングの対応を引くだけの気が。
<?php
// csvは基底番号(5桁),0,1,2,3,4,5,6,7,8,9の6桁目の順序でキャリア名
// 実際のフォーマットはこんな感じ
// 08029,ドコモ中国,ドコモ中国,,,,,,,,ドコモ四国
// 09061,KDDI,KDDI,KDDI,KDDI,KDDI,KDDI,KDDI,KDDI,KDDI,KDDI
$fp = fopen('mobile.csv','r');
while($line = fgets($fp)){
$array = explode(',',chop($line));
for($i=0; $i<10; $i++){
$cmap[$array[0].$i] = $array[$i+1];}
unset($array);}
fclose($fp);
$fullnum = '(090)2091-2345';
$snum = substr(ereg_replace('[^0-9]','',$fullnum),0,6);
if(isset($cmap[$snum])){ $cmap[$snum] == '' ? $car = '未割り当て' : $car = $cmap[$snum];
}else{ $car = '未定義'; }
printf("電話番号[%s]のキャリアは%sです。",$fullnum,$car);
?>

こんな適当でいいか?
897nobodyさん:05/03/09 11:04:19 ID:2B8elh44
こっちに書くかリナックスか迷ったのですがこっちに書かせていただきます。
現在linux8でphp4.3.1を動かしているのですが
これをphp4.3.10にバージョンアップさせようと思います
インストールはした事は有るのですがバージョンアップは今回が
初めてで、アップの方法を探しているのですが
どうにも見つけることが出来ません。
どなたかやり方もしくは参考サイトなどあるようでしたら
教えてもらえませんか?
898nobodyさん:05/03/09 11:39:25 ID:???
>>893
暇なのでおれも作ってみた
http://marunage.web2.poporo.net/joyful/img/291.txt
ダウンして拡張子をphpにしる
899nobodyさん:05/03/09 11:41:51 ID:???
>>897
修正のあった部分だけが配布されるつー事はあんまり無いので、
古いものをアンインストール後 新しいのをインストールって形が基本的な方針かと。

真面目にやろうとすると、
・release notesやchangelogを見て、バージョンアップによる問題が起きないか確認。
・旧バージョンの関係ファイルを全てバックアップ
・新バージョンを(適切なコンパイル作業をしてから)インストール
・新バージョンの設定ファイルを修正
・動作確認後、旧バージョンを削除
ってな感じかな。

linux8つーのは無いのでredhat 8だと仮定すると、rpmでインストールしているだろうから、
その(PHPの)rpmの作成者の想定にそったバージョンアップをする方法もある。
rpmでのバージョンアップや設定の変更はWeb上にいろんな説明があるので割愛。
900nobodyさん:05/03/09 12:01:03 ID:???
>>895
>一応「show variable」で確認したんですが、
>old-passwordsはONになってました
ならOKだね。ちょっと同じ環境で試してみるかね。
入手先はどっちも本家サイトのバイナリーで、
MySQLはインストーラ版でいいのかな?

>エラーと関係があるのでしょうか?
は関係ない。ビルドしたときのリンクの問題なので
PHPで使うときはバンドルされているDLLを使ってください。
901軟式PHP:05/03/09 12:21:34 ID:???
>>898
いつか使うかもしれないからモロタよ。コード乙。
902nobodyさん:05/03/09 12:30:27 ID:???
>>896
>>898
有難うございmした。そして、乙。
感動しました。
903886:05/03/09 12:42:14 ID:???
>>900
> ちょっと同じ環境で試してみるかね。
> 入手先はどっちも本家サイトのバイナリーで、
> MySQLはインストーラ版でいいのかな?
そうです、どっちも本家サイトからDLした物をインストールしました。
ファイルは、
php-5.0.2-installer.exe
mysql-4.1.7-win.zip
です。MySQLの方は、zipを解凍するとインストーラが入ってました。
何が原因か知りたかったので、検証の方期待してます。

一応Apacheの方も書いておきますね(やはり本家からDL)。
apache_2.0.52-win32-x86-no_ssl.msi


> ビルドしたときのリンクの問題なので PHPで使うときはバンドルされているDLLを使ってください。
なるほど、そうでしたか。
904nobodyさん:05/03/09 12:54:55 ID:???
>>893のリストって、
昔は、DoCoMo以外のキャリアにも地域があったような気がするけど、
白昼夢かな・・・?

905nobodyさん:05/03/09 13:10:59 ID:???
>>904
漏れもあったような希ガス
906nobodyさん:05/03/09 13:12:13 ID:???
>>904
おそらくJ-PHONEのことじゃないか(ツーカー セルラーは地域別あるし)
vodafoneになって各事業者が統一されたような
907nobodyさん:05/03/09 13:32:11 ID:???
>>904
見つけたけど古い?
http://shuu1.milkcafe.to/hobby-littlememo-keitai-no.htm
>>906
て事はvodafoneになって地域が出ないって事?
でもね、2006年には番号統一になるらしい…
908nobodyさん:05/03/09 13:34:34 ID:TPYzASqD
このスクリプトからみて
./test/にあるindex.htmlを丸ごと表示したいのですが、


<?
require "./borujoa/index.html";
print ***("@@@@");
?>

***と@@@には何をいれればいいのでしょうか・・・?
909nobodyさん:05/03/09 13:35:01 ID:TPYzASqD
↑の修正ですorz

このスクリプトからみて
./test/にあるindex.htmlを丸ごと表示したいのですが、


<?
require "./test/index.html";
print ***("@@@@");
?>

***と@@@には何をいれればいいのでしょうか・・・?
910nobodyさん:05/03/09 13:46:36 ID:???
>>909
printも何も、requireだけで希望する動作をしてないか?
911nobodyさん:05/03/09 14:01:42 ID:???
>>907
どっちにしろ番号ポータビリティやIP電話の普及で
番号からは地域は類推できなくなるよ。
912nobodyさん:05/03/09 14:04:50 ID:???
>>909
<?
require ("./test/index.html");
?>
913nobodyさん:05/03/09 14:22:42 ID:???
>>907
番号持ち運び制度が導入されても事業所の番号指定は残ると思われます。
番号持ち運びは事業者間の転送等で行われるはず。
914907:05/03/09 14:39:31 ID:???
>>913
サンクス。
しかしスレ違いのようなのでここまでで。

有難う
915nobodyさん:05/03/09 15:01:46 ID:VFtRBRwk
$obj = method();
$obj->objMethod();

method()->objMethod();
のように呼び出したいのですが
出来ますか?
916nobodyさん:05/03/09 15:03:08 ID:???
切望しておりますが、PHP5でもできなかった希ガス。
917nobodyさん:05/03/09 15:09:02 ID:???
>>916
そうなんですか。。。
回答ありがとうございます。
918nobodyさん:05/03/09 15:29:49 ID:???
文字を縦書きにしたいんですが、phpでできますか?
919918:05/03/09 15:33:32 ID:???
すいません。
画像を生成して文字を書きたい。そのときに縦書きにしたいんです。
画像を生成して文字を書くところまではわかります。
わかる方教えてください。
920nobodyさん:05/03/09 15:56:06 ID:TPYzASqD
>>910 >>912
本当だ・・・orz
ありがとうございました
921888:05/03/09 15:58:24 ID:???
>>892
ああ、なるほど。
でも何種類か用意しておかないと取りこぼしそうですね。
文字コードの自動判定の「美乳」wのような、これ、っていうのがあれば
助かるんですが・・・
922nobodyさん:05/03/09 16:15:10 ID:???
>>921
テキスト・バイナリってわけじゃないけれども、
mime_content_type()ってのもあるよ。
力技になるけども、自力で(apacheで言うところの)conf/magicファイルを走査するとか。
Unix系のコマンドのfileを叩く、つーのもありなのかな。
923tui:05/03/09 16:46:56 ID:JSBinyPl
裏2チャンネルのアドレス分かる人います?
924nobodyさん:05/03/09 17:15:03 ID:???
>>919
縦書きになるように座標を求めて、
ばらばらにした文字列をひとつずつ置いていく。
925nobodyさん:05/03/09 20:32:44 ID:???
N901iC(c100;TB;W30H15
↑こんな文字列から ( が出てくる前までの文字列を取得したいのですが
どのようにすればよいでしょう?
926nobodyさん:05/03/09 20:36:20 ID:???
>>924
ありがとうございます。
配列を用いてやってみます。
927nobodyさん:05/03/09 20:46:34 ID:???
>>925
$string = 'N901iC(c100;TB;W30H15';
$getString1 = substr($string, 0, strpos($string, '('));
$getString2 = preg_replace("/\(.+$/","",$string);
list($getString3,$dust) = explode("(", $string, 2);

$getString1〜3、ご自由にご利用ください。
928925:05/03/09 20:49:33 ID:???
>>927
ありがとうございます。
2番使わしてもらいます。
正規表現難しい・・
929nobodyさん:05/03/09 21:46:10 ID:???
>>899
返事おそくなってすみません
情報ありがとうございます
930nobodyさん:05/03/09 23:30:57 ID:???
>>915
php4だと_
php5ならできるよ
931nobodyさん:05/03/10 02:12:13 ID:???
まじか!
ずっとやりたくてうずうずしてたんだが、そろそろ5に移行するか。
932nobodyさん:05/03/10 05:56:53 ID:???
PHP5ってもう仕事に使っても大丈夫?
turckMMcacheはベータ版が出てるけど、PHP5.0.3では上手く動かなかった。

933nobodyさん:05/03/10 07:07:18 ID:7QnRxEoS
ttp://pear.php.net/manual/
PEARの日本語HTMLヘルプがダウンロードできません…
去年の10月頃からもうずっとダウンロードできないみたいです。
このまま待っていてもいつ復旧されるか分からないので、
宜しければどなたかアップして頂けないでしょうか?
934nobodyさん:05/03/10 07:07:51 ID:???
>>903
>ファイルは、
>php-5.0.2-installer.exe
>mysql-4.1.7-win.zip

PHPのインストーラ版は殆ど何も組み込まれてないCGI版のPHPで、
またextenion類も全然入ってないんだが、mysql絡みのextenionは
どこから入手したの?
935nobodyさん:05/03/10 07:08:47 ID:???
>>933
改善に繋がるようにPHP-docのMLに投げろよ
936886:05/03/10 07:26:02 ID:???
>>934
申し訳ない、よく考えたら、その後
php-5.0.2-Win32.zip
をDLして、そちらをインストールしたのでした…

考え違いをしていた様で、申し訳ありませんでした。
937nobodyさん:05/03/10 14:08:40 ID:???
$bad = array("死ね","090");

if (is_array($bad)) {
foreach ($bad as $xxxx) {
if (preg_match("/$xxxx/", $message)) error("宣伝・中傷・誹謗・個人情報の書き込み禁止!");
if (preg_match("/$xxxx/", $title)) error("宣伝・中傷・誹謗・個人情報の書き込み禁止!");
if (preg_match("/$xxxx/", $name)) error("宣伝・中傷・誹謗・個人情報の書き込み禁止!");
}
}

これをa.phpで保存してBBS等のスクリプトにincludeして試したんですが、
死ねと090を入力するとエラーが出ます。
Fatal error: Call to undefined function: error() in ・・・a.php on line 7
on line 7ですが、上記は<?phpと1行スペース(改行)を除いて書いてあります。
これはerrorが未定義と言う事ですよね?errorを使うには何か必要でしたっけ?
938nobodyさん:05/03/10 14:17:05 ID:???
>>937
つーか error("〜")って何をする関数なのか説明してくれ
939nobodyさん:05/03/10 15:04:13 ID:???
>>938
ん〜実は何も考えずレッツPHPのスクリプトの一部を取り出しただけなんです〜
よーく見てみたら下の方にfunction error(・・・ってのがあった。失礼しました。
940nobodyさん:05/03/10 17:05:20 ID:???
preg_matchよりstrposの方が速くない?
941nobodyさん:05/03/10 19:29:35 ID:S8C012ZX
CSVファイルをダウンロードするプログラムを作ったのですが、
「保存」をすると普通に表示されるものが、そのまま「開く」で
開いてしまうとなぜか文字化けが起こってしまいます。

出力時の処理は下記のような感じとなります。

header("Cache-Control: public");
header("Pragma: public");
header("Content-Disposition: filename=" . $CSV_FILENAME);
header("Content-type: text/csv");
print $csv;

コードはmb_http_output("SJIS");で指定しております。
mb_convert_encodingだとうまくいかなかったので、こちらを
使用しております。

ご教示いただけますと幸いです。
942nobodyさん:05/03/10 20:54:11 ID:???
<?php
/* HTTPGET by ToR *
* 2000/10/19 fopen->fileに *
* 10/31 source表示 *
* URLを読み込んで表示するシンプルタイプ */
?>
<html><body bgcolor="#88CCAA">
<font size=-2>HTTP GET<br>
<form action="<? echo $_SERVER[PHP_SELF]; ?>" method="GET">
URL: <input type="text" size="60" name="url" value="http://">
<input type="submit" value="謀反"><br>
<?
if(ereg("^http://",$_GET[url]) && isset($_GET[url]) && strstr($_SERVER[HTTP_REFERER],"php.s3.to")):
$page = readfile($_GET[url]);
echo "<hr>総バイト数 $page";
endif;
?>

上記スクリプトをレンタル鯖にあげて、自分のwebにアクセスしてみると
アクセス解析に自分のレン鯖のホスト名(jibun.com)が出ます。
もちろん他人のWebにアクセスしてもホスト名(jibun.com)がでると思いますので
自分のホスト名が出ないようにするにはどうしたらいいでしょうか?

例えばロリポップをレンタルしてる人は自分のホストじゃなく、ロリポップとでます。
943nobodyさん:05/03/10 20:56:16 ID:???
>>941
mb_language("ja");
mb_internal_encoding("SJIS");
mb_http_output("SJIS");
mb_http_input("auto");
944nobodyさん:05/03/10 21:04:31 ID:???
>>942
アクセス解析はアクセスしてきた相手の情報を表示するのを踏まえると、
今回の場合はアクセスしているのはレン鯖のホストなわけなので、
そういう結果になるのは当たり前といっちゃ当たり前です。
945nobodyさん:05/03/10 21:05:33 ID:???
>>942
そりゃ、readfileでHTTP通信してるの鯖だからな
946nobodyさん:05/03/10 21:05:52 ID:???
>>942
そうなるのが当たり前。
レン鯖じゃ回避策は無い。
ネットワークの基礎というか、なんというか…
947942:05/03/10 21:53:23 ID:???
>>944>>945>>946
三連回答有難うございました。
やっぱ無理ですね

ロリポップ鯖にしときゃ良かった…。
948nobodyさん:05/03/10 23:02:03 ID:???
>>943
ご返答有難うございます。

やはり化けます。
ダウンロードして開けば問題ないのですが、そのまま開くと
だめです。

ご教示感謝します。
949nobodyさん:05/03/10 23:16:02 ID:???
>>948
ここ参考にならんかな?
http://tsuttayo.sytes.net/php/char_trn/index.html
950nobodyさん:05/03/11 00:35:07 ID:???
>>949
ご協力感謝です。
私もぐぐっていてここにたどり着いたのですけど、結局やるだけ
やりましたがだめでした。。

もう少し頑張ってみます。
解決したら報告させていただきます。
951nobodyさん:05/03/11 14:13:53 ID:1A4ovjYu
PEAR の Cache を 1.5.4 にしたら Cache/DB.php が
入ってないのだが、どこいったの?
952nobodyさん:05/03/11 14:42:27 ID:???
>>951
それおもしろいな
____   r っ    ________   _ __
| .__ | __| |__  |____  ,____|  ,! / | l´      く`ヽ __| ̄|__   r‐―― ̄└‐――┐
| | | | | __  __ |  r┐ ___| |___ r┐  / / | |  /\   ヽ冫L_  _  |   | ┌─────┐ |
| |_| | _| |_| |_| |_  | | | r┐ r┐ | | | /  |   | レ'´ /  く`ヽ,__| |_| |_ !┘| ̄ ̄ ̄ ̄ ̄|‐┘
| r┐| |___  __|. | | | 二 二 | | |く_/l |   |  , ‐'´     ∨|__  ___| r‐、 ̄| | ̄ ̄
| |_.| |   /  ヽ    | | | |__| |__| | | |   | |  | |   __    /`〉  /  \      │ | |   ̄ ̄|
|   | / /\ \.   | |└------┘| |   | |  | |__| |  / /  / /\ `- 、_ 丿 \| | ̄ ̄
 ̄ ̄ く_/   \ `フ |   ̄ ̄ ̄ ̄ ̄  |   | |  |____丿く / <´ /   `- 、_// ノ\  `ー―--┐
           `´ `‐' ̄ ̄ ̄ ̄ ̄`‐'     ̄          `  `´          `ー'    `ー───-′
953nobodyさん:05/03/11 16:21:46 ID:???
本当にくだらない質問かもしれませんが教えてください。

配列に関してですが、
$aiueo = array('りんご','なし','みかん'); のりんご、なし、みかんを別ファイル(テキスト等)から読み込みたいんです。
その方法はどうすればいいでしょうか?
'りんご','なし','みかん'とテキストファイルに書いて保存してfile()で読み込むとテキストの内容('りんご','なし','みかん')が1つの文字として読みこまれてしまいますよね?
テキストにはどう書けばいいのでしょうか?それともfile()では無理でしょうか?
どんな方法がありますか?よろしくお願いします。
954nobodyさん:05/03/11 16:28:47 ID:???
>>953
CSVにしてfgetcsvとか。
955nobodyさん:05/03/11 16:36:35 ID:6xJBbbER
よろしくお願いいたします
実は下記のようにリダイレクトで現在ログインしているユーザーのデーターを
渡して次のCGIにログインする手間が省けないかと思っています。

<?php
Header("Location:".'http://hoge.jp/hoge.cgi?USER=['.$_SERVER['PHP_AUTH_USER'].']&PASSWORD=hage');
exit;
?>

で実行すると
http://hoge.jp/hoge.cgi?USER=[ユーザー名]&PASSWORD=hage
となってしまい

[ ]

がユーザー名の両隣に必ずついてしまいます
どうすれば
http://hoge.jp/hoge.cgi?USER=ユーザー名&PASSWORD=hage
の形でURLを表示できるでしょうか?
よろしくお願いいたします。
956nobodyさん:05/03/11 16:43:10 ID:???
>>955
cookie使ったほうがいいんじゃない
957nobodyさん:05/03/11 16:44:37 ID:???
>>955
オイラには、わざわざ [ ] を付け足しているようにしか見えないが。。
958nobodyさん:05/03/11 16:48:57 ID:???
>>955
Header("Location:".'http://hoge.jp/hoge.cgi?USER='.$_SERVER['PHP_AUTH_USER'].'&PASSWORD=hage');
というか、下手するとパスワードが平文で履歴に残るぞその仕様。
>956が言うとおりcookie使うとか、セッション使うとか。
まぁ、どの程度のセキュリティが要求されるかによるけど。
959nobodyさん:05/03/11 16:55:04 ID:???
>>956
>>957
>>958
皆さんありがとうございます!!
今回はあんまりセキュリティー云々の話ではないので
これで行かせてもらいます:汗

ホントありがとうございました!
960nobodyさん:05/03/11 17:58:49 ID:sAzKONad
GDを使って線を描画するとき、アンチエイリアス処理をするには手作業しかないですか?
つまり、1本のラインを書いて、アンチ用のラインを2本隣に描く方法以外ないですか?
961nobodyさん:05/03/11 19:01:13 ID:???
>>960
マニュアル嫁
962nobodyさん:05/03/11 19:19:17 ID:???
jpgraphで画像を出力しています。
そのプログラムの中でエラーメッセージを出したいのですが、ストリーム?のため
エラーを出力することができないでいます。

何かいい方法はないでしょうか?

963nobodyさん:05/03/11 19:41:06 ID:???
>>962
ファイルなりDBなりにエラーログ吐くハンドラ書いたら?
http://jp.php.net/manual/ja/ref.errorfunc.php
964nobodyさん:05/03/11 19:56:51 ID:???
class a{
var $dat; ← これをstaticにする方法はあるのでしょうか?
}
965nobodyさん:05/03/11 20:00:35 ID:81hSBL8X
phpからmysqlのデータベースを作成する、といったことをしたいのですが、
どのような方法が考えられるでしょうか?
PHPのCGI版でないと、権限の関係で難しいでしょうか。
966nobodyさん:05/03/11 20:02:40 ID:???
>>963
> ファイルなりDBなりにエラーログ吐くハンドラ書いたら?
> http://jp.php.net/manual/ja/ref.errorfunc.php

レスありがとうございます。
ファイルかDBに落すしかないということですよね?
967965:05/03/11 20:09:41 ID:81hSBL8X
よく考えたら、phpmyadminからは作成可能ですよね、
あれはどうやってるんでしょう?
968nobodyさん:05/03/11 21:14:39 ID:???
>>965
別にPHPがMySQLのデータベースを作っているわけではないよ
PHPはあくまでクエリを送っているだけ
どのみちSQLに権限がないと出来ないけどね
969nobodyさん:05/03/11 21:28:37 ID:???
>>966
syslogでもいいんじゃない?
970965:05/03/11 21:57:26 ID:81hSBL8X
>>968
レスありがとうございます。
なるほど、クエリで作成してるんですね。

ただ、その際の権限についてがよく分かりません。
CGI版じゃないPHPの場合、
nobody権限での動作となるわけですので、
sudoでnobodyに権限を与えでもしない限り、
データベースの作成は不可能って考えであってますでしょうか?
971nobodyさん:05/03/11 23:24:48 ID:???
nobody権限とかは、あくまでMySQLを起動したりするのに必要な権限(OSレベル)であって、
データベースを操作するための権限(MySQLレベル)ではない。

MySQLのデータベース作成や諸々の操作は、MySQLに作成したアカウントで決まる。
アカウントに適切な権限の設定がされていれば問題ない。
972nobodyさん:05/03/11 23:25:10 ID:???
>>970
sudoなんか使わなくてもできるよ。多分。
973960:05/03/11 23:30:23 ID:sAzKONad
>>961
マニュアルを読んだり、ぐぐったりしたのですが、やはりフォント以外でアンチエイリアスを
かける方法が分かりませんでした。マニュアルのどこら辺に記述してあるか教えてもらえますか?
974nobodyさん:05/03/12 03:37:19 ID:c9DkSKJ/
セッションIDを付加したURLをお気に入りに入れたのですが、二日たってもセッション変数が有効になってます。
セッション開始から一時間くらいにしたいのですが、どのようにしたらよいでしょう?
975nobodyさん:05/03/12 04:00:34 ID:???
session.gc_maxlifetime
976974:05/03/12 14:09:01 ID:???
session.gc_maxlifetime 1440 となっているのですがこれだと24分間有効で
その後はセッション変数を取得できないということですよね?
コードに問題がありそうなので見直してみます。ありがとうございます
977nobodyさん:05/03/12 14:47:40 ID:GBkAM6nF
PHPでjavascriptみたいな名前取得って出来ますか?
あるページで名前などを聞いて、別のページでそれを反映させたいんです。
javascriptがオフの時でも使用出来るようにしたいのですが、javascriptとphpってどちらが安定してるんですか?
phpでも作動しなかったり、オフにする事ってできるんでしょうか?
978nobodyさん:05/03/12 14:53:27 ID:???
>>977
サーバーサイドとクライアントサイドの違いを理解しろ。
979nobodyさん:05/03/12 15:02:20 ID:GBkAM6nF
>>978
あ!そうだったんですか!
じゃあ、phpの方がcgi同様みんな見れるってことですね!

名前(情報)取得、別のページで反映。これは可能ですか?
980nobodyさん:05/03/12 15:07:42 ID:???
その

>名前(情報)取得、別のページで反映。

って何をしたいのかよくわからんのだが、

フォームから値を受け取ってクッキーに書き込み→別ページではクッキーを表示

でいいんじゃね?
981nobodyさん:05/03/12 15:11:27 ID:GBkAM6nF
>>980
掲示板の要領でイイってことでしょうか?
ありがとうございました!!頑張ってきます!!
982nobodyさん:05/03/12 16:36:42 ID:R/wCqhRc
Windowsのみの環境でActivedirectory上に登録された
ユーザーとパスでログインを行ないたいのですが可能でしょうか。
LDAP関数でのアクセスまでは出来たんですが、これもちと筋違いな気がします。

ご教示ねがいますです
983nobodyさん:05/03/12 20:15:27 ID:q5Oa04yf
Linux上のPHPから別のsmtpサーバを使ってメールを送りたいのですが
どこで設定すればよろしいのでしょうか?
PHP.iniのSMTPとかはwindows onlyとか書いてるし見あたらなくて・・
984nobodyさん:05/03/12 20:30:15 ID:???
なんかどっかのスレで同じような質問を見た気が
985nobodyさん:05/03/12 21:05:10 ID:???
>>983
ソケット関数で相手と話す。

984の言うとおり、どっかで出てたな。
986nobodyさん:05/03/12 21:09:05 ID:???
>>982
なんで筋違いなの?
ActiveDirectoryもディレクトリーサービスのひとつでしょ?
987982:05/03/13 02:53:57 ID:j4nN0SnV
>>986
ツリーは検索できるんですが、同じパスワードで認証しようとすると行き詰まります。
samba + OpenLDAPで同期させるというLinux前堤の話をたぐるか、
IIS+IEの環境に限定させてWindows統合認証にたよるという方法しかなさげです。

ApacheかPHP側で解決できれば、、、というところなんですがいかがでしょう。
988nobodyさん:05/03/13 09:24:00 ID:???
include_path のセパレータは PATH_SEPARATOR にはいってるけど、
ディレクトリの区切り文字(/ or \)ってどこにいるの?
989nobodyさん:05/03/13 09:34:40 ID:???
>>988
例えばbasename()の場合、
(c = strrchr(s, '/')) || ((c = strrchr(s, '\\') てな感じで / \ ともに検出している
990988:05/03/13 09:44:44 ID:???
>>989
そなんだ…。

外部ライブラリのディレクトリを include_path にセットする処理を考えてて、
同じのが登録されるのは避けたい。(c:\lib と c:/lib)

だから、一回パスのリストを作って、それの \ と / をそろえて array_unique
してから、PATH_SEPARATOR 使って implode してからセット。

そのときどっちにそろえるか悩んでたんです。ありがとでした
991nobodyさん:05/03/13 09:51:31 ID:???
ん?DIRECTORY_SAPARATORとかそういう話ではなくて?
ただし、たまになぜか定義されていない環境があるので
if (strstr(PHP_OS, "WIN")) {
if (!defined("DIRECTORY_SEPARATOR") define("DIRECTORY_SEPARATOR", "\\");
if (!defined("PATH_SEPARATOR") define("PATH_SEPARATOR", ";");
} else {
if (!defined("DIRECTORY_SEPARATOR")) define("DIRECTORY_SEPARATOR", "/");
if (!defined("PATH_SEPARATOR")) define("PATH_SEPARATOR", ":");
}
992988:05/03/13 10:05:22 ID:???
>>991

include_path にセットするから、\ or / って重要なのかなぁと思って…
DIRECTORY_SAPARATOR にいるなら、そっちにそろえよっと
定義されてないときのことも考慮に入れます。
993nobodyさん:05/03/13 10:11:38 ID:???
$abc =& $_SESSION['array']['array'];
while(array_shift($abc)){

}
としても$_SESSION['array']['array']以下の配列は消えないのですね
ちょっと不思議だった
994993:05/03/13 10:25:20 ID:???
自己レス
obj変数と見間違ってた(,_,;
問題ありませんでした
995nobodyさん:05/03/13 10:26:17 ID:???
>>987
ないね。
996nobodyさん:05/03/13 16:11:39 ID:???
>>970がたてないもんで…

次たてときます

http://pc5.2ch.net/test/read.cgi/php/1110697712/
997nobodyさん:05/03/13 16:22:20 ID:???
埋め
998nobodyさん:05/03/13 16:22:41 ID:???
埋め
999nobodyさん:05/03/13 16:23:02 ID:???
埋め
1000nobodyさん:05/03/13 16:23:24 ID:???
【PHP】くだらねぇ質問はここに書き込みやがれpart4
http://pc5.2ch.net/test/read.cgi/php/1110697712/l50
10011001
このスレッドは1000を超えました。
もう書けないので、新しいスレッドを立ててくださいです。。。