【PHP】下らねぇ質問はID出して書き込みやがれ 88
レス数が950を超えています。1000を超えると書き込みができなくなります。
0001nobodyさん
2009/09/16(水) 09:39:37ID:???過去スレ、関連スレ、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等)・フレームワークは各該当スレへ
0870nobodyさん
2009/10/09(金) 10:32:02ID:???$data = array('1','2','3','4','5');
print_r (combinations3( $data, 3));
function combinations3( $array , $num ) {
$n = count($array);
$x = (1 << $num ) -1;
$ret = array();
while ( ! ($x & ~( (1 << $n ) -1 ))){
$ret[] = arrayset($x,$array,$n);
$x =nextp($x);
}
return $ret;
}
function nextp($x) {
$s =$x & -$x;
$r = $x + $s;
$n = $r & -$r;
return ($r | ((floor($n/$s )>>1)-1));
}
function arrayset($x,$array,$n){
$r = array();
for( $i =1;$i<= $n;$i++){
if($x & 1) $r[] = $array[$i-1];
$x = $x >>1;
}
return $r;
}
0871nobodyさん
2009/10/09(金) 10:55:42ID:tvzB35Y7シェル関数を使い、PHPを実行させたいのです
$command = 'php /virtual/hoge/hoge/hoge.php';
$output = shell_exec("{$command} 2>&1");
print_r ($output);
これを実行すると
Warning: shell_exec() [function.shell-exec]: Unable to execute
このようなエラーになります
$command の中身をlsとかtopにしたらちゃんと実行されます
PHPからPHPをたたく?ということは置いておいて
$command の記述が間違えているのでしょうか?
0872nobodyさん
2009/10/09(金) 10:57:15ID:SDpPJ8L7abcd12345
0873nobodyさん
2009/10/09(金) 10:58:54ID:???0874nobodyさん
2009/10/09(金) 11:00:03ID:???0875nobodyさん
2009/10/09(金) 11:00:46ID:mskr8tQ20876nobodyさん
2009/10/09(金) 11:02:28ID:???0877nobodyさん
2009/10/09(金) 11:06:37ID:???こんなとこで質問するなんて釣りだろ
おまえら釣られんなよw
0878nobodyさん
2009/10/09(金) 11:11:56ID:???0880nobodyさん
2009/10/09(金) 11:37:26ID:???ttp://www.kiyori.co.jp/MD5Reverse/Default.aspx
0881nobodyさん
2009/10/09(金) 11:41:57ID:???復号できないものを暗号とはいいません
0882nobodyさん
2009/10/09(金) 11:46:10ID:???0883nobodyさん
2009/10/09(金) 11:51:56ID:tvzB35Y7ありがとうございます
さっそく実行しましたが同じエラーが出ました
0884nobodyさん
2009/10/09(金) 12:13:18ID:???やったことないけど
0885nobodyさん
2009/10/09(金) 13:20:47ID:tvzB35Y7ありがとうございます
同じエラーが出たので-fオプションで試したところ
sh: fork: Resource temporarily unavailable
このようなエラーに変わりました
これはどういうことでしょうか?
0886nobodyさん
2009/10/09(金) 13:24:19ID:???0887nobodyさん
2009/10/09(金) 13:39:16ID:???0888nobodyさん
2009/10/09(金) 13:49:33ID:???実行しているのは自分で管理しているサーバ?
レンタルサーバだとプロセス数で制限かかってたりするからforkできなかったりするよ
0889nobodyさん
2009/10/09(金) 13:57:42ID:???0890nobodyさん
2009/10/09(金) 14:32:05ID:???0891nobodyさん
2009/10/09(金) 14:32:38ID:???0892nobodyさん
2009/10/09(金) 14:36:12ID:l1yyeg000893nobodyさん
2009/10/09(金) 14:41:24ID:???0894nobodyさん
2009/10/09(金) 14:43:30ID:tvzB35Y7>>887
わからないならスレ汚しになるのでいちいちレスしなくていいですよ
>>888
的確なお答えありがとうございます
レン鯖なので制限かかってるみたいです
ありがとうございました
0895nobodyさん
2009/10/09(金) 14:50:13ID:???http://www.google.co.jp/search?hl=ja&rlz=1B3GGGL_ja___JP215&tbo=p&tbs=qdr%3Ay15&q=%28shell+OR+%E3%82%B7%E3%82%A7%E3%83%AB%29+fork+%E3%83%97%E3%83%AD%E3%82%BB%E3%82%B9&btnG=%E6%A4%9C%E7%B4%A2&lr=
0896nobodyさん
2009/10/09(金) 14:53:49ID:???0897nobodyさん
2009/10/09(金) 14:58:55ID:???【PHPのバージョン】php5.1.6
【連携ソフトウェア】特になし
【質問内容】
mb_convert_kana() の文字化けに困っています。
$ins_s = "?`?a?b?cアイウエオ";
var_dump($ins_s);
$out_s = mb_convert_kana($ins_s, "KSA", "SJIS");
var_dump($out_s);
スクリプトの文字コードはSJISです。
上記のソースで以下の様に $ins_s の4文字(fa60, fa61, fa62, fa63)が?(3f)に化けます。
string(13) "?`?a?b?cアイウエオ"
string(14) "????アイウエオ"
化ける文字は上記の文字に限らず、第3水準(FA40 - FC4Bに配置されている文字)
の文字だと概ね化けるようです。
php.ini の関連すると思われる設定は以下の様にしています。
解決方法があればお願いします。
mbstring.language = Japanese
mbstring.internal_encoding = SJIS
mbstring.http_input = pass
mbstring.http_output = pass
mbstring.encoding_translation = Off
0900nobodyさん
2009/10/09(金) 22:57:41ID:???0901nobodyさん
2009/10/09(金) 23:02:11ID:???0902nobodyさん
2009/10/09(金) 23:27:17ID:+N74k5r8登場人物
マニュアル君
正規表現クン
0903nobodyさん
2009/10/09(金) 23:28:44ID:???0904nobodyさん
2009/10/09(金) 23:34:06ID:+N74k5r8オメー自分のレスをよく読んでからからにしろ
テンプレに追加
揚げ足鳥クン
0905nobodyさん
2009/10/09(金) 23:35:31ID:???0906nobodyさん
2009/10/09(金) 23:35:45ID:???0907nobodyさん
2009/10/09(金) 23:38:50ID:+N74k5r80908897
2009/10/10(土) 00:29:37ID:???あ、投稿も化けてますね…。
> $out_s = mb_convert_kana($ins_s, "KSA", "sjis-win");
これで解決しました。�d。
0909nobodyさん
2009/10/10(土) 03:41:41ID:K/ciw02z【PHPのバージョン】xampp-win32-1.7.2に入っているバージョンで多分最新だと思います。
【連携ソフトウェア】なし。
【質問内容】
<?php
$str = 'プログラム1/PHP';
//カタカナ1文字以上+半角数字1文字+「/」+半角英大文字1文字以上にマッチ
if(mb_ereg("([ア-ン]{1,}[0-9])/([A-Z]{1,})", $str, $ARRAY)){
print $ARRAY[0];
echo "<pre>";
print $ARRAY[1];
echo "<pre>";
print $ARRAY[2];
}
↑を実行すると↓の表示になります。
[ア-ン]{1,}で、『プログラム』を全部拾えないのでしょうか?
ム1/PHP
ム1
PHP
0910nobodyさん
2009/10/10(土) 04:19:11ID:???0911nobodyさん
2009/10/10(土) 06:08:24ID:CsfH1goLトンチンカンな回答ばかりで、
解決ができなったので、
こちらでお伺います。
ユーザーIDに漢字を使いたいという客がいるのですが、
ユーザーIDに漢字を使うことの致命的なデメリットはなんでしょうか?
私もつかった事例がないので、分かりませんが、
文字コードの問題などは技術的に解決できると思うのですが。
宜しくお願いします。
0912nobodyさん
2009/10/10(土) 07:45:49ID:???0913nobodyさん
2009/10/10(土) 07:48:24ID:???実際、ゲームのサイトとかで漢字のユーザーIDが使えるところは結構あるだろ?
>>911の意図するユーザーIDとは違うのかもしれないが。
0914nobodyさん
2009/10/10(土) 07:49:55ID:???コンピューターはもともと欧米が先進となって
英数字などの1バイト文字を扱うことを前提に設計されてきたので
昨今の国際化によって徐々にマルチバイト文字でも問題ないようにはなってきてるが
やはりそれでもコンピューターにとって扱いやすいのは1バイト文字であるということ
そんな事情で通常コンピューターに処理させるような工程には1バイト文字を使うことが多い
マルチバイトにすることによって発生するデメリットといえば
処理速度が少し落ちるということぐらいではないかな
0916nobodyさん
2009/10/10(土) 09:02:39ID:???0917nobodyさん
2009/10/10(土) 09:10:11ID:???そもそもこれあかんでしょ。SJISはバグつきなんだから基本的にご法度だよな。
別にユーザ名漢字でもいいけど、エスケープするからそのまま読み取れないし、長くてデータの無駄遣いだろ。
個人的にはヤダ。
0918nobodyさん
2009/10/10(土) 09:21:56ID:???おいおいこの程度の知識で語って大丈夫か?
0919nobodyさん
2009/10/10(土) 09:32:36ID:???テンポラリフォルダなんかのユーザー毎に分けられるエントリに全角文字が含まれて、
それが原因で上手く動かないアプリケーションが出てきたりする。
そういう状況を嫌って全角文字を避けたりするような。
「上手く動かないアプリケーション」を修正するなり使わないなりする選択肢もあるけど、
それにかかるコストに比して、得られるものは結局のところ自己満足でしか無いというか。
>>913のいうようなゲームのサイトみたいに、
一定の閉鎖環境であれば検証・修正にかかるコストも限定化されるけど、
パソコンみたいに不特定のアプリケーションが入ってくる環境だと切りが無いよね。
0920nobodyさん
2009/10/10(土) 10:04:47ID:???0921nobodyさん
2009/10/10(土) 10:06:11ID:???0922nobodyさん
2009/10/10(土) 10:37:42ID:???SJISでdate("Y年m月d日")とかやると
年(0x944E)とdate関数のformat文字「N(0x4E)」がかぶってるために文字化けする。
こういうのを一つ一つ意識して作るのが面倒ならSJIS以外を使った方がいいよ。
0923nobodyさん
2009/10/10(土) 10:48:36ID:???その処理の前にmb_regex_encoding('SJIS');
UTF-8なら"UTF-8"。
php.iniのmbstring.internal_encodingを編集してもいい。
正規表現はそれで問題ないが、「1文字以上」は普通+を使うと思う。つまり"([ア-ン]+[0-9])/([A-Z]+)"。
0924nobodyさん
2009/10/10(土) 12:44:41ID:???デリミタが入ってない件
ereg系は推奨できない件
mb_ereg("![ア-ン]+[0-9]+?/[A-Z]+!", $str, $ARRAY)
0926909
2009/10/10(土) 12:50:11ID:K/ciw02zおお、ありがとうございます。
>mb_regex_encoding('SJIS');
で、解決しました。 感謝します。
しかし、この SJISとUTF-8の違いがなんだかさっぱりわかりませんw
0928909
2009/10/10(土) 13:20:07ID:K/ciw02z<?php
mb_regex_encoding('SJIS');
$str = 'プログラム1/PHP';
if(mb_ereg("([ア-ン]+[0-9])/([A-Z]+)", $str, $ARRAY)){
print $ARRAY[0];
echo "<pre>";
print $ARRAY[1];
echo "<pre>";
print $ARRAY[2];
}
↑だと意図した通りに表示されるのですが、↓だと何も表示されません。 これはどういうことでしょうか?
<?php
mb_regex_encoding('SJIS');
$str = 'プログラム1/PHP';
if(mb_ereg("!([ア-ン]+[0-9])/([A-Z]+)!", $str, $ARRAY)){
print $ARRAY[0];
echo "<pre>";
print $ARRAY[1];
echo "<pre>";
print $ARRAY[2];
}
0929nobodyさん
2009/10/10(土) 13:35:54ID:ogMq/uQO0930nobodyさん
2009/10/10(土) 13:44:39ID:???正規表現勉強しろ。
"([ア-ン]+[0-9]/[A-Z]+("
でもいけるんじゃない?
>>929
(a+b)/c は a+b/c とちがうからな。
0931nobodyさん
2009/10/10(土) 13:50:10ID:????
([ア-ン]+[0-9])/([A-Z]+)と書かないで[ア-ン]+[0-9]/[A-Z]+でいいだろって言ってんの
0932nobodyさん
2009/10/10(土) 14:58:00ID:???924の言う事は嘘
mb_ereg()にデリミタは存在しない
>>931
mb_ereg()の第三引数の意味調べな
0933nobodyさん
2009/10/10(土) 15:40:59ID:???「漢字を使う」て具体的にどういうことかなあ。
ユニークにならないとダメだから
一、二、三。。なら使えるけど例えば名前だとダメ。
というわけでシステム?が勝手に割り振るのならまだしも
「利用者が好きな文字を選ぶ」ってことなら
被ってないかの検証もいるねー。
0934nobodyさん
2009/10/10(土) 17:57:54ID:???坊っちゃん(1906年4月、春陽堂刊『鶉籠』収録)
草枕(1906年9月、『新小説』/『鶉籠』収録)
...
--------------------------------------------------
の様な文章から、
$author($date、$entry)
の様な指定で、文字列を取得するのに、良い関数はないでしょうか。
0936nobodyさん
2009/10/10(土) 18:31:07ID:???0937909
2009/10/10(土) 18:34:52ID:K/ciw02z> 924の言う事は嘘
> mb_ereg()にデリミタは存在しない
どうもです、了解しました。
0938nobodyさん
2009/10/10(土) 19:49:22ID:WBQCef66質問20問をラジオボタンで答えてもらい、結果を判定するサイトです。
ラジオボタンの値は、20問すべて(0,1,2)のどれか3つです。
これ以外の数値、又は、文字列がポストされた場合、
エラーメッセージを表示したいのですが、上手くいきません。
(0,1,2)のすべて正常な場合もエラーになってしまいます。
8月からPHPを始めたばかりなので、初歩的なミスかとも思いますが、
よろしくお願いします。
if ($data = $_POST){
foreach ($data as $value) {
if (($value != "0") || ($value != "1") || ($value != "2")){
$er_ms = '不正な値が入力されています';
$_SESSION['er_ms'] = $er_ms ;
header('Location: http://hoge.jp/hoge.html');
exit;}}
}
0939nobodyさん
2009/10/10(土) 19:54:47ID:???でしょ?
||じゃなくて&&
0941nobodyさん
2009/10/10(土) 20:26:45ID:WBQCef66ありがとうございます。
どうしてエラーにひっかかるのか理解できました。
なるほどです。これで一歩前進できました。
0942nobodyさん
2009/10/10(土) 20:27:14ID:???0943nobodyさん
2009/10/10(土) 21:17:44ID:WBQCef66レスありがとうございます。
不等式も考えたのですが、整数以外の桁数の多い小数など
を入れられた場合もエラーにした方が良いと思い、>>938 のように
してみました。
だけど、&&で大丈夫だと思ったら、どこか別のとこがおかしいみたい。。
再度、検討中です。
0944nobodyさん
2009/10/10(土) 21:54:43ID:???ありがとうございました。
なんとか && で出来たみたいです。
構文がおかしいのかと考えていたのですが、
if文の中に、if文を入れ子にしていて、どこかおかしくなってたみたい。
if文を独立させたら、やっと動きました。
ありがとう!
0945nobodyさん
2009/10/10(土) 22:04:23ID:Y6o2B77j画像アップロードについての質問です。
たとえばSNSみたいなサイトを作るとき、プロフィール写真とかを
アップロードすると思います。
アップロード(保存)の仕方について、二通りあるとおもいます。
・DBに保存する(mediumblobとかで)
・img/とかのファイルに保存する
後々のこと(ajax使うとか、サムネイルを作るとか)を考えたとき、
どっちがいいのでしょうか?
できたらその理由も教えてください。
0946nobodyさん
2009/10/10(土) 22:33:57ID:m/iUbtet現在pixivが落ちてますがphpの糞仕様が原因ですか?
それともphperのノースキルが原因ですか?
0948nobodyさん
2009/10/10(土) 22:50:05ID:???SNSの場合、一般的には全てデータベースで運用するので、
写真用にわざわざ管理領域を広げるよりもデータベースで一緒にやってしまったほうがいい。
0949nobodyさん
2009/10/10(土) 22:50:37ID:m/iUbtet0950nobodyさん
2009/10/10(土) 23:49:25ID:4SjhHbkn先輩方、ご回答よろしくお願いします。。。 Orz
0951nobodyさん
2009/10/10(土) 23:53:05ID:???0953nobodyさん
2009/10/11(日) 05:58:56ID:???0954nobodyさん
2009/10/11(日) 07:32:32ID:???有名どころのプログラムならコードもきれいだと重い、phpBB、XOOPS、WordPressなどを
ダウンロードしてみましたが、どれもdefineや関数で名前空間汚しまくりでした。
defineが必ずしも悪とも思いませんが、上記のような大規模なプログラムでは望ましくないと思ってます。
読んでて気が引き締まるような美しいPHPのプログラムを教えてください。
0959nobodyさん
2009/10/11(日) 11:32:46ID:???0960nobodyさん
2009/10/11(日) 11:33:14ID:???関数とdefineが気にくわないなら、
とりあえずZend FrameworkとZend Frameworkコーディング規約嫁。
>phpBB、XOOPS、WordPress
PHPでOOPをやろうって習慣が無い時代のコードなので仕方無い。
まぁ大規模コードを書く場合はコードの美しさより、設計の美しさの方が可読性に影響すると思うが。
0961nobodyさん
2009/10/11(日) 11:58:07ID:I91rw7dl俺様が勉強させてやるから感謝しろよks
smartyでテンプレートとデータを分けて出力結果みたいにするにはどうやればいいのか教えろ
HTMLのテンプレート
<html>
<head>
<title>{$title}</title>
</head>
<body>
<h1>{$h1}</h1>
</body>
</html>
データファイル
<?php
$title="ホームページ";
$h1="見出し1";
?>
出力結果
<html>
<head>
<title>ホームページ</title>
</head>
<body>
<h1>見出し1</h1>
</body>
</html>
0962nobodyさん
2009/10/11(日) 12:04:08ID:???0963nobodyさん
2009/10/11(日) 12:04:53ID:I91rw7dl0964nobodyさん
2009/10/11(日) 12:09:05ID:???0965nobodyさん
2009/10/11(日) 12:21:47ID:???そんなのチュートリアルレベルだろ。
その辺の入門解説読んでも分からんのなら、どこがどう分からないかを書くべし。
0966nobodyさん
2009/10/11(日) 12:55:25ID:???学校の宿題か何かだろう。
0967nobodyさん
2009/10/11(日) 13:04:53ID:???どこかでassignしなきゃ一生出力されない
あとはググれカス
0968nobodyさん
2009/10/11(日) 13:18:15ID:I91rw7dlそんな事貴様に言われなくてもわかってんだよks
smartyでのやり方を聞いてんだksg
0970nobodyさん
2009/10/11(日) 14:01:36ID:I91rw7dlてめえうぜええぞksg
レス数が950を超えています。1000を超えると書き込みができなくなります。