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

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

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

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

◆質問用テンプレ
【OS名】vine linux
【PHPのバージョン】php5.26
【連携ソフトウェア】mysql
【質問内容】

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

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

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

【その他諸注意】
・SQL・正規表現・PEAR・テンプレート(Smarty等)・フレームワークは各該当スレへ
0771nobodyさん2009/07/24(金) 15:51:28ID:???
>>767
それが嫌でcodeigniterでNative_session使ってる
0772nobodyさん2009/07/24(金) 15:56:51ID:???
http://jp.php.net/manual/ja/function.session-set-save-handler.php
セッションはHTTPのステートレスな性質を補う技術で
データをクラサバどっちに持たせるかは本質じゃないし
そもそもの質問が”できますか?”なんだから茶々入れずに答えろよボケ!
あと>>1読まずに質問してサーセン!

って765さんが言ってました
0773nobodyさん2009/07/24(金) 17:35:13ID:???
>>772
答えられないならいちいち揚げ足とってないで黙ってろよ
0774nobodyさん2009/07/24(金) 17:40:22ID:???
変なレスはスルーしとけよ・・・
0775nobodyさん2009/07/24(金) 17:51:11ID:???
>>765
嫌な流れなんでid出してないけど答えるが

設定変えればクッキーに書き込みが出来るとかそういうのは無い
0776nobodyさん2009/07/24(金) 17:56:31ID:???
session_set_save_handler()で>>765の要望は満たされる訳だが
0777nobodyさん2009/07/24(金) 18:07:25ID:moawRAWq
バイトをキロバイトやメガバイトに変換したいのですが関数とかってありますか?
自作しないと無理でしょうか?
0778nobodyさん2009/07/24(金) 18:29:14ID:???
ttp://www.php.net/manual/ja/function.disk-free-space.php#81207
07796852009/07/25(土) 02:17:25ID:eE6Kfkku
685で質問をした者です。

【OS名】CentOS
【PHPのバージョン】php5.26
【連携ソフトウェア】なし
【質問内容】
>>696さんのWebサイトを参考にし、もう少しコードを簡単し、以下の用に動作する物を書いてみました。
(テキストフォームに文字を入力し、保存ボタンを押すと、書いた内容が別テキストファイルに保存される。
PHPのWebページを開くたびに別テキストファイルが呼び出され、その内容がテキストフォームに
value=として設定される。簡易やることリスト的なPHPスクリプト。)
テキスト入力フォームがひとつの場合は問題なく動作するのですが、
複数のテキスト入力フォームを用意した場合、どうやらテキストファイルを読み込んでいないみたいで
ページを開くたびに保存してある内容が消えてしまいます。
ここの修正だけで数時間以上悩んでいるのですが、ここだけ解消できれば完成するので
どのように修正すればよいかご教示願えないでしょうか?

これが書いたスクリプトです。oneディレクトリに入っているものが、テキスト入力フォームがひとつの場合、
arrayディレクトリに入っているものが、複数のテキスト入力フォームを用意した場合です。

http://kissho1.xii.jp/7/src/7jyou24055.zip.html
0780nobodyさん2009/07/25(土) 03:00:06ID:t/OU2yuM
> どうやらテキストファイルを読み込んでいないみたいで
> ページを開くたびに保存してある内容が消えてしまいます。

ここが誤りです。
最初にページを表示した際に、以下の流れになっています。
1. 26-33行目で、$POSTが空っぽのため、空っぽの$test配列が生成される。
2. 36行目で、空配列と文字列""を混同しているためif条件を通過してしまう。
3. 空っぽの$testを元に、空っぽのtxtファイルが作られてしまう。

とりあえず最小限で動かすには36行目を次のように書き換えればいいと思います。
if(isset($_POST['test'][0])){

しかし動くからといって満足せず、
ヒマを見つけて本を買うなりしてステップアップされることをおすすめします。

わたしの個人的な印象では、
この手の「サンプルコード」なるものを載せてるサイトの8割は初学者にはおすすめできません(苦笑)。
0781nobodyさん2009/07/25(土) 08:06:09ID:TYwYBgIM
使っているサーバのphp.iniや.htaccessでタイムゾーンを指定できなかったので
mysql1クエリ送信するたびにSET time_zoneを付け加えているのですが、
例えば
$sql1 = "SET time_zone = '+09:00'";
$sql2 = "SELECT * FROM test";
$sql = $sql1.";".$sql2;

として最終的にfetchAllでSELECTした結果を得たいのですが、
SET time_zone = '+09:00'の部分の結果が得られてしまいます。
実際のSELECT文にはDATE(NOW())などを使うので、
どうしてもSET time_zoneが必要なのですが、
できればSELECT部分の結果だけを得るにはどうしたらいいでしょうか
($sql2だけならSELECTの結果が得られます)
またphp内でmysqlのタイムゾーンまでをも指定できる方法が
あれば教えてくださいよろしくおねがいします。
0782nobodyさん2009/07/25(土) 08:12:04ID:???
実行分ければいいじゃん
0783nobodyさん2009/07/25(土) 08:48:33ID:eE6Kfkku
>>780
ありがとうございます。ご指摘の箇所を修正したら普通に動作するようになりました。
しかし、”1. 26-33行目で、$POSTが空っぽのため、空っぽの$test配列が生成される。”で、
空っぽの$test配列が生成されないようにするためにはどのようにすればいいのでしょうか?

書籍の方ですが、オライリー社のプログラミングPHP 第2版を購入して読んでいっています。
Webで公開されているサンプルコードはあまり為にならないのですね。
0784nobodyさん2009/07/25(土) 13:34:23ID:t/OU2yuM
>>783さんを悲しませるのは本意ではありませんが(笑)、
$test配列の問題はオライリー読んでれば解決できるようになるでしょう。

> Webで公開されているサンプルコードはあまり為にならないのですね。
あくまで、8割です。いいコードもあります。が、初学者には見分けられない(苦笑)。
0785nobodyさん2009/07/25(土) 18:25:38ID:???
オライリー本は初心者にわかりづらい
0786nobodyさん2009/07/25(土) 18:27:46ID:???
初心者から脱却するためにオライリー本を読むんじゃあないか
0787nobodyさん2009/07/25(土) 23:30:44ID:???
>>784
784さん、分かりました。オライリーの本を一通り読んでみます。
0788nobodyさん2009/07/25(土) 23:33:48ID:???
プログラミングPHPっていいの?http://qune.cside.com/archives/000754.html
0789nobodyさん2009/07/26(日) 03:54:04ID:VnzjqimA
データーベースの桁数を省エネするために、
36進法(a〜zと0〜9)を作ってデーターを入れることを考えています。
たとえば、最高1億の数値を36進法にすれば、何桁でOKになるのでしょうか?

多分、高校で習った対数とか使うと思うのですが、もうすっかり忘れてしまって、
計算の仕方が分かりません。教えてください。お願いします。
0790nobodyさん2009/07/26(日) 04:06:51ID:???
ヒント
36進数1が10進数36^0=1
36進数10が10進数36^1=36
36進数100が10進数36^2=1296
36進数1000が10進数36^3=46656
0791nobodyさん2009/07/26(日) 04:38:18ID:VnzjqimA
そんなヒントじゃ、全然分かりません。

次どうぞ↓
0792nobodyさん2009/07/26(日) 04:52:09ID:/+Zib1Pr
36
1296
46656
1679616
60466176
2176782336
0793nobodyさん2009/07/26(日) 04:56:01ID:VnzjqimA
なるほど、つまり6桁っていいってことですね。
分かりやすい説明ありがとう。
0794nobodyさん2009/07/26(日) 05:09:20ID:???
数千万レコードあって1MB節約できるとかいう程度じゃねーのそれ
0795nobodyさん2009/07/26(日) 05:26:48ID:o1BXfd9y
func0.php 〜 func9.phpの中に同じ関数名の関数func( )が書いてあって、
スコープが変わるごとに別のファイルにあるfunc( )を呼び出したいのですが、
うまく行きません。
スコープ内でのみ有効なincludeみたいなのは無いのでしょうか?

// やりたいのはこんな感じ。
for( $i=0; $i<10; $i++ ){
 include("func" . $i . ".php");
func();
}
0796nobodyさん2009/07/26(日) 05:33:04ID:???
ていうか進数計算もろくにできないやつが
そんなことやっても自滅するだけ
0797nobodyさん2009/07/26(日) 05:36:24ID:???
どううまく行かないの?
なんかエラーが出てるの?出てるならだしなよ
それともfunc0のfunc()しか実行されないとか?
もっと詳細なこと書いてくれないと困っちゃうよ
0798nobodyさん2009/07/26(日) 05:47:36ID:/+Zib1Pr
>>795
誰も知らないことだが、その技は俺が先に発案した技だからな
0799nobodyさん2009/07/26(日) 05:49:18ID:???
redeclare出るんでしょ
スコープが変わるごとにってそれ同じスコープだけどな

どうしてもやりたいなら
http://jp.php.net/manual/ja/function.runkit-function-remove.php
とか
0800nobodyさん2009/07/26(日) 05:56:24ID:???
なんでそんなことやりたいのか気になるね
どういうケースを想定してるのかぜひ教えてほしい
08017982009/07/26(日) 05:56:36ID:/+Zib1Pr
>>795
ついでに書いとく
その技はWEBサイトにおいて極めて有効
その技を完璧に操れば、どんな巨大なサイトでも構築できる
頑張れ
0802nobodyさん2009/07/26(日) 09:53:04ID:adDNcXgh
【OS名】CentOS5.3
【PHPのバージョン】5.2.9
【連携ソフトウェア】MySQL,Apache
【質問内容】 先に自鯖板の方で質問させて頂き、webprogでやれと怒られたのでこちらで質問させて頂きます。
> 先ほどPHP5.2.9にpeclを使ってAPCを導入、設定したのですが
> PHPの実行時にPHP Startup: apc.shm_segments setting ignored in MMAP mode in Unknown on line 0と表示されるようになってしまいました。
> どうもMMAPモードなのにもかかわらずapc.shm_segmentsを設定しているのを警告してくれているようなのですが
> メモリを大量に積んでいるので、自分はshmで動作させたいと思っています
> ですが、ドキュメントを見る限り[apc.mode]という設定項目は現在のバージョンでは削除されているようなのです
> この場合、動作モードをMMAPからshmに変更するにはどの様にすれば良いのでしょうか?

あちらへ書いた文章の引用ですが、宜しければお願いします。
0803nobodyさん2009/07/26(日) 11:06:09ID:LoPusb4z
なんか不思議なことが起きた
$num_org = $_GET['num'];
ってしておいて
echo $num;
で値が取れてしまうんだが・・
php5
0804nobodyさん2009/07/26(日) 11:06:53ID:???
つまらん釣り乙
0805nobodyさん2009/07/26(日) 11:09:41ID:LoPusb4z
>>804
windowsならいけたんだが
linuxでやったらなぜかダメだった
見間違いかもしれないから
もっかいみてみるけど・・
0806nobodyさん2009/07/26(日) 11:13:46ID:LoPusb4z
test.php
<?php

$num_org = $_GET['num'];
echo "num=".$num;

?>

かなり端折ったけど、これで確認できた・・
test.php?num=10
でやったら$num_orgじゃないのにnum=10って表示されました。
windows2000 php5.2.6 localhost
0807nobodyさん2009/07/26(日) 11:17:53ID:LoPusb4z
今のところnumを別の半角文字に変えてやったけどできたのはnumだけ
0808nobodyさん2009/07/26(日) 11:19:07ID:LoPusb4z
あ、違った、num以外にも半角文字できました
0809nobodyさん2009/07/26(日) 11:21:30ID:???
ちなみに_orgも関係なし・・
$_GET['num'];をechoのところと同じにしてるからなんだろうけどなぜなんでしょうか
0810nobodyさん2009/07/26(日) 11:51:29ID:???
なぜID隠す
0811nobodyさん2009/07/26(日) 12:00:10ID:???
ragister_globals
0812nobodyさん2009/07/26(日) 12:04:35ID:???
ra → re

だろ
0813nobodyさん2009/07/26(日) 12:26:44ID:???
これ釣りじゃなかったのかw
php5.2.6ってデフォでregistar_globalsってoffじゃないのか?
0814nobodyさん2009/07/26(日) 12:40:45ID:LoPusb4z
>>811
ぐぐってみました
こんなのがあったなんて知りませんでした。
すっきりしましたありがとうございました。
0815nobodyさん2009/07/26(日) 12:47:38ID:VnzjqimA
>>794
データベースの仕様上、字数オーバーのため、
どうしても圧縮しないとできないのです。
その苦肉の策が、36進法という最適解です。

>>796
少なくても、質問に答えられないあなたが、そのようなことを資格はありませんね。
0816nobodyさん2009/07/26(日) 13:03:56ID:???
>>815
INTにしろよ
0817nobodyさん2009/07/26(日) 13:07:32ID:???
テーブル設計より先に、人生設計を見直した方がいいな
0818nobodyさん2009/07/26(日) 13:09:36ID:VnzjqimA
>>816
もちろん、integerやlongも考えました。

しかし、それらの型は浮動小数計算のため、
利子計算などを色々やると誤差が出ます。

金融系の開発をしておりますので、これは致命傷です。
0819nobodyさん2009/07/26(日) 13:55:19ID:???
intが浮動点少数?頭イカれてんのかお前
0820nobodyさん2009/07/26(日) 15:22:00ID:???
異常な数値(数値とは言わないけど)以外はきちんと型に入れるべき。
123.12.1みたいな変なのはもう数値ではないんだから
08217952009/07/26(日) 15:56:02ID:???
>>797
>>799
>>800
>>801
ありがとうございます。
説明不足で申し訳ありませんでした。

例では示しませんでしたが、
func( )は巨大な配列(16000個)を返す関数です。
func0.php〜func9.php内には、サイズは同じで中身の違う配列が定義されています。

0〜9の選択はユーザの次第です。
このとき、0〜9の1個だけを呼ぶ場合もあれば、
0〜9の中から2個を呼んで、関数から返ってきた2つの配列を足し合わせる、といったこともします。

ファイルを別々にしているのは、1個1個のファイル自体が巨大なため、
必要なfunc[0-9].phpのみを必要な時のみインクルードして、無駄な資源確保を避けたいと考えたからです。

func( )と名前を統一しているのは、インターフェースの統一のためです。

for文で例より、もっとシンプルに書くなら以下のような感じです。
===========================================
{
 include("func0.php");
 $A = func();
}

// スコープを抜けたので、func0.phpはメモリから開放
===========================================
0822nobodyさん2009/07/26(日) 16:17:49ID:???
func0.phpで
func0()呼んで
適当な配列にでも入れとけばいいじゃん
インタフェースの統一ってのが意味不明
0823nobodyさん2009/07/26(日) 17:56:26ID:???
ID:VnzjqimA
こいつはとんだしったかだな
算数の質問しにくるような馬鹿が金融系開発?
釣りもほどほどにしとけ
0824nobodyさん2009/07/26(日) 17:59:23ID:???
ID:VnzjqimA は第二のISSEIになれる
アイディアを盗まれる前に起業すべき
http://itpro.nikkeibp.co.jp/article/COLUMN/20080104/290425/

>>821
*** data.php
<?php return array(1, 2, 3);
*** main.php
<?php $a = include 'data.php';

データをわざわざ実行コードにする必要性は?なければ別のフォーマットを選ぼう
serialize()/unserialize(), json_encode()/json_decode(), fgetcsv()/fputcsv()
0825nobodyさん2009/07/26(日) 18:33:08ID:???
ISSEIって初めて聞いたけど、
 ・ファイル名に変換
 ・VisualBasic
 ・ストップウオッチを片手に処理速度を計測
あたりが凄まじくネタっぽいな
0826nobodyさん2009/07/26(日) 18:47:06ID:???
記事よんだけどこれはねえわw
08277892009/07/26(日) 19:42:47ID:???
>>824
私もそう思ってました
第二のIKKOになれるようにがんばります。

ikko "どんだけ〜";
0828192.168.0.7742009/07/26(日) 19:51:13ID:+70USpzn
echo ($aaa!='' ? "$aaa. " : '')
echoのリファレンスを見ました。でも、↑のようなものについては見当たりませんでした。
これは、どのように解釈したらいいんでしょうか?また↑の出力結果は同じになりますか?
これと似た構文でC言語にもありますか?
よろしくお願いします。
0829nobodyさん2009/07/26(日) 19:57:38ID:???
こちらはPHPのスレです
0830nobodyさん2009/07/26(日) 20:58:41ID:???
>821
function call_func($func_number){
 require_once('func' . $func_number . '.php');
 $result = func();
 // おぞましい黒魔法でfunc()の定義を削除
 return $result;
}
黒魔法の詳細は
ttp://jp2.php.net/manual/ja/function.runkit-function-remove.php
引数以外のもの(環境変数などのスーパーグローバルなど、関数からアクセスできるもの)で処理を分けるなら、勿論それでもいい。
まあ、オススメできない。俺なら、func1 - func9で定義される関数func()には別名を使っておく。
そうすりゃ、衝突を気にしなくていいからな。

OOP的なプログラム構造にするなら、まずメソッドfunc()を持つ別個のクラスを10個用意する。
で、上記call_func()は、直接結果を返すのではなく、引数などに応じて適切なファイルをrequireしてクラスのインスタンスを返す。
呼び出し側は$obj->func()を呼べば、望む結果が得られる。

メモリ消費を気にするなら、そもそも16,000なんて大きさの配列を作るべきではない。
毎回16,000個の変数を全部使う、ってんなら話は別だけどな。
0831nobodyさん2009/07/26(日) 23:39:25ID:???
>>830
>>799
0832nobodyさん2009/07/27(月) 12:02:48ID:TX4gysr6
PHPで$_SESSIONを扱うライブラリを書いています。
しかしユニットテストを書いて実行すると、
Cannot send session cookie - headers already sent
というエラーが出てテストできません。
まあ当たり前と言えば当たり前なんですけど、でもテストできないのも困ります。
こんなとき、どうすればいいでしょうか。
つまり$_SESSIONを扱うライブラリで、Cannot send session cookie エラーを回避しつつテストするにはどうしたらいいでしょうか。
0833nobodyさん2009/07/27(月) 12:13:13ID:???
>>824
>サンプルデータ約110万件のデータ検索時間は約1秒になった

たった110万件のデータの中から特定のものを抽出するのに1秒掛かるの?速いの?
0834nobodyさん2009/07/27(月) 12:29:27ID:???
ストップウォッチってw
実行開始と終了で引き算して結果をどっか隅っこにでも出力すればいいのに
なんでそんなとこでアナログマなんだよ
0835nobodyさん2009/07/27(月) 12:36:51ID:???
そんな訳の分からない数字を客に見せたら、
問い合わせが来るだろうが。

夏休みは、学生の知ったかばかりだな。
0836nobodyさん2009/07/27(月) 12:46:59ID:???
ストップウォッチだとネットワークやOSやブラウザの影響かかるんじゃなのかなぁ
0837nobodyさん2009/07/27(月) 12:47:40ID:???
>>832
出力バッファリングは?
0838nobodyさん2009/07/27(月) 13:10:36ID:???
>>835
google
aho の検索結果 約 4,440,000 件中 1 - 10 件目 (0.12 秒)

おまえはこれを否定してるんだな
それこそ知ったか、もし社会人なら恥ずかしくて自殺するレベルだぞ?
0839nobodyさん2009/07/27(月) 13:13:54ID:???
>>838
検索エンジンという特殊事例を出してきて、
しかもgoogleの一例だけで全てを語るこの薄っぺらい脳みそwww
0840nobodyさん2009/07/27(月) 13:23:46ID:???
往生際が悪いやつだなw
検索エンジンの何が特殊事例なんだ?やってることは同じだろ
指摘を素直に認められないなんて、なんてちっぽけな人間なんだよ
0841nobodyさん2009/07/27(月) 13:26:02ID:???
お前が極論好きのお馬鹿な学生だということはよく分かった。
0842nobodyさん2009/07/27(月) 13:32:02ID:???
で、お前らのDBだと110万件のデータを検索するのに何秒掛かるの?
0843nobodyさん2009/07/27(月) 13:34:04ID:???
ポスグレだが、40万件あるアクセスログのデータで、1.4秒かかった。
0844nobodyさん2009/07/27(月) 13:34:15ID:RGhhhkQi
system()又はexec()に関しての質問です

system('ls')で望む結果は取得できたのですが
system('history')では何も出力されません(エラーも)
ソース下記状態です

<?
ini_set ( "display_errors", "1" );
ini_set('error_reporting', E_ALL);
system('history');
?>

サーバの/bin/以下をみるとlsがあるのにhistoryがありませんでした
これが関係していると思うのですが、コンソールからhistoryとうつと問題なく履歴が表示されます
そしてwhereis historyとうつと
[root@www bin]# whereis history
history: /usr/share/man/man1/history.1.gz /usr/share/man/man3/history.3.gz

のようにmanしかひっかからないのですが
historyはどこにあるのでしょうか?
また、そもそも
system('history');
が無反応なのは/bin/にhistoryがないから、で合ってるんでしょうか?
0845nobodyさん2009/07/27(月) 13:35:01ID:???
>>837
なるほど、出力をバッファリングすれば、もしかしたらエラーがでないかも。
試してみます。どうもありがとう。
0846nobodyさん2009/07/27(月) 13:37:12ID:???
>>835-841
ケンカすんなよw

>>835氏は、通常のwebサイトやシステムで、実行時間を隅っこに表示するのはおかしい。
>>838氏は、実行時間を隅っこに表示する事は珍しい事ではない(検索エンジンなど)

と言ってると俺は読んだ。そして両方言ってることは間違ってないと思った。
0847nobodyさん2009/07/27(月) 13:37:37ID:???
>>844
historyは通常のコマンドじゃなくて、shell内のみで利用可能な命令。
cdとかと同じで、system()では実行できないと思うよ。
もし$HOME/.bash_history とかあれば、それを読み込んで表示するしかないと思う。
0848nobodyさん2009/07/27(月) 13:39:54ID:???
>>844

Manpage of BASH_BUILTINS
http://www.linux.or.jp/JM/html/GNU_bash/man1/builtins.1.html

historyは組み込みコマンド。
0849nobodyさん2009/07/27(月) 13:44:50ID:???
検索完了までの実行時間を売りにしているのだから検索にかかった時間を表示するのは正しいやり方だ
0850nobodyさん2009/07/27(月) 14:26:50ID:RGhhhkQi
>>847 と他の方も

ありがとうございました
$HOME/.bash_historyから読み込めそうです
後学の為に組み込みじゃないコマンドをしっておきたいのですが
【組み込みじゃない】のをぐぐるときのキーワードを教えて頂けますでしょうか
0851nobodyさん2009/07/27(月) 14:31:28ID:???
ttp://www.linux.or.jp/JM/html/util-linux/man1/script.1.html
0852nobodyさん2009/07/27(月) 14:33:53ID:???
>>850
組み込みコマンドを覚えた方が早いのでは?
0853nobodyさん2009/07/27(月) 14:37:36ID:???
includeって文頭以外ではするべきではない?
文中でしても作法的におかしくはない?
0854nobodyさん2009/07/27(月) 14:40:06ID:???
文中でしなきゃいけないときもあるだろう
0855nobodyさん2009/07/27(月) 14:45:33ID:jUhtLxSq
ですよね。
どうもです〜。
0856nobodyさん2009/07/27(月) 14:57:47ID:???
とはいえ、文中でやらなくて済む方法は考えるけれど。
そして、たいてい代替案はある。
08578532009/07/27(月) 15:15:40ID:???
>>856
設定ファイルを外部ファイルにしててそれを読み込もうとしてるんですけど
phpファイルの変数として定義されてるものです。
<?php

$hoge=13

?>

みたいな。
改修なので設定ファイル自体のフォーマットはかえられないので
includeしかないかなと
08588562009/07/27(月) 15:21:36ID:???
レガシーシステムなら仕方ないかもね
0859nobodyさん2009/07/27(月) 15:22:45ID:???
変数定義だけなら文頭でもよさそうだけど何か理由があるのか
0860nobodyさん2009/07/27(月) 15:25:35ID:???
設定ファイルならiniにしてparse_ini_fileでもよさそうだけど何か理由があるのか
0861nobodyさん2009/07/27(月) 15:32:56ID:???
そっちは理由書いてあるじゃない
08628562009/07/27(月) 15:56:32ID:???
>>859
読み込むファイルが以下のような内容なんだけど、
局所化したほうがいいかと思って

Class hoge1{
Function hoge2(){
//ここで使う
}
Function hoge3(){
//ここで使う
}
Function hoge4(){
//ここでは使わない
}
}
0863nobodyさん2009/07/27(月) 16:19:15ID:???
設定ファイルのフォーマットが変えられないのにそれは可能なのかい
0864nobodyさん2009/07/27(月) 16:20:14ID:???
includeはJAVAのimportのように使うのがいいんじゃないかね
importとincludeじゃ意味あいが違うけど
0865nobodyさん2009/07/27(月) 16:22:58ID:???
>>863

それとは?
プログラムの変更は可能だけど、そういうことではなく?

Class hoge1{
Function hoge2(){
//ここで使う
include hoge.php
}
Function hoge3(){
//ここで使う
include hoge.php
}
Function hoge4(){
//ここでは使わない
}
}
0866nobodyさん2009/07/27(月) 17:38:33ID:iOuW4Vu1
【OS名】win32
【PHPのバージョン】5.3.0
【質問内容】
filesize関数を使って

1.ファイルサイズを取得
2.ファイルを書き換え
3.ファイルサイズを取得

としたとき、ファイル書き換え後にファイルサイズを取得しても、取得した値は書き換え前のものになってしまいます。
解決方法はありますか?
0867nobodyさん2009/07/27(月) 17:40:26ID:???
PHPで実行時間を求める方法

<?php
$time_begin = microtime(true);

/* expression */

echo "実行時間".(microtime(true) - $time_begin)."秒";
?>

チラ裏
0868nobodyさん2009/07/27(月) 17:41:01ID:???
>>866
ttp://jp2.php.net/manual/ja/function.clearstatcache.php
0869nobodyさん2009/07/27(月) 17:46:09ID:iOuW4Vu1
>>868
解決しました
ありがとうございます
0870nobodyさん2009/07/27(月) 21:41:14ID:JxRE4otA
質問します
例えば名簿アプリでmeibo_tableにループで10回(10人分)のデータをループで入れるとします
このとき、登録がうまくいった場合は「成功」失敗したら「失敗」と表示するケースで、
どのようにプログラムを書けば良いんでしょうか?
for($i=0; $i<10;$i++){
$rs = mysql_query($sql);
if(!$rs){
$err = 1;
}
}
if($rs){ echo "失敗";}else{echo "成功";}

こんな感じですか? どうも自信がないというか、もっと良いやり方がないか知りたいです
トランザクションというのがあるのも知っていますが、使い方がrollbackなどいまいちわかりません
その辺も含めて教えてもらえたら嬉しいです
よろしくお願いします
■ このスレッドは過去ログ倉庫に格納されています