【PHP】下らねぇ質問はID出して書き込みやがれ 91
レス数が1000を超えています。これ以上書き込みはできません。
0001nobodyさん
2009/12/08(火) 13:53:09ID:???過去スレ、関連スレ、FAQなどは>>2-10辺り
次スレは>>980が立てる。10分以内に立たない場合、宣言してから立てたい人が立てること。
◆前スレ
【PHP】下らねぇ質問はID出して書き込みやがれ 90
http://pc11.2ch.net/test/read.cgi/php/1258187482/
◆質問用テンプレ
【OS名】vine linux
【PHPのバージョン】php5.26
【連携ソフトウェア】mysql
【質問内容】
◆質問する時の注意
・ スレを上げて自分のIDを表示させること。(メール欄に何も記述しない。専ブラのsageチェックを外す)
・ 己の行った操作、変更などを詳しく明記すること。
・ エラーメッセージはそのまま表記すること。「エラーが出ます」だけでは回答不可。
・ 質問者として、態度をわきまえること。
・ 事前に関連リンクの公式マニュアル、リファレンス本くらいはちゃんと目を通しておくこと。
(PHPで最良の教本はこの公式マニュアル。市販の書籍は嘘が多いので鵜呑みにしない。)
◆質問後の注意
・2回目以降は最初に質問した際のレス番号を入れて、偽者防止に必ずIDを表示させること。
・解決しなくても回答をもらった場合はお礼を言うこと。
(荒らし、煽りは除く。煽られたときも、無闇に反論せずスルーすること。)
◆回答者への注意
・誰にレスしているのか分からないと困るので、>>(アンカー)をつけて回答すること。
【その他諸注意】
・SQL・正規表現・PEAR・テンプレート(Smarty等)・フレームワークは各該当スレへ
0924nobodyさん
2010/01/07(木) 12:07:37ID:???0925nobodyさん
2010/01/07(木) 12:08:07ID:???>売る側として、Mysql使ったサイト作って企業に売ったとして、そのサイトのソースは
>売る側が公開する必要ない
って文に
>Mysql使ったものを販売出来ないわけでもないのに。
がかかっているから変ではないのと
GPL汚染されてても良いならGPLのライセンスの物は売っても良いんだよ。
0926nobodyさん
2010/01/07(木) 12:10:12ID:???0927nobodyさん
2010/01/07(木) 12:11:55ID:???OK。そのかわりGPL汚染され続けるけどね。
良い例がRHELとCentOSの関係みたいな。
RHELは商用でとして販売。しかし元々GPLの部分はソース公開。
で、それを利用されて無料のCentOSができる。
ちょっと昔なんてRHLをベースに無料どころか商用としてTurboLinuxやVIneLinuxなどなど派生も開発されて販売されていた。
0928nobodyさん
2010/01/07(木) 12:13:07ID:???IDはだせるげとIP出せないだろ。
DOS攻撃
それとこのご時世IPなんてだしたら逆恨みでDOS攻撃してくるぞ。
0929nobodyさん
2010/01/07(木) 12:28:48ID:asUehzW7これを文字列に変換するには、どのように実装すれば宜しいでしょうか?
例えば、
56E0→因
というような変換です。
bin2hexは使えそうだと思ったのですが、むしろ逆の処理で、実装の方法が分からず困っています。
どうかお力をお貸しください。
宜しくお願いします。
0930nobodyさん
2010/01/07(木) 12:41:56ID:???0931nobodyさん
2010/01/07(木) 12:42:21ID:???0932nobodyさん
2010/01/07(木) 12:44:19ID:???http://www.s-style.co.jp/mysql/chart/index.html
0934nobodyさん
2010/01/07(木) 13:31:38ID:???ビッグエンディアンのUTF-16として
pack("H*","56E0");
utf-8で出力するなら
echo mb_convert_encoding( pack("H*","56E0"),"utf-8","unicode");
0935nobodyさん
2010/01/07(木) 13:32:47ID:???ユニコードなら普通UTF8じゃない
0936nobodyさん
2010/01/07(木) 13:33:26ID:???0937nobodyさん
2010/01/07(木) 13:36:19ID:vUzUYJKW0938nobodyさん
2010/01/07(木) 13:39:06ID:???0939nobodyさん
2010/01/07(木) 14:05:36ID:asUehzW7当環境でやってみたところ、出来ました。助かりました。
それで、UNICODEのやり方が分かれば、JISコードについても同じ要領できるかと思って、
以下のようにやってみたのですが、上手くできませんでした。
$covertedChar = pack("C", hexdec("0x"."304B"));
echo mb_convert_encoding($covertedChar, "utf-8", "JIS");
ちなみに、JISコード・十六進コード「304B」は「伊」に該当するそうなのですが。
phpマニュアルを見ながら、Cの所をC*やH*でやってみたのですが、駄目でした。
すみません、最初に全て出せば良かったのですが、追加でお聞きしても宜しいでしょうか。
これで最後です。宜しくお願いします。
0940nobodyさん
2010/01/07(木) 14:07:24ID:asUehzW7$covertedChar = pack("C*","2F28");
echo mb_convert_encoding($covertedChar, "utf-8", "JIS");
0941nobodyさん
2010/01/07(木) 14:08:37ID:???0942nobodyさん
2010/01/07(木) 14:12:04ID:???0943nobodyさん
2010/01/07(木) 15:09:42ID:BSk80e6a999→1000 ならtrue
999→291ならfalse
10→101ならtrueみたい・・
0944nobodyさん
2010/01/07(木) 15:19:01ID:???(int)log10(999) != (int)log10(1000) とか
strlen((string)999) != strlen((string)1000) でもいいかも知れん
0945nobodyさん
2010/01/07(木) 15:25:11ID:???文字列に変換して文字列長が同じかどうかを見る
0946nobodyさん
2010/01/07(木) 15:25:55ID:???0947nobodyさん
2010/01/07(木) 15:40:54ID:???0948nobodyさん
2010/01/07(木) 16:23:48ID:???0949nobodyさん
2010/01/07(木) 17:09:53ID:go7wFoTk自分の場合はeregを使っているんですが、eregでは全角カタカナやひらがな等は使えないのでしょうか?
解決方法があれば教えてください。
ちなみに、エラーのでている行は
if(eregi($type,$datafile[4]))
で、
$type="メーカー";
や
$type="サービス";
となる時にエラーがでてしまいます。
0950nobodyさん
2010/01/07(木) 17:21:24ID:???0951nobodyさん
2010/01/07(木) 17:56:32ID:LXzPFyV8サーバ管理の権限はありません。
プログラム中で変更とかできないでしょうか?
0952nobodyさん
2010/01/07(木) 18:06:19ID:LXzPFyV8でした。事故レス。
0953nobodyさん
2010/01/07(木) 18:59:51ID:???0954nobodyさん
2010/01/07(木) 19:17:59ID:???0955nobodyさん
2010/01/07(木) 19:30:27ID:AjaMrx7gこの連立方程式をPHPで解くコードを教えてください
0956nobodyさん
2010/01/07(木) 19:56:03ID:???0957nobodyさん
2010/01/07(木) 20:33:47ID:???0958nobodyさん
2010/01/07(木) 20:34:09ID:5cb0Qm+/30からランダムに順々に重複しない数を取り出したいです。
考えたのが、
例えば最初に5を取り出したとき、5をストック。次に
ストックを検索してかぶらない数字12を取り出してストック、ストック(5, 12)を検索して・・
という感じでやろうとしたのですが、無駄が多いように思えるのです。
何か他に効率のよい方法はありませんでしょうかアドバイスよろしくお願いします。
0959nobodyさん
2010/01/07(木) 20:39:27ID:???ここにそのまま使えそうな例がある。
http://www.php.net/manual/ja/function.shuffle.php
0961nobodyさん
2010/01/07(木) 21:24:45ID:5cb0Qm+/とりあえずはやりたいことがシンプルにかけました
ありがとうございました
0962nobodyさん
2010/01/07(木) 21:30:53ID:???シャッフルのアルゴリズムはmediawikiで探すと見つかる
0963nobodyさん
2010/01/07(木) 23:49:38ID:0Znmv5GU$array = array();
for($a = 1; $a < 31; $a++) {
$num = rand(1,30);
if ( in_array($num, $array) ) {
$a = $a - 1;
continue;
}
$array[] = $num;
}
foreach( $array as $value ){
echo $value."<br />\n";
}
echo count($array);
?>
これじゃだめ?wwwww
0964nobodyさん
2010/01/08(金) 00:26:11ID:???0965nobodyさん
2010/01/08(金) 09:16:40ID:???do {
r = min + genrand_int31() % (max - min + 1);
} while(result.find(r) != result.end());
result.insert(r);
}
return result;
}
0966nobodyさん
2010/01/08(金) 09:48:35ID:???PHPの中でどうやって混ぜてるか見たけど(array.c)
配列の全要素を、乱数で他の要素と入れ替えてるね。
mediawikiは???
0967nobodyさん
2010/01/08(金) 11:01:32ID:???0968949
2010/01/08(金) 15:52:11ID:FfxTGFawレスありがとうございます。
eregではなくmb_strposにかえたところ、エラーは消えました。
(エラーの原因は − だったようです。)
ところが、今度はまた別の問題が生じました。
mb_strrpos("$datafile[0]","$keyword")
のように、テキストファイルから特定の文字列を探しているのですが、これがうまくいきません。
$datafile[0]と$keywordが同じ文字列でも結果が同じと判定してくれません。(これはprintを使い確かめました)
言葉ではうまく説明できないので、簡単な例をのせてみます。
解決方法をご存知の方いましたら、レスお願いします。
例
if(mb_strpos($datafile[0],$keyword)!=0){
print("ok");
}else{
print $datafile[0].<BR>;
print $keyword;
}
これで実行しても
漢字 カタカナ ひらがな
漢字
という具合に表示されてしまいます。
(ちなみに、検索語句、検索対象が英字の時はokと表示されます)
0969940
2010/01/08(金) 15:58:56ID:3B7A809H> JISはシフトインアウトがあるからな
お返事ありがとうございます。
シフトインアウトについては、よく理解できないのですが、unicodeのように簡単には実装できないということでしょうか。
辞書には、UNICODEとJISコードが書かれているので、両方対応できるようにしたいのですが、
やはり、JISコードを変換して漢字にするのは難しいでしょうか。
0970nobodyさん
2010/01/08(金) 16:37:58ID:???mb_strposは0を返す場合もあるから !=0 じゃダメなんじゃね?
存在しない場合はFALSEが返ってくるから !==falseとかにする
あとは文字コードとか
0972nobodyさん
2010/01/08(金) 17:23:28ID:FfxTGFaw確かにそうですね。直しておきます。
現在文字コードはShift_JISですがそれだと問題あるのでしょうか・・・?
0973nobodyさん
2010/01/08(金) 19:45:03ID:95a5JUsZ書き出したファイルの内容と新しく自身が吐いたソースの比較はどうすればできますか?
宜しくおねがいします。
0974nobodyさん
2010/01/08(金) 19:46:56ID:???0975nobodyさん
2010/01/08(金) 19:50:38ID:???>>974のように文字列同士の比較で一致するかでいいと思うけど
それだとコストが大きいので書き出す時にmd5ハッシュを保存しておいて比較した方がいいと思う
更新日時の比較がベストだけど
0976nobodyさん
2010/01/08(金) 19:51:38ID:???0977nobodyさん
2010/01/08(金) 20:09:53ID:???0978973
2010/01/08(金) 20:17:42ID:95a5JUsZありがとうございます。
説明が曖昧でした。申し訳ありません。
最終的にPHPで同じテキストファイル(かhtmlファイル)
に上書きするんですが、
今回上書きされる内容と、前回上書きした内容が
一致するか比較したいです。
PHPのソースが上書きする前の処理として、例えば
前回と比較→一致なら0,不一致なら1→最終的に上書きはする
という感じのことを行いたいです。
0979nobodyさん
2010/01/08(金) 20:35:45ID:???#テストしてないけど
function f($filename, $contents='')
{
$old_contents = file_get_contents($filename);
file_put_contents($filename, $contents);
return $old_contents === $contents ? 0 : 1;
}
0982nobodyさん
2010/01/08(金) 21:29:49ID:???0983973
2010/01/08(金) 22:26:22ID:95a5JUsZ少し弄りましたができたと思います。
ありがとうございます。
0985nobodyさん
2010/01/09(土) 11:54:57ID:???フレームワークレベルで多国語対応しているのってある?
言語リソースを完全に分離しているイメージで
0986nobodyさん
2010/01/09(土) 12:17:19ID:???日本語のファイル読み込み
} else {
英語のファイル読み込み
}
じゃだめ?
0989nobodyさん
2010/01/09(土) 17:16:53ID:g7iSaAwT0990nobodyさん
2010/01/09(土) 17:21:14ID:???0991nobodyさん
2010/01/09(土) 17:30:39ID:lsb/cZ9k<?php
if(isset($argv) == true){
echo "コマンドラインから実行されました";
}
?>
http://jp2.php.net/manual/ja/reserved.variables.argv.php
これでいい?
0992nobodyさん
2010/01/09(土) 17:31:31ID:pOjpZhf9100 → 100
1000 → 1,000
100000 →100,000
お願いします。
0994nobodyさん
2010/01/09(土) 17:36:03ID:lsb/cZ9khttp://jp2.php.net/manual/ja/function.number-format.php
0996992
2010/01/09(土) 17:38:43ID:pOjpZhf9自分の持ってる参考書には目を通したのですが、マニュアルはみてなかったです。
自分自身の為にも、次からは気をつけます。
>>994
ありがとうございます。
0997nobodyさん
2010/01/09(土) 19:19:13ID:bizuBJVY質問内容
お手元の環境で以下のサイトのコードを実行した場合に
ttp://d.hatena.ne.jp/Xephy/20081217/1229515379
問題なく以下の部分の表示が行われますか?
//URL表示
print $login->get_video_url($mov_id);
うちで動かすと、正しいメールアドレス/パスワードを用いても、用いなくても、
実行結果が変わりませんorz
0998nobodyさん
2010/01/09(土) 20:13:21ID:lsb/cZ9khttp://pc11.2ch.net/test/read.cgi/php/1263035502/l50
0999nobodyさん
2010/01/09(土) 20:19:07ID:???1000nobodyさん
2010/01/09(土) 20:19:49ID:???10011001
Over 1000Threadもう書けないので、新しいスレッドを立ててくださいです。。。
レス数が1000を超えています。これ以上書き込みはできません。