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

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

レス数が900を超えています。1000を超えると表示できなくなるよ。
0001nobodyさん2007/05/12(土) 16:43:57ID:???
まず読め→【PHP マニュアル】http://www.php.net/manual/ja/
PHPで最良の教本はこの公式マニュアル。市販の書籍は嘘が多いので鵜呑みにしない。
過去スレ、関連スレ、FAQなどは>>2-10辺り

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

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

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

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

【その他諸注意】
・正規表現・PEAR・テンプレート(Smarty等)・フレームワークは各該当スレへ
・SQLについての質問はデータベース板(PCカテゴリ)の各スレで
0848nobodyさん2007/05/23(水) 10:31:51ID:???
読むのめんどくさいから3行でかいてね
0849nobodyさん2007/05/23(水) 10:31:58ID:???
>>847
>>798が暇になるまで待ちましょう
0850nobodyさん2007/05/23(水) 10:34:43ID:???
>aculo.usを使って画面側はなんとなくできてるんですけど、

>javascript側でその様な機能を実装するとか・・・あんまりjsは得意じゃないんですよね。

おととい来なさい。自分で使っているものがなにかをわからないで、設計も糞もないだろ。
0851nobodyさん2007/05/23(水) 10:40:00ID:???
質問文の中にいくつも質問を混ざるような書き方はやめましょう。
1質問でひとつ答えを頂いて1つ解決できるような書き方を心がけるべきです。
多くの読み手に自分の質問を読んでもらいための知恵を使ってください。
わたしはスルーします。
0852nobodyさん2007/05/23(水) 10:52:43ID:???
>>847
D&Dってことは、そんなにたくさん表示されてないんだろ? そこの範囲を全部書き換えろ。
もしくは、sort_orderを10刻みにして、隙間がなくなったところでsort_orderをふり直せ。
0853nobodyさん2007/05/23(水) 11:29:38ID:???
これは近年稀に見る悪質問
0854nobodyさん2007/05/23(水) 12:24:12ID:???
「ふっふふ、三河屋、おぬしもワルよのぅ」
あれー、くるくるくるぅう

みたいな?
0855nobodyさん2007/05/23(水) 12:35:12ID:???
そうだねバームクーヘンだね
0856nobodyさん2007/05/23(水) 13:16:49ID:VINgQQ+W
俺も昔から気になってた件だ>dbのorder問題
floatのやり方すら知らなかったから
いちいち全行updateしてたよ
こういうsqlのtipsみたいのがまとめられてる本ある?
0857nobodyさん2007/05/23(水) 13:18:10ID:???
>>847
2分岐の考え方の逆でやれ
08588472007/05/23(水) 13:22:20ID:Jt45AIDD
>>852
javascriptで最小限のものだけsort_orderを書き換えるように作ってみました。
で、Ajaxで毎回リクエスト投げて、保存しようかとも思ったんですけど
負荷的にも、ユーザビリティ的にも、確実性を考えても、並び替えは
クライアント側で完全に決まってから
submitで>>852さんの言うとおり変えた範囲を全部更新にしようかと思います。

sort_orderをFLOATにして、前後と比べて、割って、とかしても2・3個並び変えると結局全部更新になっちゃうんですよね。

稼動してみて、負荷を見て考えればいいのかもしれません。
みなさんレスありがとうございました。
0859nobodyさん2007/05/23(水) 13:56:36ID:AZyDs042
すいません、質問させてください。

test1.php test2.php test3.php と3つファイルがあって
test1.php で test2.php と test3.php をincludeします。

test2.phpは処理が早いのですがtest3.phpが処理がとても大きくて遅くなってしまいます。

test1.phpに先に出た処理test2.phpを先に表示することはできますか?
0860nobodyさん2007/05/23(水) 13:58:19ID:???
できるわけありません
0861nobodyさん2007/05/23(水) 14:12:05ID:???
ブラウザにもよるが
str_pad、flush使えばできる
0862nobodyさん2007/05/23(水) 14:28:10ID:???
Ajaxを使用していいなら出来ると思う
test2実行 > 表示 bodyタグでonload > Ajaxで通信しtest3実行 >
> データ送受信 > HTMLを書き換える

でどうだろう??
0863nobodyさん2007/05/23(水) 16:15:18ID:AZyDs042
>>861 >>862
返事遅れてスイマセン
>>862の方法でやってみようと思ってます。
ありがとうございました。
0864nobodyさん2007/05/23(水) 17:27:43ID:G3BjkUek
$_SSESSIONを共有サーバーでつかうとどういう風に危険なのですか?
具体的に教えてください
0865nobodyさん2007/05/23(水) 18:23:26ID:???
/tmpにセッションファイルが保存されるから他のユーザも参照できる危険性がある。
0866nobodyさん2007/05/23(水) 19:16:01ID:g5YZ+s6c
PHPを実行させると、スクリプトに書いた処理は行われず、

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML><HEAD>
<META http-equiv=Content-Type content="text/html; charset=shift_jis"></HEAD>
<BODY></BODY></HTML>

と出力していないDOCTYPE宣言などなどがブラウザに送信されて
きます。なぜでしょう? phpinfo()は見れるのですが・・・。

環境は

WindowsXP SP2
PHP5.2.1
Apache2.0.59

です。httpd.confの設定がおかしいのでしょうか?
0867nobodyさん2007/05/23(水) 20:59:31ID:???
そのスクリプトを晒せよ
0868nobodyさん2007/05/23(水) 21:47:36ID:???
むしろ晒すな
0869nobodyさん2007/05/23(水) 21:47:40ID:p2WOZVTN
すみません。近くのプログラム事務所でバイトを募集しています。

僕は、大学生ですが、PHPを最近真剣にやっていて、3ヶ月くらいたち
SmartyとPEARの入門的な部分までやりました。SmartyやPearをつかわなかったら
色々作れる自信はあるんですが。

今の状態でPHPのバイトは勤まりますか?
0870nobodyさん2007/05/23(水) 21:55:56ID:???
>>869
ここは人生相談所じゃないよ。
そんなことはバイト先の社員に聞け。
0871nobodyさん2007/05/23(水) 22:30:41ID:???
真剣にやってるやってないとか自信がある無いはどうでもいい
実力があるかどうかだ
0872nobodyさん2007/05/23(水) 22:54:55ID:???
とりあえず、自分の力がどれ位なのかも客観的判断が下せない人間は精々底辺プログラマ止まりだな
0873nobodyさん2007/05/23(水) 23:46:32ID:???
初歩的な質問かも知れませんが、
javascript以外でカレンダーを作りたいのですが
作ったカレンダーをダイヤログのように親画面から開き
選択した日付を親画面に返すと言った事はできますか?

又、参考になるHPを御存知でしたら教えて頂けませんか?

以上、宜しくお願いします。
0874nobodyさん2007/05/23(水) 23:54:56ID:???
>>873
>>1
08758732007/05/24(木) 00:08:33ID:D8XE6M0O
すいません。
ID忘れました。
さらに言えば、スレタイに「PHP」って書いてあるのも見逃していました。

特にPHPって言うわけではないのですが、
技術的にできるのか疑問に思ったので・・・
できれば宜しくお願い致します。
0876nobodyさん2007/05/24(木) 00:11:41ID:???
>>875
どういうスレの探し方してるのか興味あるんだが
0877nobodyさん2007/05/24(木) 00:27:10ID:???
>>875
リロードかかっていいならできる。

PHP Calendarとかでぐぐれ。
0878nobodyさん2007/05/24(木) 00:42:29ID:???
それおもいっきりjavascript使うだろが
08798732007/05/24(木) 00:42:33ID:D8XE6M0O
>>877
どうもありがとうございます。
さっそくググってみたいと思います。

>>876
「下らねぇ質問」って言うのが目に入ったので。
0880nobodyさん2007/05/24(木) 01:00:48ID:???
>>879
下らない内容だとは思わないけどなカレンダー。
0881nobodyさん2007/05/24(木) 01:02:39ID:???
Flash使えよFlash
確かOpenLaszloも新しいバージョン出たよな?
まぁ、PHPは関係ないけどこれからはオープン
なFlashで構築ってな案件どんどん増えそう。
で、DB接続部分とか細かいとこはJavaとか
PHPで。
0882nobodyさん2007/05/24(木) 01:05:22ID:???
Flashとか未だにプラグインいれてないの俺だけか?
0883nobodyさん2007/05/24(木) 01:18:04ID:???
フォトアルバムのスクリプトを利用してるんですが、
@fileで呼び出したtxtファイルから画像のサイズが取得できません。
中身はexplodeで区切ってあります ($filename,$comment)
list($width,$height) = @getimagesize($filename); こんな感じでごく普通に記述してるんですけど…
どうしてうまくいかないのかさっぱりわからないのでどなたか御教授お願いします
鯖のバージョンは5.2.0でした。
0884nobodyさん2007/05/24(木) 01:19:24ID:???
>>883
>>1
08858832007/05/24(木) 01:31:24ID:+SGQ/Lly
すみません忘れてました
0886nobodyさん2007/05/24(木) 01:33:42ID:???
file_gets_contentってもちゃくちゃ便利だなーこれ
0887nobodyさん2007/05/24(木) 01:36:37ID:???
>>883
「うまくいかない」「さっぱりわからない」ときは @ をはずしたほうがいいよ。
0888nobodyさん2007/05/24(木) 01:38:51ID:???
>>885
@file('foo')
@getimagesize($bar);
のようにエラー出力を抑制してワカリマセンっていうのをまずなんとかすべきじゃないの。
fileでホントに呼び出せてるのか、$filenameが正しいパスにあるかどうか自体を確かめてないと
しか思えないような質問だ。
if(file_exists($filename)) {
var_dump(getimagesize($filename));
} else {
exit('no exist');
}

ぐらい確かめてから、質問しにきてください。
0889nobodyさん2007/05/24(木) 03:00:55ID:pCKisbgl
練習に簡単な掲示板を作っています。

<html lang="ja">
<head>
<meta http-equiv="Content-type" content="text/html; charset=EUC-JP">
<title>test</title></head>
<body>
文字を入れて送信を押す<b>
<form method="post" action="gc.php">
<input type="text" name="data" size="30">
<input type="submit" value="送信">
</form>
<?php
$data = $_POST['data'];
// echo "<hr> $data";

$file = fopen("log.txt","a+");
fputs($file,$data);
fclose($file);

$filepointer = fopen('log.txt',r);
while(!feof($filepointer)){
$fileline = fgets($filepointer);
echo " <hr> $fileline";
}
?>
</body>
</html>

こうすると、リロードするたびに書いた文字が追加されてしまうんですが、どうしたらよいでしょう?
たぶん、一度別ページに飛ばせば楽なんだろうけど、1ファイルで済ませたいので。
0890nobodyさん2007/05/24(木) 03:21:46ID:???
初心者が1ファイルですませるのはセキュリティが甘いからやめたまえ。
0891nobodyさん2007/05/24(木) 03:24:18ID:???
>>889
1ファイルでもパラメータ変えて自分のページにもう1度飛ばせばいいじゃん。
0892nobodyさん2007/05/24(木) 03:37:00ID:???
二重投稿チェックしなはれ
08938832007/05/24(木) 04:01:06ID:+SGQ/Lly
>>887>>888ありがとうございます。
パスが間違ってただけでした・・・お騒がせしてすみませんでした
0894nobodyさん2007/05/24(木) 04:36:24ID:???
ああーXSSでちゃうううう
0895nobodyさん2007/05/24(木) 05:49:05ID:???
質問は3日ぐらい熟成させてから投稿しろ
0896nobodyさん2007/05/24(木) 09:35:00ID:???
>>882
オレモ
個人はどーでもいいとして、Flash無いと読めない企業の
クソトップだけは何とか改善を願いたい。
PC関連は特にな。PC-Depotの知能が知れる。
ttp://www.pcdepot.co.jp/
0897nobodyさん2007/05/24(木) 09:40:55ID:FJNwm9Bz
例外処理について勉強しているのですが、
早い話、Fetal ErrorやWarning等のメッセージが出る所を、
他のエラーメッセージに変えたり、
エラーが出た箇所でログをとったりする機能のことをさすんですよね?

PHPでいい解説サイトが見つからなかったので、(説明がわかりにくかったので)
Javaのわかりやすそうなサイトで勉強しているのですが、
ttp://www.javaroad.jp/java_exception1.htm

この例題2の任意の例外処理を行った例を、PHPで再現したいのですがうまくいきません。

try {
  $x = 10 / 0;
} catch (Exception $e) {
  echo "0で除算はできません。";
}

マニュアルを見る限りだと、
PHPの場合はもっと細かい設定みたいなことをしないといけないのでしょうか?
0898nobodyさん2007/05/24(木) 09:57:37ID:???
マニュアルのエラー処理およびログ記録関数のページ読んでわからなかった聞けクズ
0899nobodyさん2007/05/24(木) 10:06:32ID:FJNwm9Bz
>>898
ぱっと見ましたが例外処理とは関係ありませんよね?
0900nobodyさん2007/05/24(木) 10:14:55ID:???
>>899
分かっているじゃないか
そのjavaの例の例外処理と、Fetal ErrorやWarningが
出るところは関係ない
0901nobodyさん2007/05/24(木) 10:29:23ID:FJNwm9Bz
>>900
なるほど・・・
Javaと混同してたのが原因ですね。
もうすこし考えなおしてみます。
0902nobodyさん2007/05/24(木) 10:37:43ID:???
もうなんかメチャクチャだなw
0903nobodyさん2007/05/24(木) 11:22:07ID:???
返り値と戻り値って別?
returnが返り値で、戻り値は・・・・
0904nobodyさん2007/05/24(木) 11:44:30ID:???
>>903
Java用語辞書ではあるが
http://www.kab-studio.biz/Programing/JavaA2Z/Word/00000157.html
0905nobodyさん2007/05/24(木) 12:36:09ID:???
PHP6っていつ出るんだ?
もうそろそろだよな?
0906nobodyさん2007/05/24(木) 13:52:32ID:???
>>905
おう、もうちょっと。
あと3行ぐらいかいたらリリースするわ。
0907nobodyさん2007/05/24(木) 14:41:50ID:???
>>897
PHPを基準に考えてはいけない。
例外処理構文は通常処理と例外処理を分離して、
例外が発生した場合、tryブロックのそれ以降をすっ飛ばして
例外処理を一括して行ったり、例外の種類によって処理を変えたりするもの。

本来本格的なオブジェクト指向言語だと全てのエラーはExceptionクラスから派生してる。
ところがPHPはなんちゃってオブジェクト指向なのでほとんどただのエラーが返ってくる。
PDOクラスなんかでは例外を投げるように出来るんだけども。
だから例外処理構文としてはそれで間違ってはいない。
ただcatch(Exception)なんかでまとめて受け取るときは
echo $e->getMessage();
とした方がいいかな。

でまぁ結局、PHPのゼロ除算では例外を投げずにただのエラーを吐くだけなので使えないんだけど。
0908nobodyさん2007/05/24(木) 15:10:53ID:Ultn4Y5Q
ファイル扱いに関する質問です
よろしくお願いします

アップされるファイルの元々のファイル名がhoge.jpgだったとします
これをそのままの名前で保存した場合、すでに保存してあるファイル名と被る可能性があるわけで、
絶対に被らないような名前にする(私の場合は、登録するレコードのIDをファイル名につけています)が、
ダウンロードする場合、当然ですが、変更された味気ないファイル名、1.jpgになります
元々のファイル名でダウンロードさせるいい方法はありますか?

ちなみにテーブルはこうなっています
Tbl_file
【id】 【ファイル名(リネームされたやつ)】 【元々のファイル名】
1 1.jpg hoge.jpg
2 2.txt test.txt
3 3.jpg    nantoka.jpg 
09099082007/05/24(木) 15:14:52ID:Ultn4Y5Q
すいません ずれていました

【id】【ファイル名】【元々のファイル名】
1 1.jpg hoge.jpg
2 2.txt test.txt
3 3.jpg nantoka.jpg
0910nobodyさん2007/05/24(木) 15:22:13ID:???
1.jpgダウンロード時ヘッダおくってやればいい
header('Content-Disposition: attachment; filename="hoge.jpg")
09119082007/05/24(木) 15:29:24ID:Ultn4Y5Q
>>910
素早い回答ありがとうございます
本当に助かりました
ありがとうございました
0912nobodyさん2007/05/24(木) 15:34:49ID:IzNiejk0
x51pace@gmail.com
馬鹿の見本
0913nobodyさん2007/05/24(木) 16:01:36ID:FJNwm9Bz
>>907
どうもありがとうございます。
その説明で納得しました。
JavaのエラーとPHPのエラーは意味あいが違うのですね。
PHPにあわせた書き方ができるように精進します。
0914nobodyさん2007/05/24(木) 16:05:55ID:o0IpBJnI
POSTでおくられたデータが空だった場合の比較は↓でいいですか?データを'name'とします
if($_POST['name'] == "") { 該当処理 }
0915nobodyさん2007/05/24(木) 16:10:49ID:c6PcIOvM
質問水準からいえば、まあ、それでいいんじゃないの、と答えるしかない。
09169142007/05/24(木) 16:17:00ID:o0IpBJnI
>>915
ありがとうございます。
0917nobodyさん2007/05/24(木) 19:20:00ID:???
以下のような二つの配列をひとつの配列にキーを捧持したままマージしたいのですが
$a = array(0=>"ゼロ",1=>"イチ");
$b = array(9=>"キュー");
array_merge や array_unshift を使うとキーが初期化されてしまいます
そこで $array = $a+$b; としたら思い通りの答えを取得できたのですが
マニュアルを見る限り上記のような方法を書いていないようなので
もっとちゃんとしたやり方があるなら教えてもらえませんか?
09189172007/05/24(木) 19:21:07ID:6SP9BKjt
捧持 => 保持 ですorz
0919nobodyさん2007/05/24(木) 19:36:00ID:???
>>917
http://jp.php.net/manual/ja/language.operators.array.php
09209172007/05/24(木) 19:38:24ID:6SP9BKjt
>>919
配列演算子なんてあるんですね
知りませんでした
ありがとうございます。
0921nobodyさん2007/05/24(木) 20:23:53ID:???
>マニュアルを見る限り
見てないくせに嘘書くなよ
0922nobodyさん2007/05/24(木) 21:02:38ID:Bi1+wQVs
入力側
<br>本文
<br><textarea name="value" rows="20" cols="70"></textarea>

取得側
$value = $_POST['value'];
$value_size = strlen($value);

上記の入力側で、テキストエリアに(日本語の混在時も英数のみ時も)
データを数百バイト以上いれてPOSTすると、取得側処理でサーバが落ちます。

テスト用なので鯖はT.N.L HTTP Serverっていうのでやってます。
phpは4.3です。

どういう理由で落ちるのか、またその回避方法を教えていただけませんか?

0923nobodyさん2007/05/24(木) 21:20:21ID:c6PcIOvM
>T.N.L HTTP Serverっていうのでやってます。
そういう理由で落ちてるだけだ
0924nobodyさん2007/05/24(木) 23:28:17ID:???
昨日からPHPを始めたんですが、メールフォームの設計とか作り方について
詳しく解説しているサイトや書籍が全然ないですね。
いずれ顧客管理もPHPで作りたいのでPerlではやらないでおこうとおもうのですが、
参考になるサイトや本ってないですか?
0925nobodyさん2007/05/24(木) 23:32:25ID:???
>>924
http://www.google.co.jp/search?hl=ja&q=php+%E3%83%A1%E3%83%BC%E3%83%AB%E3%83%95%E3%82%A9%E3%83%BC%E3%83%A0%E3%80%80%E3%82%B9%E3%82%AF%E3%83%AA%E3%83%97%E3%83%88&lr=
0926nobodyさん2007/05/24(木) 23:49:00ID:???
スクリプト配布サイトばかり検索されて解説サイトがないんですが…。
0927nobodyさん2007/05/25(金) 00:04:33ID:???
マニュアルすら読んでないくせに偉そうな口を叩くな
0928nobodyさん2007/05/25(金) 00:05:21ID:???
そんな特定の案件に特化したサイトやら書籍は
そうそうないだろう
0929nobodyさん2007/05/25(金) 00:14:10ID:???
>>927
昨日始めてマニュアル読破しろというお前が偉そうだな。
09309242007/05/25(金) 00:16:03ID:???
>>928
マニュアルは読んでいるのですが、全体の設計の説明がなく参考になるサイトを探しています。

>>928
特化までしてなくてもいいんですが、そういうのはないですか。諦めてPerlにしようかな・・・。
09319242007/05/25(金) 00:16:44ID:???
すみません。前半は>>927様宛てのレスですm(_ _)m
0932nobodyさん2007/05/25(金) 00:23:56ID:???
Perlでもない気がするが
別にPerlで作れるのならそれでいいだろう
0933nobodyさん2007/05/25(金) 00:40:07ID:QXM8OM61
ともあれIDを出せよ
0934nobodyさん2007/05/25(金) 00:54:36ID:???
>>930
そんなもん探せばいくらでもあるし
http://www.sakura-pc.jp/php/02020000.shtml


こいつがつくったフォームだけは使いたくない、って思ったの俺だけか?
0935nobodyさん2007/05/25(金) 01:05:03ID:???
>>930
927だけどマニュアルのどの辺を読んだのか?
0936nobodyさん2007/05/25(金) 01:20:02ID:BGp5fjEQ
クラスのメソッドって最後にreturn;書くべきなの?
0937nobodyさん2007/05/25(金) 01:27:04ID:???
>>936
別にどこでもいいよ
09389362007/05/25(金) 01:32:47ID:BGp5fjEQ
>>937
ごめんなさい、ちょっと質問を変えます。
メソッド中にreturn;って書くべきなんですか?
0939nobodyさん2007/05/25(金) 01:34:54ID:???
>>934
これすごいな。IE6バグ依存で作ってるCSSレイアウトが、他では崩れるにもかからわずそのまま放置ってのが・・
0940nobodyさん2007/05/25(金) 01:45:56ID:???
>>938
それだけじゃ端的すぎて答えようがないんだけど
なんでそう思ったん?
0941nobodyさん2007/05/25(金) 01:53:26ID:???
何も返す必要なければreturn書く必要ないのは当たり前
メソッドというか関数全般そうだろ
0942nobodyさん2007/05/25(金) 02:05:36ID:???
returnが何をするのかわかってないからそういう質問がくる。
こんなやつのクラスに関数さんは入りたいと思わないよ
0943nobodyさん2007/05/25(金) 02:06:02ID:???
>>939
どこ文句つけてるんだよwwww
メルフォの作り方を偉そうに書いてる教えたがり君なんて、しょせんそんなレベルなんだよ
自分で貼っておいてなんだが、extract()の危険性について触れてない(むしろ推奨してる)しね
09449362007/05/25(金) 02:15:10ID:BGp5fjEQ
>>941
その答えが知りたかったです。
プロパティにすればreturnで返す必要もないと思うし、
でも本とか見ると、たいていはreturn;って書いてるし。
どっちかなと思い質問しました。
0945nobodyさん2007/05/25(金) 03:54:05ID:???
>>944
なら最初からそう書けよ
クラスのメソッド中にreturnを書くべきかという問題と
プロパティ変数に格納するか返り値を返すかの問題は全然違うじゃねーか
0946nobodyさん2007/05/25(金) 04:11:55ID:???
わからないから聞いたのになんでそんなこといわれないといけないんですかっ!
0947nobodyさん2007/05/25(金) 04:36:26ID:???
センスないし、人間的にも問題ありだから、やめとけ。
レス数が900を超えています。1000を超えると表示できなくなるよ。