【PHP】質問スレッドpart17【php】
■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん
04/05/17 17:14ID:AT+bUkag・新規質問の方は上げてください。age進行でお願いします。
・質問する際には環境も明記。
・正しい日本語で分かりやすく。
・レスがつかないからって逆切れする厨お断り。
・解決しなくてもこたえてもらったら礼を。
■本家
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-4
抜けているものがあったら補足願います
0696nobodyさん
04/06/06 21:36ID:???いや、もちろん試してみて動いたんですけど、
Auth扱ったサイトには必ずrequire_once("Auth/Auth.php")とあったもので。
置く場所が変わると相対パスとかの関係でおかしくなったりしないかなーと。
include_pathらへん設定してきます。
ありがとうございました。
0697nobodyさん
04/06/06 22:21ID:???普通にPEAR/Auth.phpもあるし、PEAR/Auth/Auth.phpもあるがな。
0700nobodyさん
04/06/07 00:57ID:pAlrsUVH0702カポコン
04/06/07 03:32ID:???>>678
XMLファイルから値を取るのが俺の通常のやり方。
現場と遊びは違うんで。
>>682
すげー効率悪いプログラム書きますね、
しかもarray_valuesで配列の再生成か、ショボネタ連発
の受け狙いプログラム、十分吹かしてもらいました。
でも再帰使うならstaticぐれー使ってほしかった。
自分の経歴が組んだプログラムに出てますよ自演ちゃん。
まーそのプログラム、俺だったら関数名の前に&を付けて
PHPらしい書き方をするだろうな。
0703nobodyさん
04/06/07 03:35ID:???0705nobodyさん
04/06/07 05:29ID:???↓これじゃないの?
ttp://jp.php.net/manual/ja/reserved.variables.php#reserved.variables.phperrormsg
0706nobodyさん
04/06/07 06:59ID:ddmA6C2jhttp://216.239.53.104/search?q=cache:82liKHMca1QJ:jamesthornton.com/php/japanese/function.posix-times.html+php%E3%80%80%E3%83%A6%E3%83%BC%E3%82%B6%E3%83%BC%E6%99%82%E9%96%93%E3%80%80%E3%82%B7%E3%82%B9%E3%83%86%E3%83%A0%E6%99%82%E9%96%93&hl=ja
を参考にして posix_times() 関数からプロセスタイムを取得し表示させています。
この場合走らせているスクリプトの負荷として適切な値はどれに該当するのでしょうか?
・utime - 現在のプロセスにより使用されているユーザー時間。
・stime - 現在のプロセスにより使用されているシステム時間。
・cutime - 現在のプロセスおよび子プロセスにより使用されているユーザー時間
・cstime - 現在のプロセスおよび子プロセスにより使用されているシステム時間
また現在の値は
・utime - 20〜30秒
・stime - 2〜3秒
・cutime - 2〜3秒
・cstime - 2〜3秒
となっていますが、これは一般的にみてかなり負荷が高いのでしょうか?
System Linux
Server API Apache 2.0 Handler
PHP/4.3.6
0707nobodyさん
04/06/07 07:22ID:???脳内現場乙
0708nobodyさん
04/06/07 08:26ID:???カポコンが現れると名無しがほめるのはどうしてぇ〜?w
0709nobodyさん
04/06/07 09:06ID:???メル欄に釣りですって書いてるのと同義なんだよ!
0711nobodyさん
04/06/07 09:46ID:???これが真の現場という物か
0712nobodyさん
04/06/07 10:51ID:???0713nobodyさん
04/06/07 11:38ID:???>現場と遊びは違うんで
>現場と遊びは違うんで
>現場と遊びは違うんで
>現場と遊びは違うんで
>現場と遊びは違うんで
>現場と遊びは違うんで
>現場と遊びは違うんで
>現場と遊びは違うんで
>現場と遊びは違うんで
0714nobodyさん
04/06/07 11:40ID:???0715nobodyさん
04/06/07 11:48ID:???痛さメガトン級w
0716nobodyさん
04/06/07 12:11ID:???0717nobodyさん
04/06/07 14:41ID:p6jQDvKG$fp=popen("tail -fname -n 0 unko.log","r");
とやってるんだけど、こんど tail無しの環境に行くモンで。
0718nobodyさん
04/06/07 19:04ID:HnbrGX79サーバにとって、かなりの負担になるのでしょうか?それとも気にするほどの事ではないのでしょうか?
大体10〜50MBのファイルなのですが。
0719nobodyさん
04/06/07 19:05ID:???0721nobodyさん
04/06/07 19:34ID:???コークスでもなかなか出せない香ばしさだな。
0722718
04/06/07 19:35ID:???絶対やめて、ということはかなりの負担になるのですね。
了解しました。
うーん、ダウンロードさせるファイルのURLを教えずにダウンロードするには
readfile以外になにか方法ないかなぁ。
0723nobodyさん
04/06/07 19:39ID:???locationヘッダで飛ばせば初心者にはわからんと思うが…・
どうしてもというならバイナリモードで開いてちょっとずつ読み込んで出力するしかない。
10Mも一気に読み込むのだけはマジでやめてくれ。
0725nobodyさん
04/06/07 19:53ID:???webのPHPファイルにアクセスした時に他のページへリダイレクト、って意味だよね?
ならheader()でlocation出すだけ。
HTMLやJavaScriptでクライアントに処理させる方法もある。
0730nobodyさん
04/06/08 09:07ID:???0731nobodyさん
04/06/08 09:29ID:???0732nobodyさん
04/06/08 12:12ID:???現在テスト段階なので、下記の様なソースでやってます。
文字コードはSJISです。
ソースはEUCなんか?
0734nobodyさん
04/06/08 13:23ID:mGDxJx8J最近やっと簡単な掲示板をつくるトコまで来ました。
そこから掲示板に色々オプションを付けていこうと思い、
cookieの設置で行き詰ってます。
現状の記述は以下の通りです。
<ヘッダというかhtmlより上の部分>
setcookie("name",$name,time()+60*60*24*30);
<formの名前記入欄>
【名前】
<input type="text" name="name" size="16" value="<?php echo $_COOKIE['name'] ?>">
この記述だと
1番始めに名前を「A」と入力してサブミットする→ページを閉じる
2回目に書き込みに来たと仮定しページを開く。名前欄には「A」を記入されている
今度は名前を「B」に変更してサブミット→ページを閉じる
ページを開きなおすと名前欄には「A」と入ってしまっている
これを名前欄を変更する度にcookieを上書きするような仕様にしたいのですが、
どうすればいいのでしょうか?
0735nobodyさん
04/06/08 13:42ID:FspqORY3Apacheのhttpd.confとか何も修正しなくても<?php info.php?>のテストファイル
がちゃんと作動したんだけど、すごいな〜とおもった。このまま大丈夫なのかな??
ちなみにhttpd.confの内容はなんか修正すべきところ修正してないような感じだったけど、
ちゃんと動く。。
すごいなとおもった。
0738737
04/06/08 14:20ID:???サブミットした時点でnameはBの書き換えられてるんだから。
その時点でクッキー読み込むとAなのはわかるんだが。
0739nobodyさん
04/06/08 14:59ID:???0740nobodyさん
04/06/08 16:29ID:5lOZ1tpUページの一部分にそれぞれのファイルを読み込むような感じで
http://aaa.jp/xxx.php?a
http://aaa.jp/xxx.php?b
でリンクされると、それぞれa.phpやb.phpを読み込ませるようにしたいんですが、
f(eregi("a",$_SERVER['QUERY_STRING'])){
readfile("a.php");
include("monthly.php");
}
else{
include("monthly.php");
};
このあたりでつまっています。
というのもこのif文を延々と書いていかなければならないので……。
どういうふうに改変すできか、よろしければアドバイスお願いします。
0741nobodyさん
04/06/08 16:32ID:???http://php.s3.to/man/function.preg-match.html
0743nobodyさん
04/06/08 16:45ID:???$file = './hoge/' . $_SERVER['QUERY_STRING'] . '.php';
if (!is_file($file)){
echo '氏ねカス';
}
else {
include($file);
}
0744nobodyさん
04/06/08 16:57ID:osVeuITeお前がPHPを評価するに至ったプログラム言語遍歴を教えてくれよ!
WebProg板のPHP質問スレで、
PHPの良さを一つも語らずに逃れようなんて、
恥ずかしい事はやめてくれよ(ゲラプップ
0745nobodyさん
04/06/08 17:20ID:???0746nobodyさん
04/06/08 17:36ID:???安全性が疑問だけど、
if (ereg('^([ab])$', $_SERVER['QUERY_STRING'], $matched)) {
readfile($matched[0] . '.php');
}
include('monthly.php');
でいいんじゃないの。
0748nobodyさん
04/06/08 18:07ID:???俺の覚えちまったPHPがダメ、使い物にならないというなら、
覚える手間かけてまで他の言語を習得するメリットを教えてくれ。
0749nobodyさん
04/06/08 18:10ID:???0750740
04/06/08 18:31ID:???ありがとうございます。
とりあえずうまくできました……!
そうか、eregi使わなくても良かったのか……どうもです。
0751nobodyさん
04/06/08 18:33ID:???0752nobodyさん
04/06/08 19:09ID:???mb_convert_encoding()等のmbstring系を使うと
エラーが起きるようになってしまったのですが
これは仕様が変わったということなんでしょうか?
autoを抜くとエラーはでないんですがかわりに
何でもかんでも「UTF-8だ」と言い張るようになりますた。。_| ̄|○
0753nobodyさん
04/06/08 19:21ID:???0754nobodyさん
04/06/08 19:46ID:???4.3.3の時には問題なく動いてたのですが・・。
0758754
04/06/08 21:30ID:???吐き出されるエラーは
$body=mb_convert_encoding($body,"EUC-JP","auto");
に対して
-----
Warning: mb_convert_encoding():
Unable to detect character encoding in 〜〜.php
-----
mb_convert_encoding($body,"EUC-JP","ISO-2022JP"):
とか指定してやれば変換はできますが
エンコードが何かを取得できない状態なのでなんとも・・。
0759nobodyさん
04/06/08 23:01ID:???PHPの勉強(動作テスト)が出来るということでしょうか?
0760nobodyさん
04/06/08 23:04ID:???根本的な解決にはならんかも知れんけど、
$enc = mb_detect_encoding($body);
$body=mb_convert_encoding($body,"EUC-JP",$enc);
なんてどう?
ちょっとダサいけど、$bodyのエンコードが不確定のときは
一考の余地ありかと。
0761760
04/06/08 23:11ID:???ところで、$bodyにはどういう内容が入ってるの?
0762nobodyさん
04/06/08 23:20ID:LWtWiDp3$email_to = '[email protected]';
にすると正常にドコモの携帯で受信出来ます。
J-PHONEの機能である、ドメイン指定受信・拒否などの設定は一切してません。
どなたか、J-PHONE用のサイトを構築された方で、
上記の現象の回避策が分かる方、アドバイス頂けないでしょうか?
0763nobodyさん
04/06/09 00:02ID:???プログラマーって名乗っていいのか悩んでる
0764nobodyさん
04/06/09 00:51ID:???「Zend Studio」自体が自宅鯖。
インターネットに繋がってる=自宅鯖ではない。
# 自宅鯖=自宅にある(自前の管理下にある)サーバ という意味でもないか。
0765nobodyさん
04/06/09 01:29ID:???根本的な原因は無知ですが、とりあえず下のような長ったらしいコードかいてしのいでます
$newphrase = mb_convert_encoding($newphrase, "EUC-JP", "UTF-8, UTF-7, ASCII, EUC-JP,SJIS, eucJP-win, SJIS-win, JIS, ISO-2022-JP");
0766カポコン
04/06/09 02:58ID:???2chで本音トークをしてくれたあなたにむしろ感謝します。
正解は・・・
自分がプログラマーと思えばプログラマーです。
プログラマーっぽい人の例↓
ttp://www.sun-inet.or.jp/~yaneurao/rsp/
ttp://www2.biglobe.ne.jp/~oni_page/other/etc/pr03.html
こういう人を目指しなさい。
0767754
04/06/09 03:05ID:???$bodyの中はメールの本文が入ってます。
php始めたばかりであまり経験がないのでわからないのですが
やはり一応エンコーディングを調べてEUC-JPに変換した方が
いいかと思ったんですが・・。
>>765
何度試してもダメだったので新規ファイルにその方法で
encoding -> detect -> encoding -> detect
を繰り返すだけのphpを書いてみたところそれでいけました。
メールの本文のエンコだけは取得できなかったみたいで・・何故だ
調べてるとそれと似たような感じのでphpの頭に
mb_detect_order("UTF-8, UTF-7, ASCII, EUC-JP,SJIS, eucJP-win, SJIS-win, JIS, ISO-2022-JP");
を入れると
$newphrase = mb_convert_encoding($newphrase, "EUC-JP")
で、同じように判別できました。
でもメール本文のエンコはとれないのか・・○| ̄|_=3
0771759
04/06/09 06:04ID:???なるほど。ネットに繋がってる必要は無いんですね。ちょっと違った解釈をしてました。
しかし実際自サイトでソースを稼動させるためにはphpが使える環境じゃないといけないわけですよね。
biglobeに加入しているのですが、使えるかどうか調べてみます。
自鯖持たないと駄目ってなったら、ちょっと敷居が高いかも・・。
もう一台PCあるんですがCDドライブがないんですよね。むー困った
0772nobodyさん
04/06/09 08:47ID:???開発者同士のネットワークもちゃんと出来てますね。
やはり上級スキルを持つ者同士の切磋琢磨が
さらにその上のレベルへステップアップする原動力となっている訳ですね。
頭が下がる思いです。
0773nobodyさん
04/06/09 08:50ID:???まだ少し勘違いしていると思われ。
回線を通じてWWWに繋がってはいなくても、PCの中ではネットワークに繋がっていますよ。
んで、phpはPCにインストールすればよいだけで、プロバイダは一切関係ないです。
余っているPCにCDドライブが無くてもLANを組むとか、外部のネットに接続できる環境
ならオンラインストレージを使ってファイルを転送するとか可能ですよ。
まぁ普通はLANでするほうが手っ取り早いと思いますが。
0775759
04/06/09 09:00ID:???Apache、PHP、PostgreSQLを使ってDBとWebの連動を夢見てたんですが
これはZendStudioをインストールすれば解決することで使えるのでしょうか?
>回線を通じてWWWに繋がってはいなくても、PCの中ではネットワークに繋がっていますよ
例えば第三者に私のサイトを閲覧してもらうとして、そのソースの中にPHPを使うことも可能ですか?
0776764
04/06/09 09:03ID:???http://www.zend.co.jp/products/studio/
を見てもらうと判るんだけど、C/S構成でもClientのみの構成でも
PHPの開発は行えることは判ると思う。しかし自宅"鯖"かどうかを
考えた時にClient構成のみの場合、一般のブラウザで結果を
表示出来るわけではないので、"(Web)鯖"とは呼べないです。
鯖となるのはC/S構成で、その際もWeb鯖はZendStudioが担うのでは
ではなくて普通のhttpdが担う。
で、図のC/S構成だけどClientとServerと別にしてServerマシンを
用意しないといけないかというと、そんなことはないです。
実際自分が同じマシンにぶち込んでますが大丈夫。あとC/Sというのは
インストールするソフトウェアの違いであって、ZendStudioを買うと
C/Sの両方のソフトウェアが入っています。対応するOSについても同様。
所謂製品パッケージとしてみた場合、1種類だけです。
# PEとか日本語ローカライズ版とか、SOHOパッケージに同梱の奴とかありますが。
ただZendStudioは富豪的な環境が必要だと感じる。
CPUが1GMHz以下のクラスだと結構苦しい。
0777nobodyさん
04/06/09 09:04ID:tQM0yX6Yハライテーw
0778nobodyさん
04/06/09 09:22ID:???0779759
04/06/09 09:28ID:???サイトを置いて私のPCにZendStudioをインストールすると
PHP部分の処理は私のPCを参照して行われるということですね。
つまりBiglobeとは関係なく、しかも別途PCを用意しなくても済むと。
ちなみに私の環境は
WinXP IE6
AthlonXP 1700+
PC2700 512M
Bフレッツ
という感じです。
現在の主流のPCと比べると見劣りするので、少し不安はありますがphpが動くだけでも夢のようです。
夢はPHP、Apache、PostgerSQLとWebの連動と書きましたがまだ全然理解できてないので
遠い未来になりそうです。検索かけてデータを表示したり、日記などに使おうと思ってます。
それにしてもZSは高いですね。Ver2.5が安売りで近所にあるので買ってみます。
簡単な仕組みでもDBを使ったものに憧れていたので、凄く楽しみです。どうもありがとうございました!
0780nobodyさん
04/06/09 09:29ID:???自宅の鯖(PC)を回線を通じて第三者に公開することはもちろん可能。
レンタル鯖やISPのスペースを用いる場合と違い、あなたのPCにPHPやDB
が入っていればそれだけでよいです。
>そのソースの中にPHPを使うことも可能ですか?
やや意味不明ですが、PHP自体ソースではないかと。
ソースを見てもらう=X
実行した結果を見てもらう=O
という意味なら通じます。
0781764
04/06/09 10:50ID:???そんなに急かなくて、買う前にちゃんと検討した方が...
http://www.zend.com/store/evaluation.php?pid=77&download=1
http://www.zend.com/store/products/zend-studio-personal.php
PE版はVer.3の目玉機能(それも有用な)が殆ど
スポイルされてるので、まあ本当に個人ユース。
個人的には"日本語版"のZendStudioを、企業ユーザ以外で買うっつうのは
VisualなんちゃらProを買うを個人で買うよりも限定されたケースだと思うよ。
使ってる自分がいうのも何だが。
0782nobodyさん
04/06/09 12:20ID:???イマイチ何がしたいのかはっきりしませんが、お使いのパソコンに
Apache/PHP/PostgreSQLの環境を整えるのだけが目的なら
ZendStudioなんぞ買わんでも無料でできますぜ?
ただ、Windowsのままっていうなら、よく知らないがPostgreが少しネック?
最近はまともなWindows版ってあんのかな?
0783759
04/06/09 13:55ID:???おぉ〜安心しました。
「そのソースの中にPHPを使うことも可能ですか?」というのは「実行した結果を見てもらう」という意味でした。
>>781
そんなに稀なケースなんですか・・。うーん個人でPHPの開発が出来ると書いてあったことに
惹かれたのですが、もしかしたら私には当てはまらないのかもしれませんね。
>>782
Apache/PHP/PostgreSQLの3つは無料で導入できるというのは
有名なので知っていたのですが、Winだと難しいらしいので敬遠していました。
あと1台あるにはあるのですが、例えばLinuxを入れようにもCDドライブがついてないので
OSをインストールが出来ません。>>773が言われているようなオンラインストレージの利用で
空のPCに新規でOSをインストール手段があれば、少し楽なのかもしれませんが。
ここで1つ疑問なのですが、例えば「Apache/PHP/PostgreSQLを使ってみたい。
でも自宅鯖なんて無理なので環境を整えられない」という場合、個人で楽しむことは出来ないのでしょうか?
自宅で勉強して最終的にはWeb上にアップし、不特定多数の人が閲覧可能にしたいです。
0784782
04/06/09 14:21ID:???「自宅鯖なんて無理なので」ってどういう意味なん?
サーバたてるような勉強はできないっていうなら、ムリだろうね。
ハード的なもの言ってるなら、サーバってものを勘違いしてそうだけど、
サーバソフトが動いてりゃその使ってるXPパソコンだってサーバだぞ?
一台でサーバもクライアントも兼ねさせればいい。
PostgreSQLがネックと言ったのはApacheやPHPよりは敷居が高いかもしれんってことで
不可能なわけじゃない。必要なら勉強しれ。
WinでPostgresがしたいならどのみちZendStudio買っても回避できない道だ。
0785nobodyさん
04/06/09 14:35ID:???自分のPC内で動いてるブラウザでアクセスするだけの話なので、とりあえずphpとapacheと
ポスグレをインスコすれば完成。winでならMysqlのほうが手間無くていいと思うけど。
個人ユースのZendStudioはPHPスクリプトを書いたりデバッグしたりするツールなので、
当面とって必要なし。
0786nobodyさん
04/06/09 14:37ID:???>ttp://www2.biglobe.ne.jp/~oni_page/other/etc/pr03.html
僕もカポコン殿のようなスーパープログラマーになりたいな
0787786
04/06/09 14:41ID:???ttp://www.sun-inet.or.jp/~yaneurao/rsp/
0788759
04/06/09 14:55ID:???自宅鯖が無理と書いた理由は
・もう一台のPCにCDドライブが付いていない
・現在同居人が常に使っているPCが別にあるので、3台になると電気代がかかる
・場所的に熱気がある所なので、常時起動だと火事が怖い
ということでした。決して勉強嫌いではありません。
かといって今私が使用しているPCだとWinXPなので、困ったときの情報量が少ないと
書いてありました。まずはいろいろ試行錯誤してみます。
>>785
そうですね。どちらにせよZendStudioは必要ないみたいなので選択肢からはずすことにします。
そんな折http://www.a-zia.net/PHP/を見つけました。
無料なソフトでWinにApache, PHP, Perl, MySQL, phpMyAdminを一括簡単にインストール
してくれるソフトらしいです。まずはこれで試すのもありかもしれませんね。
0789nobodyさん
04/06/09 15:07ID:???0790nobodyさん
04/06/09 15:07ID:Mrfvz21BJavaDocみたいな仕組みってPHPにありませぬか?
コード内に決められたフォーマットでコメント記述して、後でHTMLかなんかに
出力するような。
よろしくお願いします。
0791790
04/06/09 15:09ID:Mrfvz21BPHPDocでOk?
0792nobodyさん
04/06/09 15:09ID:???PHPDocとかPHPDocumentorがある
0794nobodyさん
04/06/09 15:12ID:???どうでもいいけど、自鯖つったって公開するわけでなしApacheが押し込めるPCならエニシングウィルドゥ
>790
phpdocumentor
■ このスレッドは過去ログ倉庫に格納されています