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

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

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

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

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

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

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

【その他諸注意】
・正規表現・PEAR・テンプレート(Smarty等)・フレームワークは各該当スレへ http://pc10.2ch.net/php/subback.html
・SQLについての質問はデータベース板(PCカテゴリ)の各スレで http://pc10.2ch.net/db/subback.html
0011nobodyさん2007/03/18(日) 21:27:39ID:???
>>6
引用元のサイトでは
$row[’id’] is 7 times faster than $row[id]
なのに
$row["id"] は $row[id] より7倍速い
としている時点でそこの訳はすごく怪しいから
やめれ
0012nobodyさん2007/03/18(日) 21:29:31ID:???
>>10
スレ違い
0013nobodyさん2007/03/18(日) 21:40:45ID:RB9GZY4V
>>9
実際にPOSTで受け取る時に以下のようにしています。
$hoge = htmlspecialchars(stripslashes ($_POST['hoge']));

<とか>がHTMLエンティティになってしまっているんです。
0014nobodyさん2007/03/18(日) 21:41:58ID:???
>>10
開発って何人でやってるのさ
0015nobodyさん2007/03/18(日) 21:43:07ID:???
>>13
htmlspecialcharsは確認画面で表示するときだけ行うべきもの。
データそのものを変換しちゃいかん。
0016nobodyさん2007/03/18(日) 21:44:27ID:???
>>11
正しく翻訳するとどうなるの?
0017102007/03/18(日) 21:45:47ID:LjKDzSM6
>>14
今のところ(、もといこれからもずっと)一人です。
0018nobodyさん2007/03/18(日) 21:46:49ID:???
>>17
なら別にrootでいいよ。
0019nobodyさん2007/03/18(日) 21:47:35ID:???
>>11
俺の高校レベルの英語知識では間違ってはいないんだが、後学のために教えてくれ。
0020nobodyさん2007/03/18(日) 21:47:59ID:???
>>16
シングルクオートとダブルクオートの見分けもつかないのか、きみは
0021nobodyさん2007/03/18(日) 21:49:31ID:???
え、そんだけ!?
0022nobodyさん2007/03/18(日) 21:52:38ID:???
>>10
ひとりで使う分にはどっかの設定書き換えなんて自分しかしないんだからrootでいいよ。
なんでわざわざ作る意味があるのか教えてもらいたい。

なんのためにユーザーを作るのか理解したほうがいいよ。
0023102007/03/18(日) 21:53:32ID:LjKDzSM6
>>18
スレ違いなのに、教えてくれるなんて...ありがたすぎる。
これからは安心してrootで開発します。ありがとうございましたm(__)m
0024nobodyさん2007/03/18(日) 21:54:05ID:???
>>20
ああ、まぁそれはな。
ダブルクォートは確かにシングルクォートよりかなり遅い。
00258=132007/03/18(日) 21:54:23ID:RB9GZY4V
>>15
ありがとうございます。
では、入力値は $hoge = stripslashes ($_POST['hoge']); で受け取って、
確認画面のECHO直前で $hoge_ = htmlspecialchars($hoge); とすれば問題ないでしょうか?
セキュリティ的にも入力値をそのまま受け取るということは問題ないのでしょうか?(勉強不足ですみません)
0026nobodyさん2007/03/18(日) 21:55:31ID:???
今度から原文の方をテンプレにしとくか。

ttp://www.moskalyuk.com/blog/php-optimization-tips/1272
12 PHP optimization tips

Nov 5, 2006 in Programming, Optimization, PHP

Ilia Alshanetsky’s PHP performance talk given last week at the Zend conference is
pretty useful as far as getting small tips for tweaking PHP code.

1. If a method can be static, declare it static. Speed improvement is by a factor of 4.
2. Avoid magic like __get, __set, __autoload
3. require_once() is expensive
4. Use full paths in includes and requires, less time spent on resolving the OS paths.
5. If you need to find out the time when the script started executing, $_SERVER[’REQUEST_TIME’] is preferred to time()
6. See if you can use strncasecmp, strpbrk and stripos instead of regex
7. preg_replace is faster than str_replace, but strtr is faster than preg_replace by a factor of 4
8. If the function, such as string replacement function, accepts both arrays and single characters as arguments,
   and if your argument list is not too long, consider writing a few redundant replacement statements,
   passing one character at a time, instead of one line of code that accepts arrays as search and replace arguments.
9. Error suppression with @ is very slow.
10. $row[’id’] is 7 times faster than $row[id]
11. Error messages are expensive
12. Do not use functions inside of for loop, such as for ($x=0; $x < count($array); $x) The count() function gets called each time.

For templating, are you using Smarty? This is probably the fastest way to ensure the frequently viewed pages of the site are cached.
0027102007/03/18(日) 21:56:04ID:LjKDzSM6
>>22
すいません。時間差でお礼がおくれました。ありがとうございます。
今度図書館にいってLinuxの本借りて調べてみます。言語の勉強ばっかりに集中して
開発環境を気にしていませんでした。
0028nobodyさん2007/03/18(日) 21:58:42ID:???
>>27
おまえおとこか?
恋人いるのか?
0029nobodyさん2007/03/18(日) 21:59:52ID:???
外部に公開されているサーバなら、rootは当然オススメしない。
クローズドなら気にしないでオケ
0030nobodyさん2007/03/18(日) 22:00:01ID:???
>>25
入力値の無害化処理はその入力値を何に用いるかによって方法が変わる。
HTML上に表示するならhtmlspecialcharsだが、DBに記録するときや
コマンドラインで用いる場合などにはそれぞれ違った方法になる。
「htmlspecialchars=サニタイジング」という誤った覚え方自体を改めた方がいい。

> 確認画面のECHO直前で $hoge_ = htmlspecialchars($hoge); とすれば問題ないでしょうか?
問題ない。

> セキュリティ的にも入力値をそのまま受け取るということは問題ないのでしょうか?(勉強不足ですみません)
メール送信をどのように行うかによって決まる。
0031nobodyさん2007/03/18(日) 22:01:47ID:???
>>24
シングルとダブルではほとんど変わらんよ。
ベンチマークで確認してみ。
PHPはシングルクォートだからって特に最適化されてないから。
0032nobodyさん2007/03/18(日) 22:03:50ID:???
ttp://selfkleptomaniac.org/archives/45
ここのサイトに書いてあることでいいんじゃない?
0033nobodyさん2007/03/18(日) 22:04:31ID:???
色々あると思うが、まずは前スレ埋めような
0034102007/03/18(日) 22:06:10ID:LjKDzSM6
>>29
クローズドなので気にしないことにします.....
うーんと、開発は全部rootでやって、公開用サーバはroot以外でログインして
httpdなりmysqldなりを起動すればいいのかな?その辺も今度本で調べます。
ありがとうございました。
0035nobodyさん2007/03/18(日) 22:06:43ID:???
>>32
おお、これいいな。これテンプレに入れとこーぜ。
0036nobodyさん2007/03/18(日) 22:08:04ID:e2ODLPUZ
ログインについて質問です。今までは
if (isset($_SESSION["user_login"])){
}else{
header("Location:index.php");
}
みたいにして、ログイン情報のセッション値(例えば、md5で生成した暗号キーなど)
を持たないユーザはログインさせないようにしていました。

しかし、これは登録されているか否かを調べてはいませんので、
上記ではなく、DBなどにアクセスして登録されているかどうかを調べ、
それで登録されていないセッション値なら、ログインさせないようにした方が
いいのかな?とも思います。

どちらもあまりセキュリティ的に変わらないのなら前者を選択しますが、
ご意見・ご指摘いただければと思います。
0037nobodyさん2007/03/18(日) 22:08:56ID:oX9m5Cxa
EUC-JPで作成してます。
今回UTF-8で作成を試みようと考えてます。
日本人オンリーなので多言語化のメリットについては興味ないのですが、
以外にUTF-8を導入するメリットを教えてください。

自分が知っているのはxhtmlの一行目にドクタイプを省略することでバージョンの違い
によるギャップを埋める。
xmlで便利。

ぐらいですが、もし間違った箇所がございましたらご教授ねがいます。
0038nobodyさん2007/03/18(日) 22:14:43ID:???
>>36
セッションIDならともかくセッションの値はサーバー側でしか
生成しないし記録もしてないんだから、それが最初のログイン時に
DBから生成したデータなら何度もチェックするのは全く無意味。
0039nobodyさん2007/03/18(日) 22:17:01ID:???
テンプレ追加:

■最適化にまつわる神話

1. コメントをなくすと速くなる
2. ダブルクォート(”)はシングルクォート(’)より速い
3. 参照渡しの方がコードが速くなる
4. オブジェクトを使う方が速くなる
5. タナリ($a = 1 ? $b = $a : $b = 0;)はif(){}else{より速い

これらは全部嘘。
0040nobodyさん2007/03/18(日) 22:18:53ID:???
お約束なので。

>>32
宣伝乙
00418=132007/03/18(日) 22:27:55ID:RB9GZY4V
>>30
ありがとうございました。
たしかに教えていただいているとおり、サニタイジングの1つの手段でしかないのですね。
続けて勉強していこうと思います。

今回は、特に問題がありそうな<script>などを別処理ではじくようにしておいて、
後は教えていただいたとおり、画面に表示させる時だけ直前にhtmlspecialcharsをしようと思います。
0042362007/03/18(日) 22:33:18ID:???
>>38
と言う事は特に気にしないで今までの方法で良いと言う事ですね。
ありがとうございました。
0043nobodyさん2007/03/18(日) 23:49:57ID:???
>>39
>3. 参照渡しの方がコードが速くなる
コードが速いってどんな状態なんだよ!
という突っ込みはともかく、参照渡しも値渡しも違いがないんだね
0044nobodyさん2007/03/19(月) 00:14:11ID:???
>>43
PHPの場合、むしろ参照渡しの方が遅い。
0045nobodyさん2007/03/19(月) 00:32:47ID:???
とにかく前スレ埋めようぜ
http://pc11.2ch.net/test/read.cgi/php/1173163186/
0046nobodyさん2007/03/19(月) 09:39:47ID:CGcaHKgb
セッションスタートを書くと、
Warning: session_start() [function.session-start]: Cannot send session cookie - headers already sent by (output started at E:\Web\IMG\WEB2\index.html:1) in E:\Web\IMG\WEB2\index.html on line 2

とエラーが出てしまうのですが、何が原因なのでしょうか?

ちなみに、session_start()の上は何も記述していません
0047nobodyさん2007/03/19(月) 09:52:13ID:???
>>46
もう一回確認してみ
0048nobodyさん2007/03/19(月) 09:53:17ID:CGcaHKgb
<?
session_start();

・・・・

?>

こんな感じです
0049nobodyさん2007/03/19(月) 09:54:39ID:???
PHPのバージョンはかけよ。
php.iniのセッションの項目をみなおせ。
0050nobodyさん2007/03/19(月) 09:57:28ID:CGcaHKgb
PHP 5.1.4です。
Session Support enabled
Registered save handlers files user
Registered serializer handlers php php_binary wddx

です。
0051nobodyさん2007/03/19(月) 10:00:48ID:???
単純に最初の<?の前に改行か空白でもあるんでしょ
0052nobodyさん2007/03/19(月) 10:01:15ID:???
バッファの仕組みがいまいちよくわからないのですが、

function bufferTest(){
$test="こんにちわ";
return $test;
}
ob_start("bufferTest");

というソースがあったら、「ob_flushをするまで出力しない」ということでは
無いのでしょうか?上記のソースでは普通に「こんにちわ」が出力されます。
0053nobodyさん2007/03/19(月) 10:05:55ID:???
>>52
マニュアル読め
0054nobodyさん2007/03/19(月) 10:18:52ID:???
>>53
は?
0055nobodyさん2007/03/19(月) 10:35:18ID:CGcaHKgb
>>51
いえ、ないです

1:<?
2:session_start();
0056nobodyさん2007/03/19(月) 10:46:49ID:???
>>52
ob_flushが全く呼ばれなかった場合、スクリプトの終了時に自動的にフラッシュされる。
0057nobodyさん2007/03/19(月) 12:45:20ID:+go1AKUH
リネージュの掲示板サイトをやっています。
最近海外からウィルスURLがはられるので、
2chのime.nuのように、ワンクッションで確認画面を入れたいのですが、
その画面でXSSを出さないようにするにはどうしたらいいかわかりません。
掲示板側でrowurlencodeをしたURLが送られてくるのですが、
$url = $_GET['url'];
if (preg_match("/(https?:\/\/)/", urldecode($url)) {
  $patterns = array('/%3B/', '/%2F/', '/%3F/', '/%3A/', '/%40/', '/%3D/', '/%26/', '/%24/', '/%2B/', '/%21/', '/%2A/', '/%27/', '/%28/', '/%29/', '/%2C/');
  $replacement = array(';', '/', '?', ':', '@', '=', '&', '$', '+', '!', '*', "'", '(', ')', ',');
  $url = preg_replace($patterns, $replacement, htmlspecialchars(urlencode($url)));
}
return $url;

とりあえずこんな感じにしたのですが、おかしい箇所ありますでしょうか?
(urlの正規表現はしょぼいので後でもっといいのを見つけてきます)
マルチバイト文字のXSSなんてのもあるらしいので、
内部エンコードがUTF-8なのですが、
$patternsの前に、$url = mb_convert_encoding($url, 'UTF-8', 'UTF-8');
とかにしてみたですが、余計なものも削除されてしまってうまくいきません。
あとURLに直接日本語をうった場合、urlencodeされたURLが出るのですが、
あいうえおとうったのに、decodeしてみると??????とかになってしまうのは
なぜでしょうか?
0058nobodyさん2007/03/19(月) 12:59:31ID:???
>>51 >>55
またBOMくさいな。テンプレにいれるべきだ。
0059nobodyさん2007/03/19(月) 13:27:19ID:???
>>58
入れてくれ。
0060nobodyさん2007/03/19(月) 13:32:19ID:???
phpでPEARを使うため、インストールしたのですがDB.phpが見当たりません。
DependencyDB.phpというものならありましたがこれは別物っですよね。
↓のサイトを参考にインストールしました
ttp://www.y2sunlight.com/ground/?PHP5.0%2F6.PEAR%A4%CE%A5%A4%A5%F3%A5%B9%A5%C8%A1%BC%A5%EB
展開方法が間違っているのでしょうか?
0061nobodyさん2007/03/19(月) 14:05:46ID:???
僕の場合、全てUTF-8で、PHPファイルは正常に動くんだけど、ログファイルに関してはBOM削除しないと動作しないんだ。。。
イマイチBOMの仕組みが良く分からない。
0062nobodyさん2007/03/19(月) 15:58:09ID:???
array_unshift()でキーと一緒に指定する方法ってないんだっけ?
0063nobodyさん2007/03/19(月) 15:59:09ID:???
211.161.0.0/24
この場合、0/24の範囲が分かりません 
0〜24ということでしょうか?
0064nobodyさん2007/03/19(月) 16:02:59ID:???
>>63
そりゃPHP関係なさすぎ。
TCP/IPとかソケットとかのネットワーク関連のとこで聞かないと。
0065軟式PHP2007/03/19(月) 16:06:16ID:???
>>63
CIDRでググるといい。
0066nobodyさん2007/03/19(月) 16:09:22ID:???
>>63
左から数えて24bit
11010011 10100001 00000000 00000000
                   ↑24bit目
サブネットマスクでググレ
0067nobodyさん2007/03/19(月) 16:22:55ID:???
>>60
なければ、取ってくればいい
pear instal DB

これで無理だったら、何か問題あるとは思うが
原因を調べたくなかったら、直接
http://pear.php.net/package/DB
にから取ってきて、pear のディレクトリに
展開すればいい
0068nobodyさん2007/03/19(月) 17:28:10ID:???
>>67
コマンドラインから無事入手できました
ありがとうございます
0069虚弱PHP2007/03/19(月) 17:33:49ID:???
>>68
今からならPear::DBよりPDOの方がいいと思うけど。
0070nobodyさん2007/03/19(月) 18:19:11ID:XfpTEzt6
外部ファイルの文字コードを変換する方法ってありますか?

文字列ならmbstringで一発なんですが,ファイルとなると見つからなくて・・・.
PHPのみじゃもしかして出来ない??

環境 : Windows XP SP2 + Apache 2 + MySQL 5.0 + PHP 4.4.4

よろしくお願いいたします.

#Linuxならnkfをsystem関数あたりで呼び出せば一発なのになぁ.
0071nobodyさん2007/03/19(月) 18:22:48ID:???
>>70
fopen fgets mbstring
0072702007/03/19(月) 18:32:28ID:XfpTEzt6
>>71
fgetで読み込んで,mbstringで変換,fputで書き込むって感じですか・・・
0073nobodyさん2007/03/19(月) 18:42:26ID:???
>>72
そういう関数を作っておけば今後は一発になるよ。
0074702007/03/19(月) 18:50:02ID:XfpTEzt6
>>73
確かにそれはそうなんですが,そういう関数かなにか用意されてるかなーとか期待してました(笑).

ありがとうございました.
0075nobodyさん2007/03/19(月) 18:54:19ID:???
>>74
execとかsystemあたり使えば一発なんじゃね?
0076702007/03/19(月) 19:00:20ID:XfpTEzt6
>>75
Linuxならnkfを呼び出して一発なんでしょうけど,今回はWindows環境なので・・・.
nkfのWin移植版を使うのはちょっとアレな気がしますし.
0077nobodyさん2007/03/19(月) 19:07:17ID:???
windowsでもコマンドで変える方法は探せばあると思うけど。
別にnkfのwin移植版試してみればいいかと。

どうしてもWinじゃなきゃいけないならだけど・・。
0078nobodyさん2007/03/19(月) 19:36:20ID:???
>>76
つーか、nkfそのものをPHPで作っちゃえばいいじゃない。
0079nobodyさん2007/03/19(月) 20:00:34ID:???
>>74
外部ファイルを更新するようなのは普通は標準に含まないよ。
そんなの標準的に行われるような作法じゃないもの。
0080702007/03/19(月) 20:28:55ID:XfpTEzt6
>>78
・・・俺が?(笑)
っていうかそういうクラス,どこかにありそーですよね.

>>79
そうなのかなぁ.
CSVアップロードさせて,load data infileなんかでDBに書き込む・・・みたいな処理だと,必要になると思うんですけど.
0081nobodyさん2007/03/19(月) 20:42:05ID:???
端から同じエンコードでやりゃ必要ないと思うけど。
0082nobodyさん2007/03/19(月) 21:22:01ID:CGcaHKgb
>>58
すみません、BOMとは何でしょうか?
良ければ詳しく教えていただけないでしょうか?
0083nobodyさん2007/03/19(月) 21:38:53ID:???
つ [BOM UTF-8]
0084nobodyさん2007/03/19(月) 21:44:16ID:CGcaHKgb
>>83
wikiで見てみましたが、session_start()とどう関連するのかが分からない状態です。
<?の上に余分な文字が入ってしまうということなのでしょうか?
0085nobodyさん2007/03/19(月) 22:00:01ID:???
>>84
そのとおり。俺もよく知らんが対応してるエディタで開いて消すしかないんじゃない?
こんなもんPHPが早く対応しろよって思うけどね。
0086nobodyさん2007/03/19(月) 22:00:55ID:CGcaHKgb
Dreamweaver、TeraPadで開いたがUTF-8Nは対応してナス・・・。
0087nobodyさん2007/03/19(月) 22:49:58ID:hHq7NETh
セッションを使ってログインする機能を作る練習をしているのですが、
あらかじめ登録されたIDとパスが入力された場合、
次のページに飛ばしセッションをでそれぞれの登録情報を呼び出します

しかし、セッション変数はサーバー内に保存されるので、
仮に複数の人が同時にログインした場合、どのユーザーがどのセッション変数かどうかというのは区別できないのでしょうか?

そういった場合はクッキーを使うべきだとは思いますが、クッキーを使わないで解決する手段はありますか?
0088872007/03/19(月) 23:05:36ID:hHq7NETh
ちなみにこんな感じです
-------------
ログイン画面(login.php)

//フォームでidとpassを入力してもらい、登録されていない場合、パス違いなどの場合はエラーをだす
//エラーがない場合、↓のように、idとpassをそれぞれセッション変数に入れ、登録内容表示画面へジャンプさせる
if (!count($error_message)) {
session_start();
$_SESSION["id"] = $id;
$_SESSION["pass"] = $pass;
header("Location: naiyou.php");
exit;
}
--------------------------------------
登録内容表示画面(naiyou.php)
//セッション変数に格納されたIDがなければログイン画面へ飛ばす
if (!isset($_SESSION["id"])) {
header("Location: login.php");
exit;
}

if (isset($_SESSION["id"])) {
$id = $_SESSION["id"];
・・・・IDに対応した登録情報をデータベースから呼び出す・・・
---------------
これでは、複数の人が同時にログインしたとき、セッション変数が同一のものになってしまい、
おなじ内容が表示されてしまうのでしょうか?
0089nobodyさん2007/03/19(月) 23:18:58ID:???
>>82

        lヽ ノ l        l l l ヽ   ヽ
  )'ーーノ(  | |  | 、      / l| l ハヽ  |ー‐''"l
 / B  | | |/| ハ  / / ,/ /|ノ /l / l l l| l  B ヽ
 l   ・  i´ | ヽ、| |r|| | //--‐'"   `'メ、_lノ| /  ・  /
 |  O  l  トー-トヽ| |ノ ''"´`   rー-/// |  O |
 |  ・   |/     | l ||、 ''"""  j ""''/ | |ヽl  ・ |
 |  M   |       | l | ヽ,   ―   / | | l  M  |
 |   !!  |     / | | |   ` ー-‐ ' ´|| ,ノ| | |  !! |
ノー‐---、,|    / │l、l         |レ' ,ノノ ノハ、_ノヽ
 /        / ノ⌒ヾ、  ヽ    ノハ,      |
,/      ,イーf'´ /´  \ | ,/´ |ヽl      |
     /-ト、| ┼―- 、_ヽメr' , -=l''"ハ    |  l
   ,/   | ヽ  \  _,ノーf' ´  ノノ  ヽ   | |
、_    _ ‐''l  `ー‐―''" ⌒'ー--‐'´`ヽ、_   _,ノ ノ
   ̄ ̄   |           /       ̄
0090nobodyさん2007/03/19(月) 23:22:13ID:???
寝る前の立読みなので間違っているかも知れませんがセッションは基本的に
セッション確立時にランダムでSIDを付加するので好きなだけsession_name()
を吐き出して調べてみてください。
0091872007/03/19(月) 23:26:52ID:hHq7NETh
>>90
ということは、このままでも、それぞれのユーザーごとにセッション変数が一緒になることはないということでしょうか?
session_name()を調べて試してみます

ありがとうございます
0092nobodyさん2007/03/19(月) 23:34:41ID:hHq7NETh
すいません
ランダムでSIDを付加するということは、やはり被ることはない・・
ということですよね?
0093nobodyさん2007/03/19(月) 23:38:33ID:???
まずセッションIDの意味を調べたほうがいい
0094nobodyさん2007/03/20(火) 00:01:21ID:w0ATLs0w
もったいぶらずにおしえてくだちい
0095nobodyさん2007/03/20(火) 00:07:29ID:w0ATLs0w
被るのかい?被らないのかい?どっちなんだい?
0096nobodyさん2007/03/20(火) 00:18:28ID:???
$bufferに大量の文字列が入ってるとして、
これをクリアする場合、
$buffer = "";にするのと、
unset($buffer);して新たに$buffer = "";を作成するのと、
何か違いはありますか?
特にメモリの開放?とかで
0097nobodyさん2007/03/20(火) 04:10:27ID:???
>>96
クリアする時は
$buffer = array();
すればひとまずいいと思ってる俺はnoob?
0098nobodyさん2007/03/20(火) 04:18:11ID:???
>>96
後者はデータの格納領域と変数の管理領域の両方をクリアして再取得するから、
無駄に遅くなってメモリの分断化(さほど気にする必要ないけど)を招くだけだと思う。
前者で十分。でもどっちでも大して気にするほどじゃない。
0099nobodyさん2007/03/20(火) 08:35:57ID:???
wikipediaに
PHPは初心者でも簡単だけど、大規模なモノになるとぎゃくに難しいよ。あと再利用性も低いんだぜ

これって事実なんでしょうか

あと再利用性というのはどういう事なんですか?
0100虚弱PHP2007/03/20(火) 08:59:05ID:???
>>84
BOMってファイルの先頭に付くから、<?phpの前。
ヘッダ出力前に文字出力をしたと思われちゃうわけ。
0101虚弱PHP2007/03/20(火) 09:14:08ID:???
>>99
大規模とか再利用性とかは、殆ど作り方次第。
言語的な制限で言えばオブジェクトの生存期間とか、
マルチスレッドとかの方が問題じゃないかな。
あ、これは大規模に関係するか。
0102nobodyさん2007/03/20(火) 09:15:21ID:???
ステップ実行できる開発環境ってEclipseかZend Studio?ぐらいしかないで
すか?
0103虚弱PHP2007/03/20(火) 09:23:37ID:???
>>87
セッションIDは普通Cookieに入れるもんだけど。
(というかPHPがCookieに入れてくれる)
セッション情報をCookieに入れたくないって意味だよね??
セッションIDは普通は被らない。

本題とは関係ないけど、
セッション情報にIDとかpassとか入れるのはやめた方がいいと思う。
0104nobodyさん2007/03/20(火) 09:27:31ID:???
>>103

>セッション情報にIDとかpassとか入れるのはやめた方がいいと思う。

理由は?
0105nobodyさん2007/03/20(火) 09:54:55ID:???
>>104
盗まれたら困ります><
sessionはあくまで個人の識別に使うのが吉です><
0106nobodyさん2007/03/20(火) 09:56:14ID:???
それってスクリプトに問題があるような・・・
0107nobodyさん2007/03/20(火) 10:28:43ID:???
別にセッションIDがもれたところで
idやpassそのものがもれるわけではないでしょ
0108nobodyさん2007/03/20(火) 10:39:04ID:???
httpで接続してる以上IDもpassもふしあななんですけどねw
0109nobodyさん2007/03/20(火) 10:40:23ID:???
そんな事を言い出したらw
0110nobodyさん2007/03/20(火) 10:46:05ID:???
盗聴したidとpassにいかに細工をかけるかなんだけどんw
■ このスレッドは過去ログ倉庫に格納されています