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

【PHP】下らねぇ質問はID出して書き込みやがれ 88

■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん2009/09/16(水) 09:39:37ID:???
質問者はまず>>1を良く読むこと(必須!)
過去スレ、関連スレ、FAQなどは>>2-10辺り
次スレは>>980が立てる。10分以内に立たない場合、宣言してから立てたい人が立てること。

◆前スレ
【PHP】下らねぇ質問はID出して書き込みやがれ 87
http://pc11.2ch.net/test/read.cgi/php/1251447028/

◆質問用テンプレ
【OS名】vine linux
【PHPのバージョン】php5.26
【連携ソフトウェア】mysql
【質問内容】

◆質問する時の注意
・ スレを上げて自分のIDを表示させること。(メール欄に何も記述しない。専ブラのsageチェックを外す)
・ 己の行った操作、変更などを詳しく明記すること。
・ エラーメッセージはそのまま表記すること。「エラーが出ます」だけでは回答不可。
・ 質問者として、態度をわきまえること。
・ 事前に関連リンクの公式マニュアル、リファレンス本くらいはちゃんと目を通しておくこと。
(PHPで最良の教本はこの公式マニュアル。市販の書籍は嘘が多いので鵜呑みにしない。)

◆質問後の注意
・2回目以降は最初に質問した際のレス番号を入れて、偽者防止に必ずIDを表示させること。
・解決しなくても回答をもらった場合はお礼を言うこと。
 (荒らし、煽りは除く。煽られたときも、無闇に反論せずスルーすること。)

◆回答者への注意
・誰にレスしているのか分からないと困るので、>>(アンカー)をつけて回答すること。

【その他諸注意】
・SQL・正規表現・PEAR・テンプレート(Smarty等)・フレームワークは各該当スレへ
0002nobodyさん2009/09/16(水) 09:40:24ID:???
■過去ログ
【PHP】下らねぇ質問はID出して書き込みやがれ 87
http://pc11.2ch.net/test/read.cgi/php/1251447028/
【PHP】下らねぇ質問はID出して書き込みやがれ 86
http://pc11.2ch.net/test/read.cgi/php/1249042741/
【PHP】下らねぇ質問はID出して書き込みやがれ 85
http://pc11.2ch.net/test/read.cgi/php/1245074032/
【PHP】下らねぇ質問はID出して書き込みやがれ 84
http://pc11.2ch.net/test/read.cgi/php/1240835951/
【PHP】下らねぇ質問はID出して書き込みやがれ 83
http://pc11.2ch.net/test/read.cgi/php/1238958898/
【PHP】下らねぇ質問はID出して書き込みやがれ 82
http://pc11.2ch.net/test/read.cgi/php/1236532468/
【PHP】下らねぇ質問はID出して書き込みやがれ 81
http://pc11.2ch.net/test/read.cgi/php/1234958956/
【PHP】下らねぇ質問はID出して書き込みやがれ 80
http://pc11.2ch.net/test/read.cgi/php/1233479457/
【PHP】下らねぇ質問はID出して書き込みやがれ 79
http://pc11.2ch.net/test/read.cgi/php/1231850905/
【PHP】下らねぇ質問はID出して書き込みやがれ 78
http://pc11.2ch.net/test/read.cgi/php/1230026935/
【PHP】下らねぇ質問はID出して書き込みやがれ 77
http://pc11.2ch.net/test/read.cgi/php/1228667259/
0003nobodyさん2009/09/16(水) 09:41:07ID:???
関連リンク
■本家マニュアル   http://www.php.net/manual/ja/
■日本PHPユーザ会 http://www.php.gr.jp/
■PEARマニュアル  http://pear.php.net/manual/ja/
■メーリングリスト   http://ns1.php.gr.jp/mailman/listinfo/
■ZFマニュアル    http://framework.zend.com/manual/ja/
■Smartyマニュアル  http://www.smarty.net/manual/ja/

(以下英語)
■Zend本家      http://www.zend.com/
■Zend Framework  http://framework.zend.com/
■php | architect   http://www.phparch.com/
■Smarty       http://www.smarty.net
■Smartyマニュアル http://smarty.php.net/manual/en/
■PECL本家(英語) http://pecl.php.net/
0004nobodyさん2009/09/16(水) 09:41:49ID:???
【簡易FAQ】
1.文字コードは何を使えばいいの?
 →1.UTF-8 2.EUC-JP のどちらか。迷うようなやつはShift_JISは使っちゃダメ。
2. このスレに書き込むときに自分のサイト名を晒したくない
 → http://example.com/が例文などのために予約されている。hogehoge.comは使っちゃダメ。
3. ブラウザに何も表示されないんだけど・・・
 → Apacheの設定を見直せ。ファイルの拡張子は何にしてて、その拡張子でPHPを呼ぶようになっているか?
4. 記号の意味がわからないけどググりようがない
 → 「@」 エラー表示を抑制、「->」 オブジェクトのメンバにアクセス、「::」 静的なメソッド呼び出し、
  「==」は暗黙の型変換をしてゆるい比較、「===」は型情報も含めた厳密な比較
5. echo "$arr['hoge']['fuga']"; と書いたらエラーになった
 → {おっぱい括弧}でくくって"{$arr['hoge']['fuga']}"にする
6. 一定時間ごとに自動的に何かしたいんだけど
 → cronかタスクスケジューラを使え。
7.extractって危険なの?
 →変数上書き&初期化忘れなどで危険。楽だからという理由だけで安易に使わない。
8. include/requireに「〜.php?a=b&c=d」のようなパラメータをつけたい
 → URL呼び出しなら可能だけど、普通のファイル呼び出しではできません
9.include/requireでURLを指定しても何も起きない
 → .phpの拡張子のファイルをURLで呼び出すと、1度PHPプログラムとして実行された結果になる。
0005nobodyさん2009/09/16(水) 09:42:35ID:???
10. そもそもインストールの時点でうまくいかない
 → 確認すべきはPHPのconfigureの引数、php.iniの内容と置き場所、
  Webサーバの設定(Apacheならhttpd.conf)、起動&再起動あたり
11. SQLの質問はどこで?
 → データベース板に誘導されるのが嫌ならPHPにうまく関連させて質問する
12. 文字列のなかに、英字のみとか数字のみとか記号が入っちゃいやんとかはどうしたらいいの?
 → ctype_〜()が手軽。複雑なパターンはpreg_〜()あたりで正規表現を使う。
13. $a1, $a2, $a3 ... のような変数名をうまく扱いたい
 → 可変変数で実現できるけど、むしろ配列を使って$a[1], $a[2], $a[3]等とするのがベター
14. echoとprintってどう違うの?
 → よく議論される話題であるが基本的に両者とも同じ。 以下ちょっとした議論。
  http://www.faqts.com/knowledge_base/view.phtml/aid/1/fid/40
15. クッキーの情報をユーザから隠したい
 → セッション使え。ただしクッキーとセッションは仕組みが違うから同じように扱うな
16. strip_tags()で削除しないタグを複数指定したい
 → strip_tags($html, '<a><p><font>'); // htmlspecialchars()も検討すべし
17. CSVやTSVのファイルをスマートに扱いたい
 → まずはfgetcsv()。ただし日本語を含むと正常に動作しない場合があるので注意だ。
18. 値渡しと参照渡し(「&」を使う)のパフォーマンスの違い
 → C言語じゃないので、パフォーマンス目的で使いわけたらダメ。参照渡しにすると逆に遅くなったりする
  参照渡しは引数に戻り値を設定したり引数を関数内で変更するなど、正しい目的に使うこと
19. ファイル入出力関数(fopen等)でリモートファイル(http://〜とか)を扱う際の限界
 → fsockopen()でソケット通信 or PEARのHTTP系 or CURLで解決
  必要ならHTTPをはじめとする各種プロトコル(どんなデータを送受信するか)はRFCなどで調べる
20. PHPからPOSTリクエストしたい
 →19.を参照
21. 画像処理一般 or GDの限界
 → ImageMagick(PECLのやつ or シェルから実行)
22. 画像・音・動画はファイルで保存?DBに保存?
 → 好きにしてください
0006nobodyさん2009/09/16(水) 12:02:45ID:???
スレ立てたなら報告しろやバカ
0007nobodyさん2009/09/16(水) 12:15:04ID:???
無能には高度な誘導がわからなかったようだな
0008nobodyさん2009/09/16(水) 12:30:27ID:???
もうこれだ。 だから次スレいらんと言ったのに。
0009nobodyさん2009/09/16(水) 12:32:19ID:???
次スレは今度から>>980が立てるようにしたまえ
0010nobodyさん2009/09/16(水) 12:33:08ID:???
前からそういうルールだろ
0011nobodyさん2009/09/16(水) 12:50:37ID:???
マニュアル読めって言うお前ら、>>1 位読んで下さい。
0012nobodyさん2009/09/16(水) 13:34:38ID:98tPbj3w
質問いいか? mysqlへの接続に関してなんだが

var_dump(mysql_connect($this->m_HostName,$this->m_UserName,$this->m_Password));

localhostだと→resource(5) of type (mysql link) ??
と出る これはまぁいいんだがレンタルサーバーに挙げる際だと
→bool(false) そして何故かgoogle曰く
このページはでデンマーク語のページです翻訳しますか? と。

host,user,passは合ってた。
なんで上げたらデンマーク行ってんの??
0013nobodyさん2009/09/16(水) 13:36:19ID:???
fetchって困るんだよな
女性が居る前とかで「おい、お前フェッチしろよ」とか言うと変な目で見られそうで・・・
0014nobodyさん2009/09/16(水) 13:38:24ID:???
>>12
デンマークは知らんがbool(false)ってことはDBへのコネクト失敗してるんじゃないの?
0015nobodyさん2009/09/16(水) 13:40:56ID:98tPbj3w
>>14
コネクト失敗の原因がデンマークじゃないかと思ったんだが・・・
0016nobodyさん2009/09/16(水) 16:53:16ID:lLF0irRw
なんでこのスレは気性が荒い人が多いんですか?
0017nobodyさん2009/09/16(水) 17:14:59ID:???
虚勢を張ってるだけだよ
本当はリアルで会うと萎縮しちゃうヘタレばっかり
0018nobodyさん2009/09/16(水) 17:20:38ID:???
まるで某スレのOCNだな
0019nobodyさん2009/09/16(水) 17:50:34ID:???
>>16
俺もそれは前から思ってた
すぐキレるんだよな、全員が全員とは言わないけどさ
0020nobodyさん2009/09/16(水) 20:57:32ID:sA/eEQSw
【OS名】CentOS
【PHPのバージョン】PHP 5.2.9
【連携ソフトウェア】mysql

現在携帯サイトを構築中です。

DB の文字コードを UTF8 にしている関係上
mb_substitute_character('long')を使用し
絵文字を BAD+FFFF の形式に変換をして保存しています。
http://ke-tai.org/blog/2007/12/03/emoji_escape/
ページを表示時には SJIS で吐き出すため、絵文字に関しては
下記のような関数で、絵文字を復元しています。

$regex = '/BAD\\+(F[346789][0-F]{2})/e';
return preg_replace($regex, "pack('H*', $1)", $str);

mb_substitute_character('long')を使用すると
ローマ数値や丸文字も下記のように変換されてしまいます。

�@ → JIS+2D21
�T → JIS+2D35

こちらを復元する関数がわかる方はいますでしょうか?
よろしくお願いします。
0021nobodyさん2009/09/16(水) 21:28:16ID:???
>>20
DBに入れる前にsjis -> utf-8の変換をしているってことだと思うんだけど、
これをsjis-win -> utf-8にすればイケるんじゃないだろうか。
0022202009/09/16(水) 21:47:28ID:sA/eEQSw
>>21
mb_convert_encoding($str, 'UTF-8', 'SJIS-win'); とすると
別のライブラリ(toInlineCSSDoCoMo)でこけるので
ちょっと厳しいんです^^;
0023nobodyさん2009/09/16(水) 22:08:30ID:???
>>22
> toInlineCSSDoCoMo
バージョンアップしてHTML_CSS_Mobileになってるそうだけど、これでも同じかな?

普通に考えるとsjis-winを使うことになると思うんだけどな
�@や�Tのutf-8変換自体はそれでできるわけだし

HTML_CSS_Mobileの中身をチラッと見ても、shift_jisの場合はsjis-winを使っているようだし

まあ使ったことないので実際のところはわからないけども
0024202009/09/16(水) 22:47:55ID:sA/eEQSw
>>23
同じです。

HTML_CSS_Mobile だと使ってるテンプレートライブラリが
うまく動かなかったので toInlineCSSDoCoMo を使ってます。
この辺のライブラリの変更は厳しいので
JIS+2D21形式をSJISに変換する関数を探しているところです。
0025nobodyさん2009/09/16(水) 23:01:43ID:???
php5の例外について

try{
throw new Exception($error);
} catch (Exception $e) {
 echo "例外キャッチ:", $e->getMessage(), "\n";
}

例外使用時通常上記のように、try でthrowをして catchすると思うのですが、下記のように
try catchをせずに直接throwをした場合どう違いがあるのでしょうか。

public function myError($message = null)
{
throw new myException($messag);
}
0026nobodyさん2009/09/16(水) 23:08:54ID:???
>25
その関数の呼び出し側でキャッチしなければいけなくなる。
キャッチされなかった場合、さらにその呼び出し元に遡る。ずーっと上までキャッチされるまで上っていく。
最終的に誰も例外をキャッチしなかった場合、エラーになる(確か500 Internal Server Error)。
0027nobodyさん2009/09/17(木) 00:29:13ID:???
>>25
http://jp2.php.net/manual/ja/function.set-exception-handler.php
こんなのもある
あとageと入れてもID出ないぜ
0028nobodyさん2009/09/17(木) 05:40:12ID:h/ZKc5z/
base64_encode() にint値を渡すと文字列に変換されてからエンコードされてしまうのですが
int値をバイナリで渡すような関数とかないでしょうか?

echo base64_encode( '65535');
echo base64_encode( 65535); // '65535'と同じ結果
echo base64_encode( 0xffff); // '65535'と同じ結果

echo base64_encode( "\xff\xff"); // 意図した結果

$val = 65535;
echo base64_encode( $val); // 意図してない結果
0029nobodyさん2009/09/17(木) 06:35:22ID:9yQ2lneq
あるメールアドレスにメールが送れるか否かを調べるのって
checkdnsrr($host,'mx') || checkdnsrr($host,'a');
でokですか?($hostはメールアドレスの@以降)
0030nobodyさん2009/09/17(木) 06:36:43ID:9yQ2lneq
あ、ユーザの有無は送ってみるまで分からないので
ホストの有無を調べる目的です
0031nobodyさん2009/09/17(木) 06:55:57ID:xpaZffPp
【OS名】vine linux
【PHPのバージョン】php5
【連携ソフトウェア】無し
【質問内容】

重みを付きランダム数値を出したいのですが、
どのようにしたら良いのでしょうか?

具体的には、1〜6の数値を、
1は40%、2は30%、3は20%
4は5%、5は3%、6は2%
の割合で取得したいのです。

アドバイスよろしくお願いします。
0032nobodyさん2009/09/17(木) 06:59:10ID:???
↑へ追記です。

重み(割合)は、小まめに変更させる必要があるため、
40:30:20:5:3:2 の部分は、
変更しやすい作りであると助かります。
0033nobodyさん2009/09/17(木) 09:27:35ID:???
>>29
いいんじゃないかな
おれはdnsに問い合わせるまでもないやつをはじくために
その前に簡単に形式チェックも行ってる

当然ながら、問い合わせる先のdnsがちゃんとした結果を返すというのが前提
自分で設定したネームサーバーの場合は注意

キャッシュしている内容が既に古くなっているかもしれないとか、
dnsレコードは残っているけどサーバーが既にない、一時的に停止している
とかで通信できない可能性はあるけど、それはどうしようもないし
0034nobodyさん2009/09/17(木) 09:36:37ID:???
>>31
指定の割合で1-6の数字が含まれる文字列を作成

その文字列の中から1文字だけ取得する
何番目の文字を取得するかは乱数で決める

とかで、それらしくなるんじゃないかな
0035nobodyさん2009/09/17(木) 09:54:23ID:???
>>20
参考に
$str = "JIS+2D21JIS+2D35";
echo preg_replace_callback("/JIS\+([a-zA-Z0-9]{4})/",
create_function(
'$match',
'return mb_convert_encoding( pack("H*","1B2440".$match[1]."1B284A") ,"SJIS-win","JIS") ;'
),$str );
0036312009/09/17(木) 10:10:18ID:???
>>34
ありがとうございます。

えっと・・・・重要なポイントである
「指定の割合で1-6の数字が含まれる文字列を作成」
これの方法が見つかりません。

詳しくは調べますので、ヒントをお願いいたします。
0037nobodyさん2009/09/17(木) 10:45:05ID:???
そういう方向でのサンプル
$ratio = array(1=>40,2=>30,3=>20,4=>5,5=>3,6=>2);
$randstr="";
$randnum=0;
foreach( $ratio as $eachkey => $eachval ){
$randstr .= str_repeat($eachkey,$eachval);
$randnum += $eachval;
}
$rand = mt_rand(1,$randnum);
print substr( $randstr , $rand ,1);
0038nobodyさん2009/09/17(木) 11:02:12ID:???
皆はさ、PHPってどうやって学習したわけ?
自分の部屋で一人で構文やデータベース構築などやったの?
それとも会社とか学校で人に教えられながらとか、元々ほぼ設定されていたところで勉強したとか
どんな環境で勉強したの?
0039nobodyさん2009/09/17(木) 11:27:45ID:???
>>38
>自分の部屋で一人で構文やデータベース構築などやったの?

やったよ

10年前のphp3の頃の話だが。
0040nobodyさん2009/09/17(木) 11:35:46ID:???
>>38
自分の部屋でコツコツやってたな。
学校は商学部だったしプログラムの類は一切やったこともなかった。
趣味のホームページ作りが高じてって感じかな。
深くやるつもりもなかったしネットに転がってたマンモス本を読んで基礎を学んだ。
そこから2chのこのスレ(もう4.5年前だが)で質問して色々教えてもらって、
スレ眺めながらたまに出るいい質問と回答を見ながら勉強したもんだ。
どういうわけか今じゃ基本情報なんて資格もとるほど結構はまってる。
結局今やってる仕事とは無関係で趣味の領域ではあるけどね。
0041nobodyさん2009/09/17(木) 13:03:32ID:???
>>28
よく分からんがこうか?
$val = 65535;
echo base64_encode ( pack( "H*", dechex($val) ) );
0042202009/09/17(木) 13:19:40ID:nJam0Pem
>>35
ありがとうございます。ばっちり変換されました!
0043nobodyさん2009/09/17(木) 13:21:30ID:gTpdsldO
GoogleSafebrowsing使ってみたいのですが
APIキーを取得してmd5化されたブラックリストを取得してきたところまでうまくいきまして、それと任意のドメインを比較する所で質問です。

Googleの診断ページで危険と診断されるドメインをmd5()した文字列が、そのリストに含まれていないのに
http://safebrowsing.clients.google.com/safebrowsing/diagnostic?&hl=ja&site=martuz.cn
では危険と診断されています。

どなたかGoogleSafebrowsing使ってうまくいってる方いらっしゃいますでしょうか…
あと、素朴な疑問なんですがなんでGoogleがくれるブラックリストはmd5化してあるのでしょうか?

@
PHP4.4.4
CentOS
0044nobodyさん2009/09/17(木) 14:03:27ID:???
>>37
あ、あ、あ、あ、ありがとうございます。

何か、内容がチンプンカンプン(^^;
PHP辞典で調べながら習得したいと思います。
ありがとうございました!!
0045nobodyさん2009/09/17(木) 14:14:52ID:???
>>37さん
ようやく概要が見えてきました。

「指定の割合で1-6の数字が含まれる文字列を作成」
は、この文字列↓を生成する、って事だったんですね!
1111111111111111111111111111111111111111222222222222222222222222222222333333333333333333334444455566

すごく勉強になったと共に、思いつかなかったアイデアで驚きです。
これで十分に求めている事が出来ます。

ほんとうに本当にありがとうございました!
0046nobodyさん2009/09/17(木) 14:27:12ID:???
>>45
ごめん。
$rand = mt_rand(1,$randnum); を
$rand = mt_rand(0,$randnum-1); にしてね。
0047nobodyさん2009/09/17(木) 14:56:51ID:3Z6JGFqV
すいませんtestって出力したいのですがエラーがでます。
どこか間違ってる箇所がございましたらご教授お願いします。

<?php
print "test";
?>
0048nobodyさん2009/09/17(木) 14:58:32ID:???
>>47
エラー内容は?
0049nobodyさん2009/09/17(木) 15:06:39ID:???
>>33
ありがとうございました
0050nobodyさん2009/09/17(木) 17:36:06ID:???
>>39
PHP3ってそんな昔からあるのか。
どうやってPHP3の存在を知ったの?
0051nobodyさん2009/09/17(木) 17:37:31ID:???
10年前ならADSLが出てきたぐらいだったから普通にインターネッツで調べられるわな
0052nobodyさん2009/09/17(木) 17:41:42ID:9yQ2lneq
PHPでTCPの3ウェイハンドシェイクをやりたいのですが
どうやればいいですか?
socket_createのSOCK_RAWでやればいいと思うのですが
それ以降どうやればいいのか分かりません
0053nobodyさん2009/09/17(木) 17:44:39ID:???
>>47
こちらでは、なんのエラーもなく
実行されているが?
0054nobodyさん2009/09/17(木) 18:04:43ID:???
>>50
ネットやっててWeb制作してれば自然とphpという文字が目に入ってくるからな。

PHP/FIとかの時代はperl触ってたわ
HTML埋め込み型ってのにひかれてPHPはじめた
0055nobodyさん2009/09/17(木) 18:45:23ID:???
>>46
何か、たまに取得できないな〜、
って思って調べていた所でした。

またまた助かっちゃいました。
ありがとうございました!!
0056nobodyさん2009/09/17(木) 20:24:04ID:???
>>40に同じく
サイト作ってたら必要になって、って感じ
0057nobodyさん2009/09/17(木) 20:27:16ID:???
>>54
>HTML埋め込み型ってのにひかれてPHPはじめた

同じだわ
学生の頃、まだblogとか無いときに、HTML/CSSを勉強して、次は動的ページにとなった時に
Perlは正直サンプルのソースが懲りすぎてて俺にはわかりにくくて挫折した。
そんな時にHTMLに埋め込む形で作成できるphpと出会い、簡単に動的ページ作れて感動した。
0058282009/09/17(木) 22:13:50ID:h/ZKc5z/
>>41
意図した結果になりました。
pack()は試してたんですが、dechex()も使うとは気付きませんでした・・・
早々にレスを頂けて助かりました。
0059nobodyさん2009/09/17(木) 22:31:31ID:???
皆コツコツとPHP勉強してんだな・・・
0060nobodyさん2009/09/17(木) 22:47:28ID:???
そして次第にHTML埋め込み型は可読性に欠けてメンテナンス性に優れないため、
結局分離して作っていく流れになるんだよな。
0061nobodyさん2009/09/17(木) 23:01:05ID:???
案件によるのでは
0062nobodyさん2009/09/17(木) 23:47:27ID:???
構文よりOOPやらのほうが厄介
0063nobodyさん2009/09/17(木) 23:48:19ID:???
フレームワークが使えるようになれば問題ないさ
0064nobodyさん2009/09/17(木) 23:57:28ID:???
OOPなら、ある程度PHPのシステム作っていけば、多少は自然と出来るようになるんじゃないかな。
作ってたシステムが大きくなりすぎれば、否応無くOOP的なプログラムを書かざる得ない状況になる
0065nobodyさん2009/09/17(木) 23:59:19ID:???
cakeとかZFとかはデザイナには無理
0066nobodyさん2009/09/18(金) 00:12:43ID:???
そりゃプログラマじゃないから全てフレームワークを理解するのは無理だろう
だいたいデザイナってデザインが仕事だしまともな会社ならそれ以上のことはさせられない
まともじゃない会社でもview部分だけいじらされるだけなんじゃね
0067nobodyさん2009/09/18(金) 00:15:07ID:???
「PHPフレームワークで生産性が上がった」という場合、本当に重要なのはMVC構造の導入だったりする事が多いからな。
0068nobodyさん2009/09/18(金) 00:28:21ID:???
それがフレームワークの一番の機能では?
0069nobodyさん2009/09/18(金) 00:36:35ID:???
♪モーデル、ヴュー、コントローラー
0070nobodyさん2009/09/18(金) 04:12:01ID:yZl5pJrO
ある文字列が全部半角かどうかを調べるにはどうしたらいいですか?
0071nobodyさん2009/09/18(金) 05:58:42ID:???
半角カナのこと?
それとも英数字のこと?
0072nobodyさん2009/09/18(金) 06:11:30ID:???
英数字です
外国からSPAMされてるので・・
0073nobodyさん2009/09/18(金) 06:44:23ID:???
$string = "This is a pen.";
if( preg_match('/^[\x20-\x7f]+$/',$string) == 1){
    echo "日本語でおk";
}
文字列$stringの最初から最後までが\x00-\x7f(ASCIIコード)の範囲内のみであれば日本語でおkと表示する
文字列には改行などの制御文字が入ることが予想されるので16進で書いた方がスマートで分かりやすいかな
0074nobodyさん2009/09/18(金) 06:44:50ID:???
それじゃこれ参考に
http://e-words.jp/p/r-ascii.html

制御文字も含めるなら\x00-\x7f
スペースを含めた図形文字だけなら\x20-\x7e
図形文字のみなら\x21-\x7e

実証コード
<?php
$str = "<a href=\"mailto:[email protected]\">mail me!</a>";
if (preg_match('/^[\x00-\x7f]+$/', $str)) {
echo "spam";
}
?>
0075nobodyさん2009/09/18(金) 06:45:30ID:???
盛大にかぶっtt
0076nobodyさん2009/09/18(金) 06:47:12ID:???
全く同じコードw
0077nobodyさん2009/09/18(金) 07:07:13ID:???
ワロタ

条件式で、==使うのと使わないのとで遅い早いとかあるんだっけというの
だけふと気になった
0078nobodyさん2009/09/18(金) 08:46:55ID:???
ttp://www.youtube.com/watch?v=YYvOGPMLVDo
0079nobodyさん2009/09/18(金) 08:52:27ID:???
CVSリポジトリやらグループ開発したことない初心者が集って
グループ開発を体験してみようなんていう2chでのプロジェクトってないのかね
SourceForge当たり使って誰でも参加可能な感じで
0080nobodyさん2009/09/18(金) 10:46:36ID:???
初心者以外の誰得
君が作ればいいじゃん
0081nobodyさん2009/09/18(金) 10:57:29ID:???
まずはsvnとか使わずにグループ開発させて、デグれさせてから
svn導入すると感動すると思うw
0082nobodyさん2009/09/18(金) 11:04:16ID:???
>>80
SEは求めすぎだとしてもプロジェクトリーダー経験者ぐらいじゃないと
段取りがわからなくてまとめられないと思うから自分じゃ無理なんだわ
昔はなんかそういうスレあった気がするけどもうやってないんだろうね
0083nobodyさん2009/09/18(金) 11:06:58ID:???
> 自分じゃ無理なんだわ
スレチな話題を平気な面して書き込むぐらいだから言わなくても分かるよ
0084nobodyさん2009/09/18(金) 11:07:27ID:???
やらなきゃ覚えないよ
0085nobodyさん2009/09/18(金) 11:11:13ID:???
>>43
やってみましたが、確かにないね。
0086nobodyさん2009/09/18(金) 11:14:36ID:???
別にスレチじゃないんだけどな
0087nobodyさん2009/09/18(金) 11:18:14ID:bD/6aRH+
ファイルの種類に合わせて処理を分岐させたいと思い、
mime_content_typeでファイルの情報を調べようとしたら
Call to undefined function mime_content_type()
というエラーが出ました。

これはmime_content_type関数が無いという意味ですよね?
こういう場合どうしたらいいのでしょうか?PHPは5.2.5です。
0088nobodyさん2009/09/18(金) 11:19:50ID:???
お前らもサッサとコンストラクタをガンダムで例えて表現しろよ!
どっかのスレの質問者がお怒りだぞ!
0089nobodyさん2009/09/18(金) 11:21:07ID:???
>>87
mime_content_typeで検索すると
http://www.syuhari.jp/blog/archives/770
ってのがあったけど

> PHP マニュアルには mime_content_type 関数は非推奨で、PECL の Fileinfo を使用するように書かれている。
だそうだ。
0090nobodyさん2009/09/18(金) 11:32:13ID:???
答えるのはいいがなんでいい加減なソースを出すんだ
公式マニュアルに誘導してやれよ
http://jp.php.net/manual/ja/book.mime-magic.php
0091nobodyさん2009/09/18(金) 11:41:40ID:???
>>90
そうだな
すまんかった

fileコマンドを使った代替関数が載ってたから、PECL使うより敷居が低かろうと思ってな
0092nobodyさん2009/09/18(金) 12:00:56ID:+5AwuBV9
xamppに入ってるphp.iniと本家からダウンロードしたphpのphp.ini.recommentedみたいな名前の設定ファイルで
設定が異なる部分ってどこでしょうか?
xamppを導入したいのですがなるべくphp.ini.recommentedの設定にあわせたいのです
0093nobodyさん2009/09/18(金) 12:02:59ID:???
自分でdiff取った方が早いとおもうぞ
0094872009/09/18(金) 12:05:41ID:bD/6aRH+
公式にはPECLのFileinfoを使えとあり、現在の環境にインストールを
試みたのですが、なぜか上手く行きません・・。
WindowsのPHPが原因かも知れませんが、ネットで調べると
同じようにインストールできない人がいます。

それで>>89さんの方法が手っ取り早いかと思い、
ソースをコピーして実行しても何も出力されません。
おそらくWindows環境なのでexecのfileコマンドが動作してないと思います。

と言うわけで、自分の環境に問題がありそうなので環境を見直します。
>>89-90さん、ありがとうございました
0095nobodyさん2009/09/18(金) 13:14:33ID:???
index.php3
ナツカシス
0096nobodyさん2009/09/18(金) 13:15:26ID:???
>>92分かる方お願いします
0097nobodyさん2009/09/18(金) 13:36:39ID:???
>>96
だからdiffを(ry

xampp落としてきてdiffとって見たが、差分多すぎて書ききれないぞ?
ざっと見た限り、xmappはメモリ使用量とか多めになってるみたいだな
とりあえず一部だけ抜粋な

※()内がphp.ini.recommented
max_execution_time = 60 (30)
memory_limit = 128M (8M)
error_reporting = E_ALL & ~E_NOTICE & ~E_DEPRECATED (E_ALL)
display_errors = On (Off)
display_startup_errors = On (Off)
log_errors = Off (On)
post_max_size = 128M (8M)
extension_dir = "\xampp\php\ext" ("./")
include_path = ".;\xampp\php\PEAR" (".;c:\php\includes")

で、extensionも結構違うから、xmappのphp.iniを素直に使ったほうがいい。
なるべくphp.ini.recommentedにあわせたいといっても、php.ini.recommentedの設定にしたら
動かなくなる箇所もあるからな。
やっぱり自分で差分みて一つ一つ確認するのが良い
0098nobodyさん2009/09/18(金) 14:11:46ID:???
>>97
デマ乙
本家のiniでもメモリリミット128MBに設定されてますよ
0099nobodyさん2009/09/18(金) 14:15:15ID:???
普通に公式のPHP入れればいいのでわ?
0100nobodyさん2009/09/18(金) 14:19:04ID:???
>>98
すまんかった、見てるphpが違った・・・
0101nobodyさん2009/09/18(金) 14:19:30ID:???
>>98
5.2以前と5.2とそれ以降で違うみたいだね
■ このスレッドは過去ログ倉庫に格納されています