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

【PHP】下らねぇ質問はここに書き込みやがれ 60

■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん2007/12/01(土) 21:18:36ID:MnWwNIk0
まず読め→【PHP マニュアル】http://www.php.net/manual/ja/
PHPで最良の教本はこの公式マニュアル。市販の書籍は嘘が多いので鵜呑みにしない。
過去スレ、関連スレ、FAQなどは>>2-10辺り

◆前スレ
【PHP】下らねぇ質問はここに書き込みやがれ 58
http://pc11.2ch.net/test/read.cgi/php/1195204145/

◆質問する時の注意
・ 自分のIDを表示させること。(メール欄に何も記述しないこと。空白も入力しちゃダメ)
・ サーバーのOS(Linux、Windows他)、WebサーバーとPHPの種類やバージョン等を明記すること。
・ 己の行った操作、変更などを詳しく明記すること。
・ エラーメッセージはそのまま表記すること。「エラーが出ます」だけでは回答不可。
・ 質問者として、態度をわきまえること。
・ 事前に公式マニュアル、リファレンス本くらいはちゃんと目を通しておくこと。

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

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

【その他諸注意】
・正規表現・PEAR・テンプレート(Smarty等)・フレームワークは各該当スレへ
・SQLについての質問はデータベース板(PCカテゴリ)の各スレで
0261nobodyさん2007/12/06(木) 23:36:39ID:B7iDUoX7
>>260
ありがとうございます
うー、ごめんなさい おかしいのはtestclass.phpってことですか?
0262nobodyさん2007/12/06(木) 23:39:38ID:???
>>261
クラス内、メソッド内はスコープが違うんだから外部で定義した変数が勝手に代入されたりしないよ。
02632592007/12/06(木) 23:46:32ID:B7iDUoX7
>>262
ありがとうございます、スコープの概念が良くわかってないみたいです
ためしにクラスの中にrequireしてみたんですが、
 require_once("arrayList.php");
 class testPrint{
エラーで画面真っ白になりました
元の実行するphpにrequire_once("arrayList.php");してもダメだし、、
外部ファイルから読み込むのが無理ってわけでしょうか?
0264nobodyさん2007/12/06(木) 23:49:54ID:???
>>263
function printIt(){ 
require_once("arrayList.php");
for($i=0;$<2;$++){ print $testAry[$i];} 


or

function __construct()
{
require_once("arrayList.php");
$this->testAry = $testAry;
}

or

$testPrint= new testPrint(); 
$testPrint=$testAry;
$testPrint->printIt(); 
0265nobodyさん2007/12/06(木) 23:50:01ID:???
そもそもクラスというものをわかってなさそう
0266nobodyさん2007/12/06(木) 23:51:01ID:???
間違えた最後の例は
testPrint->testAry = $testAry; 
0267nobodyさん2007/12/06(木) 23:51:37ID:???
レベルひっくw

02682592007/12/07(金) 00:29:14ID:buUfpIh5
>>264-266
ありがとうございます
ただ、真ん中のコンストラクタを使うやり方を試しましたが うまくいきませんでした
function __construct(){
require_once("arrayList.php");
echo $testAry;//@
$this->testAry = $testAry;//A
}
@をためしに追加してみたんですが、NULLが帰ってきました (testArray.phpにはもちろんあります)
これがNULLってことはAも当然失敗すると考えていいんでしょうか?
なんか変なことしてたら申し訳ありません  引き続きテストしてみますので、
気づいたことがあったら教えてください
0269nobodyさん2007/12/07(金) 00:30:55ID:???
echoでNULLは出なくね?
02702592007/12/07(金) 00:37:06ID:buUfpIh5
あ、ごめんなさい
var_dump($testAry);//@
でした
ちなみに、以下を試してみたら、「NULL NULL コンストラクタNULL」という結果でした
function __construct(){
//配列リストの読み込み
require_once("arrayList.php");
var_dump($testAry);
var_dump($this->testAry);
echo "コンストラクタ";
$this->testAryX= $testAry;
var_dump($this->testAryX);
}
まいったな… なんでだろう
0271nobodyさん2007/12/07(金) 00:59:54ID:???
エラーを表示するようにすれば一発で解決すると思う。
あとは
・arrayList.phpはPHPモードに入っているのか
・testPrintクラスはちゃんとインスタンス化しているのか
0272nobodyさん2007/12/07(金) 01:13:18ID:???
コンストラクタの引数でプロパティに値を入れてから$this->じゃダメなの?
0273nobodyさん2007/12/07(金) 02:00:20ID:zHjm6pQT
PHPは、ASP.NET を使えない低知能な方々のための言語なのですか?
0274nobodyさん2007/12/07(金) 02:22:58ID:???
いいえ。それが必要ない方々のための言語です。
0275nobodyさん2007/12/07(金) 02:34:39ID:???
asp.netなんてwinでしか公式に使えないじゃん。
0276nobodyさん2007/12/07(金) 04:26:33ID:???
PDOStatement->fetch(PDO::FETCH_ASSOC)
で検索条件にマッチしたレコードを取り出したとき、
該当するレコードが1つの場合は、
foreach($rec as $key1 => $val1){
echo "キー: $key1; 値: $val1¥n";
}
だし、
該当するレコードが二つの場合は、
foreach($rec as $key1 => $val1){
foreach($val1 as $key2 => $val2){
echo "キー: $key2; 値: $val2¥n";
}
}
で全部表示できます。
でも、これって該当するレコードの数が分かってないといけないですよね。
マッチしたレコードの数が分からない状態で、
レコード全部を表示する方法ってないのでしょうか?
0277nobodyさん2007/12/07(金) 04:35:10ID:???


?
02782592007/12/07(金) 04:59:54ID:buUfpIh5
いろんな意見ありがとうございました
確認してみたところ、実際にブラウザで開くphpの一番上に
require_once("arrayList.php"); がひとつ入っていたのが原因のようでした
他愛ないことですみません  でもとても助かりました ありがとうございました
0279nobodyさん2007/12/07(金) 05:10:27ID:???
>>273
ASPなんて使ってんの?wwwww
0280nobodyさん2007/12/07(金) 07:30:20ID:???
>>244

> IIS上でDBServer上の共有ファイルをUDCで強引に割付けて

UDCってなに?

UNC (\\server\hogehoge) がうまくいかないんなら、
ネットワークフォルダにドライブ文字を割り当てて
試してみたら。(やったことないんでうまくいくかどうか知らんけどね)

エクスプローラーのウィンドウ(マイドキュメントとか)開いて、
メニューの ツール→ネットワークドライブの割り当て
UNCを、例えばQドライブとかにできるのでUNCワカリマセーんなソフトでもOK
0281nobodyさん2007/12/07(金) 07:59:07ID:???
>>276
あるよ普通に
0282nobodyさん2007/12/07(金) 10:23:44ID:???
>>276
fetchAllとか
while (PDOStatement->fetch(PDO::FETCH_ASSOC,PDO::FETCH_ORI_NEXT)){}
とかもろにマニュアルに書いてあったよ
0283nobodyさん2007/12/07(金) 11:03:33ID:???
foreach(range(0, 10) as $value)
{
  echo "test{$value}<br />\n";
}

へぇー、こんな使い方もあるんだ
この使い方すると、ループ毎に「range(0, 10)」が実行されるから効率悪そうだな
0284nobodyさん2007/12/07(金) 11:04:56ID:???
と思ったら、最初の1回しか呼び出してないみたいだわ
forよりこっちのほうがソースも見やすく使いやすかったりして・・・
0285nobodyさん2007/12/07(金) 12:00:34ID:wQgqBqh4
ファイルアップロードでエラーが発生した時の処理に関しての質問です。

1)フォームでファイル指定&text等の値を入力して送信
2)PHPでファイルをアップロードしつつtextの値も取得
3)(2)でファイルや入力データに問題があればエラーとし、(1)の画面に戻すためのフォームを表示する。
その際、ファイル以外のtext等はエラー前の値を保持したまま表示させる

という処理をさせたい場合で、アップロードするファイルがPOST_MAX_SIZEを超えた場合、$_POSTが空になってしまうため
(3)のためにファイル以外の値を取得したくても、取得できません。
upload_max_filesizeをPOST_MAX_SIZEより小さくしていたとしても、ファイルのサイズがPOST_MAX_SIZEを超えていた場合は
POSTを空にされてしまいます。
POST_MAX_SIZEを超えたファイルがアップされても同時に送信されたほかの値を取得するにはどうしたらいいでしょうか?
それともやはりPOST_MAX_SIZEをかなり大きくとった上で、それより大きなファイルがアップロードされようとしてエラーになった場合は
値が空になるという事をエラー画面でユーザに告知してあきらめてもらうしかないのでしょうか?

マニュアル読んでも「十分大きさを取れ&駄目な時は空になるよ」以外は見つけられなかったし、
javaScriptとか使ってfileに指定された時にサイズ計測して警告するとかしかないのかな?、、、orz
0286nobodyさん2007/12/07(金) 13:17:13ID:???
>>276
http://jp.php.net/manual/ja/function.PDO-query.php
0287nobodyさん2007/12/07(金) 13:22:29ID:???
>>285
アップロード関連のマニュアル嫁
どうも根本的に分かってないような気がする
0288nobodyさん2007/12/07(金) 15:43:10ID:???
>>273
> PHPは、ASP.NET を使えない低知能な方々のための言語なのですか?

いいえ。
Windows Server を購入できない貧乏人のための言語です。
0289nobodyさん2007/12/07(金) 15:44:16ID:???
Windows Server (笑)
02902882007/12/07(金) 15:49:18ID:???
ほら、
>>274-275 貧乏人の言い訳。
>>279 ASP と ASP.Net が別物という情報さえ入手できない貧乏人。
>>289 最近の Windows Server に触れる仕事を請け負えない貧乏人。

分かったでしょ。

もちろん PHP は無料でご利用いただけます。
どうぞ、ご利用ください。
0291nobodyさん2007/12/07(金) 16:35:28ID:???
>>288 こんなとこでしか鬱憤を晴らせない貧乏人
0292nobodyさん2007/12/07(金) 16:42:14ID:???
別に間違ってはない
0293nobodyさん2007/12/07(金) 18:34:12ID:???
>>292
ていうか、ふつー(裸の)PHPとASP.net比べるか?

まぁ、Visual Web Developer Expressも知らないブルジョア(失笑)と無駄な掛け合い漫才をする気は無いが。
0294nobodyさん2007/12/07(金) 18:47:21ID:???
linuxがこれから成長してるから勉強のためならWSはやらないほうがいい
0295nobodyさん2007/12/07(金) 18:51:23ID:???
必要になったり興味が沸いたりしたら、それぞれ覚えればいいじゃん。
いちいち批判し合うのは不毛過ぎる。
0296nobodyさん2007/12/07(金) 18:58:21ID:???
>>295
仙人、乙。
0297nobodyさん2007/12/07(金) 20:34:10ID:???
IE が文字コードを誤認識するパターンを見つけたんだけど、手元に IE6 しかないから、誰か IE7
使ってる人居たら誰か確認してもらえんやろうか?
http://lab.moyo.biz/export/blog/charenc.jsp

1. 左上の RELOAD を押してると Shift_JIS, UTF-8, Windows-31J をランダムに切り替えて送信する。
2. UTF-8 → Windows-31J の順になったときだけ IE6 では文字化けする

つまり Windows-31J が Shift_JIS の事だと IE が認識しているかどうかを検証したいんだけど。
0298nobodyさん2007/12/07(金) 20:38:11ID:???
↑ごめん、スレタイの PHP 見逃して普通の質問スレかと思ってた orz
0299nobodyさん2007/12/07(金) 21:01:11ID:???
>>293
漏れは、秀丸で ASP.Net のコーディングしてるぞ。
ASP.Net PGにも、たまには貧乏人が居るってことで。

>>294
それは嘘。
0300nobodyさん2007/12/07(金) 21:33:01ID:???
>>294
それを言うならunixのが勉強になる
0301nobodyさん2007/12/07(金) 21:36:56ID:???
>>299
嘘というなら説明してから否定してくれ
0302nobodyさん2007/12/07(金) 22:11:32ID:???
>>294
さすがに、そりゃ横暴だ・・・
0303nobodyさん2007/12/07(金) 22:28:11ID:???
>>301
説明もなにも、linuxってそんなに評価されてないですよ。
wsとしても鯖としても。
0304nobodyさん2007/12/07(金) 23:51:51ID:???
説明もなにも、>>303 がインストール&設定するlinuxはどんなに必死になって足掻いてもまったく評価されないですよ。
wsとしても鯖としても。
0305nobodyさん2007/12/07(金) 23:52:46ID:???
wsはともかく鯖には自信あるんです><;
0306nobodyさん2007/12/08(土) 02:41:14ID:???
バロスwwwwwwwww
linuxに期待されてる時代だっていうのにw
あんたはゲーム関連のコンテンツとかにかかわってる人?w
世間はゲーム用のサーバだけじゃないんだぞw
アホ丸出しワロタw
0307nobodyさん2007/12/08(土) 02:43:26ID:???
犬糞至上主義きめぇ
0308nobodyさん2007/12/08(土) 07:10:26ID:hZP9UL/9
ちょっとまった、
0309nobodyさん2007/12/08(土) 07:12:23ID:hZP9UL/9
上の方の香具師は


WS って Windows Server の略で書いてるんだろ。


それも分からんのか。


これだから、PHP ユーザーは・・・
0310nobodyさん2007/12/08(土) 08:13:48ID:???
でも、でも、でも、でも、
そんなの関係ねー
0311nobodyさん2007/12/08(土) 08:19:30ID:???
よしお〜、ご飯よ〜
0312nobodyさん2007/12/08(土) 09:41:47ID:???
WSといえばワンダースワンだろ
0313nobodyさん2007/12/08(土) 10:23:53ID:???
>>312
俺もそう思った
0314nobodyさん2007/12/08(土) 11:10:01ID:???
これだから、PHP ユーザーは・・・
0315nobodyさん2007/12/08(土) 11:12:58ID:???
Work Station
0316nobodyさん2007/12/08(土) 13:04:00ID:???
>>315
過去ログ嫁
0317nobodyさん2007/12/08(土) 13:23:32ID:???
     *      *
  *     +  イヤです
     n ∧_∧ n
 + (ヨ(* ´∀`)E)
      Y     Y    *
0318nobodyさん2007/12/08(土) 13:34:32ID:???
the lowest level in the world whatsoever.
0319nobodyさん2007/12/08(土) 16:59:40ID:???
You is a big fool man. Hahahaha.
0320nobodyさん2007/12/08(土) 17:10:57ID:???
これだから、PHP ユーザーは・・・
0321Johny2007/12/08(土) 18:08:09ID:???

     *      *
  *     +   P => PINK
     n ∧_∧ n H => HARDCORE
 + (ヨ(* ´∀`)E) P => PORNO
      Y     Y    *

YES YES YES !!!!


0322nobodyさん2007/12/08(土) 18:35:40ID:OVCbCBKh
mail関数でテキストをメール送信するとき、
テキストの内容にhtmlspecialcharsを行うべきでしょうか?
0323nobodyさん2007/12/08(土) 18:44:41ID:???


    バカばっか


0324nobodyさん2007/12/08(土) 19:03:12ID:???
>>323
はいはい、あなたすごいよあなた
0325nobodyさん2007/12/08(土) 20:19:49ID:???
>>322
HTML メールの送信ならね。

これだから、PHP ユーザーは・・・
やっぱ WS + IIS + ASP.Net + C# + メモ帳 最強。
0326nobodyさん2007/12/08(土) 20:45:20ID:???
やっぱ今の時代ワンダースワン無いとな。
0327nobodyさん2007/12/08(土) 22:52:24ID:ob68mPg0
質問します
1)a.php , class.php , config.phpがある
2)a.phpはclass.phpを読み込む
3)class.phpはクラス定義(クラス名testclass)してて、そのコンストラクタで
 config.phpを読みこむ
4)config.phpは定数を設定してる _TEST_TEISU="sample";

この場合、a.phpからclass.php中の_TEST_TEISUを参照するときはどうしたらいいんですか?
$testC = new testclass;
$testC->_TEST_TEISU; としたんですがうまくいきませんでした
0328nobodyさん2007/12/08(土) 22:56:32ID:???
4)はグローバルな定数?クラス定数?クラス変数?
03293272007/12/08(土) 23:04:40ID:ob68mPg0
>>328
<?php
define("_TEST_TEISU","sample");
?>
ってしてるだけです すみません、本当に勉強不足ですね グローバル?って感じです
0330nobodyさん2007/12/08(土) 23:06:54ID:???
testclass::_TEST_TEISU;
とか。勘。

$testC->_TEST_TEISU; だと、クラス変数っぽいね。
0331nobodyさん2007/12/08(土) 23:08:23ID:???
_TEST_TEISU;

これだから、PHPユーザーは・・・
0332nobodyさん2007/12/08(土) 23:36:26ID:???
>>329
$testC = new testclass;
echo _TEST_TEISU;
0333nobodyさん2007/12/08(土) 23:51:41ID:???
lockファイルを別に用意したカウンターなのですが
気がつくとログが飛んでしまいます。
やはり完全にログを飛ばさないで書き込みするのは無理なのでしょうか?
0334nobodyさん2007/12/08(土) 23:52:14ID:Xq4jf5iu
lockファイルを別に用意したカウンターなのですが
気がつくとログが飛んでしまいます。
やはり完全にログを飛ばさないで書き込みするのは無理なのでしょうか?
03353272007/12/08(土) 23:53:03ID:???
>>332
ありがとうございます! できました
全部ソース乗せなきゃダメかと思いましたがほんとにありがとうございます!
>>330
僕の情報の説明の仕方がダメだったんだと思います
クラス周りの勉強しなおすいい機会になったと思います 協力ありがとうございました!
0336nobodyさん2007/12/08(土) 23:58:13ID:???
>>333
競合するくらいのトランザクションあるなら ASP.Net 使いなさい。
0337nobodyさん2007/12/09(日) 00:06:54ID:9E7kyi/d
>>336
phpでは無理という事ですか?
0338nobodyさん2007/12/09(日) 00:08:40ID:???
>>337
そうです。PHPはバカのするランゲージです。
バカの仲間に入りたいのですか?
0339nobodyさん2007/12/09(日) 00:28:32ID:???
またASP厨か
0340nobodyさん2007/12/09(日) 01:05:03ID:???
ASP > PHP ;
exit;
0341nobodyさん2007/12/09(日) 01:17:31ID:???
aspを私用で使ってたらドン引き
0342nobodyさん2007/12/09(日) 01:40:27ID:???
>>335
クラスよりスコープの勉強の方が先なんじゃないか?
グローバルって何って、かなりマズいぞ
0343nobodyさん2007/12/09(日) 01:58:30ID:???
クラスの概念も使い方も知らない状態なのに
なぜクラスを使おうとしたのか理由が気になる。
0344nobodyさん2007/12/09(日) 01:59:32ID:???
>>342
ですよねー しかもそのレスが来るまで、
クラスの勉強とスコープの勉強は同じことだと思ってました がんばります
0345nobodyさん2007/12/09(日) 02:39:18ID:???
>>343
クラスって何度も使われる関数を(別ファイルにして)まとめて扱いやすくするって
意味じゃないんですかね
フラッシュで言うムービークリップみたいなものかと思ってました
でも変数へのアクセスのシビアさとかは初体験で、、 ともかく勉強します ありがとう
0346nobodyさん2007/12/09(日) 02:49:12ID:???
そんなもん普通に関数にした方が扱いやすいだろうに。
0347nobodyさん2007/12/09(日) 02:55:04ID:???
>>327はイケメン
0348nobodyさん2007/12/09(日) 03:01:12ID:???
>>340
> ASP > PHP ;
> exit;

PHP Parse error: syntax error, unexpected T_EXIT

これだから、PHPユーザーは・・・
0349nobodyさん2007/12/09(日) 03:03:09ID:???
>>341
PHP を業務で使ってたらドン引き
0350nobodyさん2007/12/09(日) 03:05:47ID:???
>>345
オブジェクト指向を実現するためです
0351nobodyさん2007/12/09(日) 03:15:18ID:???
クラスのインスタンスがオブジェクトです
0352nobodyさん2007/12/09(日) 03:17:19ID:???
クラスの山田君が不潔です
0353nobodyさん2007/12/09(日) 03:18:26ID:???
インスタンスとオブジェクトは別物です
0354nobodyさん2007/12/09(日) 03:22:32ID:qWFu908O
>>353
インスタンスとオブジェクトは何が違うのですか。
0355nobodyさん2007/12/09(日) 03:36:09ID:???
お湯を入れて3分まてばインスタントらーめん

小麦粉から材料を作るところがオブジェクトラーメン
0356nobodyさん2007/12/09(日) 04:11:26ID:Tn++YjiT
以下のように<>で区切られたデータがファイル(text.dat)に記録されてます。

1<>100<>こんにちは
2<>1<>おはよう
3<>999<>こんばんは

1番目のデータは記録順につけられるもので、2番目のデータはランダムに振付ける数字、3番目はコメントです。
これを2番目のデータの数字が小さい順にソート→出力したいのですが、うまくいきません。
どなたかご教授ください。

$file = file($text.dat);
usort($file, "cmp");

foreach ($file as $v) {
echo "$v<br>";
}
function cmp($file, $b) {
if ($file == $b) {
return 0;
}
return ($file < $b) ? -1 : 1;
}
0357nobodyさん2007/12/09(日) 05:07:53ID:Tn++YjiT
listとexplodeを使ったら解決しました
お騒がせしました。
0358nobodyさん2007/12/09(日) 05:10:37ID:???
>>356
http://jp2.php.net/usort
0359nobodyさん2007/12/09(日) 06:09:09ID:???
もうみてるっちゅうねんw
自信満々にマニュアルだすなってw
0360nobodyさん2007/12/09(日) 06:13:18ID:???
マニュアル見れてばそんな質問出ないはず
■ このスレッドは過去ログ倉庫に格納されています