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

【PHP】ID出さんでも質問OKなスレ【初心者歓迎】2

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

姉妹スレ
【PHP】下らねぇ質問はID出して書き込みやがれ 80
http://pc11.2ch.net/test/read.cgi/php/1233479457/
0357nobodyさん2009/09/30(水) 11:31:32ID:???
>>355
もう一度確認するけどvar_dumpだとArrayが付いてなくてforeachだとArrayが付くの?
0358nobodyさん2009/09/30(水) 11:39:25ID:???
>>356
すみません、エラーログがどこ見れば良いか分からなかったのですが、
よく調べたらconfig.phpに「最大添付量」という項目があり、
100kbで制限されていたようです。ここを変えたら無事投稿できました。

お騒がせしました。
0359nobodyさん2009/09/30(水) 11:52:22ID:sh5fr2N4
mb系のmail関数でメール送信は不具合があると言われました
mail()で送信するのが正しいと言われたのですが
mail()でのメール送信の正しい書き方を教えてください
0360nobodyさん2009/09/30(水) 11:55:53ID:???
>>359
どんな不具合があるの?
0361nobodyさん2009/09/30(水) 11:57:55ID:???
>>360
お前知らないなら出てこなくていいよ
0362nobodyさん2009/09/30(水) 12:01:17ID:???
>>361
知らないから聞いてるんだけど?
ここ初心者歓迎の質問スレでしょ?
0363nobodyさん2009/09/30(水) 12:04:02ID:???
素直にmb_send_mail使っとけ、問題無いから
0364nobodyさん2009/09/30(水) 12:10:49ID:???
>>361=>>362
質問はIDだせ

>>363
無知乙
0365nobodyさん2009/09/30(水) 12:15:13ID:???
RFC違反はmb_send_mail使うだけじゃ解決しない話か?
だったら自前でエンコードしとけって話だな。
0366nobodyさん2009/09/30(水) 12:27:38ID:???
>>364
>質問はIDだせ

勝手なルール作るなよ
0367nobodyさん2009/09/30(水) 12:43:06ID:???
mb_send_mailは環境によって文字化けするからおすすめできないなあ
そんなのも知らないのかなここの自称回答者ってのは
0368nobodyさん2009/09/30(水) 12:44:05ID:???
>>365
それ具体的にRFCの何に違反する話ですか?

bug報告が見あたらないんですが、devにも流れてませんよね?
0369nobodyさん2009/09/30(水) 12:53:49ID:???
>>367
文字化けするからmb_send_mail使わないって理由は無いな
適切にエンコード指定すればいいだけだろ?
0370nobodyさん2009/09/30(水) 12:53:52ID:???
>bug報告が見あたらないんですが、devにも流れてませんよね?
違反しないと思うなら無批判に使っとけばいいんじゃね?
0371nobodyさん2009/09/30(水) 12:54:49ID:???
>>369
何言ってんの?お前ググって濃いよ
0372nobodyさん2009/09/30(水) 12:54:53ID:???
>>370
そんな意地悪ゆうなよ><
03733692009/09/30(水) 13:12:00ID:???
>>371
俺が悪かった。
たぶんホッテントリ入りしてるblogの事を言ってると思うが、
はてブで俺もコメントしてるのにすっかり忘れてた。

また文字化けごときでぐだぐだ言ってると思い脊髄反射してしまった。
0374nobodyさん2009/09/30(水) 13:26:24ID:???
結局、RFCは関係なかったみたいですね、安心しました。
0375nobodyさん2009/09/30(水) 13:34:12ID:???
すみません

PEARなんて時代遅れのモノを使うなと言われたのですが
PEARを使う事に問題ってあるのでしょうか??
今後、PEARは衰退していくのでしょうか??

自分で作るよりは、PEARのpdoとか使う方が良いと思うのですが…
0376nobodyさん2009/09/30(水) 13:38:39ID:???
>>375
ZF とか、他フレームワークを使え、ということだよ
0377nobodyさん2009/09/30(水) 13:50:00ID:???
>>376
ありがとうございます。

開発現場ではSymfonyも使っているのですが
うまく言えませんが、ちょっとした画面を作るのにいくつもディレクトリ・ファイルが存在する事になり
一言で大げさだなという印象を持ちました。

小規模の開発の場合もフレームワークを使っていくのが普通なのでしょうか?

そうなるとPEARまさに用無し(洋梨)という事ですね!
0378nobodyさん2009/09/30(水) 13:50:03ID:???
PDOはPECLだろ
ようするにそういうことだ
低速なPEARより高速なPECLに置き換わってるということ
なんでPECLが高速なのかはぐぐればすぐにわかるのでぐぐってくれ
クラスライブラリの話なのでフレームワークの話をしてるやつはスルーで
0379nobodyさん2009/09/30(水) 13:57:14ID:???
>>378
あぁそうでした、pdoはPECLでしたすみません。
PEARはphpで書かれ、PECLはC言語で書かれているのでPECLの方が速度が速いという認識です。

あと言葉足らずでした。
具体的には、ちょっとした管理画面をPEARのHTML_QuickFormを使って作ったら
PEARなんて時代遅れの〜と言われてしまいました…
0380nobodyさん2009/09/30(水) 14:03:58ID:???
>PEARなんて時代遅れの〜
PECLがPEARのモジュールすべてを置き換え可能なものなら
そういう言い様もあるのかもしれんが・・・
0381nobodyさん2009/09/30(水) 14:06:06ID:???
それより「人権擁護法」という危険な法律を知っているかい?

「差別を取り締まる」強力な権限「人権委員会」という組織を設置する法律です。
人権委員会が差別と認定したら、一般人はもちろん警察官も罰せられます。
おそらく「差別を受ける側」の在日朝鮮人や部落解放同盟が人権委員になります。
そうなると警察は朝鮮人を事件の容疑者にすることができなくなります。
容疑者が「俺が朝鮮人だから疑うのか!」と人権委員会に訴えれば、
差別と認定される可能性が高く、警察官が処罰されます。
レイプ事件の容疑者が「俺が朝鮮人だから拒否したのか!」と訴えれば、
被害者の女性が処罰される可能性もあります。
人権委員会の権限は非常に強固あり「簡単に悪用」できる非常に危険な法律です。

しかし民主党は、この危険な法律を「こっそり成立」させようとしています。
その背景には「朝鮮人は差別されて可哀相な人種。日本人は差別する悪い人種。」という
偏った考えがあります。
すなわち「日本は悪い国」という、いわゆる「反日思想」です。
日本人が日本を嫌いになるのは異常なことですが、現実には大勢います。
反日思想の日本人を作り出したのは「日教組」です。
日教組は戦後GHQの指導で設立されましたが、当時の共産党員と在日朝鮮人が運営にあたりました。
彼らはごく自然に日本の教育現場に反日思想を持ち込みました。
戦後70年近く日本人に反日教育をやり続けた結果、多くの反日思想の日本を作り出しました。。
今では「日本人が日本を嫌い」を異常と感じないほど洗脳が進んでいます。

朝日新聞やNHKや電通など主要なマスコミも反日団体です。
小泉安倍政権が北朝鮮に対して否定的な政策を打ち出して以降、
反日団体である「民主党」に政権を取らせるべく世論の誘導に本腰を入れました。
サブプライム問題に端を発する世界的な不況と重なり、自民党は支持率を落とし、
遂に反日団体「民主党」が政権を取りました。
民主党が進めようとしている反日政策は他にもたくさんあります。
・在日外国人に日本の参政権を与えるのもそのひとつ。
・受給者の7割以上が在日朝鮮人と言われている生活保護を手厚くするのもそのひとつ。
日本は働かないで日本に寄生する朝鮮人の楽園になります。
0382nobodyさん2009/09/30(水) 14:08:03ID:???
HTML_QuickFormの場合多くの人はそんなもの使わないで
htmlに直接フォームを記述して自分でバリデーションロジックもかいてるからじゃない?
その部分に関してはバリデーション機能豊富なフレームワークつかえというのもあながち間違ってないな
0383nobodyさん2009/09/30(水) 14:50:11ID:???
PEARのすべてのモジュールが時代遅れなんてことはない
そういう意味で時代遅れというならそいつはアンチかマジキチ
0384nobodyさん2009/09/30(水) 14:54:01ID:???
そういう意味でアンチとかマジキチというならそいつはアンチかマジキチ
0385nobodyさん2009/09/30(水) 14:57:18ID:???
みなさんありがとうございます。

適材適所って事ですね。
0386nobodyさん2009/09/30(水) 22:47:29ID:???
>>383
どういうのが時代遅れじゃないの?
0387nobodyさん2009/09/30(水) 23:09:52ID:yTlYrHgD
test.php
<?
include("test.conf");
$ans = $a + $b;
echo $ans;
?>
test.conf
$a = "10";
$b = "20";
だと実行結果は
$a = "10"; $b = "20"; 0
ですがtest.conf内を<?php ?>で囲えば意図した結果が返ります。
include先がPHPである必要があるけどファイルの拡張子などは別のものでもよいという考えで大丈夫?
0388nobodyさん2009/09/30(水) 23:15:31ID:???
>>387
http://jp2.php.net/manual/ja/function.include.php
03893872009/09/30(水) 23:37:49ID:yTlYrHgD
>>388
こちらの説明には
読み込むファイル中のPHPコードとして実行する必要がある コードは、 有効なPHPの開始タグおよび終了タグで括る必要があります
とあるのでやはり拡張子はphpでなくても良いという判断で大丈夫なようです。
ありがとうございました。
0390sage2009/10/01(木) 11:29:37ID:???
header("hoge: test");
これを指定の場所に送りたいのですがどういった関数を使えば指定の場所へヘッダーを送信できますか?
0391nobodyさん2009/10/01(木) 13:41:50ID:???
>>390
出力するページのヘッダをいじる関数だからよそのページにヘッダを送出することはできない
03923902009/10/01(木) 13:46:22ID:???
>>391
なるほど。
そうなると他の関数を使わないといけないという事でしょうか。
それともPHPではヘッダーを任意の場所に飛ばすという事自体無理なのでしょうか。
引き続き調べてますがなかなかそれらしいのがみつからない状態です。
0393nobodyさん2009/10/01(木) 14:03:52ID:???
WebProxyなんかがあるのを考えるとできるはず
ただやろうと思ったことがないのでやり方はわからないなぁ
0394nobodyさん2009/10/01(木) 14:06:23ID:???
>>392
何がやりたいのかよくわからんが
他サイトにhttpヘッダ飛ばしたいならcURLでできる

PHP: cURL - Manual
http://www.php.net/manual/ja/book.curl.php
0395nobodyさん2009/10/01(木) 15:36:28ID:???
>>391
おまえいいかげんにしろよ
0396nobodyさん2009/10/01(木) 17:33:27ID:???
>>390
さっぱり意味がわからなくて、みんな良く回答してるなと関心します。
指定の場所 とは何でしょう。
あなたのいうヘッダというものが送られる先はサーバー?ブラウザ?
で、どうなってほしいんでしょうか。
03973902009/10/01(木) 17:42:45ID:???
みなさん大変失礼いたしました。
header("hoge: test");
というヘッダーを特定のサーバー(例:192.168.1.1)に送信したいと思ってます。
ヘッダを受け取ったサーバーはその内容をひたすら記録していくというものです。
0398nobodyさん2009/10/01(木) 17:47:04ID:???
>>397
>>394
0399nobodyさん2009/10/01(木) 19:48:07ID:???
意味不明すぎるけど、要はHTTPリクエストヘッダを送りたいってことか。

そもそもそれってheader()できるのか?
普通にPEAR:HTTP_Requestでも使って好きにヘッダ追加すりゃ5分も
かからないだろうに
0400nobodyさん2009/10/01(木) 20:59:14ID:???
header関数でHTTPリクエスト送ろうとする人初めて見た
0401nobodyさん2009/10/02(金) 13:18:06ID:???
HTTPリクエストって、

「おまえんとこのページ見せて〜〜」


って、firefoxから、WEBサーバーに送る手紙?
0402nobodyさん2009/10/02(金) 13:25:52ID:???
そうじゃね?
PHPでブラウザのようなものを再現するのかと思った
0403nobodyさん2009/10/02(金) 14:03:39ID:???
https://sourceforge.jp/ticket/browse.php?group_id=1&tid=18432

これってどういうこと?
バイトカウントって何?
0404nobodyさん2009/10/02(金) 16:10:04ID:Zilzfd9c
つまりはCSRFをやりたいってことか?
0405nobodyさん2009/10/04(日) 05:56:16ID:???
phpで2chのbbsmenu(http://menu.2ch.net/bbsmenu.html)から、
掲示板のリンクと名前を抜き出すものを作りたいです。どのように書くべきでしょうか?
正規表現を使って書こうとしましたが挫折しています。
0406nobodyさん2009/10/04(日) 06:44:05ID:???
>>405
こういうのは大抵誰かやってるのでぐぐるほうが早い

http://smilejapan.net/wiki/index.php?%E3%82%B8%E3%83%A3%E3%83%B3%E3%83%AB%E3%81%A8%E6%9D%BF%E3%81%AE%E3%83%87%E3%83%BC%E3%82%BF%E5%8F%96%E5%BE%97
0407nobodyさん2009/10/04(日) 06:47:46ID:???
>>406
助かります・。ありがとうございます。
0408nobodyさん2009/10/04(日) 16:25:22ID:???
PHPって横に長くなる傾向があるんで、
モニターは横長の買ったほうがいいよね?
0409nobodyさん2009/10/04(日) 16:49:38ID:???
横に長くなるコーディングをしてる貴様の書き方に問題大有りだろ
PHPの性にするな池沼が
0410nobodyさん2009/10/04(日) 17:18:51ID:???
でも正方形に近いモニターだと、
コードの右端が切れて見えなくなるよね?
0411nobodyさん2009/10/04(日) 17:26:10ID:???
14.1インチ使ってますけど見えますね
0412nobodyさん2009/10/04(日) 17:59:22ID:???
改行しても問題ないだろばかー。
0413nobodyさん2009/10/04(日) 18:40:48ID:WZQEMB6D
imageconvolutionでのシャープ化についての質問です
使い方が分からずググったら、こういう感じで設定すれば良いとあり
   $matrix = array(array(-1, -1, -1), array(-1, 16, -1), array(-1, -1, -1));
   imageconvolution($img, $matrix, 8, 0);
実際シャープはかかったのですが、もう少し弱くかけたいのです

それで値を変更してみると真っ黒になってしまいます
どのように調整すればよいのでしょうか?
0414nobodyさん2009/10/04(日) 20:55:02ID:???
フレームワーク勉強しようと思ってるんだけど、最初にやるには何がいいですか?
Zendとかcakeとかいう名前は知っているのですが、何を、また何からやればいいのか分かりません
好きなものをやれというのは勘弁してください
0415nobodyさん2009/10/04(日) 20:58:40ID:???
Zendでおk
0416nobodyさん2009/10/04(日) 21:06:42ID:???
初心者はcakePHPから勉強しろ
その次にpear
その次にsmarty
0417nobodyさん2009/10/04(日) 21:09:43ID:???
楽になるための苦労は別にいいが、特に楽になってない気がする
04184142009/10/04(日) 21:34:11ID:???
zendとcakeは一緒に使うことは出来ないんですよね?
何かzendの方がcakeよりも難しそうですが、自分の作りたいようなフレームワークを使いたい場合はzendの方がいいような事を聞きました
将来的な事を考えるとzendの方がいいように思えますが、cakeの決められたレール(ルール)だけで特にPHPで不都合を感じないというのであればcakeでもいいように思います

>>416
一応基本的なことはですが、PEARとSmartyは学習しました
その後に学ぶフレームワークという場合は、やはりcakeの方がいいのでしょうか?
0419nobodyさん2009/10/04(日) 21:42:47ID:???
>>418
zendのほうがいい
04204142009/10/04(日) 21:56:24ID:???
分かりました、zendにします
0421nobodyさん2009/10/04(日) 22:07:55ID:???
>>417
このレスはどれに対して言ってるの?
言ってる意味も分からないんだけど・・・
0422nobodyさん2009/10/04(日) 22:58:53ID:???
(フレームワークを利用することで)楽になるための苦労(勉強)・・・
(実際使ってみるといろいろ段取りが必要なこともあって)特に楽になってない

0423nobodyさん2009/10/04(日) 23:08:31ID:???
>>422
まぁ、それはそうかもね
それに、PHP学習してもまた各フレームワークの記述方法に慣れないといけないとかあるし
Smartyもそうだけど
例えばforeachにしても書き方が少し変わるとか

で、>>422はフレームワークは使ってないの?
0424nobodyさん2009/10/04(日) 23:16:25ID:???
前もforeachが違いすぎてどうのと言ってた人か?
あんなのドキュメント見れば初見でも3分で理解できるレベルだろ
0425nobodyさん2009/10/04(日) 23:19:11ID:???
>>424
何の事だ???
知らんけれど、俺はただ最初にSmartyで出てきたのがforeachだったから記憶にあっただけで
別に他の構文述べても良かったんだけど
0426nobodyさん2009/10/04(日) 23:41:57ID:???
cakePHPやれよ!!!!!!!!!!!!!
0427nobodyさん2009/10/04(日) 23:58:04ID:???
確かにフレームワークで一番人気はcakePHPだけど・・・
symfonyは日本では人気が無いからまぁ別としても、Zendではなくcakeをそこまで強調する理由は?
0428nobodyさん2009/10/05(月) 07:33:37ID:???
ググったんですが、よくわからないのですが、n12br()という関数は使えないんでしょうか?
Fatal error: Call to undefined function n12br() in E:\xampplite\htdocs\guestbook.php on line 100

*で囲った下のような書き換えをネット上で見かけたので、その下のecho文を
書き換えてみましたが、どうもうまくいきません。

***********
.n12br($row['body']).
以下に書き換える。
.12br(htmlspecialchars($row['body'],ENT_QUOTES)).
*************

echo "<p>" . n12br($row["g_mes"]) . "</p>";
echo "<p>" . 12br(htmlspecialchars($row['g_mes'],ENT_QUOTES)) . "</p>";

結果>Parse error: parse error, expecting `','' or `';'' in E:\xampplite\htdocs\guestbook.php on line 101
0429nobodyさん2009/10/05(月) 09:09:03ID:???
nl2br
0430nobodyさん2009/10/05(月) 10:33:56ID:???
n12brでぐぐったら、間違えた話ばっかりだったが。
0431nobodyさん2009/10/05(月) 10:43:01ID:???
打ち間違いならしょうがないと思うが
n12brで覚えてる人はfunction名がなぜその名前なのか考えないのかな?
0432nobodyさん2009/10/05(月) 11:50:16ID:???
つられすぎだろ
0433nobodyさん2009/10/05(月) 13:29:28ID:???
参考書のフォントは見にくいからn12brなのかnL2brなのか混合しちゃったよ
0434nobodyさん2009/10/05(月) 14:11:14ID:???
セッションファイルの置き場所を知る方法について質問です。
session.save_path の値が設定されていない(=空文字列)の場合、session_save_path() も空文字列を返すようですが、
そのような場合はセッションファイルを置く場所というのはどうやって決まるのでしょうか。
0435nobodyさん2009/10/05(月) 14:42:18ID:???
OSのtmpディレクトリ
0436nobodyさん2009/10/05(月) 14:52:54ID:???
>>435
ありがとうございます。もう少し詳しく教えていただけないでしょうか。
現在、session.save_pathは未設定、環境変数$TMPDIRも未設定の状態で、
セッションファイルが /var/tmp に格納されます。
この /var/tmp という値はどうやって決まったのでしょうか。

なおPHP5.2.10です。
0437nobodyさん2009/10/05(月) 15:04:26ID:???
>>436
OSの種類は?
0438nobodyさん2009/10/05(月) 15:36:27ID:???
>>437
Mac と Linux です。

で、PHPのソースコードを追ったところ、

ext/session/session.c の php_session_initialize() で PS(mod)->s_open() を呼んでいる。
けどこれは関数ポインタで、その実体はデフォルトでは ext/session/mod_files.c の PS_OPEN_FUNC() であり、
その中で php_get_temporary_directory() を呼んでいる。
そして main/php_open_temporary_file.c の php_get_temporary_directory() で、環境変数 TMPDIR があればそれを使い、なければ P_tmpdir を使っている。
この P_tmpdir は stdio.h で定義されており、
grep P_tmpdir /usr/include/stdio.h すると
#define P_tmpdir "/var/tmp/"


となりました。
P_tmpdir なんていうのがあるんですねー。知りませんでした。
しかしこれだと、PHPレベルではデフォルトのセッションファイル保存ディレクトリが取得できないということですよね。困りました。
0439nobodyさん2009/10/05(月) 16:13:27ID:???
>>436
仕様です
0440nobodyさん2009/10/05(月) 16:14:17ID:???
未定義=OSのデフォルト

仕様です
0441nobodyさん2009/10/05(月) 16:27:49ID:???
>>438
なぜそのような事がしたいのですか?
0442nobodyさん2009/10/05(月) 17:21:45ID:???
>>441
434ですでに書いている。
セッションファイルの保存場所が知りたいけど、session_save_path() が空文字列で困っているという状況。
0443nobodyさん2009/10/05(月) 17:31:29ID:???
>>442
ごめんなさい。
なぜ「セッションファイルの保存場所が知りたい」のかを知りたかったのです。

返答によっては問題解決のために違ったアプローチの仕方もあるかもしれないと思いまして。
0444nobodyさん2009/10/05(月) 17:32:06ID:???
バグなのかなぁ。
$_ENV['tmp'] を使っている気配。
0445nobodyさん2009/10/05(月) 17:33:35ID:???
>>444
ソース追ってないけど、バグじゃなくて>>438って事じゃないの?
0446nobodyさん2009/10/05(月) 17:45:27ID:???
>>438
更にphp_get_temporary_directoryでgrepしてみなよ
sys_get_temp_dir()がまんま呼んでるだろ
今のところは実装依存という条件付きでやっつけて、
php.internalsにクレクレしておくといい
0447nobodyさん2009/10/05(月) 18:12:15ID:???
>>438
仕様なのだからと回答したのにスルーかよ
0448nobodyさん2009/10/05(月) 18:45:01ID:???
>>431
なーんも考えないで
ただ丸暗記してるだけの人って多いよ。
0449nobodyさん2009/10/05(月) 18:47:52ID:???
ただ丸暗記の方が覚えるの大変だと思うけどなぁ
0450nobodyさん2009/10/05(月) 18:49:31ID:???
>>447
仕様がどうなっているかを聞いているのに「仕様です」と回答してどうするwww
0451nobodyさん2009/10/05(月) 18:51:36ID:???
>>449
生まれ持った能力配分が、

暗記力 ■■■■■■■■■■■■■■■
思考力 ■

↑こーんな人も実際いるから、
そういう人は暗記だけでゴリ押ししちゃう。
0452nobodyさん2009/10/05(月) 19:32:19ID:???
>>428です。
>>429-431
ありがとうございました。
さっき、本を見てて気づきました。
Σ(´゚д゚`)・・・!?ハッ
0453nobodyさん2009/10/05(月) 19:33:38ID:???
やっぱxamppユーザはゆとりだなぁ
0454nobodyさん2009/10/05(月) 20:01:18ID:???
>>450=質問者か?
未定義の場合はOSデフォルトで決められたディレクトリになるんだよ

これで2回も回答したよ?
0455nobodyさん2009/10/05(月) 20:30:53ID:???
未定義の場合の挙動についてはどこにも書いてないし
実装が仕様ですと強弁したとしても
どう実装されているかを答えらてない
もう質問者は自分で答え>>438見つけちゃったようだし
対策も>>446で出てるんだから黙っとけ
0456nobodyさん2009/10/05(月) 20:38:12ID:???
伝統的に/tmpや/var/tmpは一定時間アクセスの
無いファイルが消えるようになってるから。
といえば良かったのだろうか?
■ このスレッドは過去ログ倉庫に格納されています