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

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

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

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

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

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

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

◆回答者への注意
・誰にレスしているのか分からないと困るので、>>(アンカー)をつけて回答すること。
【その他諸注意】
・SQL・正規表現・PEAR・テンプレート(Smarty等)・フレームワークは各該当スレへ
0653nobodyさん2012/05/11(金) 04:05:32.33ID:???
ショッピングカートの情報はブラウザ落としても保持されるでしょ?
0654nobodyさん2012/05/11(金) 05:36:38.73ID:???
クッキーに入れてるからじゃね
サーバ側では保持してないよ
amazonの場合は個人の欲しいものリストとして管理するから
ああいうのはDBだな
0655nobodyさん2012/05/11(金) 06:21:32.62ID:TEIyqVKG
[質問]
Session情報を取得できない。
処理のかかるPHP処理1とその処理中の状況をSessionで取得するPHP処理2がある。
初回の処理では値を取得することができないが、セッションが生きてるうちに2回目の処理を行うと意図した結果になる。
[環境]
Google Chrome + WindowsXP Xampp(Chromeで動けば他のブラウザは動かなくてもよい)
[html]
<html>
<head>
<script type="text/javascript" src="./jquery-1.7.1.min.js"></script>
<script type="text/javascript" src="./Test.js"></script>
</head>
<body>
<div id="result"></disp>
</body>
</html>
06566552012/05/11(金) 06:23:00.42ID:TEIyqVKG
[JS]
var hTimer = null;
$( function() {
hTimer = setInterval( ProgressEvent, 1000 );
$( "div#result" ).html( "START" );
$.post( "./Wait.php", null, OnFinishEvent );
} );
function ProgressEvent() {
$.post( "./Test.php", null, OnResultEvent );
}
function OnResultEvent( in_Data ) {
$( "div#result" ).text( in_Data.test );
}
function OnFinishEvent( in_Data ) {
clearInterval( hTimer );
$( "div#result" ).text( "FINISH" );
}
06576552012/05/11(金) 06:23:33.73ID:TEIyqVKG
[PHP1]
<?php
header('Content-type: application/json');
session_start();
@session_destroy();
session_write_close();
for( $i=0; $i<3; $i++ ) {
session_start();
$_SESSION['test']+=5;
session_write_close();
sleep( 3 );
}
?>
[PHP2]
<?php
header('Content-type: application/json');
session_start();
echo json_encode( $_SESSION );
?>

連投すみません。
0658nobodyさん2012/05/11(金) 09:14:30.53ID:???
セッションファイルって何時できるのさって話では?

最新のPHPにしたら拡張で変数の扱いを考えろ!
ばかやろーと言われたw
0659nobodyさん2012/05/11(金) 09:29:58.46ID:TEIyqVKG
>>658
レスありがとうございます。
セッションファイルが作成されるタイミングを理解していませんでした。

処理として以下の流れを先のコードの前に挿入して、テストしてみます。
1、[クライアント側] 初期化.phpへリクエスト(同期でリクエスト)
2、[サーバー側] 初期化.php > セッションファイルを作成
3、今までの流れ(destroyは行わない)

最新PHPのエラーについては、上記コードが対応したのちに見てみます。
0660nobodyさん2012/05/11(金) 10:18:25.34ID:???
>>656
よくわかってないけど、3行目が $( function() {
じゃなくて
$(document).ready(function() {
なんじゃないかな?
06616552012/05/11(金) 10:27:47.36ID:???
>>660
レスありがとうございます。
>>659のやり方で、(おそらく、、、)解決できました(ものと思っています、、、)。

現在、本番のコードを修正してアップロードして動作確認したら
先の質問でさらした間違っていたコードを修正して、こちらに書き込みます。
06626552012/05/11(金) 11:06:39.96ID:TEIyqVKG
うまくいきました。レスくれた方々ありがとうございます。
邪魔かもしれませんが、動作したコード貼り付けていきます。
[JS]
var hTimer = null;
$( function() {
$.post( "./Init.php", null, OnInitEvent );
} );
function ProgressEvent() {
$.post( "./Test.php", null, OnResultEvent );
}
function OnInitEvent() {
hTimer = setInterval( ProgressEvent, 1000 );
$.post( "./Wait.php", null, OnFinishEvent );
$( "div#result" ).html( "START" );
}
function OnResultEvent( in_Data ) {
$( "div#result" ).text( in_Data.test );
console.log( in_Data );
}
function OnFinishEvent( in_Data ) {
clearInterval( hTimer );
$( "div#result" ).text( in_Data );
}
06636552012/05/11(金) 11:08:15.24ID:TEIyqVKG
続き
[初期化PHP Init.php]
<?php
session_start();
@session_destroy();
session_write_close();
?>
[PHP1 Wait.php]
<?php
header('Content-type: application/json');
for( $i=0; $i<3; $i++ ) {
session_start();
$_SESSION['test']+=1;
session_write_close();
sleep( 3 );
}
echo json_encode( "FINISH" );
?>
06646552012/05/11(金) 11:14:00.68ID:TEIyqVKG
その他コードは全部同じです。
スレ汚しすんませんでした。

>>658
php-5.3.3-3.el6_2.6.x86_64
本番用のCentOS6.3サーバーが↑なのですが、
特にエラーは吐き出されませんでした。
ただ、、、こちらのサーバー設定でエラーを吐き出さないように設定している可能性もあります。
(これ以上はスレチになりますので、ここで報告は終わりにします)
0665nobodyさん2012/05/11(金) 11:20:21.55ID:???
これを実行するとBase OK、Sub OKになるのに、
Baseの定義を別ファイルに移してrequireするとBase OK、Sub NGになるのはどうしてでしょうか?
そのあたりの仕組みを解説しているページなど教えてください。

// OK
<?php
class Base {
}
echo "Base " . (class_exists('Base') ? 'OK' : 'NG') . "\n";
echo "Sub " . (class_exists('Sub') ? 'OK' : 'NG') . "\n";
class Sub extends Base {
}

// NG
<?php
require_once('Base.php');
echo "Base " . (class_exists('Base') ? 'OK' : 'NG') . "\n";
echo "Sub " . (class_exists('Sub') ? 'OK' : 'NG') . "\n";
class Sub extends Base {
}
0666nobodyさん2012/05/11(金) 12:03:39.39ID:???
setInterval( ProgressEvent, 1000 );って1秒更新だよね。
専用サーバーでよろしく!

>>665
ほんとだ、面白いw
実際にbaseが呼ばれるまでclass扱いしてないみたい
さすが変態言語
0667nobodyさん2012/05/11(金) 12:17:14.48ID:???
class定義は includeするなら、使う前に定義しろってこった。
includeしないなら baseはどこでも
sub定義は使う(インスタンスの生成とか、 class_exists)の前な。
0668nobodyさん2012/05/11(金) 13:15:48.44ID:???
>>665
そういうのは文章化はされてないのでソースの Zend/ 以下を読む

スクリプトのパース時に未定義のクラスを使ったクラス定義がある場合は
遅延クラス定義用の中間コードが生成され
実行時にクラス定義が行われる
0669nobodyさん2012/05/11(金) 23:54:03.57ID:???
アフィリ目的と思しき質問には答えないことにした。
0670nobodyさん2012/05/12(土) 01:09:03.69ID:???
( ´Д`)y━・~~
0671nobodyさん2012/05/12(土) 16:32:44.14ID:v9zwoOnj
文字列の末尾にある全角もしくは半角スペースを削除する
という正規表現を書いてみたのですが正規表現のベテランの方から見て
如何でしょうか?

よりスマートな書き方があればご伝授下さい。



$str = " あああ いいい      ";
$str = preg_replace("/^(.+?)[\s| ]*$/","\\1",$str);
echo "[{$str}]<br>";
0672nobodyさん2012/05/12(土) 16:45:52.82ID:???
>>1
0673nobodyさん2012/05/12(土) 16:47:36.34ID:???
末尾に「|」がある文字列で試せ
0674nobodyさん2012/05/12(土) 17:38:05.97ID:???
>>671
rtrimつかうとか?
0675nobodyさん2012/05/13(日) 00:35:24.38ID:???
>>673
???すり抜けますか?
今日の午後、試してみます。


>>674
勉強がてらバリデーションを全てオリジナルの正規表現でやろうと思ってます。
0676nobodyさん2012/05/13(日) 00:40:34.41ID:???
>>672
・ 他言語について言及しないこと(特にJavaは禁句)。PHPオンリーの回答者が不快になります。
0677nobodyさん2012/05/13(日) 00:47:07.48ID:K0OOuigT
あと、正規表現を極めたいのですが
正規表現に特化した資格とかって無いですかね?


毛嫌いしていた正規表現ですがマスターすると
色々と便利な事に最近きずきました。
0678nobodyさん2012/05/13(日) 00:47:10.41ID:???
675 == 676 && 675 != 671
0679nobodyさん2012/05/13(日) 00:48:06.45ID:???
正規表現はスレチって言われてんのに
それでも>>677のような挑発してくるってことは
いつもの人ですね┐(´д`)┌
0680nobodyさん2012/05/13(日) 00:51:20.57ID:???
>>677
こっちで聞いた方が良い
http://kohada.2ch.net/test/read.cgi/php/1168450843/
0681nobodyさん2012/05/13(日) 01:00:47.76ID:???
だからここでphp以外の話しても回答者の能力が追いつかないの!
0682nobodyさん2012/05/13(日) 01:29:14.14ID:???
はいはいそーですね(ぼうよみ
0683nobodyさん2012/05/13(日) 01:46:17.73ID:K0OOuigT
>>680
ありがとうございます。
正規表現系はあっちのスレで質問します。

ちなみに正規表現のルールは各言語同じなんでしょうか?
0684nobodyさん2012/05/13(日) 02:01:52.08ID:???
いろんな規格があるがPOSIX準拠とかPerl互換とか
まぁたいていどの言語でも問題ない
SQLみたいなもんだな
とりあえずwikipediaでもみてこいや
0685nobodyさん2012/05/13(日) 02:02:17.16ID:???
>>683
このスレで他言語に絡めたことを聞くと嫌がられる
0686nobodyさん2012/05/13(日) 02:16:34.83ID:???
ということにしたいやつが一人いるだけの話
0687nobodyさん2012/05/13(日) 02:18:33.56ID:???
誰も嫌がってないだろ
ちょっと叩かれたからって固執しちゃって被害妄想すぎんじゃね?
そんでずっと荒らし続けるとかどんだけ暇なのよ
他言語の話題をしたから叩かれたんじゃないだろ?
>>275のスレを見て何がいけなかったのか考えて反省してこいよ
これで本当に他言語の話出したから嫌がられたとか思ってんなら
救いようのない被害妄想野郎ですよ
0688nobodyさん2012/05/13(日) 02:19:50.10ID:???
つーか、その馬鹿の立てたアホスレなのは、みんな理解してようね。
0689nobodyさん2012/05/13(日) 02:35:12.94ID:???
>>683
補足するとPHPは正規表現エンジンを持っているから使い分けする必要がある
preg_* で始まるものがPCREでPerl 5と互換がある
mb_ereg_* で始まるものが鬼車。Ruby 1.9も同じエンジンを使っているはず
どちらもphp.iniの設定は独立しているから一緒にして考えないこと
ereg_* 系は廃止予定なので割愛
0690nobodyさん2012/05/13(日) 02:44:55.20ID:???
>>687
phpでEJBの代替はどうやったらいいのでしょうか?
0691nobodyさん2012/05/13(日) 03:12:40.19ID:???
質問ならID出せよ、スレタイも読めないのかよ
0692nobodyさん2012/05/13(日) 03:16:31.08ID:???
スルーでおk
0693nobodyさん2012/05/13(日) 06:23:02.31ID:eBmlSuD7
PHPとMySQLで開発していて、PHPのソースはSubversionで管理していますが
DBのテーブルの変更を、Subversionみたいに(じゃなくてもいいけど)管理する方法ないでしょうか
複数の鯖で運営する時、DBのテーブル構成の同期を取るのにいつも苦労しています
0694nobodyさん2012/05/13(日) 06:28:29.62ID:???
PHPスレで聞くべき内容か?
0695nobodyさん2012/05/13(日) 11:37:55.51ID:???
だからここでphp以外の話しても回答者の能力が追いつかないの!
0696nobodyさん2012/05/13(日) 11:42:08.79ID:???
PHPしか知らない素人は去れ
0697nobodyさん2012/05/13(日) 12:30:04.62ID:???
このスレでマジレスする奴はいないよ、素人は去れ
0698nobodyさん2012/05/13(日) 12:43:13.71ID:???
PHP以外の言語を知ってる人間がクズどもをからかうスレだ、素人は去れ
0699nobodyさん2012/05/13(日) 13:10:05.00ID:???
>>693
大方のフレームワークの手法では
データベースのバージョン=アプリケーションのバージョンという考え方から
PHP側にバージョンアップ、ダウンの仕組みを実装しておいて、
バージョン間の差分のDDLで実行するようにしている

これはDoctrineだがイメージ的には掴めると思う
http://www.symfony-project.org/doctrine/1_2/ja/07-Migrations

/**
 * This class has been auto-generated by the Doctrine ORM Framework
 */
class AddBlogPostExcerptColumn extends Doctrine_Migration
{
    public function up()
    {
      $this->addColumn('blog_post', 'excerpt', 'string', array('length' => '255'));
    }
 
    public function down()
    {
      $this->removeColumn('blog_post', 'excerpt');
    }
}
0700nobodyさん2012/05/13(日) 14:09:56.02ID:???
mysqlのコードをsubversionで管理したいってphpと関係ない質問じゃん
回答するやつも嵐なのか?
0701nobodyさん2012/05/13(日) 14:15:04.35ID:???
嵐嵐といちいち騒ぐ奴も嵐
0702nobodyさん2012/05/13(日) 14:18:00.37ID:???
PHPでmigrationどうやるかって質問なんじゃないの
0703nobodyさん2012/05/13(日) 14:24:40.18ID:???
>>694のマッハなツッコミをスルーしてんだからもうこのスレにはいないだろ
いないやつのためにケンカするんじゃねえよ

はい次
0704nobodyさん2012/05/13(日) 14:30:34.24ID:???
マイグレーションなら、まあDoctrine使うぐらいしかないわな
てなわけで次
0705nobodyさん2012/05/13(日) 14:34:13.77ID:???
PHPとPHPで開発していて、PHPのソースはPHPでPHPしていますが
PHPのPHPの変更を、PHPみたいに(じゃなくてもいいけど)PHPする方法ないでしょうか
複数の鯖でPHPする時、PHPのPHP構成のPHPを取るのにいつもPHPしています
0706nobodyさん2012/05/13(日) 14:40:54.70ID:1mjLS1dc
うるせえ
0707nobodyさん2012/05/13(日) 14:59:16.07ID:???
PHPPHPってうるせえよ
ここはPHPスレだ、PHPの話がしたけりゃPHPスレ行けよ
0708nobodyさん2012/05/13(日) 15:03:00.20ID:???
つまらん荒らし続けるなカス
面白いとでも思ってんの?
0709nobodyさん2012/05/13(日) 15:04:34.49ID:???
つまらんPHP続けるなカス
面白いとでも思ってんの?
0710nobodyさん2012/05/13(日) 15:06:10.38ID:???
PHPPHPPHPPHPPHP、PHPPHPPHPPHP
PHPPHPPHP、PHPPHPPHPPHP?
PHPPHPPHPPHPPHP!PHPPHPPHPPHPPHPw
0711nobodyさん2012/05/13(日) 15:06:33.66ID:???
俺はC#とPHPとVB.netがだーいすき。

0712nobodyさん2012/05/13(日) 15:07:56.31ID:???
だからここでphpの話しても回答者の能力が追いつかないの!
0713nobodyさん2012/05/13(日) 15:52:41.06ID:K3/1zaDn
ファイルのロック
MySQLのテーブルのロック
MySQLのレコードのロック
これらをやっているんですが、ロック解除しないでexit;しちゃうのは大丈夫なんでしょうか?
0714nobodyさん2012/05/13(日) 15:54:33.37ID:???
713の頭は大丈夫なんでしょうか?
0715nobodyさん2012/05/13(日) 15:58:40.57ID:???
fcloseしてもロック解除されないという仕様変更をいきなりされた事があったっけ
0716nobodyさん2012/05/13(日) 16:05:08.21ID:???
>>713
ローカル環境で試してないからそんな疑問がわくんだろ?
レン鯖を実験台に使わないで下さい
0717nobodyさん2012/05/13(日) 16:18:04.30ID:???
http://toro.2ch.net/test/read.cgi/db/1322402682/l50
マルチ
0718nobodyさん2012/05/13(日) 16:24:01.92ID:???
>>713
ファイルについてはスクリプトの終了時点でファイルディスクリプタが開放されるので結果的に解除される
MySQLも切断に合わせて解除されるが
http://php.net/manual/ja/features.persistent-connections.php を利用しているとその限りじゃない
0719nobodyさん2012/05/13(日) 16:55:29.02ID:???
だからここでMySQLの話しても回答者の能力が追いつかないの!
0720nobodyさん2012/05/13(日) 16:57:39.68ID:???
>>699
symfonyは遅すぎ。代表格:OpenPNE
0721nobodyさん2012/05/13(日) 16:58:30.62ID:???
だからその手を離して!
0722nobodyさん2012/05/13(日) 17:04:46.02ID:???
まぁ、解除できるのはできるだけ自分で解除できるようにしましょうって事で
fcloseの悲劇みたいなことが起こらないとは限らないし
0723nobodyさん2012/05/13(日) 17:08:50.94ID:???
特にPHPでは用心に越したことは無いからな
0724nobodyさん2012/05/13(日) 17:14:53.17ID:???
PHPは史上最悪のポンコツ言語だからな。
0725nobodyさん2012/05/13(日) 17:23:43.07ID:???
史上最悪かどうかは知らんが、穴が多く未成熟でまだまだ成長中ってのは確かにある
だけどもちゃんと考えて用心しときゃー大丈夫

んだからロック解除しなくても大丈夫ですか?とかじゃなくて必ずロック解除するように組め。それがプログラマーってヤツだ
0726nobodyさん2012/05/13(日) 17:25:51.00ID:???
> それがプログラマーってヤツだ
やだ何この人かっこいい
0727nobodyさん2012/05/13(日) 17:29:42.06ID:???
プログラマーは地球を救う
PHPは地球に巣くう諸悪の根源
0728nobodyさん2012/05/13(日) 17:44:06.18ID:???
PHPは使い手次第では神にも悪魔にもなれる
0729nobodyさん2012/05/13(日) 18:57:30.08ID:???
>>725
「おかしなコードを書くことを助長する言語」by Matz
0730nobodyさん2012/05/13(日) 19:01:17.05ID:???
それrubyが言うなっていう
php5はコード的にはだいぶjavaに近いからな
といってもj2se1.4とか昔のころのだけど
0731nobodyさん2012/05/13(日) 19:01:58.93ID:???
「おかしな人が作ったおかしな人が使うおかしい言語」=Ruby
0732nobodyさん2012/05/13(日) 19:44:46.64ID:???
>>730
嘘書くなw
0733nobodyさん2012/05/13(日) 19:47:29.31ID:???
>>730
PHPっていつからオブジェクト指向言語になったのw?
0734nobodyさん2012/05/13(日) 19:55:27.76ID:???
Java1.0.2から知ってるがPHPと似てない
0735nobodyさん2012/05/13(日) 19:55:38.83ID:???
>>733
オブジェクト周りの実装がPHP 3だから1998年だな
0736nobodyさん2012/05/13(日) 19:57:13.03ID:???
>>735
ぷっww
0737nobodyさん2012/05/13(日) 19:59:13.03ID:???
グローバル関数が1500個もあるのに?

関数名の命名法や引数の順序に一貫性がない継ぎはぎの糞言語なのに?
0738nobodyさん2012/05/13(日) 20:09:09.32ID:???
>>737
そうPHPはOOPでプログラミングできるんだよ
残念ながらOOPと名前空間やAPIのシグネチャは無関係なんだよねぇ
0739nobodyさん2012/05/13(日) 20:13:12.28ID:???
>>738
PHPのOOPはJava並ですか?
0740nobodyさん2012/05/13(日) 20:14:51.81ID:???
>>739
phpにできなことはない
0741nobodyさん2012/05/13(日) 20:15:55.68ID:???
>>738
phpでパッケージはどうするのですか?
0742nobodyさん2012/05/13(日) 20:21:22.05ID:???
>>741
無い。5.3からは「名前空間」でなんとなくパッケージの真似をすることができる。
0743nobodyさん2012/05/13(日) 20:21:36.25ID:???
PHPのOOPは中途半端
カス以下
0744nobodyさん2012/05/13(日) 20:24:19.39ID:???
phpにできないことはない・・PHPで過去に戻れたらプログラマーにだけはなるなって言いたい
0745nobodyさん2012/05/13(日) 20:24:37.78ID:???
間違ってもPHPでOOPの練習はしないこと。
他の言語で役に立ちません。
0746nobodyさん2012/05/13(日) 20:24:53.65ID:???
>>739,741
何を持ってしてJava比較するのかと
パッケージが要求する機能をまず定義して欲しいな
次から質問する時にIDを出してね
0747nobodyさん2012/05/13(日) 20:25:07.79ID:???
>>744
PHPを使えばタイムマシンだって作れる
0748nobodyさん2012/05/13(日) 20:28:46.20ID:???
>>738
>>746

何を持ってしてJava比較するのかと
↓
>>730参照
0749nobodyさん2012/05/13(日) 20:30:32.91ID:???
phpは韓半島起源
0750nobodyさん2012/05/13(日) 20:42:43.70ID:???
>>748
それ僕じゃないので彼がどういう理由で判断したのか分からないな
と言ってもIDが出ない板だから信用されないかも知れないけど。
まぁ誰かの後学になるかも知れないから、第三者が読んでも理解できるよう説明して下さい
0751nobodyさん2012/05/13(日) 20:47:14.80ID:???
文法が似てるってことだろ
インデントが意味をもつPythonや
asとか使ってまわりくどいVB
それぞれが特徴あるなかで
確かにPHP5とJavaの文法は似通っている
0752nobodyさん2012/05/13(日) 20:47:53.62ID:???
>>750

>>730に言え。
■ このスレッドは過去ログ倉庫に格納されています