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

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

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

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

◆質問用テンプレ
【OS名】CentOS
【PHPのバージョン】5.3
【連携ソフトウェア】MySQL ImageMagick
【質問内容】

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

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

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

【その他諸注意】
・SQL・正規表現・PEAR・テンプレート(Smarty等)・フレームワークは各該当スレへ
0152nobodyさん2012/05/22(火) 18:05:53.59ID:HkNSz1V0
連投すみません。sageてしまってますね申し訳ないです。
0153nobodyさん2012/05/22(火) 18:09:17.20ID:???
試せば?
0154nobodyさん2012/05/22(火) 21:39:31.27ID:???
配列とかオブジェクト指向のお手本はまだかよ
0155nobodyさん2012/05/22(火) 21:48:08.66ID:???
悔しいですか
0156nobodyさん2012/05/22(火) 22:40:43.51ID:???
>>151
Apache 2の場合は中断した時点でmod_phpに処理が移る
それからリクエストをパースするので $_FILES が空っぽだったり UPLOAD_ERR_* がセットされてたり
Apacheのエラーログにデータが壊れてる的なメッセージが残ると思うよ
0157nobodyさん2012/05/22(火) 22:44:37.00ID:???
配列とオブジェクト指向を美しいコードを書き上げたんだが
ハードディスクが飛んでしまってな

すまん
0158nobodyさん2012/05/22(火) 22:45:57.55ID:???
このスレ的にはオブジェクト指向は禁止。

25. オブジェクト指向
 → 使用しないこと。実装が中途半端だという説もありますが、
  PHP自体遅いのでOOPするとさらに遅くなり、実用に耐えません。
0159nobodyさん2012/05/22(火) 22:52:09.13ID:???
遅いっていつの時代だよ
0160nobodyさん2012/05/22(火) 22:55:43.23ID:???
>>159

泣きたくなるくらい遅いが。

http://shootout.alioth.debian.org/u32/which-programming-languages-are-fastest.php
0161nobodyさん2012/05/23(水) 00:00:48.50ID:???
【OS名】windows7 64bit home
【PHPのバージョン】5.4
【連携ソフトウェア】ナシ
【質問内容】
hogeのオブジェクトを作成する時、
newを使わずに作成することってできますか?

phpでnewを使うとこんなコードを
<?php
class hoge{
public $a;
};
$huga = new hoge;
$huga->a=0;
?>

C++ですが、以下の様な感じにしたいのです
class hoge{
public:
int a;
};
hoge huga;
01621612012/05/23(水) 00:01:19.48ID:cSrVXiWd
すいませんsageてしまいました。
よろしくお願いします。
0163nobodyさん2012/05/23(水) 00:02:45.02ID:???
>>158
01641612012/05/23(水) 00:07:43.31ID:cSrVXiWd
>>163
ありがとうございます
クラスも使わないほうがいいのですね
0165nobodyさん2012/05/23(水) 00:09:01.09ID:???
>>164
OOPは別言語で学習した方が早道
01661612012/05/23(水) 00:13:14.86ID:cSrVXiWd
>>165
ありがとうございます!頑張ります。
0167nobodyさん2012/05/23(水) 00:23:42.47ID:???
>>161
無理
0168nobodyさん2012/05/23(水) 00:55:18.81ID:???
>>161-167
スタックとヒープも理解してない奴には無理だな
自演ならお前の巣でやれよ
http://kohada.2ch.net/test/read.cgi/php/1337174717/
0169nobodyさん2012/05/23(水) 01:01:56.14ID:???
このスレ的にはオブジェクト指向は禁止。

25. オブジェクト指向
 → 使用しないこと。実装が中途半端だという説もありますが、
  PHP自体遅いのでOOPするとさらに遅くなり、実用に耐えません。
0170nobodyさん2012/05/23(水) 03:39:29.14ID:???
何がしたいのかさっぱりわからんやつだな
0171nobodyさん2012/05/23(水) 03:57:17.50ID:???
>>161
PHPでは型が確定しないから、その書き方が出来ても意味が無い。
あとnew使っても同じ事だ。
C++のようにメモリリークしないから、どっちも同じ意味。
0172nobodyさん2012/05/23(水) 07:50:02.09ID:???
>>171
変数の型は常に確定してる。 そのあとに続く その書き方が出来ても の意味が分からない。
同じことだ も 意味がわからない。
メモリリークも何をいってんのかわからない。
0173nobodyさん2012/05/23(水) 08:23:52.36ID:???
PHPはCで書かれているからメモリリークくらいする
0174nobodyさん2012/05/23(水) 08:27:53.01ID:???
それはすごい理屈ですね
0175nobodyさん2012/05/23(水) 10:24:36.25ID:???
>>161
ただnew書くのがいやなだけなら
class Hoge
{
public static $a = "test";
}

echo Hoge::$a;
0176nobodyさん2012/05/23(水) 16:20:47.10ID:TJGP4myG
exec('stat -c %s '.$f_path)

で、ファイルサイズを取りたいんですが、
$f_pathに半角括弧が入ると、
sh: -c: line 0: syntax error near unexpected token `('
というエラーがでます。

どうしたらいいでしょうか。
0177nobodyさん2012/05/23(水) 16:23:19.10ID:TJGP4myG
【OS名】Plamolinux
【PHPのバージョン】5.3.10

環境書くのを忘れていました。
0178nobodyさん2012/05/23(水) 16:28:43.10ID:???
エスケープすれば
0179nobodyさん2012/05/23(水) 16:44:40.30ID:TJGP4myG
すみません。
エスケープ、どうすればいいですか。

普段はほとんどプログラミングをしないので。。
0180nobodyさん2012/05/23(水) 16:54:40.47ID:???
半角括弧ってなんだ?[]か?
0181nobodyさん2012/05/23(水) 16:57:23.23ID:TJGP4myG
() です。
0182nobodyさん2012/05/23(水) 16:59:45.95ID:???
str_replaceで括弧の前に\つけるとか
パスをダブルクオーテーションで囲むとか
0183nobodyさん2012/05/23(水) 17:03:49.49ID:TJGP4myG
str_replace(")","\)",str_replace("(","\(",$f_path));

こんな感じでしょうか。
0184nobodyさん2012/05/23(水) 17:28:38.31ID:???
>>176
http://www.php.net/manual/ja/function.escapeshellarg.php
ファイルサイズが欲しいだけならこちらを使うことを検討しよう
http://php.net/manual/ja/function.filesize.php
0185nobodyさん2012/05/23(水) 17:37:37.90ID:TJGP4myG
>>184
ありがとうございます。

実は、filesize()は2G以上でwarningが出てつかえなかったため、
statをgoogleで見つけました。

escapeshellarg,つかってみます。
0186nobodyさん2012/05/23(水) 21:30:57.53ID:???
こっちでしょ
0187nobodyさん2012/05/23(水) 21:31:27.39ID:???
・・・
http://www.php.net/manual/ja/function.escapeshellcmd.php
0188nobodyさん2012/05/23(水) 23:24:35.43ID:???
データベースから書籍の名前を拾いたいのですが、
タイトル以外に巻数が入っているため取り除きたいです。

例:うんこ(上)
  ちんこ(1)

など

$title = mb_ereg_replace("/(\(|().*(\)|))/","",$title);

としたところ、半角の()は取り除かれたのですが、全角の()が生きてしまいます。
間違っているところを教えていただければ幸いですまんこ。
0189nobodyさん2012/05/23(水) 23:25:53.22ID:???
質問文に下品な語を入れるクズは無視
0190nobodyさん2012/05/23(水) 23:41:00.28ID:???
PHPerらしい
0191nobodyさん2012/05/23(水) 23:49:39.15ID:PkGhovh9
$a1、$a2という配列がありそれぞれにデータが入っているんですが、
これを順番に処理するのに
for($i=1;$i<=2;$i+;){
とやってまわしたいです
$a$iとやって$a1$a2とはならないのですがどうしたらいいですか?
0192nobodyさん2012/05/23(水) 23:52:22.00ID:ZwH6zIo7
【OS名】windows7 64bit home
【PHPのバージョン】5.4
【連携ソフトウェア】ナシ
【質問内容】
http://www.php.net/manual/ja/language.variables.external.php
このページを参考にしてコードを組んでいるのですが、うまく動かないです
/* test.html */
<form action="foo.php" method="post">
Name: <input type="text" name="username" /><br />
<input type="submit" name="submit" value="Submit me!" />
</form>

/* foo.php */
<?php
echo $_POST["username"]; //これはok
import_request_variables('p', 'p_');  //この行でエラーが出ます
echo $p_username;
?>

この状態でtest.htmlのテキストボックスに"a"など文字列を入力して送信すると
PHP Parse error: syntax error, unexpected '@' in C:\inetpub\wwwroot\foo.php on line 3
とエラーが返ってきます
コードはこれで全文です。
何が悪いのでしょうか?import_request_variables()の第一引数を大文字にしてもダメでした
0193nobodyさん2012/05/23(水) 23:53:15.41ID:???
>>191
ttp://www.php.net/manual/ja/language.variables.variable.php
可変変数
0194nobodyさん2012/05/24(木) 00:03:47.53ID:+55qPOgp
>>193
有難う御座います
つたない説明なのにわかっていただけて助かりました
0195nobodyさん2012/05/24(木) 00:08:53.74ID:???
>>188
括弧の類が全て巻数を表すのなら2パスで処理する方がいいだろう

$dict = array(
  '(' => '(', ')' => ')',
  '【' => '(', '】' => ')',
  '[' => '(', ']' => ')',
);
$title = str_replace(array_keys($dict), array_values($dict), $title);
$title = mb_ereg_replace('\([^)]+\)', '', $title);
0196nobodyさん2012/05/24(木) 00:10:36.21ID:???
>>192
エスパーすると3行目に全角の空白が紛れ込んでる
01971922012/05/24(木) 00:30:14.10ID:3n08C3RY
>>196
ありがとうございます。一歩進んだような気がします。
半角、全角スペースをtest.html、foo.phpで置換したところ、エラーの内容が変わりました
PHP Fatal error: Call to undefined function import_request_variables() in C:\inetpub\wwwroot\foo.php on line 3
です
(form action、input typeだけは半角スペースを入れましたが)

php.exeのバージョンは5.4.3.0で、更新日時は2012/05/08 1:36です
年のため文字コードもUTF-8など試してみましたがダメでした
0198nobodyさん2012/05/24(木) 00:31:58.90ID:???
このスレ的にはオブジェクト指向は禁止。

25. オブジェクト指向
 → 使用しないこと。実装が中途半端だという説もありますが、
  PHP自体遅いのでOOPするとさらに遅くなり、実用に耐えません。
01991922012/05/24(木) 00:35:39.55ID:3n08C3RY
>>198
これもオブジェクト指向なんですか?
このままだとなにもできないです。。。。゚(゚´Д`゚)゚。
0200nobodyさん2012/05/24(木) 00:48:15.12ID:???
>>197
http://php.net/manual/ja/function.import-request-variables.php
このページのバージョン表示をよく見てみよう
import_request_variablesは5.4で削除されてる
02011922012/05/24(木) 00:48:55.52ID:3n08C3RY
>>200
おおおありがとうございます!
0202nobodyさん2012/05/24(木) 02:31:30.47ID:???
このスレ的にはオブジェクト指向は禁止。

25. オブジェクト指向
 → 使用しないこと。実装が中途半端だという説もありますが、
  PHP自体遅いのでOOPするとさらに遅くなり、実用に耐えません。
0203nobodyさん2012/05/24(木) 03:51:54.60ID:???
いい加減にしたらどうだ?
禁止してるのはお前だけだろ
だいたいテンプレにそんなのないし勝手につけないでください
0204nobodyさん2012/05/24(木) 08:47:13.70ID:???
さわんな
0205nobodyさん2012/05/24(木) 09:20:01.44ID:???
phpにできないことはない
0206nobodyさん2012/05/24(木) 09:29:31.24ID:???
C++のOOPはある程度高速だからお勧めー
0207nobodyさん2012/05/24(木) 09:57:55.51ID:???
ただの頭の悪い池沼患者
0208nobodyさん2012/05/25(金) 01:22:40.52ID:???
PHP(お勧め度☆)

スパムサイト、詐欺サイト、犯罪サイトに使われることが最も多い言語。
書き手の質も総じて低い。

著名なプログラマ:akiyan(ペニーオークション愛好家)

http://anond.hatelabo.jp/20110220013933
0209nobodyさん2012/05/25(金) 01:36:34.26ID:???
そうですか
0210nobodyさん2012/05/25(金) 01:50:01.17ID:???
PHPはボンクラ言語だから。
0211nobodyさん2012/05/25(金) 04:48:05.82ID:???
出会い系スパムの退会手続きをしてみたが
retire.phpという名前が共通してた
0212nobodyさん2012/05/25(金) 06:43:29.77ID:???
phpはfacebookから出会い系まで幅広く使われてるな
0213nobodyさん2012/05/25(金) 09:43:45.52ID:???
検定中
0214nobodyさん2012/05/25(金) 09:50:52.07ID:???
自動車学校の路上検定乙
0215nobodyさん2012/05/25(金) 10:58:12.95ID:???
>>208
理由がすごいなw
機能がどうとか、パフォーマンスがどうとかじゃなくてwwww
0216nobodyさん2012/05/25(金) 11:19:57.00ID:???
PHPの特徴と言えばこれだろw

IPA ISEC セキュア・プログラミング講座:Webアプリケーション編
第1章 総論
より良いWebアプリケーション設計のヒント
開発基盤選定における考慮事項の例
(1) プログラミング言語の選択
1) 例えば、PHPを避ける
       ~~~~~~~~~~~~~
今は書き換えられてるからアーカイブ参照
ttp://web.archive.org/web/20100505062034/http://www.ipa.go.jp/security/awareness/vendor/programmingv2/contents/003.html
0217nobodyさん2012/05/25(金) 11:25:14.92ID:???
で質問スレになんの御用ですか?
0218nobodyさん2012/05/25(金) 11:29:02.49ID:???
>>217
質問するならID出せよ
0219nobodyさん2012/05/25(金) 11:29:56.16ID:???
>>214-217
検定不合格でした
0220nobodyさん2012/05/25(金) 11:35:32.46ID:???
路上検定中にスマホをいじるのはさすがに
0221nobodyさん2012/05/25(金) 12:43:30.24ID:???
>>208
糞DNAやグリーのゲームの大半がPHPじゃないか。
収益率ではダントツのPHP!もっとも金になる言語
0222nobodyさん2012/05/25(金) 13:13:46.07ID:???
>>221
DeNAはperlですが・・・?
0223nobodyさん2012/05/25(金) 14:08:08.24ID:???
むしろ、>>216が激しく斜め読みにもなってないことを指摘してやれよ。
そこに書いてあるのは真っ当なことだと思うが、少なくとも>>216は肝心なことを理解してない。
0224nobodyさん2012/05/25(金) 14:12:11.66ID:???
> しかし、これまで多くの脆弱性を生んできた経緯があり、改善が進んでいるとはいえまだ十分堅固とは言えない。

前科者って更正しても社会には受け入れられにくいよな
0225nobodyさん2012/05/25(金) 16:19:34.27ID:AJz1XtcJ
質問です
365日の日付を表示するカレンダーのようなものを作っているのですが
2012/1/1〜2012/12/31まで表示されるにはどのようにすればいいのでしょうか
echo '2012/1/1'.'<br>';
のように繰り返す単純なものなんですが、date関係のどの関数をどのように使えばいいのかわからず
0226nobodyさん2012/05/25(金) 16:26:57.96ID:???
1月1日後の1日後の日付
1月1日後の2日後の日付
1月1日後の3日後の日付
0227nobodyさん2012/05/25(金) 16:30:27.02ID:???
1月1日後の1日後の日付
1月1日後の2日後の日付
1月1日後の3日後の日付
0228nobodyさん2012/05/25(金) 16:31:09.96ID:???
かぶったし誤字ってるし
1日後の日付を順に求めたらいいだろう
0229nobodyさん2012/05/25(金) 17:32:02.67ID:???
>>225
date関数のページはみましたか?
0230nobodyさん2012/05/25(金) 17:49:21.75ID:AJz1XtcJ
>>229
mktimeというのを使えばなんとかなるのかな?と思ったのですが

date("Y年m月d日" , mktime(0,0,0,1,1,2012));
で日付だけ足すと1月64日になってしまうものしか考えられないのでどうしたらいいものかと
0231nobodyさん2012/05/25(金) 17:59:44.84ID:???
1日後が何秒後か考えてみるとか
0232nobodyさん2012/05/25(金) 18:10:59.83ID:???
ヒントだけ教えたるわ

$this_year = date('Y');
$loop_time = (($this_year % 4 == 0 && $this_year % 100 != 0) || $this_year % 400 == 0) ? 366 : 365;
0233nobodyさん2012/05/25(金) 18:29:28.73ID:???
>>230のやり方でいいだろ、1月500日でもちゃんと年もくりあがって変換される
と、思ったがナルホドうるう年とかあるのね
0234nobodyさん2012/05/25(金) 19:12:31.95ID:???
>>230
>>233

DATEは、ちゃんと閏年対応してくれるよ。
>>230は、さっさとそのコードに日付足して試してみろっと。
0235nobodyさん2012/05/25(金) 19:25:00.27ID:???
$start = mktime(0, 0, 0, 1, 1);
loop 365 or 366
echo date('Y年m月d日', $start + (86400 * $i));
0236nobodyさん2012/05/25(金) 19:27:00.15ID:???
mktimeって引数が時分秒月日年という、頭がおかしい人が作った変態関数か
0237nobodyさん2012/05/25(金) 19:27:47.04ID:???
>>234
365ループじゃ12月31日で終わらないなーと
単に2013年になったら止めりゃいいだけの話だが
0238nobodyさん2012/05/25(金) 19:28:20.80ID:AJz1XtcJ
皆さんありがとうございます!
ものすごく勉強になりました!
0239nobodyさん2012/05/25(金) 19:30:04.94ID:???
>>236
アレ、俺も不思議でしゃーない
年月日時分秒ならわかるがなんだこの並び方
考えたヤツバーカなんじゃねーの?って毎回思うわ
0240nobodyさん2012/05/25(金) 19:30:43.80ID:???
アメリカ式なんじゃね?
0241nobodyさん2012/05/25(金) 20:35:26.94ID:???
アメリカの一般的な表記順だよ。
PHPerはほんとバカだのぅ。
0242nobodyさん2012/05/25(金) 20:39:02.86ID:???
で、それをなぜ全世界の開発者に強制するんだ?
0243nobodyさん2012/05/25(金) 20:45:49.30ID:???
アメリカ人は馬鹿だから自分たちの表記方法に何の疑問も持たないんだろ
0244nobodyさん2012/05/25(金) 20:46:21.07ID:???
え?
0245nobodyさん2012/05/25(金) 20:50:05.70ID:???
引数の順番なんて仕様書に書いてればどうでもいいだろ
柔軟に対応できないならプログラムやめたほうがいいぞ
0246nobodyさん2012/05/25(金) 20:51:57.56ID:???
一般的といっても表記がいろいろあるが、
例えば
May 25 2012 8:51:56 pm
だろう?

全然、時分秒月日年 じゃないし
0247nobodyさん2012/05/25(金) 22:17:42.99ID:alyS8DwX
PHPを覚えると金融機関のシステムやクラウドサービスが作れるようになりますか?
0248nobodyさん2012/05/25(金) 22:24:09.95ID:???
さすがPHPクオリティーwwwwwwwwwwww
バカばっかだなwwwwwwwwwwww
3底のクズどもの溜り場wwwwwwwww
0249nobodyさん2012/05/25(金) 22:33:24.52ID:alyS8DwX
PHPはオブジェクト指向言語の代表格なのでPHPを先に学習すると
JavaとかC#とか簡単に覚えられるし、これからはPHPの高い信頼性を
生かして他の言語で作られたシステム、特に銀行系のシステムが
PHPに置き換えられていくと会社の先輩から聞きました。
0250nobodyさん2012/05/25(金) 22:36:03.91ID:???
>>247>>249
スレ違い

【Perl,PHP】LL バトルロワイヤル 22【JavaScript,Python】
http://toro.2ch.net/test/read.cgi/tech/1336491087/
0251nobodyさん2012/05/25(金) 23:09:41.96ID:???
会社の先輩に聞いたなら本人に聞けよコミュ障野郎の
■ このスレッドは過去ログ倉庫に格納されています