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

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

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

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

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

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

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

【その他諸注意】
・SQL・正規表現・PEAR・テンプレート(Smarty等)・フレームワークは各該当スレへ
0161nobodyさん2011/02/18(金) 07:06:49ID:???
>>160
お前がいい加減にしろ!
0162nobodyさん2011/02/18(金) 07:39:28ID:???
>>161
お前もいい加減にしろ!
0163nobodyさん2011/02/18(金) 08:42:48ID:???
exit();
0164nobodyさん2011/02/18(金) 16:03:50ID:Mrnk7oLN
【OS名】Windows7
【PHPのバージョン】5.1
【連携ソフトウェア】Eclipse Zendデバッガー XAMPP
【質問内容】
スレ違いだったらごめんなさい。

EclipseとXAMPPをつかって開発をしているんですが、
PHPをCLIで実行したときにXAMPPのPHPフォルダの
php.iniの設定を読み込んでくれません。

Zendデバッガーのtmp領域に作成される
php.iniを見ても、XAMPPのPHPフォルダのphp.iniの
内容とは異なるものができ上がっています。

CLIで動かしたときには元はどこのiniファイルを見ているのでしょうか。
わかる方がいらっしゃいましたら
よろしくお願いいたします。
0165◆oDupeixhZv52 2011/02/18(金) 16:21:27ID:???
php-cli.ini を読んでるんじゃないですかね。

http://php.net/manual/ja/configuration.file.php
0166nobodyさん2011/02/18(金) 16:23:59ID:ZHHwRd0X

【OS名】CentOS
【PHPのバージョン】5.1.6
【連携ソフトウェア】
【質問内容】

APIへのPOSTリクエストで手詰っています。
OAuthを利用した認証からGETでのデータ取得まではHTTP_OAuthを利用してできました。
しかし「Content-Typeをapplication/jsonでjsonデータをPOSTする」部分がどうしてもわかりません。
最終的には$consumer(HTTP_OAuth_consumer で作成)->sendRequest([API URL],$params,"POST");
という形で送ると考えているのですが、headerをどこに記述したらいいのか・・HTTP_REQUESTのsetHeader?いや$paramsの中に直接記述?などと様々な試行錯誤を繰り返したものの、結果は「400 Bad Request」のみです・・
1週間ほど格闘してもうお手上げなので、どなたかアイデアをお願いします。
01671642011/02/18(金) 17:11:37ID:Mrnk7oLN
>>165

レスありがとうございます。

XAMPPのフォルダを見たのですが
php-cli.iniはありませんでした。

試しにC:\windowsの中に
php-cli.iniをつくってみたのですが、
これでも動きませんでした。

どこか他に見ているところがあるのでしょうか。。。。
0168nobodyさん2011/02/18(金) 17:19:54ID:NY+ifgVH
【OS名】WindowsXP Home SP3
【PHPのバージョン】5.2.14
【質問内容】
PHP + SFTPでファイルを送信したいと考えています。
pecl ssh2のコンパイルが難しそうなので、PuTTY付属のplinkで何とかしたいのですが、
exec('plink -P ポート -l user -pw pass 11.11.11.11')
でログインした状態のplinkにメッセージを送る方法が分かりません。
何かよい方法があればご教示ください。よろしくお願いします。
0169◆oDupeixhZv52 2011/02/18(金) 17:44:28ID:???
>>167
phpinfo()見てって言えばよかったのか。
0170◆oDupeixhZv52 2011/02/18(金) 18:01:17ID:???
>>168
expect_expectl かなぁ。
0171nobodyさん2011/02/18(金) 18:42:58ID:TKcD2AZD
すみません。
携帯からPOSTされる文章の改行コードって"\n"でしょうか?
それとも"\n\r"(?)でしたでしょうか?
機種によって違うのでしょうか?
携帯ややこしいです。
0172nobodyさん2011/02/18(金) 18:55:08ID:fb4Kr5zE
【OS名】Windows 7
【PHPのバージョン】5.3.5 (VC6 X86 32bit) + PEAR
【連携ソフトウェア】
pdo_mysql / mysqlnd 5.0.7-dev - 091210 - $Revision: 304625 $
MySQL 5.5.8 (Community Server) / Apache 2.2.17 / XAMPP (Basispaket) 1.7.4
【質問内容】
$stmt = $dbh->prepare('SELECT 2011');
$stmt->execute();
var_dump($stmt->fetchColumn());

以上のコードを実行すると int(2011) と表示されます
PHP Manual によると string 型で返るはずですが、int 型で返ってしまいます
仕様通り string 型で返すにはどうすれば良いでしょうか
http://www.php.net/manual/ja/pdostatement.fetchcolumn.php
0173nobodyさん2011/02/18(金) 18:55:56ID:???
>>168

> exec('plink -P ポート -l user -pw pass 11.11.11.11')
> でログインした状態のplinkにメッセージを送る方法が分かりません。

誰が何にログインした状態を想定しているのかを教えてください。
0174nobodyさん2011/02/18(金) 19:00:36ID:???
>>172

$stmt = $dbh->prepare('SELECT 2011');
$stmt->execute();
//
$result = $stmt->fetchColumn();
//
var_dump( $result );
//
if ( is_integer( $result ) ) {
 :
 :

var_dump の仕様についての問い合わせですか?
何の仕様についての問い合わせですか?

質問の対象がぼやけ始めています。
0175◆oDupeixhZv52 2011/02/18(金) 19:02:52ID:???
>>172
うちは
string(4) "2011" だよ。
01761682011/02/18(金) 19:05:29ID:???
>>170
ありがとうございます。
それもpeclなので、コンパイルできずちょっと難しそうです。
WSHでも出来ないようで困りました…

>>173
SFTPを使用するためにuserがサーバにSSHでログインした状態です。
0177nobodyさん2011/02/18(金) 19:09:31ID:???
>>167
初心者がXAMPP使うな
0178◆oDupeixhZv52 2011/02/18(金) 19:19:04ID:???
>>176
続くコマンドをファイルに書いて  -m file ではいけますか?
01791682011/02/18(金) 19:58:52ID:???
>>178
ありがとうございます。それでいけました!
0180◆oDupeixhZv52 2011/02/18(金) 20:01:32ID:???
>>171
全機種調べる気力もなければ、今後の機種もどうなるか分からないので、
どっちでもいいようにプログラム組めってことですよね。
0181nobodyさん2011/02/18(金) 20:16:15ID:???
POSTの改行コードなんて全置換かnl2brtの時くらいしか意識しなくていいと思うが
0182nobodyさん2011/02/18(金) 20:19:58ID:???
<?php
if (PHP_SAPI != 'cli') {
die("Please run this test from CLI!\n");
}

ini_set('display_errors', 1);
ini_set('output_buffering', 0);
error_reporting(-1);
if (!ini_get('safe_mode')) {
set_time_limit(1);
}

echo "Testing float behaviour. If this script hangs or terminates with an error ".
"message due to maximum execution time limit being reached, you should ".
"update your PHP installation asap!\n";
echo "For more information refer to <http://bugs.php.net/53632>;.\n";
$d = (double)"2.2250738585072011e-308";
echo "Your system seems to be safe.\n";
0183nobodyさん2011/02/18(金) 20:40:20ID:???
http://code.google.com/p/noop/
新時代の言語
0184nobodyさん2011/02/18(金) 21:15:22ID:???
noobにはピッタリだな
0185nobodyさん2011/02/18(金) 23:20:30ID:???
メディーーック
0186nobodyさん2011/02/19(土) 09:10:39ID:Gww6mUql
$hoge = 'hoge';
$fuga = 'fuga';
みたいなのがあって何度も「$hoge . $fuga」を使いたいときは
$piyo = $hoge . $fuga;
としてから「$piyo」を使うほうがいいんですよね?

スーパーグローバル変数はこんなふうに別の変数に入れなおさなくてもいいんですか?

本当にくだらないかもしれませんがよろしくおねがいします
0187nobodyさん2011/02/19(土) 09:13:06ID:???
>>186
良いの基準は?
0188nobodyさん2011/02/19(土) 09:35:43ID:Gww6mUql
>>187
186の例だと短い文字列の連結だけなのでたいした違いはないと思いますが
「$hoge . $fuga」じゃなくもっと複雑な処理をしたあとの結果を何度も使う場合は
その結果を変数に入れておけば毎回複雑な処理をしなくて済むんですよね?
無駄な処理をしなくて済んで効率的だという意味の「よい」です

スーパーグローバル変数は、処理がされた結果が入っているのか、
たとえば$_SERVER['REMOTE_ADDR']と書くたびにREMOTE_ADDRを取得しに行くのか、
後者なら変数に入れなおす必要があるのかな、と思いました
関数じゃなくて変数だから結果が入っているのかな・・・?
0189nobodyさん2011/02/19(土) 09:50:02ID:???
変数に入れることによるメモリ消費量の増加と
処理をすることによるCPU負荷を天秤にかければいいさ
0190nobodyさん2011/02/19(土) 09:58:14ID:???
>>189
知りたいのは、スーパーグローバル変数はすでに結果が入っているのかどうかということです
188の最後の行で正解ですか?
0191nobodyさん2011/02/19(土) 09:58:28ID:???
>>188
スーパーグローバル変数は、変数であるのであなたの杞憂するような
余計な処理というのは入っていない。単純に配列から取り出しているだけ。

見かけ上配列と同じArrayAccessインターフェイスのがあるが、こちらは
配列的アクセスしたとしても関数を呼び出すので、多少なりとも配列から
呼び出すのより遅くはなる。

それとグローバルの$hogeは$GLOBALS['hoge']と同じことなのだから、
たぶんほとんど差がない。
0192nobodyさん2011/02/19(土) 10:05:38ID:???
ぴゅっ
0193nobodyさん2011/02/19(土) 10:06:09ID:???
>>191
どうもありがとうございます
0194nobodyさん2011/02/19(土) 10:08:35ID:???
グローバル変数使ってるうちは素人だってじっちゃが言ってた
0195nobodyさん2011/02/19(土) 12:40:59ID:???
PHPファイルのインデントは
タブと半角スペースどっちが推奨ですか?
0196nobodyさん2011/02/19(土) 12:46:43ID:???
>>195 >>1
エディターにお任せが良い。
0197nobodyさん2011/02/19(土) 13:06:27ID:???
エディターは何使ってる?
0198nobodyさん2011/02/19(土) 13:33:20ID:???
ノートパッド
0199nobodyさん2011/02/19(土) 13:36:56ID:???
peggy
0200nobodyさん2011/02/19(土) 14:02:24ID:???
ノートパッド
0201nobodyさん2011/02/19(土) 14:15:37ID:???
peggy
0202nobodyさん2011/02/19(土) 14:27:22ID:???
ここまでPHP Editorなし、と
0203nobodyさん2011/02/19(土) 16:04:54ID:???
>>195
そういう質問をするとこういうのを見ろとか言う奴が出てくると思うが
http://framework.zend.com/manual/ja/coding-standard.php-file-formatting.html
↑ここではタブを使わずスペース4文字とか書いてある

個人的にはスペース2文字が好み
ネストが深くなってインデントが多くなっても右に寄り過ぎないのがいい
タブ使うと環境によって見え方が変わるから嫌い
0204nobodyさん2011/02/19(土) 16:08:34ID:???
俺は秀丸(フリー版)つこうてる
0205nobodyさん2011/02/19(土) 16:24:22ID:???
えくりすぷ
0206nobodyさん2011/02/19(土) 16:34:15ID:???
エディタスレ池
0207nobodyさん2011/02/19(土) 16:47:43ID:???
>>203
ネストが深くなるなら関数化しようぜ
0208nobodyさん2011/02/19(土) 16:53:27ID:???
>>207
まぁなーでも同じ処理を何度も行うわけではないのに関数化する意味はないよな
ネストが深いといってもこの程度の話だから

for(){
 ;
 if(){
  ;
  for(){
   ;
   if(){
    ;
   }
  }
 }
}
0209nobodyさん2011/02/19(土) 18:38:26ID:???
くだらん。お前の話はくだらん
0210nobodyさん2011/02/19(土) 19:11:51ID:???
一つ減った(`・ω・´)
for(){
 ;
 if(){
  ;
  continue;
 }
 for(){
  ;
  if(){
   ;
  }
 }
}
0211nobodyさん2011/02/19(土) 19:13:53ID:???
せめて&nbsp;
0212nobodyさん2011/02/19(土) 19:14:51ID:???
タブにして表示をスペース2つ分にすればいいじゃん
0213nobodyさん2011/02/19(土) 19:29:50ID:???
>>212
> タブ使うと環境によって見え方が変わるから嫌い
0214nobodyさん2011/02/19(土) 19:36:13ID:???
 
0215nobodyさん2011/02/19(土) 19:37:16ID:???
forのネストはたいてい解消できるんだけどな
for ($i=0, $j=1, $k=0, $fib=0; $i<50; $i++, $fib=$j+$k, $j=$k, $k=$fib) {
echo $fib."<br>\n";
}
0216nobodyさん2011/02/19(土) 19:37:42ID:???
&nbsp;
0217nobodyさん2011/02/19(土) 19:38:57ID:???
>>215
そのfor文、1行に収まってるからいいけど、
50行くらいなったらどうすんの?
0218nobodyさん2011/02/19(土) 19:39:26ID:???
&nbsp;はコピペするとそれも含まれるのが不便だな
0219nobodyさん2011/02/19(土) 19:55:29.65ID:???
>>213
おまえさん、HTML書くときもwidth=800とかで固定するタイプだろ
width=100%で相手の環境に合わせようとは考えないタイプだ





俺もだよ
0220nobodyさん2011/02/19(土) 22:47:51.40ID:???
>>219
HTMLは書いたこと無いですよ。
というより、いまどきHTMLを書く必要ってあります?
0221nobodyさん2011/02/20(日) 00:27:40.54ID:???
>>220
PHPから何を書き出してるの?
漢はtext一択?
0222nobodyさん2011/02/20(日) 00:30:48.59ID:???
>>221
何を書き出してる?
質問の意図がよくわかりませんが、標準出力のことでしょうか。
ファイルやデータベース出力も利用しますが、画面表示なら標準出力を使っています。
0223nobodyさん2011/02/20(日) 00:39:04.16ID:???
>>222
ああ、ほんとにHTML使わないんだ。
HTML書き出さないなら、pythonとかの方が便利じゃね?
0224nobodyさん2011/02/20(日) 01:14:48.73ID:s/fCDBml
Mixi等のログインしないと中身が見れないサイトに関してですが
ああいうサイトはどこにアクセスしてもCookieにログイン情報がない場合はログイン画面にリダイレクトされると思います。
あれは、各ページ全ての先頭でログインチェックをやっているということですか?
それとも、.htaccessかなんかで一括で前処理が出来るのでしょうか?
0225nobodyさん2011/02/20(日) 01:43:38.10ID:???
普通はセッションチェックする処理をインクルードファイルにして全ページに組み込むと思う
0226 冒険の書【Lv=1,xxxP】 (´・ω・)ス2011/02/20(日) 02:18:18.39ID:???
>>224

質問の意図が見えない。

何かをしたいから mixi だうんぬんを質問しているんだろ?

背景…自分が何をしたいかを正直に書いてはどうだろうか?

何らかの答えを求めるならば質問する理由を明確にしないと自分が欲しい回答が得られないのは当たり前のことです。

0227nobodyさん2011/02/20(日) 02:44:28.37ID:???
新参な俺に教えてください
>>226はおバカさんなのかしら?
0228nobodyさん2011/02/20(日) 02:45:28.82ID:s/fCDBml
>>225
ありがとうございます
それでやってみます

>>227
ちょっとなに生きてるのかよくわからないです
0229nobodyさん2011/02/20(日) 02:59:20.89ID:???
>>227
だから>>226のコテハン野郎は馬鹿だと前スレから言ってるじゃないか。
0230nobodyさん2011/02/20(日) 03:07:14.16ID:???
回答者にID出せ厨かつAjax厨だからな
自作自演でしか盛り上げられないかわいそうなやつなんだよ
残念な脳の持ち主であることは前々から言動を見ればわかっていたことなんだから
今更小突き回しても面白くないし華麗にスルーするのがよい
俺も含めてかまったら負け
0231nobodyさん2011/02/20(日) 08:38:16.10ID:gro3cDqj
引き続き、土は生ぶ 明あき弘ひろをさがしています。
三十歳 programmer 日藝出身 最寄り駅はさぎのみや駅もしくは阿佐ヶ谷駅
福岡県出身との情報があります。
連絡先・hayakudetekoi@hotmail.co.jp
0232 冒険の書【Lv=1,xxxP】 (´・ω・)ス2011/02/20(日) 09:46:39.54ID:???
>>230
困った奴ですね。
0233nobodyさん2011/02/20(日) 11:22:18.24ID:6qTRErru
設定ファイルconfig.phpの中に書かれた変数をfunction内で呼び出すのにいい方法ありますか?
functionは10個ほどあり、function外にincludeを置くと変数を読み込んでくれないので、function内で同じincludeを計10個書いています。
global 変数 とすれば読み込んでくれますが、設定項目が増えるとglobalも増やさなくてはいけないので面倒で。。
0234nobodyさん2011/02/20(日) 13:24:40.04ID:???
Configクラスを用意する。
staticでアクセスする
0235nobodyさん2011/02/20(日) 14:14:04.00ID:TBXYZPd+
MySQL関連の質問で恐縮なんですが、

一般的に処理が重くなるのは、 saveなどの書き込み系で、
findなどはそこまで気にしなくて良いと考えていいでしょうか?

最近、ループの中でsave を何回も繰り返していたので、
一気にまとめて save Allとするようにしました。
0236nobodyさん2011/02/20(日) 14:15:16.02ID:???
標準関数でsaveなんてあったっけ?
0237nobodyさん2011/02/20(日) 14:23:53.47ID:???
>>234
classをfunction内で読み込むのにstaticというのを使うのですか?
0238nobodyさん2011/02/20(日) 14:25:08.80ID:TBXYZPd+
>>236

すいません。 cakePHPを使っているので、データベース関連の関数はsave とかで覚えてしまっていて。
0239nobodyさん2011/02/20(日) 14:43:56.82ID:???
更新系が重くなるのは勿論だけど参照系だって多少は重いよ
0240nobodyさん2011/02/20(日) 15:36:51.57ID:TBXYZPd+
>>239

レスありがとうございます。

やはり、80000ぐらいのデータから findとかを繰り返すと重くなりますよね。
saveは重いだろうけど、 findは軽いだろうから大丈夫だと勘違いしてた気がします。
0241nobodyさん2011/02/20(日) 21:34:15.34ID:xXHeI12p
「a()[0]」という感じにa()の結果のarrayを変数に入れずにすぐに使いたいのですが
どう書けばいいですか?
<?php
echo a()[0]; //エラーが出ます
function a()
{
return array('b', 'c');
}
?>
0242nobodyさん2011/02/20(日) 21:54:32.14ID:???
無理です
0243nobodyさん2011/02/20(日) 22:02:15.46ID:???
>>241
基本的にには無理だし、a()[0]、a()[1] と別々に呼び出すと
a()関数を2回コールすることになるので無駄
どうしても1行で収めたいのなら別の関数を作ってそこからa()を呼び出すとか
function b($func, $var){$ret = $func(); return $ret[$var];}
echo b("a", 0);
0244nobodyさん2011/02/20(日) 22:05:03.39ID:???
>>242-243
どうもありがとうございます
0245nobodyさん2011/02/20(日) 22:30:27.58ID:???
それも2回コールするけどな
0246nobodyさん2011/02/21(月) 00:16:45.14ID:???
Nowdoc って何て読むんだろ。ナウドック?
0247nobodyさん2011/02/21(月) 00:30:18.28ID:???
>>241
こんなんでどうでしょうか

class hoge {
public $result;

public function foo() {
$this->result = array('aaa', 'bbb');
return $this;
}
}
$obj = new hoge();
echo $obj->foo()->result[0];
0248nobodyさん2011/02/21(月) 00:36:24.71ID:???
newの分多いじゃんw
0249nobodyさん2011/02/21(月) 00:57:18.94ID:???
247じゃないけど、本質はそこじゃないだろ>>248
0250nobodyさん2011/02/21(月) 01:03:08.65ID:???
どこなの?
0251nobodyさん2011/02/21(月) 01:36:46.56ID:???
>>250
249じゃないけど本質はナウドック
0252nobodyさん2011/02/21(月) 01:39:13.82ID:???
>>251
250じゃないけど、お前みたいなヤツ、嫌いじゃないぜ///
0253nobodyさん2011/02/21(月) 01:40:18.09ID:???
>>247
それするなら

class hoge {
public $result;
function __construct(){
$this->result = array('aaa', 'bbb');
}
}
$obj = new hoge();
echo $obj->result[0];
0254nobodyさん2011/02/21(月) 01:46:22.22ID:???
1行で済ませたいんだろ
0255nobodyさん2011/02/21(月) 01:55:13.43ID:???
1行
class hoge{public $result;function __construct(){$this->result = array('aaa', 'bbb');}}$obj = new hoge();echo $obj->result[0];
0256nobodyさん2011/02/21(月) 02:01:00.32ID:???
関数名受け取って実行のほうがいいじゃん
0257nobodyさん2011/02/21(月) 02:02:57.42ID:???
>>255の言うとおり、1行で済ます方法なんていくらでもあるんだから、きっと深い理由があるんだよ
他社の巨大なWebシステムをカスタマイズしなきゃいけなくて、触れるコードがそこだけだとか、
なにか社内規約等の特別な理由で一時変数を用意できないだとか、


さあ、>>241さん、はりきって質問の趣旨をどうぞ!
0258nobodyさん2011/02/21(月) 02:13:13.95ID:???
なんでもかんでもクラスにいれればいいってもんじゃねえだろ
オブジェクト脳が見たらどうみても不思議なコードだ
0259nobodyさん2011/02/21(月) 02:14:45.10ID:???
>>241じゃないけど、
$ret=a();
func($ret[0], ...);
みたいに2行になるのが嫌なんだろ。a()[0]という書き方が許容されるなら
func(a()[0], ...);
だけで済むってことだと思うけど
0260nobodyさん2011/02/21(月) 02:16:18.64ID:???
単純に、正規の方法はない、やるとしても>>247のような形になるよってことでおわりのような。
■ このスレッドは過去ログ倉庫に格納されています