【PHP】下らねぇ質問はここに書き込みやがれ 50
■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん
2007/07/11(水) 17:50:01ID:fYd+34USPHPで最良の教本はこの公式マニュアル。市販の書籍は嘘が多いので鵜呑みにしない。
過去スレ、関連スレ、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カテゴリ)の各スレで
0671nobodyさん
2007/07/22(日) 05:37:51ID:???女性の声にしてエロい言葉を喋らして大喜びしている俺って異常?
0672nobodyさん
2007/07/22(日) 06:44:35ID:???0673nobodyさん
2007/07/22(日) 07:30:52ID:???そのディレクトリのパーミッション777じゃないといかんの?
0674nobodyさん
2007/07/22(日) 09:44:13ID:???configureの時に決められると思うよどっちでもいけると思う
debianパッケージとかでは別々になってるね
>>673
そのディレクトリへの書き込み権限があれば大丈夫
0675nobodyさん
2007/07/22(日) 09:57:54ID:???同じのを読むようにもできるけど、
デフォルトではphp.iniをサーチする場所も順序も違うし
confの内容も適宜変えるのが普通なので、
別ファイルにしとく。
0676662
2007/07/22(日) 10:04:09ID:fPjwTOfp0678nobodyさん
2007/07/22(日) 10:17:00ID:???少なくともPHPはなにも実行してない。
なんかのバイト列に見えるから、バイナリファイルにしてfilemagicに食わせちゃどうだい。
0679nobodyさん
2007/07/22(日) 10:17:09ID:fPjwTOfp下の数字のコードは何を実行してるのでしょうか?
デコードも可能ですか?
0680nobodyさん
2007/07/22(日) 10:21:46ID:???ありがとうございます。
filemagicとはデコードするソフトなのでしょうか?
検索しましたが、いまいちよくわかりません。
0681nobodyさん
2007/07/22(日) 11:25:12ID:UxMDVzWu2進法で8桁、1バイトじゃね
0682nobodyさん
2007/07/22(日) 13:45:18ID:KLJoHynCこれだけで何のデータかわかるやつがいれば神
どこからもってきたコードなのか晒せばもしかしたら分かる香具師がいるかもね
0683nobodyさん
2007/07/22(日) 15:05:09ID:???アプリはこれの1行目を読み捨てて使ってるんだろう。
何に使ってるかはこれを読み込んでるソース見ないとわがんね。
0685nobodyさん
2007/07/22(日) 15:59:52ID:???filemagicとは、バイナリファイルのマジックナンバー
(Linuxのバイナリだと頭にELFがつくとか、JPEGのヘッダとか)
からそのバイナリの種類を推測するもの。
そのバイト列のようなものを適当にパックして、fileコマンドの入力にしてやれば
なんのデータかあるいは実行ファイルかわかるかもしれん、ということ。
ていうか、バイナリの知識なさそうだから難しそうだね。
たぶん最も速いのはそのファイルの配布元に聞くか、
そのデータを処理するコードがあればそれを読む事だろう。
0686nobodyさん
2007/07/22(日) 16:09:48ID:???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/xgz08Bpublic 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()を使って、
現在のスコープの変数をゲットしたいのですが
その前の処理で、いらぬ変数を使ってしまうんです。
0690689
2007/07/22(日) 16:51:34ID:???0692nobodyさん
2007/07/22(日) 16:56:44ID:9tP3mK//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/ov9QC1時間くらい困ってたんだけど自己解決しました。
ファイルのパーミッション777にしたらokでした。
ぐぐったらどっかにパーミッション777ではダメで700にしなさい
と書いてあったのでそうしてたのに・・
0695nobodyさん
2007/07/22(日) 17:17:01ID:???$newvar = ランダムな文字列生成;
にして、${$newvar}すれば?
チェックはarray_key_exsitsつかって$newvarとget_defined_varsを比べればいい。
0696nobodyさん
2007/07/22(日) 17:21:41ID:???0697nobodyさん
2007/07/22(日) 17:42:57ID:???0698689
2007/07/22(日) 18:36:11ID:???0700nobodyさん
2007/07/22(日) 18:38:58ID:???0701689
2007/07/22(日) 18:49:30ID:???0702nobodyさん
2007/07/22(日) 19:16:00ID:B3eI7QnN(エンジン直下の座席だと迫力あると聞いたので。)
0703nobodyさん
2007/07/22(日) 19:22:45ID:???0704nobodyさん
2007/07/22(日) 19:28:27ID:???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:???0710nobodyさん
2007/07/22(日) 20:09:26ID:???宣言だからタグじゃない?
0711nobodyさん
2007/07/22(日) 20:15:48ID:???0712nobodyさん
2007/07/22(日) 20:18:36ID:???0713nobodyさん
2007/07/22(日) 20:53:10ID:???俺たちは、天皇陛下の赤子であることを忘れるなよ。
0714nobodyさん
2007/07/22(日) 21:01:34ID:???色んな種類が多すぎて分からないんですよ
ネタじゃないです
0715nobodyさん
2007/07/22(日) 21:03:53ID:???話はそれからだ
0716nobodyさん
2007/07/22(日) 21:11:10ID:ynhTk9Bzなんか汚いような機がするんですが・・・
0717nobodyさん
2007/07/22(日) 21:14:05ID:???htmlspecialchars($str, ENT_QUOTES, 'UTF-8');
第3引数は使ってる文字コードに合わせる、無しでもいいが
あとこれをベタ書きするんじゃなくて第2,3引数を
一括で変えられるようにしておいて
ラップしたメソッドか関数を用意して使うといい
0718nobodyさん
2007/07/22(日) 21:18:57ID:???一応知っていますよ
知らない人はhtmlエスケープすら知らないはずです
ただ種類が多すぎるのです
>>717
ありがとうございました
0719nobodyさん
2007/07/22(日) 21:45:58ID:???そういうモジュールみたいのありますか?
0720nobodyさん
2007/07/22(日) 21:48:50ID:???0721nobodyさん
2007/07/22(日) 22:00:23ID:???組み立て時のみオブジェクト指向にして
$object->setWidth(100);
$object->setHeight(100);
$cssCode = $object->getCode();
みたいなことしたいんです
0722nobodyさん
2007/07/22(日) 22:07:19ID:???使い道なさそうなものはたぶんないよ。
0724nobodyさん
2007/07/22(日) 22:15:41ID:???0725nobodyさん
2007/07/22(日) 22:18:26ID:???PEAR HTML_CSS
http://pear.php.net/package/HTML_CSS
ただおまえの求めてるAPIの感じではないかもしれないが
0727nobodyさん
2007/07/22(日) 22:59:30ID:e5knIosIhttp://www.jienq.com/vote/htm/1185110565.html
0729nobodyさん
2007/07/22(日) 23:21:25ID:???で実際どういう事に使おうと思ってんの?
考えられるっていや初心者でもそこそこ簡単にcssを設定できるブログサービスくらいか・・・
ただわざわざ探してどんなんだか分かんないライブラリ使う意味ないし
どうしてもオブジェクト指向でやりたいっていっても
プロパティ設定して吐き出す程度の機能だったら
調べながら使うより自分で書いた方が早そうだ
0731nobodyさん
2007/07/22(日) 23:26:46ID:???0732nobodyさん
2007/07/23(月) 00:01:42ID:???0734nobodyさん
2007/07/23(月) 01:45:37ID:???何に使うの? これ使うとregister_globals=Off は無意味に
なるとかないの?
0737nobodyさん
2007/07/23(月) 02:32:31ID:Q/UfUVNm同じ字形なのですが、str_系の関数もmb_系の関数も一致しないのですが・・
0738734
2007/07/23(月) 03:16:15ID:???いや、マニュアル読んでも使い道が分からないんだよ。
register_globals = Off のときにGET値やPOST値をグローバル
にする意味が。
0739nobodyさん
2007/07/23(月) 03:21:34ID:Q/UfUVNmグローバル変数は、ユーザーが意図しない変数を入れてきて、
プログラムの誤作動、セキュリティーの脆弱性を高めることに繋がるので、
基本的に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:m6GTZoUqtextareaのテキストを一定間隔で\nしたいのですが
mb_chunk_split的な関数はないですよね?
あああああああ\nいいいいいいいいい\n
0745nobodyさん
2007/07/23(月) 10:16:42ID:m6GTZoUq本当にありがとうございました
0746nobodyさん
2007/07/23(月) 11:35:32ID:g+EySz3/20文字ごとに\nを入れるとして
日本語は1文字カウント、英字は2文字で1字カウントで挿入するとして
スマートなループはあるでしょうか?
0747nobodyさん
2007/07/23(月) 11:57:31ID:???それを書いてからに白。
話はそれからだ
0748nobodyさん
2007/07/23(月) 13:33:46ID:LAzhk+Ka(携帯サイトで使用している為)
会員ページでは全てのページに会員の名前を表示したいのですが、
ログインのときにIDとパスワードから名前を取得してセッションに格納するべきか、
全ページでDBにアクセスして名前を取得するか迷っています。
皆さんはどちらの方法でしていますか。
またほかに何か方法はありますでしょうか。
アドバイス頂けたらと思います。
宜しくお願い致します。
0750nobodyさん
2007/07/23(月) 13:36:54ID:???amachangってどう思うよお前等?
俺はぶっちゃけ嫌いなんだよね…
CSS Niteの1件といいね
0751746
2007/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:???0753nobodyさん
2007/07/23(月) 15:28:23ID:???$count = 1;
$addr = "000.000.000.000"
↑のデータをファイルとクライアントから取得したと仮定
↓やりたいのはここから
chomp($count);
$count ++;
$hoge[0] = "$count"."\t"."gmt";
push (@hoge,$addr);
open (OUT,">data.txt");
foreach (@hoge) {
print OUT "$_\n";
}
close OUT;
作りたいのは簡単なアクセスカウンターです
ファイルから読み込みデータを配列に格納することはできたのですが、
カウントアップから複数行の書き出しのところで躓いてます。
0754nobodyさん
2007/07/23(月) 15:33:24ID:???とりあえず>>1嫁
今日から夏休みなんだよなぁ・・・
厨が増えそうで怖い・・ってか流れからしてもう増えてるな
0755753
2007/07/23(月) 16:24:58ID:???perlスレにいくからごめんな
0756nobodyさん
2007/07/23(月) 18:10:40ID:???とりあえず>>1嫁
今日から夏休みなんだよなぁ・・・
厨が増えそうで怖い・・ってか流れからしてもう増えてるな
0757692
2007/07/23(月) 18:13:09ID:6p0coLtT>win + php + mysql4or5 で開発してる方に聞きたいです。
>phpの文字コードとmysqlの文字コードを何に設定していますか?
>また、phpとmysqlの文字コードって統一する必要はないんでしょうか?
0758753
2007/07/23(月) 18:34:20ID:???ここでやっぱり聞きます。
おしえてください。よろしくたのんます。
0759nobodyさん
2007/07/23(月) 19:09:19ID:???とりあえず>>1嫁
今日から夏休みなんだよなぁ・・・
厨が増えそうで怖い・・ってか流れからしてもう増えてるな
0760nobodyさん
2007/07/23(月) 19:14:50ID:6p0coLtT>厨が増えそうで怖い
お前も似たようなもんだろが
0761nobodyさん
2007/07/23(月) 19:29:18ID:???chompはtrimかrtrim
PHPの関数は基本的に値渡しなのでtrim($count)だけではだめ
$count = trim($count);
のように戻り値を受け取らないといけない
pushはarray_pushがあるけどそもそも配列使う必要ないよ
$count = trim($count);
$fp = fopen("data.txt", "w");
fwrite($fp, $count . "\t". "gmt" . "\n" . $addr . "\n");
fclose($fp);
0762nobodyさん
2007/07/23(月) 19:47:12ID:???俺の場合はlinux - php5 - mysql5だけど
utf8が通らないなんてあり得ないので、必ずどこかで設定ミスしてわけわからん事になっているはず。
一通りまとめられている解説サイトでも見ながら(自分にあったものを検索汁 :あとはスレの >>1 のリンクとか)
「一つずつ」 順を追って確認しながら作業してみ。
確認箇所
・php.ini
・my.cnf
・DB
・ソース内のFORMのPOST部分のソース
・ソース内のinsert部分
そもそも
mysql> SHOW VARIABLES LIKE 'character\_set\_%';
でちゃんとutf8になっているか?
0764757
2007/07/23(月) 21:23:42ID:6p0coLtTありがとうございます いろんなサイトをもう3日見てまわってます
文字コードの設定は
mysqlは
+--------------------------+-------+
| character_set_client | utf8 |
| character_set_connection | utf8 |
| character_set_database | utf8 |
| character_set_results | utf8 |
| character_set_server | utf8 |
| character_set_system | utf8 |
+--------------------------+-------+
PHPは
mbstring.http_output UTF-8 UTF-8
mbstring.internal_encoding UTF-8 UTF-8
となっています。
また、mysqlにcmdからinsert文で日本語のデータを入れて、
それをPHPで表示するとやっぱり化けています。
つまり、少なくともPHP→mysqlの登録部分でのエラーではないみたいですが…
なにが悪いんだろう
0765nobodyさん
2007/07/23(月) 21:51:49ID:???cmd周りは、詳しくないが、
windowsの、コマンドプロンプトって、デフォルトが SJISだから、
それで日本語つっこむと、SJISの日本語がそのまま入ってしまうんじゃ? ([client]default-character-SET=utf8 の場合)
cmd上で、
chcp 65001 ってすると UTF-8になるけど、日本語がこの状態で正しくつっこめるかどうかはしらん
とりあえず、
hoge.php と適当なファイルをUTF-8作って、 埋め込みで
$a = "日本語";
//$aのinsert文実行
//select文実行
echo [selectしたデータ]
みたいな感じの処理を書いてみてブラウザで表示してみれば?(ブラウザのエンコード自動判定も、右クリックでUTF-8に変更する)
0766nobodyさん
2007/07/23(月) 22:09:21ID:???mysql_query('set character set utf8');
で全て解決する。
0767757
2007/07/23(月) 22:56:30ID:6p0coLtTありがとうございます
試しに登録側のPHPを以下にしたらうまくいきました
<?php
extract($_POST);
$db=mysql_connect('localhost','root','pw');
mysql_select_db('peartest');
mysql_query("SET CHARACTER SET utf8");//この行を追加
if($name != ""){
$sql = "insert into dbtest values(0,'$name')";
mysql_query($sql);
}
?>
自分は、mysql_query("SET CHARACTER SET utf8");は読み取り側にすべき機能なのかと
思っていたんですが、送り側にもするものなんですね(>>766さんもそうなんですか?)
これは、「これから送るデータはutf8で保存しろ」という命令と考えていいんでしょうか?
そうすると結局全てのPHPスクリプトに書き込まなきゃいけなくなりそうですが、、
その「全部にイチイチ書く」のを避けるために my.iniにskip-character-set-client-handshakeを
指定するといろんなサイトに書いてあったのに、そのやり方じゃうまくいきませんでした。。
なんでだろ、もういいかなぁ…
0768nobodyさん
2007/07/24(火) 00:01:05ID:???0769nobodyさん
2007/07/24(火) 00:02:08ID:N6M16q3qApache 2.2.4、MySQL 5.0.41、PHP 5.2.2を使用しています。
以下のものを、掲示板のトップページにfunction dispTitleList($pid)
という関数を使って、ツリー表示をしたいと思っています。
改善点を教えていただけませんでしょうか。お願いいたします。
0770769
2007/07/24(火) 00:03:10ID:N6M16q3q// DBへ接続
$con = mysql_connect('localhost','root','')
or die('Cannot connect<br>');
mysql_select_db('cdcol') or die('Cannot select<br>');
// titelとidの一覧を取得
$query = "select titel,id from cds";
$result = mysql_query($query);
if (!$result) {
$mes = 'Error : ' . mysql_error() . "<brn";
$mes .= 'Whole query : ' . $query;
die($mes);
}
// titelを一覧表示しつつ、それをidを渡すリンクタグで囲む
echo "<ul>\n";
while ($data = mysql_fetch_assoc($result)) {
// リンクタグを出力
echo "<li><a href='cdcol_desc.php?cdid=".$data['id']."'>";
// titelを表示
echo $data['titel'];
// リンクタグを閉じる
echo "</a>\n";
}
echo "</ul>\n";
mysql_close($con);
?>
0771nobodyさん
2007/07/24(火) 00:10:39ID:VTvHCDnMいます。
preg_match($pattern, $string)でパターンマッチした後で、$string中で
「パターンに一致した前の部分」「パターンに一致した後の部分」を取り出す
一番簡単な方法は何になるでしょうか?
■ このスレッドは過去ログ倉庫に格納されています