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

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

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

◆前スレ
【PHP】下らねぇ質問はID出して書き込みやがれ 126
http://kohada.2ch.net/test/read.cgi/php/1359808868/

◆質問用テンプレ
【OS名】CentOS
【PHPのバージョン】5.3
【連携ソフトウェア】MySQL ImageMagick
【質問内容】

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

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

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

【その他諸注意】
・SQL・正規表現・PEAR・テンプレート(Smarty等)・フレームワークは各該当スレへ
0334nobodyさん2013/04/03(水) 08:16:18.19ID:???
>>333
そこのHTMLソース見れ
0335nobodyさん2013/04/03(水) 08:48:25.20ID:???
preとかcodeとか
0336nobodyさん2013/04/03(水) 09:51:28.80ID:???
ENT_COMPAT|ENT_HTML401と等しい定数
例えばENT_DEFAULTが定義されてないとかバカだろw
その後の引数の$encodingを触りたいだけなのに
延々とENT_COMPAT|ENT_HTML401と書かされるww
0337nobodyさん2013/04/03(水) 09:59:22.29ID:???
いまどき5.4未満とか
0338nobodyさん2013/04/03(水) 10:14:17.25ID:???
PHP書くやつがHPとか言っちゃうのか
0339nobodyさん2013/04/03(水) 10:39:54.58ID:Ko35x5uB
imagejpegについて質問させてください。
imagerotateで画像を回転させて
imagejpeg($rotate_file, null, 100);
とすると画像データがそのまま表示され、画像が表示されません。
以下のようにヘッダーをつけると
header("Content-Type: " . $mime . "");
imagejpeg($rotate_file, null, 100);
「Warning: Cannot modify header information - headers already sent」というエラーが出ます。
HTML上に画像として表示するにはどうすればよいのでしょうか?
0340nobodyさん2013/04/03(水) 11:47:27.38ID:???
>>339
画像処理スクリプトは、HTMLと混在させず、画像専用に単独でPHPファイルに記述します。
その画像ファイルを<img src="gazou.php">などとしてHTMLファイルから読み込みます。
03413392013/04/03(水) 12:14:26.87ID:Ko35x5uB
>>340
回答ありがとうございます。

画像処理部分は色々な関数を突っ込んでる部分の一部になります。
function.php内にあるfunction rotate(){ 処理 } という感じになります。

単独となるとfunction.phpからrotate()関数を切り出さないといけないということでしょうか。
そうなるとちょっと構成そのものを見直さないといけないので意外と面倒そうですね。
0342nobodyさん2013/04/03(水) 12:26:05.25ID:???
>>339
>function.phpからrotate()関数を切り出さないといけないということでしょうか。

いや、切り出す必要はないと思う。
画像専用ファイル(gazou.php)から、その rotate関数を読み込めばいいんじゃないかな。
そもそもローテーションしなければ表示されるの?
0343nobodyさん2013/04/03(水) 12:35:47.43ID:???
試しにヘッダー出力を最初にやってみ
0344nobodyさん2013/04/03(水) 12:36:43.34ID:???
あーあと画像以外のデータ一切出さないようにな
03453392013/04/03(水) 13:59:52.79ID:Ko35x5uB
みなさん回答ありがとうございます。
出力側は
<html>
<body>
<?php
require_once(関数ファイル);
echo "<img src=" . rotate('roteta.jpg') . ">";
?>
</body>
</html>
関数ファイルには
function rotate($filename){
$filenameを回転処理
imagejpeg($filename);
}
という風にしています。
恐らくimg srcで指定しているものがバイナリデータそのものになっているのでおかしなことになっているんだと思います。
img srcで指定するファイルはあくまでファイル形式である必要があるという認識でいいのでしょうか?
0346nobodyさん2013/04/03(水) 14:04:41.79ID:???
img src=なんちゃら
ってあったら、サーバじゃなくてクライアントのブラウザがなんちゃらを
取りに行くだろ?よく考えてみてよ。
0347nobodyさん2013/04/03(水) 14:06:11.56ID:???
埋め込む方法も無いことは無いけど、とりあえず
Content-Type: image/jpeg のヘッダとバイナリを出すだけの
php作ってみ
0348nobodyさん2013/04/03(水) 14:15:06.22ID:???
sample.html
<html>
<body>
<img src="./gazou.php">
</body>
</html>

gazou.php
<?php
require_once(関数ファイル);
rotate('roteta.jpg');
//出力処理
?>
03493392013/04/03(水) 14:23:36.76ID:Ko35x5uB
みなさん度々の回答ありがとうございます。
>>346
確かにブラウザ側からするとバイナリ表示されるアドレスを追いかけようとするわけですからうまく表示されるわけないですね。

>>347
画像を表示するだけのものは作ってみたのですが、全部1つのファイルでまとめれればラクだな〜と思って
呼び出せればと思っておりました。

>>348
こちらは1度試してうまくいくことは確認しておりました。
ただファイルを1個にまとめることが出来ればラクだな〜と思っていたため
ファイルデータをimg srcに渡せばいいのではないかと勘違いしておりました。
使うものをAPI的にまとめていまして、画像だけ別ファイルを作成して引っ張ってくるのはどうなんだろうかと思ってしまっておりました。

一般的には手を加えた画像を表示させる際は、別ファイルを用意してそれを経由する形で表示させるのが普通なのでしょうか。
一人で開発などしていてそのへんの作法がよくわからないこともあって今回の質問となってしまいました。
0350nobodyさん2013/04/03(水) 14:36:51.90ID:???
httpの基本的な仕組みからいって、HTMLファイルはHTML等で表示して、
画像ファイルは別ファイルになるから1つにまとめるのは難しいんじゃない。
0351nobodyさん2013/04/03(水) 14:38:20.35ID:???
大して難しくは無いが、意味あるんかな
0352nobodyさん2013/04/03(水) 14:58:08.22ID:???
どうしても埋め込みたいなら
src="<?=data:image/jpeg;base64,'.base64_encode($バイナリデータ)?>"
とかでできないこともないけど、、こっちのが扱いにくい気が
03533392013/04/03(水) 15:14:12.46ID:Ko35x5uB
みなさん本当にありがとうございます。
1つにまとめるのはそんなに深い意味はないです。
単純に1個のファイルにまとまってたらラクかな〜程度のものです。
画像に関しては別ファイルから取ってくるようにします。
その方がHTML的にもスマートかと思いますし。

>>352
そんなやり方あるとは知りませんでした。
このやり方だとさすがに扱いにくい気もしますが、データをそのまま表示できる方法として覚えておこうと思います。
ありがとうございました。
0354nobodyさん2013/04/03(水) 15:15:39.52ID:???
世の中に腐るほどあるWebサイトのHTML眺めるといいよ
0355nobodyさん2013/04/03(水) 15:56:07.94ID:HfBT+72d
【PHPのバージョン】5.4
【連携ソフトウェア】MySQL
【質問内容】
さくらレンタルサーバースタンダードに作ったMYSQLのデータをphpで書き出したページを公開したいのですが、
表示するphpファイルにSQL文を書いているので、phpファイルをダウンロードすると
SQL文が丸わかりになってしまうと思うのでファイルに書かないようにしたいです。(隠したいです)

データベースのID等を記したのをreuire_onceで別ファイルから読み込めることを知ったので、
SQL分もその要領で別ファイルから引っ張ってくればいいのかなと思ったのですが、
普通はどのように隠すものなのでしょうか、MYSQLとPHPだけではなく他のプログラミング言語やサービスなども組み合わせるものなのでしょうか。
それともSQL分を隠さない(別ファイルから出力しない)のが普通なのでしょうか。

あと、ソースの途中の$kekka["0"]とかも見えてしまいますが、これも隠したい場合、
reuire_onceで他のファイルから引っ張ってくるものなのでしょうか。
行数の関係で色々省いていますがソースです。
$tempHtml .= "
<td>".$kekka["0"]."</td>
<td>".$kekka["1"]."</td>;

<tr>
<?= $tempHtml ?>
</tr>

レンタルサーバーの仕様を見るとPerl Ruby Python PHPが使用可能のようでした。
もし見当違いの質問をしていたらすいません。
よろしくお願いします。
0356nobodyさん2013/04/03(水) 16:05:09.57ID:???
通常はphpからは読めるけどhttpdからは読めないところに置く
ドキュメントルートより上とかね
無理ならディレクトリ作ったり作らなくても、.htaccess で制御

>あと、ソースの途中の$kekka["0"]とかも見えてしまいますが
普通はこれは無いと思うけど
0357nobodyさん2013/04/03(水) 16:30:40.03ID:???
DBのIDを別ファイルから持ってくるんじゃなくて、
DBの処理まるごと別ファイルにやらせよう。 そのファイルは、直接参照で見えないようにしておこう。
0358nobodyさん2013/04/03(水) 16:53:15.23ID:???
つか、どうやったらPHPファイルをダウンロードできるんだ?
0359nobodyさん2013/04/03(水) 17:02:26.34ID:???
>>358
一般的なファイルとして認識させればPHPファイルを
そのままダウンロードしちゃう
初歩のトラブルや名
0360nobodyさん2013/04/03(水) 17:08:03.64ID:???
レンタルサーバが設定をミスってたときのことを考慮しようってことかなぁ
まぁ、その辺を考慮するなら.htaccessで制御もやっちゃいけないね
03613552013/04/03(水) 17:10:13.72ID:HfBT+72d
皆さんどうもありがとうございます。

>>あと、ソースの途中の$kekka["0"]とかも見えてしまいますが
>普通はこれは無いと思うけど
すいません、勘違いしておりました。
Irvine等のダウンロードツールでhttp://hogehoge.com/test.phpをファイルとしてダウンロードすると内容が見えると思ったのですが、
もう一度確認してみましたら、ダウンロードしたtest.phpを見てもphpの処理部分は見えませんでした。(消えていました。)

DB処理の部分は用意したファイルに処理させるのが一般的とお見受けしました。
アドバイス頂いたように、
/www/の上階層の非公開ディレクトリに別ファイルを用意して、そのファイルにDB処理をまるごとやらせるようにしてみます。
レス下さいましてありがとうございます。
0362nobodyさん2013/04/03(水) 17:13:47.64ID:???
>>359
どうやって一般的なファイルとして認識させるの?
0363nobodyさん2013/04/03(水) 17:16:58.20ID:???
>>356
> 普通はこれは無いと思うけど
なら、
> SQL文が丸わかりになってしまうと思うので
これも普通はないよね。

普通のWebアプリケーションは、アプリケーションのroot以下に全部置いちゃうよ。
/var/www/htmlより上にアクセスできないことだってあるんだし。
0364nobodyさん2013/04/03(水) 17:49:59.01ID:???
ああ、SQL文だけ別に抜き出してるのかと思った
phpのソースに埋め込んでるなら読まれないよ。
0365nobodyさん2013/04/03(水) 18:11:44.91ID:???
意味わかんない
0366nobodyさん2013/04/03(水) 18:26:23.36ID:???
>>362
wget -r -k -p http://hoge
としてパスワードを要求されるので入力すればおkだ
0367nobodyさん2013/04/03(水) 20:05:59.25ID:???
>>366

じゃあ>>363の言ってることは嘘か
0368nobodyさん2013/04/03(水) 20:43:16.74ID:???
>>367
httpでアクセスすると対応してくれる人はhttpデーモンさん
ftpでアクセスすると対応してくれる人はftpデーモンさん
sshでアクセスすると対応してくれる人はsshデーモンさん
どのデーモンさんがどのファイルに入れるかはコンテキストで設定できるんだけど
普通は、httpデーモンさんはphpファイルさんに直で話しかけられない恥ずかしがりやさんだから
apacheさんに変わりに聞いてもらっている
だからブラウザってphpファイルを見てるのじゃなくて
apacheさんが 「phpさんがこんなこと言ってたぜ」って言ってるのを見てる

ちなみにhttpデーモンさんは普通はアパッチさんのwwwより上を見にいけないので
wwwより上に置いておけばブラウザからはアクセスできない

phpファイルはアパッチさん(の一部)が読みに行くから
php内でwwwより上にリンクを貼ればアパッチさんの入れる範囲で読み書きできる

SQL接続関係は 私はwwwより上に置いている

ちなみに私はこのDB関係のクラスを
DIO データインターフェイスオブジェクト とよんでいる
DIOはtheWorldメソッドなどを持つ
0369nobodyさん2013/04/03(水) 20:46:12.73ID:???
メソッドじゃなかった ファンクションだた
0370nobodyさん2013/04/03(水) 21:00:14.58ID:YRjUCssz
WordPress での作業における質問なのですが、PHP一般の話題だと思いこちらで質問させて頂きます。

今、Windowsのローカル環境で error_reporting を 32767 にセットして警告をシラミ潰しにしているのですが、

Declaration of Walker_Nav_Menu_Edit::start_el() should be compatible with Walker::start_el(&$output, $object, $depth, $args, $current_object_id = 0) in D:\localhost\wordpress\wp-admin\includes\nav-menu.php on line 207

というのをどうやっても消せません。

これは継承元のクラスメソッドとシグニチャが一致しない場合の警告なのですが、元の Walker::start_el と同じに変更しても消えないのです!

同じ警告がこのファイルの別のクラス)(Walker_Nav_Menu_Checklist)でもやはり発生して消えません。

この種類のエラーはWordPressのいたるところに散在していて、他は確認できる範囲では全て消せました。(このファイルの別のクラスでも消せたものもあります)

しかしこのファイルのこの箇所のみ解消できないのです。

どなたかお分かりになる方はいらっしゃいませんか?
0371nobodyさん2013/04/04(木) 07:26:37.47ID:???
>>368
       _, ,_
 w  (・ω・ )
 (~)、 /   i  )
  \ ` |_/ /|
   `ー_( __ノ |
    (  `(  、ノ
wwwww_ノ`i__ノ
0372nobodyさん2013/04/04(木) 10:54:32.39ID:???
>>368
> 普通は、httpデーモンさんはphpファイルさんに直で話しかけられない恥ずかしがりやさんだから
> apacheさんに変わりに聞いてもらっている

> httpデーモンさんは普通はアパッチさんの

2度もでてくるってことはhttp daemonとapacheがそれぞれ存在する環境なんだろうなぁ。
0373nobodyさん2013/04/04(木) 11:18:40.47ID:???
582 名前:萌える名無し画像 [sage] :2013/04/03(水) 21:38:39.80 ID:UQ92SOst0
http://livedoor.blogimg.jp/erotika_dea/imgs/c/6/c64e57cf.jpg
http://livedoor.blogimg.jp/erotika_dea/imgs/b/a/baaaa95e.jpg
http://livedoor.blogimg.jp/erotika_dea/imgs/0/6/0642961f.jpg
http://livedoor.blogimg.jp/erotika_dea/imgs/2/d/2dba6b48.jpg
http://livedoor.blogimg.jp/erotika_dea/imgs/c/f/cf1b79c7.jpg
0374nobodyさん2013/04/04(木) 12:53:27.85ID:???
>>366
んじゃ、http://php.net/manual/ja/index.phpのソース取ってきてみ
0375nobodyさん2013/04/04(木) 12:55:28.10ID:???
phpダウンロードされたらSQLインジェクションどころの騒ぎじゃねーな
0376nobodyさん2013/04/04(木) 13:49:54.52ID:???
>>375
上の奴、冗談なのかマジなのか判別不可能なんだよ。
0377nobodyさん2013/04/04(木) 14:49:03.99ID:???
>>376
保存されるファイルが〜.phpだからダウンロードできてると勘違いしたに賭ける
0378nobodyさん2013/04/04(木) 15:41:23.79ID:???
apacheの設定でやらかしてるとダウンロードできちゃうよな
あと ~ とか .bak で落とせるところが今でもある
どうみてもレン鯖なところにビッグチャンスあり
0379nobodyさん2013/04/04(木) 16:19:30.19ID:ukDPOk48
関数の読み方一覧はありますか?
sprintf (エスプリントエフ)
ob_start (オービースタート)
とかでよい?
0380nobodyさん2013/04/04(木) 17:13:56.47ID:???
"オービースタート"でググったら4件しか無かった。いずれも関係無し。
"おーびーすたーと"だと0件。
つまり、Web上にはそのような一覧は多分無いってことだね。

CとかUnixのだと古いのがあったりするんだが。
http://atom.rye.tama.ac.jp/~stock/cgengo/04ctext2/04furoku-c.pdf

まあ、読み方はそのままでいいんじゃない?
03813702013/04/04(木) 17:59:41.69ID:JZyowHPw
>>370 ですが、どなたか無理ですか?
0382nobodyさん2013/04/04(木) 18:30:28.61ID:???
>>370
WordPressはさっぱり知らないし、どのWPのバージョンの話なのか、PHPのバージョンは何なのか
さっぱりわからないが、何で消そうとしてるの?
出なくなるまで、ログレベルを下げるわけにはいかないの?

それと、どうやって消してるのか知らないけど、WP本体を変更しちゃったら、バージョンアップしたら
変更が消えちゃわない?

あとググった?
0383nobodyさん2013/04/04(木) 19:37:19.25ID:???
>>381
ぐぐったらでてきたんだけどこれじゃダメ?
http://stackoverflow.com/questions/9734422/errors-when-trying-to-integrate-wordpress-on-my-existing-website
0384nobodyさん2013/04/05(金) 04:18:02.22ID:OQtVBSh8
getimagesize()でアップロードしたファイル(拡張子は.jpg)の画像タイプをチェックしてるんですが
ある特定の画像のみ上手くいきません

$fileType = $_FILES['uploadPic']['type'];
if(preg_match("/jpeg/", $fileType)){
jpgならアップロード処理
}else{
echo $fileType;
}
としても、jpgと判定されない上に、echo $fileTypeで何も出力しません

さらに別のやり方で、
switch(exif_imagetype($_FILES['uploadPic']['tmp_name'])){
case IMAGETYPE_JPEG:
アップロード処理
break;
default:
echo exif_imagetype($_FILES['uploadPic']['tmp_name']);
}
この方法でも、 echo exif_imagetype($_FILES['uploadPic']['tmp_name']); で何も出力しません

何が原因なんでしょうか
PHPは5です
03853842013/04/05(金) 04:51:07.31ID:???
自己解決しました
ファイル容量的には全く問題なかったんですが、画像の寸法が大き過ぎたようです
一辺が3000px以上あると、PHPはメモリエラーを起こすらしいです
知らなかった…
0386nobodyさん2013/04/05(金) 06:15:51.61ID:???
>>370
>>381

Reflectionで調べたら、違いがあるかもしれないよ。
編集しているつもりが別のファイルだったりするってこともない?(おれはあるw)
0387nobodyさん2013/04/05(金) 06:18:17.31ID:???
しかし、WPはいまだに引数の参照渡しとかやってるのか。
まぁ、後方互換性じゃしょうがないか。
0388nobodyさん2013/04/05(金) 06:19:10.39ID:???
>>387
事故レス。ごめん、勘違い。
0389nobodyさん2013/04/05(金) 13:40:01.87ID:???
フォームに文字列を入力して自動変換させるphpで
例えばフォームに

FX News   と入力すると
↓
http://www.hoge.com/search.php?terms=FX%20News

のように変換させたいのですが上手くいきません。
以下のような感じではダメなのでしょうか?

<Form action="URL_henkan.php">
<input type="text" name="moji" size="80" value="<?echo 'http://www.hoge.com/search.php?terms=', urlencode($moji) ?>">

<input type=submit value=sub>
</Form>
0390nobodyさん2013/04/05(金) 13:42:05.75ID:???
いや、意味わからんし・・・なんでフォームのvalueにechoしてんの?
0391nobodyさん2013/04/05(金) 13:52:54.63ID:???
本当は最初はフォームは空白で、文字を入力すると
http://www.hoge.com/search.php?terms=xxxx と出力されるようにしたいんですが
やり方がわからないので…
0392nobodyさん2013/04/05(金) 13:56:52.13ID:???
そんなのphpの範疇じゃない
0393nobodyさん2013/04/05(金) 13:57:03.83ID:???
>>391
<input value="<?=urlencode($moji)?>">
0394nobodyさん2013/04/05(金) 13:59:33.61ID:???
>>389
やってみたらどうなった?
$mojiに何も入ってないとか?
0395nobodyさん2013/04/05(金) 14:00:59.14ID:???
$_REQUEST['moji']
にしてみたら?
XSSしてくださいって感じだけどもw
0396nobodyさん2013/04/05(金) 14:06:29.87ID:???
>>391
なんか、いろいろわかってないな。
?以降はURLパラメータという奴で、HTTP GETしたら勝手に付く。

hoge.php
--
<title>Test</title>
<body>
<form method="GET" action="search.php">
<input type="text" name="term">
<input type="submit">
</form>
</body>
--
を表示させて、テキストにabcと入力してsubmitしてみろ。
URLがhttp://.../search.php?term=abcになってるから。
0397nobodyさん2013/04/05(金) 14:10:17.91ID:???
>>396
$mojiはどこにいったんだよ
0398nobodyさん2013/04/05(金) 14:13:41.43ID:???
んで、自分自身のURLに対してGETし、変換結果をテキストボックスに表示させたいなら、こう。
hoge.php
--
<?php
$converted = isset($_GET['term']) ? 'hoge' : '';
?>
<title>Test</title>
<body>
<form method="GET" action="hoge.php">
<input type="text" name="term" value="<?php echo $converted; ?>">
<input type="submit">
</form>
</body>
--
0399nobodyさん2013/04/05(金) 14:15:15.52ID:???
まあ、このままだと、永遠にhoge.phpへのGETを繰り返すだけなんですけどね。
0400nobodyさん2013/04/05(金) 14:16:17.51ID:???
打ったそばからURLに変換していきたいってことだと思ったんだけど?
PHPじゃ無理だろ
0401nobodyさん2013/04/05(金) 14:18:44.77ID:???
>>400
URLを変換する意味が分からない。
次にGETしたときに、パラメータが付加されるのだから。
0402nobodyさん2013/04/05(金) 14:19:13.57ID:39+wkXdW
【PHPのバージョン】5.3
【PHPのバージョン】MYSQL
001.php、002.php、003.php・・・をMySQLのDB内レコードの、
指定したIDのレコードを表示させたいのです。
今はこんな感じでそれぞれ、ファイルを用意しようかと思っているのですが、
http://www.rupan.net/uploader/download/1365139040.png
ファイルが数百ファイル必要になってしまい、作業手順も多くなってしまいます。
003.phpを004.phpにファイル名をリネーム
004.php内のsql003.php→sql004.phpに変更
sql003.php内のwhere id = 3 を id = 4に変更 ・・等々

これらの方法を実現させるにはphpの何かの機能を使えば実現出来るでしょうか。
また、一般的にはどのように実現させるものなのでしょうか。
04034022013/04/05(金) 14:24:04.75ID:39+wkXdW
訂正です。
×【PHPのバージョン】5.3
×【PHPのバージョン】MYSQL
↓
○【PHPのバージョン】5.3
○【連携ソフトウェア】MYSQL
0404nobodyさん2013/04/05(金) 14:24:33.15ID:???
>>394
入力した文字列はフォームへの出力へは反映されていません。
つまり>>389の例だと
http://www.hoge.com/search.php?terms=
としか表示されていません。
0405nobodyさん2013/04/05(金) 14:28:19.20ID:???
>>389も>>402も基本がわかってなさすぎ。

まず、PHPの入門書を一冊通読しろ。
04063702013/04/05(金) 14:42:12.80ID:???
>>382 >>383 >>386

レス有難う。解決した。

問題を単純化するとこういうことだった

class A {
function meth($arg1, $arg2 = 0) {}
}

class B extends A {
function meth($arg1 = 0, $arg2 = 0) {}
}

class C extends B {
function meth($arg1, $arg2 = 0) {}
}

// エラーレポート内容
Declaration of C::meth should be compatible with A::meth($arg1, $arg2 = 0) in ........


1.継承メソッドが親メソッドにさらに初期値を追加定義することはエラーにならない。つまり、Bにおけるmethの定義
2.継承メソッドが親メソッドより初期値を少なくすることはエラーになる。つまり、Cにおけるmethの定義

ただ、エラーレポートがCの定義内容をAとの比較でしか報告していないのでBを調べることを怠った。
要するに、PHPのエラーレポートシステムが、おれの怠慢を補ってくれない程度にクソだったってことだ。
0407nobodyさん2013/04/05(金) 14:50:46.20ID:???
>>402
普通は、プレースホルダを使う。
http://lets.postgresql.jp/documents/tutorial/with_php/against_sql_injection/placeholder

SQLインジェクションが起きてもいいなら、'where id = ' . $idみたいに、クエリ文字列を組み立てる。
04084072013/04/05(金) 14:51:27.81ID:???
悪い、このURLはPostgreSQLのだった。
MySQLの場合どうやるかはググってくれ。
0409nobodyさん2013/04/05(金) 15:01:58.57ID:???
for (i = 0; i < 100; i++) {
//数行の処理
}

を100ブロックに展開するって話思い出した。
0410nobodyさん2013/04/05(金) 15:58:08.23ID:???
ダメだー
無料の掲示板導入しようとしてるんだがことごとく失敗するw

初心者でも設定が簡単な無料掲示板教えて
できれば画像などを投稿できるやつがいい

夢幻ってサイトので10ぐらい無料の試したが全部しっぱいしたw
0411nobodyさん2013/04/05(金) 16:03:05.38ID:???
<a href="http://script.s16.xrea.com/2ch/";>2chみたいな掲示板</a>
サンプル
2ちゃんねるみたいな掲示板
この掲示板スクリプトは、ネット上で見つけたread.cgi、bbs.cgiをPerlからPHPに移植したものです。
改造、再配布、商用利用等に制限はありませんが、プログラムのバグ等でログが消えたり他の損害がおきても作者は一切の責任を負いません。
<a href="http://script.s16.xrea.com/2ch/php/";>2ちゃんねるみたいな掲示板</a>
0412nobodyさん2013/04/05(金) 16:03:51.63ID:???
スーレーチー
04134022013/04/05(金) 19:24:49.12ID:39+wkXdW
勉強不足でした。。入門書通読して勉強してきます。

>>407
なるほど、普通はそういった方法を使うのですね。
ありがとうございます、勉強になります。
0414nobodyさん2013/04/05(金) 19:47:44.44ID:???
このスレ、まじで和むな。
0415nobodyさん2013/04/06(土) 02:00:26.72ID:???
このスレは他の質問スレより回答がわかりにくく、厳しいと思いました。
0416nobodyさん2013/04/06(土) 04:21:01.34ID:???
質問は?
0417きら ◆Kira.u9zNc 2013/04/06(土) 04:50:16.93ID:???
さきゅばすがあるフォルダに移動して
さきゅばすCLI版を起動させるバッチファイルを作ったんですが
名前を指定して実行などでは普通に出来るのにPHPのexec();でだけ出来ません。
どうすればexecで起動出来ますか?
0418きら ◆Kira.u9zNc 2013/04/06(土) 04:53:09.41ID:???
【OS名】Windows
【PHPのバージョン】5.3.18
【連携ソフトウェア】MySQL VertrigoServ
【質問内容】>>417
0419nobodyさん2013/04/06(土) 05:04:37.52ID:???
>>418
>>1
0420nobodyさん2013/04/06(土) 06:37:26.53ID:???
>>417

>出来ません。
ってだけで、
エラーメッセージとかコマンドの詳細を書かないってことは、
エスパーできる範囲で質問せざるをえないわけだが。

イベントログかPHPのエラーログ見た?
セーフモードは?
フルパスで起動してる?
パスに空白入ってない?
権限は?
0421nobodyさん2013/04/06(土) 09:33:39.67ID:???
exec('test.bat'); とでもやってんだろ
0422nobodyさん2013/04/06(土) 18:25:33.81ID:yOARrNMO
【PHPのバージョン】5.3
【連携ソフトウェア】MySQL

<?php
$hoge = intval($_GET["hoge"]);

$q=<<<eot
select * from table where id = $hoge;
eot;

$re=mysql_query($q);
$hairetu=mysql_fetch_array($re);

?>
<body>
<?= $hairetu["taijuu"] ?>

これで実行すると下のようなエラーが出てしまいます。
Notice: Undefined variable: taijuu in C:\xampp\htdocs\xxxx.php on line 100

3行目を追加($taijuuを定義)して、<?= $hairetu ?>に変更すると、

(途中省略)
$re=mysql_query($q);
$hairetu=mysql_fetch_array($re);
$taijuu = $hairetu["taijuu"];
?>
<body>
<?= $hairetu["taijuu"] ?>

正常に<?= $hairetu["taijuu"] ?>が処理され表示されます。
なぜ、<?= $hairetu["taijuu"] ?>ではエラーが出るのでしょうか。
0423nobodyさん2013/04/06(土) 18:42:09.69ID:???
>>422
下のほうに$taijuu変数があるんでしょ。
そちらを書き換えればいい。
100行目って出てるよ。
0424nobodyさん2013/04/06(土) 19:04:29.97ID:yOARrNMO
>>423
ありがとうございます。そこが問題だったようです。
そこを書き換えて、あと100行目前後の変数の部分が変な記述になっていたので
これも直したら正常に処理することが出来ました。
0425nobodyさん2013/04/07(日) 10:05:58.96ID:???
◆真夜中のじゃあのさん◆
http://hissi.org/read.php/news4vip/20130407/T29ZaG1nNGow.html


◆じゃあのさんまとめ◆
http://jyaanowww.wiki.fc2.com/
0426nobodyさん2013/04/08(月) 09:47:10.31ID:Hgt8t7EN
【OS名】CentOS 6.0
【PHPのバージョン】5.1.6
【連携ソフトウェア】なし
【質問内容】
ファイルを圧縮・解凍したいと思っています。
PHPが5.1.6なのでZipArchiveがありません。
phpMyAdminなどの追加も出来ない環境なのでモジュールを使ってするということができません。
コマンドも権限が無いので叩けない状態です。
こういった状況で圧縮・解凍する方法がPHPであればアドバイスもらえないでしょうか。
0427nobodyさん2013/04/08(月) 10:04:42.45ID:???
ピュアphpのコードで自力でやる
0428nobodyさん2013/04/08(月) 10:24:46.31ID:???
5.1.6でも標準でgz使えるんじゃないのか。
調べてサーバーで使用禁止の設定を確認したか。
0429nobodyさん2013/04/08(月) 10:44:26.70ID:???
>>426
つまり、zlib関数も使えないってこと?
04304262013/04/08(月) 11:39:04.03ID:Hgt8t7EN
みなさん回答ありがとうございます。

検索ワードが悪かったせいか、上位にZipArchiveに関する事が多く出ていました。
zlib関数があることを知りませんでしたので、そちらで汎用的なzipファイルを作成できるという
ことであればそちらを使ってみたいと思います。
0431nobodyさん2013/04/08(月) 21:14:28.36ID:???
https://www.google.co.jp/search?q=php+zip
目の錯覚か
0432nobodyさん2013/04/08(月) 23:33:19.67ID:w0n+quq7
【OS名】CentOS 5.3
【PHPのバージョン】5.1.6
【連携ソフトウェア】なし / モジュール追加不可
【質問内容】
2038年を超える日付計算をしたいのですが、PHP5.1系のためDateTimeも使えず
モジュールも追加出来ないためPearで計算することも出来ません。
こういった状況で2038年を超える日付計算をするにはどのようにすればいいのでしょうか?
0433nobodyさん2013/04/08(月) 23:51:09.14ID:???
>>432
unixタイムのマイナス値使わないなら マイナス値対応させれば2106年くらいまでけそうだな
独自ファンクション作ってしまえ
そしてここで公開しよう
■ このスレッドは過去ログ倉庫に格納されています