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

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

■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん04/11/02 00:15:41ID:???
PHPに関するくだらない質問用すれです。
0461nobodyさん04/12/15 06:35:33ID:c1PBHTJP
サーバーのロードアベレージを表示させるにはどうすればいいですか?
0462nobodyさん04/12/15 09:17:51ID:???
MRTG使えや
0463nobodyさん04/12/15 10:33:52ID:???
使ってくださいだろボケ
0464nobodyさん04/12/15 10:56:13ID:???
何様だカス
0465nobodyさん04/12/15 12:08:52ID:jR5T9TM1
HTMLのフォームから受け取った値がシフトJISだと正常に表示されますが、
そのページの他の文字が文字化けしてしまいます。
そこで、Unicode(UTF-8)でページを表示させたところ、フォームから受け取った値が
文字化けしてしまいました。どのようにしたら直りますか?

$post_name = $_POST[q18];

print "<HTML><HEAD></HEAD>";
print "<BODY>";
print "文字化けテスト";←Unicode(UTF-8)で正常に表示、シフトJISだと文字化け
print $post_name;   ←Unicode(UTF-8)で文字化け、シフトJISだと正常に表示
print "</BODY></HTML>";
0466nobodyさん04/12/15 12:19:53ID:???
文字こーーーーーーーーーーーーーーーどをといういついいいあすいするるううううううううううう
0467nobodyさん04/12/15 12:34:53ID:???
>>465
文字コードについてとっても勉強してください。
0468nobodyさん04/12/15 12:42:43ID:???
>>465

・フォームのあるHTMLの文字コード
・phpファイルの文字コード
・そのphpファイルによって実際に出力される文字コード
・出力されるHTMLソースのcharset

全ての関連性を考える。
046946504/12/15 12:42:48ID:jR5T9TM1
あ、ちなみに
mb_convert_encording
関数は使えません(;;
0470nobodyさん04/12/15 13:25:45ID:???
漏れもさ、内部をEUCにして、表示をShift_JISにしようと
努力してるが、どうにもならん。もうイイやとおもって表示もEUCにしてる。
0471nobodyさん04/12/15 13:31:36ID:???
マルチバイト関数が使えればすぐできるけどな
0472nobodyさん04/12/15 14:02:15ID:???
>>470
php.iniを百万遍見直すと吉。
0473nobodyさん04/12/15 14:02:19ID:???
>>469
PHPで書かれた変換ライブラリを使え
0474nobodyさん04/12/15 14:21:20ID:???
>>472
mbstring.internal_encoding = EUC-JP
mbstring.http_input = auto
mbstring.http_output = Shift_JIS
mbstring.detect_order = auto


でも上手く行かないの(´・ω・`)
他の場所かなぁ
0475nobodyさん04/12/15 14:24:10ID:???
釣りはよそ(ry
0476nobodyさん04/12/15 14:25:46ID:???
意図的にやってるとしか思えんw
0477nobodyさん04/12/15 14:30:18ID:???
>>464
フゥゥゥンドゥラーァアアッ!!!!!!!!
0478nobodyさん04/12/15 16:49:09ID:???
まじめに読んでないが、とりあえず解説キボンヌ
0479nobodyさん04/12/15 18:00:10ID:???
>>474
もう、お前バカだから、コレどうぞ。
ttp://tsuttayo.sytes.net/php/char_trn/
0480nobodyさん04/12/16 22:29:00ID:PbAx+XJ7
>>882
セントラルヒーティングを流用して作れば安くなる
0481nobodyさん04/12/17 07:31:31ID:gWMnrwJD
サイトのトップに
今日○人きたよ、昨日○人きたよ
と表示するにはなんて打ち込めばよろしいですか??
0482nobodyさん04/12/17 07:32:25ID:???
次の質問どうぞ
0483nobodyさん04/12/17 07:37:22ID:gWMnrwJD
…だめなんですか?もう4時間は彷徨ってるけど
全然わからない(;_;)
0484nobodyさん04/12/17 07:39:40ID:???
単なるカウンタだろうがヴォケ
0485nobodyさん04/12/17 07:39:42ID:???
>>882の質問が楽しみだな。
0486nobodyさん04/12/17 07:46:53ID:???
その単なるカウンターわからんのです
合計はでるけど、昨日今日の限定ものはでない
0487nobodyさん04/12/17 11:38:27ID:hH73RR0m
phpにperlのtr///に変わる関数ってあります?
0488nobodyさん04/12/17 11:42:32ID:???
>>485
strtr()関数
http://jp2.php.net/manual/ja/function.strtr.php
048948804/12/17 11:43:07ID:???
>>487
の間違いです。スマソ。
0490nobodyさん04/12/17 11:44:14ID:???
ないと思う。strtr() は動きが違う。なので preg_replace() で書いたよ。あったら自分も知りたい。
049148704/12/17 11:44:16ID:hH73RR0m
普通にあったんだ・・・。
サンキューです!!
049248704/12/17 11:50:36ID:hH73RR0m
正規表現が使えないみたいな感じですね
いろいろいじくってみます。
0493nobodyさん04/12/17 16:50:17ID:???
>486
昨日今日の集計出すにはどうすればいいか考えろよ。
それでどうしても分からないところが出てきたら聞きな。
0494nobodyさん04/12/18 00:31:50ID:y9v6BUDL
マニュアル
http://www.php.net/manual/ja/language.operators.php
にある【? :】演算子って説明がみつからないですけど
マニュアル内に記述されていますか?
0495nobodyさん04/12/18 00:32:58ID:???
マニュアル
http://www.php.net/manual/ja/language.operators.php
にある【? :】演算子って説明がみつからないですけど
マニュアル内に記述されていますか?
0496nobodyさん04/12/18 01:14:49ID:???
>>494
http://www.php.net/manual/ja/language.operators.comparison.php
プログラムにおいては一般的な演算子だから説明が薄いけどな。
コード見てもワケワカで、詳しく知りたければ記述のワードを使って色々検索してみそ
0497nobodyさん04/12/18 01:20:00ID:???
>>494
三項演算子
0498nobodyさん04/12/18 02:03:06ID:???
援交三千氏
0499nobodyさん04/12/18 02:40:46ID:???
>>496>>497
レスありがとうございます
すいません、しっかりマヌアルにありましたね
"三項演算子" "php"でぐぐったらいくつか見つかりました
しかも2重カキコしてました スマソ
0500nobodyさん04/12/18 02:48:34ID:Si5Eecvi
画面に入力項目が20個とかたくさんある場合、
ポストされた値が数値か文字か、
何文字入力されているか、不正な値が入っていた場合はどうするか
等の処理はみなさん、どうされてますか?

すべての項目を1個ずつifで聞いていくのはめんどいですよね・・

自分は、フォームの項目の命名規則を整えて、
xmlに属性(数値・文字)lengthや不正な値の場合の処理
などを記述して、validation用の関数を作ればいいかなーって
おもってるんですが・・・・。

なにかお奨めの方法があったら
教えてください。
0501nobodyさん04/12/18 03:14:41ID:???
>>493
iランドの特殊コードで表示しているから、##NN##以外わかりません…
0502nobodyさん04/12/18 03:16:04ID:???
>>500
PEARのHTML_QuickForm
0503nobodyさん04/12/18 04:02:58ID:???
Windows用のバイナリで4.3.9から4.3.10にバージョンアップしたら
libmysql.dllのサイズが糞でかくなってました。
何でこんなにでかくなったんでしょうか?なんか怪しいです。
0504nobodyさん04/12/18 08:29:34ID:???
>>503
多分MySQL4.1用libmysqli.dllと合体したのだと思う
050550004/12/18 09:58:27ID:???
>>502
どうもありがとうございます。
こんな便利なものがあったとは・・・

ただ、自分の場合、既に
HTMLでフォームを書いちゃったので
今から書き直すのは大変かなァと・・^^;

はぁif文で聞くのはめんどいしなぁ。
0506nobodyさん04/12/18 18:11:31ID:TLjFNPt9
rand関数についての質問です。
a=rand(0,100);
としたとき、0〜100の中からaで選ばれた数字を除いた範囲で
乱数を発生させるにはどうすればいいんでしょうか?
b=rand() 括弧の中をどうすればいいかわかりません。
よろしくお願いします。
0507nobodyさん04/12/18 18:43:11ID:R/XzN+iF
PHP 5.0.2 をセットアップしたのですが、セッションが正しく動作しません。
(セッション変数に代入した値が保持されません)

環境は Windows 2000, Apache 1.3.33 です。
php.ini を書き換えなくてはいけないのでしょうか?

session.use_trans_sid = On
session.save_path = "C:/tmp"
とし、c:/tmp は存在しています。
0508nobodyさん04/12/18 18:48:24ID:???
>>506
rand(start,end)である以上、特定の数値を除いた値を
一回のrand呼び出しだけで選出することはできない。
やりたいことが、重複しない値を2つ取り出したい、ということなら、
bを取り出す時にaと一致したなら再度bを取得すればよい。
取り出したい値の個数が2つ以上の場合でも同様のやり方でできる。
全ての数値を対象にするなら、shuffleを使っても良かろう。

>>507
> セッションが正しく動作しません。
どうやって確認したのか教えたくない理由を述べよ
0509nobodyさん04/12/18 18:51:08ID:???
>>508
書かなくてもわかると思ったから

簡単なプログラム
http://hoover.ktplan.ne.jp/kaihatsu/php/index.php?type=doc&txt=session1
が動作しない
051050704/12/18 18:53:31ID:???
ちなみに、現在の設定は以下の通りです。

Session Support enabled
Registered save handlers files user sqlite
Registered serializer handlers php php_binary wddx

DirectiveLocal ValueMaster Value
session.auto_startOnOn
session.bug_compat_42OffOff
session.bug_compat_warnOnOn
session.cache_expire180180
session.cache_limiternocachenocache
session.cookie_domainno valueno value
session.cookie_lifetime00
session.cookie_path//
session.cookie_secureOffOff
session.entropy_fileno valueno value
session.entropy_length00
session.gc_divisor10001000
session.gc_maxlifetime14401440
session.gc_probability11
session.hash_bits_per_character55
session.hash_function00
session.namePHPSESSIDPHPSESSID
session.referer_checkno valueno value
session.save_handlerfilesfiles
session.save_pathC:/tmpC:/tmp
session.serialize_handlerphpphp
session.use_cookiesOnOn
session.use_only_cookiesOffOff
session.use_trans_sid11
051150704/12/18 19:03:34ID:???
c:/tmp を見ると、ちゃんとセッションファイルはできていました。

ってことは、セッション変数の参照方法が間違っているってこと?

<?php
session_start();
session_register("num");
?>
<html>
<body>
<?php
$num++;
print "カウントは $num です。 <a href='$PHP_SELF'>次へ</a>";
?>
</body>
</html>
051250604/12/18 19:42:04ID:???
>>508
すばやい回答ありがとうございます。
shuffle関数を使えば解決できそうです。
0513nobodyさん04/12/18 19:49:25ID:???
>>504
ありがとうございます。
それなら納得です。
0514nobodyさん04/12/18 19:49:50ID:???
>>507
register_globalsの設定は?
>スクリプトでsession_register()を 使用している場合には、
>それは register_globalsを 不可としている環境下では動作しません。
051550704/12/18 20:03:28ID:???
>>514
register_globals = Off
になってました。
register_globals = On
にしたら、ちゃんと動作しました。

ほんとにありがとうございました(深謝) >514様
0516nobodyさん04/12/18 20:13:57ID:???
>>515
register_globalsはOffが推奨だから$_SESSION使った方がいい
マニュアルのセッションの項目読めば分かると思う
ttp://www.php.net/manual/ja/ref.session.php
0517nobodyさん04/12/18 20:54:31ID:???
>>516
ところが、register_globalsはOffで、以下のソースだと動作しないんですよ。

<?php
session_start();
session_register("num");
?>
<html>
<body>
<?php
$num = $_SESSION["num"];
$num++;
print "カウントは $num です。 <a href='$PHP_SELF'>次へ</a>";
?>
</body>
</html>
0518nobodyさん04/12/18 21:07:35ID:???
>>517
だからマニュアルを読めと言ってるだろうが!
お前がやりたい処理のサンプルもちゃんと載ってるっての
0519nobodyさん04/12/19 04:03:05ID:pAwYOVm0
変数と文字列の結合したいのですが、どうすればいいでしょうか?
例:
$a = abc
文字列:defで $b=abcdefとしたい
052051904/12/19 04:05:25ID:pAwYOVm0
間違えました。
abc.defとしたいです。
0521nobodyさん04/12/19 04:55:15ID:???
変数にある文字列が含まれているかどうか判断するために
使う関数おしえてくり
0522nobodyさん04/12/19 05:00:23ID:???
正規表現 ereg
0523nobodyさん04/12/19 15:40:06ID:???
strstrとかstrposでいいだろ
0524nobodyさん04/12/19 17:27:52ID:???
>>522
アホ
0525nobodyさん04/12/19 17:28:23ID:???
エロい人、助けてくださいな!

以前に、IPの範囲判定について質問したんだけど
さっぱりわからんですたい。
>>140氏が
サブネットマスクでANDとってネットワークアドレスとXOR 結果が0か否か
って教えてくれたケド意味がわかんなくて…

この140氏のをもう少し具体的に教えてくれないでしょーか?
0526nobodyさん04/12/19 19:26:14ID:???
>>525
例: 192.168.1.55 が 192.168.1.0 〜 192.168.1.255 に含まれているかどうか

192.168.1.55  11000000 10101000 00000001 00110111
                    AND
255.255.255.0 11111111 11111111 11111111 00000000 サブネット
                     ↓
         11000000 10101000 00000001 00000000
                    XOR
192.168.1.0  11000000 10101000 00000001 00000000 ネットワークアドレス
                     ↓
         00000000 00000000 00000000 00000000

結果が 0 なので含まれていることになる
052714004/12/19 20:59:06ID:???
なんか発掘されててびっくり。 今読み直すと日本語が変だな。
0528nobodyさん04/12/19 21:32:11ID:o3WuAXTl
すみません、教えて下さい。
10進数を16進数に変換するプログラムを作成したいんですが、どうなりますか?
052952504/12/19 21:39:36ID:???
>>526氏
ありがとうございます!
やっと140氏の言ってた意味がわかりますた!

140氏、改めてサンキューでした!

で、こねたら↓な感じになりますた。
もっとこないせい!ってなトコあればヨロシクです。


if( Check( '192.168.1.50' ) ){ echo('範囲内です'); }
else{ echo('範囲外です'); }

function Check( $ip )
{
$hani= '11000000101010000000000100000000';//192.168.1.0
$mask= 24;
$ips= split("\.",$ip);
$my_ip= sprintf("%08d",decbin($ips[0])) . sprintf("%08d",decbin($ips[1])) . sprintf("%08d",decbin($ips[2])) . sprintf("%08d",decbin($ips[3]));

for( $i=0; $i<$mask; $i++ )
{
if( $my_ip[$i] != $hani[$i] ){ return( false ); }
}
return( true );
}
053052504/12/19 21:41:54ID:???
>>528
10進数→16進数はdechexらしいよ(使った事ないケド)。
0531nobodyさん04/12/19 21:42:26ID:???
>>528
あとマルチ市ね
053214004/12/19 23:56:43ID:???
/**********************************************************
  * function chkIP($ip, $net, $mask=0xffffff)
  * 機能: $ipが$netのネットワーク内にあるかをチェックする
  * 引数: $ip  = チェックするIPアドレス
  *       $net = 期待されるネットワークアドレス
  *       $mask= サブネットマスク(デフォルト255.255.255.255)
  *       ※それぞれビット列orドット記法どちらでも良い
  * 返値: boolean 入っていればtrue
  *********************************************************/
function chkIP($ip, $net, $mask=0xffffffff){
  // 
  is_int($ip) or ($ip = ip2long($ip));
  is_int($net) or ($net = ip2long($net));
  is_int($mask) or ($mask = ip2long($mask));
  return (($ip^$net)&$mask)^0;
}

突っ込まれる前に行っておくとis_longは意図的ね。
053314004/12/19 23:57:19ID:???
うお、is_intのほうはってしまった(´・ω・`)ショボーン
0534nobodyさん04/12/20 00:42:46ID:???
PHP5でポリモーフィズムって
どのように実装できるんでしょうか。
0535nobodyさん04/12/20 00:51:18ID:???
>>534
型無し言語
0536nobodyさん04/12/20 05:26:34ID:zyDWy5kg
すいません。いくら考えてもわからないので、教えて頂けませんか。
$arr=array(1,1,2,1,2,3) という配列があったとして、それぞれの
値の数を足したものを表示したいのですが、どうすれば良いでしょうか・・・

1 3個
2 2個
3 1個

といった感じです。宜しくお願い致します。
0537nobodyさん04/12/20 06:29:26ID:???
>>536
自分で考えるのも大事だけどマニュアルも読もうぜ
ズバリそのための関数があるから
053853604/12/20 13:01:02ID:???
>>537
ありがとうございました。
マニュアル読み直したら、array_count_values()というのがありました。
これで出来そうです!
0539nobodyさん04/12/20 22:29:47ID:???
可変変数のstaticはやはり無理なんでしょうか?

static $$tmp = new $tmp;
動的にインスタンスしたオブジェクトを保持しておきたいんだが…
parse errorで止まっちまう
0540nobodyさん04/12/21 01:05:31ID:???
>>539
new $tmp;
0541nobodyさん04/12/21 08:09:10ID:???
すいません、初心者です
用語とかの使い方も間違ってるかもしれませんが・・・

class s_class{
function sample($date){
echo $date[0];
         echo $date[1];
}
}
?>

このようなクラスファイルを作り

$test[] ="一番目";
$test[] ="二番目"; //配列データを作ってます
$test1 = new s_class;
$test1->sample("$test");

と、インスタンスを生成し、クラス内の配列の中身をechoで表示させるメソッドを呼び出しているのですが
「A」と「r」の文字が表示されるだけなんです

メソッドに配列データを引数にする事は可能なんでしょうか?
もし可能でしたらやり方を教えてください
0542nobodyさん04/12/21 11:38:26ID:???
>>541
$data = "$test" = "Array"
だから
$data[0] = 'A'
$data[1] = 'r'
$data[2] = 'r'
$data[3] = 'a'
$data[4] = 'y'
になる

答え
$test1->sample($test);
0543nobodyさん04/12/21 13:47:42ID:???
age
0544nobodyさん04/12/21 14:57:36ID:???
'2004-11-25' と '2004-12-21' を比較して
差分日数を算出したいんですが、
phpのシステム関数で可能ですか?
0545nobodyさん04/12/21 15:22:27ID:???
>>544
可能です。
0546nobodyさん04/12/21 15:23:15ID:???
>>544
「日数」であればstrtotimeとか割り算とかで。
0547nobodyさん04/12/21 16:16:22ID:???
>>544
mktimeで比較して、差分を60*60*24で割る。
0548nobodyさん04/12/21 16:33:12ID:???
PHP+MySQLです。

select count(*) from 条件
select * from 条件 limit ほにゃ

でやった場合、条件が複雑だったり、
textフィールドのlikeだったりすると、
重いクエリーが2回発行されることになってしまいます。

そこでlimitを使わずmysql_data_seek()と、
mysql_num_rows()でやると1回のクエリーで済み、
効率的!と思ったのですが、
全件fetchと同じぐらいの大量のメモリーを使うようです。

はてさて皆さんはどうしているのでしょうか?
0549nobodyさん04/12/21 16:47:12ID:???
どんな処理か分からないのに「どうしているか」なんて答えられるわけないだろw
一般論としてコネクションがボトルネックになるならサブクエリ+ストアド。
0550nobodyさん04/12/21 17:02:20ID:AvesOqOi
携帯サイトにメールを配信するphpを作成してます。
ボーダフォンにのみメールが送れません。
サーバの設定なんでしょうか?

誰か類似の問題で悩んだ人いませんか?
以下、ソースです。
<?php
 mb_language('ja');
 mb_internal_encoding("SJIS");
 $rcd = mb_send_mail("[email protected]","メール登録","登録フォーム送信" , "From: ". "[email protected]");
 if($rcd){
  print " メール送信成功";
 }
 else{
  print " メール送信失敗";
 }
?>

神降臨キボン
0551nobodyさん04/12/21 17:04:34ID:???
何がしたいのか分からん
mysqlでtextにlike検索かけることもありえないし
0552nobodyさん04/12/21 17:22:24ID:???
>>550
そのコードでためしてるの?
ならvodaの受信制限にかかってるんだと思うけど。
原因の切り分けをやりなよ。
0553nobodyさん04/12/21 17:44:55ID:???
>>550
MySQL4.0以降で、FOUND_ROWS()を使う。
http://dev.mysql.com/doc/mysql/ja/Miscellaneous_functions.html

つかこういう質問はくだ質でやらずに、MySQL関連スレでやるべき
055455304/12/21 17:45:53ID:???
ごめん。>>553 は >>548 宛
0555nobodyさん04/12/21 18:15:54ID:AvesOqOi
vodaの受信制限ってどうすれば知れべれるの?
0556nobodyさん04/12/21 18:20:37ID:???
google
0557nobodyさん04/12/21 18:33:37ID:AvesOqOi
携帯で受信拒否の設定はしてません。
別のレンタルサーバからは同じスクリプトで
メール送れてます。
0558nobodyさん04/12/21 18:42:29ID:???
>>553
まさにこれです!
素晴らしいです。涙です。

ありがとうございます。
0559nobodyさん04/12/21 18:54:17ID:???
Vodaなんぞにメールを送ること自体が間違い。
0560nobodyさん04/12/21 19:10:55ID:AvesOqOi
サーバのsendmailのmailertableをいじくったら
解決しました。
お騒がせしました。
■ このスレッドは過去ログ倉庫に格納されています