【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カテゴリ)の各スレで
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】下らねぇ質問はここに書き込みや....」という感じに文字列を省略させたいのですが、
どうしたらよいでしょうか?
0154nobodyさん
2008/01/14(月) 18:34:26ID:kFFYYs1+PHPで吐き出したXMLを読み込もうとするとこのようなエラーが出てしまいます。
YahooのRSSを真似たので、中身は同じだと思うのですが、なぜこんなエラーが出るのでしょうか
0155nobodyさん
2008/01/14(月) 18:35:43ID:hiecVsD+ありがとうございます。できました。
0156nobodyさん
2008/01/14(月) 18:36:16ID:kFFYYs1+サーセン
0157nobodyさん
2008/01/14(月) 18:45:35ID:???http://jp.php.net/manual/ja/function.mb-strimwidth.php
専用の関数があるよー。
0158nobodyさん
2008/01/14(月) 20:18:32ID:???0160nobodyさん
2008/01/14(月) 23:07:59ID:???文字列切り取りもmb_substerよりこっちのがいいよ
0161nobodyさん
2008/01/14(月) 23:08:26ID:???0162nobodyさん
2008/01/15(火) 00:20:26ID:Yg4ty3XIPHPの特徴を学びながら、コードを書いていきたいなと思っています。
以下のサイトで、PHPのメリットを読んだのですが、Perlとの違いで
大きな部分はイメージやPDFファイルが作れたりするところですよね。
http://www.php.net/manual/ja/intro-whatcando.php
まずは、Perlで自作した掲示板をPHPに移植するところから
やってみようと思ったのですが、この移植の場合は、特にメリットや
書き方のスタイルに違いは無いと思ったのですが、それであっているのでしょうか?
処理内容
・ユーザの書き込みをログファイルに書き込む。
・ログファイルの内容をhtml出力する。
・検索をし、該当するデータのみを表示させる。
プログラミングの全体構成
・POSTのデータを取得し、処理を行う関数を振り分ける。
・各種パラメータはグローバル変数で設定する。
0166nobodyさん
2008/01/15(火) 10:31:18ID:???>大きな部分はイメージやPDFファイルが作れたりするところですよね。
Perlやったことないから知らないけど、なくても自作すれば作れるようになるでしょ。(大変そうだけど)
Perlって構文が特殊だから少し戸惑うだろうけど慣れればほぼ一緒。
書き方のスタイルは少し違ってくるだろうけど、大きなメリットは別にないんじゃない?
強いて言うなら小規模の物ならPerl/CGIと比べてパフォーマンス面で優れてるぐらいかな。
最近のPC事情を考えるとその辺は割りとどうでもいいような気はするけどね。
それよりDB使った掲示板にこの際移行してみたら?
0167nobodyさん
2008/01/15(火) 10:47:34ID:9YYFPVXqShift_JIS⇔sjis
EUC-JP⇔ujis
のような相互変換をしてくれる関数とかありませんか?
0168nobodyさん
2008/01/15(火) 13:07:16ID:SIMemfh4<input type="text" name="test"/><input type="submit"/>
</form>
<?php
$test = $_POST['test'];
echo $test;
?>
上記のようなフォームを送信後、その値を表示する簡単なプログラムを作ったのですが
携帯電話(au)から入力して送信すると文字化けしてしまいます。
123→123\0
あいう→%82%a0%82%a2%82%a4\0
上記のようになってしまうのですが、正常に表示させるにはどういった処理が必要なのでしょうか?
phpファイルの文字コードを変更して保存しても意味がないようでした。
よろしくお願いします。
0169nobodyさん
2008/01/15(火) 13:22:57ID:???文字コードじゃなく、urlencodeされた状態のままになってる。
普通は$_POSTで取得したときに勝手にデコードされてるはずなんだが・・・
0170168
2008/01/15(火) 13:48:56ID:SIMemfh4urldecode ($test);
を使ってデコードすることで解決しました。
処理を掲示板に組み込むので、全ての変数にこれを入れておきたいと思います。
ありがとうございました。
0171nobodyさん
2008/01/15(火) 14:06:19ID:???preg_replace( array( '/UTF-8/', '/Shift_JIS/', '/EUC-JP/' ), array( 'utf8', 'sjis', 'ujis' ), $string );
0172nobodyさん
2008/01/15(火) 14:07:04ID:???0173nobodyさん
2008/01/15(火) 14:08:09ID:9YYFPVXqありがとうございます。
専用の関数はないのですね。
自分で作ってみます。
0174nobodyさん
2008/01/15(火) 15:28:05ID:???0175nobodyさん
2008/01/15(火) 15:44:28ID:???0176nobodyさん
2008/01/15(火) 16:05:50ID:9YYFPVXq0177nobodyさん
2008/01/15(火) 17:36:36ID:WIMu7eDHメールフォーム作ってその内容をメールで通知するとすると、
やはりメールサーバが必要になるんですか?
そこまでフォローしてくれる関数とかはないの?
■ このスレッドは過去ログ倉庫に格納されています