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

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

■ このスレッドは過去ログ倉庫に格納されています
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カテゴリ)の各スレで
06536492007/07/22(日) 01:35:02ID:QvcmLLta
>>650
わかりませんが、
<?=preg_replace("|(http://[\%?=&;\~/\-\.\w]+)|", "<a href=\"$1\" target=\"_blank\">$1</a>",$log_data[message])?>
単体だけだと、正常に動作します。
0654nobodyさん2007/07/22(日) 01:38:47ID:???
ドメイン部分は3文字以上ってことを判定基準にするのがいいと思うけどやりすぎかのう
0655nobodyさん2007/07/22(日) 01:41:25ID:???
とおもったらロードって曲か
06566492007/07/22(日) 01:42:36ID:QvcmLLta
>>652
返信ありがとうございます。

こういうことでしょうか?
<?php
$url_re = array("|(http://[\%?=&;\~/\-\.\w]+)|", "<a href=\"$1\" target=\"_blank\">$1</a>");
$br_re = array("<br>", "<br />");
$log_data[message] = preg_replace( $url_re , $br_re, $log_data[message] );
?>

ちなみに、上で試してみたところエラーがでました。

エラー文は
Warning: preg_replace() [function.preg-replace]: Unknown modifier '$'
です。
06576492007/07/22(日) 01:44:08ID:QvcmLLta
656の文ですが、
gt と lt が勝手に< >になってしまったみたいです。

$br_re = array("<br>", "<br />");

の< > を ltとgtにしてみました。
0658nobodyさん2007/07/22(日) 01:45:34ID:???
こっちで聞いたほうがいいかもしれない
http://pc11.2ch.net/test/read.cgi/php/1168450843/
0659nobodyさん2007/07/22(日) 02:00:47ID:???
>>651
マジレスするとTHE 虎舞竜のロード
0660nobodyさん2007/07/22(日) 02:03:11ID:???
$url_re と $br_re じゃなくて
$url_br_pattern と $url_br_replaced だというのをわかってもらうのは
正規表現道場の仕事じゃないと思う。
0661nobodyさん2007/07/22(日) 02:04:43ID:???
>>659
これいいね、レンタルしてきた。1〜13章まであるのがうけるw
0662nobodyさん2007/07/22(日) 02:10:50ID:fPjwTOfp
すいません
ダウンロードしたファイル(config.dat.php)
にこんな感じのソースがあるんですがこれは何を実行してるのでしょうか?

<?php exit(); ?>
11001100
01001100
10001100
00001100
00000100
10001100
00001100
10001100
10011000
00000100
10001100
10001100
00100110
00000100
10001100
10001100
00001100
00000100
10011100
01001100
.....
00000100
10001100
10001100
00001100
00000100
06636492007/07/22(日) 02:19:06ID:QvcmLLta
>>660
なるほど、勘違いしてました^^
ちょっと試してみます。
06646492007/07/22(日) 02:26:59ID:QvcmLLta
以下で試してみたのですが、今度はエラー文は出てこなくなったのですが、
中身も表示されなくなりました。

<?php
$pattern = array("|(http://[\%?=&;\~/\-\.\w]+)|", "<br>");
$replaced = array("<a href=\"$1\" target=\"_blank\">$1</a>", "<br />");
$log_data[message] = preg_replace( $pattern , $replaced, $log_data[message] );
?>
06656492007/07/22(日) 02:38:54ID:QvcmLLta
中身が表示されないのも当たり前でした^^

<?php
$pattern = array("|(http://[\%?=&;\~/\-\.\w]+)|", "<br>");
$replaced = array("<a href=\"$1\" target=\"_blank\">$1</a>", "<br />");
$log_data[message] = preg_replace( $pattern , $replaced, $log_data[message] );
print $log_data[message];
?>

と書いたら表示されたのですが、
br がなぜか <<br />> に変換されてしまいます。
0666nobodyさん2007/07/22(日) 02:39:44ID:???
print_r(), var_dump()

つーか、丸投げしすぎ
少しは調べてくれ
06676492007/07/22(日) 02:41:21ID:QvcmLLta
<?php
$pattern = array("|(http://[\%?=&;\~/\-\.\w]+)|", "|<br>|");
$replaced = array("<a href=\"$1\" target=\"_blank\">$1</a>", "<br />");
$log_data[message] = preg_replace( $pattern , $replaced, $log_data[message] );
print $log_data[message];
?>

これでできました!
||を忘れてました。
丸投げすみませんでした。
急いでたもので・・

おかげさまで思っていた事ができました。

ありがとうございました!
0668nobodyさん2007/07/22(日) 04:48:11ID:q/xgz08B
phpとしてパースさせるファイルの拡張子(.phpとか)って変えられるじゃないですか?

これをPHPスクリプトの中から取得する関数ってありますか?
0669nobodyさん2007/07/22(日) 05:32:27ID:???
>>668
_FILE
0670nobodyさん2007/07/22(日) 05:33:59ID:???
CLI用のphp.iniとモジュール用のphp.iniって別々なんですか?
0671nobodyさん2007/07/22(日) 05:37:51ID:???
最近、書いた文字を音声に変換してしゃべるソフトを購入したのですが、
女性の声にしてエロい言葉を喋らして大喜びしている俺って異常?
0672nobodyさん2007/07/22(日) 06:44:35ID:???
異常
0673nobodyさん2007/07/22(日) 07:30:52ID:???
あるディレクトリの下にfopenのwでファイルを作る/ファイルに書き込むときって
そのディレクトリのパーミッション777じゃないといかんの?
0674nobodyさん2007/07/22(日) 09:44:13ID:???
>>670
configureの時に決められると思うよどっちでもいけると思う
debianパッケージとかでは別々になってるね

>>673
そのディレクトリへの書き込み権限があれば大丈夫
0675nobodyさん2007/07/22(日) 09:57:54ID:???
>>670
同じのを読むようにもできるけど、
デフォルトではphp.iniをサーチする場所も順序も違うし
confの内容も適宜変えるのが普通なので、
別ファイルにしとく。
06766622007/07/22(日) 10:04:09ID:fPjwTOfp
お願いします
0677nobodyさん2007/07/22(日) 10:11:43ID:???
>>676
exit();

以上。
0678nobodyさん2007/07/22(日) 10:17:00ID:???
>>662
少なくともPHPはなにも実行してない。
なんかのバイト列に見えるから、バイナリファイルにしてfilemagicに食わせちゃどうだい。
0679nobodyさん2007/07/22(日) 10:17:09ID:fPjwTOfp
>>677

下の数字のコードは何を実行してるのでしょうか?
デコードも可能ですか?
0680nobodyさん2007/07/22(日) 10:21:46ID:???
>>678
ありがとうございます。
filemagicとはデコードするソフトなのでしょうか?
検索しましたが、いまいちよくわかりません。
0681nobodyさん2007/07/22(日) 11:25:12ID:UxMDVzWu
>>662
2進法で8桁、1バイトじゃね
0682nobodyさん2007/07/22(日) 13:45:18ID:KLJoHynC
>>679
これだけで何のデータかわかるやつがいれば神
どこからもってきたコードなのか晒せばもしかしたら分かる香具師がいるかもね
0683nobodyさん2007/07/22(日) 15:05:09ID:???
直接呼ばれないようにするための1行目って事か?
アプリはこれの1行目を読み捨てて使ってるんだろう。
何に使ってるかはこれを読み込んでるソース見ないとわがんね。
0684nobodyさん2007/07/22(日) 15:56:57ID:???
>>662
書き逃げか?
0685nobodyさん2007/07/22(日) 15:59:52ID:???
>>680
filemagicとは、バイナリファイルのマジックナンバー
(Linuxのバイナリだと頭にELFがつくとか、JPEGのヘッダとか)
からそのバイナリの種類を推測するもの。

そのバイト列のようなものを適当にパックして、fileコマンドの入力にしてやれば
なんのデータかあるいは実行ファイルかわかるかもしれん、ということ。
ていうか、バイナリの知識なさそうだから難しそうだね。

たぶん最も速いのはそのファイルの配布元に聞くか、
そのデータを処理するコードがあればそれを読む事だろう。
0686nobodyさん2007/07/22(日) 16:09:48ID:???
config.dat.phpでググルと出てくるみたいだね。
http://www.infos-du-net.com/forum/168994-21-php-binaire
で、ここと、おんなじ流れになってるのにワラッタ。
0687nobodyさん2007/07/22(日) 16:25:20ID:???
で、元スクリプトも発見(俺も暇だな)
ttp://www.stadtaus.com/en/php_scripts/gallery_script/
要するに有料スクリプトなんで、そこのキーをバイナリ処理してるところみたいだね。
0688nobodyさん2007/07/22(日) 16:36:01ID:q/xgz08B
クラス内にないメソッドを一括で処理するのに
public function __call($method,$args)
っていうのあるじゃないですか?

クラス内じゃない、スクリプトにじか書きしたfunctionで同じような事実現できないでしょうか?

つまり、まったく定義されてない関数hogeを読んだときを
Fatal error: Call to undefined function hoge() in 〜
と出さずに処理を続けたいのですが、可能ですか?

クラス定義の外に
function __call($method,$args)
ってやってみたけどだめでした。(まあ、そりゃダメだろうけど・・・)

呼び出す側でfunction_existsを使えば出来そうですが
呼び出す側がまったく手をつけられないので、呼ばれたときに処理できたらなあ、とおもいまして。

おねがいします。
0689nobodyさん2007/07/22(日) 16:43:59ID:???
名前を決めずに変数使う方法ないですか?
get_defined_vars()を使って、
現在のスコープの変数をゲットしたいのですが
その前の処理で、いらぬ変数を使ってしまうんです。
06906892007/07/22(日) 16:51:34ID:???
すみませんマ板と勘違いしました。
06916892007/07/22(日) 16:54:11ID:???
>>690
番号間違えてますよ
0692nobodyさん2007/07/22(日) 16:56:44ID:9tP3mK//
win + php + mysql4or5 で開発してる方に聞きたいです。
phpの文字コードとmysqlの文字コードを何に設定していますか?

今、phpをutf8、mysqlもutf8で作業してるんですが、mysqlに保存してる日本語データを
phpに表示すると???と化けてしまいます。
http://kawama.jp/archives/2006/03/phpskipcharacte.html
↑のページを参考に
[mysqld]
skip-character-set-client-handshake
として作業しても直らないんですが、どうしたらいいでしょう?
また、phpとmysqlの文字コードって統一する必要はないんでしょうか?
0693nobodyさん2007/07/22(日) 17:01:55ID:T1/ov9QC

ロリポップのPHPでファイル開いたり、書き込みしようと思ったら
こんなメッセージがでます。
どうすりゃいいんでしょ?

Warning: fgets(): supplied argument is not a valid stream resource in /home/sites/lolipop.jp/users/lolipop.j〜

0694nobodyさん2007/07/22(日) 17:05:03ID:T1/ov9QC
すいません
1時間くらい困ってたんだけど自己解決しました。
ファイルのパーミッション777にしたらokでした。

ぐぐったらどっかにパーミッション777ではダメで700にしなさい
と書いてあったのでそうしてたのに・・
0695nobodyさん2007/07/22(日) 17:17:01ID:???
>>689
$newvar = ランダムな文字列生成;
にして、${$newvar}すれば?
チェックはarray_key_exsitsつかって$newvarとget_defined_varsを比べればいい。
0696nobodyさん2007/07/22(日) 17:21:41ID:???
$zettai_chigau_namae[]とかいうのを一つつくっておいて、配列で全部処理するとか。
0697nobodyさん2007/07/22(日) 17:42:57ID:???
$chinpo_manko_zukozukoならまず被らないからおk
06986892007/07/22(日) 18:36:11ID:???
もっとわかりやすくソースを添付してください
0699nobodyさん2007/07/22(日) 18:38:55ID:???
>>698
生意気なこと言ってると、チンポ挿入するぞ!!!
0700nobodyさん2007/07/22(日) 18:38:58ID:???
IDを出せ。話はそれからだ
07016892007/07/22(日) 18:49:30ID:???
っんだと!このちんかす野郎!
0702nobodyさん2007/07/22(日) 19:16:00ID:B3eI7QnN
キハ65(キハ58)に乗ってこようと思いますが、エンジン直下の座席といえば、どの座席番号あたりになるのでしょうか?
(エンジン直下の座席だと迫力あると聞いたので。)
0703nobodyさん2007/07/22(日) 19:22:45ID:???
一番ベストなhtmlエスケープってどんなんですか?
0704nobodyさん2007/07/22(日) 19:28:27ID:???
一番ベストなhtmlエスケープとは、全て画像でHPを作ること。
0705nobodyさん2007/07/22(日) 19:32:17ID:???
その発想は無かったわ
0706nobodyさん2007/07/22(日) 19:58:06ID:???
画像も書き換えられることを勉強しましょう。安全ではありません
0707nobodyさん2007/07/22(日) 19:58:40ID:ynhTk9Bz
すみません、教えてください。
ファイル名は8文字を超えてもだいじょうぶでしょうか?
0708nobodyさん2007/07/22(日) 20:03:46ID:???
0709nobodyさん2007/07/22(日) 20:05:14ID:???
MS-DOSktkr
0710nobodyさん2007/07/22(日) 20:09:26ID:???
DOCTYPE宣言ってタグですか?
宣言だからタグじゃない?
0711nobodyさん2007/07/22(日) 20:15:48ID:???
もうやめな。ネタ仕込みが浅すぎる
0712nobodyさん2007/07/22(日) 20:18:36ID:???
DQNTYPE宣言してるやつがいるな
0713nobodyさん2007/07/22(日) 20:53:10ID:???
こんなスレを天皇陛下がご覧になったら、さぞお嘆きあそばすぞ。
俺たちは、天皇陛下の赤子であることを忘れるなよ。
0714nobodyさん2007/07/22(日) 21:01:34ID:???
まじで一番ベストなhtmlエスケープって何なんですか?
色んな種類が多すぎて分からないんですよ
ネタじゃないです
0715nobodyさん2007/07/22(日) 21:03:53ID:???
まずきさまは危険なものを知ることからだ。
話はそれからだ
0716nobodyさん2007/07/22(日) 21:11:10ID:ynhTk9Bz
掲示板スクリプトにテーブルタグ使うのってありですか?
なんか汚いような機がするんですが・・・
0717nobodyさん2007/07/22(日) 21:14:05ID:???
>>714
htmlspecialchars($str, ENT_QUOTES, 'UTF-8');
第3引数は使ってる文字コードに合わせる、無しでもいいが
あとこれをベタ書きするんじゃなくて第2,3引数を
一括で変えられるようにしておいて
ラップしたメソッドか関数を用意して使うといい
0718nobodyさん2007/07/22(日) 21:18:57ID:???
>>715
一応知っていますよ
知らない人はhtmlエスケープすら知らないはずです
ただ種類が多すぎるのです
>>717
ありがとうございました
0719nobodyさん2007/07/22(日) 21:45:58ID:???
オブジェクト指向でCSSを組み立てたいんですが
そういうモジュールみたいのありますか?
0720nobodyさん2007/07/22(日) 21:48:50ID:???
オブジェクト指向のCSSなんてあるの?
0721nobodyさん2007/07/22(日) 22:00:23ID:???
そんなのないですよ。
組み立て時のみオブジェクト指向にして

$object->setWidth(100);
$object->setHeight(100);
$cssCode = $object->getCode();

みたいなことしたいんです
0722nobodyさん2007/07/22(日) 22:07:19ID:???
変わったことしようと思うんだね。
使い道なさそうなものはたぶんないよ。
0723nobodyさん2007/07/22(日) 22:07:21ID:???
>>721
W3Cに違反しているから、文法的に解釈できるブラウザなんてないでしょ。
ネタ?
0724nobodyさん2007/07/22(日) 22:15:41ID:???
CSSを吐き出すんだべ
0725nobodyさん2007/07/22(日) 22:18:26ID:???
>>721
PEAR HTML_CSS
http://pear.php.net/package/HTML_CSS
ただおまえの求めてるAPIの感じではないかもしれないが
0726nobodyさん2007/07/22(日) 22:30:01ID:???
>>724
そうです
>>725
WOW! ありがとうございます
0727nobodyさん2007/07/22(日) 22:59:30ID:e5knIosI
PHP厨の底力みせてくれや
http://www.jienq.com/vote/htm/1185110565.html
0728nobodyさん2007/07/22(日) 23:10:21ID:???
>>727
宣伝厨は帰れ
0729nobodyさん2007/07/22(日) 23:21:25ID:???
>>726
で実際どういう事に使おうと思ってんの?
考えられるっていや初心者でもそこそこ簡単にcssを設定できるブログサービスくらいか・・・
ただわざわざ探してどんなんだか分かんないライブラリ使う意味ないし
どうしてもオブジェクト指向でやりたいっていっても
プロパティ設定して吐き出す程度の機能だったら
調べながら使うより自分で書いた方が早そうだ
0730nobodyさん2007/07/22(日) 23:24:20ID:???
>>727
そこら中に宣伝してるんだろうが1時間たっても誰も投票してなくてワロタ
0731nobodyさん2007/07/22(日) 23:26:46ID:???
配色が7年前ぐらいのやつに投稿しようとは思わないわ
0732nobodyさん2007/07/23(月) 00:01:42ID:???
投票したのだれだよw
0733nobodyさん2007/07/23(月) 00:29:37ID:???
>>727
投票しといたぞ
ちんぽ語に
0734nobodyさん2007/07/23(月) 01:45:37ID:???
流れをとぎって悪いんだが、import_request_variables って
何に使うの? これ使うとregister_globals=Off は無意味に
なるとかないの?
0735nobodyさん2007/07/23(月) 01:56:39ID:???
>>731
配色7年前バロスww
0736nobodyさん2007/07/23(月) 02:04:19ID:mtYZQPso
>>734

>>1
0737nobodyさん2007/07/23(月) 02:32:31ID:Q/UfUVNm
文字列の加工処理しているのですが、「〜」と「〜」の違いって何でしょうか?
同じ字形なのですが、str_系の関数もmb_系の関数も一致しないのですが・・
07387342007/07/23(月) 03:16:15ID:???
>>736

いや、マニュアル読んでも使い道が分からないんだよ。
register_globals = Off のときにGET値やPOST値をグローバル
にする意味が。
0739nobodyさん2007/07/23(月) 03:21:34ID:Q/UfUVNm
>>738
グローバル変数は、ユーザーが意図しない変数を入れてきて、
プログラムの誤作動、セキュリティーの脆弱性を高めることに繋がるので、
基本的にOFFにしておくという意味。
0740nobodyさん2007/07/23(月) 03:27:35ID:???
質問するときは言葉遣いにきをつけような
0741nobodyさん2007/07/23(月) 05:15:02ID:???
回答するときもな
0742nobodyさん2007/07/23(月) 05:49:07ID:FkQfGydc
おい、なんでこのスレの連中がインターンスレ見てるのよ
はやく答えろ
0743nobodyさん2007/07/23(月) 09:59:03ID:x2hGpWhd
プロパティーのリストを渡したら
クラスのsetterやgetterを自動生成してくれるようなライブラリ知りませんか?
0744nobodyさん2007/07/23(月) 10:15:03ID:m6GTZoUq
改行なしに入力されてしまった
textareaのテキストを一定間隔で\nしたいのですが
mb_chunk_split的な関数はないですよね?

あああああああ\nいいいいいいいいい\n
0745nobodyさん2007/07/23(月) 10:16:42ID:m6GTZoUq
つwordwrap()

本当にありがとうございました
0746nobodyさん2007/07/23(月) 11:35:32ID:g+EySz3/
上の方の応用で

20文字ごとに\nを入れるとして
日本語は1文字カウント、英字は2文字で1字カウントで挿入するとして
スマートなループはあるでしょうか?

0747nobodyさん2007/07/23(月) 11:57:31ID:???
まず貴様が文字コードsjisなのかeucなのかutf8なのかにもよる。
それを書いてからに白。
話はそれからだ
0748nobodyさん2007/07/23(月) 13:33:46ID:LAzhk+Ka
PHPでセッションを使うときにURLにセッションIDを付加しています。
(携帯サイトで使用している為)

会員ページでは全てのページに会員の名前を表示したいのですが、
ログインのときにIDとパスワードから名前を取得してセッションに格納するべきか、
全ページでDBにアクセスして名前を取得するか迷っています。

皆さんはどちらの方法でしていますか。
またほかに何か方法はありますでしょうか。

アドバイス頂けたらと思います。
宜しくお願い致します。
0749nobodyさん2007/07/23(月) 13:35:33ID:???
>>746
英字3文字日本語1文字のような文字列はどうするよ?
「テストabcあ」とか
0750nobodyさん2007/07/23(月) 13:36:54ID:???
まぁPHPの板だからここで聞くのは変かもしれないが

amachangってどう思うよお前等?
俺はぶっちゃけ嫌いなんだよね…
CSS Niteの1件といいね
07517462007/07/23(月) 13:39:21ID:g+EySz3/
とりあえずこんな風にしてみました

//半角幅折り返し
function mb_chunksplit($value,$br = 20) {
global $action;
if($action == "post") {
$loop = mb_strlen($value,DEF_HTTP_ENC); //マルチバイト文字数
for($i=0; $i < $loop; $i++) {
$wk = mb_substr($value,$i,1,DEF_HTTP_ENC); //一文字ずつ取得
//指定バイト幅で改行
if($line_count >= $br) {
$line .= "\n";
$line_count = 0;
}
$line_count += mb_strwidth($wk);
$line .= $wk;
}
}else{
$line = $value;
}
return $line;
}
0752nobodyさん2007/07/23(月) 14:14:00ID:???
じゃあそうすれば
■ このスレッドは過去ログ倉庫に格納されています