【PHP】下らねぇ質問はID出して書き込みやがれ 74
レス数が900を超えています。1000を超えると表示できなくなるよ。
0001nobodyさん
2008/09/20(土) 20:23:08ID:???過去スレ、関連スレ、FAQなどは>>2-10辺り
次スレは>>980が立てる。10分以内に立たない場合、宣言してから立てたい人が立てること。
◆前スレ
【PHP】下らねぇ質問はここに書き込みやがれ 73
http://pc11.2ch.net/test/read.cgi/php/1220440493/
◆質問用テンプレ
【OS名】vine linux
【PHPのバージョン】php5.26
【連携ソフトウェア】mysql
【質問内容】
◆質問する時の注意
・ スレを上げて自分のIDを表示させること。(メール欄に何も記述しない。専ブラのsageチェックを外す)
・ 己の行った操作、変更などを詳しく明記すること。
・ エラーメッセージはそのまま表記すること。「エラーが出ます」だけでは回答不可。
・ 質問者として、態度をわきまえること。
・ 事前に関連リンクの公式マニュアル、リファレンス本くらいはちゃんと目を通しておくこと。
(PHPで最良の教本はこの公式マニュアル。市販の書籍は嘘が多いので鵜呑みにしない。)
◆質問後の注意
・2回目以降は最初に質問した際のレス番号を入れて、偽者防止に必ずIDを表示させること。
・解決しなくても回答をもらった場合はお礼を言うこと。
(荒らし、煽りは除く。煽られたときも、無闇に反論せずスルーすること。)
◆回答者への注意
・誰にレスしているのか分からないと困るので、>>(アンカー)をつけて回答すること。
【その他諸注意】
・SQL・正規表現・PEAR・テンプレート(Smarty等)・フレームワークは各該当スレへ
0810nobodyさん
2008/10/10(金) 11:09:14ID:???fseek(ファイルのケツ)して1行づつ戻して読めば?
アッー!
0811nobodyさん
2008/10/10(金) 12:13:05ID:???行単位でseek出来れば最初からヤっとるわ!
アッー!
0812nobodyさん
2008/10/10(金) 16:28:36ID:???行単位でシークしたけりゃおとなしく固定長レコードか、データベース使えば?
負荷が問題になるならキャッシュの導入を先に考えればいいよ。
0813nobodyさん
2008/10/10(金) 18:31:41ID:Yvgf2UGi0815nobodyさん
2008/10/10(金) 18:45:41ID:Yvgf2UGi以下のサイトを参考にしたのですが、このページに掲載されている関数は全部php5で使えるということでしょうか?
ttp://php.benscom.com/manual/ja/indexes.php
0816nobodyさん
2008/10/10(金) 18:57:59ID:???釣られんな、>>814に書いてるヤツが使えなかったらヤバいだろ
ttp://www.php.net/manual/ja/indexes.php
同じ内容だが本家見ような、余裕あれば原語も
ttp://www.php.net/manual/ja/about.prototypes.php
マニュアルを見る前にここチェック
関数の説明にはちゃんと対応バージョン書いてあるからな
0817nobodyさん
2008/10/10(金) 19:23:21ID:Yvgf2UGiこれからは本家で見るようにします。
php4を切り捨てるため、php5で使える関数をテキストエディタの補完色分けに作ろうと思ってます。
関数の説明ページをひとつずつ開いて対応バージョンを調べるしかないですよね・・・
時間との戦いになりますが、地道にやっていきます。
0818nobodyさん
2008/10/10(金) 20:02:39ID:???0819nobodyさん
2008/10/10(金) 20:19:02ID:Mjn4nOqX試してみます。
ありがとうございました。
0820nobodyさん
2008/10/11(土) 02:23:25ID:Dg304RS1無料人力検索ボランティアをこき使ってくれたまえ
0821nobodyさん
2008/10/11(土) 02:25:45ID:Dg304RS1↓
2.質問を読んだ者が検索して答えをみつけてくる
↓
3.検索してみつけたページに書いてあることをコピペ(文章改ざん)して偉そうに回答
そんなスレだからがんばれよ
0822nobodyさん
2008/10/11(土) 02:26:39ID:???0823nobodyさん
2008/10/11(土) 02:47:43ID:???ttp://wikiwiki.jp/
0824nobodyさん
2008/10/11(土) 04:35:19ID:???0826nobodyさん
2008/10/11(土) 16:02:58ID:hw8joz8bService Temporarily Unavailable
The server is temporarily unable to service your request due to maintenance downtime or capacity problems. Please try again later.
--------------------------------------------------------------------------------
Apache/1.3.34 Server at www.mannanlife.co.jp Port 80
0827nobodyさん
2008/10/11(土) 16:03:54ID:???0829nobodyさん
2008/10/11(土) 21:20:05ID:???ググってみてもあまり情報が出てきません。
phpのインクルードの方法について教えてください。
0830nobodyさん
2008/10/11(土) 21:21:11ID:???0831nobodyさん
2008/10/11(土) 22:21:44ID:4K6Y3Waqサイト閲覧者に開かせれば
そいつのパソコンのデータを自動で俺のサーバーに移せますか?
0832nobodyさん
2008/10/11(土) 22:23:32ID:???0833nobodyさん
2008/10/11(土) 22:53:19ID:8WtsmSV0接続しようと試みているのですが、接続できません。
ご教授願えますか?
0834nobodyさん
2008/10/11(土) 23:07:58ID:???localhostじゃないならポートが開いてるか確認する必要がある
MySQL接続ユーザのhostに接続元のホスト名(または%)が指定されてるか確認する必要がある
あと、「接続出来ません」では分からん
MDB2ならデバッグでエラーメッセージを取れるから、何が原因で接続出来ないか見ような
0835nobodyさん
2008/10/11(土) 23:20:16ID:G3J1VtlXファイルを2つ開いておいて、
タブで切り替えるってできないの?
0836nobodyさん
2008/10/11(土) 23:29:26ID:8WtsmSV0Access denied for user: 'username@hostname' (Using password: YES)]
ポートの開閉確認とは??レンタルサーバーを使用しております。どのように
行えばよいでしょうか?お恥ずかしい質問ですが、よろしくおねがいします。
0837nobodyさん
2008/10/11(土) 23:29:53ID:4K6Y3Waq回答ありがとうございます。
余談ですが
delコマンドを使うと閲覧者のPCのデータを消せますか?
>>835
メモ帳二つ開けばいいよ。漢(おとこ)ならメモ帳だろ。
関係ないけど、さっきすっきりデフラグってソフト使ったら、
PHPのセッションのフォルダごと自動で削除されてセッション使えなくなった。
0839nobodyさん
2008/10/11(土) 23:37:11ID:8WtsmSV00840nobodyさん
2008/10/11(土) 23:37:45ID:???0841nobodyさん
2008/10/11(土) 23:41:28ID:8WtsmSV0と記述しております。どこか間違えておりますでしょうか?
0842nobodyさん
2008/10/11(土) 23:57:24ID:8WtsmSV0$mdb2 =& MDB2::connect("mysql://username:pass@hostname/databasename");
です。
0843nobodyさん
2008/10/12(日) 00:10:26ID:???そうでないならlocalhostしか接続出来んだろ
phpMyAdminはレン鯖提供か、自スペースに置いたものだろ?(レン鯖ないで動くアプリはlocalhost接続)
0844843
2008/10/12(日) 00:14:23ID:???つまりホスト名に「localhost」以外を指定出来る設定になってるかどうか
普通は「mysql://username:pass@localhost/databasename」にする
(MySQLはユーザ名だけでなくホスト名もチェックする認証方式)
0845nobodyさん
2008/10/12(日) 00:16:43ID:cg/RVdaYそのセッションIDが自分のパソコンの中のクッキーに保存されていて、
そのクッキーを盗み出されたら、セッションIDがばれてしまって
なりすましされてしまうの?
0846nobodyさん
2008/10/12(日) 00:40:17ID:???セッションIDと共にIPでのチェックもしてる場合は抑制されるし
サイトが未対策で、IDバレたらなりすまし可能(ヘッダーにIDを仕込むだけだし)
0848nobodyさん
2008/10/12(日) 00:57:13ID:???セッションIDが分かっても、鯖はコネクションが切れた時点でセッション内容を破棄するから
盗んだセッションでアクセスしても既に内容が無いんと違うか?
>>847
同意。セッションのフォルダは隠しフォルダだから外からアクセスできないし、外部から見るのは不可能だよな。
0849nobodyさん
2008/10/12(日) 01:44:14ID:kzFvqNLyお前ら、他のやつが作ったフリーのライブラリとか使う時に
自分のサイトで「○○さんのを使わせてもろたで」とか書くんか?
書かんでええやろ。どないやねん。はよ答えろや。
0851nobodyさん
2008/10/12(日) 04:54:47ID:kzFvqNLyPDF作ろうと思うとるねんけどFPDFは文字化けしてよう作られへんわ。
PHPのマニュアルに個人利用フリーで商用有料のモジュールあるんやけど
個人でアフィリエイトするサイトは商用になるんか?
そもそも商用って何やねん。
ウェブプログラマーになって他人のサイト作る事が商用?
会社で自社のサイト作るんが商用?
どないやねん。はよ教えろや。
というか外部の奴からは関数なんて分からんから商用やってもバレへんのちゃうか?
0852nobodyさん
2008/10/12(日) 04:59:49ID:LpzkFgnx/__.))ノヽ
.|ミ.l _ ._ i.)
(^'ミ/.´・ .〈・ リ そんなこと知らんわ
.しi r、_) |
| `ニニ' /
ノ `ー―i
0855nobodyさん
2008/10/12(日) 09:01:37ID:B7DkksYvタグ名とそのタグの属性名を正規表現で抜き出したいのですがうまくいきません
どなたかご教授おねがいします
$file = file_get_contents("http://openlab.ring.gr.jp/k16/htmllint/tagslist.cgi?HTMLVersion=XHTML11");
preg_match_all("/<dl>.*</dl>/",$file, $ary);
0856845
2008/10/12(日) 09:50:14ID:???わかるかた回答おね
0857nobodyさん
2008/10/12(日) 10:20:47ID:???正規表現で/使う場合はエスケープ
オプションで改行も全て含むやりかたがあるからやってみろ(mだかUだか忘れたけど)
.*を(.*?)にしてみろ、.*は最長マッチだが.*?は最短マッチだ
0860nobodyさん
2008/10/12(日) 13:30:21ID:???もうDOM使っちまえよ
0861nobodyさん
2008/10/12(日) 13:53:51ID:UTQYH/CTextension=php_oracle.dll
extension=php_oci8.dll
extension=php_pdo_oci.dll
Oracle Database 10g Express Editionを使用してます。
どうしたら、認識されるのでしょうか?
0862211
2008/10/12(日) 13:59:14ID:fXLt5ZTjOracleのクライアントを入れていないんじゃない?
0863211
2008/10/12(日) 14:06:40ID:fXLt5ZTj>>861
エラーログみたらなんか出てるんじゃない?
ロードに失敗しているなら、DLLをロードする時必要なファイルに
パスが通ってないとかそもそも必要なものがインストールされてないとか、、、
http://www.php.net/manual/ja/book.oci8.php
0864nobodyさん
2008/10/12(日) 15:12:01ID:kzFvqNLy数字を16進数や2進数にするんわ分かってんけど
文字を16進数や2進数にするんわどうしたらええの?
文字かて2進数にできるんちゃうか?
教えろや。はよしてや。急いでるねん。
0865nobodyさん
2008/10/12(日) 15:15:31ID:???全角だと文字コードによって変わっちゃうんだけど
0866211
2008/10/12(日) 15:20:51ID:fXLt5ZTjこの変見ればやりたいこと書いてあるんじゃない?
http://www.php.net/manual/ja/language.types.type-juggling.php
0868nobodyさん
2008/10/12(日) 16:32:51ID:ZWInd4bd標準的な関数か方法はないでしょうか?
通常の変数展開は
$foo = 'bar';
echo "foo: {$foo}"; // => foo: bar
ですが
$hoge = 'foo: {$foo}'; // ここでは展開しない
$foo = 'bar';
echo func($hoge); // ここで展開する
// または echo func($hoge, array('foo' => $foo)); など
のような形にしたいです。
sprintf()の%sに名前を指定できる感じのものと言えばいいでしょうか。
よろしくお願いします。
0869nobodyさん
2008/10/12(日) 16:36:35ID:???もしくはeval
0870861
2008/10/12(日) 16:56:09ID:???Oracle Instant Clientを落としてきて、中身をsystem32フォルダに入れたらうまくいきました。
ありがとうございました。たすかりました。
0871nobodyさん
2008/10/12(日) 17:14:38ID:???ありがとうございます。
sprintfは展開する順序が固定なのが少し困るところです。
evalは思いつかなかったので
初心者なりにevalを使って期待する関数をつくってみました。
こういった感じの標準的な関数・方法はないでしょうか?
function interpolate($str, $args) {
extract($args);
return eval('return "' . $str . '";');
}
$hoge = 'foo: {$foo}';
$foo = 'bar';
echo interpolate($hoge, array('foo' => $foo)); // foo: bar
0872868
2008/10/12(日) 17:16:11ID:ZWInd4bd0873211
2008/10/12(日) 17:19:51ID:fXLt5ZTjstr_replace かその関係の関数が簡単なんじゃないかな?
echo str_replace(array('$foo'),array('bar'),$hoge);
みたいな。
http://jp2.php.net/manual/ja/function.str-replace.php
0874868
2008/10/12(日) 18:18:51ID:ZWInd4bdありがとうございます。
str_replace()やpreg_replace()はすべての引数で配列を指定できるのですね。
1つずつの文字列しか引数に取れないと思い込んでいたので
勉強になりました。
配列の中身の展開("{$baz[0]}"など)が必要にならない限り
これを使っていきたいと思います。
皆さんありがとうございました。
0875nobodyさん
2008/10/12(日) 20:15:22ID:???このページの
http://www.phppro.jp/school/phpschool/vol12/2
if (isset($_POST["title"]) && $_POST["title"])
って入力確認だけど、なんでissetで事足りるように見えるのに後ろに余計な物付け足してるん?
念のため聞くけど、後ろのは入力されてたらTRUEを返すんだよね?
なんか見苦しくてすまない、回答いただけるとウレシス
0876nobodyさん
2008/10/12(日) 20:19:57ID:qbuV3HNr0878nobodyさん
2008/10/12(日) 20:28:59ID:???0879211
2008/10/12(日) 20:29:53ID:fXLt5ZTj何でよけいだと思ったのかな。
0880211
2008/10/12(日) 20:36:51ID:fXLt5ZTj875の書き方も、877の事を考慮すると間違ってる。
0881nobodyさん
2008/10/12(日) 20:37:46ID:qbuV3HNrこれってissetだけじゃ駄目なんですかね?
0882nobodyさん
2008/10/12(日) 20:38:52ID:qbuV3HNr0だと入っててもFALSEかなんかになるんですよね
回答どうもです
0883nobodyさん
2008/10/12(日) 20:46:54ID:???0884nobodyさん
2008/10/12(日) 20:49:37ID:???array()も同じく
0885nobodyさん
2008/10/12(日) 21:05:30ID:cg/RVdaY勉強することなくなるの?
0886nobodyさん
2008/10/12(日) 21:08:42ID:???0887nobodyさん
2008/10/12(日) 21:12:53ID:cg/RVdaYここに、PHPのCGI版は、実行時に
HTTPヘッダを自動で送信している、って
書いてあるけど、
自分はPHPのモジュール版を使っているのだが、
この場合はHTTPヘッダを自動で送信しているのかな?
それともしていないのかな?
0888211
2008/10/12(日) 21:32:59ID:fXLt5ZTj0889nobodyさん
2008/10/13(月) 01:00:05ID:???そのURLは面倒なので見てないが、変数定義があるかどうかを調べた後にその変数の正当性を調べるのは、
何らおかしい事ではないというかむしろ普通。
PHPはそこら辺いい加減な言語だから別に好きにすりゃいいが、変数が定義されているかどうか分からないケースの場合、
先にisset()で調べた方が、実行速度は上がるケースがある。未定義の変数の参照は遅い。
if (isset($_POST["title"]) && $_POST["title"]) だと、$_POST["title"]が未定義ならその後の処理は実行されない。
if ($_POST["title"]) だと、$_POST["title"]が未定義の時に遅い。まぁマイクロ秒単位の世界だがw
0890nobodyさん
2008/10/13(月) 01:02:20ID:???0891nobodyさん
2008/10/13(月) 01:48:34ID:???0892211
2008/10/13(月) 07:30:16ID:2R92n/wDだめかどうかは知らないけど、
isset($_POST["title"])
と
$_POST["title"]!=""
は意味(結果)が違うからね。
必要に応じて使えばいいと思う。
0893nobodyさん
2008/10/13(月) 07:38:41ID:???0894nobodyさん
2008/10/13(月) 07:46:42ID:CGfh2V74<html>
<head><title>PHP TEST</title></head>
<body>
<?php
require_once(DB.php);
?>
</body>
</html>
というのを作ってapacheで実行したら
エラーが出ました
Warning: require_once(DB.php) [function.require-once]: failed to open stream: No such file or directory in C:\Program Files\Apache Group\Apache2\htdocs\atest.php on line 7
Fatal error: require_once() [function.require]: Failed opening required DB.php (include_path=.;c:\php\includes;c:\smarty\libs) in C:\Program Files\Apache Group\Apache2\htdocs\atest.php on line 7
と書かれていたのでC:\WINDOWS\php.iniの
include_path = .;c:\php\includes;c:\smarty\libs
を確認したのですが違いはなかったようです
どうすればよろしいでしょうか?
0895nobodyさん
2008/10/13(月) 07:50:19ID:???0896nobodyさん
2008/10/13(月) 08:05:13ID:CGfh2V74え?入ってないってことですか?
入れたはずなんですが
0897nobodyさん
2008/10/13(月) 08:07:59ID:???0898nobodyさん
2008/10/13(月) 08:20:52ID:CGfh2V74pearは入れたはず
include_pathはとりあえず言われたのをやったんですけども
pear導入のときから少し変えた
なにを入れたらいいの?
0899211
2008/10/13(月) 08:51:11ID:2R92n/wD警告メッセージってコピペですか?
require_once の引数はそれで正しいですか?
0900894
2008/10/13(月) 09:13:10ID:CGfh2V74コピペです
require_onceの引数ですが
c:\php\pear\DBなので間違いではないと思います
0901211
2008/10/13(月) 09:26:59ID:2R92n/wD> コピペです
私の理解では、DBとphpが定数定義されていない限り、
require_once(DB.php);
は
require_once("DB"."php"); つまり require_once("DBphp");
という動きをします。
しかしそうだとすると、894の警告と食い違うので聞きました。
手で打ち直してないですか?
二つめの質問もつまりそういうことです。
もし私の理解が正しくなくて、require_once が DB.php を
開こうとしているなら、DB.phpが include_pathで指定されている
ディレクトリのどこかにあるかどうか確認すればよいと思います。
あるいは、require_onceの引数にパスを含めて指定することも
できると思います。
0902894
2008/10/13(月) 10:38:31ID:CGfh2V74一度帰宅してやってみます
詳しく書いて頂き大変感謝してます
いつもここのスレは丁寧な方が多くて嬉しい限りです
0903nobodyさん
2008/10/13(月) 12:24:01ID:???もしかすると
gettypeでstringの場合とstrlenで1文字以上をチェックすれば完璧じゃね?
または(string)で強制的にstringに置き換えてstrlenでチェック
0904211
2008/10/13(月) 12:37:29ID:2R92n/wD>>889 で書かれていることは知らなかったけど、そういうこともあると思う。
自分で isset($_POST["title"]) && $_POST["title"]!="" とか書くときの
isset は Notice が出ないようにするためだな。
0906nobodyさん
2008/10/13(月) 14:51:18ID:CGfh2V74ディレクトリについて少し質問
C:\php\pear\DBだった場合 (DBはフォルダ)
C:\php\pearでもいいんでしょうか?
0907nobodyさん
2008/10/13(月) 15:10:20ID:???0908211
2008/10/13(月) 15:10:37ID:2R92n/wDinclude_path で指定されたディレクトリにあるファイルは見つけられるけど、
指定されたディレクトリのサブディレクトリにあるファイルは見つけられないよ。
試してみればいいと思うのだが。
試してみての質問なら、エラーとか警告とか書かないとね。
質問しようと思ってエラーとか確認してるとハッと気づくとかよくあるよね。
レス数が900を超えています。1000を超えると表示できなくなるよ。