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

くだすれPHP(超初心者用)

■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん2006/06/12(月) 14:06:01ID:???
このスレッドは、他のスレッドでは書き込めない超低レベル、 
もしくは質問者自身何が何だが分からない質問を勇気を持って書き込むスレッドです。 
PHP使いが優しくコメントを返しますが、 
お礼はPHPの布教と初心者の救済をお願いします。 

PHP Home Page 
http://www.php.net/
0002nobodyさん2006/06/12(月) 14:40:47ID:???
いや、いいけどさ。
需要あったのかしらん。
0003nobodyさん2006/06/14(水) 00:09:15ID:???
「くだすれ」って何?
0004nobodyさん2006/06/14(水) 09:26:50ID:???
phpから、添付ファイルを送信する方法を教えてください
0005nobodyさん2006/06/18(日) 10:15:39ID:???
ord()で日本語もちゃんと変換させる方法教えてください

そのままだと1byte目を変換し、後を無視してしまいます
0006nobodyさん2006/06/18(日) 14:16:42ID:???
こんにちは。下らない質問スレから出張して来ますた。

>>5
おまいは何かを根本的に勘違いしている。
ord()はそもそもそういうもんですって言うか変換なんてしません。

http://jp2.php.net/manual/ja/function.ord.php

> stringの先頭文字のASCII値を返します。

2バイト文字列の一文字目を抜き取りたいのならmb_substr()でも使ってはどうですか。

http://jp2.php.net/manual/ja/function.mb-substr.php
0007nobodyさん2006/06/18(日) 15:05:32ID:???
pack() でしょ。
http://jp2.php.net/manual/ja/function.pack.php
0008nobodyさんNGNG
入力
<?php
$str = "サーバサイド技術";
print(mb_convert_kana($str,"KV"));
$data = $str;
print(mb_convert_encording($data,"EUC-JP","Shift_JIS"));?>

出力
サーバサイド技術
Fatal error: Call to undefined function mb_convert_encording() in C:\Program Files\xampp\htdocs\4.2.php on line 8

設定が間違っているのでしょうか?
0009nobodyさん2006/06/18(日) 16:28:24ID:???
>>8
"Shift_JIS"を"SJIS"にしたらどうなるかな?
0010nobodyさん2006/06/18(日) 17:13:53ID:???
>>8
スペルミスだろ
×mb_convert_encording
○mb_convert_encoding
0011nobodyさんNGNG
>>9>>10
ども。
両方試してみました。

入力
<?php
$str = "サーバサイド技術";
print(mb_convert_kana($str,"KV"));
$data = $str;
print(mb_convert_encoding($data,"EUC-JP","SJIS"));?>

出力
サーバサイド技術悉鴫写酌悉軸柴酌オサスム

mb_comvety_kana()とmb_convert_encoding()がうまく動作していない様子です。
0012nobodyさん2006/06/18(日) 17:41:37ID:???
>>11
mb_convert_kana()は$strの文字コードを明示的に指示してやると多分うまくいくよ。

http://jp2.php.net/manual/ja/function.mb-convert-kana.php

mb_convert_encoding()は上手く動作してるから文字化けしてるんじゃないの?
0013nobodyさんNGNG
>>12
文字コードをSJISに指定したら正しく表示されました。ありがとうございます。
ただ、mb_convert_encoding()がどうもうまくいきません。IEで文字コードをSJIS
にエンコードすると化けてしまいます。一方でEUC-JPにエンコードすると"サーバサイド技術"
と化けずに表示されます。よーするにmb_convert_encoding()がうまく動いてないかと。
0014nobodyさん2006/06/18(日) 20:32:09ID:???
ブラウザが絡んでくると、出力と、ソースの文字コードを揃えないと
化けるって聞いたよ。
アパチが内部で勝手に文字コードを揃えちゃうらしい。
0015nobodyさん2006/06/18(日) 21:12:07ID:???
いや、あのさ。

<?php
$str = "サーバサイド技術";
print(mb_convert_kana($str,"KV")); // (1)
$data = $str;
print(mb_convert_encoding($data,"EUC-JP","SJIS")); // (2)
?>

これがちゃんとSJISで書かれているとしたら$strの文字コードはSJISだよね。
つまり(1)はSJISで出力される。
一方(2)はEUC-JPに変換してから出力している。
(1)が文字化けせずに読めている状態で(2)が化けるのは当たり前じゃん。
出力した文字コードが違うんだから。

"悉鴫写酌悉軸柴酌オサスム"つーのはEUC-JPで出力された"サーバサイド技術"を
SJISとして読んだ時に起こる文字化け。
上の出力をEUC-JPとして読んだ場合は"?T?[?o?T?C?h?Z?pサーバサイド技術"となる。
自分でSJISからEUC-JPに変換させといてうまく動いてないなんていちゃもん付けるなよ。
mb_convert_encoding()は完璧に動いてるよ。
001652006/06/19(月) 10:00:39ID:???
>>6-7
わかりにくい説明ですいません。
日本語文字列のascii値?を返してほしいんです
ord("a") -> 97
ord("あ") -> 12354
ord(" ") -> 32
ord(" ") -> 12288
0017nobodyさん2006/06/19(月) 17:01:38ID:???
>>16
良く分かんないけど、要はこういう事かな。

<?php
get_ascii("a");
get_ascii("あ");
get_ascii(" ");
get_ascii(" ");

function get_ascii($str) {
print "\"{$str}\" => ";
for ($num = 0; $num < strlen($str); $num++) {
print ord(substr($str, $num, 1));
}
print "\n";
}
?>

get_ascii()はこうでも良い。

function get_ascii($str) {
print "\"{$str}\" => ";
$array = str_split($str);
foreach ($array as $value) {
print ord($value);
}
print "\n";
}

でもSJISでもEUC-JPでもUTF-8でもうちではその値にはならないんだよねえ。
0018nobodyさん2006/06/19(月) 21:13:32ID:???
>>17
ありがとうございます。
検索すると同じことをしたがっている人のMLでの質問がありましたが答えは出ていませんでした。
ordではやはり出来ないのでしょうか?

ここはJavaScriptで実現されています
http://www.eris.ais.ne.jp/~hiro/html/
参考になりますでしょうか?
0019nobodyさん2006/06/19(月) 22:01:52ID:???
うーん、俺には分からないな。
PHPの下らない質問スレ行って聞いてくだちぃ。

つーかもうこのスレ落としても良いよね?
002012NGNG
>15
すみません。逆でしたね。
mb_convert_encoding($data,"SJIS","EUC-JP"));
にしてみました。
結果は…
サーバサイド技術三舗参爪?Z
orz
0021nobodyさん2006/06/20(火) 18:01:26ID:???
>>20
おまいは俺をおちょくって遊んでいるのか?

そのスクリプトを書くのに使った文字コードと
それぞれのprint()で出力された文字列の文字コードを全部メモしてから
>>15を215万回読み直してそれでも分からなかったらもう諦めろ。
0022nobodyさん2006/06/21(水) 13:29:40ID:???
>>18
これじゃ駄目なの?
<?php
$a = unpack('h*', 'あ');
print_r($a);
print hexdec($a[1]);
?>
http://coronado.s8.xrea.com/php/function.unpack.php
0023nobodyさん2006/06/21(水) 13:35:41ID:???
>>20
まずは 21 氏の言うようにこれを。
話はそれからだ。

<?php
print '<pre>';
print_r(mb_get_info());
?>
ttp://coronado.s8.xrea.com/php/function.mb-get-info.php
0024nobodyさん2006/06/25(日) 06:12:44ID:???
UTF-8で書かれたphpからmailコマンドでメールを送信すると文字化けしてしまいます。
文字化けを防ぐ方法を教えてくだすれ
0025nobodyさん2006/06/25(日) 13:33:01ID:???
>>24
mb_language('uni');
mb_internal_encoding('UTF-8');
ttp://coronado.s8.xrea.com/php/function.mb-language.php
ttp://coronado.s8.xrea.com/php/function.mb-send-mail.php
0026nobodyさん2006/06/25(日) 14:40:17ID:???
>>25
なんで本家マニュアル張らないの?

アフィ厨?
0027nobodyさん2006/06/25(日) 15:10:37ID:???
このスレでこのサイト知ったんだけど検索が楽じゃない?
それに、本家だと全然関係ない関数にマッチしない?
あと、本家だと異常に重いことあるし…。

実は一番いいのは文字サイズが大きいことだけど、
アフィ厨の片棒は担ぎたくない。
0028nobodyさん2006/06/25(日) 15:33:45ID:???
>>26
ザッと見た限りアフィはなさそう。

マニュアル調べたくてググると
数年前から更新してないサイトが上位に出るから、
最新版が更新されるならいいことだと思うけどね。
0029nobodyさん2006/06/25(日) 17:05:43ID:???
>>28
| 数年前から更新してないサイトが上位に出るから、

ああ、そうだね。
ちゃんと回答してるし、ガンガレ!!
0030nobodyさん2006/07/01(土) 17:28:58ID:???
UTF-8が見られないブラウザってありますか?
今までシフトJISを使ってきたのですが、今後はUTF-8にしようと思うのですが・・・
0031nobodyさん2006/07/01(土) 17:57:13ID:V+Wur+Sg
クラスはどういう場合に使おうと思うもの?
0032nobodyさん2006/07/01(土) 20:32:37ID:???
>>30
あるけど無視してよい古いブラウザだから UTF で OK.
Google は UTF だけど問題になってないでしょう?

>>31
ありとあらゆる場合に.
0033お助けください・・・2006/07/01(土) 22:36:11ID:w8UJhqAk
SQLServer 2005 ExpressEditionにつなげようとすると
5秒くらい待ってから
Warning: mssql_connect(): Unable to connect to server:
となってしまいます。

・SQLサーバ認証+Windows認証
・構成マネージャでTCP/IPを有効化
 IPアドレスを正しく変更
した上で、
mssql_connect('localhost,1433','<USERNAME>','<PASSWORD>')
mssql_connect('<IPADDRESS>,1433','<USERNAME>','<PASSWORD>')
mssql_connect('<HOSTNAME>,1433','<USERNAME>','<PASSWORD>')
mssql_connect('localhost/SQLEXPRESS','<USERNAME>','<PASSWORD>')
mssql_connect('<IPADDRESS>/SQLEXPRESS','<USERNAME>','<PASSWORD>')
mssql_connect('<HOSTNAME>/SQLEXPRESS','<USERNAME>','<PASSWORD>')
みんな失敗します。

何か他に設定がいるのでしょうか。。。
0034nobodyさん2006/07/04(火) 10:01:43ID:q1Np2u8U
PHP5とJPGraph2を使っています。
レーダーチャートのタイトルは日本語化できたのですが、
軸の項目が日本語化できません。
いい方法がありましたら教えてください。
0035nobodyさん2006/07/04(火) 13:46:21ID:EIKaYV2N
販売元にまったく同じ質問したことある

$graph->axis->SetFont(FF_MINCHO);
$graph->axis->title->SetFont(FF_MINCHO);

$graphの生成後に↑の両方が必要らしい。
試してみれ
0036342006/07/04(火) 14:46:14ID:q1Np2u8U
>>35
できました。ありがとう〜。
Axis->Setfont〜でとまってたからできなかったようです。
0037342006/07/05(水) 19:21:10ID:1sMbSjJr
グラフは日本語でちゃんと表示されるようになったんですが・・・
1、グラフを描画するPHPの前にタグがあるとグラフ描画PHPが文字化けする
2、ならば仕方がないのでグラフを先に表示して御託はあとから述べるスタンス
 に変更するためにグラフ描画PHPの後ろにタグを置いたら、グラフしか表示されない

という不具合に当たりました。
何とか上手くやる方法がありましたら教えてください。
よろしくお願いします。

//チラ裏
ヘルプにあるようにHTMLからPHPを呼び出すとグラフが描画されないし・・・
ApacheとかPHPの不具合・・・?
//チラ裏終了
0038nobodyさん2006/07/05(水) 21:03:19ID:iNEqShr6
すんません。PDOでSQLiteを使いたいので、php.iniに
pdo.dsn.hoge="sqlite:ほにゃらら〜
というのを記述したいのですが、ほにゃららの部分を
どのように記述したら良いかわかりません。
FC5、PHP5.1.4です。
Windwosならc:\hoge.dbみたいにするところなのでしょうが、
/にあるhoge.dbを
pdo.dsn.hoge="sqlite:/hoge.db"
と書いてもPHPからアクセスできませんでした。
よろしくお願いいたします。
0039nobodyさん2006/07/13(木) 05:44:51ID:???
>>37
よくわかんないけど、グラフ作って画像を送信するんじゃないの?
よくある画像カウンタみたいな感じ。
だから、HTML吐くphpなスクリプトを作ってその中でグラフ出力の
phpをimgタグで呼ぶてな感じじゃね?


a.phpとかa.html
<html><head>........<body>
<img src="b.php?hoge=piyo">
...

b.php
<?php
ナンチャラ
$graph->Stroke();
?>
b.phpはグラフを書いて「画像」として送信するだけ。
それかa.phpでグラフをどこかに作って(例えば./hoge.jpg")
それを<img src="./hoge.jpg">とかにするとか。
#画像を送っているのなら、画像を送る前にHTMLを送るとheaderが変だし
画像の後にHTML送ってもたぶん無視じゃないか?
0040nobodyさん2006/07/16(日) 02:16:28ID:RWw+XpFz
超初心者が勇気を持って書き込みます。
どの板でも絶対にかけないと思ってココに書きます。

あるアップローダからDLしたファイルが「PHPファイル」ってものでした。
中身は画像だそうですが、クリックしてもメモ帳になってしまい、
更にサイズが大きくてメモ帳が固まってしまいます。
どうしたら見れるのですか?
教えてくださいおねがいします。
0041nobodyさん2006/07/16(日) 02:28:01ID:???
>>40
板違い&スレ違い。

拡張子を変えればいい。もし分からなかったら「拡張子」でググれ。
0042PHP男爵 ◆SWtzLesEmM 2006/07/16(日) 12:24:45ID:3GUcmNlY
>>40
君は勇者だ!
(リアルの世界でも積極的に生きて欲しい。)

解説しよう!
ダウンロードして、デスクトップに「hoge.php」というファイルがあるとする。
hoge.phpのファイル名を変更して、hoge.jpgにしたり、hoge.gifにして、ペイントとかで開いて見たら、何か画像が表示されるかも!?

で、うまく開いたらその画像がどんなものだったか報告するように。

以上
0043nobodyさん2006/07/17(月) 03:20:56ID:???
小数で範囲を指定して乱数を作りたいのですが、可能でしょうか。
rand()とかだと整数しかつかえないので、他に方法はないものかと力を貸していただきたく・・・。

※例:1.8〜2.4の間で乱数を出す。
0044nobodyさん2006/07/17(月) 03:42:52ID:???
>>43
18〜24で乱数作って10で割る
0045432006/07/17(月) 12:52:32ID:???
ああ・・・肝心なことわすれていたorz
割ればいいんだったw
ありがとうございます!

もひとつすみませんが、クッキーについてお聞きしていいですか?

<php
/*Cookie*/
setcookie("lv","$lv",time()+604800);/*レベルの記憶*/
setcookie("job","$radio",time()+604800);/*主職業の記憶*/
$cookie = "lv"; "job";
?>
これをHTML記述前に入れて、"lv"と"job"はフォーム名です。
ちなみにjobはドロップダウンボックスのoptionに名前をつけています。

この状態でクッキーを取得してくれません。

何度もお邪魔してすみません。
お時間許していただけましたら赤ペン先生お願いいたします・・・。
0046nobodyさん2006/07/17(月) 13:04:05ID:???
> この状態でクッキーを取得してくれません。

確認方法は?
0047432006/07/17(月) 13:45:25ID:???
ラジオボタンのひとつにcheckedをいれて、違うところに入れておく。
本来ならそこだ!と記憶して欲しいのですが、checkedにもどってしまいます。

これがいけないのでしょうか。
■ このスレッドは過去ログ倉庫に格納されています