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

【PHP】質問スレッド Part5

■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん02/09/11 14:15ID:FWA0CpdU
レスは気長に待つのが良い感じかも。


■本家
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-10あたりにきっと誰かが……。
0002nobodyさん02/09/11 14:15ID:???
■【PHP】質問スレッド Part1
http://ebi.2ch.net/php/kako/982/982687820.html

■【PHP】質問スレッド Part2
http://pc.2ch.net/php/kako/1003/10032/1003283567.html

■【PHP】質問スレッド Part3
http://pc.2ch.net/php/kako/1013/10139/1013919792.html

■【PHP】質問スレッド Part4
http://pc.2ch.net/test/read.cgi/php/1022999539/l50
0003nobodyさん02/09/11 14:16ID:???
■PHP アップグレード報告スレッド
http://pc.2ch.net/test/read.cgi/php/987259309/l50

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

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

■PHP 関連の書籍 (但し PHP 出版系お断り)
http://pc.2ch.net/test/read.cgi/php/985315574/l50
0004nobodyさん02/09/11 14:16ID:???
※注意1

4.2.0以降はデフォルトでregister_globalsがoffになっています。
POST, GET等で渡される値には
グローバル連想配列
$HTTP_ENV_VARS
$HTTP_GET_VARS
$HTTP_POST_VARS
$HTTP_COOKIE_VARS
$HTTP_SERVER_VARS
でアクセスしてください。

つーか、マニュアルとか読んでください。おながいします。
0005nobodyさん02/09/11 14:16ID:???
※注意2

header()でContent-Typeを出力すると、mb_output_handlerが無効になります。
ini_set('default_mimetype', 'text/html');
とすることで回避できます。
0006nobodyさん02/09/11 15:31ID:QhkFV/a2
phpのチャットでブラウザを閉じると自動的に
退室するような実現方法はありませんか?
0007nobodyさん02/09/11 15:50ID:sK5vsN8l
>>6
(´-`).。oO(javascriptと組み合わせれば出来るんじゃないかな)
0008b02/09/11 16:05ID:U9pI6n49
http://yahooo.s2.x-beat.com/
0009nobodyさん02/09/11 17:16ID:b0Mn6bwO
>>6
あるよ。
応答が数分なかったら、退室したと見なして処理するチャット。
0010nobodyさん02/09/11 17:32ID:T52IxXqS
>>11のようにソースを組んだのですが、
受け取った値が文字化けしてしまいます。
なんとか直す方法があったら教えてください。
0011nobodyさん02/09/11 17:34ID:T52IxXqS
<html><head>
<meta http-equiv="Content-Type" content="text/html; charset=EUC-JP">
</head>
<?
$test = $_POST["test"];

if($test == "あいうえお"){
echo"<body bgcolor=\"red\">
test - [$test]<br>
<form action=\"1_color_test.php\" method=\"post\" enctype=\"multipart/form-data\">
<input type=\"submit\" name=\"test\" value=\"亜伊宇江尾\">
</form>";
}else{
echo"<body bgcolor=\"blue\">
test - [$test]<br>
<form action=\"1_color_test.php\" method=\"post\" enctype=\"multipart/form-data\">
<input type=\"submit\" name=\"test\" value=\"あいうえお\">
</form>";
}
?>
</body></html>
0012nobodyさん02/09/11 17:41ID:???
>>11
EUC-JP 以外で保存してない?
00131002/09/11 17:48ID:T52IxXqS
>>12
保存する際は、EUCでやってます。

ちなみに、mb_convert_encodingとかいろいろやっても
だめでした。
0014nobodyさん02/09/11 18:19ID:???
<?php header("Content-Type: text/html; charset=EUC-JP"); ?>

最初の行に入れてみて。
00151002/09/11 18:41ID:T52IxXqS
>>14
直りました。
すげえ!
thx!
0016nobodyさん02/09/11 19:22ID:???
>>15
こういうばかはどうしたらいいのでしょうか。
0017nobodyさん02/09/11 19:32ID:???
   λ_λ    / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
  ( `ー´) < 別にいいんじゃネーノ?
   /   ノつ  \__________
  (人_つ_つ
0018あっふぉ02/09/11 19:36ID:???
>>14
56Kモデムからやり直せ。
0019PHP::help()02/09/11 19:51ID:K4qVzGr/
MS Accessに、PHP(PEAR DBパッケージ)から 日付/時間型(yyyy/mm/dd hh:nn:ss) にデータを挿入する方法を教えて。
以下のコードでうまくいきません。日付/時間型以外ならうまくいくのに。。。
function insert($id,$name)
{
 $dsn = "odbc://user:pass@demo";
 // DB接続
 $db = DB::connect( $dsn );
 // SQL文
 $sql = "INSERT INTO user (id,name,date) VALUES (?,?,?)";
 // Statement取得
 $stmt = $db->prepare( $sql );
 // 現在時刻を取得
 $nowdate = date("'Y-m-d H:i:s'")
 print "nowdate=" . $nowdate . "\n"; // こういうのが出力 -> '2002/09/11 19:23:29'
 // SQL発行
 $db->execute($stmt, array($id,$name,$nowdate ));
 // DB切断
 $this->db->disconnect();
}
よろしく
0020PHP::help()02/09/11 19:57ID:K4qVzGr/
間違えがありました。>>19
function insert($id,$name)
{
 $dsn = "odbc://user:pass@demo";
 // DB接続
 $db = DB::connect( $dsn );
 // SQL文
 $sql = "INSERT INTO user (id,name,date) VALUES (?,?,?)";
 // Statement取得
 $stmt = $db->prepare( $sql );
 // 現在時刻を取得
 $nowdate = date("'Y/m/d H:i:s'")
 print "nowdate=" . $nowdate . "\n"; // こういうのが出力 -> nowdate='2002/09/11 19:23:29'
 // SQL発行
 $db->execute($stmt, array($id,$name,$nowdate ));
 // DB切断
 $db->disconnect();
}
すいません。
0021nobodyさん02/09/11 20:23ID:???
>>20
円とだけ言っておくよ・・・(ワラ
0022PHP::HELP()02/09/11 21:41ID:HTt8fx02
\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\
\ >>21                       \
\ 「円」って何ですか?             \
\ 「\ 」ってことかな?              \
\ どっかにそれを入れなさいということか? \
\ nowdate='2002\09\11 19:23:29'      \
\ ↑これでいいのか!?            \
\ 金を出せということか?            \
\ 違う、違う、違うなーーー。          \
\ わからん。わからん。             \
\ 21さん、もっと教えて。             \
\ お願い、教えてくれたら、            \
\ 自分の体差し上げます             \
\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\
0023nobodyさん02/09/11 23:09ID:b0Mn6bwO
>>22
・・・・21がせっかくヒント出してるのにそれでも分からんのか?
円だよ、円。
PHP初心者の俺でも一発で分かったぞ。
0024nobodyさん02/09/12 00:17ID:???
>>19
ネタですか?
0025nobodyさん02/09/12 01:34ID:vPpnzRr3
変な質問でしょうが、教えてくださると嬉しいです。

PHPとFLASHを連携させたコンテンツを作りたいと思っています。
FLASHには外部から「変数名=値&変数名=値&...」
という形の文字列でデータを渡す必要があります。
それだけなら、echoを使えばいいと思ったのですが、
最新版のFLASHだと、外部から渡される変数は、
文字コードがunicode、改行コードがCRじゃないとダメみたいです。

PHP側で変換する処理などが必要なんでしょうか?
必要な場合、どのようなコードを記述すればいいのでしょうか?
0026nobodyさん02/09/12 01:40ID:???
>>25
>>1
0027nobodyさん02/09/12 03:13ID:???
mb_convert_encoding               ?
0028nobodyさん02/09/12 19:33ID:bOdtzCg9
domxml_open_fileで指定するファイルは、
相対パスで指定できないのでしょうか?
絶対パスだとうまくいくんだけど。
0029nobodyさん02/09/12 22:57ID:???
if(!$dom = domxml_open_file("example.xml")) {
echo "Error while parsing the document\n";
exit;
}

?
0030nobodyさん02/09/13 02:00ID:5ec6wOjE
"をエスケープするととても見にくくなるので
perlのようなprint qq|<a herf="hoge.html"|;
のような書式はPHPではないでしょうか?
0031nobodyさん02/09/13 02:12ID:yb1hcccZ
$aaaaa = "aaaaa.html";

function bbbbb(){
echo <<<EOF
ここにHTML、関数、ユーザー定義関数とか
EOF;
}

$fp = fopen ($aaaaa,"w");
$ccccc = bbbbb();
fputs($fp,$ccccc);
fclose($fp);


PHP始めて3日目です。(プログラミングは初めて)
こういう風には出来ないですか?
投稿があった時にPHPで受け取ってaaaaa.htmlを更新したいんですが。
0032nobodyさん02/09/13 02:57ID:???
>>31の質問が>>30の質問の答えになってそうな罠

>>31
普通にできるんじゃない?
処理の最後にaaaaa.htmlにフォワードする必要がありそうだけど。

0033nobodyさん02/09/13 03:19ID:???
>>32
省略された部分読むまで、
>>31が>>30に答えたのかと思ってた...。
00343102/09/13 13:04ID:yb1hcccZ
>>32
俺がやったら、$ccccc = bbbbb(); の部分がダメみたいです。
しょうがないんで、function bbbbb()を$bbbbbにしたらOKでした。

フォワードとはaaaaa.htmlに戻る事でしょうか??
それはロケーションで書きました。header()です。
0035nobodyさん02/09/13 13:22ID:q9zrWrda
Content-Disposition: inline; と Content-Disposition: attachment;
ってどうちがうんですか?
どこをさがしても親切に説明しているサイトがないんですけど。
0036nobodyさん02/09/13 13:26ID:???
親切に説明が欲しいなら金払え
0037RFC厨02/09/13 14:14ID:???
RFC読めよ
http://www.asahi-net.or.jp/~bd9y-ktu/dtd_f/rfc_f/rfc2183j.html
0038nobodyさん02/09/13 16:00ID:???
Content-Disposition: inline; はすぐ表示
Content-Disposition: attachment; は添付
0039b02/09/13 16:00ID:V08A06LP
http://profiles.yahoo.co.jp/tengaiten2002
0040nobodyさん02/09/14 01:02ID:???
業務用アプリなどで客先に収める場合、PHPファイルを渡すことになるかと思います。
当然のことながら客先がソースを閲覧することが可能な状態になりますが
皆様はその対応をどうなされているのでしょうか?
あらかじめ、ソースを含めての金額請求をしているのでしょうか。
二次販売される可能性などの問題もあり、どのようにするか悩んでおります。
0041nobodyさん02/09/14 01:07ID:mEUyxyDj
>>40
そうゆうあなたに打ってつけなのがZend
0042nobodyさん02/09/14 01:38ID:HPVv0rIO
>>41
Zend Encoder だな。

The Zend Encoder allows developers to encode their PHP script before distributing it.

http://www.zend.com/store/products/zend-encoder.php
00434002/09/14 10:39ID:???
情報ありがとうございました。
上司にライセンス料なども含めて相談してみたところ
駄目だし食らいました。 ・゚・(ノД`)・゚・

Zend Encoder の日本語版
http://www.zend.co.jp/products/encoder/
0044nobodyさん02/09/14 14:30ID:TjmGHZ9+
とある関数の実行結果をメモリに保存しておいて、
必要なタイミングで更新、みたいなことやりたいんだけど
PHP じゃどうやるの?

mod_php + apache + unix ( linux ) つかっとります
0045nobodyさん02/09/14 14:39ID:???
>>44

Java使え
0046nobodyさん02/09/14 17:47ID:???
>>43
う〜、厳しいですなぁ。。M$のASPエンコーダは無料なんだけどなぁ。。

00474002/09/14 18:02ID:???
NIA Encoder
http://sourceforge.net/projects/niaencoder/

PHTML Encoder
http://www.rssoftlab.com/phpenc.php4

Zend Encoder以外を探してみました。う〜ん。
0048nobodyさん02/09/15 19:55ID:3qYFNGnZ
PHPのインデックス作成型検索エンジンって誰か知らないか?
0049b02/09/15 20:02ID:l/2nwin0
http://profiles.yahoo.co.jp/tengaiten2002
0050nobodyさん02/09/15 21:30ID:l3W9MFXW
特定のディレクトリ内のファイルを検索して
表示させようとしています。

<?php
$dir=opendir('.');
while(($file=readdir($dir))){
if(is_file($file)){
print "$file\n";
}
}
closedir($dir);
?>

readdirを使ってディレクトリの内容を読み取って
printで表示させたところ、ちゃんとディレクトリ
内のファイルが表示されました。

この$fileに入っているファイル名を検索し、実行
する方法はあるのでしょうか?$file[0]をprintで
表示させたら各ファイルの一番初めの文字が表示
されちゃいました。
0051nobodyさん02/09/15 22:39ID:mdW8Tcgk
http://www.php.net/manual/ja/function.system.php
0052nobodyさん02/09/16 01:46ID:???
質問 windowsのデスクトップにある index.php ファイルを開いた時、
phpが実行させる方法はありますでしょうか?
(localhost動作可能環境)


0053nobodyさん02/09/16 08:45ID:???
フォーム生成とvalidationチェックしてくれるクラスって色々あるけど、
使ってる人いる?
0054nobodyさん02/09/16 12:00ID:???
ローカルにhttpサーバ立てて http://localhost/index.php
アクセスすりゃいいじゃないの?

0055nobodyさん02/09/16 14:27ID:9M1lvPAp
メインページはレンタル鯖でチャットページ部分だけ自宅鯖を使ってます
自宅鯖のチャットページは、自分がネットに繋げている間だけ公開されるように

$fp = fsockopen("*********",80);
で、falseにならない場合表示されるようにしているのですが。。。

これだと自宅鯖を立ち上げていない場合に10秒くらい時間がたってから
falseの処理が行われるんですが。逆の場合には一瞬です。

webサーバーが稼動しているのを確認したり、
外部のファイルが存在するか確認する方法ありますか?
0056b02/09/16 15:15ID:oqHfjXJ7
http://profiles.yahoo.co.jp/tengaiten2002
0057廃品回収02/09/16 18:35ID:Bzg7QZDj
漏れは外部URLの”サゲ.htm”ファイルを自サイトのスクリプトに
取り込んで読ませるのに
<?php
$ホゲ = join ('', file ('http://ホゲ/アゲ/サゲ.htm'));
echo "$ホゲ\n";
?>
って書いてるんだけど、これでアクセスさせて帰ってきたHTTPエラーを
処理するルーティン書けばいいんでないのかな。
役立たずでスマソ。
0058nobodyさん02/09/16 19:51ID:???
fsockopenのタイムアウト時間を短く設定すれば良いのでは?
0059nobodyさん02/09/16 22:49ID:Lcc+HyZz
>>55
つーか、鯖の方にスクリプト置いて、httpdが起動したら、レンタル鯖に置いてるスクリプトを呼び出して
ページを書き換えたらいいんでないかの。
この方が合理的。
0060nobodyさん02/09/17 00:47ID:???
>>54 どうも。
apache php は http://localhost/index.phpに置けば動く環境なんです。
ソフトのスクリプトにphpを使えないものかなと思って
phpの呼び出し方があればレスくれる人がいるかなと思いまして。

改めてphpは外部スクリプトして使えますか?無理ですか?
0061nobodyさん02/09/17 02:01ID:RwZGe/HC
任意のHTMLファイルから<TITLE><TITLE>の中身だけを
取り出して表示させるにはどう書いたらよいのでしょうか。
たとえば、Yahoo!のトップページのタイトルを表示させたいとき。
0062nobodyさん02/09/17 02:02ID:???
他人が分かるように書いて下さい。
00636102/09/17 02:07ID:???
すみません。

たとえばhttp://www.yahoo.co.jp/の<TITLE>の中身は
'Yahoo! JAPAN'なのですが、それを自サイトに表示させたいような場合です。
0064nobodyさん02/09/17 11:55ID:???
>>62
わかるだろ。
>>61
ニュースのタイトル取りだよね?
単に<TITLE>の行を抜き出していらない物をカットして表示させてみ。
0065nobodyさん02/09/17 12:20ID:0b8dNIC8
レンタルサーバのmbstring.http_inputの設定を変更するのはどうすればいいですか?
00666102/09/17 12:54ID:???
>>64ありがとうございます。

$fileurl = file ('http://www.yahoo.co.jp/');
$titleline = strip_tags($fileurl[6]);
echo $titleline;

これで表示できましたが、
これだとYahoo!が<TITLE>の位置を7行目からずらした場合に対応できません。
正規表現でファイルを最初から検索して<TITLE>に挟まれた部分を
抜き出すのがいいのかもとは思うのですが、その方法がわかりません。
0067nobodyさん02/09/17 12:57ID:ALvqH0Hv
>>64
それだと
<title>
 ほげほげ
</title>
みたいになってると取得できないから正規表現で<title>から</title>までを抜き出したほうがいいのでは。
まあ、取得先の書き方が全部一行って決まってるなら>>64のやり方のほうが楽だけど。
0068nobodyさん02/09/17 13:04ID:ALvqH0Hv
>>66
あ、俺が書いてる間に・・・
俺も初心者なので合ってるかどうかは微妙だけど、
http://www.php.net/manual/ja/function.eregi.php
あたりでいいのでは。
正規表現の書き方自体はそのへんにいくらでもあるので検索するのが良いかと。
00696102/09/17 14:39ID:???
>>67さんありがとうございます。
以下ようなものだとうまく動きました。

$fileurl= 'あいうえお<title>タイトル抜きだし</title>かきくけこ';
$title1= strpos($fileurl,'<title>') + 7;
$title2= strrpos($fileurl,'</title>');
$length= $title2 - $title1;
$title= substr($fileurl,$title1,$length);
echo $title;

しかし、これはたぶんスマートなやり方じゃないと思います。
しかも、>>67さんの言うように複数行になっているとうまくいきません。
つまり、$fileurlを以下のように変えるともうダメです。
$fileurl= file ('http://www.yahoo.co.jp/');
file関数では複数行は行指定しないとダメなのですね…。

file関数をほかの何かに変えればよいのでしょうか、
それともこのスクリプト全体がアホなのでしょうか。
0070↑02/09/17 14:48ID:WWJg+78y
join()がいいと思ふ
00716102/09/17 15:21ID:???
ありがとうございます。
複数行の問題についてはjoin()で解決しました。
が、どうも次の行がうまく機能していないようです。
$title2= strrpos($fileurl,'</title>');
# echo title2; にしてみると、3万いくら文字目とかになってます。
Yahoo!は</TITLE>が大文字なので大文字に変えてもダメでした。
'/'の文字を'\/'でエスケープしてみてもダメでした。

ていうかそもそもこのやり方ってスマートじゃない気がするのですが、
どうなのでしょうか。
0072nobodyさん02/09/17 15:49ID:???
PHP4で、MPEGを操作することはできないでしょうか?

長さを取得したり、特定のコマをJPEGで取り出したりできれば、
最高なんですが。
0073nobodyさん02/09/17 15:53ID:???
>>72
(´ー`)y-~~ できるわけないでしょ
0074nobodyさん02/09/17 16:03ID:m1Ma5obA
>>71
試してないけどこんなんでどうだろ。
$url = "http://www.yahoo.co.jp";
$source_array = file($url);
$source = join("", $source_array);
eregi("\\<title\\>(*.)\\<\/title\\>", $source, $title);
ereg_replace("\n", "", $title);
$title = strip_tags($title);
echo $title;

間違ってるとこあったら誰かフォローよろしく。
0075nobodyさん02/09/17 16:24ID:???
>>74
(*.) -> (.*)
ereg_replace("\n", "", $title); -> $title[1] = ereg_replace("\n", "", $title[1]);
0076nobodyさん02/09/17 16:48ID:jNW2u3Fw
すいません、ごめんなさい、フリーのデータベースPHPスクリプトないですか…?
■ このスレッドは過去ログ倉庫に格納されています