【PHP】質問スレッドpart30【php】
レス数が1000を超えています。これ以上書き込みはできません。
0001nobodyさん
2005/10/25(火) 06:50:06ID:Q4oGlTH3【基本ルール】
・新規質問の方は上げてください。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さん
2005/10/25(火) 06:50:53ID:Q4oGlTH3【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
【PHP】質問スレッドpart27【php】
http://pc8.2ch.net/test/read.cgi/php/1109857283/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さん
2005/10/25(火) 06:51:24ID:Q4oGlTH3【PHP】下らねぇ質問はここに書き込みやがれpart11
http://pc8.2ch.net/test/read.cgi/php/1129582431/l50
【PHP】PEAR Part2
http://pc8.2ch.net/test/read.cgi/php/1122899232/l50
PHPでオブジェクト指向プログラミング
http://pc8.2ch.net/test/read.cgi/php/1113724557/l50
【PHP】フレームワークについて語るスレ【総合】
http://pc8.2ch.net/test/read.cgi/php/1123608068/l50
【Smarty】PHPのテンプレートエンジン【Flexy】
http://pc8.2ch.net/test/read.cgi/php/1118799352/l50
[PHP-users MLヲチ7]今日の質問でございめう
http://pc8.2ch.net/test/read.cgi/php/1109389031/l50
正規表現道場@2ch Part4
http://pc8.2ch.net/test/read.cgi/php/1105930285/l50
関連板
データベース(SQL、DBMSの話題はこちら)
http://pc8.2ch.net/db/
プログラム(CLI、アルゴリズム、インタプリタの話題はおそらくこちら)
http://pc8.2ch.net/tech/
Web制作(クライアントサイドの話題は問答無用でこちら)
http://pc8.2ch.net/hp/
0004nobodyさん
2005/10/25(火) 06:51:56ID:???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さん
2005/10/25(火) 06:52:28ID:???1. ハードウェア、OSのバージョン等には一字一句触れない。
2. 大切な個人情報が漏れるとまずいので、己の行った操作、変更などは秘密。
3. エラーメッセージの類は決して書かない。「エラーが出るんです」で留める。
目の前で生じている現象をそのまま具体的に書くなどもっての外。
事実より俺様の脳内解釈を優先すべし。
4. 独り言文体で必勝。
「…なんだけど、どうすればいいのかなぁ」「何が悪いんだろう?」
5. 「急いでいます」「困っています」等、自分の都合を全面に押し出す。
6. もう試したことを得意げに指摘してくる奴には、厳しく対応。
「それが駄目だったから質問してるんです」「それはもう試してみて駄目でした」
"どう"だめだったのか、本当に実際それを行ったかどうかなんか問題じゃない。
7. ストレートに答えを書かないもったいぶったレスには、逆切れで対応。
「だからどうすればいいんですか?」「分からないなら引っ込んでろやゴルァ」
示されたURL等を参照するなんて態度は、回答者を甘やかすことに他ならないので
絶対に避ける。
8. 情報は小出しに。
「エスパーきぼんぬ」 補足
上の八ヵ条を「一つでも」満たす者は質問者として不適格だということだ。
そのような悪い質問に対して答えられるのは,
質問者の意図をすべて汲み取ることのできるエスパーでもなければムリ,
という意味であって,決して,高度な技術を持つユーザに対する尊称でなはい。
まちがっても「エスパーの方,回答お願いします」
なんて痛い質問するな。つうか氏ね。
0006nobodyさん
2005/10/25(火) 06:54:26ID:???一応、前スレ(part29)へ来た質問にはそのまま答えるのもいいですが、なるべく誘導推奨ということで。
0007nobodyさん
2005/10/25(火) 10:35:07ID:???0008nobodyさん
2005/10/25(火) 11:26:54ID:???事実上できなくなってるのも現実だしな。
(この板落ちたら駄目だろ的スレの数が少ないので個人的には構わんかな)
0009nobodyさん
2005/10/25(火) 11:32:58ID:lrmwE9/Z0010nobodyさん
2005/10/25(火) 12:25:55ID:???前スレは>>8の通り、スレタイに「質問」という言葉が入っていないために書き込みが激減してしまった。
代わりに多くの質問者は「くだらねぇ*質問*はここで書き込みやがれ」へ集中。
事実、問題の前スレpart29とくだ質part7は同時期に立ったが、前スレがチンタラしてる間にpart11まで行ってしまった。
(レス数を比較すると、だいたい700:4600)
で、何が問題だったかと言うと、(向こうのスレでもチラホラ話題になったのだが)「くだらない」とは言えないような質問までくだ質に集中し、普段回答している側にとってもおそらく有益と言えるような質問・回答のやりとりまで、くだらない話題に埋もれてしまったこと。
あと漏れ個人としては、くだ質の方では似たような質問が何度も何度も繰り返されているにもかかわらず、回答者も同じような受け答えを何度もしているように感じた。
まあ、前スレ埋まってないのに混乱の元だと思うかもしれないが、ちょっと質問しに2chに来たって感じの香具師らは、前スレには質問という言葉が入っていないので目にも留まらないと思われ。そういう意味で混乱はさほど無さそうに思う。
くだ質の伸びから察するに、ちょっと2chに質問しに来るって感じの香具師がおそらく大半なのだろうし。
0014nobodyさん
2005/10/25(火) 14:51:02ID:???スレタイに「質問」と入れなかったりテンプレを端折った前スレの1が悪い
あとはくだ質の次スレあたりで関連スレのテンプレ貼ればokかな
0015nobodyさん
2005/10/25(火) 16:31:17ID:???001615
2005/10/25(火) 16:41:18ID:???0017nobodyさん
2005/10/25(火) 23:23:54ID:???・新規質問の方は上げてください。age進行でお願いします。
0019:
2005/10/26(水) 23:20:59ID:AWxDLnDHどんな方法があるのでしょう?
0021nobodyさん
2005/10/27(木) 00:17:40ID:fD/gCp91何をどこを基点としたときの相対パスを取得したいのですか。
0022nobodyさん
2005/10/27(木) 00:18:48ID:???どこを基点とした何の相対パスを取得したいのですか。 かな。。
002319
2005/10/27(木) 00:44:02ID:w9P0Ohds自分でも意味がわからなかった。
実行するスクリプトを基点として、同じ鯖上にある任意のディレクトリ
(例えばpublic_htmlとか)の相対パスを取得したいのですが。
しかし、これもわからない気がする。
0025nobodyさん
2005/10/27(木) 03:24:28ID:???とりあえず聞くけど
function relpath($fullpath) ...
って感じで、http://example.com/abc/def.phpの中で
relpath("/path/to/the/public_html")を呼ぶと "../.." を返し、
relpath("/path/to/the/public_ftp")を呼ぶと "../../../public_ftp" を返す
ってことでおk?
(ドキュメントルートが /path/to/the/public_html であるとする)
002619
2005/10/27(木) 07:47:24ID:w9P0Ohdsその通りです。
あの日本語が理解されて嬉しいです。
相対パスから絶対パスを取得する関数は見つかったのですが、
相対パスを取得する関数は見つからなかったので。
0027nobodyさん
2005/10/27(木) 08:19:06ID:Xytq/Hmsとても荒く感じます。
<?php
list($width,$height)=getimagesize("img/php/20040218.jpg");
$src=@imagecreatefromjpeg("img/php/20040218.jpg");
$dst=imagecreatetruecolor(149,103);
imagecopyresized($dst,$src,0,0,0,0,149,103,$width,$height);
imagejpeg($dst,"img/php/20040218small.jpg");
?>
もう少しきれいにサムネイルしたいのですが、どのような方法が
あるのでしょうか?
0028nobodyさん
2005/10/27(木) 08:40:56ID:???自分で関数書くしかないね。
explode("/", $path)で区切ったりしてひたすら書くべし。
>>27
imagejpeg(□, □, 100)で品質を100にする。
あと、GDに不満を感じたときは>>4の10も検討。
0029nobodyさん
2005/10/27(木) 08:54:42ID:???どうでもいいことだが、GD系の関数名は無駄に長いので、
getImageSize
とか
imageCreateFromJpeg
のように大文字をからめて書くことをお勧めする
(PHPのクラス名・関数名・定数名はdefineの3番目の引数にtrueを指定しなかった場合を除いて大文字小文字の区別はされない)
0030nobodyさん
2005/10/27(木) 09:12:55ID:???imageJpeg(□, □, 100);
にしてみたところ、少し改善された気がします。
XREAもImageMagickに対応しているようなので、試してみます。
>>29さん
大文字小文字って区別されないんですね!
次からは見やすくなるように、区別して使っていこうと思います。
朝から質問に答えていただき、ありがとうございました。
0031nobodyさん
2005/10/27(木) 16:25:35ID:???$uho = "ウホッ!";
<a href="ahya.php">リンク</a>
//ahya.php
echo $uho;
リンクで呼び出した先のPHPで、呼び出し元のPHPの中で宣言した変数$uhoを
参照する方法って無い?
0035nobodyさん
2005/10/27(木) 16:38:52ID:???・cookie
・session
・フォームかリンクに埋め込む
・ファイルかDBに保存
・shmop(環境依存)
などがある。
003619
2005/10/27(木) 16:43:43ID:bGM1JPpOわかりました。
explodeを使って何とか作ってきます。
どうもありがとうございました。
003731
2005/10/27(木) 16:44:24ID:Ar3CFaXZスマソ・・・。というわけで
∧_∧ / ̄ ̄ ̄ ̄
∧( ´∀`)< あげ
( ⊂ ⊃ \____
( つ ノ ノ
|(__)_)
(__)_)
>>33-35
$_GETだとリンクのところに
<a href="ahya.php?$uho">リンク</a>
としないといけないわけか・・・。
これはちょっと面倒かな。
cookieだと閲覧者がブラウザの設定で有効にしてくれないと意味がないと。
DBは運用していないから除外。
となると残るはsessionかなぁ・・・使い方はよく分かってないが。
0038nobodyさん
2005/10/27(木) 16:44:50ID:???0040nobodyさん
2005/10/27(木) 16:54:31ID:???- - - - - - - - - - - - - - - - - キリトリセン - - - - - - - - - - - - - - - - -
次の方ドゾー
004131
2005/10/27(木) 16:57:00ID:???/\⌒ヽペタン
/ /⌒)ノ ペタン
∧_∧ \ (( ∧_∧
(; ´Д`))' ))(・∀・ ;)
/ ⌒ノ ( ⌒ヽ⊂⌒ヽ
.(O ノ ) ̄ ̄ ̄()__ )
)_)_) (;;;;;;;;;;;;;;;;;;;)(_(
004331
2005/10/27(木) 17:30:08ID:???0045nobodyさん
2005/10/27(木) 18:41:32ID:???だいたいできてる気分なんですが、
フレームワーク作るとかさらに上のステップに
あがるのに適切な本とか方法とかありますか?
プロジェクトとかに参加してないとなかなか
レベルアップの機会がなくて・・・
0048nobodyさん
2005/10/27(木) 19:48:08ID:???まずは作りたいと思ってるジャンルの、貴方の場合はフレームワーク、
それを色々使ってみてからじゃ米か。その上で不満とか良いところを
感じながら自分のプロダクトに盛り込む。
0049初心
2005/10/28(金) 11:34:21ID:???InsertやDeleteなどのsql文は問題なく動きます、ですがMAXやMINを下記参照で使うと期待した値が帰ってきませんでした。
期待した値としてはフィールド AutoNumber のint(4)型です。
$con=mysql_connect("********","*******","*******");
if(!$con){
print("era-");
}
mysql_select_db("test",$con);
//AutoNumberはPrimaryで作りました
$sql="select MAX(AutoNumber) FROM sogo";
$kekka=mysql_query($sql,$con);
$row=$kekka+1;
print("<HR> $kekka <BR> $row <BR>");
mysql_free_result($kekka);
mysql_close($con);
//結果
//Resource id #3
//4
ご教授のほどお願いします。
0050nobodyさん
2005/10/28(金) 11:42:47ID:???$kekkaは Resource id とあるように、SQLの結果へのリソースを返す。
で、実際の値は取得したリソースidを使って mysql_result()とかで取得する。
0051nobodyさん
2005/10/28(金) 11:47:03ID:???結果セットの取り扱い方法が間違っているな。
ちょっと変数の命名が変だけど、オマイさんが示したコードに無理矢理当てはめてみると
こんな感じになる。
$sql="select MAX(AutoNumber) as maxvalue FROM sogo";
$result=mysql_query($sql,$con);
$recordset = mysql_fetch_array($result, MYSQL_ASSOC);
$kekka=$recordset['maxvalue'];
$row=$kekka+1;
print("<HR> $kekka <BR> $row <BR>");
mysql_free_result($result);
0052初心
2005/10/28(金) 12:02:45ID:???nobodyさん
先ほど>>49の例で試したところ期待した値が帰ってきました。
内容理解にがんばってみます。
0055nobodyさん
2005/10/28(金) 14:36:12ID:???初心に変わってエスパーの俺が解説しよう
>>52の(レスに書いた>>49の)アンカー(は>>51の)ミスです><;
0056nobodyさん
2005/10/28(金) 14:37:50ID:???0058nobodyさん
2005/10/31(月) 21:52:19ID:IQWjtyLi質問:セッションIDが引き継げていない?
ttp://www.stackasterisk.jp/tech/php/php03_06.jsp
上記サイトを参考にしてローカルで試しています。
<<<<ここから>>>>
<?
session_start();
if (!isset($count)) $count=0;
session_register("count");
$count++;
?>
<html>
<body>
あなたは <?= $count ?> 回目の訪問です。
<a href="<?echo $PHP_SELF ."?PHPSESSID=". $PHPSESSID?>">カウントを増やす</a>
</body>
</html>
<<<<ここまで>>>>
試したソースは上記です。何回更新しても1回目のままです。
不審に思いifをちゃんと括弧でくくったりif内でechoさせたり色々試すと、
どうも!isset($count)が毎回trueを返して$count=0;を実行している模様。
elseをつけたり{}でくくりしっかりした書式にしても変らず。
windows\tempの中を覗いてみたらちゃんと変数はありました。
ご教授お願いします。
0059nobodyさん
2005/10/31(月) 22:00:44ID:???0060nobodyさん
2005/10/31(月) 22:08:21ID:???そのサイトは
>この章で扱う PHP のバージョンは、PHP 4.0.3pl1 とします。
なのに,
>>58 はPHP4.2以上を使ってるから.
006158
2005/10/31(月) 22:31:17ID:IQWjtyLi>PHP 4.2.3とそれ以前のバージョンのみに関係する問題があります。
> session_register()により新しいセッショ ン変数を登録する場合、
>グローバルスコープのエントリと $_SESSIONのエントリは、
>次の session_start()まで同じ値へのリファレンスとは なりません。
> すなわち、グローバル変数への修正は、$_SESSION のエントリには反映されません。
>PHP 4.3では修正されています。
ここいら辺の話でしょうか?
違うんであれば大体どの辺見ろとか言ってもらえると嬉しいです。
006258
2005/10/31(月) 22:32:00ID:???0063nobodyさん
2005/10/31(月) 22:46:11ID:???・新しいサンプル(PHP4.3.x,PHP4.4.x)を探す
0064nobodyさん
2005/10/31(月) 22:48:27ID:???0065nobodyさん
2005/11/01(火) 00:48:13ID:cLPN4r6c<input type="checkbox" name="test[]" value="1">
<input type="checkbox" name="test[]" value="2">
echo $_POST['test'][0];
echo $_POST['test'][1];
で期待通りに動作します。
しかし、[] がないサンプルを見かけました。
<input type="checkbox" name="test" value="1">
<input type="checkbox" name="test" value="2">
echo $_POST['test'][0];
echo $_POST['test'][1];
私の PHP4.4.0 の環境だと最後にオンになっている value しか表示されません。
PHP5 の環境だと OK ということなのでしょうか?
0067nobodyさん
2005/11/01(火) 05:52:12ID:XOKgx8G4HPを移転させたら
Fatal error: Call to undefined function: mb_convert_encoding() in /home/hideaki/hideaki/mail.php on line 103
というエラーが出るようになってしまいました。
サーバによって違うものなのでしょうか?
phpinfo();
の結果をはっておきます。
http://www.1st-web.org/info.php
対処法など教えてください!お願いします。
0069nobodyさん
2005/11/01(火) 07:29:02ID:???mbstring=sharedになっているのでスクリプトの先頭で
dl("mbstring.so");
とやってみる。
0071nobodyさん
2005/11/01(火) 08:48:29ID:???Fatal error: Only variables can be passed by reference
はじめて気づいた・・・
007265
2005/11/01(火) 09:13:05ID:???レスありがとうございます。
PHP5でも一緒ですか。
>70
ttp://www.lastcraft.com/form_testing_documentation.php
ここの下の方です。
0073nobodyさん
2005/11/01(火) 09:37:51ID:???そのページのサンプルに
<input type="checkbox" name="test" value="1">
<input type="checkbox" name="test" value="2">
で送られたデータを
echo $_POST['test'][0];
echo $_POST['test'][1];
という形式で受け取っている、とはどこにも書いてないだろ。
勝手に脳内補完するなよ。
0074nobodyさん
2005/11/01(火) 09:48:05ID:???レスどうもです。
こちらのページ以外にもあったのですが、そちらは個人のサイトなので書いてないです。
配列のチェックボックスは、何通りの受け取り方があるのでしょうか?
007573
2005/11/01(火) 10:07:33ID:???鬱陶しい奴だな。自分で調べる気がないのなら素直に [] を付けりゃいいだろ。
配列もクソもPOSTデータを受け取る「方法」は一つ。
受け取ったデータをPHPが自動的に$_POSTに格納してくれているだけ。以下で確認しろや。
-- test.html --
<FORM action="test.php" method="post">
<input type="checkbox" name="test" value="1">
<input type="checkbox" name="test" value="2">
<input type="submit" value="send">
-- test.php --
readfile('php://input');
0076nobodyさん
2005/11/01(火) 10:19:40ID:???0077nobodyさん
2005/11/01(火) 10:25:22ID:???でも、質問の答えになってなく空回りしてるのがワロス
007865
2005/11/01(火) 10:34:07ID:???どうもありがとう。
方法はひとつなのですね。
ttp://www.lastcraft.com/form_testing_documentation.php
自前でパースするのが前提のサンプルのようですね。
すっきりしました。
0079nobodyさん
2005/11/01(火) 11:52:29ID:???ftpでファイルを持ってくるのに
-----
for($i=0;$i<$max;$i++)
file_get_contents("ftp://user:pass@example.com/foo".$i.".txt")
-----
って感じで複数のファイルを取得してるんですが、10%弱の確率で
331 password required for user
のエラーが返ってきます。
毎回起きてるならまだ分かるんですが、起きたり起きなかったりと
結果が不安定なので、何が悪いのかさっぱりな状態です…。
何か解決策はないものでしょうか?
(環境:php-4.3.11/Linux)
0080nobodyさん
2005/11/01(火) 12:22:52ID:???$max がデカイとか?
ログファイルは?
0081nobodyさん
2005/11/01(火) 12:43:24ID:7nOS7Rx3あると聞いたのですが、実際の方法を教えてください。
0082nobodyさん
2005/11/01(火) 12:49:18ID:???0085nobodyさん
2005/11/01(火) 12:57:33ID:???FTPサーバ側の設定かなんかじゃない?
再接続を繰り返しまくったらそういうエラーを返すように設定されてるとか。
fsockopenでつなげて、接続を保ったままgetで取得してみたら?
0086nobodyさん
2005/11/01(火) 13:37:29ID:???my $argv = shift @ARGV;
my $browser = LWP::UserAgent->new;
my $url = 'http://www.hogehoge.jp/cgi-bin/hogehoge.cgi';
my $response = $browser->post($url ,
[
foo => '2ch' ,
bar => 'orz',
file => [
undef, 'test.txt',
Content_Type => 'text/plain',
Content => $argv]
] ,
Content_Type => 'form-data'
);
die " Error!", $response->status_line unless $response->is_success;
print $response->content;
008879
2005/11/01(火) 14:22:49ID:???>>80
$maxは今の所、最大6
該当エラーログの全文は
-----
Warning: file_get_contents(ftp://...@example.com/foo.txt): failed to open stream: FTP server reports 331 Password required for user.
in script.php on line 53
-----
と、こんな感じです。ホスト名あたりは実際のから置き換えてますが、その前後に
他のエラーは無いです。
>>85
fsockopenってことは、自前でFTPのコマンド出さないといけないんですよね?
出来ればその方法は避けたかったんですが、他に方法がなさそうだったら、
それで試してみます。
サーバー側の設定に関しては、これから調べてみます。
ちなみに、サーバーはProFTPD使ってます。
0089nobodyさん
2005/11/01(火) 17:03:45ID:???foreach ($arr as $val) {
…
}
で $arr が空の時 warning が出てしまうんですが
みなさんどう対処していますか?
empty()とかで最初に調べるのはあまりしたくないんですが。
0090nobodyさん
2005/11/01(火) 17:06:20ID:???995 名前:nobodyさん[sage] 投稿日:2005/11/01(火) 16:39:53 ID:???
セッションをURLに埋め込みたいんだが
<a href="./ahya.php?<?= SID ?>">リンク</a>
なぜかahya.phpへのURLにセッションIDが付与されない。
何か書きミスでもある?
だが
998 名前:nobodyさん[sage] 投稿日:2005/11/01(火) 16:52:25 ID:???
>>995
SIDが未定義とかエラーはでてないのけ
session_start()してる?
うん、ちゃんと冒頭でやってるよ
999 名前:nobodyさん[sage] 投稿日:2005/11/01(火) 16:59:51 ID:???
待て待て、セッションの渡し方がおかしい。
え、どこが?
0091nobodyさん
2005/11/01(火) 17:19:39ID:???009290
2005/11/01(火) 17:22:45ID:???<?php echo SID; ?>
してみたんだが見事に何も表示されなかった。
session_start()すれば勝手に挿入されるんじゃなかったっけ?>>SID
0093nobodyさん
2005/11/01(火) 17:36:11ID:???なんて記述がマニュアルにあるが、これに該当してない?
0094nobodyさん
2005/11/01(火) 17:38:45ID:???0095nobodyさん
2005/11/01(火) 17:40:18ID:???SIDが定義されるのは、
・cookie未使用
・cookie使用時は、一番最初の1回のみ
だと思うけど?
常に取得したければ、session_id()を使う
009690
2005/11/01(火) 17:49:39ID:???ウホッ(;´Д`)!
IEのクッキーをONにしているとSIDには変数が設定されないのか!
となると
<a href="./ahya.php?<?= SID ?>">リンク</a>
は、
<a href="./ahya.php?<?= session_id(); ?>">リンク</a>
に変えればいいのかな?
009795
2005/11/01(火) 17:59:57ID:???<a href="./ahya.php?<?= session_name()."=".session_id(); ?>">リンク</a>
だと思う。
009890
2005/11/01(火) 18:50:54ID:???お、ちゃんとURLに反映されたよ、ありがとう( ´∀`)ノ
ところでahya.php側でセッションを受け取るわけだけど、こちらで再度session_start()って宣言する必要
あるの?それとも$_GET['PHPSESSID']で直接session_id受け取って代入しちゃって良いのかな?
0100nobodyさん
2005/11/01(火) 18:59:46ID:???010179
2005/11/01(火) 19:13:47ID:???サーバー側にそれらしき設定は無かったです。
あと、クライアント側を改造してリクエストの間隔を10秒
あけてみても結果は変わらず。
ソースのftp_fopen_wrapper.cまで見てみたんだけど、なんで
この状態になるのかがさっぱり。
telnet使って再現実験やってみても、再現しなかったし…
引き続きどなたか思い当たる事があれば、情報をください(´・ω・`)
010290
2005/11/01(火) 20:33:52ID:???> ところでahya.php側でセッションを受け取るわけだけど、こちらで再度session_start()って宣言する必要
> あるの?それとも$_GET['PHPSESSID']で直接session_id受け取って代入しちゃって良いのかな?
自己レス。
さっきクッキーオフにして試してみたら、URLにsession_idをPHPSESIDに渡すだけで正しく
セッションが引き渡されていたよ、受け取り側ではGETとか使って細工したわけではないのに。
なんか不思議ぃ〜ヽ(´ー`)ノ
0103nobodyさん
2005/11/01(火) 21:40:54ID:???--- 1.php ---
<?php
session_name('mysessionid');
session_start();
$_SESSION['test'] = 123;
$name = session_name();
$id = session_id();
echo "<a href=\"2.php?{$name}={$id}\">next</a>"
?>
--- 2.php ---
<?php
//session_name('mysessionid'); ワザとコメント
session_start();
echo $_SESSION['test'];
?>
010490
2005/11/01(火) 23:23:04ID:???2.phpで session_start(); するとき、
a) session_name('ほげほげ');
b) クッキー
c) URL
の優先順位でセッションを見つけていくというわけね。
で、今2.phpではa)がコメントアウトされていて、クッキーもオフにしているから
URLを参照しに行ったと。URLの引数の中でとある変数名ととある値の
組み合わせが、あらかじめストアされていたセッション名とセッションIDに
合致していたらセッションを引き渡すというのかな?
逆に言うと悪い奴があてずっぽでセッション名とセッションIDを当ててしまったら、
URLにその値をぶち込むことで他人のIDになりすましたりすることもできると・・・
0105nobodyさん
2005/11/01(火) 23:48:55ID:2mWy/qga(【PHP】下らねぇ質問はここに書き込みやがれpart12 からきました)
ImageMagickをPHPから使用しています。(さくら:Apache.1.3 FreeBSD)
フォントはインストールされているものではなく、
/home/hoge/fonts/
というフォルダを作りttfファイルを入れているだけです。
<?php
$convert = "/usr/local/bin/convert";
$text = "Japan日本語";
$text = mb_convert_encoding($text, "UTF-8", "SJIS");
$font = "/home/hoge/fonts/ipam.ttf";
passthru("convert -encoding UTF-8 -size 620x100 xc:transparent -font $font -pointsize 72 -draw \"text 20,65 $text\" test.png");
?>
のように$tectの部分が「英語+日本語」なら表示されるのですが、
$text = "日本語";
のように「日本語のみ」の場合文字を描画することができません。
どこが悪いのでしょうか?
0106nobodyさん
2005/11/02(水) 00:10:22ID:???ImageMagickで日本語は無理じゃない?
GDで元になる画像作って、必要ならImageMagickで加工するってのがいいのでは?
0107前スレ999
2005/11/02(水) 01:00:17ID:???ナンチャラをonにすると勝手にリンクにPHPSESSIDを入れてくれる機能があるから、それを使ったらどうかといいたかった。
たしかsession.use_trans_sid。
010890
2005/11/02(水) 01:05:29ID:???自鯖では設定は変えられるんだけど今同時に使ってるレン鯖ではoffに設定されているみたい。
というわけでリンクに入れる方法で試してみるよ。
010990
2005/11/02(水) 01:14:17ID:???ん、実際にテストしたら予想と違った( ゚Д゚)
2.phpを次のように書き換えたんだが
--- 2.php ---
<?php
//session_name('mysessionid'); ワザとコメント
session_start();
echo $_SESSION['test'];
print "session_name = " . session_name() . "<br>";
?>
表示されるsession_nameはPHPSESSIDのままだった。
ちなみに「わざとコメント」の行のコメントを外すと'mysessionid'という
文字が表示された。
URLで渡したとき
echo "<a href=\"2.php?{$name}={$id}\">next</a>"
じつは2.phpでは$nameの部分は全く無視している(見ていない)?
0110nobodyさん
2005/11/02(水) 01:23:23ID:???現在さくら専用鯖RH9 apache2.0.40 PHP4.2.2です
前任者が作ったサイトがあるんですが
HTMLスキンファイルをPHPで読み込ませ、index.phpに表示させるように
なってるんですが、何も表示されない(白紙=読み込まない)ので
困っています。
従来はちゃんと動いていたのですがphp.iniの設定(memory_limit=32M)
とpostgres.confを変更しpostgresとapacheを再起動したところ
上記症状になってしまいました。
該当のPHPエラーログは Allowed memory size of 16 bytes exhausted (tried to allocate 84 bytes) in Unknown on line 0
となっており、該当ホームディレクトリには.htaccessで
DirectoryIndex index.html index.php
php_flag log_errors On
#php_flag display_errors Off
php_value error_log "/home/sites/site1/web/php_logs/error_log.txt"
#php_value memory_limit "16M"
AddDefaultCharset EUC-JP
#AddType application/x-httpd-php .htm
memory_value)
と記述してあります。どなたか解決の糸口をご教示くださいませんでしょうか。何卒よろしくお願いします。
011190
2005/11/02(水) 01:24:27ID:???たびたびスマソ
「ワザとコメント」のままだとsession_id自体が引き渡されないね。
つまり受け取る側はsession_nameとURLの$nameが一致してないと
セッションの引き継ぎは行われないってことなんだね。
0112nobodyさん
2005/11/02(水) 01:29:04ID:???いい加減ウザいんだけど・・・。
てか、ちょっと考えればわかるだろ。
1.phpにてsession_name()でセッション名を定義しても、それが有効なのはスクリプト内、
つまり 1.php 実行中のみ。
2.phpにとってみれば、いきなり mysessionid = hogehoge とか渡されても、
これが「セッションIDを引き渡している」と分かるわけがない。
2.php でセッション名を定義していなければ、セッション名はデフォルトの"PHPSESSID"になる。
(※php.ini や .htaccess で定義していない場合)
> echo "<a href=\"2.php?{$name}={$id}\">next</a>"
> じつは2.phpでは$nameの部分は全く無視している(見ていない)?
ヒント: echo $_GET['mysessionid'];
0113nobodyさん
2005/11/02(水) 01:35:17ID:???くだらんスレもフカーツしたしそちらに帰りまつ
。・゚・(ノД`)・゚・。
0114nobodyさん
2005/11/02(水) 01:40:13ID:???くだらねぇ。
memory_limitの設定間違えて16byteに設定してしまって、メモリが足りないって怒られてるだけだろ。
英語がわからないなら辞書引けボケ
次からはくだしつで質問しろ。
0115nobodyさん
2005/11/02(水) 01:45:56ID:???0118105
2005/11/02(水) 08:37:47ID:k7ixpa6eありがとうございます。
> ImageMagickで日本語は無理じゃない?
日本語が含まれている文字が、表示されるのに日本語のみが表示できないのが不思議で…
やっぱり無理なんでしょうか?
> GDで元になる画像作って、必要ならImageMagickで加工するってのがいいのでは?
一応こちらの方向でも進行しています。
0119nobodyさん
2005/11/02(水) 10:03:45ID:???0121nobodyさん
2005/11/02(水) 13:59:03ID:???カウンタは上の方にあるので、カウンタを超えた行から読み込みたいのです。
0122nobodyさん
2005/11/02(水) 14:12:51ID:VM69hIe2具体的に言うと、どんな不具合?
$_GLOBALSが上書きされる??
http://www.hardened-php.net/index.76.html
0124nobodyさん
2005/11/02(水) 15:33:17ID:???とあるページのカウンタの仕様による。
ちなみにPHPでかかれているページについては、PHPで特別な処理をしていない限り、
HTTPでrange指定しても最初から全部処理して全部かえすぞ。
0126nobodyさん
2005/11/02(水) 15:55:28ID:???理由かな。どうやらカウンタの回り具合で訪問者をチェックしてるみたいなので、
回さずに見れる方法はないかなーと思いまして。
>>124
ソースを見たら<img src="counter?fafafa:ffc34c">とありました。
cgiに渡すもんじゃないのか・・・
0127nobodyさん
2005/11/02(水) 15:56:14ID:???これの本質は
GLOBALSを使ってる時は、どこで上書きされるか分からんから気をつけろ!
って所じゃないの?
以前のバージョンでは外からGLOBALSを上書きする方法もあるから、
ここで示されてるPEARの仕組みと組み合わせると、任意の関数を呼ばれる事になる。
ちなみに、外からGLOBALSを上書きできるのは、4.3.10より前か
4.4.1より前、それ以降は既に修正済みのようです。
0128nobodyさん
2005/11/02(水) 16:08:37ID:???とりあえずPHP5.0.4での簡単な例。php.iniでregister_globals = Onにしないと発生しない。
今時、register_globals = Onにしているのもどうかと思うが、レンサバなんかだと気軽にOffにはできないのかな。
[test.html]
<form action="test.php" method="post" enctype="multipart/form-data">
<input type="file" name="GLOBALS">
<input type="submit" value="submit">
</form>
[test.php]
<?php
print_r($GLOBALS);
?>
0129nobodyさん
2005/11/02(水) 16:28:35ID:???インジェクションの仕方が分からん。上書きはできないんじゃないの
0130nobodyさん
2005/11/02(水) 16:38:58ID:???0133nobodyさん
2005/11/02(水) 18:45:29ID:???配列の要素にヒアドキュメントを使うことはできますでしょうか?
$array = array(
'key1' => 'value1',
'key2' => <<<EOV
value2
EOV;
);
としたところ、
PHP Parse error: parse error, unexpected ';', expecting ')'
と怒られてしまいました。
文法的にNGなんすかね…
宜しくお願いします。
0136nobodyさん
2005/11/02(水) 19:44:21ID:???$regex = '[0-9]';
preg_match( '/^($regex)+$/o', $str );
がうまく動いてくれません。
みなさんは正規表現に複数の変数を含めるときどうしてますか?
0137nobodyさん
2005/11/02(水) 19:54:36ID:S6YoA3Rv正規表現に変数なんてつかったことないけど、
「.」で連結してみてもダメ?
preg_match( "/^(".$regex.")+$/o", $str );
0138nobodyさん
2005/11/02(水) 19:58:33ID:???正規表現がどうこうではなくて、PHPでの文字列の扱い(' と " の違い)を
勉強しなおした方がいいのでは?
0139nobodyさん
2005/11/02(水) 20:36:08ID:???シングルクォートで囲むと変数の内容に置き換わらない。
って、なんでいえないのかなあ。
呆れるわ
0140nobodyさん
2005/11/02(水) 20:46:08ID:???バージョンUPすると現行のアプリが動作しない可能性大ですので十分お気をつけて。
実際にはどの部分なのかな?
後気になるのが・・・
実際にアップデートした時に影響がどのくらい影響がでるのかが気になる・・・
対応しなきゃならないんだが・・・$GLOBALS使ってる箇所は全部直せってコトなんか・・・
そこが言及されてなくて今調べてる・・・orz
0141nobodyさん
2005/11/03(木) 01:57:40ID:???×変数→○定数
0142nobodyさん
2005/11/03(木) 02:53:13ID:???ついでに空の変数を、foreachで回そうとするとエラーが出るようになる。
これのせいで4.3.11のパッチあてたの使ってる。
つか今回の問題騒ぎすぎじゃないか。
彼らが思っている程PEARは普及してないし
register_globalsはoffになっているのではないだろうか。
0143nobodyさん
2005/11/03(木) 04:47:39ID:???それらの中には古いPHPが稼動していたり、
スクリプトを書き換える事ができずにregister_globalsがonのままだったり・・・
$GLOBALSはよく使うけど、使わない方がいいのかな?
でも、globalで似たような問題が出てこないとも限らないし、
かと言って関数実行時に必要な変数を全て渡すのもナンセンスな気がするし
0144nobodyさん
2005/11/03(木) 08:23:01ID:???誰か知っている方ご教授お願いします・・・
0145nobodyさん
2005/11/03(木) 09:39:22ID:???パッチはPHP本体のソースコード(C言語で書かれている)に対して当てるものなので、
PHPのソースコード(phpの本家サイトでの表記を使うと「Complete Source Code」)をダウンロードし、
それに対してpatchコマンド(Windowsにもあるのか?)か
パッチファイルの中身を参考にしながら手動で書き換えて、それをコンパイル・リンクすればおk。
んでも、コンパイルする環境は整っているのかい?
参照 ttp://www.php.net/manual/ja/install.windows.building.php
0146nobodyさん
2005/11/03(木) 15:05:23ID:xJeFN8dMclass A {
public static function factory() {
return new <CLASSNAME>();
}
}
class B extends A {
:
}
B::factory()という呼び出し方をした時に<CLASSNAME>と表記した部分がBになるようにする良い方法はありますか?
今のところA::factory("B");のように引数にクラス名の文字列を渡すしか思い浮かびません。
(これだと生成したオブジェクトに対して、if ($obj instanceof A) のようなチェックなど、余分なものが必要です)
B::factory()で何とかならないものでしょうか?
0147nobodyさん
2005/11/03(木) 17:54:47ID:???限りなくバグっぽいけど修正されない
サブクラスにクラス名を返すインターフェイスを強要してもいいけど
ファクトリなんだからきっちりオーバーライドするべきじゃないの
0148nobodyさん
2005/11/03(木) 17:59:24ID:???get_class($this)に相当する別の定数は欲しいなあ
0149nobodyさん
2005/11/03(木) 18:39:09ID:???お前らに頼ってたらいつになっても上達しない。
自分でやるから用はねーよ!!!
0150nobodyさん
2005/11/03(木) 20:25:52ID:???0152nobodyさん
2005/11/03(木) 23:51:31ID:???届いたメールを表示させることは可能ですか?
0154nobodyさん
2005/11/04(金) 01:01:56ID:???危ない。FreeBSDだが、まず一部のrequireが利かなくなったがinclude_pathで全て指定
すると利くようになった。しかし子プロセスがexit signal Bus error (10)で落ちる。
extensionからzlib.soを外すと落ちなくなるが、is_dirが問答無用でfalseを返すようになる
などなど。
ところがWin32版PHP4.4.1では同じアプリケーションが、全く変更しないでも、問題なく
動作してしまう。
0155136
2005/11/04(金) 12:10:20ID:???うわーすっごいボンミス。。。
ダブルクオートしたら動きました。。。
くだらない質問に答えてもらってありがとうございました。
ひとつ疑問なんですが、先に変数を展開してくれるんですね。
/^$regex+$/
/^{$regex}+$/
でも同じ動きしたので。
0156nobodyさん
2005/11/04(金) 12:33:17ID:???""の中の$変数を解釈(展開)するのが渡された関数ではなく、
phpのパーサであることを考えれば当然の動作では?
0157nobodyさん
2005/11/04(金) 12:50:23ID:???と揚げ足をとってみるテスト。
0159nobodyさん
2005/11/04(金) 15:04:55ID:???0160nobodyさん
2005/11/04(金) 16:45:40ID:???0161nobodyさん
2005/11/04(金) 16:51:13ID:???レクサ○ ← ス が入る
0162nobodyさん
2005/11/04(金) 16:54:04ID:???0163nobodyさん
2005/11/04(金) 21:35:57ID:Q83NQbMF0164nobodyさん
2005/11/05(土) 00:08:24ID:w/1ugKYJページ毎のアクセスランキングを設置したいのですが何処かにPHPカウンターの配布とかありますか?
1から勉強しなおさないと出来ませんでしょうか・・・PHP全く知らないです(マニュアル読みましたけどまだ半分位も理解できてないですし
ググってもそれらしいものが見当たりませんでした、鯖の仕様はPHP4のsafemodeらしいです
0165nobodyさん
2005/11/05(土) 00:19:53ID:???0166nobodyさん
2005/11/05(土) 00:22:11ID:???// ̄~`i ゝ `l |
/ / ,______ ,_____ ________ | | ____ TM
| | ___ // ̄ヽヽ // ̄ヽヽ (( ̄)) | | // ̄_>>
\ヽ、 |l | | | | | | | | ``( (. .| | | | ~~
`、二===-' ` ===' ' ` ===' ' // ̄ヽヽ |__ゝ ヽ二=''
ヽヽ___// 日本
______________ __
| | |検索|←をクリック!!
 ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄  ̄ ̄
〇ウェブ全体 ◎日本語のページ
0167164
2005/11/05(土) 00:28:06ID:EXt1uRpt有難う御座います
ググり続けてきます
0169nobodyさん
2005/11/05(土) 01:44:21ID:???ウェブ イメージ グループ ディレクトリ
______________ _____
|トンネル | |Google検索| 検索オプション
 ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄  ̄ ̄ ̄ ̄ ̄ 表示設定
◎ウェブ全体から検索 〇日本語のページを検索
トンネルぐぐってぐぐって〜
0170nobodyさん
2005/11/05(土) 02:49:09ID:???(・∀・)ノ~~~ バイバーイ♪
0171nobodyさん
2005/11/05(土) 06:11:01ID:???0172nobodyさん
2005/11/05(土) 08:48:34ID:???0173nobodyさん
2005/11/05(土) 12:00:25ID:???高 テ|:::::::::::::::::::::::::::::::::::
け .ン |ーノノーヽ⌒ヽ:::
| シ|ノ ノ ノ ノ:::
. じ ョ| ; ;;;;;;;/ヽヽ::
ゃ ン| ;; ;;|::::
ん | :::/⌒ヽ ;;; |:::::
| ;;/ O ヽ;; |::::::
/ υ '''';;;;ー´ |:::::
_ _ノ:: |::::::
::::::V:::::::::::: ヾ |:::::::::
:::::::::::::::: ;;,, ,,, ) i |:: |
:::::::::::::::...... し |::/
_____ .|
|ー――――| /
|_____| /
,,,,,,,,,,,,,,,,,,,,, /
\ /
\____/
0175nobodyさん
2005/11/05(土) 16:21:46ID:???だけ生存期間を短くしたいのですが、
どうすればいいのでしょうか
誰かお願いします
0177nobodyさん
2005/11/05(土) 18:25:59ID:???1.メールアドレスを入力して送信
2.メールにURLが表示
3.URLをクリックするとアカウント登録完了
としたいのですが、URLを
***.php?[メールアドレス][日時][アドレスと日時のハッシュコード]
という風にしてハッシュの整合性をチェックして
アカウント作成、という風にしたら
何か問題があると思いますか?
ハッシュが解読されない限り大丈夫だとは思うんですが、何か心配です
0178nobodyさん
2005/11/05(土) 18:26:47ID:???0179nobodyさん
2005/11/05(土) 18:36:03ID:???0180nobodyさん
2005/11/05(土) 18:48:45ID:???どっちかを見分ける必要がありますよね
鍵付きのハッシュで鍵を長くしても駄目でしょうか
0181nobodyさん
2005/11/05(土) 19:12:30ID:???1.メールアドレスを入力させる
2.ユーザはメールアドレスを入力しPOSTする
3.システムがメールアドレスからハッシュを取得する
4.システムはハッシュ値と日付をどこかに保存する(DBとか)
5.システムが
http://example.com/hoge.php?[ハッシュ]
を含んだメールを入力されたアドレスに送信する。
6.ユーザが上記のアドレスにアクセスする
7.システムは保存されたハッシュを検索する
以下略
0182nobodyさん
2005/11/05(土) 19:29:17ID:???0183nobodyさん
2005/11/05(土) 19:43:57ID:???なるほど。
177さんではありませんが勉強になります。
0184nobodyさん
2005/11/05(土) 22:10:21ID:???GLOBALSに外部ユーザーからの値を受け取らないように組んでればOK
ってことだよね
若干騒ぎすぎな気がする。
0185nobodyさん
2005/11/05(土) 22:20:31ID:???0187nobodyさん
2005/11/05(土) 22:58:28ID:???0188nobodyさん
2005/11/05(土) 23:09:30ID:???0189nobodyさん
2005/11/05(土) 23:17:36ID:???0191nobodyさん
2005/11/05(土) 23:20:54ID:???0194nobodyさん
2005/11/06(日) 02:19:18ID:???サーバ上で呼び出されたのとを
区別する方法ってありませんでしょうか?
0196nobodyさん
2005/11/06(日) 02:44:47ID:???$argv は php.ini の register_argc_argv が On なら CLI じゃなくてもありますよ。(CLI では強制 On)
CLI + Apache モジュールなら php_sapi_name() 関数か PHP_SAPI 定数で判別できますね。
CGI としてインストールされてるなら判定用の環境変数を仕込むのがいいんじゃないかと。
0198nobodyさん
2005/11/06(日) 15:31:18ID:???メール本文はどこで定義していますか?
メール本文に受け付けたクエリを載せるとしたら
やっぱりそのプログラム内部に .= とか ヒアドキュメントとかで
書くしかないのかな?
メール本文だけ外部ファイルにして、
requireしようかと思ったけどなんか違う。
外部ファイルをevalしようかと思ったけどこれもまたなんか違う。
やっぱり本文に書くのみ!?
別変数で定義しておいて、
あとから参照しようとしても上と同じことになるし…
Perl使ってたときは、外部ファイルにして
クエリ載せるところは正規表現で全部置換してたんだけどなぁ
0200nobodyさん
2005/11/06(日) 15:42:46ID:???>クエリ載せるところは正規表現で全部置換してたんだけどなぁ
じゃあそすればいいじゃない。
つうか、別に正規表現使わなくてもできるよね。
0201nobodyさん
2005/11/06(日) 15:43:46ID:???どうしっくり来ないのか判らないんだけど、漏れは外部ファイルに置いて
文字列に取り込んでる。
$message = file_get_contents('mailtemplate.txt');
0202198
2005/11/06(日) 15:51:28ID:???駄文申し訳ない。別に問題ないことなんだけど、
周りはどうしてるのかなーと気になっただけです。
>>200
PHPらしく考えると、正規表現を使うよりは
変数展開の方がいいかなーと勝手に思ってしまったです。
そうなると外部ファイルに持つ方がしんどくなるので…
>>201
メール本文がクエリによって可変でないなら
file_get_contentsがスマートですね。
可変になったらどうしてます??
0204198
2005/11/06(日) 15:54:49ID:???なるほどどうもです。
PHPだと <?=$hoge?> で変数展開できるのに
変数毎に置換することを考えると
ちょっとしっくり来ないんですよね。
(どうでもいいことか…
0205201
2005/11/06(日) 16:11:54ID:???あ〜、なるほど。しっくり来ないのはその辺なんすね。
HTMLファイルなんかもそうだけど、テンプレートはあくまでもテンプレートであって
必ずしもPHPプログラマがいじる物とは限らないので、PHP色は排除してる。
もう少し具体的に書くと、こんな感じ。
これがベストとは思わないけど、ウチではこうやってるよ、ということで。
実際にはサニタイジング、文字コード変換等やっているので、その辺のツッコミはなしよ。
---mailtemplate.txt(テンプレートファイル)---
送信者:#FROM#
タイトル:#TITIE#
ご質問内容:
#MESSAGE#
---php---
$message = file_get_contents('mailtemplate.txt');
$message = str_replace(
array('#FROM#', '#TITLE#', '#MESSAGE#'),
array($_POST['from'], $_POST['title'], $_POST['message']),
$message);
mb_send_mail(SUBJECT, $message, ...);
0206nobodyさん
2005/11/06(日) 16:27:23ID:???なるほど、非常に参考になります。
外部ファイルの置換文字列自体を
<?=?>等のPHP変数にして、
本体からrequireしてしまえば
いいかなとも思ったんですが、
本体見ないと何してるのかわからないんすよね…
ってrequireじゃダメか…
となるとeval…となるとエスケープがめんどい。。
201さんのやり方が一番いいかもしれないすね
0207198
2005/11/06(日) 16:27:53ID:???0208nobodyさん
2005/11/06(日) 17:28:47ID:???require使いたければ
$hoge = "aaa";
$piyo = "bbb";
としておいて
require "orz.php";
----- orz.php
....
{$hoge}さまへのメール
{$piyo}のお知らせ
-------
とかでいいじゃね?
0209208
2005/11/06(日) 17:31:56ID:???---- orz.php
$mail_body = <<<EOF
{$hoge}さまへのメール
{$piyo}のお知らせ
-------
ということね^^;
0210nobodyさん
2005/11/06(日) 19:14:21ID:???0211198
2005/11/06(日) 21:25:54ID:???レスありがとうございます。
<?=?>にこだわっているというよりは、
PHPらしさにこだわっているってことでしょうか(汗
確かにrequireだと、ヒアドキュメントとかになっちゃうんですよね。
(そうなるとあまり外部にする旨みがなくなってしまうかな…)
0212nobodyさん
2005/11/06(日) 21:32:52ID:???ob_*を使って任意の変数に取り込めばいい
phpコードを含められるって利点くらいしかなさそうだけど。
0213198
2005/11/06(日) 21:39:10ID:???レスありがとうございます。
なるほど、ob_* って手もありましたね。
ただここまでくると、PHPコードで展開するか
既定文字列を置換するかどっちかですね。
今までどおりプログラム本体にヒアドキュメントが
一番楽でシンプルかな…
ありがとうございます
0214nobodyさん
2005/11/07(月) 00:19:44ID:VYJqOcB8アトリビュートの値)を抽出するようなライブラリはないでしょうか。
PerlだとTemplate::Extractというのがあるようです。
ttp://naoya.dyndns.org/~naoya/mt/archives/000833.html
XML_HTMLSaxでも実現可能そうですが、Template::Extractのように
ルール定義だけで抽出できるようなのを探しています。
0215nobodyさん
2005/11/07(月) 16:30:23ID:QyO81Mjh0216nobodyさん
2005/11/07(月) 19:07:15ID:???設置したのですが、GDは入っているのにGDを使う部分だけ動作しません。
GDを動かすにはどのようにすればいいでしょうか。ご教授願います。
環境は Vine Linux , Apache1.3 , php 4.4.1 です。
0218nobodyさん
2005/11/07(月) 19:13:03ID:???0220nobodyさん
2005/11/07(月) 19:34:47ID:O90JEyy/と
@fopen
の違いってなんでつか?
0221nobodyさん
2005/11/07(月) 20:12:54ID:???CGIの方ではGDが入っているかを判別して使わないようにしているようです。
どうやらPHPでGDが認識されてないみたいです。
>>219
やってみましたが駄目でした。
GD自体はapt-getを使用してインストールしました。
0223216
2005/11/07(月) 20:34:32ID:???ttp://rep2.net/up/data/630.txt
0224nobodyさん
2005/11/07(月) 20:49:47ID:???gdの文字を探しても見つからないから、
鯖の中にGDライブラリは存在するが、PHPと連携できるようになっていない。って所かと。
vineのrpmってこんなさっぱりしたconfigureなのかなぁ。。。
自力でconfigureするなら、--with-gd(必要なら=DIR)てな感じでgdを使うよーって指定してあげてください。
0226nobodyさん
2005/11/07(月) 21:01:33ID:???GD入ってるの確かならライブラリ入ってるPATHを
ld.so.confに念のため追加して
./configure --with-gd=PATH 追加してmake してみたら?
0227nobodyさん
2005/11/07(月) 21:03:59ID:???インストールできたらphpinfoで↓が出るはず。
gd
---------------------------------------
GD Support enabled
GD Version 2.0 or higher
FreeType Support enabled
FreeType Linkage with freetype
GIF Read Support enabled
GIF Create Support enabled
JPG Support enabled
PNG Support enabled
WBMP Support enabled
Jpeg GIF Freetype などのライブラリも入れるの忘れるなよ。
0228nobodyさん
2005/11/07(月) 21:05:10ID:???0229nobodyさん
2005/11/07(月) 21:13:03ID:???0230nobodyさん
2005/11/07(月) 21:19:54ID:???0231nobodyさん
2005/11/07(月) 22:27:26ID:vt3MtPM6$form->addElement('select ', 'address[]', '東京都中央区');
$form->addElement('select ', 'address[]', '東京都千代田区');
$form->addElement('select ', 'address[]', '東京都新宿区');
$form->addElement('select ', 'address[]', '東京都渋谷区');
と書きたいのですが、当然[]がsmartyの方でエラーになってしまい、使えません。
何かよい方法ありますか?
0233nobodyさん
2005/11/07(月) 22:37:12ID:???0234nobodyさん
2005/11/07(月) 22:37:33ID:vt3MtPM60235nobodyさん
2005/11/07(月) 22:56:57ID:vt3MtPM60236nobodyさん
2005/11/07(月) 23:29:36ID:+B+7rA332: $strXsl = "./test.xsl";
3: $obj=xslt_create();
4: $result=xslt_process($obj,$strXml,$strXsl);
xmlファイルをローカルに置いてやってみるとエラーもなく動くのですが
↑のように他のサーバーにあるXMLを読み込もうとすると
Warning: Sablotron error on line 1: XML parser error 4: not well-formed (invalid token) in /test.php on line 4
というエラーが出てしまいます
解決策がありましたらお願いします
0237216
2005/11/08(火) 00:17:30ID:???色々試してみましたが、どうもうまくいきませんでした。
path指定無しのGD付き指定configureだと状況変わらずだし。
path指定してみたら今度はファイルが足りませんと。むずかしいなあ。
まだやってない方法もあるのでまた試してみます。
レスしてくださった皆様ありがとうございました。
0238nobodyさん
2005/11/08(火) 01:27:12ID:???Linuxよく知らないんだけど/usrに色々入ってると仮定して、こんな感じで。(パスは適宜読み替えてね)
--with-gd --with-jpeg-dir=/usr --with-png-dir=/usr --with-zlib-dir=/usr --with-freetype-dir=/usr/X11R6 --enable-gd-native-ttf
0239nobodyさん
2005/11/08(火) 13:44:53ID:SGMtFQHwで 末尾の{が、
preg_replace("/\{.*\}$/", "", $line);
で { hogehoge;} が消えてくれないんだけど、何か間違ってる?
0240239
2005/11/08(火) 13:46:30ID:SGMtFQHw0241nobodyさん
2005/11/08(火) 13:52:23ID:???俺のとこでは消えたけど。
ダメならこうしたら?
preg_replace("/\\{\$/", "", $line);
preg_replace("/\\{.*\\}\$/", "", $line);
0242239
2005/11/08(火) 14:40:48ID:SGMtFQHw変数に受け取ってませんでした(汗
ありがとうございました。
0244nobodyさん
2005/11/08(火) 14:57:23ID:???テンプレ側
{foreach from=$form.address item=element}
{$element.html}
{/foreach}
024586
2005/11/08(火) 15:30:56ID:???以下のPerlをPHPにしたいのですが、
とりあえず
>>87さんのおかげで(遅レスすみません)
PHPでPOSTメソッドで送信を行うには
HTTP_requestを使えばよいというのがわかったのですが、
cgiプログラムに ファイル 'test.txt'を
渡す部分がPHPでどう書けばよいのかが
分かりません。
よろしくお願いします。
my $argv = shift @ARGV;
my $browser = LWP::UserAgent->new;
my $url = 'http://www.hogehoge.jp/cgi-bin/hogehoge.cgi';
my $response = $browser->post($url ,
[
foo => '2ch' ,
bar => 'orz',
file => [
undef, 'test.txt',
Content_Type => 'text/plain',
Content => $argv]
] ,
Content_Type => 'form-data'
);
die " Error!", $response->status_line unless $response->is_success;
print $response->content;
0246nobodyさん
2005/11/08(火) 15:51:28ID:???ttp://www.1x1.jp/php/manual_pear/html/package.http.http-request.html
読んでからもう一度
0247"php include"で調べましたが、よく分かりません。
2005/11/08(火) 16:09:10ID:KaRV4LV5ssiでインクルードして表示させることは出来るようになりました。
<?php
error_reporting(E_ERROR);
require_once './rss_fetch.inc';//設定ファイル
define('MAGPIE_OUTPUT_ENCODING', 'UTF-8');
$url = 'hogehoge.rdf'; //rssのありか
$rss = fetch_rss($url);
$title = $rss->channel['title'];
echo "<h2><a href=\"$url\">$title</a></h2>\n";
foreach ($rss->items as $item ) {
echo "<dl>\n";
$title = htmlspecialchars($item['title']);
$description = htmlspecialchars($item['description']);
$url = htmlspecialchars($item['link']);
$time = $item[dc][date];
$time = Rtrim("$time","\+09:00");
$time = StrTr("$time","T-"," /");
echo "<dt><a href=\"$url\">$title</a></dt>\n";
echo "<dd> ($time)</dd>\n";
echo "</dl>\n\n";
}
?>
これをphpで実行させ、表示するとなるとどうすればよいのでしょうか。
つまり、ssiの<!-- #include virtual="./xxx.php" -->に相当する手法を知りたいです。
<? php include=('xxx.php')?>ではうまくいきません。どなたかご教示ください。御願いします。
0248nobodyさん
2005/11/08(火) 16:33:26ID:???つ【マニュアル】
0249nobodyさん
2005/11/08(火) 16:55:03ID:???HTTP_Request
void addPostData(string name, string value [, bool preencoded])
PEAR_Error addFile(string name, string file_path [, string content-type])
addFileが呼ばれると自動的にmultipart/form-data形式になる
0251247
2005/11/08(火) 17:49:51ID:KaRV4LV5あ、すみません。
.htaccessの設定がおかしいみたいです。
他のディレクトリでは普通にphpのincludeで出来ました。
お騒がせしました...orz
(でもおかしい設定は無いと思うのだけれど・・・
phpinfoさえも出来ないディレクトリってなんでだろう・・・)
0252247
2005/11/08(火) 17:52:50ID:KaRV4LV5無理なんじゃ・・・同一ディレクトリだったら問題ないし。
ああ・・・
0254247
2005/11/08(火) 18:08:09ID:KaRV4LV5ありがと。
おそらくそれかも。
すれ違いなのでこのあたりで・・・
0255247
2005/11/08(火) 18:13:54ID:KaRV4LV5その通りでした。
正常に動作しました。
お騒がせしてスミマセンでした。
0256216
2005/11/08(火) 22:01:33ID:???結局GDをうまく認識できませんでした。
そこで、最初のRPMによるインストールを見直すことにしました。
php pear を最初に入れて次にphp apache1 を入れるように二段階に手順を別けて
インストールしたところ、きちんとGDを認識してくれました。
自分のやり方が間違ってたようで、ご迷惑おかけしました。
0257nobodyさん
2005/11/09(水) 00:59:47ID:???ファイルを指定してきました。その結果ブラウザに表示させたいファイル、
ここでは例としてjpgファイルとします、が得られたとします。
/usr/local/public_html/pic/sample.jpg
この形式のままimgタグに当てはめてもブラウザには表示されません。
ブラウザに表示できるようなパスの形式に変換する方法、あるいは
関数はありますか?
0258nobodyさん
2005/11/09(水) 01:06:41ID:???/usr/local/public_html/を削ればいいじゃん
方法くらいPHPのマニュアル見ればわかるだろ。
しかし/usr/local/public_html ってのは普通はあり得ない設定だよな。
0259nobodyさん
2005/11/09(水) 01:07:25ID:???HTML上では
<img src="image.php">
のような形でPHPファイルを参照させておいて、image.phpでそのJPEGファイルを取得して表示させる。
sample.jpgだけでなく、色々なファイルを表示させたい場合は
表示したいファイル名を
image.php?file=hoge.jpg
のようにimage.phpの引数に渡してあげて画像ファイルを取得する。
0260257
2005/11/09(水) 01:17:04ID:???> /usr/local/public_html/がホームディレクトリなら
> /usr/local/public_html/を削ればいいじゃん
はい、まず初めに考えたのがその方法なんですが、環境が違うとき、
たとえばレンタル鯖にアップする前、自宅鯖で表示確認を行いたいときなど
/usr/local/public_html/
の部分が一般的には違うので、その環境に依存する違いをどう吸収させようか
という点で詰まってしまいまして。その鯖のホームディレクトリをはき出して
くれる関数があれば実現できるんでしょうが・・・
> しかし/usr/local/public_html ってのは普通はあり得ない設定だよな。
これは単なる仮定です^^;)
>>259
> <img src="image.php">
> のような形でPHPファイルを参照させておいて、image.phpでそのJPEGファイルを取得して表示させる。
なるほど、ImageCreateのような描画関数はサーバーの絶対パスを引数とする点を活用
しようというわけですね。そっちのほうから攻めると意外と解決は簡単かもしれませんね。
0261257
2005/11/09(水) 01:56:55ID:???> くれる関数があれば実現できるんでしょうが・・・
自己レスですが、ルートにPHPファイルを置いて、その中で
__FILE__なりで絶対パスを吐かせればサーバー毎の環境の
違いを吸収できそうですね。
0262nobodyさん
2005/11/09(水) 02:14:51ID:???というかそんな面倒なことで鯖互換とか考えるくらいなら
相対で書けばいいじゃないか
アプローチが間違ってない?
0263nobodyさん
2005/11/09(水) 02:27:31ID:???>/usr/local/public_html/
>の部分が一般的には違うので
環境に依存する部分だけ設定ファイルに記述して
必ずそれをincludeしたら?
0264nobodyさん
2005/11/09(水) 02:32:23ID:???define("MY_APP_HOME","/usr/local/public_html/"); として、
MY_APP_HOME . 'pic/sample.jpg' のように使うとか。
0265nobodyさん
2005/11/09(水) 02:58:37ID:???echo "<img src=\"".htmlpath(getcwd())."/hoge.jpg">;
function htmlpath($relative_path) {
$realpath=realpath($relative_path);
$htmlpath=str_replace($_SERVER['DOCUMENT_ROOT'],'',$realpath);
return $htmlpath;
}
0266nobodyさん
2005/11/09(水) 03:16:36ID:???hoge.jpgがphpと同じ場所かそれ以下にあればそれでいいけど、そうじゃない場合は困るね
ていうかそこまで手間かけるなら>>262だと思う
0267265
2005/11/09(水) 03:17:02ID:???htmlpath(getcwd()) getcwd()は不要だた。"./"でおk
それと
>/usr/local/public_html/
>の部分が一般的には違うので、その環境に依存する違いをどう吸収させようか
が気になったので一言
ブラウザからはDocumentRoot以上は見えないのでブラウザにとって / が一番上=DocumentRoot
ブラウザの/pic/hoge.jpg = サーバの/usr/local/public_html/pic/hoge.jpgだから
DocumentRoot以下を同じ構成にしておけば問題ない。
0268265
2005/11/09(水) 03:20:06ID:???/usr/local/public_html/が本番、テスト機で違うからということと
画像はサーバの絶対パスがわかってるから問題ないんじゃね?
0269nobodyさん
2005/11/09(水) 03:27:14ID:???つか俺この質問どこかで見たことあるぞ?
0270nobodyさん
2005/11/09(水) 03:29:57ID:???つか画像をphpで処理するわけでもないのに絶対パス指定する意味が全然分らん
>>257が激しく勘違いしてるとしか思えない
0271nobodyさん
2005/11/09(水) 03:44:14ID:???DocumentRoot以下の構造は同じってことだろ
なんでこんな面倒くさい話になってるの?
0272265
2005/11/09(水) 04:18:19ID:???<丶`∀´><asahi-netとキムチは寄生虫ニダ
0273257
2005/11/09(水) 14:16:28ID:???> 相対で書けばいいじゃないか
> アプローチが間違ってない?
PHPのスクリプトとjpegファイルの場所が全く違うものでして
その違いを吸収させるために楽な絶対パスを使ってきました。
でも最終的にブラウザに表示するには相対パスでやりくり
したほうが楽そうですね。
相対パスで記述できないか見直してみます。
0274nobodyさん
2005/11/09(水) 14:32:37ID:???例えば
http://hoge1.com/img/image.jpg も
http://hoge2.com/img/image.jpg も
各鯖内のhtmlで<img src="/img/image.jpg">と記述すれば表示できる。
DocumentRoot以下を絶対パスで表記してるからね。
ローカルの絶対パスなんて使う余地すらないんだけど、
phpの中で加工でもしてるの?
0275257
2005/11/09(水) 15:02:34ID:???> ローカルの絶対パスなんて使う余地すらないんだけど、
> phpの中で加工でもしてるの?
はい、PHPの中でいじってるからです。
各ファイルのパスを取得する変数が返してくる値が大概
絶対パスなものでして・・・
0277nobodyさん
2005/11/09(水) 16:31:10ID:5u1IiLDsしょっちゅうコードを間違えてエラーばっかりでハァハァしてるんですが、
そんな私に何かアドバイスください お願いします。
0278257
2005/11/09(水) 16:36:09ID:???/usr/local/public_html/nikki1/index.php 本文
/usr/local/public_html/nikki1/pic/sample1.jpg 写真
/usr/local/public_html/script/image.php 写真を装飾して表示させるプログラム
こんな感じです。本文から写真のリンクをクリックすると写真に各種装飾を施して
表示させます。そのプログラムがimage.phpなんですがそいつに写真を渡すに際し
../image.php?file=/nikki1/pic/sample1.jpg
のようにドキュメントルートから記述して渡せば何の問題もありません。
ただここでは
/nikki1/pic/
という比較的階層数の少ない例にしましたが、もっと込み入って複雑かつ長ったらしい
名前の階層になったり、表示させる写真が一枚ではなく大量の写真を掲載するとき
などドキュメントルートから指定するのは大変煩わしいです。それに何らかの事情で
nikki1
の名前を変えたりしたら写真のリンクは全て書き直さなければならなくなりますよね。
そこでindex.phpと写真(sample1.jpg)の相対パスは変わらない点に注目してindex.phpでは
../script/image.php?file=./pic/sample1.jpg
のように相対パスのまま写真を指定できないものか、というのが出発点です。
0279nobodyさん
2005/11/09(水) 16:52:22ID:???単純に
$path = "/nikki1/pic/";
と記述して、ファイル名の前に$pathを書けばいいだけでは?
0280nobodyさん
2005/11/09(水) 16:56:27ID:???だとしたらおまい>>257の質問自体がおかしいぞ。
アレだと「phpで生成したhtmlで、タグにローカルの絶対パス指定しても
表示されないのだがどうすれば」としか読めない。
画像そのものをphp通したもの表示するなら根本的に話が変わってくる。
で、それなら<img src="../script/image.php?file=./pic/sample1.jpg">にしておいて
<?php define('PATH_DOCROOT','/usr/local/public_html(←ここは鯖依存)'); ?>
とか書いたphpを最初にincludeして使えよ。他は共有できる。
0281257
2005/11/09(水) 17:17:36ID:???そうですね・・・、その場合ですと
image.php?file=<?php echo $path ?>sample1.jpg
とかなるわけですね。
>>280
> /usr/local/public_html(←ここは鯖依存)
この部分は($_SERVER['DOCUMENT_ROOT'])を使えばうまく鯖依存を消せるかもしれませんね。
0282nobodyさん
2005/11/09(水) 17:31:18ID:???普通は
image.php?file=sample1.jpg
みたいにファイル名だけ送るけどね
ファイルへのパスは共通の設定ファイルに書いてそれぞれのスクリプトでincludeするとか
0283nobodyさん
2005/11/09(水) 17:40:29ID:???配布しようとしてるなら最初から見直した方がいいよ?
0284nobodyさん
2005/11/09(水) 18:19:59ID:???入門書のサンプルプログラムにあったのですが
<form action="hogehoge"> でhogehogeは.cgiや.phpなどになるのは分かります。
その本では<form action="<?=$_SERVER["PHP_SELF"]?>" 〜 >になってました
"<?="と"?>"の部分は何故必要なのでしょうか?
それと別のサンプルではhogehogeのところが"<?=$_SERVER["PHP_SELF"]?key=hoge>"というのもありました。
確かにそれでは変数で"$key"を使っているのですがこの記述もどう理解すればいいのか分かりません。
"?"は何かのタグやコマンドなどの簡略形なのかもしれないとは思うのですが…。
どなたかお教えくださいませm(_ _)m
0286>>284
2005/11/09(水) 18:27:40ID:???<?= hogehoge ?>
は <?php echo hogehoge ?>の略
$_SERVER["PHP_SELF"] は自PHPスクリプトのURLを格納している変数
これでわからないならもう一度はじめから入門書読みな
0287nobodyさん
2005/11/09(水) 18:28:00ID:???だって手を使うと頭がよくなるっていうもの
0288nobodyさん
2005/11/09(水) 18:31:35ID:???<?=
<?
0289nobodyさん
2005/11/09(水) 20:16:19ID:???<?php
以外はshort_open_tagなんかの設定環境によって使えない場合があることも言っとけ。
0290nobodyさん
2005/11/09(水) 20:17:46ID:???0291284
2005/11/09(水) 21:09:20ID:???大変ありがとうございますm(_ _)m
やっぱりBASICでPRINTを"?"と略したりするのと同じようなものだったのですね。
ぶっちゃけ使っている入門書はソフトバンクの"PHPによるWEBスーパーアプリケーション"なんですが
いきなりこの書式を使っている部分がありましたので面食らいました。
ところで"<?=$_SERVER["PHP_SELF"]?key=hoge>"は"<?=$_SERVER["PHP_SELF"];key=hoge;?>"と書くべきだと思うのですが
この部分はどうなっているのでしょうか…
0292nobodyさん
2005/11/09(水) 21:42:37ID:???それがやろうとしているのは、
「$_SERVER["PHP_SELF"] と 文字列"?key=hoge" を連結したものを出力」 でそ?
文字列部分は、URI表記でいう所のquery。 $_GETで取り出すやつ。
0293nobodyさん
2005/11/09(水) 22:13:05ID:???本を読んでるのに,その本のことをここで聞かないといけないなんて・・・
その本は燃やしてしまったほうがいいかもしれないね.
コードの実行環境はないの?
いろいろ試しながらのほうがいいかと.PHPのマニュアルも参照しつつ.
0294nobodyさん
2005/11/09(水) 22:42:36ID:Rf4f8pCBリファラーを記録するスクリプトを作ろうと思ってGoogleで検索したのですがどうしても
解決しませんでした。
ユーザが、404.phpにアクセスした時のリファラーを「referer.dat」に
記録したいのです。
知ってる方いましたらお願いします。
途中で挫折:(http://www.geocities.jp/nullpo_de_ga/source.txt )
0295294
2005/11/09(水) 23:44:37ID:Rf4f8pCB0296nobodyさん
2005/11/09(水) 23:59:37ID:???0297nobodyさん
2005/11/10(木) 00:53:20ID:???0298nobodyさん
2005/11/10(木) 08:12:19ID:Vd5L+S6Aフォームで同じ名前を指定してsubmitした後に配列にいれてます。
-------
<input type="checkbox" name="hoge[]" value="hogehoge1">
<input type="checkbox" name="hoge[]" value="hogehoge2">
<input type="checkbox" name="hoge[]" value="hogehoge3">
:
-------
for($i=0;$i<count($_POST['hoge']);$i++){
$temphoge =$_POST['hoge'][$i];
・・・処理
}
-------
としてたんですけど、チェックボックスをJavaScriptで全部チェックしようと
思った場合、
<input type="button" name="allchk" onclick="document.form1.hoge[1].checked=true;" value="全てにチェック"><br>
<input type="button" name="allchk" onclick="document.form1.hoge[].checked=true;" value="全てにチェック"><br>
<input type="button" name="allchk" onclick="document.form1.hoge.checked=true;" value="全てにチェック"><br>
といずれにしてもエラーになってしまいます。
PHPで、POSTで受け取ったものを配列に入れる方法って他にありませんか?
また、両方の処理を実現させるいい方法があれば教えていただけませんでしょうか?
0300nobodyさん
2005/11/10(木) 09:19:39ID:???でアクセスできる
0301教えてください
2005/11/10(木) 09:49:12ID:GWhi70M+やればいいのでしょうか?
HTMLではフレームを使えば取得できるのですが・・・。
PHPではどのように書けば取得できるか教えてください。
初心者ですいません。検索してもうまくヒットできませんでした
0303301
2005/11/10(木) 09:56:34ID:GWhi70M+>>302さんそうです! それで取得したいんですが
HTMLの表示させる部分にはどのようなタグを記述すればいいんでしょうか?
0305301
2005/11/10(木) 10:01:44ID:GWhi70M+index.html(これがメインのHPだとします)
kousin.html(こちらが更新履歴を出力するHPです)
このkousin.htmlをindex.htmlに表示させたいんです。
kousin.htmlを更新すればindex.htmlに反映がされるので
phpでこれをどうやればできるのかを教えて頂きたいです。
0309301
2005/11/10(木) 10:06:27ID:GWhi70M+ありがとうございます。そちらの方を勉強させてもらいます。
アドバイスくれてありがとうございます!
>>307
嫌です;;かっこわるいのでw
>>306
悪い人ですね。。。
0311301
2005/11/10(木) 10:09:16ID:GWhi70M+ssiですね!
こんな簡単な方法があったんですね。
0312301
2005/11/10(木) 10:11:13ID:GWhi70M+自分はMMOのサイト作成で使おうと思ってます。
MMOの公式サイトの更新やお知らせを自分のHPで表示できるようにも
しようと考えてました。(自分のサイトの更新履歴もです)
0314301
2005/11/10(木) 10:31:13ID:GWhi70M+でもssiで取得する方法などを教えてくれてありがとうございました。
興味がわいたので勉強してきます。
0315nobodyさん
2005/11/10(木) 10:47:22ID:???0316nobodyさん
2005/11/10(木) 11:21:50ID:???他人のコンテンツを自分のコンテンツと混同させるような
表示方法になると思うんだが・・・
0317301
2005/11/10(木) 11:34:56ID:GWhi70M+0319nobodyさん
2005/11/10(木) 12:44:07ID:???セーフモードで外部ファイルのインクルードってできないのでしょうか?
セーフモードがインクルード関連のメソッドの使用を禁止してるのは解りますが
何か解決策はないものでしょうか・・・外部ファイル指定できないのは痛杉。
ためしに <? include( "echo.php" ); ?> としてみた結果は以下の通りです。
Warning: main(): open_basedir restriction in effect. File(/php/bin/echo.php) is not within the allowed path(s): (.:/virtual:/tmp:/usr/local/lib/php) in /virtual/hogehoge/public_html/index.php on line 2
Warning: main(/php/bin/echo.php): failed to open stream: Operation not permitted in /virtual/hogehoge/public_html/index.php on line 2
Warning: main(): Failed opening '/php/bin/echo.php' for inclusion (include_path='.:/usr/local/lib/php') in /virtual/hogehoge/public_html/index.php on line 2
phpinfo() で解るセーフモード関連の値は以下の通りです。
Configure Command --enable-safe-mode'
safe_mode On
safe_mode_exec_dir /usr/local/php/bin
safe_mode_gid Off
safe_mode_include_dir /usr/local/lib/php
safe_mode_allowed_env_vars PHP_
safe_mode_protected_env_vars LD_LIBRARY_PATH
PHP_PREFIX /usr/local
LD_LIBRARY_PATH :/usr/local/mysql/lib/mysql:/usr/local/pgsql/lib
0320301
2005/11/10(木) 13:07:13ID:???できませんでした。。。
だからどっかに移動しないとだめです。
ドメインと有料プランなのに
PHPのincludeで自サイトのURLを指定して取り込みされることは非常に負荷が掛かりますので、極力おやめください。
場合よっては制限させていただくことがございます。
http://72.14.203.104/custom?q=cache:Ju5uWRscdtkJ:sb.xrea.com/showthread.php%3Ft%3D10180+include&hl=ja&ie=UTF-8&inlang=ja
ここに書いてましたよ
0321nobodyさん
2005/11/10(木) 13:15:52ID:???を見ると、なんも分かってないよな。コイツ。
結局、成りすましサイト作ろうとしてるようにしか見えない。
<?php
echo file_get_contents("http://〜");
?>
<!-- 以下 自サイトのHTML -->
0322301
2005/11/10(木) 13:23:43ID:???神!ありがとん!
0324nobodyさん
2005/11/10(木) 13:38:46ID:???既に、>>301において自分で解法を書いているのに何をウダウダ…
>HTMLではフレームを使えば取得できるのですが・・・。
PHPでフレーム下記だしゃいいじゃん。
ページ内にってんならiframe。
いずれにしてもHTMLのタグでこと足りるだそ。
0327nobodyさん
2005/11/10(木) 15:49:15ID:???え?成りすましがばれないようにやりたいの?
たとえサイトに溶け込ませるような表示をするにしても、引用元のバナーかリンクくらい貼っときなよ。
他人のものを自分のものであるかのように使うのはイクナイ
ちなみに方針としては、file_get_contentsとかで取得したものを正規表現で必要な部分だけ抜き出してechoで表示、ってのがおそらくチミのやりたいことにマッチする希ガス。
あとは、一度取得した情報はなるべくキャッシュしておいてHEADメソッドで更新チェック+再取得するかどうか分けたりする等の効率を図るとか(そのほうが相手側のサーバの負担もちょっと減る)。
まあ徐々にスキルアップしていってくれ。
0328301
2005/11/10(木) 15:51:57ID:GWhi70M+0329301 ◆F4BkeOen4w
2005/11/10(木) 15:53:05ID:GWhi70M+人として最低ですよ。罰があたるでしょう。
0330nobodyさん
2005/11/10(木) 16:16:21ID:???つかおまいXREAスレとマルチだろ
0331nobodyさん
2005/11/10(木) 16:49:18ID:???0332nobodyさん
2005/11/10(木) 18:56:59ID:???0333nobodyさん
2005/11/10(木) 20:09:24ID:???俺xreaだけど普通にできるよ?
つかエラーメッセージ見ると全然違うところのecho.phpを開けようとしてるっぽいんだけど。
<? include( "./echo.php" ); ?> でもダメ?
0334320
2005/11/10(木) 23:21:19ID:???あ、構成が違ってました。
public_html
├ index.php
└ php
└ echo.php
こんな感じで、index.php から echo.php をincludeする時、
include("/php/echo.php");
としてもエラーになってしまいます。
今XREAで話題の
ttp://itpro.nikkeibp.co.jp/article/NEWS/20051102/223939/
ttp://pc8.2ch.net/test/read.cgi/hosting/1130539792/
この騒動が原因であると信じたい…
XREA有料申し込んで1ヶ月しかたってないけど(しかも1年契約)
解約して制限ユルユルのロリポにいこうかな
0335nobodyさん
2005/11/10(木) 23:31:32ID:???0336nobodyさん
2005/11/11(金) 00:03:08ID:???<a href="test.php?files=ソ連">リンク</a>
test.php側でURL経由でわたされた$filesを表示させると
print_r($_GET['files']);
結果は >> ソ\連
と、カタカナのソの字の後に\マークが入ってしまいます。
いろいろ試した結果、引き渡す文字数や内容には関係なく、
カタカナのソがあればその後に無条件で\マークが付与
されてしまうようです。
受け取り側のtest.phpで\マークを除去するようプログラムを
組めば回避は出来ますが、どこか腑に落ちません。なぜ渡した
文字のうち”ソ”の字だけ\マークがついてしまうのでしょうか?
※もしかしたらソの字以外にも\マークが付く文字があるのかも
しれませんが試していないので何とも言えません。
0340nobodyさん
2005/11/11(金) 00:27:58ID:???まず、URLに使って良い文字と使っちゃいけない文字がある。
どういう文字が使えるかは、「RFC3986」でググって調べてみそ。
で、そういう文字はrawurlencode()を使って、使って良い文字に変換するようにする。(URLエンコード)
次に、shift-jisで「ソ」という文字は2byte目に 0x5c (= \) が含まれる。
他にも、「表、十」あたりもそう。
0x5cは特殊な意味を持つので、GET・POST・COOKIEにそれが含まれる場合に
自動的にエスケープする仕組みがPHPに組み込まれている。
エスケープされた結果、特殊な意味を持つ\では無く、\という文字そのものを表すようになる。
" "の中で \ を使う時に、 "\"" てな感じにするのを思い出してもらえば分かり易いかと。
これは、マニュアルの php.iniのmagic_quotes_gpc あたりを参照。
0341336
2005/11/11(金) 00:42:14ID:???php.iniのmagic_quotes_gpcをoffに変更することでソの字も問題なく
表示できるようになりました。助かりました、ありがとうございます。
0342nobodyさん
2005/11/11(金) 01:29:15ID:???0345nobodyさん
2005/11/11(金) 03:54:37ID:???0346nobodyさん
2005/11/11(金) 05:46:54ID:???0347nobodyさん
2005/11/11(金) 09:39:02ID:???> >>336
> " "の中で \ を使う時に、 "\"" てな感じにするのを思い出してもらえば分かり易いかと。
この部分なんか変じゃない?
0348341
2005/11/11(金) 13:49:18ID:???0352340,350
2005/11/11(金) 15:42:16ID:???布団をパタパタされたので急いでいた。
エスケープならなんでも良かった。
今は"\\"の方が良かったと後悔している。
0353nobodyさん
2005/11/12(土) 18:23:07ID:???しているんだけどOperaだと問題なくセッションを共有できるのにFireFoxだと
うまく共有できない(セッションIDが変わっている)
両方のphpファイルではちゃんと先頭で
session_start();
しているしなにがいけないんだろう?
OperaとFireFoxでプログラムの組み方変えなきゃならないの?
0354353
2005/11/12(土) 19:29:46ID:???PHPの設定パラメータ「session.use_trans_sid」が0に指定されていると想定し、
/* index.php */
session_start();
print "session_id = " . session_id();
<a href="session.php?<?=SID?>">リンクA</a>
<a href="no_session.php">リンクB</a>
/* index.php */
/* session.php */
session_start();
print "session_id = " . session_id();
/* session.php */
/* no_session.php */
session_start();
print "session_id = " . session_id();
/* no_session.php */
上記の3つのファイルを用意する。
index.phpにて「リンクA」をクリックすると表示されるセッションIDは同じである。(当然)
そのあとブラウザの戻るボタンを押しindex.phpに戻ってきてから次に「リンクB」を
クリックする。するとなぜかURLでセッションを引き渡してないにもかかわらず同じ
セッションIDが表示されるのである。
次に順番を変える。indexphpにて先に「リンクB」をクリックして(当然セッションIDは違う)、
それから「戻る」ボタンをおして戻ってきて、次に「リンクA」をクリックするとなぜかindex.php
で表示されたセッションIDと違うのである。URLでセッションを引き渡しているにもかかわらず。
0355nobodyさん
2005/11/12(土) 19:30:37ID:???0356353
2005/11/12(土) 19:31:59ID:???そこで問題なんだが先に「リンクB」を押してしまったとしても、
ブラウザの戻るボタンを押してindex.phpに戻ってきてから「リンクA」をクリックしたとき、
セッションIDがindex.phpのそれと等しくするよう(セッションが引き継がれるよう)にする
方法は無いだろうか?
0357nobodyさん
2005/11/12(土) 19:39:21ID:???問題はデータが渡せているかいないかだべ。
0358353
2005/11/12(土) 19:44:43ID:???0360nobodyさん
2005/11/12(土) 20:45:50ID:???>するとなぜかURLでセッションを引き渡してないにもかかわらず同じ
>セッションIDが表示されるのである。
実はクッキーで渡してたりして
0361nobodyさん
2005/11/12(土) 22:43:06ID:???0362353
2005/11/13(日) 01:08:33ID:???クッキーがオンのときでもURLでセッションを引き渡していなければ
引き渡されないようにする方法って無いんだっけ?
index.phpが表示されるたびにsession_idをrenewできればいいのかな?
>>361
レンタル鯖('A`)・・・
0363nobodyさん
2005/11/13(日) 02:31:35ID:???foreach ($str as $ch) {
switch ($ch) {
case ...
}
}
のように、文字列を一文字ずつ処理したいのですが、どういうふうにしたら良いですか?
上記のように書くとInvalid argument supplied for foreach()と言われてしまいます。
0364363
2005/11/13(日) 02:33:28ID:AK9WWUo70365nobodyさん
2005/11/13(日) 02:39:31ID:???アルファベットだけでいいのなら、$str[] で個々にアクセスできるから、for文を使うとか。
マルチバイトならmb_substr()をクルクル回す。
0366nobodyさん
2005/11/13(日) 03:01:28ID:???もしforeachが使いたいなら、str_split(PHP5)やpreg_splitなどで配列にしてしまう手もあるね。
マルチバイトの場合mb_splitでは一文字ずつに区切れないので365のようにmb_substr使うのが最善かな。
0367363
2005/11/13(日) 03:06:15ID:AK9WWUo7どうもありがとうございます!
foreachに直接文字列は使えないんですね。
参考になりました。
0368nobodyさん
2005/11/13(日) 03:12:09ID:???ちなみにPHPでは文字列の部分文字に角カッコ[]でアクセスするのは非推奨らしい。
中カッコ{}を使うべし。$str{$i}みたいに。
C系やJavaなんかに慣れてると[]でアクセスできた方が気持ちいいけどね。
Zend的には文字列と配列は混同すべきでない、って立場らしい。
363のようなforeachに対する混同をなくすためっていう意味あいもあるのかな。
個人的にはforeachで文字列も回せたほうが気持ちいいんだが。
(需要の有無は別として)
0369363
2005/11/13(日) 03:31:27ID:AK9WWUo7参考になります。
すみません、もう一つ質問なんですが、PHPでクロージャのようなものは実現できませんか?
0370nobodyさん
2005/11/13(日) 03:52:48ID:???関数を無名で定義したいという意味ならPHPでは無理。
ただ、可変関数を使えば関数へのアクセスを変数に格納したり引数で渡したり別の関数の返り値にするなどの模倣はできる。
$f = "strlen";
echo $f($f); // 6を表示
このとき関数名を文字列で持ちまわす必要があるので、匿名の関数という考えがPHPにはない。
0371nobodyさん
2005/11/13(日) 03:59:57ID:???嘘イクナイ。
http://jp.php.net/manual/ja/function.create-function.php
まあ、使いづらいというか書きづらいものではありますが。
0373nobodyさん
2005/11/13(日) 04:28:06ID:???evalに近い保守性の低下を招きそうなところが難点だね。
利点は関数の名前を自分で考えなくていいってことくらい?
0374363
2005/11/13(日) 04:49:35ID:AK9WWUo7ありがとうございます。本当に勉強になります。
まだまだ自分の勉強不足を思い知らされました。
色々と奥が深そうですね。どうもありがとうございました!
0375nobodyさん
2005/11/13(日) 05:37:38ID:rUB5/Vi+0376nobodyさん
2005/11/13(日) 05:44:07ID:???{
$a1["data"] = 大きなデータ1
$a2["data"] = 大きなデータ2
$a1["ref"] =& $a2;
$a2["ref"] =& $a1;
unset($a1);
unset($a2);
}
shori(); // 1回目
shori(); // 2回目
このようなコードで1回目の処理が終わったところで占有されていたメモリは解放されます?
解放されないとしたらどう対処すべき?
$a["ref"]は実際には別の関数で隠蔽してたりして、解放時にアクセスするのは避けたい場合もあるのでunset($a["ref"])ができるとは限らない状況なんです。
0377nobodyさん
2005/11/13(日) 07:32:49ID:???2chを見ているとPHPはプログラミング初心者向けのような印象です。
PHPのプロフェッショナルの方々から見るとどのような見解ですか?(得られるものはどれくらいありますか?)
一応C++とJavaScriptとVBの経験がありますけど、PHPの用語など自分にはかなり高度に見えるのですが。
できれば中高生向けの解説HPや本など教えてもらえると思います。
PHP以外にもサーバサイドインタフェースが取り扱いできる言語があったらいいのですが。
0378nobodyさん
2005/11/13(日) 08:14:36ID:???PHP5でイテレータ使ってみた。微妙w
class StringIterator implements Iterator {
private $chars, $pos, $len;
public function __construct($utf8_str) {
$this->chars = preg_split('/(.)/su', $utf8_str, -1, PREG_SPLIT_DELIM_CAPTURE | PREG_SPLIT_NO_EMPTY);
$this->len = count($this->chars);
$this->pos = 0;
}
public function __toString() { return implode('', $this->chars); }
public function current() { return $this->chars[$this->pos]; }
public function key() { return $this->pos; }
public function next() { $this->pos++; }
public function rewind() { $this->pos = 0; }
public function valid() { return $this->pos < $this->len; }
}
$str = new StringIterator('【PHP】質問スレッドpart30【php】');
echo $str, "\n"; // echo $str->__toString() . "\n";
foreach ($str as $char) {
echo $char, "\n";
}
0379nobodyさん
2005/11/13(日) 09:03:04ID:???なるほど。発想的にけっこう面白いんじゃないかな。
JavaでいうStringTokenizer、STLでいうstringstreamに通じるものがあるね。
洗練させればforeachでちょっとした字句解析なんてのもできそう。
foreach ($str as $token) ...
ってな感じで。
0381nobodyさん
2005/11/13(日) 09:10:53ID:???0382nobodyさん
2005/11/13(日) 09:13:29ID:???0383nobodyさん
2005/11/13(日) 09:18:44ID:lJ8slral//設定
$yourname = $_POST['name'];
$file=fopen("name.dat","r");
while($row=fgets($file,1024)){
if(eregi('($yourname)[a-z0-9./_\-]+',$row,$data)){
print($data[0]."<br />");
}
}
fclose($file);
?>
ユーザがフォームに文字例入力して[送信]ボタンを押すと
上のプログラムが[name.dat]中から既出を検索してくれるプログラムを作りました。
これで正規表現の検索が出来ると思ったのですが、なぜかprintしてくれません。
どこか悪いところでもあるのでしょうか?
お願いします。
0384nobodyさん
2005/11/13(日) 09:48:26ID:???整数だけど。
>>383
まずはパターンの部分をシングルクォートではなくダブルクォートに。
$rowには改行も含まれているので、たぶんtrimか何かで削除すべきでは?
あとはそのname.datの一行に含まれるデータがどういう形式かわからないと何とも言えない。
[a-z0-9./_\-]+ってのがすごく奇妙なんだが。
0385nobodyさん
2005/11/13(日) 09:51:42ID:???なぜくだ質スレで回答をもらっているのにここに来る?
FAQにすら載らない基本中の基本を分かっていないのなら、
マニュアルの「言語リフアレンス」の項目を音読することをお奨めする。
0386nobodyさん
2005/11/13(日) 10:06:17ID:???0387nobodyさん
2005/11/13(日) 10:10:45ID:???0388nobodyさん
2005/11/13(日) 10:13:26ID:???くだ質ではスレ違いで、こちらのスレが妥当と判断した理由が判らない。
内容からするとくだ質の方が適していると思うが。
それと、元のままだと$yournameの内容が展開されないよ、って教えて貰っているのに
そのまま同じ質問をするのも理解不能。
0389nobodyさん
2005/11/13(日) 10:13:30ID:???逆なら分かるが、向こうからこっちにくるのは許せない。
だめ。
0390nobodyさん
2005/11/13(日) 10:15:43ID:???終了
0392nobodyさん
2005/11/13(日) 10:23:17ID:???まあ答えてもらった手前、礼の一つくらいしてから移動するべきだったってのはあるかもね。
つーか384で答えた手前、何か立場が微妙なボクチン。
0393nobodyさん
2005/11/13(日) 10:29:46ID:lJ8slralスレ違いかなぁ・・・と思ってここ来ました。
マルチのつもりではなかったのですが…
アドバイス参考に頑張ってみます。
ありがとうございました。
0395nobodyさん
2005/11/13(日) 10:35:09ID:???【基本ルール】
・煽り・荒らしは放置。荒らしに反応した香具師も荒(ry
(>>1より一部引用)
0396nobodyさん
2005/11/13(日) 10:56:11ID:AK9WWUo7http://www.php.net/manual/ja/functions.variable-functions.php
こちらに可変メソッドの例があるのですが、「あるオブジェクトのあるメソッド」を変数に格納しておく方法はないでしょうか?
つまり、$foo->Variableというメソッドの"Variable"という情報だけではなく、$fooも一緒に変数に代入することはできませんか?
0397nobodyさん
2005/11/13(日) 10:58:14ID:???ただの変数だろ
0398nobodyさん
2005/11/13(日) 11:02:50ID:???思うのですが、こういう時はwhileで書くべきなのでしょうか?
foreach($ml as $list){
time() = 123456 && $ml[] = time();
echo $list;
}
0400395
2005/11/13(日) 11:09:26ID:???わりわり。おまいさんのことじゃないよ。
>>397
Variableってのがメソッド名なのでは?
>>398
foreachが回す配列は$mlの一時コピー。
むしろどういう動作を期待しているのかがようわからん。
0403nobodyさん
2005/11/13(日) 16:38:26ID:nIgwwwAkphp.iniの設定が上手くいきません。
環境は
windowsXp
php5.0.5
mysqlserver5
php.iniはC\windowsフォルダ
に入れています。
php5ts.dllもsystem32に入れています。
php.iniファイルの extension系の";"
は参考書通りにはずしています。
0405nobodyさん
2005/11/13(日) 16:58:56ID:???>そもそもphpinfo()で表示されるphp.iniはあってるのかね。
>>extension=php_mysql.dllが有効にならず。
>>mysql サポートが enabledになりません。
>どうやって確認したんだか。
>mysql4.1以降はphp_mysqli.dllですがな。
とりあえずム板でもらったレスにも反応してやってくれ
0406nobodyさん
2005/11/13(日) 17:33:00ID:???0407nobodyさん
2005/11/13(日) 17:36:08ID:???0408nobodyさん
2005/11/13(日) 17:37:22ID:???<?
// EX) value
$startcolor='012345';
$endcolor='0000FF';
$str='あいうえおかきくけこ';
// 文字列→配列
$str = stripslashes($str);
$strcount = mb_strlen($str,"SJIS");
for($i=0;$i<$strcount;$i++) $strarray[] = mb_substr($str,$i,1,"SJIS");
/********** 色をRGBにで10進数に変換 *********/
//開始色
$startcolor = mb_convert_kana($startcolor,"a","SJIS");
$startcolorarray = preg_split('//', $startcolor, -1, PREG_SPLIT_NO_EMPTY);
$startcolorR16 = $startcolorarray[0].$startcolorarray[1];
$startcolorG16 = $startcolorarray[2].$startcolorarray[3];
$startcolorB16 = $startcolorarray[4].$startcolorarray[5];
$startcolorR10 = hexdec($startcolorR16);
$startcolorG10 = hexdec($startcolorG16);
$startcolorB10 = hexdec($startcolorB16);
//終了色
$endcolor = mb_convert_kana($endcolor,"a","SJIS");
$endcolorarray = preg_split('//', $endcolor, -1, PREG_SPLIT_NO_EMPTY);
$endcolorR16 = $endcolorarray[0].$endcolorarray[1];
$endcolorG16 = $endcolorarray[2].$endcolorarray[3];
$endcolorB16 = $endcolorarray[4].$endcolorarray[5];
$endcolorR10 = hexdec($endcolorR16);
$endcolorG10 = hexdec($endcolorG16);
$endcolorB10 = hexdec($endcolorB16);
0409つづき
2005/11/13(日) 17:37:52ID:???$Rwidth = @round( ( $startcolorR10 - $endcolorR10) / $strcount,0);
$Gwidth = @round( ( $startcolorG10 - $endcolorG10) / $strcount,0);
$Bwidth = @round( ( $startcolorB10 - $endcolorB10) / $strcount,0);
/************* 結果作成 *************/
for($i=0;$i<$strcount;$i++){
$Rcolor = $startcolorR10 - ( $Rwidth * $i);
$Gcolor = $startcolorG10 - ( $Gwidth * $i);
$Bcolor = $startcolorB10 - ( $Bwidth * $i);
$Rcolor16 = @dechex( $Rcolor);
$Gcolor16 = @dechex( $Gcolor);
$Bcolor16 = @dechex( $Bcolor);
if(strlen($Rcolor16)==1) $Rcolor16 = "0".$Rcolor16;
if(strlen($Gcolor16)==1) $Gcolor16 = "0".$Gcolor16;
if(strlen($Bcolor16)==1) $Bcolor16 = "0".$Bcolor16;
$result.="<font color='#{$Rcolor16}{$Gcolor16}{$Bcolor16}'>{$strarray[$i]}</font>";
}
?>
0410nobodyさん
2005/11/13(日) 17:40:15ID:???0411nobodyさん
2005/11/13(日) 17:45:34ID:???0413nobodyさん
2005/11/13(日) 18:54:29ID:???突っ込みどころだらけで何とも言い難い…
最低でも
・バグ
・無意味に1文字ずつ切り取り(ヒント:substr)
・同じ処理はarray_map()や自作関数
の改善はやってくれ。
0416nobodyさん
2005/11/13(日) 19:32:23ID:???サンクス!
最後の$result簡単に作るために
substr()無意味ではないと思うんだけど、、
違うやり方が見つからん。
0417nobodyさん
2005/11/13(日) 19:37:59ID:???0418nobodyさん
2005/11/13(日) 20:34:30ID:???R,G,B を配列にするだけでも随分と見やすくなると思うのだけど。
〜略〜
/********** 色をRGBにで10進数に変換 *********/
$startcolor = mb_convert_kana($startcolor,"a","SJIS"); //必要?
$endcolor = mb_convert_kana($endcolor,"a","SJIS"); //必要?
$startcolor10 = array(/* R, G, B*/);
$width = array(/* R, G, B*/);
for ($i = 0; $i < 3; $i++) {
//開始色
$color16 = substr($startcolor, $i * 2, 2);
$startcolor10[$i] = hexdec($color16);
//終了色
$color16 = substr($endcolor, $i * 2, 2);
$endcolor10 = hexdec($color16);
//減色幅
$width[$i] = @round( ( $startcolor10[$i] - $endcolor10 ) / $strcount,0);
}
/************* 結果作成 *************/
$result = '';
for($i=0;$i<$strcount;$i++){
$color16 = array(/* R, G, B*/);
for ($x = 0; $x < 3; $x++) {
$color10 = $startcolor10[$x] - ( $width[$x] * $i);
$color16[$x] = @dechex($color10);
//$color10が -1 の時、FFFFFFFF になってしまうので下記の方がいいと思われ
//if(strlen($color16[$x])==1) $color16[$x] = "0".$color16[$x];
$color16[$x] = substr("0{$color16[$x]}", -2);
}
$result.="<font color='#{$color16[0]}{$color16[1]}{$color16[2]}'>{$strarray[$i]}</font>";
}
0421nobodyさん
2005/11/13(日) 21:41:53ID:???0422nobodyさん
2005/11/14(月) 00:51:37ID:???ビットシフトのこと?
まあPHPで書くのに色情報を24ビット(or 32ビット)に押し込まなきゃならん理由がないからな。
とくにRGBをそれぞれ独立にオーバーフローなども考慮した計算したい場合、シフトと逆シフトが余計なステップ踏むことになる。
よほどメモリの食い方に問題がある場合以外はあえてビットシフトしないじゃない?
0423nobodyさん
2005/11/14(月) 01:02:02ID:???0424nobodyさん
2005/11/14(月) 01:10:21ID:???0426nobodyさん
2005/11/14(月) 01:57:55ID:???まだ使い方わかってないけど希望が見えてきました。
includeも頑張ります。
ありがとうございました。
0428nobodyさん
2005/11/14(月) 08:33:12ID:???0430nobodyさん
2005/11/14(月) 08:49:53ID:???0431nobodyさん
2005/11/14(月) 08:58:58ID:???人間様に分かりやすい10進数が最凶伝説
0432nobodyさん
2005/11/14(月) 09:00:43ID:???0433nobodyさん
2005/11/14(月) 09:06:27ID:???0434nobodyさん
2005/11/14(月) 09:12:53ID:3QndTAPn今のところ、ユーザー名とパスワードが送信された場合にデータベースを検索し、正しいユーザー名とパスワードだった場合に
$_COOKIE['login'] = md5($username . time());
のような形にしているのですが、ユーザーがログインの状態を保ったまま別のページにアクセスした場合に、そのユーザーが元々どのユーザーだったのかを判別する方法がわかりません。
$_COOKIE['login'] = $username . time();
のようにそのままクッキーに書き込むと、何らかの方法でクッキーをのぞき見することが出来てしまった場合に情報の漏洩が起こってしまいます。
ユーザー情報を復元するにはどうしたら良いですか?
0435434
2005/11/14(月) 09:14:25ID:3QndTAPnLinux Apache1.3.33 PHP5.0.5です。
それと、自宅のWindowsXP PHP5.0.5だと、クッキーの情報が読めないことがあります。
原因がわかる方、いらっしゃいましたらご教授お願いします。
0436nobodyさん
2005/11/14(月) 09:17:31ID:???クッキーからユーザ情報などを復元できる
ていうようなのを勝手にやってくれるのがPHPのセッションだと思うんですけど
0437nobodyさん
2005/11/14(月) 09:24:12ID:???0438nobodyさん
2005/11/14(月) 09:54:52ID:???0439434
2005/11/14(月) 10:27:02ID:???返答ありがとうございます。
なるほど。そこそこ手間をかけないといけないのですね。
セッションに関してはセキュリティ上問題ないのでしょうか?
ログイン認証を行うにはURLに直接埋め込む方法とクッキーを用いる方法の大きく2通りがありクッキーを用いる方法がより安全である、ということを(どこで見かけたのか忘れてしまったのですが・・・)聞いたことがあります。
(うろ覚えなので間違ってたら申し訳ございません)
0441nobodyさん
2005/11/14(月) 10:34:11ID:???>クッキーを用いる方法がより安全である
そりゃその2つだけを単純に比較した場合の話。
自分でも書いてるが、認証の実装方法のほうが影響は大きい
セキュアな認証を実現する手段はググれば結構見つかるのでは?
0443434
2005/11/14(月) 11:03:03ID:???なるほど、定番みたいな方法はないのですね。
実際、WebメールなんかのログインではURLに情報を埋め込んでいるようですし、何がよくて何がまずいのかの理解に苦戦してます。
もう少しググってみようと思います。
>>442
すみません。SIDを「丸投げ」というのはいったい・・・。
ググってみたところ、SIDというのはユーザーを識別するための番号のことだと思うのですが。
間違っていましたらご指摘お願いします。
あと、クッキーの情報がうまく読めないのですが理由はわかりますでしょうか?
0444nobodyさん
2005/11/14(月) 11:08:29ID:???うまく読めない……では分からない。
具体的に、どうクッキーに書き込んで、
それを読み出そうとすると、どうなってしまうのか、
具体的に書かないと。
0445434
2005/11/14(月) 11:25:27ID:???ご指摘ありがとうございます。
大まかにですが、以下のようなコードを使っています。
// login.php
if ($_SERVER['REQUEST_METHOD'] == 'POST')
{
// ユーザー名とパスワードをデータベースにて照合
$_COOKIE['login'] = md5($username . time());
header("Location: home.php");
}
これで、ロケーション先のhome.phpで$_COOKIE['login']の値を取得することができません。
(おそらく空白が入っています)
何か原因は思い当たりますでしょうか?
0446445
2005/11/14(月) 11:28:47ID:???上記の$usernameはデータベースにて照合する際に$_POST['username']から値を代入してあります。
0448nobodyさん
2005/11/14(月) 11:37:35ID:JySqj704for($lp=0;$lp<=100;$lp+1)
{
echo"$lp \r\n";
}
?>
↑の様に書くと、「0」を無限に書き出すのですが。何か間違ってますか?
ど素人ですいません。
0449nobodyさん
2005/11/14(月) 11:39:30ID:???for($lp=0;$lp<=100;$lp++)
もしくは
for($lp=0;$lp<=100;$lp=$lp+1)
では?
0450nobodyさん
2005/11/14(月) 11:40:41ID:JySqj704ホントすいません。
これはマジ自己嫌悪ですわ。
0451nobodyさん
2005/11/14(月) 11:41:32ID:JySqj704ありがとう御座いました。
俺、あほ過ぎ・・・
0452nobodyさん
2005/11/14(月) 11:41:37ID:???0453446
2005/11/14(月) 11:51:35ID:???まさにその通りです。
setcookieと$_COOKIEの使い分けは十分注意していたはずだったのですが、迂闊でした・・・。
どうもありがとうございます。助かりました。
0454nobodyさん
2005/11/14(月) 12:06:29ID:???ここのサイトみたいに、http://www.answers.com/keyword
のような形でパラメータをファイル名のようにつけてアクセスするようなサイトにするにはどういう風にしたらよいですか?
0455nobodyさん
2005/11/14(月) 12:18:02ID:???php.netでもできるな
http://www.php.net/phpinfo
それはともかく、phpinfo()の出力を眺めれば分かるかも
0456nobodyさん
2005/11/14(月) 12:21:34ID:???function search(& $all, & $key, $left = 0, $right = count($all))
{
if ($left == $right) return false;
$middle = floor(($left + $right) / 2);
list($number, $value) = explode("\t", $all[$middle]);
if ($value == $key) return $number;
else if ($value > $key) return search($all, $key, $left, $middle);
else return search($all, $key, $middle, $right);
}
データファイルを検索する関数なのですが、
PHP Parse error: syntax error, unexpected '(', expecting ')' in c:\php\search.php on line 2
と言われてしまいます。
どのように変更すればできますか?
0460nobodyさん
2005/11/14(月) 12:27:59ID:???つか、$_COOKIEでも$_POSTでも、うまく取得できなかったら、
それぞれの配列がどうなっているかチェックする。
print_r($_COOKIE)
とか
var_dump($_COOKIE)
とかさ。
0462nobodyさん
2005/11/14(月) 12:29:19ID:???HTTPの応答をフックしてみたほうが速いぞ
0464456
2005/11/14(月) 12:36:39ID:???0465下質レベルだ・・・
2005/11/14(月) 12:53:01ID:???そんなもんアルゴリズムで解消しろよ
function search(& $all, & $key, $left = 0, $right = FALSE)
{
if ($right === FALSE) $right=count($all);
0466nobodyさん
2005/11/14(月) 12:57:05ID:???1 読まない
2 調べない
3 試さない
4 理解力が足りない
5 人を利用することしか頭にない ←>>456
0467nobodyさん
2005/11/14(月) 13:00:39ID:???解答してる奴もいっしょに死んで来いよ
0468nobodyさん
2005/11/14(月) 13:03:48ID:???世界じゃ3秒に一人死んでるんだよ!
0471nobodyさん
2005/11/14(月) 13:36:12ID:???それがボトルネックになっているのではと睨んで、とりあえず値渡しの場合と実行速度を比較してみたんだが、なんと一部を値渡しにしたほうが圧倒的に速くなった(比にして数百〜数千倍)。
釈然としないながらも値渡しのほうに修正しておいたが、一般論に反するので原因究明のためにopcodeを出してみた。
あいにくopcodeの仕様を定義している資料が見つからなかったために、結局悶々としている状態。
どなたかopcodeの仕様に関する資料はお持ちではないですか?
0472453
2005/11/14(月) 13:54:18ID:3QndTAPnさらなる情報、どうもありがとうございます。
便利な関数があるのですね。とても参考になりました。
0473nobodyさん
2005/11/14(月) 14:05:14ID:???foo($param);
↓爆速
function foo($param) {
$var = $param;
}
↓爆遅
function foo(&$param) {
$var = $param
}
PHPはメソッド内で変更がなきゃデフォで参照渡し
上の場合は参照→参照
下のは参照→値コピー
逆に
↓爆遅
function foo($param) {
$param .= 'hoge'
}
↓爆速
function foo(&$param) {
$param .= 'hoge';
}
0475471
2005/11/14(月) 14:24:39ID:???御見それしました。
ここまで予想外にして明快な回答が返ってくるとは驚きました。
opcodeの情報探しをしていた時間がまるで夢のよう。
どうもありがとうございました。
0476nobodyさん
2005/11/14(月) 14:45:47ID:???ちまちました細かいつっこみ入れると
>PHPはメソッド内で変更がなきゃデフォで参照渡し
に勝手になるわけではなく、「値渡しだけど実質上参照渡しと変わらない」というだけだったりもする。
0478nobodyさん
2005/11/14(月) 14:47:46ID:???0479nobodyさん
2005/11/14(月) 14:52:06ID:???確かに情報公開されてないな。
0480nobodyさん
2005/11/14(月) 15:48:26ID:???つ[ZE2のソース]
公開されてないってより、まとまったドキュメントになってない。
zendのとこで質問すると、別に隠蔽してる訳でもないので
普通に回答あるけど、ZEのソース読んでることが前提だから敷居はそれなりに。
まあ内部のことを余り気にするのも良し悪しだけどね。
(Javaなのに気にしないとならないケータイPGなので...)
0481nobodyさん
2005/11/14(月) 16:16:49ID:???拡張モジュールの書き方なんかはマニュアルに載ってるけど、ZEのソース読んでるの前提ってまさか
こ れ を 全 部 読 め と ?
0482nobodyさん
2005/11/14(月) 16:23:50ID:???ま だ は や い ってことじゃね?
0483nobodyさん
2005/11/14(月) 16:36:05ID:???0484nobodyさん
2005/11/14(月) 16:43:30ID:???0485nobodyさん
2005/11/14(月) 16:49:46ID:D+CBz70Z0486nobodyさん
2005/11/14(月) 16:51:16ID:???難しくて読めないんじゃなくて、汚くて読めないの。
おまいはまずLispの処理系くらい作れるようになってから来ようね。
>>484
APCで憤死者って?
0489nobodyさん
2005/11/14(月) 17:57:48ID:???APC3が安定するまでにずいぶんと時間がかかったことかな?
eAcceleratorも一から書き直してるってサイトに書いてあるけど、完遂できるかちと心配。
PHP6ではOpcode Cacheが本体につく予定なんだよね?
0490nobodyさん
2005/11/15(火) 00:53:24ID:EuotBK4Kブラウザに以下の説明が出ます。
Unable to connect to PostgreSQL
server: unknown host name: localhost
port=8040
dbname=testdb2
user=testuser2
OSはfedoraCore4 php5 apache2を使用しています。
ポストグレ側の設定がおかしいのでしょうか?
わかる方、お願いします。
0492nobodyさん
2005/11/15(火) 01:19:20ID:???0494490
2005/11/15(火) 01:24:09ID:EuotBK4Kいま、確認してみます。
0495490
2005/11/15(火) 01:27:26ID:EuotBK4Kわかる方いませんか?
0496nobodyさん
2005/11/15(火) 01:29:13ID:???少し落ち着け。それだけじゃ何も分らん。
まず何をしようとしてその表示が出るのか、
急になったのか最初からなのか。
俺らはお前の鯖見れないんだからよ。
0498nobodyさん
2005/11/15(火) 01:31:57ID:???熱心だね
0499nobodyさん
2005/11/15(火) 01:33:09ID:???0500490
2005/11/15(火) 01:35:16ID:EuotBK4K<?php
if(ereg("config.php",$_SERVER["PHP_SELF"]))
{
exit();
}
define("DB_HOST","localhost");
define("DB_PORT",8040);
define("DB_NAME","testdb2");
define("DB_USER","testuser2");
define("DB_PASS","abcd1234");
define("DB_CONN","host=" .DB_HOST
."port=" .DB_PORT
."dbname=" .DB_NAME
."user=" .DB_USER
."password=" .DB_PASS);
?>
0501490
2005/11/15(火) 01:36:10ID:EuotBK4K3-4-1.phpの中身が、
<?php
require("config.php");
$db=pg_connect(DB_CONN);
header("Content-Type:text/plain;Charset=EUC-JP");
if($db==FALSE)
{
echo " not connect db?n " ;
}
else
{
echo "database connect ok?n" ;
}
?>
です。
何か間違っていますか?
0502nobodyさん
2005/11/15(火) 01:37:56ID:???いや、お前な、マジで少し落ち着け。
そのconfig.phpって何のスクリプトに内包されてる奴よ?
自作じゃないだろ?
で、「急になったのか最初からなのか」はどうなのよ?
最初からならpsqlが動いてるかどうか確認しろ。
0503nobodyさん
2005/11/15(火) 01:39:40ID:???0504nobodyさん
2005/11/15(火) 01:41:23ID:???0505490
2005/11/15(火) 01:43:26ID:EuotBK4K/user/local/apache2/bin/apachectl start
pg_ctl -o "-i"
で動作中です。しかし>>490掲載 エラーです。
localhostの意味がよくわかりません。
書籍を参考に勉強中です。
0506nobodyさん
2005/11/15(火) 01:46:38ID:???ポートがデフォルトじゃないけどいいの?
>>define("DB_HOST","localhost");
>>define("DB_PORT",8040);
0507490
2005/11/15(火) 01:47:45ID:EuotBK4Kに問題があるのでしょうか?
設定がよくわかりません。
ポストグレの設定に問題あるのか、
PHPの設定に問題があるのか。。。
0509490
2005/11/15(火) 01:49:09ID:EuotBK4Kとは、なんでしょうか?
どう設定すればいいのでしょうか?
よくわからないもので..
0510nobodyさん
2005/11/15(火) 01:50:00ID:???>>507
おまえさ、急ぐ必要なさそうだからちょっとじっくり勉強しなおせ
0511490
2005/11/15(火) 01:50:02ID:EuotBK4Kはい。作成済みです。
0512nobodyさん
2005/11/15(火) 01:52:55ID:???0513490
2005/11/15(火) 01:55:34ID:EuotBK4K/user/local/apache2
にインストールしています。
はい。同じサーバです。
0514nobodyさん
2005/11/15(火) 02:03:52ID:???は動く?
0515490
2005/11/15(火) 02:05:05ID:EuotBK4K0516490
2005/11/15(火) 02:06:10ID:EuotBK4Kも大丈夫なんですが、pgsqlはエラーで、ダメみたいです。。。
0517nobodyさん
2005/11/15(火) 02:07:32ID:???0518490
2005/11/15(火) 02:09:41ID:EuotBK4Kいろいろありがとうございました。
ちょっと自分で本屋に行って勉強してみます。
ほんとに感謝します^^
では。
0519nobodyさん
2005/11/15(火) 02:15:58ID:???0520nobodyさん
2005/11/15(火) 02:16:01ID:???portを5432
にしてどうかな?
0521nobodyさん
2005/11/15(火) 02:23:55ID:???合ってんだろうなぁ。試しに、
psql --help
としてヘルプを出してみたときに、-p オプション説明のところに
defaultが書いてあると思うが、どうなってる?
いっそうの事、port=8040を渡さずに接続してみるのも手か?
0522nobodyさん
2005/11/15(火) 02:31:57ID:???わざわざポートを変えるかって気もするけど。
pg使ったこと無いんだけど、portが開いてなくても
unknownになるですかね?
0523521
2005/11/15(火) 02:55:51ID:???そなだ。
> server: unknown host name: localhost
ポートどころか、それ以前の問題っぽいな。
でも、localhostがunkownって...
0524nobodyさん
2005/11/15(火) 03:39:25ID:2PUyzd2zDBの内容が
フィールド 1,2、3、4
レコードの内容 1=(A,B)
2=(C,D)
3=(E,F)
4=(G,H)
だとすると、今の知識ではHTMLに書き出すとき、
A,B
C,D
E,F
G, H
と表示できるのですが、
C,B
E,D
G,F
と情報を斜めに表示するにはどうすればいいのでしょう?
0525nobodyさん
2005/11/15(火) 03:47:34ID:???>>テンプレは読みましたが、質問の仕方がわからない程の初心者です。
日本語を勉強することをおすすめします。
フィールドとかレコードとか理解してる?
テーブルをExcelみたいな表形式で表現してみなよ
0526nobodyさん
2005/11/15(火) 04:03:26ID:???どっち?
1 2 3 4 (←フィールド1からフィールド4)
1 A C E G (←レコード1)
2 B D F H (←レコード2)
1 2 (←フィールド1とフィールド2)
1 A B (←レコード1)
2 C D (←レコード2)
3 E F (←レコード3)
4 G H (←レコード4)
0527524
2005/11/15(火) 04:10:48ID:2PUyzd2z>>テンプレは読みましたが、質問の仕方がわからない程の初心者です。
テンプレは理解できても、PHPは理解できてないから上手く表現できないかもしれない。って言いたかったです><
>>526
後者です
0528nobodyさん
2005/11/15(火) 04:14:25ID:???レスありがとうございます。
フィールド→0843
レコード1→BAKA
レコード2→AHO
となっています。
0529nobodyさん
2005/11/15(火) 04:38:47ID:???phpが理解っていうよりプログラム言語一般の理解不足って感じがするけど
フィールドの2つ目はなんか入ってる必須&エラーとか考えずだけど
$result = mysql_query("select f1,f2 from table order by ?");
$f2 = "";
while ($row = mysql_fetch_array($result)) {
if ($f2 == "") $f2 = $row["f2"];
else {
echo $row["f1"].",".$f2."<br>\n";
$f2 = $row["f2"];
}
}
でどう?
0530524
2005/11/15(火) 05:35:05ID:2PUyzd2z0531nobodyさん
2005/11/15(火) 05:36:04ID:???0532nobodyさん
2005/11/15(火) 06:53:34ID:???ひさびさに ワロスww
期待の大型新人ですね。
いいなあ、みんな。また、あえるかなw
0534nobodyさん
2005/11/15(火) 11:33:49ID:0AfHumhWこういう記述ってまずいんでしょうか。
自分も普通に使ってるときがあるんですが
どのような記述がよいのでしょうか。
0536nobodyさん
2005/11/15(火) 11:44:30ID:???もうちっとマトモな理由だと思ってROMしてるんですが…
0537nobodyさん
2005/11/15(火) 11:47:05ID:???$hoge = 0;
や
$hoge = "";
の時の動作をどうするかですね
$hoge == FALSE
だと$hoge が0や""でも該当するので好きではない
普通は
$hoge === FALSE
を使う
0538nobodyさん
2005/11/15(火) 11:50:07ID:???ロリポップを借りているのですが、データベースをいじるときに
phpmyadminではなく、直接クエリを発行するにはどうすればいいですか?
コマンドプロンプトでできますか?
0541nobodyさん
2005/11/15(火) 11:57:59ID:???コマンドプロンプトって書いてるからwin版だと仮定して
c:\mysql\bin\mysql
いじょう
0542nobodyさん
2005/11/15(火) 12:00:11ID:???ほーーー
そんな記述方法があったとは勉強になりました。
でも503の言う吐き気のコードが直前のソースの、
$db=pg_connect(DB_CONN);
…
if($db==FALSE)
{
…
}
だとしたら、pg_connect()の返り値はFALSEかresouce型だから、0とか空文字とか
って可能性は無いしとりあえずは問題無いんじゃないのでしょうかと聞いてみる
0545nobodyさん
2005/11/15(火) 12:12:09ID:???なぁ、マジメに聞くんだが、オマイはその質問がPHPと関係あると思ったから
このスレに書き込んでるんだよな?
どういう判断で、関係あると思ったのか教えてくれまいか。
0547nobodyさん
2005/11/15(火) 12:14:19ID:???つか、PHPとMySQLで住所録みたいなのを作っていて、
どうしてこういう質問なのだろう、ってとこだよな。
「作っていて」じゃなくて「作ろうとして」なんだとは思うが。
0548nobodyさん
2005/11/15(火) 12:18:48ID:???最近、くだスレの方がまともな質問が多い気がするのは気のせい?
0550nobodyさん
2005/11/15(火) 17:43:42ID:BTJCOqzCMySQL 4.1.14
PHP 5.0.4 を使ってます。
<?PHP
$conn = mysql_connect("localhost", "usr","pass");
mysql_select_db("kisop", $conn);
$res = mysql_query("SHOW TABLES",$conn);
if($res == TRUE){ print("データ獲得に成功しました。");
}else{ print("失敗"); }
?>
とやっても、ページが真っ白になるだけでMySQLに接続できません。
usrはきちんと作られており、また、PHPもSQL接続以外は問題なく動いています。
また、ODBCからの接続は問題なかったりします・・・
何が悪いのか、心当たりある方、ご教授ください。
0552nobodyさん
2005/11/15(火) 17:51:35ID:???エラー無視ってるわけじゃないだろうな
0553nobodyさん
2005/11/15(火) 18:02:11ID:???真っ白なページが表示されるのは、PHPレベルでのエラーが発生していると思われるので
MySQLがどうこうは関係ないはず。
php.iniかスクリプトで設定して、エラーをブラウザに表示させるところから始めよう。
スクリプトで設定する場合は、先頭に以下を記述。
ini_set('display_errors', true);
error_reporting(E_ALL);
それ以降の話だけど、$res を == TRUE で判定するのは危ないと思われ。
$res === FALSE(=== 3つであることに注意)の方が安全。
0554nobodyさん
2005/11/15(火) 18:04:15ID:???0555nobodyさん
2005/11/15(火) 18:15:27ID:???ありがとうございました。
エラーを表示させたところ、
$conn = mysql_connect("localhost","usr");
の行にエラーがあるとのこと・・・
となると、やはりホスト名やユーザ名が怪しい・・・?
/etc/sysconfig/network の HOSTNAMEではなく、localhost固定ですよね?
どちらも実験しましたが、やはりダメでした・・・
0558550
2005/11/15(火) 18:19:46ID:???すみませんすみません。
Fatal error: Call to undefined function mysql_connect() in /var/www/html/simple_connect.php on line 8
というエラーでした。
0559nobodyさん
2005/11/15(火) 18:20:43ID:???0560nobodyさん
2005/11/15(火) 18:23:17ID:???0561nobodyさん
2005/11/15(火) 18:24:02ID:???くだスレのレベル >>> 本スレのレベル
になったんだ。
0562nobodyさん
2005/11/15(火) 18:28:02ID:???0563nobodyさん
2005/11/15(火) 18:28:32ID:???0564nobodyさん
2005/11/15(火) 18:28:49ID:???http://jp2.php.net/mysql
0565nobodyさん
2005/11/15(火) 18:33:39ID:???FC4使ってるけど最初から入ってた希ガス
0566550
2005/11/15(火) 18:41:12ID:???MySQLはきちんと入れてますが、いまだに原因がわかりません。涙
mysql> select user,host,password from mysql.user;
+------+-----------+------------------+
| user | host | password |
+------+-----------+------------------+
| root | localhost | xxxxxxxxxxxxxxxxx |
| usr | 192.% | xxxxxxxxxxxxxxxxx
| usr | localhost | |
+------+-----------+------------------+
きちんとユーザつくられているのに・・・涙
0567nobodyさん
2005/11/15(火) 18:43:32ID:???あのな、>>558のエラーはphpにmysqlの拡張モジュール組み込まれてないせいなの
phpinfoで確認した後、>>564読んで出直しておいで
0568nobodyさん
2005/11/15(火) 18:44:41ID:???0569nobodyさん
2005/11/15(火) 18:47:41ID:???なんか釣りのような気もしてきたが…
[PHP] <---> [PHPのMySQLモジュール] <---> [MySQL]
オマイさんのシステムには、[PHPのMySQLモジュール] がインストールされていない、
またはインストールされているが、使用するように設定されていない。
今時の Linux の状況は漏れは知らんが、>>564 氏の書かれた yum とかで
インストールできるんぢゃマイカ。
0570nobodyさん
2005/11/15(火) 18:48:01ID:???ありがとうございました。
拡張モジュールが不足していたんですね。汗
お騒がせ致しましたm(_ _)mペコリ
0571nobodyさん
2005/11/15(火) 18:48:30ID:???0572nobodyさん
2005/11/15(火) 18:53:43ID:???0574nobodyさん
2005/11/15(火) 19:02:07ID:???Fatal error: Call to undefined function mb_convert_encoding() in . . .
0576nobodyさん
2005/11/15(火) 19:21:38ID:???0577nobodyさん
2005/11/15(火) 19:23:23ID:???PHPにはもっと寛大な心を持って欲しい。
0578nobodyさん
2005/11/15(火) 19:51:01ID:???つーかデバッグはエラー出してやれよ
思わぬ落とし穴にはまるぞ
0579nobodyさん
2005/11/15(火) 20:02:35ID:???0580nobodyさん
2005/11/15(火) 20:15:05ID:PU11Oeiggrepで調べてみると、その関数名を持つ関数がやたらと
たくさんあります。
その場合のcall_user_funcで呼び出される優先度ってどういう
決まりがあるのでしょうか?
0581nobodyさん
2005/11/15(火) 20:20:51ID:???関数を2回定義したらFATAL ERROR。(オーバーロードもできない)。
grepでひっかかったのって呼び出しじゃないの?
0582nobodyさん
2005/11/15(火) 20:23:23ID:???class A { function hoge() {} }
class B { function hoge() {} }
class C { function hoge() {} }
ってオチかと
0583nobodyさん
2005/11/15(火) 20:24:56ID:???else { function hoge() {} }
もありうるな(あんまないかw)
0584580
2005/11/15(火) 20:28:05ID:???早速のレスどうもです。
別ファイル[ファイルX]に記述されてるのを呼び出してるんですけど見てたら
そのファイル[呼び出し元B]自体がrequire_onceで、
他のファイル[呼び出し元A]に呼ばれてるます('A`)
[呼び出し元A]の中ではrequire_onceで10個ぐらいよびだしてるので
その中のいずれかで、call_user_funcで呼び出してるファイルを
さらに呼び出してるぽいかも。
こういう階層にするのってPHPで一般的なのかな?
grepでひっかかったのは
function 呼び出し関数名(){
ってなってるのでたぶん間違ってないと思います。
本来なら、関数名だけで判断できるように同じ関数名は避けるべきっすよね?
もうちょっと調べてみますー。おかげで考えがまとまりました。
ありがとうございましたー。<m(_)m>
0585580
2005/11/15(火) 20:29:45ID:PU11Oeigおお、書いてる間にさらにレスが!ありがとうございます。
classは使ってないぽいです。
if文の中で関数定義なんてできるんすね。
phpって結構なんでもありだなぁ・・・。
0586nobodyさん
2005/11/15(火) 20:34:45ID:???require_once()は、スクリプトの実行時に同じファイ ルが複数回読み込まれ、評価される可能性がある場合に、
関数の再定義や 変数値の再代入といった問題を回避するために一回だけ読み込ませるため に使用します。
(マニュアルより)
も覚えとくといいかも
0587nobodyさん
2005/11/15(火) 20:34:48ID:???0588550
2005/11/15(火) 20:49:22ID:???rpm -ihv http://download.fedora.redhat.com/pub/fedora/linux/core/updates/4/i386/php-mysql-5.0.4-10.5.i386.rpm
本当に有難う御座います。
0590580
2005/11/15(火) 20:59:15ID:???同じ名前にして処理をかえるような仕掛けでした。
人のソースはやっぱ仕掛けがわかりにくいです('A`)
どうも、お騒がせしますた。
>>587
初心者の質問なんてそんなもんじゃ?
0592490
2005/11/15(火) 21:21:35ID:bjEKtblWpsql --help の一部です。
Connection options:
-h HOSTNAME specify database server host (default: local socket)
-p PORT specify database server port (default: 5432)
-U NAME specify database user name (default: xxxx)
-W prompt for password (should happen automatically)
上記に合わせて、config.phpを変更しました。が、ダメでした。。。
configの書き方と設定の仕方がわるいのでしょうか?
PHPですか、postgreSQLの設定ですか?
どうしたらいいですか?急いでいます!わかる方,お願いします。
0593名無し募集中。。。
2005/11/15(火) 21:26:58ID:???掲示板への質問の仕方が悪いんじゃない?
0594nobodyさん
2005/11/15(火) 21:35:19ID:???0595532
2005/11/15(火) 21:35:33ID:???キタノ?
本物キターーーノ?
ワクテカw
0596nobodyさん
2005/11/15(火) 21:37:32ID:???0597nobodyさん
2005/11/15(火) 21:37:53ID:???>>493-495の流れで
>というか、急いでるんです。
と言い出し、挙句の果てには
>>518-519
>ちょっと自分で本屋に行って勉強してみます。
等と戯けた事を言い出す始末だけどna
(つか本を買おうという気もまるでなし('A`))
0598nobodyさん
2005/11/15(火) 21:37:58ID:???0599nobodyさん
2005/11/15(火) 21:39:49ID:???0600nobodyさん
2005/11/15(火) 21:47:24ID:???今日は、キチガイのオンパレードだな…
1) postgresへの接続は具体的なコードは?、コードはオマイが書いたのか?
2) configの書き方うんぬんと書いてあるが、configとは何?、内容は何?
>>490 のカキコより
3) エラーメッセージが "unknown host name: localhost" と表示されているが該当マシンで ping localhost はOK?
4) port=8040 となっているが、postgresの初期設定では 5432 のはず。オマイが変更しているのか?
5) 該当マシンで以下を行うと正常に接続できる?
psql -hlocalhost -p8040 -Utestuser2 -dtestdb2
psql -h127.0.0.1 -p8040 -Utestuser2 -dtestdb2
psql -hlocalhost -p5432 -Utestuser2 -dtestdb2
psql -h127.0.0.1 -p5432 -Utestuser2 -dtestdb2
後、急いでる、急いでるってバカの一つ覚えみたいにわめくな。
急いで解決したければ、質問の仕方から考え直せ。
0601490
2005/11/15(火) 22:01:24ID:NEc3YLTapsql -hlocalhost -p8040 -Utestuser2 -dtestdb2
psql -h127.0.0.1 -p8040 -Utestuser2 -dtestdb2
は接続拒否でした。残り2つの-p5432の方はOKです。
config.php
<?php
if(ereg("config.php",$_SERVER["PHP_SELF"]))
{
exit();
}
define("DB_HOST","localhost");
define("DB_PORT",5432);
define("DB_NAME","testdb2");
define("DB_USER","testuser2");
define("DB_CONN","host=" .DB_HOST
."port=" .DB_PORT
."dbname=" .DB_NAME
."user=" .DB_USER);
?>
0602nobodyさん
2005/11/15(火) 22:06:15ID:???>は接続拒否でした。残り2つの-p5432の方はOKです。
おいおいこれが釣りじゃなく本気ならやべーぞお前技術者向いてないよw
0603nobodyさん
2005/11/15(火) 22:13:57ID:???ここまでしつこい&知らないと逆に感心するなw
define(."DB_CONN","dbname=" .DB_NAME );
一度これだけでやってみれ、portは5432な
つか本買わないんだったらマニュアル読めや
0604nobodyさん
2005/11/15(火) 22:16:29ID:???0605600
2005/11/15(火) 22:18:14ID:???ポート8040ってのはどこから出てきたんだ…
その状況だと >>490 の時点とはエラーメッセージが変わってるんじゃないのか?
1) 念のため聞くが、WEBサーバー(PHPが動作しているサーバー)とpostgresが動作している
サーバーは同じサーバー?
2) 現在のエラーメッセージは?
3) 接続パラメータにパスワードがないが、パスワードなしでOK?
4) 先のカキコで聞いたが、無視しやがるので再度。postgresへ接続する部分の具体的なコードは?
0606nobodyさん
2005/11/15(火) 22:20:00ID:???0608nobodyさん
2005/11/15(火) 22:27:04ID:AP0zNwzy通常の画像〜.pngなどはサーバー側で更新されていなければ再取得せずにキャッシュが使われますが、PHPで書いてある場合にはどのようにしたら同じような挙動をさせることができるでしょうか?
0609nobodyさん
2005/11/15(火) 22:29:05ID:???参考書とかマニュアルなんて読めるわけが無いよな
0612490
2005/11/15(火) 22:34:07ID:NEc3YLTaありがとうございます。
>>603
これでいいでしょうか?
config.php
<?php
if(ereg("config.php",$_SERVER["PHP_SELF"]))
{
exit();
}
define("DB_NAME","testdb2");
define("DB_CONN","dbname=" .DB_NAME);
?>
結果ですが、ダメみたいです。
<br /><b>Warning</b>:
pg_connect()
[<a href='function.pg-connect'>
function.pg-connect</a>]
Unable to connect to PostgreSQL server: FATAL:
user "nobody" does not exist
---------------------------------------------------
0613490
2005/11/15(火) 22:34:33ID:NEc3YLTa<?php
require("config.php");
$db=pg_connect(DB_CONN);
header("Content-Type:text/plain;Charset=EUC-JP");
if($db==FALSE)
{
echo " not connect db?n " ;
}
else
{
echo "database connect ok?n" ;
}
?>
0615nobodyさん
2005/11/15(火) 22:39:06ID:???0616nobodyさん
2005/11/15(火) 22:45:26ID:???rfc嫁
last-modifiedとif-none-matchをみてレスポンス返せばいいが
HTTP1.1に準拠するのは結構面倒だぞ
0617608
2005/11/15(火) 22:55:52ID:???header("Last-modified: 〜")のようにすればいいのですね。
>>616
if-none-matchというのもこれから調べてみます。
ありがとうございました。
0618nobodyさん
2005/11/15(火) 22:57:48ID:???違う。304レスポンス/ステータスを返す
Web鯖がやってるのと同じことをする
ところで下のほうにくだスレがあるの見えてる?
0620600
2005/11/15(火) 22:59:11ID:???サンクス。>>490 からのスレを全部読んでいなかった漏れが悪かった。
で、全部読んだら脱力した…。今回とほとんど同じ流れじゃん。
>>490 からすると同じ事を何度も聞きやがって、と思うかもしれんが
聞かれてもしょうがないよな…
スマンが、この件からは離脱するわ。付き合いきれん。
0623nobodyさん
2005/11/15(火) 23:07:42ID:???test1.php
<?php
$db=pg_connect("dbname=testdb2 user=testuser2");
if($db==FALSE) {
echo "NG";
} else {
echo "OK";
}
?>
なら、どうよ?
0624nobodyさん
2005/11/15(火) 23:11:07ID:???user "nobody" does not exist
なんだと思う?
気づけよ┐(´ー`)┌
#623をやって、今度はパスワでエラーかもw
0625nobodyさん
2005/11/15(火) 23:14:58ID:???どうしてダメなのかはサッパリ分かってないし、分かろうともしていない
0626nobodyさん
2005/11/15(火) 23:18:02ID:???急いでいるみたいだから、みんな準備しとけよ。
0628nobodyさん
2005/11/15(火) 23:51:35ID:???”ある意味”こっちのほうがレベル低いよねw
明日こそ旨く伝えられるようにがんばるぞ!
0629nobodyさん
2005/11/15(火) 23:55:07ID:???PostgreSQLスレでは、育てきれません。
0632nobodyさん
2005/11/16(水) 03:49:50ID:???0633nobodyさん
2005/11/16(水) 03:53:16ID:???0634nobodyさん
2005/11/16(水) 06:55:21ID:???0635634
2005/11/16(水) 07:44:56ID:???0637nobodyさん
2005/11/16(水) 11:27:45ID:???0638nobodyさん
2005/11/16(水) 12:30:06ID:???全体的によく見比べれ。つーか低脳はくだスレに帰れ。
0639nobodyさん
2005/11/16(水) 12:34:04ID:???質問と回答以外書き込まなければいいと思うよ。
0640nobodyさん
2005/11/16(水) 12:35:10ID:???【基本ルール】
・煽り・荒らしは放置。荒らしに反応した香具師も荒(ry
(>>1より一部引用)
0641nobodyさん
2005/11/16(水) 13:59:29ID:???0642nobodyさん
2005/11/16(水) 14:11:46ID:???0643nobodyさん
2005/11/16(水) 14:20:49ID:pHA2FDGy数値をキーとする配列(キーそのものにはあまり意味はないです)に含まれる値だけを取りだして、それをキーとするにはどのようにしたらよいでしょうか?(検索効率を上げるため)
生成された配列の値は使用しないので何でもよく、(キーにするという性質上)重複は削除するものとします。
何か案をお持ちの方いらっしゃいましたらよろしくお願いします。
0644nobodyさん
2005/11/16(水) 14:32:10ID:???0645nobodyさん
2005/11/16(水) 14:48:02ID:???案っていうか、オマイさんが言ったことをゴリゴリと書いても大した手間ではないだろうに。
確かにPHPの関数を使った方が短く書けるだろうけど、それに拘るのなら自分で PHP マニュアルの
array_xxxx 関係を読めばいいのではないのか?
多分、array_values、array_combine 辺りで可能だと思う。
0646nobodyさん
2005/11/16(水) 14:51:21ID:pHA2FDGyレスありがとうございます。
実はarray_count_valuesで一発だったようです。
array_combineも便利そうですね。
どうもありがとうございましたm(_ _)m
0647nobodyさん
2005/11/16(水) 15:03:11ID:???0649nobodyさん
2005/11/17(木) 00:40:21ID:???生活にハリがなくなったよ。しょぼーん。
0651nobodyさん
2005/11/17(木) 01:20:25ID:???0652nobodyさん
2005/11/17(木) 03:25:55ID:V06oZKlxたとえば$pattern = "/[0-9]{1,2}[A-Za-z]{3,4}/";なら
51TuAG
8ntQb
93dzL
:
のように複数の文字列をランダムに生成する形です。
どなたかご教授いただけますでしょうか?
0653nobodyさん
2005/11/17(木) 03:59:17ID:???0654652
2005/11/17(木) 04:47:47ID:V06oZKlxうまく伝えられなかったようなので申し訳ありません。
0655nobodyさん
2005/11/17(木) 04:59:32ID:???いきなり"."がくるかもしれなくて"["もくるかもしれなくて
その場合どこかに"]"があって……
と考えてコードを書けばええやん。
パターンがもっと限定されてるなら、それはそれでやりようあるし。
0656nobodyさん
2005/11/17(木) 06:15:07ID:???やりたいことがよくわからんが、uniqid か何かで出した文字列に
preg_replaceで s/[^任意の正規表現]//g やればええんちゃう?
運が悪いと1文字も残らないかもしれないけど
0657nobodyさん
2005/11/17(木) 06:16:49ID:???だったら配列に使える文字入れてrandとかで一文字ずつ決めちゃった方が簡単でしょ
0658nobodyさん
2005/11/17(木) 09:33:53ID:???ランダムな文字列生成関数を作って、
それが正規表現にマッチするまでぐるぐる回したら?
重くはなるかとは思うが。。。
0659nobodyさん
2005/11/17(木) 09:36:29ID:???0660658
2005/11/17(木) 09:44:54ID:???気にしないならいいや
0662nobodyさん
2005/11/17(木) 10:31:12ID:???そう言われれば確率的には同じだな。。。
0663nobodyさん
2005/11/17(木) 12:02:09ID:???掲示板を作成していて古い順に並ぶので
0664nobodyさん
2005/11/17(木) 12:06:12ID:???ってか、それはPHPの質問かと小一時間
0666nobodyさん
2005/11/17(木) 16:28:45ID:???0667nobodyさん
2005/11/17(木) 16:33:19ID:???0669nobodyさん
2005/11/17(木) 16:37:22ID:???0670nobodyさん
2005/11/17(木) 16:38:27ID:???0671nobodyさん
2005/11/17(木) 16:44:22ID:???0672nobodyさん
2005/11/17(木) 16:49:11ID:???ttp://php.s3.to/db/src/source.php?p-bbs-db.php
(^ω^;)
0673nobodyさん
2005/11/17(木) 16:57:20ID:???0674nobodyさん
2005/11/17(木) 17:03:24ID:???PHPをバージョンアプしましょう!
PHPに重大な脆弱性
PHPに関するセキュリティ情報
とあるのがまたなんとも言えず。。。
ところで「バージョンアプ」って。
0675nobodyさん
2005/11/17(木) 17:06:59ID:???0679nobodyさん
2005/11/17(木) 19:00:18ID:???http://www.atmarkit.co.jp/fsecurity/rensai/webhole02/webhole01.html
0680nobodyさん
2005/11/17(木) 19:12:16ID:???公開してるサンプルソース全部見直したらいいのに...
初心者が真に受ける率が高いって判って放置してんのかな。
0681677
2005/11/17(木) 19:29:31ID:???ありがとうございます。
クエリに使用したりするユーザーからの入力データを、
stripslashesなどでエスケープしておけばいいということでしょうか。
たとえば
if (get_magic_quotes_gpc()) {
$id = stripslashes($id);
}
で大丈夫みたいなことを聞いたのですが、
実際どうなのでしょうか。
0682nobodyさん
2005/11/17(木) 19:32:22ID:???0683nobodyさん
2005/11/17(木) 19:34:38ID:???0684nobodyさん
2005/11/17(木) 19:55:58ID:???>>681
この場合、>>679のリンク先で説明されているような状況を防ぐ手段を講じて
いないのが問題で、少なくともstripslashes()は目的に適っていないよ。
〜すればいい、と言う事を盲目的に覚えるんじゃなくて、
何を何の為にするのか理解しておかないと墓穴掘るよ
0685nobodyさん
2005/11/17(木) 20:08:33ID:???熟読する価値はあるぞ681程度の認識しかないなら。
0687nobodyさん
2005/11/17(木) 20:45:41ID:???MySQLならmysql_escape_string
またはPearのDB.phpでquoteSmart
0688nobodyさん
2005/11/17(木) 23:59:01ID:???0690nobodyさん
2005/11/18(金) 09:09:04ID:???http://www.ipa.go.jp/security/awareness/vendor/programming/
ここも
0691nobodyさん
2005/11/18(金) 12:16:05ID:???SQLインジェクションでドキッとした。
で、自分のプログラム見たら、DB Connect のクラスでSQLインジェクション対策が隠蔽されてた。
ホッとした。
---------------
0692nobodyさん
2005/11/18(金) 15:51:56ID:s0p1oegiRFCを自分なりに読んでみているのですが、これらの情報はPHPを使うのに必要なのでしょうか?
また必要ならば、どのような場面で必要になるのでしょうか?
0695nobodyさん
2005/11/18(金) 16:12:05ID:???アメリカンジョークに例えるとだな、
・PHPを使える - 英単語・熟語・文法を知っている
・RFCを読んでいる - ジョークの理解するための歴史的背景・風俗を知っている
・RFCは知らないがスクリプトを作成できる - 毎回、「おまえのかみさんだったよ」で終わる。
・RFCに基づいたPHPスクリプトを作成できる - アメリカンジョークを自作できる
0696nobodyさん
2005/11/18(金) 16:17:39ID:???0697692
2005/11/18(金) 16:38:29ID:s0p1oegi色々なサイトを見て勉強しているのですが、PHPの説明の中にRFCを参照のようなことがいたるところに書いてあったからです。
>>694
どのような局面で必要とされるのでしょうか?
>>695
ごめんなさい。まだRFCに精通していないのでうまく理解できませんでした。
>>696
なるほど。必要になるときが来るのですね。
例えばどのようなことを実現するために必要になりますか?
0699nobodyさん
2005/11/18(金) 16:47:26ID:???RFCを全部理解してからphp組むなんてのは、広辞苑全部呼んでから作文するのと同じ。
組んでいる途中で必要になったらRFCの該当文書を見ればいいだけ。
でもおまえが何組んでるかも知らんのに「必要になるとき」なんて答えようが無い。
0701nobodyさん
2005/11/18(金) 17:42:29ID:???>色々なサイトを見て勉強しているのですが、PHPの説明の中にRFCを参照のようなことがいたるところに書いてあったからです。
だから、どんな説明の時に参照するって書いてあったんだ。
その説明の部分で、それ以上詳しいことが必要なら参照すりゃいいだろ。
0702692
2005/11/18(金) 17:47:58ID:s0p1oegihttp://www.spencernetwork.org/memo/tips-3.php
ここに出てくるContent-typeやContent-lengthといったものが
ftp://ftp.isi.edu/in-notes/rfc2068.txt
RFCに載っていたので、このようなプログラムを自在に書けるようになるために必要な情報だと思いました。
そうなるとRFCを理解しなければそれを必要になる場面に出会うことすら難しいため、一歩進んだプログラミングの習得ができない気がしてしまいます。
みなさんはきっとそういう逆境を乗り越えたのですね。
できたらその時の思考プロセスを話してもらえませんか?
0704nobodyさん
2005/11/18(金) 17:56:54ID:???0705nobodyさん
2005/11/18(金) 18:02:29ID:???オマイ自身が答えを書いているじゃん。
PHPで作成された簡易HTTPクライアントのサンプルがあって
このようなプログラムを自在に書けるようになるために必要な情報だと思いましたので
RFCを理解しようとしています。
オマイの思考プロセスは上記で正しい。他人に聞く必要はない。
以上
0706nobodyさん
2005/11/18(金) 18:13:07ID:???0707nobodyさん
2005/11/18(金) 18:18:42ID:???0709nobodyさん
2005/11/18(金) 18:40:36ID:???マーライオン , ―‐ 、
/r‐' ,ェェr‐..、
| l | ____Y)........
| l ヽ ┴‐┬'''''''''' ::::.........
| l l `ー‐1 ::::::::.......
7レヘ! / ::::::::::::.....
l |. | / :.:.:.:::::...
/7ーー7777! :.:.:.:::::....
T--l⌒ヽ{ l :.:.:.:.::::::...
|vv'レ⌒!'ー! :.:.:.:.::::::...
|vv'ヽソー1 :.:.:.:.::::::.
_ヽVVVー7__ :.:.:.:.:::::..
,〜〜〜〜〜〜〜ヽ ヽ、 :.:.:.:.:.:..::..
∠二二二二⌒二二二二二二ユ :.:.:.:.:.::::::...
0710nobodyさん
2005/11/18(金) 19:52:41ID:AXpGNMBTその際、#top #left #rightのところのタグが他のページのphpで使いまわしになるので,
それぞれをtop.php、left.php、right.phpとして、includeして見やすい様にしたのですが
これはセキュリティとかphpの使い方として、問題あるんでしょうか?
一応、使えてはいるんですが、心配で。
0711nobodyさん
2005/11/18(金) 20:00:01ID:???その内容から判断する限り問題はないと思う。
ただしtop.phpとかに直接アクセスされる可能性を考慮すべし。
0712710
2005/11/18(金) 20:17:09ID:AXpGNMBTありがとうございます。
top.phpとかには直接アクセスされないように配慮してみます。
0713nobodyさん
2005/11/18(金) 20:17:25ID:???2.呼び出される側では、definedで定義済みかチェック。
3.もし未定義であれば、不正な呼び出しとしてエラー吐くなり何なりやって終了
-index.php-
<?php
define('_VALID', '');
include('top.php');
?>
-top.php-
<?php
defined('_VALID') or die ('Error msg');
echo 'top.php';
?>
0714nobodyさん
2005/11/18(金) 21:54:44ID:???配布しているサイトをご存知ないでしょうか?
プロクシリストを更新するものではなく逆引き等によって制限できる
物を探しております
0715nobodyさん
2005/11/19(土) 12:34:18ID:???0718nobodyさん
2005/11/19(土) 15:00:44ID:???0720nobodyさん
2005/11/19(土) 15:25:59ID:???0721伊東
2005/11/19(土) 17:56:46ID:???0722nobodyさん
2005/11/19(土) 18:26:19ID:???0723エスパー伊藤
2005/11/19(土) 18:28:38ID:???0725nobodyさん
2005/11/19(土) 18:39:41ID:???0726nobodyさん
2005/11/19(土) 18:43:23ID:???察しなさい
0728nobodyさん
2005/11/19(土) 20:38:03ID:???0729nobodyさん
2005/11/19(土) 21:07:14ID:???0730nobodyさん
2005/11/19(土) 21:15:21ID:???0731nobodyさん
2005/11/19(土) 21:27:45ID:???でも、「くだらない」かなんて分かるもんでもないし…
なんだか統一しても良くなってきた。。
0732nobodyさん
2005/11/19(土) 21:43:22ID:???くだ質スレで答える時には基本的な部分も含めて回答し、
こっちではその辺りをすっ飛ばして答えるようにしている。
そうすると自然と向こうではくだらない質問にだけ答えるようになり、
こっちではくだらない質問はマニュアル嫁と思って答えなくなる。
0734nobodyさん
2005/11/19(土) 23:16:53ID:???ホスティング業者で複数のPHPのヴァージョンを使えるような
ところってないですか?
たとえば、
フォルダ1 PHP4.3.11 register globals=on
フォルダ2 PHP4.4.1 register globas=off
みたいな感じで使い分けたいんですけど・・・
0736nobodyさん
2005/11/20(日) 00:59:57ID:???つか単純に
マニュアル読める人はこっち
マニュアルに不慣れな人はあっち
でいいじゃん。
そうすりゃ本スレはマニュアルに載ってないor見つかりにくい内容、くだスレはマニュアルレベル(=初心者レベル)になるし。
本スレもくだスレも次スレ立てるときは1にそれを明示するべき。
0739nobodyさん
2005/11/20(日) 02:45:19ID:???0741nobodyさん
2005/11/20(日) 02:52:27ID:???0742nobodyさん
2005/11/20(日) 02:57:43ID:???0744nobodyさん
2005/11/20(日) 05:20:34ID:???中級以上
とか書くと、初心者はくだ質にいくんじゃね?
0745nobodyさん
2005/11/20(日) 05:42:38ID:???「中級」じゃ何のことだかわからなくないか?
むしろマニュアルきちんと読んだ上でググった上での質問ならこっちに来た方がいい希ガス。
本スレとくだスレの関係を双方にはっきり書いておくのは同意。
0746nobodyさん
2005/11/20(日) 05:47:17ID:???現状だと質問者が自分の脳内でくだらないかどうか判断してるんじゃない?
あと、スレの雰囲気も重要だと思う。
向こうとこっちじゃ空気が違うから。
初めてWebprog板を覗いた人には関係ないけど、
何度も質問してるような人は雰囲気でスレを選ぶんじゃないかな。
0747nobodyさん
2005/11/20(日) 05:48:08ID:???0748nobodyさん
2005/11/20(日) 05:52:25ID:???マ ニ ュ ア ル 読 め る ・ グ グ れ る
で決定の方向ですか?
0749nobodyさん
2005/11/20(日) 06:02:52ID:???実際ここのスレとむこうのスレでどっちに書くか選んでる奴がいるのかどうか知らないが(731以外w)、レベル的には別れていたほうがわかりやすいだろうね。
もし分ける必要がないとしたら1つのスレにまとめた方がいいってことだし。
0752744
2005/11/20(日) 07:06:50ID:lMDh+9MVスレタイトル名で判断できないとダメだって。
くだ質する奴なんて>>1-10なんて読まない奴が多いんだし。
スレタイに中級とか上級とかかいとけば
>むしろマニュアルきちんと読んだ上でググった上での質問
でない場合は心理的に入りづらいだろ。
あと、くだ質を隔離扱いじゃなくて、初心者用っていう位置づけなら
初心者歓迎とかスレタイにつけたほうがいいと思われ
0753nobodyさん
2005/11/20(日) 07:29:39ID:???くだ質は隔離でいいと思うけど。
初心者歓迎スレがいると思うなら立てたらいいじゃん。
俺は別にいらんと思うけど。
とりあえず次のスレタイは何がよかっぺ?
0754nobodyさん
2005/11/20(日) 07:33:53ID:???暇なPHP上級者が初心者の質問に答えるスレ
http://pc8.2ch.net/test/read.cgi/php/1132434138/
PHP質問スレって何個あるんだよwwwwwwwww
0757nobodyさん
2005/11/20(日) 09:35:01ID:???レベル別に分けるというなら細かく規定しないと意味ないよ。
0759nobodyさん
2005/11/20(日) 12:57:52ID:???0760nobodyさん
2005/11/20(日) 14:00:32ID:???0761nobodyさん
2005/11/20(日) 14:46:31ID:???0762nobodyさん
2005/11/20(日) 16:28:55ID:Tn2gjfrX0763nobodyさん
2005/11/20(日) 16:36:15ID:???いろいろとやり方があると思うが、
・拡張子別に配列(s)に取り込む。
・それぞれの配列に対してソートをかける。
つーのが直感的に分かり易くていいんジャマイカ?
0764nobodyさん
2005/11/21(月) 00:41:50ID:???効率的じゃないけど短く書くなら
$files = ファイル名の配列
$tmp = array();
foreach ($files as $file) $tmp[$file] = strrchr($file, ".");
asort($tmp);
$files = array_keys($tmp);
0766nobodyさん
2005/11/21(月) 17:02:24ID:???0767nobodyさん
2005/11/21(月) 21:08:48ID:???(PHP 4以降ではリファレンスカウンティングを使用しているため、)参
照ではなくコピーを返すことで性能が低下することはありません。逆に
多くの場合、参照を使うよりも単純にコピーを使った方が良い結果とな
ります。これは、参照の作成には時間がかかりますが、コピーの作成に
は理想的には時間が全くかからないからです。(ただし、大きな配列ま
たはオブジェクトでその一つが変更されると、次々に参照先の他の要素
に参照先に波及するといった場合を除きます)
newする時&=はしない方が良いのでしょうか?
0768nobodyさん
2005/11/21(月) 22:26:54ID:???mailto アンカーのbodyに送るにはどうしたらいいですか?
0769nobodyさん
2005/11/21(月) 22:32:52ID:???PHPは鯖で動くもので、mailtoスキーマはブラウザ側で動くもの。
web制作板に誘導したい所だけど、もうちょっと詳しく書かないと罵倒されて終わりと思われ。
0770nobodyさん
2005/11/21(月) 22:34:03ID:???だったかな?
PHPで出来るわけない。
0771768
2005/11/21(月) 22:45:56ID:???現在、sendmailを使ってメールフォームを作っているのですが、
フォームに記入した文字をメーラーにて送信
1.フォームに記入して、画面下の送信ボタンを押してもらう。
2.1の内容を画面表示する確認画面。
3.2の画面の送信ボタンを”mail to” のボタンに変更
<a href="mailto:xxxx@xxxx.com ?Subject=無題&body=[なにがし](引数)[なにがし]">メールを送る</a>
のようなことをできると知人から聞いたのですが、
詳しいやり方が分かりません。
今は、知人に聞くこともできず、
いろいろ調べていたところです。
このような方法は、無理なのでしょうか?
よろしくお願いします。
0772nobodyさん
2005/11/21(月) 22:49:08ID:???言葉足らずというよりも知恵足らず…
もう少し、頭は使ったほうがいい。
というより、まずはフォームに入力したものを画面に表示するところから。
(ってか、それが出来れば問い自体が終了か…)
0773768
2005/11/21(月) 22:52:48ID:???有り難うございます。
ただ、現在、sendmailを使ったメール送信は機能しております。
それを、mailtoを使ったものに変更したいんです。
フォームに入力したものを画面に表示することはできています。
0774nobodyさん
2005/11/21(月) 22:54:29ID:???"<a href="mailto:...略" を echo で出力してやるだけのことなんだが…
"フォームから入力" → "確認画面" → "送信" でメーラーが開いてユーザーが送信するって変ぢゃまいか?
メール送信フォームとして、ホントに正しいのか?
0775762
2005/11/21(月) 23:22:32ID:Aq1woluRおくれましたがとってもありがとうございました。
0776nobodyさん
2005/11/21(月) 23:24:29ID:???フォーム表示 form.html bodyを入力
確認画面 confirm.php
<form method="mailto:〜">
<input type="hidden" name="body" value="<?= $_POST['body'] ?>">
<input type="submit">
</form>
んでも、できないね。コレ。
0777nobodyさん
2005/11/21(月) 23:31:13ID:???いみわかんねぇな…
フォームの入力内容を画面に表示できるのなら、
<a href="mailto:xxxx@xxxx.com ?Subject=無題&body=[なにがし](引数)[なにがし]">
の「なにがし」をその内容にすれば良いだけだろうに。
・・・まてよ?ひょっとして「urlencode」が知りたいのか?
それとも釣りか?
0778nobodyさん
2005/11/21(月) 23:39:42ID:???コンストラクタで何してるか判らないクラスは
与り知らない場所で勝手にコピーされると問題になるかもね。
コンストラクタ内で register_shutdown_function してる時とか。
しっかり参照で受け取っておきましょう。
0780nobodyさん
2005/11/22(火) 04:37:13ID:S56rw+w20781773
2005/11/22(火) 09:41:40ID:???一応、
<form action="mailto:test@test.com?Subject=ああ&body=
<?php
foreach($_POST as $key=>$var) {
echo($key." --- ".$var."\n");
}
?>
" method="POST">
以下略
という形で、一応希望の動作にはなりました。
ただ、メーラーに送る際、\nが認識されずに
改行がうまくいきません。
どうしたらいいでしょうか?
0782773
2005/11/22(火) 09:51:16ID:???0783nobodyさん
2005/11/22(火) 10:01:00ID:???0784nobodyさん
2005/11/22(火) 10:01:39ID:???PHPの話じゃなくてhtmlの話なんで、そっちを勉強なさい。
つ[RFC2368,RFC1738]
ま、RFCに準拠した動作をしないソフトはMS製に限らず多くある訳だが
0785nobodyさん
2005/11/22(火) 14:26:59ID:NrH69ETF実用上の話題ではなく興味上の話題で申し訳ないのですが。
Web上でソースを見つけることができなかったので教えていただけると幸いです。
0786nobodyさん
2005/11/22(火) 14:42:53ID:???php.internalsの過去ログを漁れば見つかると思うけど、確かZeevの鶴の一声で却下。
6での導入が再検討されてるみたいね。
http://news.php.net/php.internals
0787nobodyさん
2005/11/22(火) 14:46:06ID:???0788nobodyさん
2005/11/22(火) 15:24:10ID:???0789785
2005/11/22(火) 15:37:58ID:NrH69ETFレスどうもありがとうございます。
とりあえず>>786さんのリンクを漁ってみます。
量が膨大ですね(^^;
namespaceでパフォーマンス悪化ですか。
それよりも実装を優先して欲しかったですね。
PHPのパフォーマンスってコンパイル時よりも実行時の方がウェイトが高そうですし。
(測ったことないですが・・・)
PHP6で実装されることを切に願うばかりですね。
0790nobodyさん
2005/11/22(火) 15:44:05ID:S56rw+w2PHPなんて採用されてなんぼだし。
0792nobodyさん
2005/11/22(火) 17:50:59ID:???namespace導入でPHP採用をやめるとこがあるほどパフォーマンス落ちするものですかな?
それなりにOOできるんだしnamespaceくらいあってほすぃ
0793nobodyさん
2005/11/22(火) 19:40:06ID:???OSX10.4.3
PHP.5.0.5
Apache2.0.55
sqlite3.2.7
初心者お約束の郵便番号データをsqliteコマンドから
流し込んでdbを作成して
define('DB', '/path/to/zip_db');
$db = sqlite_open(DB, 0666) or die(DB . " DBが開けません!¥n");
としたんですが
PHP Warning: sqlite_open(): file is encrypted or is not a database
と怒られちゃいました。zip_dbのファイルは確かにpathの位置にあります。
PHPは--with-eqliteと--enable-sqlite-utf8をつけてコンパイルしてます。
どーしてこうなってしまうのでしょうか?
phpからsqlite_open()で動的に作成したdbがsqliteコマンドからは
encryptedと言われるのは判りましたが、同じ仕様だとphpからsqliteを
使う場合は常に動的に作成しないとダメということでしょうか?
0794nobodyさん
2005/11/22(火) 19:47:28ID:???PHP5はSQLite Ver2系にしか対応していないので、Ver2系をインストールして
データベースを再作成する。
または、PDOではVer3系に対応しているので、PDOをインストートルして
PDO経由でデータベースを扱う。
0796nobodyさん
2005/11/22(火) 22:07:48ID:4gN/7PSO現在は、見出し・概要・本文を表示しているのですが
これを
見出し・概要・「本文の画像」のみ
という風に表示したいのですが、
だれかコード書いてくれませんか?
0799nobodyさん
2005/11/22(火) 23:13:20ID:???くだスレと分ける必要もないんじゃね?
0800nobodyさん
2005/11/22(火) 23:34:38ID:4gN/7PSO0801nobodyさん
2005/11/23(水) 00:15:29ID:???0802nobodyさん
2005/11/23(水) 00:37:33ID:???0804nobodyさん
2005/11/23(水) 06:16:23ID:???0805nobodyさん
2005/11/23(水) 06:18:26ID:???0806nobodyさん
2005/11/23(水) 07:08:11ID:???・・・何?ワロスとか書いたらいいの?
最近、馬鹿が多いから俺みたいにネタ
にレスつけんのやめような
0807nobodyさん
2005/11/23(水) 07:36:08ID:???0808nobodyさん
2005/11/23(水) 10:31:32ID:???0809nobodyさん
2005/11/23(水) 10:38:03ID:???0810nobodyさん
2005/11/23(水) 11:35:16ID:???0811nobodyさん
2005/11/23(水) 12:25:23ID:???0812メール送信したい
2005/11/23(水) 12:50:40ID:???うまくいきません。
検索サイトで見つけたメールフォームから送信までのテンプレを3種類ほど試しましたが、
ひっかかっている箇所の修正ができません。
テスト環境はアパッチ2・php5です、メールフォームの必要事項は氏名・メルアド・件名・
本文の四項目です。
いいテンプレございましたら教えて下さい。
できれば携帯で使えるものがいいです。
0815nobodyさん
2005/11/23(水) 12:56:05ID:???【 スクリプト改造依頼スレ 】(丸投げ) part4
http://pc8.2ch.net/test/read.cgi/php/1127916965/
0817nobodyさん
2005/11/23(水) 14:35:19ID:???(
[0] => abc
[1] => def
[2] => ghi
)
で、array[$i]に g が含まれている、いないの場合分けってどうやればいいんですか???
0819nobodyさん
2005/11/23(水) 14:54:23ID:???そうではなくて、こういうこと?
$a = array("abc", "def", "ghi", "jkl", "mno");
$b = preg_grep("/^[^g]+\$/", $a);
var_dump($a, $b, array_diff(array_keys($a), array_keys($b)));
0820nobodyさん
2005/11/23(水) 15:07:03ID:n7W1uJ4Uexec()でsshで操作させようと思うのですが、
ssh許可されているサーバでしかもちろん使えませんよね?
あふぉですまそ。
exec()でコマンドなんかは呼び出せるからどうなのかなと思いまして。
0822nobodyさん
2005/11/23(水) 15:11:29ID:???いえ、あふぉ、そのものです
PHPの勉強の前に日本語学校に通ってください
0823かにたま ◆kani39TDoc
2005/11/23(水) 15:36:38ID:qoUPjdNn0824nobodyさん
2005/11/23(水) 16:05:55ID:???他のサーバーでは正しく動いたんですが、自鯖では上手くいきません。
ディレクトリは正しい時刻が取れるんですがファイルの時刻が、
1970/01/01 09:00:00になってしまいます。
php.iniの設定かと思うんですが、何処を変更したらいいでしょうか。
0825nobodyさん
2005/11/23(水) 16:13:32ID:???0828nobodyさん
2005/11/23(水) 18:00:07ID:???セキュリティの関係上SSLを通したいと考えています。
この場合どのような方法をとれば良いでしょうか?
そのphpをSSL通して動かしただけではftp部分はセキュアには
なりませんよね?
0831828
2005/11/23(水) 21:58:12ID:???レスありがとうございます、
phpでポートフォワーディングを実現することは可能なのでしょうか?
かなり難解そうな気がしますが・・・
0833nobodyさん
2005/11/24(木) 00:54:16ID:1FyGYiu1peclでssl2ライブラリがある。
PHPマニュアルにも載ってるよ。
漏れは挫折した・・・
ポートフォワーディングはルータでやればいいのではないかと・・・
0834nobodyさん
2005/11/24(木) 03:52:03ID:???PSQLのtimestamp型の列を扱う
標準関数ってありますか?
2005-11-11 10:00:00
と
2005-11-12 11:00:00
の時間を比較して差を出したり
他にもそういう関係の関数ってありませんでしょうか
自分で作るしかありませんか?
0835834
2005/11/24(木) 03:52:40ID:???0837nobodyさん
2005/11/24(木) 06:10:16ID:???0838nobodyさん
2005/11/24(木) 08:25:39ID:oCc1MCAs0839nobodyさん
2005/11/24(木) 12:44:27ID:???0840nobodyさん
2005/11/24(木) 12:56:22ID:???よければ遅くなる根拠となる資料さらしてくれませんか?
0841nobodyさん
2005/11/24(木) 13:58:57ID:???なんにも知らないんだなw
0843nobodyさん
2005/11/24(木) 14:53:18ID:???0845nobodyさん
2005/11/24(木) 15:35:44ID:???0846nobodyさん
2005/11/24(木) 15:58:11ID:oCc1MCAsよければPHPで処理した方が遅くなる根拠となる資料さらしてくれませんか?
0848841
2005/11/24(木) 16:07:44ID:???ほんとですよね。
馬鹿の一つ覚えでDBで実行ですかw
ワロスワロス
0849nobodyさん
2005/11/24(木) 16:52:06ID:???0850nobodyさん
2005/11/24(木) 19:32:49ID:???排他制御って保障されていますか?
DBのオープン
↓
テーブルから値をロード
↓
インクリメント
↓
テーブルに保存しなおす
↓
DBのクローズ
この間に別プロセスが割り込むような事はありますか?
0851nobodyさん
2005/11/24(木) 19:44:24ID:???0852nobodyさん
2005/11/24(木) 20:45:03ID:???0853nobodyさん
2005/11/25(金) 07:55:34ID:???http://xxx.xxx/index.php?no=1のうようなもの
をクリックして飛んできたかどうかをチェックして、
ログに残すにはどうしたらいいですか?
0854nobodyさん
2005/11/25(金) 08:30:25ID:???↓
IDを取得
↓
ログに書き出し
こんな感じかしら?
0856853
2005/11/25(金) 09:34:23ID:???有り難うございます。
やりたいことは、
メールに、
http://xxx.xxx/index.php?no=***
(***以下はそれぞれ別の番号)
を記載して、
そのリンクを、クリックしたかどうかを判別したいんです。
0857nobodyさん
2005/11/25(金) 09:46:24ID:???で、どこで先に進めなくなってるの?
基本的に>>854のようにやりたい事をどんどん細かく分割していって、
それがPHPの構文や関数にまで分割できたら、それで動作するプログラムになってるよ。
0858nobodyさん
2005/11/25(金) 09:48:09ID:???番号の振り方を、パッと見では分からないようにしておいたほうがよさそうだね。
id部分をオリジナルのエンコード方法で暗号化しておいてPHP側でデコードするって感じかな。
整数番号を順番に振ってるだけだと、URL直叩きでの不正アクセスURLが簡単に想像できちゃうしね。
0862nobodyさん
2005/11/25(金) 10:03:06ID:???http://xxx.xxx/index.php?no=***のHTMLの「no=***」の部分が書き出せない のか
取得したID番号をログファイルに書き出せない のか
それともID番号が書き出し処理を行うPHP内部で取得できていない のか
どれ?
0863nobodyさん
2005/11/25(金) 10:05:58ID:???0864nobodyさん
2005/11/25(金) 11:17:15ID:???Apacheを使ってて、Apacheのログ設定をいじる権限を持っているのなら、
Apacheのログ書き出しを、環境変数使って制御するのが、手っ取り早いかも。
つまり
http://xxx.xxx/index.php?no=
を含むアクセスだけ、書き出したログを、現在の通常のログとは別に吐かせるとか。
そんなようなことを昔やってる例を聞いたことはあるので、できるとは思うが、細かい
ところは分からないので、方法はApache関係のスレで聞いてみると良いかと。
0865nobodyさん
2005/11/25(金) 11:24:12ID:5q1+9u/g再試行しなくても更新できるようにできませんか?
更新ボタンをページ内に値を送るフォームにしようかと思ったんだけどよくわかりません。
0866nobodyさん
2005/11/25(金) 11:39:19ID:???フォーム先つーか、POSTされたページを再読込する時には、
POSTしたデータを送信しなければならず、その際にはユーザに許可(再試行ダイアログ)を得なきゃいかん、
つーRFCがあったよーな。番号は忘れた。
POSTの処理が終わった後でheader("location: 〜")とか使って別のページをGETさせればよい。
0868865
2005/11/25(金) 12:32:19ID:???0869812
2005/11/25(金) 13:19:25ID:d0dndc1Rそれと、質問のしかたが悪いという指摘がありましたが、試したテンプレは
好意で公開してくれているようなモノだったので、詳細を省きました。
一応サイト管理者には質問のメールを出しましたが、回答がいつになるかわから
らかったので、ここで質問させてもらいました。
0871nobodyさん
2005/11/25(金) 13:49:17ID:???実行してるファイルのURLのフルパスを調べるにはどうしたらいいでしょうか?
0873nobodyさん
2005/11/25(金) 13:53:39ID:???getFulltin("FULL_PATH");
>872
知らないならすっこんでろよ
0875871
2005/11/25(金) 14:03:58ID:???URL(アドレス)のフルパス
強いて言えばhttpなのかhttpsなのかが知りたい。のです。
0876nobodyさん
2005/11/25(金) 14:05:40ID:???くだスレに行けってことだ。
0877871
2005/11/25(金) 14:09:10ID:???解決しました・・・
0878871
2005/11/25(金) 14:09:12ID:???だ〜か〜ら〜、ここで調べてるんじゃないですか。
知らないのならだまっててください。
>873
すみませんエラーになってしまいます。
もう少し、ご教授ください。
0880nobodyさん
2005/11/25(金) 14:15:54ID:???httpかhttpsかは$_SERVER["SERVER_PROTOCOL"]をチェック。
ホスト名+ポートはHTTP_HOSTでもいいがHost:を送らないお馬鹿なブラウザにも対応したいならSERVER_NAMEとSERVER_PORTで。
あとはREQUEST_URIをつなげてやればよさげ。
0881nobodyさん
2005/11/25(金) 14:16:08ID:???0882nobodyさん
2005/11/25(金) 14:16:10ID:???てかよ〜
解決したんならどう解決したのか書けよ
つくづく自分勝手なやつだな”お前”はよ!!!
0884871
2005/11/25(金) 14:20:14ID:???googleで調べた検索キーワード言えだの言われたら
おしえる気にもなりません
0885881
2005/11/25(金) 14:20:21ID:???って表示されてます orz
0886nobodyさん
2005/11/25(金) 14:21:33ID:???こうですぅ
Fatal error: Call to undefined function getFulltin() in - on line 1
0889nobodyさん
2005/11/25(金) 14:25:06ID:???ヒント: extensions
0891871
2005/11/25(金) 14:27:47ID:???0892nobodyさん
2005/11/25(金) 14:29:11ID:???0893nobodyさん
2005/11/25(金) 14:29:16ID:???また、無様な喪前かw
extensions で出来るんだよ。
どうやっても使えないとか嘘書くな。
0894nobodyさん
2005/11/25(金) 14:37:52ID:0/Y2pKf/0895nobodyさん
2005/11/25(金) 14:39:30ID:???0897893
2005/11/25(金) 14:43:12ID:???答え: 872, 876
0899nobodyさん
2005/11/25(金) 14:52:41ID:???0900nobodyさん
2005/11/25(金) 14:55:32ID:???0901nobodyさん
2005/11/25(金) 15:03:37ID:???0902nobodyさん
2005/11/25(金) 15:04:09ID:???携帯用のサイトを作りたくて、
出力をShift_JISにしたいんですが
どうするのが一番スマートでしょうか。
誰かお願いします。
0904nobodyさん
2005/11/25(金) 15:10:25ID:cPOkvRIi0905nobodyさん
2005/11/25(金) 15:11:02ID:???スクリプトはeucで書いてhttp出力はshift-jisにしてみてはどうでしょう?
マルチバイト関数あたりに詳しく書いてあります。
0907nobodyさん
2005/11/25(金) 15:14:44ID:P+tdb1H/あるお
>906
なんも知らん奴だなw
0908nobodyさん
2005/11/25(金) 15:16:42ID:???0910nobodyさん
2005/11/25(金) 15:27:07ID:???mb_convert_encodingの存在はしっていますが、
もしかしてこれの事を言ってたりしますか?
出力の各行ごとにこの関数をかますのは
ちょっとスマートではないなあと思ったもので。
0912nobodyさん
2005/11/25(金) 15:30:47ID:???0913nobodyさん
2005/11/25(金) 15:36:09ID:???0914nobodyさん
2005/11/25(金) 15:36:57ID:???0915nobodyさん
2005/11/25(金) 15:41:16ID:???0916nobodyさん
2005/11/25(金) 15:47:52ID:???絵文字変換テラムズス
0917nobodyさん
2005/11/25(金) 15:57:46ID:???ボーダフォンは鬱になるけど。
0918nobodyさん
2005/11/25(金) 16:00:41ID:???探してみたけど、ここでダウンロード出来ますか?
ttp://www.phpeclipse.de/tiki-index.php?page=PHPeclipse+Installation+for+Eclipse+2.1
リンクが見当たらない…。
sourceのsnapShotって何ですかね?
0919nobodyさん
2005/11/25(金) 16:26:35ID:???5.1出たけど、使ってみた感じどうですか?
0922nobodyさん
2005/11/25(金) 19:28:29ID:???PHP4.3とmysqlを使用しています。
全体の流れとしては、請求予定日(年,月,日)を選択して、さらに支払いの選択(当月0,翌月1,翌々月2)をします。
最終的にDBに書込む日付は請求予定日に支払いの選択で選択した値を足したものにしたいと考えています。
$transfer = $_POST["transfer"];
で、月を進めたい数を取得しています。(0,1,2のみ)
$transfer_m = mktime(0,0,0,$claim_m + $transfer);
$transfer_fin = date("Y-m-d",$transfer_m);
こんな感じで、タイムスタンプにして、足してみたのですが、年を繰り越してくれなかったりします。
$claim_mというのは、請求予定日の月の値です。
どなたかご享受ください。
0923nobodyさん
2005/11/25(金) 19:31:32ID:???きょう‐じゅ〔キヤウ‐〕【享受】
[名](スル)受け入れて自分のものとすること。受け入れて、味わい楽しむこと。
0924nobodyさん
2005/11/25(金) 19:41:49ID:???つか、mkdateに年のパラメーターわたしてないじゃん。
それに、単純に足したら$claim_mが12で、$transferが2だったら、
14になるでしょうに。
そういうところを考えてみたら?
0925nobodyさん
2005/11/25(金) 20:10:51ID:???>>mktime
>>引数は右から順に省略することができます。省略された引数は、 ローカルの日付と時刻に従って、現在の値にセットされます。
請求予定日が今月じゃないんだろ?ケチらずにセットしろや
$transfer_m = mktime(0,0,0,$claim_m + $transfer, $claim_d, $claim_y);
月が14になってもだいじょうぶ
0927922
2005/11/25(金) 20:18:15ID:???>>925さんの書いた通りで、ばっちりできてしまいました。
お騒がせしました。ありがとうございます。
0928nobodyさん
2005/11/25(金) 20:19:33ID:???モニタで読むの疲れる。
0930nobodyさん
2005/11/25(金) 20:33:21ID:???0932nobodyさん
2005/11/25(金) 21:58:49ID:???結構多かった気がするが、最近はそうでもないのかな?
というか、もれの訳した部分の印税をくれ... orz
0933nobodyさん
2005/11/25(金) 22:00:08ID:???海外のはどうかしらんが
0934nobodyさん
2005/11/25(金) 22:02:47ID:???ってマニュアルには書いてあるな
0935nobodyさん
2005/11/25(金) 23:09:32ID:???Warning: mktime() expects parameter 4 to be long, string given in path
というエラーが4つ目のパラメータって「25」だけど何でだ・・・
0936nobodyさん
2005/11/25(金) 23:15:30ID:???0938nobodyさん
2005/11/25(金) 23:20:06ID:???ttp://www.php.net/manual/ja/ref.pdo.php
0939nobodyさん
2005/11/25(金) 23:20:48ID:???int mktime ( [int hour [, int minute [, int second [, int month [, int day [, int year [, int is_dst]]]]]]] )
四つ目は何でしよう?
0940名無し募集中。。。
2005/11/25(金) 23:24:25ID:???0941nobodyさん
2005/11/25(金) 23:25:58ID:???0から数えてdayだよね?
1から数えるのか・・月か(--;
前のバージョンの時は普通に動いてたんだけどなぁ
0943nobodyさん
2005/11/26(土) 07:44:30ID:???翻訳が追いつかないのですよ
ttp://www.php.net/manual/en/ref.pdo.php
0944nobodyさん
2005/11/26(土) 08:34:30ID:???needleとheystackの順番でいつもマニュアル確認するんだよね。
関数作るときに統一して欲しかった。
0945nobodyさん
2005/11/26(土) 11:09:59ID:???最初はPDO独自に統一した書式を用いてPDOで指定したデータベース用に
自動変換してくれるのかと想った・・・
0946nobodyさん
2005/11/26(土) 11:39:30ID:???0947nobodyさん
2005/11/26(土) 12:15:11ID:???PEARで済むような気がするんですが。
0949nobodyさん
2005/11/26(土) 12:42:13ID:etbGZx3w0951nobodyさん
2005/11/26(土) 13:01:45ID:???sugeeeeeeeeeeeeeeeeee!!!!
SJIS→CP932で化けなくなりました!
ありがとうございます神様!
0953nobodyさん
2005/11/26(土) 13:30:34ID:???「『必ず』ランダムな値を返す」とは限りません
使用状況にもよるけど、少なくとも「必ず」ではありません
ランダムと考えても差し支えない値は返しますが。
詳しくはコンピュータで生成する乱数に付いての文献を参照すると良いかと
ただ、スクリプトの組み方によっては毎回同じ値を返すこともありますが
これは論外と言う事で
0954nobodyさん
2005/11/26(土) 15:06:35ID:???update table_name set time = ''
だと構文エラーが出ました
どうすればいいんでしょうか。
0956nobodyさん
2005/11/26(土) 15:24:30ID:???NULLでいいんでないの?
0957956
2005/11/26(土) 15:24:55ID:???0958nobodyさん
2005/11/26(土) 15:26:00ID:???ジャバはJava(TM)らしいですが
0959nobodyさん
2005/11/26(土) 15:29:03ID:???http://www.php.net/
みる限りはPHPじゃないかと。
0961nobodyさん
2005/11/26(土) 15:38:26ID:???でもこれはphpなんだよなw
http://static.php.net/www.php.net/images/php.gif
0962nobodyさん
2005/11/26(土) 17:19:02ID:s+fJvnn4はどっちが高速に処理できますか?
0964nobodyさん
2005/11/26(土) 18:14:17ID:???row
だが、そんな事は、アプリケーション作ってみて”遅かったら”考えな。
普通は、”気にする必要”なんざ無い。
つう事でarray使っとけ。objectなんかも便利だぞ。
0965nobodyさん
2005/11/26(土) 18:18:15ID:???それなら便利な方を使えばいい。
0966nobodyさん
2005/11/26(土) 19:02:47ID:???0967nobodyさん
2005/11/26(土) 19:27:18ID:???0968nobodyさん
2005/11/26(土) 21:28:39ID:IDnBQloT[0]=>"apple"
[1]=>"apple"
[2]=>"apple"
[3]=>"orange"
[4]=>"orange"
だと
[0]=>"apple"
[3]=>"orange"
ってなるけど
[0]=>"apple"
[1]=>"orange"
ってするのに便利な方法はありますか?
0969nobodyさん
2005/11/26(土) 21:32:47ID:???というか、できますか?
0970nobodyさん
2005/11/26(土) 21:34:31ID:???おじゃましました…
0971nobodyさん
2005/11/26(土) 21:42:43ID:???keyでソートしてvalueを新しい配列に1つずつ突っ込む
0972nobodyさん
2005/11/26(土) 21:51:40ID:???その例だとキーを持っていないのだから、array_uniqueの後にarray_valuesを呼べばいいんじゃない?
$a = array('apple', 'apple', 'apple', 'orange', 'orange');
$b = array_values(array_unique($a));
print_r($b);
0973nobodyさん
2005/11/26(土) 22:13:44ID:7JFl6nk6かなり重いためタイムアウトを起こしてしまいます。
execで集計用PHPを呼んでも、処理が終わるまで次のページが表示されないのですが
完全に裏で、現在のブラウザでの読み込みとは切り離した形で、この処理を走らせることはできますでしょうか?
最悪、set_time_limit( 0 )でタイムアウトを消すことも考えていますが、
できれば
ボタンを押す---→「集計中、しばらくお待ちください」ページ表示
→表示用PHPとは切り離された集計処理実行
のようなことをしたいです。
0974nobodyさん
2005/11/26(土) 22:16:02ID:???0978nobodyさん
2005/11/26(土) 22:35:45ID:???0979nobodyさん
2005/11/26(土) 22:37:49ID:???>execで集計用PHPを呼んでも、処理が終わるまで次のページが表示されないのですが
それが間違ってるよ。exec関数が悪いのじゃなくて、execで実行している命令文が悪い。
命令文がちゃんとなってれば、処理をサーバに丸投げ出来るよ。
くだスレじゃなくてこっちに投げてるので答えは言わない。
あとは頑張ってググれ。
0980nobodyさん
2005/11/26(土) 22:41:17ID:???0981nobodyさん
2005/11/26(土) 22:42:16ID:???0982nobodyさん
2005/11/26(土) 22:44:04ID:???0983973
2005/11/26(土) 22:48:05ID:7JFl6nk6処理を軽くすればどうにかなるようなデータ量と構成じゃないのでもうあきらめてます。
>>975-979
調べてみてexecで何とかなるとでたけど、実際やってみると
execの中の処理が終わるまでブラウザも読み込み中のままだったから、
ほかに何かあるかと思って書き込みましたが、やり方が悪かったみたいですね。
もう少し愚具ってやり直してみます。
0984nobodyさん
2005/11/26(土) 22:51:10ID:???もしかしてー
駄洒落ですか?
0985973
2005/11/26(土) 22:58:07ID:???execのマニュアル読み直してみましたが、「注意」のほうで裏でのやり方書いてありました。
"> /dev/null"あたりをくわえればいいんですね
0987nobodyさん
2005/11/26(土) 23:13:05ID:???0989nobodyさん
2005/11/26(土) 23:16:21ID:???0990nobodyさん
2005/11/26(土) 23:20:25ID:???何の役にも立たず無駄にリソースを消費するものをごみというんだ
分かるな? チラシの裏にめもっておくといいぞ
0991nobodyさん
2005/11/26(土) 23:21:10ID:???0992nobodyさん
2005/11/26(土) 23:21:41ID:RrZMXKgC0993nobodyさん
2005/11/26(土) 23:23:30ID:???0994nobodyさん
2005/11/26(土) 23:23:59ID:???0995nobodyさん
2005/11/26(土) 23:25:55ID:???↓
0996nobodyさん
2005/11/26(土) 23:30:00ID:???│┌─┐
│└→|
└──┘
∧∧ ?
(,,゚Д゚)
/ |
〜OUUつ
0997nobodyさん
2005/11/26(土) 23:46:49ID:???orz
0998nobodyさん
2005/11/26(土) 23:52:17ID:???0999nobodyさん
2005/11/26(土) 23:53:19ID:???1000nobodyさん
2005/11/27(日) 00:07:44ID:eBvjdczphttp://pc8.2ch.net/test/read.cgi/php/1133017632/
10011001
Over 1000Threadもう書けないので、新しいスレッドを立ててくださいです。。。
レス数が1000を超えています。これ以上書き込みはできません。