【PHP】下らねぇ質問はここに書き込みやがれ 62
■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん
2008/01/10(木) 18:09:19ID:???PHPで最良の教本はこの公式マニュアル。市販の書籍は嘘が多いので鵜呑みにしない。
過去スレ、関連スレ、FAQなどは>>2-10辺り
◆前スレ
【PHP】下らねぇ質問はここに書き込みやがれ 61
http://pc11.2ch.net/test/read.cgi/php/1198002831/
◆質問する時の注意
・ 自分のIDを表示させること。(メール欄に何も記述しないこと。空白も入力しちゃダメ)
・ サーバーのOS(Linux、Windows他)、WebサーバーとPHPの種類やバージョン等を明記すること。
・ 己の行った操作、変更などを詳しく明記すること。
・ エラーメッセージはそのまま表記すること。「エラーが出ます」だけでは回答不可。
・ 質問者として、態度をわきまえること。
・ 事前に公式マニュアル、リファレンス本くらいはちゃんと目を通しておくこと。
◆質問後の注意
・偽者防止に必ずIDを表示させること。(メール欄に何も記述しない)
・2回目以降は最初に質問した際のレス番号を名前欄に入れること。
・解決しなくても回答をもらった場合はお礼を言うこと。
(荒らし、煽りは除く。煽られたときも、無闇に反論せずスルーすること。)
◆回答者への注意
・誰にレスしているのか分からないと困るので、>>(アンカー)をつけて回答すること。
【その他諸注意】
・正規表現・PEAR・テンプレート(Smarty等)・フレームワークは各該当スレへ
・SQLについての質問はデータベース板(PCカテゴリ)の各スレで
0052nobodyさん
2008/01/12(土) 01:18:54ID:???0053nobodyさん
2008/01/12(土) 01:20:12ID:???ってか、今更かよwww
0055nobodyさん
2008/01/12(土) 13:20:29ID:???っ「大学内串」
0056nobodyさん
2008/01/12(土) 16:03:26ID:aex5ZIdgそのファイルの更新日時を出力するというプログラムを組んでいるのですが、
opendirでカレントディレクトリ「opendir("./");」を指定した場合はきちんと表示されるのですが、
cacheディレクトリ、「opendir("/cache/");」と指定するとどうしてもエラーが出てしまいます。
-------------------------------------------------------
以下がソースです。
<?php
$strDir=opendir("/cache");
while($strFle=readdir($strDir)){
$localday = date("Y年m月d日 H時i分s秒",filemtime ($strFle));
print($strFle."<br>".$localday."<hr>");
}
closedir($strDir);
?>
-------------------------------------------------------
以下がエラーメッセージです
Warning: filemtime() [function.filemtime]:
stat failed for date.txt in
C:\Program Files\Apache Group\Apache2\htdocs\php\rss\file2.php on line 4
date.txt
1970年01月01日 09時00分00秒
-------------------------------------------------------
どうかよろしくお願いします。
0057nobodyさん
2008/01/12(土) 16:09:00ID:???005856
2008/01/12(土) 16:14:57ID:aex5ZIdgうーん・・・どうしてもディレクトリを指定した場合のみ「Warning: filemtime()」というエラーが出てしまいます・・・
4行目がいけないというのは分かってはいるのですが、どうしたらいいか・・・
0059nobodyさん
2008/01/12(土) 16:15:21ID:???0060nobodyさん
2008/01/12(土) 16:22:50ID:???readdir()はファイルパスじゃなくファイル名を返すから、
ディレクトリパスを付加しないといけない。
面倒なのでRecursiveDirectoryIteratorとかglob()を使うという選択肢もある。
006156
2008/01/12(土) 16:36:53ID:aex5ZIdg色々とありがとうございます。
やってみます。
0063nobodyさん
2008/01/12(土) 16:48:07ID:br4QB1Gf前の入力画面に戻るというプログラムを作っています。
戻るボタンはonclick='history.back()を利用しており、入力画面に戻った時には
直前に入力した内容が残っておりました。
しかし、セッション管理をしたく、session_start()の文を追加すると、戻るボタン
で戻った際に、直前に入力した内容が消えてしまいます。
onclick='history.back()から戻ったときのみsession_start()を省略するととか
出来ますでしょうか?何かヒントだけでも頂けないでしょうか?
よろしくお願い致します。
0064nobodyさん
2008/01/12(土) 16:51:36ID:lZDx/D8Eファイルをブラウザで開いたときに実行されるプログラムに
エラー(noticeレベルでも)が多いと、ページの表示に時間がかかると考えて
良いんでしょうか?
エラー発生→エラーログに書き込む→大量なら時間がかかる→表示遅くなる
ってこと?
また、php側でこのエラーログへの書き込みを抑制する方法ってありますか?
いちいち警告してくれなくても実用上問題ないって場合、そういうのが
あると助かります。 それとも、そんな制御しないほうがいいかな?
0066nobodyさん
2008/01/12(土) 17:28:06ID:lZDx/D8Eどうもです
どうやって制御するんでしょう? すみません、教えてください
0067nobodyさん
2008/01/12(土) 17:32:50ID:???このあたりの話なのかな。
http://jp.php.net/manual/ja/ref.session.php#ini.session.cache-limiter
> デフォルトは、nocacheです。
0068nobodyさん
2008/01/12(土) 19:19:53ID:g6/EhvFhif (isset($_COOKIE["guest"])) {
echo 'ただいまログイン中。';
} else {
echo 'ただいまログアウト中。';
}
で、クッキーに値が入っていても毎回ログアウトの表示がなされます。原因わかりますでしょうか。
ちなみに上記ファイルは他のPHPからincludeで呼び出しています。php4.4.7 さくらインターネットです。
0070nobodyさん
2008/01/12(土) 19:24:50ID:???0071nobodyさん
2008/01/12(土) 19:31:36ID:???var_dump($_COOKIE); だと思うが、いかがか?
007268
2008/01/12(土) 19:35:19ID:g6/EhvFh<?php
if (var_dump($_COOKIE["guest"])) {
echo 'ただいまログイン中。';
} else {
echo 'ただいまログアウト中。';
}
?>
としてみたら、
NULL ただいまログアウト中。
と表示されました。
クッキーは
setcookie("guest", "guest", time()+3153600, "/");
で入れています。
0073nobodyさん
2008/01/12(土) 19:36:47ID:???ハァ?
007468
2008/01/12(土) 19:48:32ID:g6/EhvFhページの別の場所で
var_dump($_COOKIE);
を実行したところ、
array(1) { ["guest"]=> string(5) "guest" }
が表示されました。
ひとつのページに NULL とそうでないのが共存することはあるのでしょうか。
ちなみにファイル構造は
----A.php----
<?php
include("B.php");
var_dump($_COOKIE);
?>
----B.php----
<?php
var_dump($_COOKIE);
if (isset($_COOKIE["guest"])) {
echo 'ただいまログイン中。';
} else {
echo 'ただいまログアウト中。';
}
?>
みたいになっていて、B.phpの方がNullになります。
0075nobodyさん
2008/01/12(土) 19:49:16ID:???007668
2008/01/12(土) 19:52:31ID:g6/EhvFhsetcookie("guest", "guest", time()+3153600, "/");
で入れています。
007868
2008/01/12(土) 20:07:26ID:g6/EhvFhA.php部分→「array(1) { ["guest"]=> string(5) "guest" } 」
B.php部分→「NULL」
と表示されます。(同じページに表示されます。)
また、すべてのPHPはフォルダは違えど同じドメイン上に存在しています。
0079nobodyさん
2008/01/12(土) 20:28:02ID:???これからコツコツとPHP勉強するならどの教材がオススメ?
「独習PHP」というのにちょっとひかれているのですが…。
0081nobodyさん
2008/01/12(土) 20:44:35ID:???>>1
>まず読め→【PHP マニュアル】http://www.php.net/manual/ja/
>PHPで最良の教本はこの公式マニュアル。市販の書籍は嘘が多いので鵜呑みにしない。
>◆質問する時の注意
>・ 自分のIDを表示させること。(メール欄に何も記述しないこと。空白も入力しちゃダメ)
0082nobodyさん
2008/01/12(土) 20:47:18ID:C+S8ANQWHTTP error, got response: HTTP/1.1 404 Not Found
Didn't receive 200 OK from remote server. (HTTP/1.1 404 Not Found)
というエラーが出てしまいます。
これってどうすればいいんですか?
008368
2008/01/12(土) 20:49:49ID:g6/EhvFh同じドメイン上、違うフォルダに3つのPHPがあり、それぞれ
----A.php----
include("B.php");
echo 'A部分:';
var_dump($_COOKIE);
----B.php----
echo 'B部分:';
var_dump($_COOKIE);
----C.php----
setcookie("guest", "guest", time()+3153600, "/");
です。
C.phpを実行したあとに、A.phpを表示させると
B部分:NULL
A部分:array(1) { ["guest"]=> string(5) "guest" }
(↑当然ですが、ひとつのページに表示されます)
と表示がでます。最終的にはB.phpでcookieによる
条件分岐を実施したいのですが、B部分でcookieに値が
入っていないので断念しています。
B部分でもcookieが読み込めない理由がわかれば教えてください。
php4.4.7 さくらインターネットです。よろしくお願いします。
0085nobodyさん
2008/01/12(土) 21:02:26ID:???008668
2008/01/12(土) 21:11:51ID:g6/EhvFhなぜなんでしょうか。。。原因わかりません。
今判明したのですが、B.phpを単独で表示させると
array(1) { ["guest"]=> string(5) "guest" }
と表示されるので、phpの記述ミス等は無さそうです。。
0087nobodyさん
2008/01/12(土) 21:23:51ID:???大きく変更があった。ttp://pear.php.net/ を参照。
>>86
>>83にあるコードそのものなら問題は起きない筈。
実際その数行のコードだけで試してみたら動作すると思うよ。
include時に httpから始めてたりしたら笑うな
008883
2008/01/12(土) 21:38:01ID:g6/EhvFh>include時に httpから始めてたりしたら笑うな
そのとおりでした。。解決しました。
皆さんありがとうございました!
0089nobodyさん
2008/01/12(土) 21:38:08ID:C+S8ANQWthx.
とりあえずやってみたんですが、
# pear upgrade --force http://pear.php.net/get/Archive_Tar http://
pear.php.net/get/XML_Parser http://pear.php.net/get/Console_Getopt
downloading Archive_Tar-1.3.2.tgz ...
Starting to download Archive_Tar-1.3.2.tgz (17,150 bytes)
......done: 17,150 bytes
downloading XML_Parser-1.2.8.tgz ...
Starting to download XML_Parser-1.2.8.tgz (13,476 bytes)
...done: 13,476 bytes
downloading Console_Getopt-1.2.3.tgz ...
Starting to download Console_Getopt-1.2.3.tgz (4,011 bytes)
...done: 4,011 bytes
No handlers for package.xml version 2.0
というというエラーが・・・・・・
009089
2008/01/12(土) 21:58:02ID:???自己解決しました
0092nobodyさん
2008/01/12(土) 23:26:50ID:???0093nobodyさん
2008/01/13(日) 09:27:43ID:rbyeeIhv�Aecho "f_cate1>>>".$_POST["$f_cate1"]; とやって、
�@の方は
array(21) { ["act"]=> string(6) "修正" ["f_cate1"]=> string(37) "FOODメニューのカテゴリ名1"〜
って中身返すのに、
�Aはf_cate1>>> ってだけで中身返さない
なんで? ちなみにソース見ようとするとキャッシュがクリアされたから再送信しますていう(firefox)
0094nobodyさん
2008/01/13(日) 09:57:05ID:???また、$_POST[$f_cate1] と $_POST["f_cate1"] も違う。
009593
2008/01/13(日) 10:11:54ID:rbyeeIhvありがとうございます、var_dumpをみると、値の引渡し自体は上手くいってると
考えていいんですよね? ただ引き出し方がおかしいだけで…
今までこの程度で詰まったことなかったので逆に戸惑っています
寝ぼけて変なことやってるかなぁ
0096nobodyさん
2008/01/13(日) 10:42:01ID:???http://www.php.net/manual/ja/language.types.string.php
009793
2008/01/13(日) 11:07:41ID:???$_POST["$f_cate1"];じゃなくて.$_POST['f_cate1'];ですね 恥ずかしい…
>>94 >>96 ありがとうございました
0098nobodyさん
2008/01/13(日) 17:24:32ID:0nLyIgyH希望する動作は、キーと値の保持がされつつ、$array[$hoge]の順番を$array[$hoge]['priority']の値でソートしたいのです。
<?php
function callback($a1, $a2){
return $a1['priority'] > $a2['priority'];
}
$array = array(
'therd' => array(
'c1' => 3,
'c2' => 'c',
'priority' => '2',
),
'first' => array(
'c1' => 1,
'c2' => 'a',
'priority' => '0',
),
4 => array(
'c1' => 3,
'c2' => 'c',
'priority' => '4',
),
'second' => array(
'c1' => 2,
'c2' => 'b',
'priority' => '1',
),
);
uksort($array,'callback');
var_dump($array);
0099nobodyさん
2008/01/13(日) 17:27:47ID:???0100nobodyさん
2008/01/13(日) 17:52:28ID:???2.女にはちんこが無いのにどうやって小便するのかが謎
3.女にちんこが無いというのは都市伝説で実は股に挟んでるだけじゃないのか?
おながいします
0101nobodyさん
2008/01/13(日) 17:53:07ID:k2tfZ1QQ$hoge = preg_replace('/^[ ]*(.*?)[ ]*$/', '$1', $hoge);
という処理をしています。(全角スペースも除去)
EUC-JPでは問題なく動いていたのですが、UTF-8ではうまくいきません。
具体的には、先頭のひらがなカタカナが化けます。漢字や半角英数は問題ないようです。
あいうえお→・・いうえお
何かよい方法はありますか?
0102nobodyさん
2008/01/13(日) 17:53:58ID:???レスありがとうございます。
array_multisort()を使ってどのように書けば良いかも教えていただいて良いですか?
0104nobodyさん
2008/01/13(日) 17:59:10ID:???preg_replace('/^[ ]*(.*?)[ ]*$/u', '$1', $hoge);
これで。修飾子については
http://jp.php.net/manual/ja/reference.pcre.pattern.modifiers.php
を。
0106nobodyさん
2008/01/13(日) 18:03:22ID:???どのような引数を渡せば良いのかが、どうにもイメージ出来ないのです。
よろしければサンプルとしてどのようにするかを見せていただけると、
それを元に理解が出来るかもしれないので助かります。
0107nobodyさん
2008/01/13(日) 18:04:46ID:???サンプル→http://php.net/array_multisort
0110nobodyさん
2008/01/13(日) 18:44:50ID:???(名)スル
内容を細かく吟味しつつ、丁寧に読むこと。熟読。
「古典を―する」
0111nobodyさん
2008/01/13(日) 22:36:50ID:zh5BCzxe前者のメリットは、staticにした方が早い。
名前空間がないので、クラスを名前空間代わりに使ってstaticで呼び出しているだけで関数と差異はない。
Singletonが実装できる。(インスタンスを一つだけに制限できる)
逆にインスタンス化する場合のメリットは、
クラス内でプロパティを共有できる。
複数のオブジェクトが必要な場合、インスタンス化が必須。
自分の中でいくつか考えてみたので、何かフィードバックください。
0112nobodyさん
2008/01/13(日) 22:41:28ID:???hoi
http://www.nextindex.net/java/static.html
0113nobodyさん
2008/01/13(日) 23:03:49ID:zh5BCzxeありがとうございます。staticについてちょっと理解が深まりました。
ウェブアプリだったらユーザーからのリクエストに応じて処理して返すだけだったら、
ほとんどstaticで済む気がするのに、
全体的にstaticが使われるのが少ない気がするんですがなんででしょうか。
0114nobodyさん
2008/01/13(日) 23:07:07ID:???Javaスレいって聞いてきな。
あっちは純粋なオブジェクト指向言語だしいい回答が返ってくると思う。
少し前にJavaメインでやってるPGの知り合いに同じような質問ぶつけてみたが忘れたぜ・・・
0115nobodyさん
2008/01/13(日) 23:36:29ID:???staticで呼び出さないほうが良いよ遅いし
0116nobodyさん
2008/01/13(日) 23:43:20ID:???全てインスタンスにしとけばOK
0117nobodyさん
2008/01/14(月) 00:33:13ID:fNJFgJhzウェブアプリでDBやLOGオブジェクトなんかは全部staticでいいと思うんです。
でも、インスタンス化されている場合も多くてこれは実装が下手なのか何か意味があるのか分からないしだいです。
>>114
やっぱJavaですかね。いってきます。
0118nobodyさん
2008/01/14(月) 00:56:54ID:eVMtNzBzORACLEだとSYSDATE等が使えるのですがMYSQLでは使えないのでしょか?
INSERT INTO TB_TEST
(
C1_NAME,
C2_DATE
)
VALUES
(
'NAME',
date --DATEでも駄目。
)
日時を登録するには何型を設定すれば良いのでしょか?
0120nobodyさん
2008/01/14(月) 01:22:05ID:eVMtNzBzスレチだったかもしれません。これだけ質問させてください。
お願い致します。
実は、NOW()ですと確かに登録は出来るのですが
'2009-11-11'
こういうデータが登録されてしまいます。
私が登録したいのは、年・月・日・時間・分・秒(つまり"sysdate"
も格納したいのです。
※データカラムをDATE型では無く、TIMESTAMP型にすれば良いのでしょうか?
そしてinsert時には"NOW()"では無く、Oracleで言うところの"SYSDATE"に
相当するコマンドを入れなければ行けないかと思いますが、MySqlの場合です
と何になるのでしょか?
0121nobodyさん
2008/01/14(月) 01:27:43ID:???datetime型だと日付と時間
TIMESTAMPだとunixタイムスタンプ
timestampはnullを指定するかその項目を指定しなかったら
insert時に自動で値が入る(更新時にも変わる)
それ以外の場合はmysqlにNOW()って関数があるから
''無しでNOW()って書けば良い
アプリ側の時間に合わせるならphp側でてきとーに整形して
つっこんでやって
0122120
2008/01/14(月) 01:44:20ID:eVMtNzBz詳しい解説をして頂きまして、本当にありがとうございます。
勉強になります。
0123nobodyさん
2008/01/14(月) 12:57:52ID:???募集条件 やる気のある方 PHPやJavaをやったことのある方歓迎(独学可)
面接官 PHPの経験があるってことはWebアプリにたいしてのノウハウはある程度あるのかな?
俺 はい一般人よりはそれなりに
面接官 おkwww採用wwwwwwww研修がんwwwwwばwww
そんなこんなでPHPが好きだったからこの誰でもおkみたいな会社に入ったわけだ
先輩 PHPの案件はないからVB勉強して下さい(本どっさり)
全俺が泣いた
0124nobodyさん
2008/01/14(月) 13:29:47ID:???0125nobodyさん
2008/01/14(月) 13:35:53ID:???こんなんだから業務で使えるPHPエンジニア育たないんだよね
このPHP冷遇の時代を乗り切らないと完全に趣味言語になってしまう
PHPの地位をもっとあげるために
Zendをはじめ開発陣は企業に使ってもらえるようなアイデアや仕様を取り込んでくれないとな・・・
もっともこんな状態なのは日本だけなのかもしれないけど
0126nobodyさん
2008/01/14(月) 13:56:31ID:???こんな国は発展しないよな
0127nobodyさん
2008/01/14(月) 14:01:56ID:eVMtNzBzVB位やれ
俺はこれくらいはマスターしている(業務レベルで)
C#/VB.net/VB6.0/C++/ASP.net(C#・VB.net)/PHP5/
Java/Windwsシェル/Unix-C/Cobole/PL_SQL
0128nobodyさん
2008/01/14(月) 14:02:45ID:???0129nobodyさん
2008/01/14(月) 14:03:50ID:???0130nobodyさん
2008/01/14(月) 14:08:14ID:???知ってるの並べたとかじゃないの?ねえどうなの?www
0131nobodyさん
2008/01/14(月) 14:16:49ID:???0132nobodyさん
2008/01/14(月) 14:29:03ID:eVMtNzBzMySQLなんて書いてないでしょ?
cobolね。
0133nobodyさん
2008/01/14(月) 14:33:26ID:???0134nobodyさん
2008/01/14(月) 14:33:50ID:???0135nobodyさん
2008/01/14(月) 14:34:50ID:eVMtNzBz0136nobodyさん
2008/01/14(月) 14:56:57ID:???0137nobodyさん
2008/01/14(月) 15:05:57ID:???今日はこの辺が
http://pc11.2ch.net/test/read.cgi/php/1197383840/l50
0139nobodyさん
2008/01/14(月) 15:23:53ID:kFFYYs1+ページ全てをデータベースに放り込んで、
そこから当てはまるURLを取得して表示しているのですか?
もっと簡単な方法とかありましたら教えてください。
0141nobodyさん
2008/01/14(月) 15:35:41ID:kFFYYs1+つまり、ページは自動生成ということですか?
ってことは、既に複数のページを作成してしまったから無理かorz
0142nobodyさん
2008/01/14(月) 15:38:47ID:???>ページは自動生成ということですか?
YES。ブログみたいのを思い浮かべれば簡単じゃないかな。
最初からちゃんと設計しないとだめだねえ。
Namazuでもつかっとけばおk
0143nobodyさん
2008/01/14(月) 15:39:32ID:kFFYYs1+やっちまったZE☆
Google様にお世話なります・・・。
0144nobodyさん
2008/01/14(月) 15:41:21ID:???GoogleのAPI使ってもいいと思うけど。
http://code.google.com/apis/ajaxsearch/
0145144
2008/01/14(月) 15:41:53ID:???0146nobodyさん
2008/01/14(月) 15:42:03ID:???0148nobodyさん
2008/01/14(月) 16:04:24ID:HAlmIBpUtplファイルというのが
syntaxerrorで動かない。 linuxのapacheだと動くのだろうか?
ちょっとぐぐったがでてこない。
www.itmedia.co.jp/enterprise/0401/23/epn01_5.html
↑ここが参照元
tplファイルをphpに関連つけるには?
php5.2です。
0149nobodyさん
2008/01/14(月) 16:15:02ID:???includeで読み込まれて使われてるとかだろ
つうか当たり前の話だが拡張子phpにしないとphpとして動作しない
anhttpdとかマイナーなの使ってないでapacheにして下さい
tplをphpとして動かしたいというならapacheでそういう設定にすればいいんじゃね?
0151nobodyさん
2008/01/14(月) 18:01:11ID:hiecVsD+「【PHP】下らねぇ質問はここに書き込みやがれ 62」という文字列があった場合
自動的に「【PHP】下らねぇ質問はここに書き込みや....」という感じに文字列を省略させたいのですが、
どうしたらよいでしょうか?
■ このスレッドは過去ログ倉庫に格納されています