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

【PHP】下らねぇ質問はID出して書き込みやがれ 101

■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん2010/11/15(月) 13:00:07ID:???
質問者はまず>>1を良く読むこと(必須!)
過去スレ、関連スレ、FAQなどは>>2-10辺り
次スレは>>980が立てる。10分以内に立たない場合、宣言してから立てたい人が立てること。

◆前スレ
【PHP】下らねぇ質問はID出して書き込みやがれ 100
http://hibari.2ch.net/test/read.cgi/php/1288168893/
◆質問用テンプレ
【OS名】CentOS
【PHPのバージョン】5.3
【連携ソフトウェア】MySQL ImageMagick
【質問内容】

◆質問する時の注意
・ スレを上げて自分のIDを表示させること。(メール欄に何も記述しない。専ブラのsageチェックを外す)
・ 己の行った操作、変更などを詳しく明記すること。
・ エラーメッセージはそのまま表記すること。「エラーが出ます」だけでは回答不可。
・ 質問者として、態度をわきまえること。
・ 事前に関連リンクの公式マニュアル、リファレンス本くらいはちゃんと目を通しておくこと。
(PHPで最良の教本はこの公式マニュアル。市販の書籍は嘘が多いので鵜呑みにしない。)

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

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

【その他諸注意】
・SQL・正規表現・PEAR・テンプレート(Smarty等)・フレームワークは各該当スレへ
0606nobodyさん2010/12/11(土) 17:10:44ID:???
800人も居たらDB使ってもいいんじゃ
0607nobodyさん2010/12/11(土) 17:54:38ID:???
DB使った方が簡単だと思うが…
テキストファイルベースでそういうの作る方が難しい
06086052010/12/11(土) 18:02:38ID:kZNhymsR
レス、ありがとうございます。
DB使った方が良いですか。
先程からググってるんですが、なんかこれだってのが
見つからないんで、お勧めあったら教えて下さい。
今から、本屋行ってphpの本漁ってきます。
0609nobodyさん2010/12/11(土) 18:03:31ID:???
ファイルで管理する一番単純な方法はディレクトリ名をアカウント名にする
0610nobodyさん2010/12/11(土) 18:07:09ID:???
1000人以下ならCSVファイルでokだろ。
あとの管理も楽。
0611nobodyさん2010/12/11(土) 18:09:13ID:???
口で言うのは簡単だがあなたにはたぶん作れない
というわけでDBを使う気があるのならxoopsみたいなものをインストールしたほうが早いんでは?
0612nobodyさん2010/12/11(土) 18:23:10ID:???
会員登録だけのスクリプトとかあんまり落ちてないだろう
ショッピングカートとか探して参考にしてみれば?
0613nobodyさん2010/12/11(土) 18:27:49ID:???
>>610
1000人以下でもSQLite使ったほうが管理はしやすいと思うが・・・
0614nobodyさん2010/12/11(土) 18:31:33ID:6a9fgwGZ
ふつうにDB使っとけよ
0615nobodyさん2010/12/11(土) 18:52:14ID:???
>>605
DBを使うことが大げさとは思わないけど、DBを避けて作ることも可

サンプル探す時は「会員登録」に拘るんじゃなくて
構成の似ているものを探せばすぐ流用できるのは出てくる。
0616nobodyさん2010/12/11(土) 19:07:53ID:???
はぁ?

単にDB使う前に二の足踏んでるだけの人に
なんでそんなこと薦めるんだよ

あとあとのこと考えれば明らかにDB使わないほうが
ややこしいっつーの
0617nobodyさん2010/12/11(土) 19:18:05ID:???
・800人
・仲間内
・管理者は一人

じゃあEXCELで十分。
0618nobodyさん2010/12/11(土) 19:31:25ID:???
質問と関係ないとこでケンカすんな餓鬼ドモが
0619nobodyさん2010/12/11(土) 19:34:36ID:???
便所の落書きで熱くなるなよ
0620nobodyさん2010/12/11(土) 20:25:10ID:???
EXCELすごいよEXCEL
0621nobodyさん2010/12/11(土) 20:39:59ID:???
アクセス制限も含めてやりたいんじゃないの?
0622nobodyさん2010/12/11(土) 20:56:54ID:???
データベースかテキストかって単なる保存場所の問題で
アクセス制限とはまた別の話
0623nobodyさん2010/12/11(土) 21:52:53ID:???
>>622
>データベースを使わない会員登録&アクセス制限の無料サンプルってないでしょうか?
別な話じゃねーよ
0624nobodyさん2010/12/11(土) 22:03:24ID:???
はい?「データベースを使わない」って形容詞が付いてるんだから
使っても作れるし、使わなくても作れる、つまり別の物だろ。
0625nobodyさん2010/12/11(土) 22:50:31ID:???
> データベースを使わない
↑これ形容詞なのかwww
0626nobodyさん2010/12/11(土) 23:10:05ID:???
小卒かな
0627nobodyさん2010/12/11(土) 23:52:26ID:???
SQLiteかPosql使えばいいよ
0628nobodyさん2010/12/12(日) 03:10:46ID:upsovo/5

$text = <<EOL
この中でphpのif文などを使いたい
EOL;

のですが可能ですか?
0629nobodyさん2010/12/12(日) 03:19:25ID:???
>>609
ファイルの方が手っ取り早くね

アカウント作成
touch($user)

アカウント削除
unlink($user)

アカウント確認
file_get_contents($user)

パスワードはファイル内にでも書いとけってことで
0630nobodyさん2010/12/12(日) 03:43:01ID:???
>>628
あなたがやりたいのは
$text = "この中でphpのif文などを使いたい";
と同じこと。途中でif文を使いたいなら分割しましょう。
ちなみにヒアドキュメントは"<<<"です。

$text = <<<EOL
・・・
EOL;
if(〜){
$text .= <<<EOL
・・・
EOL;
}else{
$text .= <<<EOL
・・・
EOL;
}
0631nobodyさん2010/12/12(日) 04:25:43ID:upsovo/5
>>630
本当にありがとうございます
0632nobodyさん2010/12/12(日) 14:41:37ID:p55fUIgB
return値がvoidの場合でもちゃんとreturnは記述したほうがいいですか?
0633nobodyさん2010/12/12(日) 14:51:35ID:N/dcrvR4
別に書かなくて良いよ
0634nobodyさん2010/12/12(日) 14:52:48ID:???
書く必要はないが気持ち悪いのでいつも書いてる
0635nobodyさん2010/12/12(日) 14:53:47ID:???
むしろ書いちゃダメでしょ
0636nobodyさん2010/12/12(日) 16:34:39ID:???
なんとか粒子が濃いからね
0637nobodyさん2010/12/12(日) 16:38:08ID:oK+8zv6U
かきすぎるとさるとよばれますよ。
0638nobodyさん2010/12/12(日) 18:21:06ID:???
if () {
 while(1) {
  if () {
    return;
  }
 }
}

後ろに処理がなかったらbreakの代わりにreturn使ったりするな
ちなみに俺はループは無限ループにして
中で抜ける条件を書く異端者なので参考にしないほうがいい
0639nobodyさん2010/12/12(日) 18:27:51ID:???
異端というか組み込みやってた感じがしなくもないな
まぁ参考にはしないほうがいいなw
0640nobodyさん2010/12/12(日) 18:31:03ID:???
スクリプト言語に過度の期待はするなw
商売なら別だけどね
0641nobodyさん2010/12/12(日) 19:29:47ID:???
トリッキーなことを得意がってやっていると
改造の時に困るぞ。
0642nobodyさん2010/12/12(日) 22:53:47ID:G6vvlQR5
自作関数について質問です。
a.txt
1列目,2列目
ID,001
name,名前
(行列可変)
のような複数のデータファイルがあります。
これを複数同時に読み込みたいので下記の関数作ってみたけどうまくいきませんでした。
$dataに連想配列が返ってくるようにはどうしたらよいでしょうか?
$read_file = array("a.txt","b.txt");
function Read($read_file){
foreach($read_file as $key){
$str = @file_get_contents($key);
$array = explode("\r\n", $str);
foreach($array as $koumoku => $value){
if($value){
$item = explode(',', $value) ;
$data[$key][$item[0]] = $item[1];
echo $data[$key][$item[0]]."<BR>";
}}}
return $data;
}
var_dump($data);
------
0643nobodyさん2010/12/12(日) 23:26:41ID:???
関数呼び出ししてないってオチじゃないよね・・・?
あとfgetcsvを知っておくとともっと楽にできるかもしれない
0644nobodyさん2010/12/12(日) 23:32:39ID:G6vvlQR5
参考書探して呼んでたら自己解決しました。
global $data
っての追加したらできました。

>>643
呼び出し部分はここのコピぺし忘れただけです;
fgetcsv調べてみます
ありがとうございます。
0645nobodyさん2010/12/12(日) 23:53:05ID:???
returnして受け取れよw
0646nobodyさん2010/12/13(月) 00:06:22ID:???
~~旦_(‥ )こりゃどうも
0647nobodyさん2010/12/13(月) 07:58:36ID:???
便利だぞ!

global 彼女の部屋
0648nobodyさん2010/12/13(月) 08:59:07ID:???
リア充乙
0649nobodyさん2010/12/13(月) 10:42:41ID:???
global 俺の嫁
0650nobodyさん2010/12/13(月) 11:15:55ID:???
彼女の部屋.引き出し.open()

おや・・・知らない男の写真がたくさん出てきたぞ
0651nobodyさん2010/12/13(月) 11:24:41ID:???
>>650 fgetcsv で取り込んで整理しましょう。
0652nobodyさん2010/12/13(月) 11:51:19ID:???
unlink(>>650)
0653nobodyさん2010/12/13(月) 13:05:35ID:???
>>652
パーミッションエラー
削除する権限がありません
0654nobodyさん2010/12/13(月) 13:13:46ID:???
MySQLのビューって、LEFT JOINみたいにキーが一致するものを取得するんだと思ってたけど
実際には一度全てのパターンマッチを取得してからWHEREでキーの一致する部分を検索してたんだな
そりゃ思いはずだ
0655nobodyさん2010/12/13(月) 17:57:30ID:???
ゴバ━━━━(゚∀゚)━━━━ク!!!!
MySQL 総合 Part18
http://hibari.2ch.net/test/read.cgi/db/1276247839/l50
0656nobodyさん2010/12/13(月) 19:51:50ID:3wG2VAx5
Windows7(32bit)
PHP5.3.3
Apache2.2.17
この環境で拡張子htmlのファイルからテキストデータを拡張子phpのスクリプトに送信すると何故かダウンロードダイアログが出てしまいます
php→phpだと特に問題ないのですが何か設定するべき箇所はありますか?
0657nobodyさん2010/12/13(月) 20:04:02ID:???
キャッシュ削除してみると幸せになれるかも

あとはエスパーに任せたw
0658nobodyさん2010/12/13(月) 20:31:58ID:X4P4A1O7
>>656

> テキストデータを拡張子phpのスクリプトに送信する

 この部分についての具体的な記載をお願いします。

>> テキストデータを送信する、拡張子phpのスクリプトに

 どの様な方法で、どの様なテキストデータを送信しているかが判然としません。
0659nobodyさん2010/12/13(月) 20:33:41ID:???
追加して書けば…

>> 拡張子phpのスクリプトで受信する

 考えがあると思いますが、どのようなテクストデータを
 どの様に受信する考えでしょうか?

 質問が漠然とし過ぎていて、回答が得難いと考えます。

0660nobodyさん2010/12/13(月) 20:47:57ID:3wG2VAx5
>>658-659
漠然としすぎましたね申し訳ないです
具体的なソースを書くと

A.html
<FORM method='post' action='B.php'>"
<input type='text' name='a'>"
<BR>"
<input type='submit' value='送信'>"
</FORM>"
このフォームで作ったテキストデータを

B.php
<?php
print $_POST["a"];
?>
このスクリプトにPOSTで送信して表示させたかったのですがAがhtmlだとダウンロードダイアログが開いてしまいます
A.htmlを
<?php
echo "<FORM method='post' action='uke.php'>";
echo "<input type='text' name='a'>";
echo "<BR>";
echo "<input type='submit' value='送信'>";
echo "</FORM>";
?>
の様にphpソースに書き換えるとB.phpに問題無く送信出来て表示も出来るのでapacheのhttpd.conf等に何か記述漏れがあるのかと思い質問させて頂きました
0661nobodyさん2010/12/13(月) 21:00:56ID:???
どう見ても下はBに送ってないが
0662nobodyさん2010/12/13(月) 21:05:18ID:???
A.htmlにダブルクオーテーションが混入してるように見えるが
0663nobodyさん2010/12/13(月) 22:09:59ID:3wG2VAx5
すみません自己解決しました
原因はhtmlファイルにhttp://localhost/〜経由でアクセスしていたのではなくhtmlなのをいいことに直接ファイルをクリックしていたのが悪かったみたいです
0664nobodyさん2010/12/13(月) 22:11:53ID:???
はぁ?
0665nobodyさん2010/12/13(月) 22:20:58ID:???
つまりhttp://ではなくりC:\\name.htmlを開いて実行していたんでしょw

自鯖でR15秒更新のチャートをGDで作っているんだけどたまに重いときがあるんだ。
理由がさっぱりわからない。だれか理由はわかりませんか?
0666nobodyさん2010/12/13(月) 22:28:55ID:???
>>665
>>1
0667nobodyさん2010/12/13(月) 22:45:49ID:???
IEを相手にContent-Dispositionのfilename=で日本語ファイルを設定するにあたり、

1 SJISでファイル名を返す
2 URL EncodeしたUTF8文字列を返す

双方試したのですが、ファイル名に半角スペースを含む場合

1はアンダーバーに変更される
2は+のままになる

という症状になってしまいます。
スペースのままファイル名を付けるいい方法はないでしょうか?
0668nobodyさん2010/12/13(月) 22:53:46ID:???
>>667
>>1
0669nobodyさん2010/12/13(月) 23:04:39ID:???
ごめんなさい、PHP使ってるけどPHP関係ありませんでした、移動します。
0670nobodyさん2010/12/14(火) 04:13:11ID:???
最近「>>1」厨がウザいのですが、
何か良い解決法はありませんでしょうか?
0671nobodyさん2010/12/14(火) 05:19:17ID:???
>>1厨厨
0672nobodyさん2010/12/14(火) 06:41:40ID:l3lG4ooA
入力したデータを送信してPHPで処理するのを作ってるんですが(主に文書)
その際のエラーチェックやセキュリティはPHPで行うのと、JavaScriptで行うのどっちがいいのでしょうか?

自分的にはクライアント側でやったほうがサーバーの負荷が少なくて済むと思うのですが
サーバー側でやった方がセキュリティ方面で良かったりします?
0673nobodyさん2010/12/14(火) 06:56:20ID:???
クライアントなんてJavaScriptきってれば抜けられるわけだが
JavaScriptで送信するようにしてもクライアントのみのチェックはやってはいけない
最終的に判断するのはサーバであるべき
クライアント側はあくまでも補佐であることを忘れてはならない
(送信→失敗→再送信→失敗→再送信・・・といったことを少なくするための)
0674nobodyさん2010/12/14(火) 07:08:01ID:P37GDDtJ
>>672

> エラーチェックやセキュリティ

何を基準にエラーやセキュリティと述べているかが判然としません。
0675nobodyさん2010/12/14(火) 07:19:58ID:l3lG4ooA
>>673
なるほど!ありがとうございます!
0676nobodyさん2010/12/14(火) 07:23:12ID:???
俺としてはJavaScriptで確認、PHPで再確認するのがいいかな
Javascriptだけのチェックじゃ>>673の言うとおり切ってりゃすぐ抜けられる
だけどJavaScriptでもチェックできるようにしたらサーバーへの負担も少なくなるしクライアントも楽
サーバーの補佐としてJavaScriptを入れておくことを薦める
0677nobodyさん2010/12/14(火) 08:13:37ID:???
俺としてはPHPでのチェックがネックになるようなサーバなら捨てちまえ
0678nobodyさん2010/12/14(火) 09:11:52ID:???
大規模なところだとそういうの気にした方がいいんじゃね?
mixiとか
0679nobodyさん2010/12/14(火) 09:38:52ID:???
何をチェックするかによるだろ
データベースに照合してかぶってないか確認するような場合はそもそもJavaScriptじゃ無理だし
文字数やら型やら調べるだけなら負荷とか考える必要もない
0680nobodyさん2010/12/14(火) 09:40:48ID:???
入力間違いとかユーザに起因するエラーチェックはクライアント側(JavaScript)
セキュリティなど悪意のあるユーザ対策はサーバー側(PHP)
かな
0681nobodyさん2010/12/14(火) 09:43:33ID:???
分けるんじゃなくて必ずサーバ側でやらないとだめ
入力間違いをJavaScriptを無効化されてすり抜けた場合間違ったまま登録できてしまう
0682nobodyさん2010/12/14(火) 10:12:25ID:???
本来、JavaScript を使用してクライアント側でチェックするのは、使用者をサポートすることを目的として使います。
サーバー側で処理をする上でのチェックは、使用者をサポートすることは考えません。
サーバー側での処理を考えてのチェックであり、チェックする目的が違っています。
0683nobodyさん2010/12/14(火) 10:28:05ID:???
Ajaxが主流の時代に何言ってんだよ。
サーバーでのチェックなんて時代遅れ。
全てJavascript+Ajaxでやるのが正解。
0684nobodyさん2010/12/14(火) 10:30:06ID:???
>>683
頭悪いの丸出しだぞ
Ajaxの定義をしっかり持ってこい

どちらにせよ、サーバーサイドで全て行い、クライアントにも使いやすいようにJavaScriptでもするのがいいんじゃないかな?
0685nobodyさん2010/12/14(火) 10:44:43ID:???
Javascript+Ajax(キリッ

ひさびさに笑わせてもらった
0686nobodyさん2010/12/14(火) 10:45:55ID:???
>>683は釣りだよな?
素で言ってるならとてもこの板の住人とは思えない
0687nobodyさん2010/12/14(火) 10:49:11ID:???
はぁ?サーバーサイドとか意味ないし。
Ajaxで十分。
0688nobodyさん2010/12/14(火) 10:50:27ID:???
ちょっと待て、何言ってるんだ
0689nobodyさん2010/12/14(火) 10:50:50ID:???
Ajaxはサーバと通信しないとでもいいたいようだなw
0690nobodyさん2010/12/14(火) 10:51:56ID:???
サーバーへの負荷が少なくファイルが存在するのかチェックする方法はあるのでしょうか?
file_get_contentsで内容までは読む必要はありません。

>>683
それは何処からどうみても間違い
0691nobodyさん2010/12/14(火) 10:54:30ID:???
get_headers
しかし関数名とは裏腹にGETリクエストしてるって数スレ前で指摘されてたのが気になるところ
curlでheadリクエストしたほうがいいかも
0692nobodyさん2010/12/14(火) 10:55:25ID:???
>>690
質問ならIDを出すように。

Ajaxの事よく知りもしないで適当なこと言ってんじゃねぇよ。
0693nobodyさん2010/12/14(火) 10:55:50ID:???
file_exists
0694nobodyさん2010/12/14(火) 10:57:15ID:???
>>691,693
ID出さない奴に答えてんじゃねぇよ。荒らしかよクズが
0695nobodyさん2010/12/14(火) 10:57:23ID:???
誰かスレ違いだけど>>687に教えてやれよ
0696nobodyさん2010/12/14(火) 10:58:06ID:???
何か変なのが沸いてしまった
0697nobodyさん2010/12/14(火) 10:58:49ID:???
低能さを自ら晒して顔真っ赤になっちゃってかわいいのうwww
0698nobodyさん2010/12/14(火) 10:59:45ID:???
うわ、IDを出せと煽っていた人のスキルがここまで酷いものだとは思わなかった
0699nobodyさん2010/12/14(火) 11:09:48ID:???
>>695
誰も質問してねぇし。

おもいら揃いも揃ってクズだな。ここまでひどいとは思わなかったよ。
PHPなんかもう古いだろ。これからはAjaxらしいから勉強したほうがいいぞ。
0700nobodyさん2010/12/14(火) 11:14:38ID:???
>>691
>curlでheadリクエストしたほうがいいかも

こちらで作りました
ありがとう
0701nobodyさん2010/12/14(火) 11:16:41ID:???
>>699
お前ちょっと自分が思ってるAjaxを説明してみろ
0702nobodyさん2010/12/14(火) 11:16:51ID:???
>>700
最後までID出さずじまいか。最悪だな。
0703nobodyさん2010/12/14(火) 11:17:41ID:u6a6HqKY
今質問してもよろしいのでしょうか・・・?
0704nobodyさん2010/12/14(火) 11:17:51ID:???
>>701
質問ならIDを出すように。
Ajaxくらいググればいくらでも調べられるだろ。
人に頼ってんじゃねぇよ。
0705nobodyさん2010/12/14(火) 11:18:19ID:???
ヴァカが1人湧いてるだけなので気にせず質問してね
■ このスレッドは過去ログ倉庫に格納されています