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

【PHP】下らねぇ質問はここに書き込みやがれ 50

レス数が900を超えています。1000を超えると表示できなくなるよ。
0001nobodyさん2007/07/11(水) 17:50:01ID:fYd+34US
まず読め→【PHP マニュアル】http://www.php.net/manual/ja/
PHPで最良の教本はこの公式マニュアル。市販の書籍は嘘が多いので鵜呑みにしない。
過去スレ、関連スレ、FAQなどは>>2-10辺り

◆前スレ
【PHP】下らねぇ質問はここに書き込みやがれ 49
http://pc11.2ch.net/test/read.cgi/php/1182794620/

◆質問する時の注意
・ 自分のIDを表示させること。(メール欄に何も記述しないこと。空白も入力しちゃダメ)
・ サーバーのOS(Linux、Windows他)、WebサーバーとPHPの種類やバージョン等を明記すること。
・ 己の行った操作、変更などを詳しく明記すること。
・ エラーメッセージはそのまま表記すること。「エラーが出ます」だけでは回答不可。
・ 質問者として、態度をわきまえること。
・ 事前に公式マニュアル、リファレンス本くらいはちゃんと目を通しておくこと。

◆質問後の注意
・偽者防止に必ずIDを表示させること。(メール欄に何も記述しない)
・2回目以降は最初に質問した際のレス番号を名前欄に入れること。
・解決しなくても回答をもらった場合はお礼を言うこと。
 (荒らし、煽りは除く。煽られたときも、無闇に反論せずスルーすること。)

◆回答者への注意
・誰にレスしているのか分からないと困るので、>>(アンカー)をつけて回答すること。

【その他諸注意】
・正規表現・PEAR・テンプレート(Smarty等)・フレームワークは各該当スレへ
・SQLについての質問はデータベース板(PCカテゴリ)の各スレで
0822nobodyさん2007/07/24(火) 15:44:39ID:???
何のためのルール?
誰が得するの?
0823nobodyさん2007/07/24(火) 15:50:03ID:dkSuvKse
はじめまして。
どこにでもありそうな質問で恐縮です。

Apacheで.htaccessを使ったBasic認証のサイトがあります。
この中でパスワード変更のフォームを動かしていてきちんと動くのですが、
当然といえば当然で、パスワード変更して.htaccessを変更した瞬間に
次のリクエストでブラウザからは再度認証ダイアログが出てしまいます。

これを回避するためのテクニックってどういうのがあるでしょうか?
アドバイスいただければ助かります。
0824nobodyさん2007/07/24(火) 15:50:07ID:Y3Stxh5i
>>818
それはどこに入れるんですか?
0825nobodyさん2007/07/24(火) 15:50:58ID:???
>>809
別にケツの穴が小さいと思われても俺に不都合があるわけないしどうでもいい
テンプレもマニュアルもまともに読めない。
アンカーすらまともに使えない厨が多くてカオスになったからそうなったんじゃね?
実際テンプレどおりやってる奴の質問は追っていきやすいのは事実だしな
08268222007/07/24(火) 15:54:42ID:???
>>821を読んで納得しました。
無駄にからんで申し訳ありません。
心を入れ替えます。
08278092007/07/24(火) 16:02:52ID:???
夏休みにはいったばかりではしゃぎ過ぎました。
荒らして申し訳ありませんでした。
心を入れ替えます。
0828nobodyさん2007/07/24(火) 16:02:59ID:???
>>823
板違い UNIXかLINUXあたりの板のWEBサーバー関連で聞くように

>824
SQLのコマンドラインで実行
ちなみに君も板違いDB板で聞くように
08298092007/07/24(火) 16:06:49ID:???
偽者が多いですね…
ケツの穴が小さいルールが偽者を作りだしているように思えてなりません
他のスレではIDがなくても偽者が出たりしませんから…
0830nobodyさん2007/07/24(火) 16:09:00ID:???
PHPは簡単で習得しやすいから利用ユーザーの年齢層がバラバラで
そのうちの>>809みたいな夏厨とかが偽者で書き込む。
それを防ぐためにID強制
08318232007/07/24(火) 16:09:53ID:???
自己解決しました



みたいなやつが出てくるからね
別にトリップでもいいんだけど
0832nobodyさん2007/07/24(火) 16:24:24ID:???
var_dumpで巨大なオブジェクトを表示しようとしたら
途中で表示を打ち切られた(><)
前までそんなことなかったのに
最近新しいオプション出来たの?
08338232007/07/24(火) 16:24:48ID:dkSuvKse
すみません。まだ解決していません。

>>828
そちらの板ではWeb系の話はとんと・・・
ここの板でよいと思うのですが、確かにPHP限定の話ではないです。
どなたかわかる方、ポインタだけでもお願いします。
0834nobodyさん2007/07/24(火) 16:25:07ID:Wdyxg0H6
perlでいうループ制御のlast、next、redo って有効じゃないのですか?

$hoge に30行ほどの文字列が格納されている
そのうち10行を書き出したい

$kazu = '1';
foreach ($hoge as $val) {
 if ($kazu > 10) {
  last;
 }
print "$val\n";
$kazu ++;
}

としても最後まで書き出されてしまいます。
last,next,redoに変わるものがあるのでしょうか?
0835nobodyさん2007/07/24(火) 16:29:13ID:Y3Stxh5i
>>828
すいません
コマンドラインってのはどこにあるんでしょうか?
0836nobodyさん2007/07/24(火) 16:35:13ID:???
>>834
breakとcontinueならある
0837nobodyさん2007/07/24(火) 16:38:01ID:Wdyxg0H6
>>836
ありがとう。助かりましたm(_ _)m
0838nobodyさん2007/07/24(火) 16:42:43ID:???
>>834
forで0〜9までまわしたら?
0839nobodyさん2007/07/24(火) 16:48:22ID:???
>>773

後方参照値の変数展開は
\\1 or \$1 とかじゃなかったっけ? 単純にミスタイプか?
08408392007/07/24(火) 16:58:29ID:???
>>839
だめだったすまん
0841nobodyさん2007/07/24(火) 17:32:11ID:???
>>829
結構前はそれで平和にやっていた。
しかし、>>830の言う流れでこうなった。

これは随分前からの流れなのでしょうがない。
嫌ならID無しにどんどん答えてあげればいいじゃない。
0842nobodyさん2007/07/24(火) 17:49:33ID:???
>>840
eオプション
0843nobodyさん2007/07/24(火) 19:11:50ID:???
>>836
っていうか、continueっていうネーミングはおかしいだろ。
skipとかにしろよ。php作った奴で馬鹿???
0844nobodyさん2007/07/24(火) 19:16:04ID:???
continueはphpがオリジナルじゃないだろ
0845nobodyさん2007/07/24(火) 19:23:33ID:WZenHGY2
phpのファイルを読み込んで、
そこに定義されているクラスをリストアップするプログラムを書こうとしています
include→get_declared_classes
で、そのファイル中のクラスは判定できますが、
includeしたファイルに書かれたclass以外のプログラムも実行されてしまうのが
マズイです。
何かいい方法はないでしょうか?
実行せずにパースする方法があればいいのですが…
08468452007/07/24(火) 20:52:18ID:???
PEARのPHP_Parserつこうたらできました
なんかCatchable fatal errorが出まくりですが一応動作するようデス
0847nobodyさん2007/07/24(火) 20:59:09ID:???
>>844
そうですね
Cがオリジナルかと思ってます
Javaでも使ってます
>>843は・・・
0848nobodyさん2007/07/24(火) 21:00:23ID:???
file_get_contents なりで読み込んで、正規表現でパースすりゃいんじゃね?
0849nobodyさん2007/07/24(火) 21:14:12ID:???
>>848
その通りですが荷が重すぎます
単にclass hogeという文字を見つけるだけでは済まないので…
バッカス・ナウア記法とかなんとかサパーリ
0850nobodyさん2007/07/24(火) 21:18:17ID:???
おい、坊主!
大した技術もない癖に、調子に乗ってなめたこと書き込んでんじゃねーぞ、コラ!!!
0851nobodyさん2007/07/24(火) 21:22:17ID:???
>>850
誰にいってんの?きんもーっ☆
0852nobodyさん2007/07/24(火) 21:30:10ID:WZenHGY2
..が入っているファイルパスをクリーンにするいい方法ありませんか?
/hoge/moge/../fuga/poko
のようなパスから..をなくす感じです
0853nobodyさん2007/07/24(火) 21:49:14ID:???
テンプレより
PHP構文が載ってるところってありますか?
0854nobodyさん2007/07/24(火) 22:28:39ID:???
>>852
realpath('/hoge/moge/...");
パスが存在すればね。
0855nobodyさん2007/07/24(火) 22:42:14ID:???
>>816
すれ違いだが教えてやる。
sqlite-2.8.16.tar.gzで、ウエブ全体から検索で、ググレ。
探しているうちにソースが見つかるだろう
0856nobodyさん2007/07/24(火) 22:43:22ID:???
>>854
ありがとうございました
0857nobodyさん2007/07/24(火) 23:01:25ID:wuKYIYS0
やべえ。
PHP4とPHP5を両方使ってるが、どっちだろうがまったく気にしてない俺がいる。
クラスで書いてないから?
0858nobodyさん2007/07/24(火) 23:34:10ID:9eCs8dRb
require_once '../lib/PEAR/HTTP/Request.php';
では読めるけど
require_once 'HTTP/Request.php';
ではうまくいきません。
パスを通す方法教えてください。
くだらんな質問ですいません。
0859nobodyさん2007/07/24(火) 23:45:46ID:9eCs8dRb
何となく自己解決しました。
.htaccessに
include_path = ".:/lib/PEAR::/lib/PEAR/HTTP::/lib/PEAR/NET"
こんな感じでぶちこむと動きました。
0860nobodyさん2007/07/24(火) 23:53:47ID:???
>>855
神様ありがとうございます。
0861nobodyさん2007/07/24(火) 23:57:25ID:???
>>857
URLにクラスのメソッド入れる様な作り方しない限りは殆ど関係無いよ。

とりあえず関数作りまくって壁に当たって
クラス使い出して慣れてきてからでOK。
0862nobodyさん2007/07/24(火) 23:58:30ID:???
>URLにクラスのメソッド入れる様な作り方しない限り
FWといいたいのかも知れないがまったく意味不明。
0863nobodyさん2007/07/25(水) 00:14:01ID:???
なんでURLが関係するんだよw 意味不明w
0864nobodyさん2007/07/25(水) 00:47:14ID:???
世の中には知らなくていいこともあるんです。
0865nobodyさん2007/07/25(水) 01:20:52ID:???
>>857

ディレクトリ一覧を取得するときとかいろいろ仕様がちがうぜ
0866nobodyさん2007/07/25(水) 04:48:42ID:???
むかし、「さくら」と言えば寝台特急のことだと誰もが信じて疑わなかったが、
今や「さくら」といえば、SAKURA Internetの事だと口をそろえていう。
これが時代の変化なんだろうが、嘆かわしい限りだ。


露と落ち露と消えにしわが身かななにはの事も夢のまた夢
0867nobodyさん2007/07/25(水) 08:19:49ID:???
闇の力を秘めし鯖よ、真の姿を我の前に示せ。契約のもと、SAKURA Internetが命じる。 レリーズ!!!
0868nobodyさん2007/07/25(水) 08:47:17ID:???
くだ質も夏休みだねぇ…
0869nobodyさん2007/07/25(水) 08:57:42ID:???
一年中夏休みだろ、ここはw
0870nobodyさん2007/07/25(水) 09:26:39ID:???
sage
0871nobodyさん2007/07/25(水) 11:30:50ID:???
>>857
俺は書いたスクリプトに不具合が出ては困るから
レンサバ借りるときは必ずPHP5が入ってるやる借りるぜ

ってか、もうすぐ6出るのにまだ4入れてる鯖が多すぎて萎える
0872nobodyさん2007/07/25(水) 12:39:08ID:F1E3rbc2
2ちゃんねるはクッキーがないと書き込めない仕様と聞きました。
これはセッションをつかって発行されたクッキーなのでしょうか?
それともふつうにsetcookieによって発行されるクッキーなのでしょうか?

また、両者のどちらが安全度が高いですか?
よろしければアドバイスお願いいたします。
0873nobodyさん2007/07/25(水) 12:48:49ID:???
>>872
人に聞くより、自分でクッキーの中見た方が早いだろ
0874nobodyさん2007/07/25(水) 12:54:20ID:F1E3rbc2
答えを聞いてるわけではないんですよ
0875nobodyさん2007/07/25(水) 13:03:59ID:???
>>872
セッションでクッキーは発行できないよ
クッキーでセッションIDを発行することはあるが
0876nobodyさん2007/07/25(水) 14:02:11ID:???
>>1おれとつきあって
0877nobodyさん2007/07/25(水) 14:12:18ID:TgPM8Cfn
Shift-JISからUTF-8に文字コードを変換したいのですが、

<form name="form1" method="post" action="">

<textarea name="txt"></textarea>

<input type="submit" name="Submit" value="送信">

</form>

<?

var_dump(mb_detect_encoding($_POST['txt']));

var_dump(mb_convert_encoding($_POST['txt'], "utf8", "auto"));

?>

このように、文字コードをUTF-8にしようとしてみたのですが、
Unable to detect character encoding
とのエラーで、文字コードが変換されません。
正直今までにこのようなエラーがなくて戸惑っています。

mb_detect_encodingでの出力はFALSE
mb_convert_encodingではstring(6)で文字コードがShift-JISのままです。

一体何が原因でこのようなことが起きるのでしょうか?
宜しくお願いします。

【環境】
Windows Vista Home Premium
PHP 5.2.2
0878nobodyさん2007/07/25(水) 14:23:30ID:???
>>877
文字コードが分かってるんならautoではなく直接指定
変わる場合があるならmb_detect_orderで指定しておく
0879nobodyさん2007/07/25(水) 14:30:30ID:TgPM8Cfn
>>878
ありがとうございます。
mb_detect_orderでsjisをトップにもってきて
mb_convert_encodingでautoをsjisにすると解決しました。

今までこのような問題がなかったので、
何が原因でこのような文字化けなどが起きるのかわからないのですが、
もしよろしければ教えていただけないでしょうか?
0880nobodyさん2007/07/25(水) 14:32:10ID:???
マルチバイトの文字コード判別は信用ならない
0881nobodyさん2007/07/25(水) 14:33:15ID:???
>>879
それも、またmb_系関数のマニュアルを熟読しろ。
「今までこのような問題がなかった」のが単にラッキー程度だと思っておいたほうがよろしい。
mb_コンバート系統はその程度の実装だ。
0882虚弱PHP2007/07/25(水) 14:33:17ID:???
>>879
入れてやる文字列によっては、文字コード判別できないってだけの話。
いままでは"たまたま"うまくいっていただけ。
というわけで、基本的に"auto"は使わないのが良い。
0883nobodyさん2007/07/25(水) 14:37:03ID:TgPM8Cfn
有難うございます。
その時その時によってautoではなくしっかりと文字コードを指定してやるのが大事なんですね。

マルチバイト系のクラスでも作っておきます・・・。
0884nobodyさん2007/07/25(水) 14:41:39ID:???
ジャンキタ――(゚∀゚)――!!
0885nobodyさん2007/07/25(水) 14:49:42ID:EIPyOfNN
すみませんもしかしたら基本的な事かも知れないんですが

例えば
test1.phpというPHPスクリプトの中に$aという変数を宣言しまして。
この$aという変数をHTMLのsubmitなどを使用しないで別の
test2.phpというPHPスクリプトの中で使用することはできるのでしょうか?

わかりにくいですね…

test1.phpで
$a="あいうえお";と宣言したら
どうにかして
test2.php内でprint($a);で
「あいうえお」と出力できませんか?

ということなのですけれどもご教授お願いします。

0886nobodyさん2007/07/25(水) 14:53:43ID:???
PHP6うp期待あげ
0887nobodyさん2007/07/25(水) 14:53:46ID:???
>>885
セッション
0888nobodyさん2007/07/25(水) 14:55:21ID:???
>>886
TextIteratorクラスとかぶっちゃけいらないよな
俺はクエリ自動生成に期待してる
0889nobodyさん2007/07/25(水) 15:46:03ID:EIPyOfNN
>>887
やはりセッションですか。
ありがとうございます頑張ってみます!

0890nobodyさん2007/07/25(水) 16:06:01ID:EIPyOfNN
>>887
ありがとうございます
解決しました!ご教授の通りやはりセッションを使うとできますね。
0891nobodyさん2007/07/25(水) 16:11:19ID:T4EA9qil
phpからSQL文を使ってデータベースにデータを追加したいんですが
空白が入るとエラーになってしまいます
どうしたらいいんでしょうか?
0892nobodyさん2007/07/25(水) 16:43:16ID:???
空白を変換すればいいじゃん
0893nobodyさん2007/07/25(水) 17:04:57ID:???
「空白」なんていう曖昧なことを言われてもね。
0894nobodyさん2007/07/25(水) 17:48:46ID:???
せめてエラー文ぐらいコピペして欲しい
0895nobodyさん2007/07/25(水) 19:05:39ID:Muzhb0ib
Cのlintみたいなツールは無いでしょうか?
使っていない変数を探したいんですが、php -lだと
構文が正しいかどうかしかチェックしてくれなかったので。
0896nobodyさん2007/07/25(水) 20:16:55ID:???
>>886
もう、beta版出てるジャン。
0897nobodyさん2007/07/25(水) 20:34:10ID:???
>>895
PHPの場合、初期化は代入と等しいし、変数の宣言はないので、
使っていない変数を探すのは難しいんじゃないか。
0898nobodyさん2007/07/25(水) 20:49:14ID:???
>>896
インストールが途中で、install_modules.dllの初期化に失敗しましたってでるんだが、
php6ってVISTA対応していないの?
0899nobodyさん2007/07/25(水) 21:19:52ID:???
php6の開発時期とvistaが登場した時期を見比べろ
あと、リリースとベータの違いも区別つけようなザコ
0900nobodyさん2007/07/25(水) 21:21:18ID:???
5も広まってないのに6ってなめてんのかこら
0901nobodyさん2007/07/25(水) 21:26:40ID:???
OSでさえ出たばかりのは使わないんだから、枯れた一個下のバージョンが主流というのはもっともな選択じゃね。
0902nobodyさん2007/07/25(水) 21:28:01ID:???
家で使う分にはいいんだが、レンタルサーバーで6まで対応しているのって
ほとんどないからなぁ。実用でいったら、せいぜい5までだ。
0903nobodyさん2007/07/25(水) 21:32:38ID:???
>>902
え・・
釣りだよね?
0904nobodyさん2007/07/25(水) 21:35:59ID:???
version4主流なんていうのは悪手だろ
0905nobodyさん2007/07/25(水) 21:55:04ID:???
通はPHP3、
普通はPHP4、
キティガイはPHP5だろ
0906nobodyさん2007/07/25(水) 22:29:16ID:+OWKNv7k
セーフモード下で、サーバに存在しないファイルを生成したいのですが、
何か方法はありますか?
cgiで動かした時にfopenで作れたのですが、できればcgiを使いたくないので。
09079062007/07/25(水) 22:38:33ID:???
一応ソースだしときます。

#!/usr/local/bin/php
<?php
$file = realpatch('./hoge.log');
if (!file_exists($file)) {
   $fp = fopen($file, 'w+');
   fclose($fp);
}
?>
0908nobodyさん2007/07/25(水) 22:45:57ID:???
touch
09099062007/07/25(水) 23:05:11ID:???
>>908
どうもありがとうございます。
しかしその関数でもセーフモード下ではファイル生成は不可能でした。
0910nobodyさん2007/07/25(水) 23:27:35ID:9KsThU60
sqliteのエスケープ用関数がないんですが
sqliteはsqlエスケープをしなくていいんですか(?_?)
0911nobodyさん2007/07/25(水) 23:42:49ID:9KsThU60
ありました
勘違いしてました\^o^/バンザーイ
0912nobodyさん2007/07/26(木) 00:59:04ID:???
オマエらのレスを読んでいると、ここには職業技術者はいないなぁと感じる。
オマエのレスを絵にすると、丸でこんな感じだ。
http://www.dashiblog.com/blog/archives/project_comedy_l.gif
0913nobodyさん2007/07/26(木) 01:08:27ID:???
>>912
いますけど?(/\)チャチャチャチャ \(^o^)/ハッ!!
0914nobodyさん2007/07/26(木) 01:09:36ID:???
古い絵を出して何か言ってる奴って何なの?
0915nobodyさん2007/07/26(木) 01:41:36ID:???
もう当の昔に見飽きたわ
0916nobodyさん2007/07/26(木) 01:52:14ID:???
>>912
職業技術者がいないと言っているのに、なんで仕事の話の画像なんだ?
0917nobodyさん2007/07/26(木) 02:02:49ID:???
>>912
この絵が何をあらわしているのかわからん。
だれか説明たのむ
0918nobodyさん2007/07/26(木) 02:08:23ID:???
暑いし少し頭が弱くなしていたのだろう
見なかったことにしようぜ
0919nobodyさん2007/07/26(木) 02:54:10ID:???
実際に仕事してるやつは痛いほどわかる内容だ。
0920nobodyさん2007/07/26(木) 03:01:58ID:???
下らん煽りはどうでもいい。
質問があれば答えるそれだけでいいじゃないか。
趣味でやってるやつがほとんどだというのに、
職業がどうとかどうでもいいです。
PGになってもいいことないしな。
0921nobodyさん2007/07/26(木) 03:33:43ID:???
いわゆるデジタルドカタだからな
レス数が900を超えています。1000を超えると表示できなくなるよ。