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

【PHP】質問スレッドpart32【php】

■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん2006/01/03(火) 17:18:20ID:???
PHP全般の質問スレです。
【基本ルール】
・新規質問の方は上げてください。age進行でお願いします。
・質問者は2回目以降、最初のレス番号を名前欄に入れてください。
・回答者は質問者に対して>>(アンカー)をつけてください。
・煽り・荒らしは放置。荒らしに反応した香具師も荒(ry
・解決しなくてもこたえてもらったら礼を。
【質問テンプレ】
・マニュアルを調べたか、google検索したか(調べたキーワード)
・タイトル(禁:教えてください!etc) 例:requireとinclude
・内容 例:requireとincludeはどう違うのですか?
・質問する際には環境も明記。
【その他諸注意】
・正規表現・PEAR・テンプレート(Smarty等)・フレームワークはそれぞれの該当スレへ
・SQLについての質問はデータベース板(PCカテゴリ)の各スレで
・オブジェクト指向については良スレがないから本を買え
・速さについては自分でベンチをとってここに書け(違う環境の人も調べてくれるかも)
【PHP マニュアル】
http://www.php.net/manual/ja/
※マニュアル上部の「search for」から検索を活用すべし(便利)。

過去スレ、関連リンク、FAQ等>>2-10辺り
0002nobodyさん2006/01/03(火) 17:19:00ID:???
前スレ【PHP】質問スレッドpart31【php】
http://pc8.2ch.net/test/read.cgi/php/1133017632/
【PHP】質問スレッドpart30【php】
http://pc8.2ch.net/test/read.cgi/php/1130190606/
【php】part29【php】
http://pc8.2ch.net/test/read.cgi/php/1120611474/l50
【PHP】質問スレッドpart28【php】
http://pc8.2ch.net/test/read.cgi/php/1115281031/l50

関連リンク
■本家
http://www.php.net/
■日本 PHP ユーザ会
http://www.php.gr.jp/
■PHP マニュアル
http://www.php.net/manual/ja/
■PEAR マニュアル
http://pear.php.net/manual/ja/
0003nobodyさん2006/01/03(火) 17:19:34ID:???
関連スレ
【PHP】下らねぇ質問はここに書き込みやがれpart14
http://pc8.2ch.net/test/read.cgi/php/1134868212/
【PHP】PEAR Part2
http://pc8.2ch.net/test/read.cgi/php/1122899232/l50
[PHP]フレームワークについて語るスレ2[総合]
http://pc8.2ch.net/test/read.cgi/php/1135847024/
【Smarty】PHPのテンプレートエンジン【Flexy】
http://pc8.2ch.net/test/read.cgi/php/1118799352/l50
[PHP-users MLヲチ8]巣もいませんでした。
http://pc8.2ch.net/test/read.cgi/php/1132800251/
正規表現道場@2ch Part4
http://pc8.2ch.net/test/read.cgi/php/1105930285/l50
Webでオブジェクト指向プログラミング
http://pc8.2ch.net/test/read.cgi/php/1133489897/

関連板
データベース(SQL、DBMSの話題はこちら)
http://pc8.2ch.net/db/
プログラム(CLI、アルゴリズム、インタプリタの話題はおそらくこちら)
http://pc8.2ch.net/tech/
Web制作(クライアントサイドの話題は問答無用でこちら)
http://pc8.2ch.net/hp/
0004nobodyさん2006/01/03(火) 17:20:17ID:???
【FAQ】
1. ブラウザに何も表示されないんだけど・・・
 → error_reporting、display_errors、log_errors
2. include/requireに?a=b&c=dのようなパラメータつけたい
 → できません
3. $a1,$a2,$a3...はどうしたら?
 → 可変変数・・・というかむしろ配列使え
4. echo "$arr['hoge']['fuga']"; がうまくいかない
 → {おっぱい括弧}でくくれ
5. echo?print?
 → echoはコンマ区切りで書ける。printは関数。パフォーマンスは気にするな
6. 値渡し・参照渡しのパフォーマンス
 → これまた気にするな
7. csvやtsvを扱いたい
 → まずはfgetcsv
8. ファイル入出力関数(fopen等)でリモートファイル扱う際の限界
 → fsockopenでソケット通信で解決
9. 一定時間ごとに何かしたい
 → cron、タスクスケジューラ
10. 画像処理一般 or GDの限界
 → ImageMagick
11. 画像・音・動画はファイルで保存?DBに保存?
 → 好きにしてください
12. クッキーの情報をユーザから隠したい
 → セッション使え、ただしクッキーとセッションは仕組みが違うから同じように扱うな
0005nobodyさん2006/01/03(火) 17:21:32ID:???
「エスパーきぼんぬ」「氏ね」「(゚Д゚)ハァ?」等のレスを貰う八ヶ条。
1. ハードウェア、OSのバージョン等には一字一句触れない。
2. 大切な個人情報が漏れるとまずいので、己の行った操作、変更などは秘密。
3. エラーメッセージの類は決して書かない。「エラーが出るんです」で留める。
  目の前で生じている現象をそのまま具体的に書くなどもっての外。
  事実より俺様の脳内解釈を優先すべし。
4. 独り言文体で必勝。
  「…なんだけど、どうすればいいのかなぁ」「何が悪いんだろう?」
5. 「急いでいます」「困っています」等、自分の都合を全面に押し出す。
6. もう試したことを得意げに指摘してくる奴には、厳しく対応。
  「それが駄目だったから質問してるんです」「それはもう試してみて駄目でした」
  "どう"だめだったのか、本当に実際それを行ったかどうかなんか問題じゃない。
7. ストレートに答えを書かないもったいぶったレスには、逆切れで対応。
  「だからどうすればいいんですか?」「分からないなら引っ込んでろやゴルァ」
  示されたURL等を参照するなんて態度は、回答者を甘やかすことに他ならないので
 絶対に避ける。
8. 情報は小出しに。

「エスパーきぼんぬ」 補足
上の八ヵ条を「一つでも」満たす者は質問者として不適格だということだ。
そのような悪い質問に対して答えられるのは,
質問者の意図をすべて汲み取ることのできるエスパーでもなければムリ,
という意味であって,決して,高度な技術を持つユーザに対する尊称でなはい。
まちがっても「エスパーの方,回答お願いします」なんて痛い質問するな。つーかカエレ。
0006nobodyさん2006/01/03(火) 17:30:33ID:???
>>1
乙乙乙
0007nobodyさん2006/01/03(火) 18:58:00ID:???
勝手にテンプレ追加

※サーバで利用可能なモジュール及び関数リストの取得方法
<?php
foreach (get_loaded_extensions() as $module)
{
echo "<b>[". $module ."]</b><br>";
foreach (get_extension_funcs($module) as $func)
{
echo $func ."<br>";
}
}
?>

[standard]以下はPHPの標準関数。それ以外はオプション。
0008nobodyさん2006/01/03(火) 20:07:00ID:???
データベースを使用したユーザフォーラムみたいなものを
作成すると、どうしてもphpファイルにデータベースへ接続する
ためのパスワードなんかを記載する必要性が出てくるかと思いますが、
回避方法ってないでしょうか?

セキュリティ的に結構不安です
0009nobodyさん2006/01/03(火) 20:11:32ID:???
OK!把握した!
パスワードを使いたいがパスワードを使いたく無いってことだな
0010nobodyさん2006/01/03(火) 20:20:03ID:???
>>8
PHPのソースにアクセスできる人はDBにもアクセスできると考えて運用方法をしっかり考えるしかないかと。
0011nobodyさん2006/01/03(火) 20:48:03ID:???
>前スレ968
>libmysql.dll は PHPとMySQLにあるものどちらを
>使うのが吉?

MySQLにバンドルされてるlibmysql.dllは古いものだけど
PHPのMySQL拡張はそれでQAされてるので、基本的にバンドル
されてるものを使うのが吉。PHP5ならMySQL4.1.7リリース時のものなので
(多分PHP4の頃と同じで、多分これがずっと使われる)
その範囲でMySQLが利用できる。
0012nobodyさん2006/01/03(火) 21:01:47ID:???
>>8
MD5辺りで暗号化して書いとくとか。

外部PHPファイルやデータファイルにしてDOCUMENT_ROOTより
上のディレクトリに置く手もあるけど、主目的はメンテ効率であって
セキュリティ的にはあんまかわらんな。 
0013nobodyさん2006/01/04(水) 02:38:47ID:???
最近PHP始めてRSSみたいな物を作ろうと思ってます。
そこで、更新された文章の一部を取得して表示させたいのですが、
こういう事は可能ですか?
可能ならどのような関数使えばいいのかお願いします。
0014nobodyさん2006/01/04(水) 03:06:17ID:???
>>13
fopen()、fgets()
0015nobodyさん2006/01/04(水) 07:31:58ID:???
utf-8で書かれたHTMLのフォームから
Windowsクライアントで文字を入力して送信し、
それをEUCで書かれたPHPソースが受け取ったら
その受け取った文字の文字コードは
sjisでしょうか?
それともutf-8?
まさかeuc?
0016nobodyさん2006/01/04(水) 07:39:36ID:???
>>15
php_value default_charset
php_value mbstring.internal_encoding
0017152006/01/04(水) 08:32:26ID:???
>>16
恐縮ですがおっしゃている意味がわかりません。
0018nobodyさん2006/01/04(水) 08:36:27ID:???
>>15

誘導しますよ

http://pc8.2ch.net/test/read.cgi/hack/1131317930/
0019nobodyさん2006/01/04(水) 08:45:36ID:???
>>17
POSTされたデータは投稿フォームと同じエンコードでサーバーに渡される。
サーバーはPHPの設定(>>16の項目)に従ってスクリプトにPOSTデータを渡す。

要はちゃんと設定しておけば作成者側が心配する必要はないってこった。
デフォルトで値も入ってるしな。
0020nobodyさん2006/01/04(水) 09:28:22ID:???
>>19
ブラウザがそのページの文字コードに従って送信してくれるってのは、まあ通常間違いないだろうね(ブラウザをどこまで信用するかはターゲットのユーザ層次第)。
ただ、POSTされたデータがmbstring.internal_encodingに自動的に変換されるのはmbstring.encoding_translationがオンの場合。
これデフォルトではオフだから。

>>15
スクリプトの側でmb_convert_encoding()を使うか、php.iniのエントリーを設定しておくか等、マニュアルよく読んで最適な設定をしましょう。
DB(またはデータファイル)にどんな文字コードで保存するかにもよるし。
一番楽なのは言うまでもなく、全部デフォルトの設定で文字コードは全て一つに統一。
一番信頼性が高いのはphp.iniをちゃんと設定することだね。
0021152006/01/04(水) 09:53:43ID:???
>>19
>>20
なるほど。ありがとうございます。

DB内データはEUC、HTML出力はUTF-8、
という前提でPHPを書かないといけなかったので、
頭がクラッシュしてましたが、とても鮮明になりました。




0022132006/01/04(水) 14:11:58ID:???
>>14
返事ありがとうございます。
普通、更新内容をチェックするのは、RDFかXMLファイルだと思いますが、
htmlやphpといった拡張子のページの更新部分を抜き取る物を作りたいんです。
その場合、fopen()やfgets()では、無理ですよね?
どうすればいいのでしょうか?
0023nobodyさん2006/01/04(水) 14:36:57ID:???
>>22
正規表現
0024nobodyさん2006/01/04(水) 14:52:35ID:???
>>22
普通にdiffで比較するとか。
あとPearのText_DiffとかPECLにxdiffとかいう拡張モジュールあるから試してみたら?
0025nobodyさん2006/01/04(水) 14:55:58ID:???
タイムスタンプでも良いんじゃない?
00269112006/01/04(水) 14:59:18ID:ewHclrX7
>13

pear HTTP_RequestでHTTP_responsecode 304 200 を調べる(必須)
そのうえで。

fgets でファイルサイズ比較。

XMLでもRDFでも同じ事。
いちいちXMLをDOMparseして日付抜いてたら処理が持たない。
0027nobodyさん2006/01/04(水) 16:20:26ID:???
更新されたかどうかだけじゃなくて更新部分を抜き出したいんじゃないの?
0028nobodyさん2006/01/04(水) 16:25:57ID:???
if()文でインクルードするファイルを分岐するのってありですか?
0029nobodyさん2006/01/04(水) 16:38:06ID:???
>>28
あり。
0030nobodyさん2006/01/04(水) 16:43:28ID:???
switchの方が使いやすいような
0031nobodyさん2006/01/04(水) 16:45:37ID:???
>>30
条件の数次第じゃないの?
0032nobodyさん2006/01/04(水) 18:55:04ID:???
>>22
fopen()やfgets()「だけ」では難しいというだけで
少なくともこれら(もしくは同機能の関数)は必要。
その上で差分を比較する方法を考えなければならない。

新旧のページ内容をfgets()使って配列に格納した上で
array_diff()でもかけたら?
0033nobodyさん2006/01/04(水) 18:55:47ID:???
>>31
条件の内容にもよるしな
0034nobodyさん2006/01/04(水) 20:04:55ID:???
>>28
あと他にもincludeの引数に変数を持ってくる場合もあるよ。
__autoloadの中とか普通そうだし。
0035nobodyさん2006/01/05(木) 06:32:10ID:m56cMN8+

特定の行目だけ抽出する関数は無いでしょうか。
56.log  の3行目を抽出して出力、というように使いたいのですが
0036nobodyさん2006/01/05(木) 06:42:45ID:???
関数は無い。
1行ずつ読み込んでいって指定行数目で出力して抜けるか、
全部を配列に読み込んで3行目の要素を出力するか、
TPOに応じて好きな方を選べば?
0037nobodyさん2006/01/05(木) 07:47:15ID:m56cMN8+
>>36
ありがとうございます。後者の方法で全データ格納後
目的の行目を抽出することに成功したのでそちらを利用します。
0038nobodyさん2006/01/05(木) 09:52:25ID:???
各行を固定長にすればfseekで出来るけどな。
0039nobodyさん2006/01/05(木) 10:19:59ID:???
>>13
いまさらだけど。
元のページがどういう作りなのかによって RSS 生成の方法
というか、生成に必要なデータのいじり方が変わってくる。
HTML の更新部分を抜き出そうとするなら少なくとも

1. 旧バージョンがどこかに残っている必要がある
2. HTML の解析ができる

必要があるけど、その辺は大丈夫なん?

とりあえず内容は置いといて更新されたページ一覧を作る
ことにしたら? それならタイムスタンプを見るだけで
いいし、一覧を RSS のフォーマットで吐き出すだけだから。

0040132006/01/05(木) 23:09:20ID:???
皆さん返事いろいろありがとうございます。
いろいろ指摘された物を使い作ってみようと思ったのですが、自分の能力のなさに結局挫折しました。
もうちょっと、PHPを詳しく学んでから作ろうと思います。
今回は、>>39さんの言うように、一覧だけにしておきますm(_ _)m
0041nobodyさん2006/01/07(土) 02:36:18ID:???
おまいら外部サイト参照とかで必要なHTMLのパースもPHPでやってるの?
適当なスレ知ってたら誘導希望。
0042nobodyさん2006/01/07(土) 08:04:13ID:???
>>41
外部サイトのHTMLを整形して自分のサイトで表示、みたいな話なら正規表現で切り出す方がいいんじゃないかな?
パースってのは入力されたものが文法的に正しくなければ一切の意味を成さないからHTMLに対してはブラウザのエンジン並みに強力なパーサが必要になってしまう。
もし対象がXMLだったらパースするのが普通だろうけどね。

整形する必要がないならリダイレクト。
通常はこれで十分。
0043nobodyさん2006/01/07(土) 11:17:32ID:???
本格的にやりたいなら SAX とかか?
いずれにしても HTML をいじるのはあんまりやりたくないな。

今なら RSS だけでも結構な情報量になるし、その方がよくね?
少なくとも Valid XHTML ならずいぶんマシなんだがな。
0044nobodyさん2006/01/07(土) 12:21:03ID:/OfH2StE
PHP4で作ったスクリプトは無修正でPHP5で動作するもんなんでしょうかで?
0045nobodyさん2006/01/07(土) 12:34:48ID:???
動作しないこともあります
0046nobodyさん2006/01/07(土) 22:10:10ID:???
無修正…(^3^)-☆chu!!
0047nobodyさん2006/01/07(土) 22:36:41ID:???
>>41
外部サイト参照して、抽出に必要な部分ってサイトによるしそれも頻繁に変わるし、
頑張ってHTMLパースなんてしても無駄じゃない?
普通に「現時点でのHTMLの記述」から範囲指定のキーワードになりそうなの見つけて
それを正規表現で引っこ抜くくらいしかできないよね。
0048nobodyさん2006/01/08(日) 15:23:09ID:???
ファイルロック中に処理が終了したらどうなるんでしょうか?
例:
flock($fp, LOCK_EX);
exit;

0049nobodyさん2006/01/08(日) 15:36:10ID:???
>>48
プログラム終了と同時にストリームが閉じる。
ストリームが閉じるとロックも解除される。
0050php developer teams2006/01/08(日) 18:45:01ID:ctzaqlQU
phpで"や' = % \ _ などの特定な文字がブラウザから入力された場合全角に変換してデータベースに登録するにはどのようなソースになるのでしょうか?
0051nobodyさん2006/01/08(日) 18:54:37ID:???
>>50
そんな変なことは普通しない^^;;
つmysql_escape_string
0052nobodyさん2006/01/08(日) 18:58:31ID:???
>50
それを考えるのがお前の仕事だろうが!
0053nobodyさん2006/01/08(日) 19:19:18ID:???
>>50
特定の文字を検索して。該当するのがあったら全角変換かけて、DBに登録する。
0054php developer teams2006/01/08(日) 22:00:48ID:ctzaqlQU
いやいやmysql_escape_stringを使っても=は登録できないんですよ。

で、どうしたらいいのかなぁ〜って。
0055nobodyさん2006/01/08(日) 22:02:33ID:???
それ、ちゃんとSQL文中の値を '〜' で括ってあるのか?
0056nobodyさん2006/01/09(月) 00:58:18ID:???
>>54
つエラー文晒せ
0057nobodyさん2006/01/09(月) 01:03:57ID:???
>>54
つ発行したSQL文晒せ
0058php developer teams2006/01/09(月) 02:00:58ID:b1yfGQKW
エラーは出ない。だけどPHPから=を入力すると=以降のデータもDBには登録されていない。(phpMyAdminで確かめました)
0059nobodyさん2006/01/09(月) 02:11:59ID:???
だからSQL晒せって。おまえのプログラムがおかしいだけだから。
0060php developer teams2006/01/09(月) 02:42:32ID:b1yfGQKW
$bbs = mysql_escape_string($bbs);
//
$sql = "UPDATE 2ch SET bbs = '".$bbs."' WHERE userid = '".$userid."'";
mysql_query($sql,$con);

でいいのかなぁ?一応。
0061nobodyさん2006/01/09(月) 02:54:33ID:???
mysql_query($sql,$con); の前に
print $sql;
を入れて出力結果を見せてくれ。$bbs部分に「=」が含まれてるか?
0062php developer teams2006/01/09(月) 03:04:17ID:b1yfGQKW
だめだ。表示されてませんでした。

ためしに'と¥を入力してみたけど\' と \\に変換してあった。

ただ=がなぜ省かれているのかが意味不明。
0063php developer teams2006/01/09(月) 03:07:22ID:b1yfGQKW
あ、出力結果は以下のとおりです。

UPDATE 2ch SET bbs = 'aaabbb\'nn\\ss' WHERE userid = 'hogehoge'

ちなみに
bbsには aaabb'nn\ss=NNNN と入力 userid は hogehoge
0064nobodyさん2006/01/09(月) 03:16:29ID:???
だろうと思った。
プログラムの頭っから$bbsの内容を確認してみるんだな。
0065nobodyさん2006/01/09(月) 06:22:22ID:???
$var = "HOGE=1 HUGA=2 HAHI=3 HOGE=6 HUGA=5 HAHI=4";

ここからHOGEの値をとりたいと考えたとき
どんな方法があるでしょうか?
preg_match_all("/HOGE=[0-9]/", $var, $result);
も考えましたが、
これだと$result[0]="HOGE=1", $result[1]="HOGE=6"と
という形になってしまい、「HOGE=」の部分が邪魔です。
str_replaceで削除することもできますが、
もっとスマートな関数や方法はないでしょうか?
0066nobodyさん2006/01/09(月) 06:41:58ID:???
数字の部分にカッコをつける。
/HOGE=([0-9])/
0067nobodyさん2006/01/09(月) 10:36:21ID:s2jFLZvL
PHPというよりも、コード構成、下手すりゃHTMLそのものの質問にもなりかねないっすが..。
おながいします。

いわゆるオーダーフォーム。商品注文ページ等々。

回覧者から見て、

[order.php]
フォーム記入→Submit
-記入内容にエラー有なら、エラーメッセージとともに[order.php]を再度表示。
つまり、エラーは別ページで見せた結果手動で[order.php]に戻らせるんじゃなく、[order.php]でエラーを表示しつつ、その場で修正できて、そのまま再度Submitさせると。
-記入内容にエラー無なら[payment.php]へ。
ただし[payment.php]のコンテンツ中で、注文内容をフルで活用するので、FORMはそのまま渡したい。
ただし注文内容の長さ/セキュリティ等をふまえて、アドレスには組み込みたくない。つまりPOSTで渡したい。

エラー処理のために、[order.php]のフォームは
<form method="post" action="<?php echo $_SERVER['PHP_SELF']; ?>">
構成としては、
0068672006/01/09(月) 10:37:04ID:s2jFLZvL
+++++++++++++++++++++++++++++++
// 一回目の表示なのか、Submitされた後かの判断
if (array_key_exists('_submit_check',$_POST)) {

// Submit以降であると判断

// エラー有り。同ページをエラーとともに表示
if (errorFound()) {
show_form_with_error();

} else {

// エラー無し。[payment.php]へ進ませる
process();
}
} else {
// 一回目の表示なのでエラーメッセージは無し
show_form();
}
+++++++++++++++++++++++++++++++
0069672006/01/09(月) 10:38:48ID:s2jFLZvL
この構成が、たとえばメール送るだけの「問い合わせ」フォームみたいな場合だと、process()には単純に直接
mail(..........)
header(..........)
と続けりゃいいんだけど、ここでいう[payment.php]のように、先ページにフォーム内容をさらに渡したいといった場合、process()の内容をどうすればいいのか。
つまり、ユーザーアクションに頼らず、コード内で手動で、「このフォーム内容で[payment.php]にSubmit」というのは出来るんでしょうか?

構成の再考等も含め、ご指摘お願いします。
繰り返しですが、譲れない点として、
-エラーは、ポップアップその他ではなく、[order.php]内で表示。つまり、エラー表示、修正、再Submitが同じページで出来るようにする
-アドレス上にはフォーム内容を表示したくない。
-encryptもいいけど、やぱりできれば表示させたくない
0070nobodyさん2006/01/09(月) 11:01:52ID:???
$_SESSION
0071nobodyさん2006/01/09(月) 11:12:04ID:???
>>67
セッション使えば各ページ間でユーザから見えないようにデータを共有できるっていうのもあるし、もしくはprocess()ってやつでpayment.phpをincludeみたいにしちゃえばその必要もないかな。

まあとりあえずここ読んでみ。
http://www.php.net/session
その手の構成(フォームが複数ページにわたる)はセッションを使うのがお決まりではある。
0072672006/01/09(月) 11:42:29ID:s2jFLZvL
ありがとうございます。セッションでやってみます。
てかトライ後早速一個目ででつまずいてることに気づきました...。
ついでといっちゃーなんですが、さくっとわかるようだったらお願いします。

<form method="post" action="<?php echo $_SERVER['PHP_SELF'].'?id='.$id; ?>">

これでSubmitさせてるのに、再読み込み先がおかしい。

order.php?id=2

にこれがあるとして、Submit後、正しくorder.php?id=2とアドレスに表示されてるのに、コンテンツ上では?id=2が無視されてる。
これは$_SERVER['PHP_SELF']の仕様ですか?ARGとか使わないといけないのか。
調べてますが、もしさくっとわかるようだったらお願いします。
0073nobodyさん2006/01/09(月) 11:48:06ID:???
>>72
method="post"
0074nobodyさん2006/01/09(月) 12:01:02ID:???
PHP5.0をローカルなWinXPとApache2.0に入れています。

php.iniのmbstringセクションにある

「Local Value」と
「Master Value」の

2つの項目の違いってなんでしょうか?

php.iniを編集すると「Master Value」は反映されるのですが、
「Local Value」は変更されないので困ってます。。
0075672006/01/09(月) 12:12:29ID:s2jFLZvL
解決しました。
そのFORM内に
<input type="hidden" name="id" value="<?=$id?>">
入れとかなきゃ、二回目以降は空になりますわそりゃ。凡ミスでした。
ありがとうございました。
0076nobodyさん2006/01/09(月) 12:32:30ID:???
<?=は非推奨だからきちんと<?php echoと書きなさい
0077nobodyさん2006/01/09(月) 13:17:13ID:???
非推奨ではありません
たとえそうでも廃止にはなりません
0078nobodyさん2006/01/09(月) 17:59:15ID:???
>>76
環境によっては動かないってことね
俺もshort open tagはoffにしてる
0079nobodyさん2006/01/09(月) 18:02:15ID:???
必要に応じてXML使うところだけ.htaccessでon/offするとイイ
0080nobodyさん2006/01/09(月) 18:03:11ID:???
XML関係ねーよ馬鹿
0081nobodyさん2006/01/09(月) 18:19:36ID:???
>>74
Masterはphp.iniで設定されてる共通設定。
Localは.htaccessで設定されてるディレクトリごとの設定。
0082nobodyさん2006/01/09(月) 19:46:23ID:???
俺も short tag open は off にしてる。
off にしないと XML 系を直接扱う時に記述が面倒くさいし
ロジックと表示が分離しきれないから <?= ?> も使わないし。
0083nobodyさん2006/01/09(月) 20:38:26ID:???
<?= ?>ってロジックに含むか?俺はテンプレートと同じ感覚で使ってたが。
short tag open=PHPの標準テンプレート機能ONの意味で考えてたから
特に気にせずONで使ってる。
0084nobodyさん2006/01/09(月) 20:43:45ID:???
状況に応じて切り替え
これがPHPクオリティー
0085nobodyさん2006/01/09(月) 20:45:50ID:???
PHP6 から short tag って廃止されなかったっけ
0086nobodyさん2006/01/09(月) 20:53:40ID:???
ソースは?
0087nobodyさん2006/01/09(月) 20:59:26ID:???
PHPの6なんてもう出たのか。はえーなー
0088nobodyさん2006/01/09(月) 21:07:17ID:???
>>85
ASPタグは廃止されるがshort tagは廃止されないと言われてるけど
http://www.corephp.co.uk/archives/19-Prepare-for-PHP-6.html

> Farewell <%
> They will remove support for the ASP style tags, but the PHP short-code tag will remain (<?) - so to those on php general who reckon the short-tag is 'depreceated' - hah! ;-)
0089nobodyさん2006/01/09(月) 21:18:40ID:???
>>85
PHP5からASPタグは廃止になった気がする。
0090nobodyさん2006/01/09(月) 21:28:56ID:???
[>>88和訳]
(PHP6では)ASPスタイルのタグはサポートされないよ。でもPHPのshort tag(<?)はそのままさ。
なのでphp-generalでshort tagは「非推奨」とか言ってた人・・・( ̄ー ̄)ニヤリッ
0091nobodyさん2006/01/09(月) 22:11:23ID:???
でもASPタグ廃止と一緒に話に出すって事は
少なからず関係あるんじゃないのかとか思ってみたりする。
0092nobodyさん2006/01/09(月) 22:51:41ID:???
>php.ini-distでは、デフォルトでこのオプションは有効となっていますが、 短縮形のタグの使用は推奨されません。
>再配布可能なコードでは、短縮型のタグを使用しないようにしてください。
0093nobodyさん2006/01/09(月) 23:00:13ID:???
個人的には<? ?>はなくてもいいけど<?= ?>はあってもいいんでないかと思ったり。
他と衝突するわけでもないし。
short_open_tagで一緒くたに扱われていることに何となく疑問を感じる。
0094nobodyさん2006/01/09(月) 23:34:06ID:???
>>92
そりゃ、世の中PHPだけで動いてるわけじゃないんだから、
特定の環境と衝突する可能性のあるshort tagは標準にはできないだろうし、
再配布を考慮するなら使うべきじゃないだろ。
0095nobodyさん2006/01/09(月) 23:37:19ID:???
つか <?= ?> なんかテンプレート使ってれば必要ないが
0096nobodyさん2006/01/10(火) 00:17:24ID:???
逆に<?=?>使ってればテンプレートを別途導入する必然性が分からない。
何が便利なの?
0097nobodyさん2006/01/10(火) 00:55:56ID:???
fcdc3abf25f3e04a2424a82e29afabd2

パスワード解析してくださいませんか?
0098nobodyさん2006/01/10(火) 01:45:50ID:???
配列に格納されている値のうち,特定のものを削除するとかって
一発でできますか? 一つずつ判定してやっているのですが,
もっと早くできるかなと思いまして。
0099nobodyさん2006/01/10(火) 01:51:44ID:???
>>98
条件によるけど、preg_grep()かarray_search()+array_splice()とかかな。
0100nobodyさん2006/01/10(火) 03:01:14ID:???
>>97
MD5ハッシュ生成関数でも探して2〜3年マッチング続ければ解析できるかもね
0101nobodyさん2006/01/10(火) 04:10:05ID:???
>>97
つか何のパスワードだよ
■ このスレッドは過去ログ倉庫に格納されています