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

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

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

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

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

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

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

【その他諸注意】
・正規表現・PEAR・テンプレート(Smarty等)・フレームワークは各該当スレへ
・SQLについての質問はデータベース板(PCカテゴリ)の各スレで
0637nobodyさん2007/12/13(木) 12:47:30ID:???
×使えない
○使いこなせない
0638nobodyさん2007/12/13(木) 12:47:43ID:???
>>636
そ〜すか
0639nobodyさん2007/12/13(木) 12:54:22ID:???
>>636
PHP自体のソースコードを読んだの?
だったら興味深い。
0640nobodyさん2007/12/13(木) 14:12:24ID:h2Iy8z0a
初歩的な質問なのですが、調べても見つからないため、
質問させていただきます。

formのcheckboxのデータをpostで送るのですが、
checkboxをチェックせずに送ると下記のエラーが出ます。

Notice: Undefined index: XXXXX in /home/htdocs/test.php on line 12

値が入っていないというのはわかるのですが、
下記のコードもエラーになってしまい、
どうやって値を入れればいいのか見当がつきません。

if($_POST["XXXXX"] == "") $_POST["XXXXX"] = "0";

どなたかわかる方がおりましたら
教えて頂きたく、よろしくお願いします。
0641nobodyさん2007/12/13(木) 14:14:20ID:???
issetは?
0642nobodyさん2007/12/13(木) 14:27:14ID:h2Iy8z0a
>>641
返信ありがとうございます。

その方法でいけました。
参考書には上記の方法で値を入れるように書かれていたのですが、
バージョンの違いか何かが原因だったんでしょうか。
issetとの違いも含め、よく調べてみたいと思います。

とても助かりました。ありがとうございました。
0643nobodyさん2007/12/13(木) 14:29:14ID:???
エラーメッセージを google に突っ込むくらいのことは
試してみても いいと思うんだ
0644nobodyさん2007/12/13(木) 14:33:41ID:???
>$_POST["XXXXX"] = "0"

これは気持ち悪い
凄い参考書だな
0645nobodyさん2007/12/13(木) 14:46:53ID:???
ちょっと調べましたが、register_globalsの設定の違いが原因のようですね。

>>643
それはもちろんやりましたが、
調べ方が下手なのか、あまり関連した情報が得られませんでした。

>>644
スーパーグローバル関数に突っ込むのがおかしいのでしょうか。
0646nobodyさん2007/12/13(木) 15:21:58ID:/4by8RFw
<?
$int = 110000000000;
for($i = 1 ; $i <= 50 ; $i++){
   echo $int + (10000000000 * $i) ."\n";
}
?>

【出力】
1.2E+11
130000000000
1.4E+11
150000000000
160000000000
170000000000
180000000000


なぜか、1200億と1400億がE+11となります。
これはなぜこうなるのでしょうか?
あと、
2.3E+11
2.4E+11
2.8E+11
3.3E+11
3.4E+11
3.8E+11
と、よくわからないところがE+11となっています。
何か不思議です
0647nobodyさん2007/12/13(木) 15:38:09ID:???
>>646
Eというのは、数学用語で自然対数のことを表している。
で、どうしてそのような表記になっているかというと、
コンピューター上は、数値は二進数に変換されるため、
あまり桁数が多いと桁あふれが生じて、自動的に自然対数に変換されるようになっている。
バグというか、そういう仕様としか言いようがない。
06486362007/12/13(木) 16:03:10ID:???
>>639
コアとDB周りを読んだ。最悪なのはPDO周り。
いくつかはバグレポ送ったけど、途中で嫌になって、
PHP使わないことにした。そしたら幸せになりました。
0649nobodyさん2007/12/13(木) 16:03:50ID:???
>>648
良かったら具体的な事例をあげて欲しい。
0650nobodyさん2007/12/13(木) 17:11:13ID:???
>647
>Eというのは、数学用語で自然対数のことを表している。
表してないです

あと(想像だけど) >646 の質問の意図は
「なんで 1.2 や 1.4 だけ指数表示なんだろう?」ってことではないかと
0651nobodyさん2007/12/13(木) 19:51:02ID:???
110000000000はintじゃねぇw
0652nobodyさん2007/12/13(木) 19:59:07ID:???
>>650
カーネルにも依存するよ。
今度のFreeBSDは数値計算に対して期待できるパフォーマンスを発揮するが、
LINUXだと、桁数が増えるとパフォーマンスが落ちるみたいな話があるし。
0653nobodyさん2007/12/13(木) 21:23:21ID:???
>>607
JS使うか、先にクッキーをセットしておいて、そのクッキー値があるかどうかで判別すれば?
0654nobodyさん2007/12/13(木) 21:24:17ID:???
ページ遷移の途中で設定切り替えられたらアウトだけどなw
0655nobodyさん2007/12/13(木) 21:27:29ID:???
>ページ遷移の途中で設定切り替えられたらアウトだけどなw
>ページ遷移の途中で設定切り替えられたらアウトだけどなw
>ページ遷移の途中で設定切り替えられたらアウトだけどなw
0656nobodyさん2007/12/13(木) 21:30:45ID:???
654は何が言いたいの?
0657nobodyさん2007/12/13(木) 21:32:52ID:???
COOKIE使える状態
JSでセット→ページ遷移中にOFF→クッキー無いのでやり直し

COOKIE使えない状態
JSでセット→ページ遷移中にON→クッキー無いのでやり直し

じゃない?
0658nobodyさん2007/12/13(木) 21:38:32ID:???
>>657
なるほどね。
0659nobodyさん2007/12/13(木) 21:41:02ID:pnKKxQmN
>>651
PHPは整数型で表現できる限界までint型だよ・・
0660nobodyさん2007/12/13(木) 22:29:15ID:???
>>654
wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwWWWWWWWwwwwwwww
0661nobodyさん2007/12/13(木) 22:41:36ID:???
>>659
そりゃ整数型で表現できる限界まではint型で当たり前だ。
110000000000は違うけど。
0662nobodyさん2007/12/13(木) 22:44:47ID:???
>>658
出来ないことも無い
普通のブラウザでの事だけを考えると無理っぽく思えるがなー
0663nobodyさん2007/12/13(木) 22:58:33ID:???
>>661
2^1024まで扱えるコンピューターがないと誰が言い切れるだろうか。
0664nobodyさん2007/12/13(木) 23:13:23ID:???
>>663
ほう、今あるの?
0665nobodyさん2007/12/13(木) 23:14:31ID:ODfujwJG
質問です。
<?xml version="1.0" encoding="UTF-8"?>
<?php ?>
以上のような場合、phpスクリプトとxmlってどうやって共存させるのでしょうか?
エラーになって困っています。
0666nobodyさん2007/12/13(木) 23:15:43ID:???
>>665
short_open_tagをoffにする
0667nobodyさん2007/12/13(木) 23:17:57ID:???


レベルひっくw なんかなぁ・・・w 


0668nobodyさん2007/12/13(木) 23:33:15ID:ODfujwJG
>>>666
PHP.iniってなんですか?
というのは冗談でトンです。
0669nobodyさん2007/12/13(木) 23:39:27ID:???
>>664
あっても、PHPは動かない罠
0670nobodyさん2007/12/14(金) 06:28:14ID:???
ID:ODfujwJGなにおまえ。失笑を買う。
0671nobodyさん2007/12/14(金) 06:40:16ID:???
>>670
匿名掲示板だからといって、いい加減なこと言わない方がいいよ。  
今まで何度匿名掲示板で犯罪予告して逮捕されたか、知っているの?  
偽計業務妨害で逮捕されろ。  
0672nobodyさん2007/12/14(金) 06:44:24ID:???
いい加減じゃなく失笑もんだ
0673nobodyさん2007/12/14(金) 06:48:43ID:???
ERROR:新このホストでは、しばらくスレッドが立てられません。
またの機会にどうぞ。。。
nobodyさん (1)

【PHP】ASPさんがレベルの高い質問に答えるスレ
名前: nobodyさん
E-mail: sage
内容:
どうぞ
0674nobodyさん2007/12/14(金) 07:49:54ID:???
ERROR:新この言語では、しばらく向上は望めません。
0675nobodyさん2007/12/14(金) 10:48:06ID:1QbObC1s
継承元のクラス名を取得したいんですが、どんな方法がありますでしょうか。
0676nobodyさん2007/12/14(金) 11:10:28ID:???
>>675

変数にクラス名を代入→取得スクリプトを書く
0677nobodyさん2007/12/14(金) 11:11:29ID:???
こら
0678nobodyさん2007/12/14(金) 11:20:37ID:1QbObC1s
>>676
<?
class A
{
 protected $name;
 function A() {
  $this->name = 'A';
 }
}

class B extends A
{
 function B() {
  echo $this->name;
 }
}
?>
こんな感じかな?PHP4と5で使えるget_parent_class()みたいな簡単なものがあるのかな、と思ったのですが、
やっぱクラス名をどっかで手打ちしなきゃいけないんですね。。。
06796782007/12/14(金) 11:27:41ID:1QbObC1s
やべこんがらがってた。
継承先じゃなくて、継承元から、子クラスを取得したいんだった。
>>678でいうと、クラスAからクラスBの名前(B)を取得したいんでした。
なんか方法ありますかね?
0680nobodyさん2007/12/14(金) 13:35:14ID:???
本当にくだらない質問なんですが
PHPってなんでバリアント型を採用しているんだと思いますか?
0681nobodyさん2007/12/14(金) 13:45:14ID:vuES24q3
すみません。constant.php というファイルでdefine("dbname", "php_db");
としています。
それから、db_util.phpというファイルで$con = pg_connect("dbname=dbname user=postgres password=xxxxxx");
としています。もちろん、それ以前にrequire("constant.php");としています。

Warning: pg_connect() [function.pg-connect]:
Unable to connect to PostgreSQL server: FATAL:
database "dbname" does not exist in C:\Program Files\Apache Group\Apache2\htdocs\php_pg\db_util.php on line 5
とエラーが出ます
$con = pg_connect("dbname=php_db user=postgres password=xxxxxx");
とストレートにかけばOKです。

定数を使う方法でやりたいので、なぜエラーになるか教えてください。。よろしくお願いします。
0682nobodyさん2007/12/14(金) 13:51:11ID:???
>>681
定数が文字列として扱われているから
06836812007/12/14(金) 14:05:21ID:???
>>682
それはわかってるけど、変数だとダブルクォーテーションの中だと
変数展開してくれるじゃん。定数展開ってないの?
0684nobodyさん2007/12/14(金) 14:08:13ID:???
そのまま直に入れて、どうやって定数と普通の文字列を区別すんだよ。あほか。
06856812007/12/14(金) 14:09:50ID:???
>>684 だからどうやるんだって聞いてるんだよ?馬鹿。
0686nobodyさん2007/12/14(金) 14:11:16ID:???
>>683>>685は偽者だから相手にしなくていい
0687nobodyさん2007/12/14(金) 14:39:55ID:1QbObC1s
で、子クラスから親クラス名は取得できるの?
0688nobodyさん2007/12/14(金) 14:45:10ID:???
いまボランティア精神旺盛な奴が調べてんだから黙って待ってろ
0689nobodyさん2007/12/14(金) 14:46:50ID:???
つttp://php.plus-server.net/ref.classobj.html
0690nobodyさん2007/12/14(金) 14:54:04ID:rqzH9a6r
http://jp2.php.net/manual/ja/language.oop5.reflection.php#language.oop5.reflection.reflectionclass
0691nobodyさん2007/12/14(金) 14:55:41ID:???
ID:1QbObC1sはもういいよ。質問の仕方が悪い
06926812007/12/14(金) 15:34:10ID:???
百済ねえ質問は書き込みやがれじゃないだろ。擦れたい変えろ。
百済ねえしつもんするなにしとけ!ぼけども!
0693nobodyさん2007/12/14(金) 15:56:19ID:???
盛り上がりたいのでしたらvipへどうぞ
0694nobodyさん2007/12/14(金) 16:01:39ID:???
>>680
低レベル人間向け言語だから
0695nobodyさん2007/12/14(金) 16:10:01ID:???
と低レベル人間が申しております
0696nobodyさん2007/12/14(金) 16:10:35ID:ajB+RsGk
Windowsでinclude_pathを指定するとき

.;file:///C:/path1/;file:///C:/path2/;file:///C:/path3/

の書き方ではダメなのでしょうか?
Failed opening requiredというエラーが返ります。
バックスラッシュ(\)を使いたくないのですが方法はありませんでしょうか?
0697nobodyさん2007/12/14(金) 16:34:25ID:1QbObC1s
>>688
そうか。待ってるぞ。
0698nobodyさん2007/12/14(金) 16:52:57ID:???
uza
0699nobodyさん2007/12/14(金) 16:57:15ID:???
社長復活。
0700nobodyさん2007/12/14(金) 17:48:33ID:???
>>696
普通に C:/path1/ でダメだった?
0701nobodyさん2007/12/14(金) 17:49:35ID:???
file:///は使えないと思う
0702nobodyさん2007/12/14(金) 18:07:11ID:???
ばかすぎわろた
0703はっしゅ2007/12/14(金) 18:17:32ID:fgjmBu85
php初心者です。
sha1でtxtファイルのハッシュ値出したいんだけど、ソースがわかりません。誰か教えてください。
動作環境はwin。
0704nobodyさん2007/12/14(金) 18:25:42ID:0oxSaa63
携帯向け画像出力プログラムの見直しをやっててちと迷ってるので相談させてください。

現在の状況1ファイル内に
・指定の端末に最適な画像サイズを指定するロジック
・仮想の画像IDをKeyにDBから実ファイル名を取得する
・画像を加工しヘッダーをつけて出力する
・パスの正当性チェック関数

等があり、別のファイルに定義されている関数のコピペや
このファイルで記載されている処理の一部を別の個所にコピペされている。

DB操作するクラスは各プログラムの先頭で呼ばれる初期処理定義ファイル内で
インスタンスが生成されている。

これを三つのクラスに分けて呼び出すように変更しようと検討してます。
1画像操作を行うメインクラス。このクラス内で下記クラスを各々生成する。
2DBのインスタンスを引数にもらい仮想IDから実ファイル名を取得するクラス
3パスの正当性チェック等汎用的に使う関数を取りまとめたクラス

で迷ってる点は
・2にてオブジェクトの参照渡しで生成済みDB操作クラスを取得し操作しようと思っているが
接続パラメータのみを受け取って別途クラス内でオブジェクトを生成した方がよいのか?
それともDB操作クラスを継承して受け取った接続パラメータを使用するのが良いか。

・3にて汎用関数を纏めたクラスをメインクラス内でnewしようと思っているが
そうではなくメインクラスはこのクラスを継承した方が良いのだろうか。

そもそもこんな感じでよいのか、ちゃんと勉強した事が無いのでトンデモな事言ってるかもしれませんが宜しくお願いします。
0705nobodyさん2007/12/14(金) 18:46:47ID:???
>>703
つりはいらない
0706nobodyさん2007/12/14(金) 18:48:00ID:???
>>704
同じ処理をするコードをコピペするより、どこか一箇所に書いてそれを使えばいいじゃん
0707nobodyさん2007/12/14(金) 18:48:55ID:???
って、2段落目までしか読んでなかった。
ちょっとまっとれ
0708nobodyさん2007/12/14(金) 18:53:08ID:???
2.どちらでも好きなほう使え。
3.おれなら後者

なんでDBに画像を保存したいのかが気になる。わざわざ動作が遅くなることしたいのか?
勉強のためにやってるのか、仕事などで仕様が決まってるのなら仕方ないが。
0709nobodyさん2007/12/14(金) 19:00:00ID:???
文字も画像もデータの形式に違いに過ぎないのに、
文字だけをDBにいれて、画像だけファイルにする理由がないだろ。
こういう経験則だけで語るようになったら、もう老害だよ。
社会のためにも、速やかに業界から身を引くべき。
0710はっしゅ2007/12/14(金) 19:00:10ID:uHIfbzgB
>705
すみません、釣りではなくマジなんですが(--;
ファイルから一部分を取り出してハッシュ値を出すのはわかるんですが、全体のハッシュ値ができないんです。
よろしくお願いします。
0711nobodyさん2007/12/14(金) 19:09:50ID:ZX0Jyygt
hoge.php
huga.php
といったような、2つのphpスクリプトで、変数を共有したいんですけれど
どうすれば良いでしょうか?
0712nobodyさん2007/12/14(金) 19:18:33ID:???
裏がありそうなので保留
0713nobodyさん2007/12/14(金) 19:32:53ID:???
>>711
つセッション
0714nobodyさん2007/12/14(金) 19:33:59ID:???
>>709
釣り?
0715nobodyさん2007/12/14(金) 19:37:26ID:ZX0Jyygt
>>711
すいません。セッションじゃ駄目みたいです。
C言語で言うextern的な奴が必要なんです。
0716nobodyさん2007/12/14(金) 20:00:24ID:rqzH9a6r
>>714
今もやってるか知らんけど、オラクルはDBMSをファイルサーバにしようとしてたからなぁ。

オラクル社内の共有ファイルは全てオラクルDBに入ってて、(IEじゃなくて) エクスプローラで
ファイルとして見えるようになってたし。

どうかと思うけど。
0717nobodyさん2007/12/14(金) 20:17:26ID:???
データベースファイルシステムってMSがvistaの目玉機能にしてて、
盛大にこけたね。
0718nobodyさん2007/12/14(金) 20:29:08ID:???
>>715
include 'huga.php';
0719nobodyさん2007/12/14(金) 21:18:05ID:ZX0Jyygt
>>718
includeでも駄目なんです。
で、無い知恵を絞って、
<form method="post" action="./hoge.php">
名前を入れてね <input type="text" name="name">
<?php
echo "<input type="hidden" name="id" value="$value[0]"";
?>
<input type="submit" value="登録"><br></form>
みたいな感じで、変数を渡そうと思ったんですが、
どうも、 echo "<input type="hidden" name="id" value="$value[0]"";のところの
変数展開$value[0]がうまくいきません。
こういう方法って無理なんでしょうか?
echo "<input type="hidden" name="id" value="$value[0]"";
の書き方間違っていますか?
0720nobodyさん2007/12/14(金) 21:20:03ID:???
>>719
パースエラーだろそれ
0721nobodyさん2007/12/14(金) 21:32:44ID:???
>>719
echo 内の " をエスケープしてない。
0722nobodyさん2007/12/14(金) 21:33:47ID:???
""でエスケープする言語
0723nobodyさん2007/12/14(金) 21:34:50ID:???
おっぱい括弧
0724nobodyさん2007/12/14(金) 21:38:04ID:???


LEVEL ひっくw


0725nobodyさん2007/12/14(金) 21:39:53ID:ZX0Jyygt
そうですか。
出来るんですね。
パースエラーと聞いて安心しました。
0726nobodyさん2007/12/14(金) 21:43:15ID:???
そう表示されていただろうに隠しておくとは悪質ですね
0727nobodyさん2007/12/14(金) 21:45:29ID:???
>>725
display_errors 有効になってる?
エラー文読めば、すぐわかると思うんだが。
0728nobodyさん2007/12/14(金) 21:49:11ID:ZX0Jyygt
ガビーン
php.ini編集してきます。
0729nobodyさん2007/12/14(金) 21:56:25ID:???
エラー出さない設定にしておいて「うまくいきません」とか「駄目なんです」とか言ってたのか。
自分で客観的に考えてみてふざけんなって思わね?
0730nobodyさん2007/12/14(金) 22:00:16ID:???
>>728
ガビーン
0731nobodyさん2007/12/14(金) 22:02:50ID:ZX0Jyygt
本当にすいません。
いままで、php.ini-distをphp.iniにリネームしてたんですが、
今日php.ini-recommendedをpip.iniにリネームし直したの忘れてたんです。
本当に申し訳ないです。
0732nobodyさん2007/12/14(金) 22:13:10ID:KV3JMQgu
session.cookie_lifetime の設定値超えてセッションクッキーが死んじゃうと、
session_destroy(); ができないんだけど、これだと./tmpにゴミが残っちゃう。

セッションID格納してるCookieが消滅しちゃうと構造的に無理なのかな。
何か方法あればご教授くださいな。
0733nobodyさん2007/12/14(金) 23:18:30ID:???
2ちゃんねるって有料なの?
はい。有料です。
2ちゃんねる使用料
■閲覧
1スレッド 25円
■書きこみ
1レス 10
スレ立て 500円(大人の時間、ニュース速報は1000円)
混雑時は立てる事が出来ない場合がありますが、その時は課金されません
■書きこみ放題
・プラチナプラン 4800円 閲覧無料 スレ立て200円、通常3スレ/月、実況5スレ/週の無料サービス
・ゴールドプラン 3500円 閲覧無料 スレ立て半額 HOT!
払わないと、大変なことになるかもしれませんね・・・( ̄ー ̄)ニヤリ
2ちゃんねるは有料だった
ソース
http://www.geocities.jp/guide_2ch/
0734nobodyさん2007/12/15(土) 02:23:54ID:???
>>732
鯖にあるファイルなら暫くすればGCで削除されるはず

>>703
<?php
$hash = sha1_file('ふぁいるぱす');
echo $hash;
0735nobodyさん2007/12/15(土) 03:38:06ID:???
消されねーよ。
OS再起動しない限りはな。
それにGCっーのは使用していないメモリの再利用であって、
そういう用途に使う言葉ではない。
ちなみに俺の場合、シェルスクリプト書いて消してる。
0736nobodyさん2007/12/15(土) 03:53:33ID:???
phpの場合sessionファイルも含まれるのですよ
session起動時に確率に基づいてGCが働きファイルが削除される
マニュアルにもgcとして書かれているしな
■ このスレッドは過去ログ倉庫に格納されています