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

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

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

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

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

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

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

【その他諸注意】
・正規表現・PEAR・テンプレート(Smarty等)・フレームワークは各該当スレへ
・SQLについての質問はデータベース板(PCカテゴリ)の各スレで
0583nobodyさん2008/03/09(日) 02:02:25ID:???
>>582
これかなぁ。
http://www.php.net/manual/ja/ini.core.php#ini.register-globals
0584nobodyさん2008/03/09(日) 02:04:27ID:???
結構有名な問題みたいですね。ありがとうございます。試してみます。
0585nobodyさん2008/03/09(日) 02:06:39ID:???
register_globalsは怖いよ
0586nobodyさん2008/03/09(日) 02:08:57ID:???
グローバル連想配列でアクセスすることが推奨されてるみたいなので、
一度onに切り替えてうまくいったらoffに戻して
そっちのやり方を調べてみます。
0587nobodyさん2008/03/09(日) 02:11:49ID:???
すいません〜 バイトってどうやったら分かるんでしょうか?
1文字 1バイトとかですか?
0588nobodyさん2008/03/09(日) 02:17:00ID:???
>>586
オススメはしないが
extract使えば入るよ
<?php
extract($_POST);
if($action == "regist"){
 if(($name != "") && ($comment != "")){
  print "渡ったよ";
 }
}
0589nobodyさん2008/03/09(日) 02:24:40ID:???
>>587
文字のバイト数なら
strlenで数えるのが楽かな
0590nobodyさん2008/03/09(日) 02:25:23ID:???
register_gloval=onは解決に至りませんでした。

>588
extractって初めて聞きました。
POSTの配列の値をnameやcommentに入れてるみたいですね。
これやったら動きました。ありがとうございます!
0591nobodyさん2008/03/09(日) 02:34:11ID:O0qbW4Oe
解決したなら別に良いけど、編集すべき php.ini / htaccess が間違っているか、Apacheの再起動が必要な気がする。
設定は  phpinfo() で確認すべし。
0592nobodyさん2008/03/09(日) 02:35:35ID:???
ムダに上げちゃった。もう寝よ。 (ρw-).。o○
0593nobodyさん2008/03/09(日) 02:43:17ID:???
phpinfoで確認しつつ設定後リブートしたらextractなしでも動くようになりました。
原因がわかったのでグローバル変数でアクセスとやらを調べてきます。
ありがとうございます。おやすみなさい。
0594nobodyさん2008/03/09(日) 03:04:56ID:???
>>582
どこでこのサンプルを拾ったか分からんが。
register_globalsがonとかextractで動くようなサンプルは参考にしないほうがいい。
0595nobodyさん2008/03/09(日) 03:16:07ID:???
それはセキュリティの面でですか?
もうちょっとレベルが上がったら
他の配布プログラムなどがどのような構造になっているか見てみます。
0596nobodyさん2008/03/09(日) 03:47:27ID:???
>>595
セキュリティ面とregister_globalsがonな環境って現在はかなり少数派
0597nobodyさん2008/03/09(日) 08:26:07ID:???
わかりました。ありがとうございます。
0598nobodyさん2008/03/09(日) 11:37:23ID:8H4G5Ydo
ブラウザから入力された文章をその場でtxt等の
ファイルにしてダウンロードさせたいのですが


↓の方法以外に何かよい方法はないでしょうか、たとえば変数の中身をファイルに変えてブラウザに出力など

一時ファイルを作成→その一時ファイルに文章を書き込み→一時ファイルをリンクで開く
0599nobodyさん2008/03/09(日) 12:59:10ID:???
Content-Typeを指定していろいろやっておりますがなんとか解決の見通しがつきそうです
もしまた詰まりそうならそのときによろしくお願いします
0600nobodyさん2008/03/09(日) 12:59:51ID:???
詰まりそうなとき
0601nobodyさん2008/03/09(日) 15:08:02ID:???
遅レスだが、Content-DispositionとApplication/Octet-Stream
または存在しないContentTypeでいけそう。
0602nobodyさん2008/03/09(日) 16:57:34ID:???
掲示板とか作ってる人は自分で1から作ってるんですよね?
どのくらいかかってるんでしょうか?
0603nobodyさん2008/03/09(日) 17:08:32ID:???
単純に書き込んで、単純に読むだけのものなら2〜3時間てとこか
0604nobodyさん2008/03/09(日) 17:14:54ID:???
>>603
単純に書き込んで、単純に読むだけのものに、2〜3時間も掛けるとは・・・
0605nobodyさん2008/03/09(日) 17:43:00ID:???
いつもの荒らし復活ですか
0606nobodyさん2008/03/09(日) 17:45:27ID:/1sOFXZx
3時間で理解できるphpの高機能掲示板スクリプトはありませんか?
機能はNGワードを指定すれば以前の投稿でもNGワードが含まれている場合は非表示に出来る程度で十分です
0607nobodyさん2008/03/09(日) 17:46:04ID:???
>>604
ごめんね遅くて
君は何分くらいでできるの?
0608nobodyさん2008/03/09(日) 18:08:38ID:???
荒らしは書き逃げが得意。
0609nobodyさん2008/03/09(日) 18:08:44ID:???
普通は30分もかからんだろ。
0610nobodyさん2008/03/09(日) 18:14:08ID:???
俺なんて、5分でできるよ。





レンタルですけど。
0611nobodyさん2008/03/09(日) 18:24:15ID:???
>>606
>3時間で理解できるphpの高機能掲示板スクリプトはありませんか?
そんな都合のいいもんはない
>機能はNGワードを指定すれば以前の投稿でもNGワードが含まれている場合は非表示に出来る程度で十分です
どういう風に実装すれば見当がつかないからこんな質問してるんでしょ?
こんくらいの実装がわからないようじゃ3時間なんて無理無理
もしわかるならどう実装すればいいか言ってみ
まぁそれが言えたらその通り実装すればいいって話になっちゃうんだが
0612nobodyさん2008/03/09(日) 18:24:35ID:???
一本のプログラムを何回もマニュアルを見ながらじゃないと
プログラムできない人なら何時間も掛かるだろうなぁ。

仕事でプログラミングやっている人は、
ほとんどマニュアル見ないで組み上げるから、
そこが日曜プログラマーとの違いとも言える。
0613nobodyさん2008/03/09(日) 18:28:59ID:???
要はhtmlでデザインを組める程度の非プログラマーが、
PHPを初めて触って掲示板を何時間で作れるかってことだよな。

非三時間で一ヶ月かかりました。ハイ。
0614nobodyさん2008/03/09(日) 18:29:41ID:???
>606
これマルチだから、放置して。
0615nobodyさん2008/03/09(日) 18:32:06ID:???
使い方解るのに3時間じゃねぇの?と思ったんだがw
0616nobodyさん2008/03/09(日) 18:34:12ID:???
>>612
確かに、phpなら20、30分で出来るが、UNIX-Cで組めって言われたら、
半日か1日掛かるかも知れんな。
0617nobodyさん2008/03/09(日) 18:54:18ID:/1sOFXZx
>>614
誘導されました
Webサイト制作初心者用質問スレ Part 194
http://pc11.2ch.net/test/read.cgi/hp/1204015309/578

誘導前の書き込みを転載しておきます
http://pc11.2ch.net/test/read.cgi/hp/1204015309/577
> 577 名前:Name_Not_Found[] 投稿日:2008/03/09(日) 14:48:08 ID:mZE1IfQG
> >>574-575
> では「書いた本人が1年後に見直して3時間で理解できる」でお願いします。
0618nobodyさん2008/03/09(日) 19:14:19ID:???
> では「書いた本人が1年後に見直して3時間で理解できる」でお願いします。
言ってる意味がわからない
理解できなきゃ書けないし定期的にいじってれば忘れることはないので1年後も理解できるだろ
通常バグ修正でたびたびいじる機会もあるし理解は深まる一方のはずだが

とりあえずプログラム基礎がない0からの素人じゃ他人のソース見ても3時間で到底理解できるはずがない

理解できるってのが設置に対する理解であってただのスクリプト探していますというだけならスレ違い
Web制作板に昔あった気がするがなくなってるけど
0619nobodyさん2008/03/09(日) 19:29:54ID:???
>>618
嘘レス乙
0620nobodyさん2008/03/09(日) 19:31:20ID:???
何が嘘なんだか
0621nobodyさん2008/03/09(日) 19:56:48ID:???
みなさん早いですね。
0622nobodyさん2008/03/09(日) 20:53:50ID:3KfA+lxF
"comment":"YouTube\u3067\u30cb\u30b3\u30cb\u30b3\u52d5\u753b\u306e\u5b9f\u6cc1\u6570\u3092\u8868\u793a\u3059\u308bextension",
これってどうやってデコードすればいいんですか。
urldecode base64 gzinflate
は効果無しでした。


はてなブックマークエントリー情報取得APIで得られる情報なんですが
http://b.hatena.ne.jp/entry/json/http://usrb.in/nce

どなたかお願いしまうま


0623nobodyさん2008/03/09(日) 21:06:30ID:???
json_decode
0624nobodyさん2008/03/09(日) 21:20:15ID:3KfA+lxF
>>623
ありがとう。

Services_Jsonでパースしたら
エンコードされてる部分が「a」とか「c」
になっちゃうんですよね
Jsonパース自体が問題あるのかもしれないですね。

tagsの部分
Array
(
[0] => Firefox
[1] => extension
[2] => a
[3] => a
[4] => 3a
[5] => a
[6] => 3a
[7] => c
[8] => ≫
[9] => YouTube
)

これは他のパーサーでやったほうがいいということですかね。
0625nobodyさん2008/03/09(日) 21:24:35ID:???
まぁ、世の中難関の国家試験を突破して仕事についている人が沢山いる中で、
3ヶ月勉強すればニワカ技術者としてお金貰える世界なんだから、
全体的に低レベルな議論ばかりでもしょうがない。
単純労働者よりはマシ程度。
0626nobodyさん2008/03/09(日) 21:44:23ID:???
次の質問どうぞー
0627nobodyさん2008/03/09(日) 22:56:33ID:???
今使っているレンタルサーバーではPHP5.1.*が使えるのですが、
そのバージョンのPHPはどうやって入手したらよいのですか
0628nobodyさん2008/03/09(日) 23:07:06ID:???
>>7
0629nobodyさん2008/03/09(日) 23:56:05ID:???
CentOSは相変わらず化石だな
phpに関してはガンガンverUPしないとだめだよね
0630nobodyさん2008/03/10(月) 01:16:14ID:???
PHPのマニュアルの「empty」のページなんだが、
http://jp.php.net/manual/ja/function.empty.php
戻り値の所に「var が空でないか、0でない値であれば FALSE を返します。 」
ってあるのに例だと「// $var が空なのでtrueと評価されます」ってなっているんだが、
これっておかしくない?falseじゃないの?
0631nobodyさん2008/03/10(月) 01:20:11ID:???
>>630
あってるだろ
値が無かったらtrueが返される
0632nobodyさん2008/03/10(月) 01:21:25ID:???
varが空、若しくは0以外の場合はFALSEを返します
って事だからあってると思うが?
0633nobodyさん2008/03/10(月) 01:21:39ID:???
>>630
お前の読解力が足りない日本語勉強しれ

varが空でない=varには何か入っている→falseを返す
varが空→trueを返す
06346302008/03/10(月) 01:23:01ID:???
・・・・うーん
ごめん。勘違いしてたわ・・・・

値があったら→false
値がなかったら→true

か。_ノフ○
0635nobodyさん2008/03/10(月) 01:29:31ID:???
まぁ、慣れればそうでもないが、
なれないうちは難しい表現ではあるわな。

始めのうちは多少手間でも「?」と思ったら=で繋げていったりしないと間違うべ
0636nobodyさん2008/03/10(月) 01:36:38ID:???
0 は 空なんでしょ。「var が空でない場合 FALSE を返します。 」 で十分じゃないのか。
ま、いいけどさ。

>次のような値は空であると考えられます。:
>"" (空文字列)
>0 (0 は整数)
>"0" (0は文字列)
>NULL
>FALSE
>array() (空の配列)
>var $var;(変数が宣言されているが、クラスの中で値が設定されていない)
0637nobodyさん2008/03/10(月) 04:29:19ID:???
このスレが適切か分かりませんが質問です。

ファイルなどをアップロードする場合、
input type=fileなどを使い、PHPでサイズ上限などを設定して処理しますが
画像よりもっと大きいファイル、500MBくらいのものをアップロードするにはどうしたらいいでしょうか?

特に制限を設けず参照ボタンからアップロードした場合はタイムアウトするのか、失敗してしまいます。
0638nobodyさん2008/03/10(月) 04:31:03ID:???
(゚听)
0639nobodyさん2008/03/10(月) 04:41:34ID:???
えらーログみれ
php側の制限なら何かしら出てるはず
0640nobodyさん2008/03/10(月) 04:43:36ID:???
php.iniいじってください
0641nobodyさん2008/03/10(月) 13:05:23ID:???
>>637
そんなでかいファイルをアップロードしないでください
ピーエッチピーがかわいそうです。
いろいろなことはこの際度外視して
どうしてもやりたいならFTPのアノニマスユーザーで
アップロードできるようにした方が良いと思います。
0642nobodyさん2008/03/10(月) 13:13:17ID:???
>>641
PHPがやってることが、ストリームの内容を、全体をメモリ中にバッファしたりしないで、一時ファイルに出力してるだけなら、
あまりかわいそうでも無いと思ってるんだけど、実際のところどうなんだろ。
0643nobodyさん2008/03/10(月) 13:14:32ID:???
httpでそこまでのファイルをやり取りするのが間違ってるんじゃないか?
素直にftpを使うほうがいい気がするけど。

別にphpはかわいそうとは思わないw
0644nobodyさん2008/03/10(月) 14:03:26ID:???
>>642
おまえ→PHPタン→/tmp
<上がりきるまで繰り返し>
アップロード正常終了
/tmp/アップロードしたファイル→PHPタンが指定したパス
っていう順序でデータが流れます。
まるっとメモリに溜め込んだりはしないみたいなので、あんまし
可哀想でもありません。
むしろ、いぢめたくなるくらい可愛い(w。
0645nobodyさん2008/03/10(月) 14:14:24ID:???
>>644
ありがと。
PHPって なんか垢抜けてないドジッ娘のイメージ。イジめたい気持ちはわかる。
0646nobodyさん2008/03/10(月) 14:45:27ID:???
お前ら、なんにでも萌えなきゃ気がすまないのかw
0647nobodyさん2008/03/10(月) 15:12:34ID:9++q5i3u
date関数で一桁の分を返すことってできるんでしょうか?

今は

$date = date("i");

if(substr($date,0,1) == 0){
$date = substr($date,1,1);
}

こんな感じでやってるのですが不便です。
0648nobodyさん2008/03/10(月) 15:20:51ID:???
>>647
無い
関数化しとけば良いやん
0649nobodyさん2008/03/10(月) 15:24:42ID:???
>>647
$date = (int)date('i');
$date = (int)"01";
var_dump($date);
0650nobodyさん2008/03/10(月) 15:30:44ID:9++q5i3u
>>648 >>649
やはりないですか、ありがとうございます。

>>649のやり方の方がスマートなので参考にさせていただきます。
0651nobodyさん2008/03/10(月) 16:16:07ID:ZuF9csTh
すいません。教えてください。
curlを使ったバッチをphpで作ったのですが、
コマンドラインから実行するとcurlの取得結果が流れています。
これを無くしたいのですがどのようなオプションを指定すれば良いのでしょうか?
よろしくお願いします。
centOS 5
apache2、php5、
0652nobodyさん2008/03/10(月) 17:03:54ID:???
>>651
curl使った事ないし、CLIで使えるか知らんけどflush系の関数とか?
0653nobodyさん2008/03/10(月) 17:09:42ID:???
>>651
何をしたいんだ?
取得した内容をコンソールに出したいの?
もうちょっと具体的によろしく
0654nobodyさん2008/03/10(月) 18:37:15ID:???
バッチで実行してとめりゃいいんじゃないの
0655nobodyさん2008/03/10(月) 18:48:35ID:IVVyU3M+
PHPで本や商品などの管理をするときに


1.
ファイル(タブ区切りやcsvなど)と連携させて管理するのと
MySQLなどのRDBMSと連携させてで管理するのは
どのような違いがあり、件数によってどのようなメリットデメリットがあるのでしょうか?


2.
またもし仮に現在、ファイルで管理していたとして、みなさんは(目安として)何件程度で
MySQLなどのRDBMSへ管理方法を切り替えようと意識するでしょうか?


少し長いですかこの1.と2.に関して何卒ご教授お願いいたします
0656nobodyさん2008/03/10(月) 19:02:17ID:???
SESSIONファイルのパーミッションをデフォで644にしたいのですがそんなオプションはないですか?
現在は生成にchmodでチェンジしてます。
0657nobodyさん2008/03/10(月) 19:08:40ID:???
>>655
本や商品なんてデータが蓄積していくことが容易に予想できるでしょ
そんなもんは1件から当然DBだ
0658nobodyさん2008/03/10(月) 19:18:06ID:+peMqgQu
PHPでIPアドレスを記録したログがあります。
これを一ヵ月後、六ヵ月後、一年後、5年後にホスト名に変換したとき、
どの期間に変換作業を行ってもホスト名は同一でしょうか?

いまIPアドレスかホスト名で記録するか迷います。
0659nobodyさん2008/03/10(月) 19:21:22ID:???
>>658
> どの期間に変換作業を行ってもホスト名は同一でしょうか?

んなわけない
0660nobodyさん2008/03/10(月) 19:29:10ID:+peMqgQu
かわりますか・・・。ホスト名で記録できるなら、なるべくホスト名でログを取るほうがいいですか?
0661nobodyさん2008/03/10(月) 19:43:30ID:???
>>660
ログの利用意図による
0662nobodyさん2008/03/10(月) 19:51:04ID:???
>>655

1 1000件ちょっとくらいならファイルのほうが早い
2 一万件くらい
0663nobodyさん2008/03/10(月) 20:03:18ID:???
>>657
なるほど・・・
1のメリットデメリットはどういった感じでしょうか?

>>662
ありがとうございます
データが一定量(1,000件〜10,000件?)くらいを境にファイルとデータベースの有利さが代わってくるんですね
0664nobodyさん2008/03/10(月) 20:05:23ID:???
<?php
$member ["name"] = "僕ドラえもん";
$member ["age"] = 21;
$member ["tall"] = 70;

print $member ["name"];
print "<br>";
print $member ["age"];
print "<br>";
print $member ["tall"];

?>


<?php
$member = array("name" =>"僕ドラえもん",
"age" => 20,
"tall" =>70);

print $member ["name"];
print "<br>";
print $member ["age"];
print "<br>";
print $member ["tall"];

?>

上と下は同じですが、配列を使うと上より下のほうが楽だよって意味ですか?
0665nobodyさん2008/03/10(月) 20:29:24ID:???
>>663
ファイルで不都合することがあってもDBで不都合することはない
少ない件数での速度面は誤差にすぎない
DBに接続する分のオーバーヘッドも微々たるもので気にすることはない
DBはファイルと違ってデータを扱うことに特化して設計されているので
あらゆる面でファイルでデータを扱うより強い
何よりファイルよりずっとデータの管理が楽

まぁそういうわけでデータの管理という点で特に不都合がないならDBを使えばいい
DBが使えない環境下であるか短期で使う間に合わせのものならファイルでもいいと思う

両者は全く違うものなので優劣をつけることはできませーん
0666nobodyさん2008/03/10(月) 20:32:46ID:???
>>665
なるほど、勉強になりました拙い質問に答えていただきありがとうございます
0667nobodyさん2008/03/10(月) 20:52:26ID:???
>>665
前提条件も定義しないでDBが優位と主張するのは意味不明。
DBとファイルを経験則だけで論じるのは不正確で、
質問者に対して混乱させるだけ。
0668nobodyさん2008/03/10(月) 20:59:20ID:???
個人的には一度DBの便利さに慣れたらファイルでやりたいとは思わない。
配布とか環境とかでどうしようもないならやる
0669nobodyさん2008/03/10(月) 21:01:44ID:???
10万件とか100万件単位になってきたらデータベースに軍配が上がるな
0670nobodyさん2008/03/10(月) 21:02:57ID:???
DBといっても、ファイルとそれを操作するプログラムで成立しているってことを分かっていない奴ばっかwww
0671nobodyさん2008/03/10(月) 21:07:28ID:???
>>667
データ管理という点ってちゃんといっただろ
0672nobodyさん2008/03/10(月) 21:09:33ID:???
>>670
こいつはいろいろとやばそうだ
0673nobodyさん2008/03/10(月) 21:09:59ID:???
データベース→「ファイル+ファイルを管理するソフトウェア」
ファイル→ファイル

要するにデータを扱うもの作るときにごちゃごちゃ書かなくてで楽できる→データベース



と書いてみる
0674nobodyさん2008/03/10(月) 21:11:51ID:???
>>673
その認識は間違ってるよのび太君
0675nobodyさん2008/03/10(月) 21:26:56ID:???
>>674
間違ってるのか・・・すまん
0676nobodyさん2008/03/10(月) 21:47:59ID:???
>>674
正しい認識を教えてくれ
0677nobodyさん2008/03/10(月) 21:58:08ID:???
データを集めてベースにするのだよ。
ホワイトベースを思い浮かべればわかりやすいだろう?
0678nobodyさん2008/03/10(月) 22:07:41ID:???
下らねぇ質問だけじゃなく 下らねぇ回答も書かないといけないのか?
0679nobodyさん2008/03/10(月) 22:08:45ID:???
デーテーベーっす
0680nobodyさん2008/03/10(月) 22:29:29ID:???
データベースに訳分からん妄想を頂いている奴ばかりで驚いた。
仕組みを理解していないと、いつまで経ってもダメなプログラマーどまりだぞ。
0681nobodyさん2008/03/10(月) 22:35:42ID:???
>>670
コイツゴイス
0682nobodyさん2008/03/10(月) 22:47:28ID:???
>>680
ダメなプログラマー(笑)
■ このスレッドは過去ログ倉庫に格納されています