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

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

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

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

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

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

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

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

【その他諸注意】
・SQL・正規表現・PEAR・テンプレート(Smarty等)・フレームワークは各該当スレへ
0762nobodyさん2012/07/18(水) 16:06:49.63ID:???
>>761
GUIDを発行してそれを認証用IDにしてチェックすればいいよ
0763nobodyさん2012/07/18(水) 16:13:59.13ID:???
やばいな、こいつPHPスレでAjaxについて答えやがった
PHPerじゃないのかよ…
0764nobodyさん2012/07/18(水) 16:20:13.34ID:???
>>761
対策はPOSTやGETで更新するサイトとなんら変わらない。
難しく考えすぎ。
0765nobodyさん2012/07/18(水) 16:20:49.01ID:???
Ajaxでもブラウザからアクセスするんだから
ブラウザからのアクセスを拒否したらだめに決まってんだろ

簡易的にAjax以外を拒否するなら
$_SERVER['HTTP_X_REQUESTED_WITH'] が 'XMLHttpRequest'
かどうかチェックすればいいが、
偽装可能だし携帯とかブラウザによっては対応できない
0766nobodyさん2012/07/18(水) 16:28:51.63ID:ZNlQhXb2
なるほど皆さんありがとうございます。
基本的に直でアクセスした場合は何も表示はされないんですが、
そのファイルのソースコードを見られるのが心配です。
基本的にアクセスすればPHPの処理が実行されるので、
ソースコードを見られる心配はないと思っていていいでしょうか?

ちょっと>>764については調べてみますが。
0767nobodyさん2012/07/18(水) 16:35:42.56ID:???
お前の将来のほうが心配だわ
0768nobodyさん2012/07/18(水) 16:39:51.44ID:???
HTTPについてちゃんと理解しなさい
0769nobodyさん2012/07/18(水) 16:42:58.58ID:???
>>766
ApacheならApacheの設定をきちんとしておけば、
.phpのファイルにアクセスして直接ソースコードが見られることはない
そんなのは当たり前
0770nobodyさん2012/07/18(水) 16:58:00.14ID:ZNlQhXb2
>>769
じゃあ安心です。
ありがとうございました

他の方もありがと!
0771nobodyさん2012/07/18(水) 18:12:43.13ID:???
>>767
ちょっとわろたw
0772nobodyさん2012/07/18(水) 21:57:10.90ID:LQ7IKH/x
php最強
0773nobodyさん2012/07/18(水) 23:04:03.60ID:???
24. メソッドと関数の違い
 → えーと メソッドは引数を持たなく、関数は引数を持つんだとおもいます
0774nobodyさん2012/07/18(水) 23:27:25.90ID:???
引数がある関数もあるし、引数がない関数もある
0775nobodyさん2012/07/19(木) 10:29:57.12ID:???
釣られるなよ
0776nobodyさん2012/07/19(木) 18:16:00.49ID:sGB+atqj
foreachやarrayで使われる

=>

ってどういう意味なんでしょうか?
特殊文字でグーグル検索すらできないので教えてください
0777nobodyさん2012/07/19(木) 19:32:58.45ID:xIuqWu1Y
SQLITEでテーブル名が数字のやつがあるんですが、

select 5555 from test order by rowid desc

ってやると、列5555の中の値が取得されずに、
5555って値が取得されてしまいます。

この原因は何なのでしょうか?
0778nobodyさん2012/07/19(木) 19:33:28.74ID:???
>>776
連想配列でググれ
0779nobodyさん2012/07/19(木) 19:40:36.16ID:rqfdDCV2
メソッド
関数
手続き
メンバー関数
プロシージャ
コールバック
はどう違いますか?
0780nobodyさん2012/07/19(木) 19:46:54.79ID:???
>>777
テーブル名じゃなくてカラム名か?
0781nobodyさん2012/07/19(木) 19:48:55.73ID:???
'5555'
0782nobodyさん2012/07/19(木) 19:51:18.24ID:???
quoteIdentifier使えば
0783nobodyさん2012/07/19(木) 19:53:13.19ID:sGB+atqj
>>778
連想配列のことだったんですね!
ありがとうございます、おかげさまで理解できました!
0784nobodyさん2012/07/19(木) 19:53:53.64ID:???
>>779
メソッド≒メンバ関数 OOPに於ける機能、あるいはオブジェクトが持つ関数
手続き=プロシージャ 何度も行う処理を一纏めにした関数
コールバック 登録された関数を後に呼び出す機構。array_mapとか
0785nobodyさん2012/07/19(木) 20:01:15.69ID:???
>>779
phpでの話か?
ならプロシージャは関係無いで

メソッドはクラスに定義された関数
クラスを実体化したらオブジェクト。オブジェクトの持ち物がメンバー。

コールバックは振る舞いの引数。普通は引数とは何らかの値やオブジェクトだが、コールバックは関数やメソッドを渡す。
07867852012/07/19(木) 20:08:41.50ID:UpFPLEC5
あぁ、一般概念のプロシージャなら >>784 の言う通り手続きのこと

そうなると文脈では784みたいな捕らえ方も無きにしも非ずだけど、オブジェクト指向の対概念として語られる場合も多い。というか、そっちの方が多いんでないかな?
0787nobodyさん2012/07/19(木) 20:24:02.11ID:???
メソッドとメンバー関数は完全に同じじゃないの?
C++とかなら違ったような気がするけど。
0788nobodyさん2012/07/19(木) 23:26:45.16ID:???
>>786
>そっちのほうが多いんでないかな?
それはない
0789nobodyさん2012/07/19(木) 23:35:12.93ID:???
25. オブジェクト指向
 → 使用しないこと。実装が中途半端だという説もありますが、
  PHP自体遅いのでOOPするとさらに遅くなり、実用に耐えません。
0790nobodyさん2012/07/19(木) 23:47:22.19ID:???
そろそろスレチで変なのわくので続きはマ板で
0791nobodyさん2012/07/20(金) 11:31:16.80ID:???
>>777
原因は、「それが仕様だから」
5555をIntegerとして返しているだけ。
``で囲め。''だと今度はstringとして認識されるぞ。
というかそんなフィールド名つけんなよ。
更に言えば、スレチもいいとこだ。
0792nobodyさん2012/07/20(金) 12:37:18.13ID:aZB4pJtS
【OS名】TurboLinux8
【PHPのバージョン】4.2
【質問内容】セッションについていくつか教えてください。
■1.A.php B.php C.phpとあって、AとCでセッションを使いたいのですが
AとCだけにsession_start()を利用してよいでしょうか?(Bでもsession_start()をしないとCで
セッションが利用できないことはあるのでしょうか)
■2.セッションの有効期限(60分以上)を設定したいのですが、
ini_set('session.gc_maxlifetime', 3600);session_save_path("/tmp/hoge");
の2つを指定でよいでしょうか?
■3.2の設定は、session_start();の度に事前に実行しないといけないでしょうか。
それとも初回1回だけでよいでしょうか。
よろしくお願いいたします。
0793nobodyさん2012/07/20(金) 12:46:28.72ID:???
1. クッキーで持ってるから問題ない
2. 直接関係あるのはsession.gc_maxlifetime
3. 動作があったら有効期限をリセットするのが普通 つまり毎回やれ

あとPHP4は特別な事情がない限りもう使わないでくれたまえ
0794nobodyさん2012/07/20(金) 12:53:45.97ID:???
>>791
SQLiteはアクサングラーヴェはNGだ
シングルクォーテーションが正解
0795nobodyさん2012/07/20(金) 14:23:57.88ID:???
悪さん知るコンプレックス
07967922012/07/20(金) 20:04:40.91ID:???
>>793
ありがとう。助かりました。
0797nobodyさん2012/07/20(金) 20:51:29.54ID:IokhYMk9
タイムスタンプで時間をmysqlに書き込み、
その値をphpで取得すると2012-07-20 18:40:42となるのですが、
配列に時間を入れて昨日だけの値を表示や今日だけの値を表示
させることは可能なのでしょうか?
0798nobodyさん2012/07/20(金) 20:55:06.04ID:???
mktime
strtotime
explode

このへんでどうにかしてみろ
0799nobodyさん2012/07/20(金) 21:00:41.56ID:bg/kXQpZ
ifの中で使うfunctionはifブロックの中で定義しようと思ったのですが、できませんでした。
こういう時は別ファイルにしてincludeするのでしょうか?
<?php
if(TRUE)
{
hoge(3);
function hoge($fuga){
return($fuga + 1);
}
}
?>
0800nobodyさん2012/07/20(金) 21:06:03.53ID:???
インクルードする方法もあるけどそういうときは無名関数を使う。
もっともPHPの無名関数は5.3以上じゃないと使い物にならんけど。
0801nobodyさん2012/07/20(金) 21:10:02.62ID:bg/kXQpZ
>>800
ありがとうございます。
調べて使ってみます。
0802nobodyさん2012/07/20(金) 22:20:44.18ID:kO69dXPR
チェックボックスのon off結果をフラグとして扱おうとしています。

チェックされた時に1が送られるというのは、できるんですが
チェックされていない時に 0を送るというのができません。

どのように記述すれば
チェックの時は1 未チェックの時は0という風にできるのでしょうか?
0803nobodyさん2012/07/20(金) 22:34:07.18ID:???
>>802
チェックボックスと同じname属性をもつhiddenを仕込んでおく。

<input type="hidden" name="data[User][done]" value="0" id="UserDone_" />
<input type="checkbox" name="data[User][done]" value="1" id="UserDone" />
0804nobodyさん2012/07/20(金) 22:40:00.24ID:???
こう書く
<input type="hidden" name="a" value="0">
<input type="checkbox" name="a" value="1">

ダサかったら
<input type="checkbox" name="checks[]" value="a">
<input type="checkbox" name="checks[]" value="b">
$chkflg['a'] = 0;
$chkflg['b'] = 0;
foreach ($_POST['checks'] as $value) $chkflg[$value] = 1;
0805nobodyさん2012/07/20(金) 23:01:44.79ID:kO69dXPR
>>803-804
ありがとうございます!!
うまくいけました!
0806nobodyさん2012/07/20(金) 23:34:16.31ID:???
>>801
もう終わった話みたいだけれど
関数をif内で定義する意味がわからない。
<?php
if(TRUE)
{
/*
hoge(3);
function hoge($fuga){
return($fuga + 1);
*/
$fuga=3;
$fuga++: //$fuga=$fuga+1;
}
}
?>
または、別の場所にfunction定義じゃ拙い状況ってあるの?
0807nobodyさん2012/07/20(金) 23:44:19.62ID:???
まあ局所的なルーチンは長々とした接頭辞で解決した方が確かにPHPらしくはある
0808nobodyさん2012/07/20(金) 23:49:19.86ID:???
そもそもfunctionを入れ子に定義できてスコープを継がないというのが困り物だよな
0809nobodyさん2012/07/21(土) 00:06:15.25ID:L7H/xY51
>>806
ありがとうございます。
phpはCなどに比べ、かなり柔軟に色々出来、パフォーマンスの上げ方も多彩だということをどこかで見かけていました。
今回は多分、includeと混同していたのだと思います。
そして今のコードは冗長で、ifで分岐できたらif、elseifそれぞれがちょうど纏まりそうですし、
こういうことができたらPHPの使い方に幅が出そうなので、質問した次第です。
0810nobodyさん2012/07/21(土) 00:06:51.46ID:L7H/xY51
意味は特になく、拙い状況でもありません。変な質問ですいませんでした。
0811nobodyさん2012/07/21(土) 00:12:28.49ID:???
スクリプトはパーサが一旦全部読み込むからパフォーマンスは変わらないよ
それよりもインクルードによるディスクI/Oの方が遅くなる
0812nobodyさん2012/07/21(土) 00:22:13.02ID:L7H/xY51
>>811
ありがとうございます、phpでもそうなのですね。
勝手に一行ずつ読みながら実行しているものと思っていました。
0813nobodyさん2012/07/22(日) 15:40:32.42ID:GaaHC7Yr
echo $A."\t";
echo $B."\t";
echo $C."\t";

ブラウザに表示された上記結果を
エクセルにタブ区切りで貼り付けたいのですが、
うまくいきません。
どこが間違っているのでしょうか。
よろしくお願い致します。
0814nobodyさん2012/07/22(日) 15:44:35.21ID:???
ブラウザ右クリック→ソースの表示→それをコピー
08158132012/07/22(日) 15:56:50.51ID:GaaHC7Yr
>>814

while(){
echo "<br/>".$A."\t";
echo $B."\t";
echo $C."\t";
}

説明が少なくてすみません。
whileで繰り返すようにしてて
$A[0] $B[0] $C[0]
$A[1] $B[1] $C[1]
$A[2] $B[2] $C[2]
のようにブラウザに表示されます。
ソースをコピーだと改行されないです。
説明が足りず申し訳ありません。

whileがある場合、どうしたらタブ区切りで貼り付けできますか?
よろしくお願い致します。
0816nobodyさん2012/07/22(日) 17:44:00.58ID:???
>>815
まずエクセルの仕様は確認してるの?
0817nobodyさん2012/07/22(日) 17:51:17.49ID:???
PHPExcelでも使って直接xlsに出力すれってことだな
0818nobodyさん2012/07/22(日) 17:54:58.17ID:???
echo "\n".$A."\t";
これで改行されるだろ
0819nobodyさん2012/07/22(日) 19:08:18.59ID:???
タブ文字が空白文字に化けるとか?
0820nobodyさん2012/07/22(日) 19:12:49.74ID:LcUqLU8f
ロリポップで以下のようなコードで画像を表示すると赤の色が失われます
ロリポップの仕様かコードが悪いのがわからないので直す方法を教えて下さい

$img = "sample.jpg" ; // 読み込む画像のアドレス
$erc = imagecreatefrompng("error.png");

$size = 200

if (!($irc = @imagecreatefromjpeg($img))) // jpeg として読み込んでみる
if (!($irc = @imagecreatefrompng($img))) // png として読み込んでみる
if (!$irc = @imagecreatefromgif($img)) { // gif として読み込んでみる
// 画像が正しく読み込めなかったときの処理
$irc = $erc;
}

if (imagesx($irc) > imagesy($irc)) {
$rrc = imagecreate($size, $size * imagesy($irc) / imagesx($irc)) ;
} else {
$rrc = imagecreate($size * imagesx($irc) / imagesy($irc), $size) ;
}

ImageCopyResampled($rrc, $irc, 0, 0, 0, 0, imagesx($rrc), imagesy($rrc), imagesx($irc), imagesy($irc)) ;

header('Content-type: image/jpeg');

// jpgeg 画像として出力
imagejpeg( $rrc ) ;
imagedestroy( $rcc );
imagedestroy( $irc );
08218202012/07/22(日) 19:35:07.88ID:LcUqLU8f
imagecreatetruecolor()にしたらできました
0822nobodyさん2012/07/22(日) 19:40:58.06ID:???
レン鯖を実験台にする馬鹿か
まずは自分のPCでやれ
0823nobodyさん2012/07/22(日) 20:23:46.31ID:I+0QjfNz
先輩諸兄だめな俺に指導をお願いします

【OS名】RHEL ES4(職場サーバのテスト用に作った自家鯖です)
【PHPのバージョン】5.3.8
【連携ソフトウェア】なし apache httpdでモジュール使用(&バッチとして使用)
【質問内容】
・特定のファイルについて、今現在のファイル内容を元に変更を行い、ファイル内容を変更後の内容に置き換えたい
・変更処理の最中に他からファイル内容を変更されてはまずい為flock()で明示的にロックして読み書きしたい

上記の条件を満たそうと
 $fp = fopen( './hoge.txt', 'r+');
 flock($fp, LOCK_EX);
 $data = fread($fp,filesize('./hoge.txt'));
〜〜$dataを元に変更処理〜〜
 rewind($fp);
 fwrite($fp, $data);

これでOKだな…などと考えていたのですが、コードを書いて、テストをはじめる直前に
元の内容のサイズ > 変更後のサイズ だったらゴミが残ってしまう事に気付きました。

ファイルは読み込み直前に排他ロックしたい、ファイルへの書き込み時にファイルサイズが減って欲しい時もある、
こういう時はどうしたら良いのでしょうか?
0824nobodyさん2012/07/22(日) 20:31:17.26ID:???
ftruncate
0825>>8232012/07/22(日) 20:35:17.32ID:I+0QjfNz
>>824
ftruncateってのがあるのか、ありがとうございます助かりました
0826nobodyさん2012/07/22(日) 20:35:35.41ID:???
一時ファイルにコピーして処理して、あとで名前書き換えたらいいんじゃないの?
0827nobodyさん2012/07/22(日) 20:55:57.16ID:???
<?php
require_onc 
?>
<html>

require_onceがhtmlより上にあると上の部分に
空白が開いてしまいます。なんとかならないですか?
0828nobodyさん2012/07/22(日) 20:58:41.25ID:???
>>747
0829nobodyさん2012/07/22(日) 21:00:07.98ID:???
require先のファイルが空白を出力してるんでね
0830nobodyさん2012/07/22(日) 21:14:12.06ID:FECQN4tJ
しまった、Sageてた
<?php
require_onc 
?>
<html>

require_onceがhtmlより上にあると上の部分に
空白が開いてしまいます。なんとかならないですか?
0831nobodyさん2012/07/22(日) 21:15:43.52ID:???
>>830
糞言語PHPを使うのをやめるといい
0832nobodyさん2012/07/22(日) 21:21:39.14ID:???
あかないし
自分で起きてる症状が他人にも起きると思ったら間違い
つうか再現できるソース全部出せよ
0833nobodyさん2012/07/22(日) 21:40:07.31ID:???
>>830
>>747-750参照
0834nobodyさん2012/07/22(日) 21:51:49.35ID:???
BOMがわからなかったから似たような質問したんだろw
0835nobodyさん2012/07/22(日) 22:23:26.00ID:FECQN4tJ
2つのファイルをutf8nにしたら直りました。
ありがとうございました。
0836nobodyさん2012/07/23(月) 00:11:02.72ID:???
ttp://www.kfb.co.jp/news/index.cgi?n=1
(´゚'ω゚`)
0837nobodyさん2012/07/23(月) 02:07:59.07ID:zNnOSXz7
このスレの住民が農作物を売るログイン機能付きの簡素な通販サイトを
作った場合はどれくらいかかりますか?
0838nobodyさん2012/07/23(月) 02:09:50.07ID:/5p5EQQS
使いものにならないニートなら機会損失を加味しても無料
0839nobodyさん2012/07/23(月) 02:14:11.68ID:???
時間のことでは?
0840nobodyさん2012/07/23(月) 02:17:45.77ID:???
>>837
初期費用6300円、年間基本料金21,000円でどう?
ショッピングモールの出店もおまけでつけておきます。
ただし、基本的な情報の入力はすべてそちらの手作業になります。

あと、割安料金で提供する代わりに、各ページの下に小さな広告が一つ入ります。
08418372012/07/23(月) 02:24:02.39ID:zNnOSXz7
あ、すいません。
制作費と制作期間の両方を質問してます。
関東が放射能だらけの食い物ばっかなので。
関西の農作物を強調して実家の農作物売ろうかなって考えてます。
0842nobodyさん2012/07/23(月) 03:09:16.45ID:???
>>841
マジ質問か。ロリポップ使いなさいよ。

「ロリポップ」で検索!検索!
0843nobodyさん2012/07/23(月) 03:12:42.49ID:???
EC-CUBEでもカスタマイズしてろ
費用も期間もかからないぞ
簡素なのでいいならカスタマイズもいらんだろ
そのまま使えばいい
0844nobodyさん2012/07/23(月) 04:23:57.60ID:???
そうそう、車輪の再発明は無駄よ
0845nobodyさん2012/07/23(月) 04:57:50.71ID:???
>>837
制作期間は、そうですね、1時間ぐらいかな。
詳しくは、カラーミーショッ・・・おおぉっと、これ以上は企業秘密だ
0846nobodyさん2012/07/23(月) 04:59:55.40ID:aO6I8Kad
質問です
index.phpで$_SERVER['PATH_INFO']でURLから値を取得する場合
http://xxxxxxxxx/index.php/hoge
とやらないと/hogeの部分が取得できないのですが、このindex.phpの部分を表示せず
http://xxxxxxxxx/hogeでURLのhogeを取得するにはどうすればいいのでしょうか?
0847nobodyさん2012/07/23(月) 05:04:47.35ID:???
アパッチの設定の問題
0848nobodyさん2012/07/23(月) 05:05:36.23ID:???
.htaccessの問題
0849nobodyさん2012/07/23(月) 05:11:19.13ID:???
つ【Apache】mod_rewriteについて語るスレ
http://kohada.2ch.net/test/read.cgi/php/1023791370/l50
0850nobodyさん2012/07/23(月) 05:16:09.42ID:aO6I8Kad
Apacheの問題だったんですか、ありがとうございます!
0851nobodyさん2012/07/23(月) 09:57:56.37ID:???
P2Util::pushInfoHtml
の::とはどういう意味ですか?
0852nobodyさん2012/07/23(月) 10:21:23.37ID:???
>>851

class Rule {

static function yomekasu ( $resNum ) {
echo '>>' . $resNum . 'をよく読めカス';
}

}

Rule::yomekasu( 1 );
0853nobodyさん2012/07/23(月) 10:26:03.61ID:???
オブジェクト指向のおっさんが再び登場
0854nobodyさん2012/07/23(月) 10:32:29.46ID:???
phpはオブジェクト指向なんだぜ
0855nobodyさん2012/07/23(月) 10:59:34.31ID:???
mb_strlenとかってちゃんと文字コード指定しないとまともに動かないことあるんだな
10時間返せよボケ
0856nobodyさん2012/07/23(月) 11:32:27.55ID:???
>>850->>855
>>1
0857nobodyさん2012/07/23(月) 11:36:26.56ID:???
自治厨うざいですねw
0858nobodyさん2012/07/23(月) 11:44:31.45ID:???
>>856
俺もかよw
どれが俺とは言わないがw
0859nobodyさん2012/07/23(月) 12:11:37.06ID:???
またお前か
気に入らないなら自分でスレ建てろ
しばくぞカスども
0860nobodyさん2012/07/23(月) 12:47:21.60ID:???
立ててきた

【PHP】気軽にPHP質問スレ
http://kohada.2ch.net/test/read.cgi/php/1343015189/
0861nobodyさん2012/07/23(月) 13:46:37.63ID:???
>>856
ちゃんとレス番書けよ低脳
■ このスレッドは過去ログ倉庫に格納されています