【PHP】下らねぇ質問はここに書き込みやがれ 25
レス数が1000を超えています。これ以上書き込みはできません。
0001nobodyさん
2006/07/23(日) 20:00:03ID:???ここならお前の下らない質問に回答があるかも知れません。
まず読め【PHP マニュアル】
http://www.php.net/manual/ja/
過去スレは>>2
0002nobodyさん
2006/07/23(日) 20:00:35ID:???http://pc5.2ch.net/test/read.cgi/php/1099322141/
【PHP】くだらねぇ質問はここに書き込みやがれpart2
http://pc5.2ch.net/test/read.cgi/php/1105218084/
【PHP】くだらねぇ質問はここに書き込みやがれpart3
http://pc5.2ch.net/test/read.cgi/php/1107780435/
【PHP】くだらねぇ質問はここに書き込みやがれpart4
http://pc8.2ch.net/test/read.cgi/php/1110697712/
【PHP】くだらねぇ質問はここに書き込みやがれpart5
http://pc8.2ch.net/test/read.cgi/php/1114787573/
【PHP】くだらねぇ質問はここに書き込みやがれpart6
http://pc8.2ch.net/test/read.cgi/php/1117945031/
【PHP】くだらねぇ質問はここに書き込みやがれpart7
http://pc8.2ch.net/test/read.cgi/php/1121100429/
【PHP】くだらねぇ質問はここに書き込みやがれpart8
http://pc8.2ch.net/test/read.cgi/php/1123431535/
【PHP】くだらねぇ質問はここに書き込みやがれpart9
http://pc8.2ch.net/test/read.cgi/php/1125716012/
【PHP】下らねぇ質問はここに書き込みやがれpart10
http://pc8.2ch.net/test/read.cgi/php/1127581425/
【PHP】下らねぇ質問はここに書き込みやがれpart11
http://pc8.2ch.net/test/read.cgi/php/1129582431/
【PHP】下らねぇ質問はここに書き込みやがれpart12
http://pc8.2ch.net/test/read.cgi/php/1130835396/
【PHP】下らねぇ質問はここに書き込みやがれpart13
http://pc8.2ch.net/test/read.cgi/php/1132921016/
【PHP】下らねぇ質問はここに書き込みやがれpart14
http://pc8.2ch.net/test/read.cgi/php/1134868212/
【PHP】下らねぇ質問はここに書き込みやがれpart15
http://pc8.2ch.net/test/read.cgi/php/1137236771/
0003nobodyさん
2006/07/23(日) 20:02:03ID:???http://pc8.2ch.net/test/read.cgi/php/1139146534/
【PHP】下らねぇ質問はここに書き込みやがれpart18
http://pc8.2ch.net/test/read.cgi/php/1142417901/
【PHP】下らねぇ質問はここに書き込みやがれ Part19
http://pc8.2ch.net/test/read.cgi/php/1144513878/
【PHP】下らねぇ質問はここに書き込みやがれpart20
http://pc8.2ch.net/test/read.cgi/php/1146165153/
【PHP】下らねぇ質問はここに書き込みやがれpart21
http://pc8.2ch.net/test/read.cgi/php/1148389517/
【PHP】下らねぇ質問はここに書き込みやがれ 22
http://pc8.2ch.net/test/read.cgi/php/1149710968/
【PHP】下らねぇ質問はここに書き込みやがれ 23
http://pc8.2ch.net/test/read.cgi/php/1150995543/
【PHP】下らねぇ質問はここに書き込みやがれ 24
http://pc8.2ch.net/test/read.cgi/php/1152251693/
0004nobodyさん
2006/07/23(日) 20:02:34ID:???■本家マニュアル http://www.php.net/manual/ja/
■日本PHPユーザ会 http://www.php.gr.jp/
■PEARマニュアル http://pear.php.net/manual/ja/
■メーリングリスト http://ns1.php.gr.jp/mailman/listinfo/
(以下英語)
■Smarty http://smarty.php.net/
■Zend本家 http://www.zend.com/
■Zend Framework http://framework.zend.com/
■php | architect http://www.phparch.com/
■Smartyマニュアル http://smarty.php.net/manual/en/
■ZFマニュアル http://framework.zend.com/manual/en/
■PECL本家(英語) http://pecl.php.net/
まだ英語しかないマニュアルも後々/manual/en/を/manual/ja/に変えてみたら日本語があるかもしれません。
0005nobodyさん
2006/07/23(日) 20:06:11ID:???PHP関連の書籍 第3版
http://pc8.2ch.net/test/read.cgi/php/1150558685/
PHP関連サイト
http://pc8.2ch.net/test/read.cgi/php/982694601/
【PHP】PEAR Part2
http://pc8.2ch.net/test/read.cgi/php/1122899232/
【Smarty】PHPのテンプレートエンジン【Flexy】
http://pc8.2ch.net/test/read.cgi/php/1118799352/
[PHP]フレームワークについて語るスレ4[総合]
http://pc8.2ch.net/test/read.cgi/php/1151706907/
Webでオブジェクト指向プログラミング
http://pc8.2ch.net/test/read.cgi/php/1133489897/
【PHP】セッションについて語ろう!【PHP】
http://pc8.2ch.net/test/read.cgi/php/1064399467/
PHP統合開発環境スレ
http://pc8.2ch.net/test/read.cgi/php/1123912762/
最強のPHPエディタはなに?
http://pc8.2ch.net/test/read.cgi/php/1133785416/
[PHP-users MLヲチ9]丸投げした覚えは全くありません
http://pc8.2ch.net/test/read.cgi/php/1143731062/
中学生がPHPを習得するスレ
http://pc8.2ch.net/test/read.cgi/php/1139746974/
【PHP】Lvうpしたいので宿題ください
http://pc8.2ch.net/test/read.cgi/php/1147830986/
親切な人が初心者にPHPの関数を使い方を教える
http://pc8.2ch.net/test/read.cgi/php/1068190843/
くだすれPHP(超初心者用)
http://pc8.2ch.net/test/read.cgi/php/1150088761/
0006nobodyさん
2006/07/23(日) 20:06:43ID:???1. 自分のIDを表示させること。(メール欄には何も記述しないでください)
2. ハードウェア、OSのバージョン等を明記すること。
3. 己の行った操作、変更などを詳しく明記すること。
4. エラーメッセージはそのまま表記すること。
5. 質問者としても態度をわきまえること。
◆質問後の注意
・質問者は必ずIDを表示させてください。
書き込む場合はメール欄に何も記述しないでください。
・2回目以降は最初に質問した際のレス番号を名前欄に入れてください。
(逆に回答者は質問者に対して>>(アンカー)をつけて答えてください。)
・解決しなくても回答をもらった場合はお礼を言う。
(荒らし、煽りは除く)
【その他諸注意】
・正規表現・PEAR・テンプレート(Smarty等)・フレームワークはそれぞれの該当スレへ
・SQLについての質問はデータベース板(PCカテゴリ)の各スレで
・オブジェクト指向については良スレがないから本を買え
・速さについては自分でベンチをとってここに書け(違う環境の人も調べてくれるかも)
0007nobodyさん
2006/07/23(日) 20:07:19ID:???extractは極力使わないほうがいいと思います。
例えば、
hoge.php?_SESSION[user_pw]=hogehoge
って形で送られてきたとします。これを
extract($_GET)
しちゃうと、$_SESSION['user_pw']の値が、
"hogehoge"に変更されてしまいます。
もし事前にユーザのパスワードを、$_SESSION['user_pw']に
保持してたとしたら、勝手に書き換えられてしまうことになります。
それを避けるために
extract($_GET, EXTR_SKIP)
ってやって上書きを避けたとしても、
このままでは変数の初期化を忘れる危険性があります。
extract($_GET, EXTR_PREFIX_ALL, "get")
と、接頭辞をつけるのが一番安全な気はしますが、
それなら最初から
$hoge = $_GET['hoge'];
ってやるのと手間が変わらないと思いますし、可読性も増します。
確かにextractするのは楽だと思いますけど。
0008nobodyさん
2006/07/23(日) 20:08:38ID:???0010nobodyさん
2006/07/23(日) 20:10:17ID:???というか、未だにextractなんて無節操に使うやつが残ってることが驚きなんだが。
0011nobodyさん
2006/07/23(日) 22:20:32ID:ucKp6iBHGoogle・Yahooの検索エンジンを使って
「まんじゅう」というキーワードでサイトに訪問したとします。
このまんじゅう(検索語句)を $key に入れる事はできるのでしょうか?
0013nobodyさん
2006/07/23(日) 22:33:41ID:???・ロケールの変更は PHP 6 以降では、i18n_loc_set_default() 関数を使用する必要があります。
・register_globals は PHP 6.0.0 で完全に削除される予定です。
備えあれば憂いなし。
0015nobodyさん
2006/07/23(日) 22:47:33ID:???本当に下らない質問だな。
もうちょっと思考の末悩んで持ってきた質問は無い物か。
最近直ぐに答えが出る質問ばっかりだ。
もっと発想力を鍛える質問クレクレ
0017nobodyさん
2006/07/24(月) 00:13:03ID:Mn5lSOKPPHP6 … 先行版
PHP5 … 安定版
に繰り上げられるのでしょうか?
0018nobodyさん
2006/07/24(月) 00:20:48ID:???001917
2006/07/24(月) 00:31:08ID:Mn5lSOKP0020nobodyさん
2006/07/24(月) 00:37:41ID:???0021nobodyさん
2006/07/24(月) 00:45:15ID:JznHVVLQたとえば
〜/hoge/huga/index.php
という階層にphpを書いたファイルがあるとして
"huga"をindex.php上で取得することってできますか?
0023nobodyさん
2006/07/24(月) 01:17:46ID:???最近こんな糞以下のくだらないのばっかり。
こんな奴が作ったphpとか恐ろしくてアクセスしたくないんだけど。
無限ループとか平気で起こしてそうだから。
とりあえず探してどうしても無かったらこいや。
勉強だってまずは自分で調べるだろが。努力もせずに楽してる奴は一生そこから上には行けんよ
0025nobodyさん
2006/07/24(月) 01:30:50ID:???少なくとも ttp://www.php.net/manual/ja/ref.dir.php は読んだ上でその質問をしてるんだろうな??
0026nobodyさん
2006/07/24(月) 04:15:43ID:???ちょっと気になるなぁ。貴方は質問に答えられる人間なのだろうか。
製作者側からして初級プログラマの製作で恐いのはセキュリティやサーバへの負荷だと思うが
利用者側から「こいつ初級プログラマだから嫌だ」と思うことってあるだろうか?
まぁちゃんと実行されてないと嫌になるけどね。
というか初級プログラマが犯した無限ループやらのPHPが恐くてアクセスしたくない
なんて感情が生まれるだろうか?PHPを扱っている人間とは思えないな。
ちょっと辛口だったのでマジレスしてみた。
までも俺も初級プログラマだけどPHPマニュアル以外にやっぱり本を買うべき。
関数メインの辞書とサンプル集でも買っておけば大抵の事は実行できるはず。
それでも分からなかったら質問しましょうよ。
0028nobodyさん
2006/07/24(月) 07:28:39ID:???共有のサーバーに置かれてて他人の大迷惑になってる場合もあるけどね。
しょぼい企業のページでPHPが生のエラーメッセージ吐いてたりするのはまだ笑えるんだけどw
0029nobodyさん
2006/07/24(月) 08:23:00ID:???確かにちょっと辛口過ぎたかもしれない、スマソ。
なんていうか折角PGやってるのに向上心のないユーザを見るとついカッとなってね orz
>セキュリティやサーバへの負荷
無限ループも似たようなもんな気がしないでもない様な。
ユーザ権限の場合どちらかというとサーバ負荷が一番危惧される問題点だと思う。
権限上サーバに深刻なダメージを与えることはユーザ領域のphpでは難しいし、
せいぜいユーザ領域が荒れるくらいかな。
>無限ループやらのPHPが恐くてアクセスしたくない
タブブラウザだと無限にHTMLが出力されて他のタブも巻き添えで落ちるから結構凹みますよ?
0030nobodyさん
2006/07/24(月) 08:29:13ID:???出力を無限ループして巨大なHTMLを吐くようなのもあるのか。
すげー間抜けなプログラムだなそりゃ。
0031nobodyさん
2006/07/24(月) 08:30:54ID:???そういやこの手の「いくらなんでもリファレンス本見れば一発で分かるだろう」みたいな質問するやつって
いったいどんな本etcを見て勉強してるんだろうね。
00321
2006/07/24(月) 08:44:47ID:???いけね。そういやハードウェアのバージョンは要らんだろ、って話になってたっけ?
忘れてたよ〜。次回よろ。
↓みたいな感じでどうだろ。
◆質問する場合の注意
1. 自分のIDを表示させること。(メール欄には何も記述しないでください)
2. OS、Webサーバー、PHPの種類やバージョン等を明記すること。
3. 己の行った操作、変更などを詳しく明記すること。
4. エラーメッセージはそのまま表記すること。「エラーが出ます」では絶対分かりません。
5. 質問者としても態度をわきまえること。
6. 事前に公式マニュアル、リファレンス本くらいはちゃんと目を通しておくこと。
◆質問後の注意
・質問者は必ずIDを表示させてください。
書き込む場合はメール欄に何も記述しないでください。
・2回目以降は最初に質問した際のレス番号を名前欄に入れてください。
(逆に回答者は質問者に対して>>(アンカー)をつけて答えてください。)
・解決しなくても回答をもらった場合はお礼を言う。
(荒らし、煽りは除く)
【その他諸注意】
・正規表現・PEAR・テンプレート(Smarty等)・フレームワークはそれぞれの該当スレへ
・SQLについての質問はデータベース板(PCカテゴリ)の各スレで
・オブジェクト指向については良スレがないから本を買え
・速さについては自分でベンチをとってここに書け(違う環境の人も調べてくれるかも)
0033nobodyさん
2006/07/24(月) 09:00:25ID:???普通は書く時皆さんはどちらで作成してますか?
phpの内部コードはEUC_JPが一般的でEUCで書いてるのですがShift_JISで作成するメリットって何でしょうか。
色々と文字コード特有の弊害もありそうで指摘にはEUCの方が便利なのですが。
0034nobodyさん
2006/07/24(月) 09:01:03ID:???471 名前:nobodyさん 投稿日:2006/07/15(土) 18:01:13 ???
プログラミングとは結果を得るための手順を考えることだ。
手順さえ思いつけば8割がた出来たも同じ。後は利用する
プログラミング言語の文法に従って書けば良いだけだからな。
その手順を考えることを放棄するような奴ってなに考えてるんだろうね?
この世に不要なんだよ。存在自体が。
ここはくだ質スレだが、こういう結果が欲しくてこういう手を考えたが
もっとスマートな方法は無いか?とかどういう関数が使えるか?
ちうことを聞くところだ。
考えることを放棄するような奴はイラネ。うせろ。
0035nobodyさん
2006/07/24(月) 09:03:26ID:???UTF-8
携帯用とかWindowsしか考えてないとか、そもそも文字コードの
概念自体ないとかかな?>SJIS
0036nobodyさん
2006/07/24(月) 09:18:45ID:???1.UTF-8
2.EUC-JP
3.SJIS
SJISのメリットはメモ帳でもとりあえず作れるとか、
携帯専用ページならコード変換なしで入出力できた(過去形)とか
どっかと共用してるDBのコードがSJISでHTML出力もSJISだったとか
どっかのデザイナーが作ってたHTMLに埋め込む形で開発スタートしてたとか
割と後ろ向きな理由しかないと思う。
>>34
冗長すぎて読む気しない
しかも今の連中が読むと「考えが古臭い」で一掃されそう
0039nobodyさん
2006/07/24(月) 10:02:52ID:???誰も素直にサポートするとは言っとらん
こんないきなり考え方から矯正しようとしたって無駄って話
アホ質問が出たらその都度叩けば十分だろ
0040nobodyさん
2006/07/24(月) 10:06:46ID:???人名をなるべく忠実に再現してくれって要望は多くない?
そんな関係で俺はUTF-8を使ってる。
波ダッシュで困るケースって例えばどんな?
004133
2006/07/24(月) 10:10:31ID:???思いのほかUTF-8が一番人気なのですね。
日本語なのでEUCとSJISしか考えてませんでしたが多言語サポートのUTF-8も良さそうですね。
個人的にはUTF-8は外国物て印象があってイマイチ敬遠してしまうのですがSJISの様に文字化けしてしまいませんでしょうか;
例えばSJISだと機能が機\能だったり予定が予\定だったり、
eregとか関数に「ー」が入ると構文エラー引き起こしたり云々・・・。(あと☆とか★の記号も
0042nobodyさん
2006/07/24(月) 10:21:28ID:???UTF-8 の方がむしろ人名を忠実にって要望は応えられないんじゃ?
Han Unification ってそういう問題だよね?
JIS でも葛飾の「葛」って字も正しくは処理出来ないし
そういう観点で見ると、どれが良いとは言えないと思うけど。
0044nobodyさん
2006/07/24(月) 10:54:24ID:???0045軟式PHP
2006/07/24(月) 11:46:46ID:???<?php
$a = "ソ";
?>
でもエラーが出てしまう。
0046nobodyさん
2006/07/24(月) 13:43:46ID:???0048nobodyさん
2006/07/24(月) 14:10:11ID:TyNTrbq3\r\n\r\n ではダメでしょうか?宜しくお願いします。
$data = file_get_contents("php://stdin");
list($head, $body) = explode("\r\n\r\n", $data, 2);
0050nobodyさん
2006/07/24(月) 14:33:08ID:???0051nobodyさん
2006/07/24(月) 14:52:07ID:Xe10Bw+u警告が出るのですが理由がわかりません。
破棄対象のセッションデータのファイル(sess_*)は削除されていました。
> $sess_id = session_id();
> if( !empty( $sess_id ) )
> {
> session_destroy();
> }
「Warning: session_destroy() [function.session-destroy]: Session object destruction failed in ファイル名 on 行番号」
何か考えられる原因がありませんでしょうか?
0052nobodyさん
2006/07/24(月) 15:28:03ID:CYiRB3t9if($fp = fopen("./data/log".$g_number.".cgi","w")){
chmod("./data/log".$g_number.".cgi",0666);
fclose($fp);
}
if($fp = fopen("./data/member".$g_number.".cgi","w")){
chmod("./data/member".$g_number.".cgi",0666);
fclose($fp);
}
}
ファイルがなければファイルを作成し、パーミッションを変更するように作ったのですが、
作成されたファイルの属性を見ても0644になっており、パーミッションが変更されていません。
何か記述の仕方が間違っているのでしょうか?
0053nobodyさん
2006/07/24(月) 15:29:50ID:2NxzUp1fどう書けば良いでしょうか?
{include file="aiueo($array.index)kakikukeko"}
こういう感じです。
よろしくお願いします。
0054nobodyさん
2006/07/24(月) 15:37:35ID:???マニュアルでは分かりませんでした。
詳しく説明できる方お願いします。
分かりやすいサイトも大歓迎です。
0055軟式PHP
2006/07/24(月) 15:49:27ID:???ちょっと確認してないので曖昧だけどfcloseしてからchmodやったほうがいいんでない?
あと、chmodの戻り値もTRUEかFALSEかどっちが返ってきてるか見てみて。
0056nobodyさん
2006/07/24(月) 15:55:01ID:CYiRB3t9その方法で解決しました。
有難うございます。
005853
2006/07/24(月) 16:38:35ID:2NxzUp1f0059nobodyさん
2006/07/24(月) 17:15:06ID:???ブラウザ上ということでjavascriptかなとは思っているのですが、javasは使ったことがないので
pingに相当する関数など用意されているのかどうか分かりません('A')
ご教授お願いします
006017
2006/07/24(月) 17:17:02ID:Mn5lSOKPレスありがとうございます。
これといった慣習はないのですね。
>33,41
UTF-8 か EUC-JP で。
UTF-8 は preg_* でマルチバイト文字を扱えるのが便利です。
>54
クラスで同じ処理を使い回しすると、コードが短くなります。
0061nobodyさん
2006/07/24(月) 17:23:41ID:???ご教示お願いします。
0063nobodyさん
2006/07/24(月) 18:40:27ID:???PCのログイン状況とpingというコマンドがいまいち結びつかない
ネットにつながっているマシンを一覧で見たいのか?
006451
2006/07/24(月) 18:48:22ID:???session_destroy();を@session_destroy();にしたら出なくなりました。。。
理由が解りませんorz
0065(^ω^)
2006/07/24(月) 19:07:11ID:???0066(^ω^)
2006/07/24(月) 19:16:43ID:???ttp://jp2.php.net/manual/ja/function.session-destroy.php
予想 HTTPヘッダが送信し終わっている
006764
2006/07/24(月) 22:52:50ID:???関数を明示してるのかと勘違いしていましたorz
>予想 HTTPヘッダが送信し終わっている
session_startより後、session_destroyより前に、
session_regenerate_id関数でセッションIDを更新していた
のが悪かったようです。。cookieを扱うためと予想。。
セッションID更新は破棄しないときのみ行うように
しないとダメということですね。。もしくはob_startかな。。
ありがとうございました。
0068nobodyさん
2006/07/25(火) 00:19:02ID:???0069nobodyさん
2006/07/25(火) 00:55:18ID:???0072nobodyさん
2006/07/25(火) 04:57:52ID:???PCのログイン状況って何を指してるんだろ。
自分のサイトのページにアクセスしてる人、とはまた違う?
ひょっとして会社のフロア内でユーザがログインしてるPCの台数が知りたい、とか…?
0073nobodyさん
2006/07/25(火) 05:32:01ID:???遅くなりましたが真摯に受け止めて頂き幸いです。読み返すとかなり上から口調で申し訳ない。
リア厨がよくも分からないのに叩いているものかと思っておりました。。
俺が指した「セキュリティうんぬん」はSQLインジェクション程度の事です。
ブラウザが落ちるほどの無限ループは予想してなかったですね。
ところで差し支えなければ上級者はどんなプログラム作っているのか教えてください。
俺は送信フォームやらが殆どです。orz
0074nobodyさん
2006/07/25(火) 06:44:57ID:???仕事でそういう案件があるから仕方なく使ってるだけ。作るの簡単だしね
どんなの作ってるか見たいならphpの拡張子で検索すればいいやん
0075nobodyさん
2006/07/25(火) 07:17:06ID:???そうかねぇ。使用言語とスキルはそこまで関係ないと思うけど。
確かに Visual Basic だけしか使えないエンジニアってのは嫌だけど
PHP 使ってる人って、PHP だけしか使えない人ってあまりいないような。
Java や Ruby に比べてって言いたいのは分かるけど
米 Yahoo! が PHP を採用したのもそれなりに理由があるんだし
PHP 使いに上級者はいないってのは、ちょっと言い過ぎかと。
0076nobodyさん
2006/07/25(火) 07:53:37ID:???俺はコミュニケーションサイト一式かな。
(会員登録、ユーザ間メール、掲示板、携帯からの写メ登録、アフィリエイト処理、各種管理機能、月間集計処理)
0077nobodyさん
2006/07/25(火) 08:50:45ID:???試しに$dataをそのまま保存してバイナリエディタで見てみれば?
もしくは頭200バイトくらいを1文字単位にord()して出力してみるとか。
いっそ"\r\n\r\n"でなく"\n\n"にして実験してみるとか。
0079軟式PHP
2006/07/25(火) 09:36:47ID:???あれ、そうなん?
mbstring.internal_encoding = SJIS
でもエラーが出るんだが・・・。もし間違いだったらスマソ。
0080軟式PHP
2006/07/25(火) 09:59:11ID:???某大手通信会社イントラ向けポータルサイト、中規模ECサイト、携帯向けMORPG、出会い系など。
全部PHP。たまにOracle ASやTomcatが最初から鯖に入ってて既存のコンテンツがあり、PHPを新規で入れるのを嫌がられる場合にJavaを使う場合はある。
Perlは本当減ってきた。自作ライブラリもとっくにPerlよりPHPのほうが多くなってしまった。
0081nobodyさん
2006/07/25(火) 11:11:30ID:???自分でhotmailだの何だのというフリーアドレスのドメインを
列挙して配列か何かに組み込んでおいて使うのもいいけど、
それだと無数にあるフリーメール・サービスを全部調べて列挙するのって大変だよね。
どっかにフリーメール・サービスのドメイン一覧リストとか落ちてないかな?
0082nobodyさん
2006/07/25(火) 11:12:14ID:???これはどうやって確認しているのでしょうか?
0084nobodyさん
2006/07/25(火) 11:15:09ID:???そんな便利なリストがひょっとしたらどっかにあるのかもしれないけど
とりあえず知らないのでドメインデータを自前で登録してる。
0086nobodyさん
2006/07/25(火) 11:31:13ID:???ttp://www13.big.or.jp/~fubuki/
0087nobodyさん
2006/07/25(火) 11:58:42ID:???やっぱそうか・・・。
フリーメール(特にhotmail)を使ってるヤツってのは、たいてい
「コンピュータに疎い超ド素人」か、
「イタズラや誹謗中傷、その他いろんな悪事を働くキモヲタ」か、
どちらかであることが多い。だから排除したい。
0088nobodyさん
2006/07/25(火) 12:23:12ID:E5TbsTHefunction &hoge($id){
…
}
とかあるんです。変数の参照渡しで&を使うのは知ってるんですが、
関数で&をつかうというのは一体?
ttp://www.php.net/manual/ja/language.functions.php
ここみても関数名の前に&を付けるようなことは何も書いてませんし…。
どういう時に使うのか、&つけると何が便利なのか、どこか載ってる
サイトなどありましたら教えてください。
0089nobodyさん
2006/07/25(火) 12:24:48ID:???こっちに書いてあるよ
http://www.php.net/manual/ja/functions.returning-values.php
009088
2006/07/25(火) 12:29:04ID:???うおおはえええ!ありがとうございます!
リ・・・リファレンス・・・なんじゃそら・・・
じっくり読んで勉強してきます!本当に助かりました!
0091nobodyさん
2006/07/25(火) 12:31:21ID:???009288
2006/07/25(火) 12:57:01ID:???$a = &$b
$aも$bも同じものをみにいってるのねー、これは分かる。
でも関数で参照・・??
もしやこういうことだろうか。
function &fuga($nya){
$nya++;
return $nya;
}
$wan = fuga($a);
これと、
function fuga($nya){
$nya++;
return $nya;
}
$b = fuga($a);
$wan = &$b;
これは同じことだよみたいな感じ?
こんな程度で給料もらってほんとすいません...
0094nobodyさん
2006/07/25(火) 13:11:56ID:???PCいじりたての初心者が遊ぶためのものかと思っていた。
0095nobodyさん
2006/07/25(火) 13:25:52ID:???メッセンジャーだからメッセージをやりとりするのに使うに決まってる。
>PCいじりたての初心者が遊ぶためのものかと思っていた。
素直に便利だと思う人が使う。
0096軟式PHP
2006/07/25(火) 13:31:28ID:???情報サンクス。
ちょっとやってみたんだが、PHP4.3.2で設定してもscript_encodingが
phpinfoにすら反映されてないようで、うまく動かなかった。
原因を探るのも面倒なのでこの辺でやめとくよー。
色々検索してみたら動きそうな感じではあった。
0097nobodyさん
2006/07/25(火) 13:45:36ID:???0100nobodyさん
2006/07/25(火) 13:57:24ID:???これは下請けですか?それともガッポリ儲けちゃってるんですかね?
どっちにしろボリュームが多いのは精神的にきますね、、
>>94
会社によればメッセ使用する所もありますよ。最近ではSkypeなんかも。
0101nobodyさん
2006/07/25(火) 14:02:01ID:???スクリプト終了と同時にファイルは削除されてしまうと考えてもいいんでしょうか?
if (is_uploaded_file($_FILES['test']['tmp_name'])) {
print_r($_FILES);
}
else {
echo "error\n";
}
で、表示された$_FILES['test']['tmp_name']の値は[tmp_name] => /tmp/phpHmZfdd
上記のスクリプトを実行して確認してみたところ/tmp/phpHmZfddは存在しませんでした。
0102軟式PHP
2006/07/25(火) 14:10:03ID:???簡単なやり取りは俺もメッセンジャー経由だなぁ。
>>100
大きな案件は、大抵代理店通るからガッポリまではいかない。
ただうちは恵まれてるほうだから2次受けになる事が多いためそこそこ儲かる。
3次、4次受けとかなると連絡網がゴチャゴチャしてきて儲からないだけではなく仕事もやりづらくなる。
0103nobodyさん
2006/07/25(火) 14:21:09ID:???俺はバイトなんで詳しくは分からないが俺んとこは恐らくその3次受けしてた。
金もあまり入らずデザインの業者に散々振り回された。しかもデザインの業者が優先だってさ。
0104nobodyさん
2006/07/25(火) 14:21:22ID:???ガッポリ儲けて融通も利きまくり
リスク高いけどな
010576
2006/07/25(火) 14:46:55ID:???うちは自社開発ですよ。結構儲かってるらしいよ。正確な額は知らんけどさw
>>94
うちも簡単な打ち合わせや連絡ではメッセンジャー使ってる。
同じ会社の部署と言ってもビル離れてたりするし。
記録性で電話以上メール以下、即時性でメール以上電話以下の場合、だね。
>>96
script_encodingってConfigureで多言語対応の指定してコンパイルしないとダメじゃなかったっけ?
010687
2006/07/25(火) 15:52:30ID:???>>98 とりあえずお前みたいなキモヲタの排除から始めたい。
>>99 じゃあどうしたら「なんちゃって」じゃなくなるのか、具体的に説明よろしく。
010754
2006/07/25(火) 15:56:17ID:jWaJnsY8>分からないならつかわなければいい
ごもっともなんですが、引継ぎでいじらなくてはならないんです。
私みたいなマルデダメオですが、ご指導お願い致します。
0108nobodyさん
2006/07/25(火) 15:58:21ID:???そんなにメッセンジャーがダメダメいうなら
貴方が作ったメッセンジャー以上のツールうpしてください><
どうせ電卓くらいしか作れないんでしょうけど
0109nobodyさん
2006/07/25(火) 16:08:16ID:???>>93 なぜいきなりメッセンジャーの話? フリーメールと関係ある?
ってあるけど>>87で特にhotmail使ってる奴はうんぬんかんぬんと言ったからじゃないの?
メッセ使用のほとんどはhotmail使ってるでしょ。たまに違うの見かけるけど。
なのであなたはメッセ使ってる人間をキモヲタ呼ばわりしたと解釈されてるんじゃないかなと。
0110nobodyさん
2006/07/25(火) 16:19:45ID:???フォーム認証後に条件処理で、"正"ならグーグルサイト、"負"なら2chにページを飛ばしたいのですが
fopenは「URLを開ける」と説明されていますが、実行してもページは真っ白のままです
どのような関数、スクリプトをチョイスすればいいのでしょうか?
// 認証後の処理
if($userExists[0] ==1){
fopen('http://www.google.co.jp','rb');
}
else{
fopen('http://2ch.net','rb');
}
011187
2006/07/25(火) 16:27:48ID:???市ね
switch($userExists[0]) {
case 1:
header('Location: http://www.google.co.jp');
break;
default :
header('Location: http://2ch.net');
}
0112軟式PHP
2006/07/25(火) 16:33:20ID:???0116軟式PHP
2006/07/25(火) 16:42:11ID:???<?php
switch($userExists[0]) {
case 1:
header('Location: http://www.google.co.jp');
break;
default :
header('Location: http://2ch.net');
}
header('Location: http://www.yahoo.co.jp');
?>
さぁ、どこにいくでしょう。
だから「普通」はexitを書く。わかるか?
0118110
2006/07/25(火) 16:54:16ID:???>>116
exitを書くとすれば最後でいいわけですよね?
こんなわ風に
header('Location: http://2ch.net');
exit;
}
0119軟式PHP
2006/07/25(火) 16:56:46ID:???邪道というか例なんだけど。そういうバグの危険性があるということ。
バグの危険性があるならexitで終わらせたほうがいいじゃん。
>>118
んだ。あとcase1のheaderの下にもね。
0120にせ87 = 108
2006/07/25(火) 16:57:04ID:???質問
どんな時に$userExists[0]がdefault以外になるんでしょうか??
その後に書く必要はないだろ
0121nobodyさん
2006/07/25(火) 17:09:01ID:???「正しい」と「マナーがよい」は別問題。
彼の言うのは、Location をスクリプトの最後に書けば問題ないという事なのかね。
別段、問題があるわけではないし、exit を付けても良いと思う。
人それぞれで良いじゃないか。
0122nobodyさん
2006/07/25(火) 17:09:24ID:???0123nobodyさん
2006/07/25(火) 17:10:46ID:???0124nobodyさん
2006/07/25(火) 17:16:08ID:???「正しいアルゴリズムで書いてりゃ問題ない」では、問題点がわからないじゃないか。
ただ不満を言いたいだけなら、荒らしと同義。
0125nobodyさん
2006/07/25(火) 17:19:45ID:???0126nobodyさん
2006/07/25(火) 17:33:26ID:???可読性にも繋がるしね
0127nobodyさん
2006/07/25(火) 17:52:13ID:???0128nobodyさん
2006/07/25(火) 17:53:12ID:???0129nobodyさん
2006/07/25(火) 17:54:19ID:???0130107
2006/07/25(火) 18:02:50ID:???0132nobodyさん
2006/07/25(火) 18:12:34ID:???>60
0134nobodyさん
2006/07/25(火) 18:20:42ID:???クラスのどこがわからないのかを詳しく。
「全部わからない」丸投げはご遠慮願いたい。
それは、マニュアルを見ないで努力放棄しているのと同じ。
0135nobodyさん
2006/07/25(火) 18:26:27ID:???引継ぎなら仕様書があるでしょ。使い方はそれを読む
中を弄らなければならないという場合でも所詮phpなんだし
まずはソースがあるんだから(=引継ぎ)それを理解して分からないことを質問しれ
ここは家庭教師ちゃうで
0136nobodyさん
2006/07/25(火) 18:33:58ID:???013787
2006/07/25(火) 18:49:56ID:???ちなみに>>111、>>113、>>117は偽者です。
なぜ俺が騙られたのか意味不明・・・
0138nobodyさん
2006/07/25(火) 18:52:35ID:???>6 準拠で質問していれば、偽者は排除できたわけですが…。
◆質問する場合の注意
1. 自分のIDを表示させること。(メール欄には何も記述しないでください)
0140nobodyさん
2006/07/25(火) 18:58:43ID:???「ソースを読んで理解して分からないこと」を教えてくださいよ。
107の存在意義が全くわからないんです。
0143nobodyさん
2006/07/25(火) 19:28:20ID:???以下のような感じで用いた場合にもリスクを抱え込むことになるのでしょうか?
extract($_REQUEST);
extract($_SERVER);
$Account = date("U");
$RD = fopen("password_files/".$Account.".DAT", "r"); <-重要なデータの格納されたファイルと仮定
echo fpassthru($RD);
fclose($RD);
0144nobodyさん
2006/07/25(火) 19:41:51ID:???何処で変数の初期化を忘れるかもしれないから、この程度の脆弱性について他人に訊くぐらいなら使わないほうがいい。
0146nobodyさん
2006/07/25(火) 19:55:13ID:???リスクもそうだけど、結果的に「変数の初期化をし忘れていないか」という不安を抱え込む。
extractしなければ、変数の初期化をし忘れていたら動作しない。
extract では必要な変数を初期化し忘れていると、extract で初期化されてしまうリスクを背負う。
そういうこと。
0147nobodyさん
2006/07/25(火) 20:16:57ID:???クライアントがアクセスしたhoge.php内だけでのグローバルと見て良いですか?
セッションとかにも絡まないですよね?
0149nobodyさん
2006/07/25(火) 20:20:36ID:???0150147
2006/07/25(火) 20:29:41ID:???ありがとん。
0151nobodyさん
2006/07/25(火) 20:35:57ID:???動機としては30点。
「ここで処理を終了するからexit」を堂々と書くべし。
むしろ「このページが表示されたらおかしいよ〜ん」と表示するページへの
locationヘッダを最後に入れとくくらいがいい(いや、それはさすがにやりすぎか)。
念のため〜は見えにくいバグを作る原因になりがちだからな。
0156nobodyさん
2006/07/25(火) 23:52:02ID:???<?require('hoge.php')?>
みたいにしてphpを埋め込んで使ってるんですが、
phpを埋め込んだ行のところでどうしても空行が入ってしまって困ってます。
空行ってのはhtmlのソース上で入るんではなくて、
何故かブラウザの表示上で入ってしまうんです。
(XP IE6)
htmlのソースの表示をすると空行などなく変なスペースとかも入ってないのでおかしな話なんですが、
どうしても解決しません。
読み込んでるhoge.phpは単に
<?php
echo <<<EOF
<div class="hoge">テキスト</div>
EOF;
?>
くらいしか書いてません。
同じものをhtmlに直接埋め込んだ形にすると、特に問題なく表示されるのですが…
どなたかアドバイス頂けますでしょうか、よろしくおねがいします。
0157nobodyさん
2006/07/25(火) 23:59:02ID:???> htmlのソースの表示をすると空行などなく変なスペースとかも入ってないのでおかしな話なんですが、
であれば、PHP の話題じゃないな。
0159nobodyさん
2006/07/26(水) 00:42:13ID:???そのHTMLを名前をつけて保存する→保存したHTMLをローカルで表示してみる
で、問題が再現するならHTMLやCSSの問題であってPHP関係ないので他所行って。
0160nobodyさん
2006/07/26(水) 00:49:07ID:???0161nobodyさん
2006/07/26(水) 00:50:21ID:???JSPならHttpServletRequestからgetInputStreamで取り出して、という手順で可能なのですが。
0162nobodyさん
2006/07/26(水) 00:53:09ID:???> 空行ってのはhtmlのソース上で入るんではなくて、
> 何故かブラウザの表示上で入ってしまうんです。
> htmlのソースの表示をすると空行などなく変なスペースとかも入ってないのでおかしな話なんですが、
先に確認したいんだが、「ソースの空行」と「ブラウザ表示上の空行」って違うよな?
ソースに空行があった場合、ブラウザ上では空白のように表示されるわけで見た目は空行にはならない。
話がそこから混乱してるので、症状の説明はもうちょい正確に頼む。
0163nobodyさん
2006/07/26(水) 01:22:39ID:+cVLS530<?php
$word1= "日本語";
$word2 = "English";
$word3 = "日本語English";
print ( $word1 ) . "<br>\n";
print ( $word2 ) . "<br>\n";
print ( $word3 ) . "<br>\n";
print strlen( $word1 ) . "<br>\n";
print strlen( $word2 ) . "<br>\n";
print strlen( $word3 ) . "<br>\n";
print mb_strlen( $word1 ) . "<br>\n";
print mb_strlen( $word2 ) . "<br>\n";
print mb_strlen( $word3 ) . "<br>\n";
?>
このようなスクリプトを書いて、ブラウザで表示したところ
日本語
English
日本語English
6
7
13
5
7
11
と表示されました。
strlen関数のほうは、ちゃんとバイト数を表示しているのですが
mb_strlen関数のほうが、2バイト文字が入っていると計算間違いを起こします。
これは、どのような原因なのでしょうか?
ご存知の方がいらっしゃいましたらご教授お願いします。
0164nobodyさん
2006/07/26(水) 01:23:48ID:???ttp://www.php.net/manual/ja/wrappers.php.php
> php://input
ってファイルを開けば読める。
他に $HTTP_RAW_POST_DATA って変数もあるんだが、
ttp://jp.php.net/ini.core
これはphp.iniで always_populate_raw_post_data ってのをONにしないと
メモリを余分に食うので標準では使えないようにされてる。
0165nobodyさん
2006/07/26(水) 01:28:43ID:???mbstringの設定が間違ってるんじゃないの?文字コードを正確に認識できてないんだと思う。
phpinfo() や echo mb_internal_encoding(); で今の文字コードが何になってるか確認してみれば?
0166nobodyさん
2006/07/26(水) 01:30:03ID:???requireで外部からヒアドキュメントを読み込んだ場合と、
それをそのままhtml内に記述した場合
この二つものがソース上では一緒なのに、なぜか違う結果になる(ブラウザ上で空行が入る)、
というのが問題だったのですが、一応解決?しました。
ネストの親に当たる部分のdiv要素(.hogehoge)もhoge.phpの中身に一緒に書き込んでやると、
問題ない表示が実現しました。
単にネストされてるだけでクラス的には親子関係にないから関係ないと思っていたのですが…。
requireすると読み込みの遅れが生じてCSSの判断にバグでも出るんですかねえ、以下ソースです。
やっぱりCSS噛んだ話でごめんなさい
.hogehoge{
width: 100%;
margin: 0 0 10px 0;
display: inline;
}
.hoge{
float: left;
margin: 0 14px 0 0;
display: inline;
width: 127px;
}
<div class="hogehoge">
<div class="hoge">
テキスト
</div>
</div>
0168nobodyさん
2006/07/26(水) 01:33:59ID:???全体的に hoge だらけで意味不明。
> requireすると読み込みの遅れが生じてCSSの判断にバグでも出るんですかねえ、以下ソースです。
読み込み遅れ(って言い方も変だが)で問題とかあり得ない。
0169nobodyさん
2006/07/26(水) 01:34:57ID:???> requireすると読み込みの遅れが生じて
読み込みしてるのはApacheであってブラウザじゃない。
CSSの解釈はブラウザが行っている。
よってCSS解釈のタイミングでは遅延は一切発生していない。原因はまた別にある。
0170nobodyさん
2006/07/26(水) 01:44:20ID:???んーと?つまり、「テキスト」に対して
class=hogehogeが適用されると「テキスト」の下に空行が出て、
class=hogeが適用されてる場合は空行は出ない、ってことなんだな?
<html>
<style type="text/css">
.hogehoge{
width: 100%;
margin: 0 0 10px 0;
display: inline;
}
.hoge{
margin: 0 14px 0 0;
display: inline;
width: 127px;
}
</style>
<body>
aaaaaaaaaaa<br>
<div class="hogehoge">
<div class="hoge">
テキスト
</div>
</div>
aaaaaaaaaaa<br>
</html>
このHTMLをIE6で見たら普通に空行が出てくるぞ。PHP関係ない。
むしろ空行が消える=CSSの指定が一部無視されている、ように思うが?
0171nobodyさん
2006/07/26(水) 02:00:28ID:???ああ、大事な空行の出る場所を書き忘れてましたね
ちがうんです、requireすると空行が出るのは下ではなく上なんですよ
下に出るのはCSSでマージン取ってるから問題ないんです
その例だとrequireした結果は
aaaaaaaaaaaa
テキスト
aaaaaaaaaaaa
になっちゃうのが困ってるんです
html側
<div class="hogehoge">
<?require='hoge.php'?>
</div>
hoge.php側
<?
echo <<< EOF
<div class="hoge">
テキスト
</div>
EOF;
?>
0173nobodyさん
2006/07/26(水) 02:12:38ID:???同階層のbasic.cssですー
headタグ内に書いてますので当然bodyより先読みです
<link rel="stylesheet" href="basic.css" type="text/css" media="all" />
ついでにいうと互換モードで書いてます
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
あとさっきのちょっと間違ってましたね
○ <?require( 'hoge.php' )?>
× <?require='hoge.php'?>
0174nobodyさん
2006/07/26(水) 02:15:51ID:???結局全部は提示しないのね。
書かない所に原因があるかもしれない訳じゃない?
後出しじゃんけんばっかりやってると、誰も相手しなくなるよ。
0175nobodyさん
2006/07/26(水) 02:20:53ID:???0177nobodyさん
2006/07/26(水) 02:37:24ID:???まんま渡すと何がなにやらわからなくなると思うので、
自分なりに絞ってみたんですが、それがよくなかったようですね
もうちょっと条件を絞り込んでから出直してきます
ありがとうございます
0178nobodyさん
2006/07/26(水) 02:59:01ID:???自分とこで調べるにしても、まず余分なものを除去したもので再現させて
原因となりうるものを絞り込むのはデバッグ手法の常識。
0179163
2006/07/26(水) 03:13:33ID:+cVLS530mbstringの設定は
mbstring.encoding_translation = On
mbstring.language = Japanese
mbstring.internal_encoding = EUC-JP
mbstring.http_input = auto
mbstring.http_output = pass
mbstring.detect_order = auto
mbstring.substitute_character = none;
mbstring.func_overload = 0
というような感じになっています。
あまり良くわからないのですが、いろいろ調べて推奨されているもので自分の環境に合うものを選んだつもりです。
いろいろ弄ってはみたのですが状況は変わりません。
文字コードが認識されていないとのことですが
ここの設定で何とかなるものなのでしょうか?
0181nobodyさん
2006/07/26(水) 03:31:40ID:???物の見事に>>163と同じ結果になったりするわけだが。
とりあえず一言。「意味も分からないまま真似だけするのはやめれ」
0182nobodyさん
2006/07/26(水) 07:07:37ID:???print mb_strlen( $word1, "sjis") . "<br>\n";
print mb_strlen( $word2, "sjis") . "<br>\n";
print mb_strlen( $word3, "sjis") . "<br>\n";
0183nobodyさん
2006/07/26(水) 08:16:20ID:???href=?htt?://www.2ch.net?
0184nobodyさん
2006/07/26(水) 14:37:04ID:cMjm+LpN0185nobodyさん
2006/07/26(水) 15:46:13ID:???0186nobodyさん
2006/07/26(水) 16:32:43ID:ZgT+QHaO0187nobodyさん
2006/07/26(水) 17:10:12ID:???天才ハッカー登場
http://pc8.2ch.net/test/read.cgi/hp/1137589842/1-5
0189nobodyさん
2006/07/26(水) 17:16:22ID:???<div class="comment">
こんにちは!!</div>
</div>
0191nobodyさん
2006/07/26(水) 17:53:30ID:???・・・・・・・・・・・掲示板破壊・・・・・・・・・・
</FONT></B>
0194nobodyさん
2006/07/26(水) 19:11:42ID:kip7lvkmでも訪問者にソース見られてもスクリプトのところは隠れるって凄いね。どうやってんだろ?
俺が書いたら丸見えなんだけど・・・。
0195nobodyさん
2006/07/26(水) 19:18:56ID:???0196nobodyさん
2006/07/26(水) 20:55:14ID:???0198193
2006/07/26(水) 21:23:34ID:???ほとんどの掲示板は <>& が実体参照に置き換えられるから、クロスサイトスクリプティングは使えないという認識だけど、見当違いの事を言ってる?
0199163
2006/07/26(水) 21:54:15ID:???いろいろ試してみて、結局はApacheとphpをインストールしなおして同じように設定したら直りました。
(私は、WindowsにApacheを組み込んでいます。)
結局アンインストールしてしまったので、原因が特定できなかったのですが
私が思うに、php.iniの書き換えた情報が適応されていなかったのではないかと思いました。
phpinfo()をみても、表示が変わらなかったので・・
折角アドバイスいただいたのに、結果がこれでごめんなさい(泣
また何かあったらお願いします。
0201nobodyさん
2006/07/26(水) 22:54:36ID:l/6BBPaW良いのでしょうか?
思いついたのは、以下の2つですが、合っていますか?
intval($_POST['id']) してから、is_int する
is_numeric($_POST['id']) する
よろしくお願いします。
0204nobodyさん
2006/07/26(水) 23:24:00ID:oSPf1yZU多分文字コードを 「UTF-8 で ボムを含める」でやってるからだと思う。
AJAXをやると、「UTF-8 で ボムを含める」の文字コードを使用するのが
常識だけど、それやると header 関数も動かなくなるんだよね。
ということで、解決策。
「UTF-8 で ボムを含めない」 に変換して下さい。
(マックだとAJAX動かなくなるけど、この際無視)
0206nobodyさん
2006/07/26(水) 23:39:39ID:???勘弁してやれなり。
0207nobodyさん
2006/07/27(木) 01:53:44ID:???二つのXMLファイルを読み込んだ後
それぞれのノードを統合してほげほげしたいのですが
配列のように統合する方法はないのでしょうか?
0208nobodyさん
2006/07/27(木) 01:55:23ID:???普通に考えたらis_numericじゃ?
つか、intvalしちゃったらどんなデータでも整数になっちゃうだろ。チェックの意味ねぇ。
ノーチェックで、何がきてもエラーを出さないようにする対策として使うなら前者。
0210nobodyさん
2006/07/27(木) 02:32:55ID:???0211nobodyさん
2006/07/27(木) 02:46:08ID:???0212nobodyさん
2006/07/27(木) 03:25:03ID:J0an5vjc環境はwindowsXP、IIS、PHP5です。
今やりたいのはexec()を使って
exec('"c:\Program Files\Adobe\Acrobat 7.0\Reader\AcroRd32.exe" /p /h hoge.pdf');
などとして印刷する処理をしたいのです。
でも、これだととまってしまいます。
PHPから外部アプリケーションの起動ができないのかと思い、
試しに
exec("c:\Program Files\Adobe\Acrobat 7.0\Reader\AcroRd32.exe");
とやっても起動しませんでした。(コマンドプロンプトでは起動確認済み)
サーバ側のプログラムは起動しない仕様なんでしょうか?
それとも別のやりかたがあるのでしょうか?
0213nobodyさん
2006/07/27(木) 04:28:02ID:???IISのユーザ権限とかも影響するかもしれないので何とも言えないが、
PHPからexec()でサーバー上のアクロバットリーダーのプログラム起動や印刷は可能。
> exec('"c:\Program Files\Adobe\Acrobat 7.0\Reader\AcroRd32.exe" /p /h hoge.pdf');
hoge.pdfもフルパスで指定してみては?
> exec("c:\Program Files\Adobe\Acrobat 7.0\Reader\AcroRd32.exe");
これは
exec('"c:\Program Files\Adobe\Acrobat 7.0\Reader\AcroRd32.exe"');
と指定しないとパスに空白を含むのでシェルが認識できない。
0214nobodyさん
2006/07/27(木) 05:14:20ID:???「起動しませんでした」てのは何を確認したの?
実行時のメモリー足りてる?
exec('"・・・・・ hoge.pdf > c:\hoge.txt');
とかしてコマンドの出力を調べてみれば何かわかるかも
0216nobodyさん
2006/07/27(木) 09:07:25ID:???当たり前のように、指定ページは「直リン」できてしまう状況です
直リンさせないようにするには、どのような方法があるのでしょう?
ぐぐる先生も上手くヒットさせてくれませんでした
IIS6+PHP5+mySQL5です
おながいします
0219nobodyさん
2006/07/27(木) 12:10:51ID:???PHPのsessionってどれくらいの期間サーバーに保存されるんですか?
あまり保存期間が長すぎたらサーバーに負担かかる?
0221nobodyさん
2006/07/27(木) 12:57:56ID:???ということをしたいんですが、
どんな関数使えばいいでしょうか?
zlib とか gz とか色々調べたんですがよくわからないのですorz
0222212
2006/07/27(木) 12:59:34ID:J0an5vjc>>214
>>215
回答ありがとうございました!
まず>>213さんの
>exec('"c:\Program Files\Adobe\Acrobat 7.0\Reader\AcroRd32.exe"');
>と指定しないとパスに空白を含むのでシェルが認識できない。
ということだったので
exec('"c:\Program Files\Adobe\Acrobat 7.0\Reader\AcroRd32.exe"');
としたところ、ブラウザが「・・・を開いています」のまま動きません。
>>214さんのように
exec('"c:\Program Files\Adobe\Acrobat 7.0\Reader\AcroRd32.exe" > hoge.log');
としてみましたが、同じ結果でした。
>>215さん
exec()の第2、第3引数ですね?リファ確認してみます。
0223nobodyさん
2006/07/27(木) 13:15:03ID:OicfcVgw>としてみましたが、同じ結果でした。
hoge.logを見てみろって
0225nobodyさん
2006/07/27(木) 18:04:59ID:02auc3if「20030710.txt」←のように、数字が8個並ぶ拡張子「.txt」のファイルを探したいのですが
glob('[0-9]{8}\.txt');
↑数字を8回繰り返すこれだとマッチせず、
glob('[0-9]*\.txt');
↑数字を一回以上繰り返すこちらだとマッチします。
数字が8回繰り返す正規表現は[0-9]{8}でいいと思うのですが、glob()関数だと違うのでしょうか。
ちなみに文字列検索ではマッチします
ereg('[0-9]{8}\.txt','20030710.txt');
0227nobodyさん
2006/07/27(木) 18:21:30ID:???PHPは知らんけど。
0231nobodyさん
2006/07/27(木) 18:39:23ID:???0232nobodyさん
2006/07/27(木) 18:41:12ID:???おそらく全員が釣りだと思っていたはず。
<?php
phpinfo();
?>
と書いたファイルにtest.phpという名前をつけて
アップロードしてアクセスしてみて。
0233nobodyさん
2006/07/27(木) 19:19:40ID:s2/F2cYJ実在する行より1行多く読んできて、最後が空行になってしまいます。
次のような簡単なソースです。
$fp = fopen("data.txt", "r+");
if ($fp){
flock($fp, 2);
while (!feof($fp)){
$list[] = fgets($fp);
$i++;
}
}
}
data.txtには3行の記述があり、最後の行もきちんと改行で終わり、
最後に余計な改行などは入っていません。
ところが、 $i が 4となってしまい、$listも、 $list[3]まで作られ、中身は空です。
PHPは前からやっていたんですがこうなったことはないのですが、
いったいどんな原因が考えられますか?
0235nobodyさん
2006/07/27(木) 19:31:44ID:h5ch3/9D下記のような場合、どうすればこちらが意図した通りに処理してくれますか?
$text = '!0! !1! !2!';
$serach = '!([0-9]{1,3})!';
ereg($serach,$text,$key);
foreach($key as $key_arr) {
echo $key . 'ですぅ<br>';
}
0ですぅ
1ですぅ
2ですぅ
こんな感じで表示させたいのですが$keyに0しか入らないみたいなんです。
教えていただけないでしょうか?
0236nobodyさん
2006/07/27(木) 20:15:19ID:???$serach = '!([0-9]{1,3})!';
ereg($serach,$text,$key);
foreach($key as $key_arr) {
echo $key . 'ですぅ<br>';
}
これを
$text = '!0! !1! !2!';
$serach = '!([0-9]{1,3})!';
ereg($serach,$text,$key);
foreach($key as $key_arr) {
echo $key . 'です<br>';
}
こう変える
0237nobodyさん
2006/07/27(木) 20:45:34ID:???何処から突っ込んだら良いのか
とりあえずserach→searchな。
ereg系関数はpreg系関数と比べて大抵かなり遅いから出来れば使わないように。
foreachなのになんで$key_arr?
なんでforeach内で配列使う?
$text = '!0! !1! !2!';
$serach = '/!(\d{1,3})!/';
preg_match_all($serach, $text, $key_arr);
foreach($key_arr[1] as $key => $value) {
echo $key . 'ですぅ<br>';
}
0238237
2006/07/27(木) 20:47:10ID:???だな、スマソ
0239237
2006/07/27(木) 20:48:44ID:???$text = '!0! !1! !2!';
$search = '/!(\d{1,3})!/';
preg_match_all($search, $text, $key_arr);
foreach($key_arr[1] as $value)
echo $value . 'ですぅ<br>';
0240nobodyさん
2006/07/27(木) 22:51:30ID:S/uf8GoHfunction test($a) {
switch ($a) {
case 'a':
return 'あいうえお';
case 'ka':
return 'かきくけこ';
}
}
こう書いても問題ないッスよね?
それとも、
function test($a) {
switch ($a) {
case 'a':
$result = 'あいうえお';
break;
case 'ka':
$result = 'かきくけこ';
}
return $result;
}
と書いた方がよいのでしょうか?
0241nobodyさん
2006/07/27(木) 23:31:43ID:???まあ、caseが2つならif elseifで済ましてしまうが。
個人的には下。returnする前に何か処理が入る必要が出た時のために。notice対策でswitchの前に$return = null;で初期化しておく。
0243nobodyさん
2006/07/28(金) 00:25:54ID:???最後の行が改行で終わってる場合、3行目を読み込んだ時点ではeof()は立たない。
(EOFを認識する前に、改行を認識した時点でfgets()は制御を戻してしまうため)
さらに4回目のfgets()が動くとEOFを認識し戻り値がFALSEとなり、eof()が立つようになる。
(var_dump()してみれば分かるが、$list[3]は string(0) "" ではなく bool(false) になってるはず)
普通、そういう読み込みループは
while (($line = fgets($fp)) !== FALSE){
$list[] = $line;
$i++;
}
と書くか
while (!feof($fp)){
$line = fgets($fp);
if($line === FALSE) break;
$list[] = $line;
$i++;
}
のように書く。
PHPは前からやってたって言うけど、それにしちゃ経験浅すぎない?
その辺り、公式マニュアルのfgetsの説明に
ttp://www.php.net/manual/ja/function.fgets.php
> 陥りやすい罠:
> C 言語の fgets の動作に慣れている人は、EOF を返す条件の違いについて 注意する必要があります。
という感じで注意書きがされているよ。
0245nobodyさん
2006/07/28(金) 00:52:33ID:/hbJS61yEXIFは空なのでここに書いてある情報は使えないものとします。
0248nobodyさん
2006/07/28(金) 01:28:16ID:???ttp://jp.php.net/manual/ja/function.getimagesize.php
0250nobodyさん
2006/07/28(金) 01:39:36ID:???これに反省したらもっとマニュアルをきちんと読むように。
そんな分かりにくい場所に書いてあるわけじゃないだろう。
0251245
2006/07/28(金) 01:40:36ID:???0252nobodyさん
2006/07/28(金) 01:51:28ID:???0253nobodyさん
2006/07/28(金) 02:12:26ID:???その知識で簡単に使えるものは無いだろうね。
>>222
exec("command -o -p -t", $returndata, $returncode);
var_dump($returndata); var_dump($returncode);
215はこういうこと。ちなみに214のhoge.log=$returndata
とりあえずIISはおいといて、タスクマネージャ見ながらCLIで動かしてみて。
0254212
2006/07/28(金) 04:22:07ID:hIe930sx>hoge.logを見てみろって
hoge.logをnotepadで開いたところ、ファイルの中身は空っぽでした。
でも、ファイルは作られてます。
>>253
>exec("command -o -p -t", $returndata, $returncode);
>var_dump($returndata); var_dump($returncode);
>215はこういうこと。ちなみに214のhoge.log=$returndata
>とりあえずIISはおいといて、タスクマネージャ見ながらCLIで動かしてみて。
ブラウザ以外でやったことないので不慣れですが、CLIというのをやってみます。
回答ありがとうございました。
今のところ↓みたいなのになります。
CGI Timeout
The specified CGI application exceeded the allowed time for processing.
The server has deleted the process.
0255nobodyさん
2006/07/28(金) 04:34:49ID:???実はサーバー側でちゃんと起動してたんだがそのままウインドウが出たままになって終了せず、
その終了をずっと待ってたPHPがタイムアウトで終了しただけ、とかいうオチじゃないだろうな。
サーバーマシン側の画面はちゃんと見ているの?
そもそもIISってバックグラウンドのサービスで動かしてるのか?だとするとウインドウアプリケーションって
表示できずに裏で固まってたりするんじゃないのか?
0256nobodyさん
2006/07/28(金) 04:51:56ID:???拡張子偽装ファイルとかではなく真の .jpg です。
getimagesize に変わる方法や回避策などありませんでしょうか
環境はPHP Version 5.1.4 GD Version bundled (2.0.28 compatible) です。
0258nobodyさん
2006/07/28(金) 05:08:48ID:???じゃ、基本 DCT 方式じゃない JPEG なのかも。
どういう JPEG ファイルか中身を見てみないと分からん。
0259nobodyさん
2006/07/28(金) 06:32:58ID:???上記のような画面遷移で、あるフォームから投稿された内容をDBに保存する前に、表示確認画面を挟むとします。
このとき、(A)で投稿された内容を(B)で表示する場合にはもちろんエスケープして表示するのですが、
(C)に渡すために(B)にhiddenで埋め込んだ内容データはエスケープしなくていいんですよね?
っていうか、エスケープしちゃったら元の内容と違っちゃう(たとえば改行が<BR>に変換されちゃう等)ので
(A)で投稿された生のままhiddenに入れるべきですよね?
それで何かセキュリティ上の問題って起きますでしょうか。
0260nobodyさん
2006/07/28(金) 06:57:41ID:???エスケープしとかないと途中に"とか入ってた場合にinputタグが壊れるだろう。
セキュリティとか以前の問題だぞそりゃ。
0261nobodyさん
2006/07/28(金) 07:08:35ID:???あっ、そっか・・・
でもエスケープしちゃったら、元のデータが再現できないですよね?
DBに入れたものを取り出してエスケープして表示するときに、<BR>が二重になっちゃうし・・・
0265nobodyさん
2006/07/28(金) 07:53:04ID:???0266nobodyさん
2006/07/28(金) 07:59:42ID:???DBから取り出した後(HTMLで表示する直前)、
この2回のタイミングでhtmlspecialcharsをかけると・・・
0269nobodyさん
2006/07/28(金) 08:04:27ID:???> DBに入れる前(フォームから投稿された直後)と、
マテ。DBに入れる前に何故htmlspecialcharsなんてかけるか。
フォームから投稿
→確認ページでhiddenにセットするときにhtmlspecialchars
→再投稿(アンエスケープされた状態になる)
→そのままDBに格納
でいいだろが。
0271nobodyさん
2006/07/28(金) 09:59:52ID:???なるほど。ありがとうございます。
ちなみにC言語はやったことがないので、違いを認識することはできません。
そのページの著者の予定では、C言語をやったことがない人は罠には引っかからないはずなんだけど、
fgetsのマニュアルのページで、4096バイトずつとりだすやり方のみ例文となっており、
Lengthを指定しない形での例がないことから、
そのままそこに載っているバイト指定で取り出すルーチンを使ってしまうという結果になってました。
これはC言語をやったこがある人ならば、その注意書きにより気づくかもしれませんが、
やったことがない人は何の疑問も抱かずその例1のルーチンをそのまま使う罠にはまりやすいと思います。
0272nobodyさん
2006/07/28(金) 10:09:38ID:???オマエだけ
他人のルーチンを理解せずそのまま使う方が悪い
普通はどういう処理をしてるか理解して、自分が望む処理でない場合は修正してから使うもんだ
0275nobodyさん
2006/07/28(金) 10:50:41ID:???上のページは「フォーム認証」画面
認証後、下のページに「正」ならA.html、「誤」ならB.html
と表示させたいのですが、上手くいきません
PerlではWindow-taegetなる関数があるのでPHPでやってみたのですが無駄でした
どのような方法がありますでしょうか?おながいしまつ
//現状のソース
switch($userExists[0]) {
case 1:
$_SESSION['username'] = $username;
header('Location: MAIN.html Window-target:right');
break;
default:
header('Location: ERROR.html Window-target:right');
}
0276nobodyさん
2006/07/28(金) 10:56:13ID:???確認画面のhiddenで勝手な投稿がされてしまうんなら、
元々の投稿フォームだって勝手な投稿ができちゃうってば。
内部データを外に出してるわけじゃないんだよ?
0277nobodyさん
2006/07/28(金) 11:04:25ID:???わかった、きっと仮投稿段階ですでにDB上にデータを置いてだな、
それを認証する形なんじゃないか?
で、一定時間を過ぎて認証がなされなかった仮投稿データは破棄される…と。
マンドクセー
0278nobodyさん
2006/07/28(金) 11:06:51ID:???> fgetsのマニュアルのページで、4096バイトずつとりだすやり方のみ例文となっており、
> Lengthを指定しない形での例がないことから、
君は大きな思い違いをしている。
今回の問題はEOFの認識の問題であってLengthなんて「全く」関係ない。
> これはC言語をやったこがある人ならば、その注意書きにより気づくかもしれませんが、
C言語とか関係なく、例では無条件に全ての結果をechoで表示してる(これは最後に空行を出力する)を、
君が何の疑問も抱かずにそのまま配列に格納するよう改造してしまっただけの話。
単に、君が関数の説明文の意味を理解できてないだけ。
自分で解釈せず、何でもコピペで済ますからそうなる。
マニュアルの例文は、実際に実行してみればファイルに存在しない空の1行を出力するので、
EOFの扱いとfgetsの挙動について理解しやすいものとなっている。
それを実際に試しもしないで使う方が悪い。
0279nobodyさん
2006/07/28(金) 11:18:33ID:???> PerlではWindow-taegetなる関数がある
そんな関数は無いよ。Window-targetってのはHTTPヘッダの1種。
header('Location: MAIN.html');
header('Window-target: right');
という風にすれば使える。
でもこれIEでも使えるんだっけ?Netscape独自拡張だと思ってたけど。
> どのような方法がありますでしょうか?おながいしまつ
上のフォームで<form action="〜" target="right">と指定するだけ。
0282nobodyさん
2006/07/28(金) 12:19:19ID:???まあいままでファイル全部を書き直す場合があるのは、
任意行の削除と、任意行のデータ変更のみで、
この場合、配列の最後にstring評価した場合の空文字が入っていても、
echo ""; が実行され、ファイルには何の影響も与えず、
結果的にまったく動作に問題なかったため気づきませんでした。
0283nobodyさん
2006/07/28(金) 12:41:41ID:???0285235
2006/07/28(金) 13:03:50ID:brf1+TV+ありがとうございます。
無事、意図した動作をするようになりました。
経験豊富な貴方みたいな方に教わりたかた
0286nobodyさん
2006/07/28(金) 13:06:06ID:???こっちはつながるよ
0288nobodyさん
2006/07/28(金) 14:17:00ID:???> →再投稿(アンエスケープされた状態になる)
えっっっ!!!!???? ・・・そうなの!?
エスケープされた状態のデータをhiddenで埋め込んで再POSTすると
アンエスケープされるなんて、初耳だぞ。
そんなのマニュアルに載ってたっけ??(もしかしてPHPじゃなくてHTTPの話かな?)
0291nobodyさん
2006/07/28(金) 15:08:06ID:???出来ない。
hiddenのほうから直接やればいいんだし。
ワンタイムチケットとかRefererチェックやれば対応できるがどちらも一長一短
0292nobodyさん
2006/07/28(金) 15:12:10ID:???ログの保存はファイルに書くのとMySQLに入れるのどちらが負荷小さいですか?
0293nobodyさん
2006/07/28(金) 15:14:17ID:???アクセスログを全て記録しっぱなしでランダムアクセスするならデータベースのが有利だな。
100件とか1000件で固定するならファイルで充分
0294nobodyさん
2006/07/28(金) 15:23:15ID:???0295nobodyさん
2006/07/28(金) 15:36:37ID:???データベースの方がいいんじゃないか。
0296nobodyさん
2006/07/28(金) 16:38:07ID:???どのような設定が必要なんでしょうか。。。?
0297nobodyさん
2006/07/28(金) 16:40:22ID:???$temp_file はテンポラリに入っています。書き出す前です。
この様な段階でme5_file する事は無理なのでしょうか?
現在は move_uploaded_file chmod で一度書き出し me5_file した後 unlink で消しています。
この様な面倒な方法以外の方法があればご教示ください。
0301nobodyさん
2006/07/28(金) 19:32:50ID:qH9kRSG5登録したユーザー同士でセカンドメールを与えるという物です。
[email protected]に[email protected]
[email protected]に[email protected]を与え、
[email protected]から[email protected]宛てに送られたメールを
From: [email protected]として、[email protected]に送るような感じです。
1対1のメーリングリストのようなイメージです。
環境は、mod-perl+MySQL+qmail+vpopmailで、vpopmailのユーザー管理はMySQLにしています。
現在はSubjectに送りたい方のidを入力してもらって、[email protected]を窓口にして転送してます。
パイプでperlに標準入力としてメールを渡し処理しています。
もっと直感的なシステムを作りたく、ご相談します。
こういう場合、各ID毎のメールアカウントを作る必要はないのでしょうか?
0302301
2006/07/28(金) 19:33:57ID:qH9kRSG50303nobodyさん
2006/07/28(金) 20:27:58ID:???投稿内容に半角英数字で途切れない長い一文(たとえば長いURLなど)があると、
それをテーブルで表示したときにピクセル指定してあるテーブルの幅で自動改行されずに
どこまでも延びていってしまい、レイアウトが崩れます。
英数字だけならchunk_splitやwordwrap関数で対処できるのですが、
日本語も混じっている文章の場合だと、それらの関数では文字化けしてしまいます。
この場合どうやって一行の長さを制御すれば良いのでしょうか?
0304nobodyさん
2006/07/28(金) 20:37:06ID:???どの程度のレベルでやりたいのかは知らないけど、
一文字づつ走査していきつつ、
半角か?全角か?
半角から全角に(全角から半角に)文字が変わったか?
スペース(全角含む)か?
を調べ、文字列に追加していけばいいんじゃない?
0305nobodyさん
2006/07/28(金) 20:51:29ID:???フォルダからファイル名と数の取得
ファイル数が0ならこれより下の処理を行わない
ファイルの処理
?>
このような順番で処理を行いたいのですが、
if(!ファイル数==0){
ファイルの処理
}
でもいいと思うのですが、
”ファイル数が0ならこれより下の処理を行わない”
ここはどんな命令を書けばいいでしょうか?
関数内ではないのでreturnはつかえないですし、
caseでもないのでbreak文もつかえないみたいです。
0306nobodyさん
2006/07/28(金) 20:52:09ID:???え〜、そこまで回りくどい方法でやらないと実現できないのかな?
逆にPHPで解決するんじゃなくて、HTMLやCSSのレベルで解決できないもんかな。
ミクシィの日記とかはしっかりテーブルの幅で英数字が自動改行されるけど、
あれはどうやって実現してるのだろうか・・・。
0310nobodyさん
2006/07/28(金) 21:00:35ID:???だった。
0311306
2006/07/28(金) 21:04:51ID:???td { word-break : break-all; }
0316nobodyさん
2006/07/28(金) 22:21:20ID:???まずさ、PHPでメールを送信ってことになると、メールサーバに送信を依頼するわけだ。
という事はまずメールサーバをたてなきゃならない。
でも、ここはPHPスレだ。分かるな?
まぁ、とりあえずメールサーバをたてる説明が載ってる簡単な解説本買ってきたほうが良いんじゃないか?
0317nobodyさん
2006/07/28(金) 22:25:10ID:???という仕組みなんですか?
0318nobodyさん
2006/07/28(金) 22:29:42ID:???0322nobodyさん
2006/07/28(金) 22:51:07ID:???SMTP = smtp.mail.yahoo.co.jp
smtp_port = 25
; For Win32 only.
sendmail_from = *****@yahoo.co.jp
とすると、
SMTP server response: 521 smtp.mail.yahoo.co.jp closing transmission channel. You must be pop-authenticated before you can use this smtp server,
and you must use your yahoo mail address for the Sender/From field. in
と返ってきました。Yahooじゃだめなんですね・・・。
0323nobodyさん
2006/07/28(金) 23:30:55ID:???0324nobodyさん
2006/07/28(金) 23:31:57ID:???つまり、メールサーバでぐぐらなきゃいけない。分かるな?
あなたは根本的に調べる努力が足りない。
節度ある人なら、調べてから質問するものだ。
0325nobodyさん
2006/07/28(金) 23:37:29ID:???これでも参考にしろ:
http://pc8.2ch.net/test/read.cgi/php/1017456911/647-659
0326(^ω^)
2006/07/29(土) 00:06:35ID:???エラーメッセージの1行目は
http://e-words.jp/w/POP20before20SMTP.html
を参照
0327nobodyさん
2006/07/29(土) 00:54:29ID:o/NOOu9zここに、<A href="sample.php">で、
http://example.com/sample.phpへのリンクが貼られますけど、
http://example.com/index.php/hogehoge/
ここに、<A href="sample.php">で、
http://example.com/index.php/sample.phpになってしまいます。
どちらからアクセスしても、
http://example.com/sample.phpへのリンクを貼ることはできないのでしょうか?
また、http://example.com/がhttp://abc.example.com/やhttp://test.example.com/に変わったりを
すること前提でお願いします。(相対パス)
0328nobodyさん
2006/07/29(土) 00:55:54ID:???0330nobodyさん
2006/07/29(土) 00:58:33ID:o/NOOu9z<? $_SERVER['PHP_SELF'];?>を使ったり、似たような感じで
0331nobodyさん
2006/07/29(土) 01:00:58ID:???/
033284
2006/07/29(土) 01:04:06ID:3hlZJo6Tを使ってwebプログラムを作りたいのですが、設定の方法がわかりません。
WindowsXPProSP2,Apache2,php5.1,を使っています。php.iniとhttp.confを
いじるのでしょうか?その手のsiteの情報でもかまいません。お願いします。
0334nobodyさん
2006/07/29(土) 01:13:23ID:???ググって参考になるサイトがなかったから書き込みしてるんだろ
0335nobodyさん
2006/07/29(土) 01:15:18ID:3fQzY82m0337nobodyさん
2006/07/29(土) 01:20:50ID:???PEARとか文献少なくて苦労したけど、ソース読めば分かるしね
0338nobodyさん
2006/07/29(土) 01:20:59ID:???はぁ? ググったら DB2 知らん俺にもすぐ出来そうだったぞ。
ググって分かりそうだからググれって書いたまでだ。
情報検索能力を磨け。
0340nobodyさん
2006/07/29(土) 02:30:05ID:???0341nobodyさん
2006/07/29(土) 02:49:30ID:???ここはそういうスレだからなぁ。
押し付けられるのがイヤなこのスレに来るんじゃねぇ。
>>332
初心者がどうしてわざわざDB2? 素直にMySQL使いなさい。
0342nobodyさん
2006/07/29(土) 03:05:59ID:br9tPqMJ最近特にそんなのが多いな。
0343nobodyさん
2006/07/29(土) 03:12:17ID:???まあ別にいいじゃん。
初心者はググり方が分からない、または良いググり方を考えるのがめんどくさい時もある。
そんなときの質問スレ。
答えるのは義務じゃないんだから、イヤだったらスルーしれ。
0344nobodyさん
2006/07/29(土) 03:25:10ID:???くだ質なんだし、マッタリ行こうぜ
ただ、PHPとかじゃなくてプログラミングの仕方が分からないってのはどうしたものかな?
0345nobodyさん
2006/07/29(土) 03:39:28ID:???どうしたもんか悩んでしまうな。
>>317とか。
0347nobodyさん
2006/07/29(土) 06:59:35ID:???別に「以前」でも「以後」でもないと思うが。
ただ単に種類が違う話なだけで。
そしてWebアプリではHTTPやサーバ周り等も密接に関連するので、このスレで質問してOK。
厳密にPHP以外の話題が来るとすぐに「スレ違い」とか言うヤツはウザい。というか考え方が間違っている。
イヤなら見なけりゃいいのに。
0348nobodyさん
2006/07/29(土) 07:09:50ID:???ここはPHPスレです。Webアプリ全般や、HTTP等プロトコルレベルの話題はそれらのスレへどうぞ。
ってことだな。
0349nobodyさん
2006/07/29(土) 10:01:24ID:???どうやって作るのでしょうか?
画面に表示させないで
実行結果だけをファイルに出力する方法?
0350nobodyさん
2006/07/29(土) 10:07:23ID:???デスクトップの何もない部分を右クリックして、
新規作成 → テキスト ドキュメント
を選び、出来たファイルの名前を log.txt にする。
0351nobodyさん
2006/07/29(土) 10:32:49ID:???PHPどころか、基礎の基礎をすっとばして、いきなり *実用* しようとしている人が増えてきているからじゃないの?
0353nobodyさん
2006/07/29(土) 13:28:30ID:???最近の人ってマニュアル呼んでないのかな?
0354327
2006/07/29(土) 13:40:04ID:o/NOOu9zで解決しました。
0356327
2006/07/29(土) 13:48:40ID:o/NOOu9z何かもっと良い解決法があるのでしょうか?
0358327
2006/07/29(土) 14:01:05ID:o/NOOu9z試してみましたが、どの階層から飛んでも
http://localhost/log.txtに固定されてしまいます。
0361327
2006/07/29(土) 15:03:05ID:o/NOOu9zhttp://localhost/test/test.php
ここにリンクが貼ってあり、
http://localhost/test/test.php/a/i/u/e/o/
http://localhost/test/test.php/hogehoge/hogehoge/
http://localhost/test/test.php/012/3456789/
どれから飛んでも
http://localhost/test/log.txt
に飛ぶような感じです
0363nobodyさん
2006/07/29(土) 15:13:59ID:???0364nobodyさん
2006/07/29(土) 15:26:42ID:???この手のバカは、W3CとかGPLとかでも厳密さを求めて大騒ぎするタイプだな。
あ〜〜〜〜〜キモっっっ!!!!!!! こういう宗教の狂信者は氏んだらいいんだよ。
正しくは↓
ここはPHPスレです。Webアプリ全般や、HTTP等プロトコルレベル、データベース、サーバー関係の話題も絡めてどうぞ。
0366nobodyさん
2006/07/29(土) 15:36:32ID:???で、本スレどこよ?
"php" でこの板を検索するとメッサ出てくるんだが…
あと、クライアントの都合で Windows 環境でも動作するもの作るときあるんだけど、
http://www.php.net/download-docs.php ここにある、chm の文字化けなんとかならんのか?
以前、php-docs ML に話題に上っていたけど…。
あとさぁ…配列で戻り値返す関数、こういう使い方できないのね
$child = hoge( $sexmachine )[ 'oral' ]
仕事上、perl <---> php を行ったり来たりするから、混乱してかなわん
0367nobodyさん
2006/07/29(土) 15:37:16ID:???0368nobodyさん
2006/07/29(土) 15:38:37ID:???あと、sageでID非表示のヤツとかトリップ付けてないとかで本人確認ができない質問もスルーな
それと駄弁るのはスレ違い
0371nobodyさん
2006/07/29(土) 16:09:19ID:???・スレ違い
上記のことを言い出す人はスルーで
0372nobodyさん
2006/07/29(土) 16:27:05ID:???0373nobodyさん
2006/07/29(土) 16:29:24ID:???エラーを画面に表示させない方法を教えてください。
0374nobodyさん
2006/07/29(土) 16:29:47ID:???めがねを頭の上にかけておきながらメガネがないないと探しているようなもんだから
これ以上アドバイスはない。
0377nobodyさん
2006/07/29(土) 16:32:56ID:???0381nobodyさん
2006/07/29(土) 17:05:36ID:???>エラーを画面に表示させない方法を教えてください。
まずこの「スクリプトとして実行する」という言い回し。ただものではない。
次に、普通、このレベルの質問をする浅いユーザーであれば、
「エラーを画面に表示させない方法ってありますか?」となるのが普通。
>>373 は、「エラーを画面に表示させない方法」がすでにあることを知っているかのような
書き方をしている。
よって釣り。
0382nobodyさん
2006/07/29(土) 17:12:58ID:???正規表現の質問する場所が無くなった
0383nobodyさん
2006/07/29(土) 17:25:27ID:GIw5gWJkreadfile()でやってみたら画像が表示されなくて…
0384nobodyさん
2006/07/29(土) 17:26:07ID:???そうかあ?
その言い回しはむしろ素人臭く感じるし、エラーを画面に表示させない方法というのは
1.貰ってきたスクリプトが
2.配布元では問題ないのに
3.自分が動かすとエラーで埋まる!
4.スクリプトは同じはずだから、何かエラーを消す方法があるに違いない
という行程で普通に成り立つと思うんだが。
エラーを表示させない方法があるのは知っていてもやり方を知らない人は皆フィッシャーでつか。
0385nobodyさん
2006/07/29(土) 17:31:03ID:???3→4の流れがおかしくないか?
>3.自分が動かすとエラーで埋まる!
となったら、どこにエラーの原因があるんだろう、と思うのが普通で、
エラー文を表示させなくしようなどとはおもわんだろ
0386nobodyさん
2006/07/29(土) 17:45:27ID:???php関連スレってこんなのばっかりだな。ちっとも、役に立たない
よくもまぁ、飽きずに25まで伸びたもんだな
0387nobodyさん
2006/07/29(土) 17:46:22ID:???いやあ、確かに俺らみたいに多少なりともかじった人間ならそう考えるだろうけどさ、
スクリプトは同じはず→全く同じ挙動を示すはず→配布元にもエラーが出なくてはおかしい!
でも出ない→なんか方法が!?
とか
膨大なエラー表示が出るが動作自体は問題ないようだ→表示だけ切るのが手っ取り早い!
とかいう思考もあるかなーと。某レッツPHPの配布物の見過ぎかな。
0389nobodyさん
2006/07/29(土) 18:22:22ID:HWlPmC1pheader("Content-Type: image/jpg");
header("Content-Type: text/html");
zipは定義されてたか?
なければ、たぶんオクテットストリームとかそんなやつ
0390nobodyさん
2006/07/29(土) 18:47:45ID:???>>327と飛び先違うじゃん。
つか、そのくらい
echo "<A href=\"/log.txt\">リンク</A>";
を
echo "<A href=\"/test/log.txt\">リンク</A>";
にするだけだと何で気付かない???
それとも、ここのディレクトリ位置を自動判別したいってことなら
複数の条件を示してそう書かないと話が通るわけがない。
0391nobodyさん
2006/07/29(土) 18:53:55ID:???本スレはこのスレに統合されたよ。
ヘルプファイル文字化けはお前がプロジェクトに参加して直してくれば?
実際のとこ最新版の維持も追いついてないしヘルプファイルは無いものと思った方がいいと思う。
Perlは数あるスクリプトの中でもずば抜けて特殊な構文を使える言語なので
それを基準にしてたらPHPだけじゃなくほとんどあらゆる言語が互換取れないよ。
基本的にPHPはC準拠構文。Cで使えるのに!ってもの以外は文句を言うに値しない。
俺もPerl屋だったんでその手のワンライナー系構文がことごとく使えないとかmapが使いにくいとか
sortで戻り値にソート結果を返せないとかに憤慨したけど思想が違うんだからしょうがない。
行ったり来たりで混乱するというならPHP準拠で揃えるしかねーべ。
0392nobodyさん
2006/07/29(土) 20:04:54ID:???http://pc8.2ch.net/test/read.cgi/tech/1131028296/
0393nobodyさん
2006/07/29(土) 22:17:13ID:kQyUdpDFhttpsから始まるSSLのページだと、
Warningが出て failed to open stream: No such file or directory in どこそこ
と怒られます。
これを解決する方法はありますか?
<?
$url='https://www.uhauhauhaha.com/';
$souce=file("$url");
foreach ($souce as $hyouji) {
echo $hyouji;
}
?>
1 そういう事ができる関数が他にある
2 php.iniの設定や、PHPコンパイル時のオプションでできるようになる
3 そもそもfile関数でできない。sslのページを埋め込む事自体、やるべきではない
環境はPHP4.4.2です
0394nobodyさん
2006/07/29(土) 22:44:17ID:???子要素に要素の追加を行いたいのでDOMElementでは困るのですが、どうすればいいのでしょうか。
また、子要素の先頭に要素を追加することは出来ないのでしょうか。
0395nobodyさん
2006/07/29(土) 22:52:31ID:3fQzY82mheader("Content-Type: image/gif");など拡張子ごとに設定するんですか?
0398nobodyさん
2006/07/29(土) 23:27:02ID:kQyUdpDFいえ、FreeBSD4x + apache1.3x mod ssl 上で PHP4.4.2です
>>397
file_get_contentsでやってみたんですが、同じエラーが出ました…
$url='http://www.uhauhauhaha.com/';
$hyouji = file_get_contents("$url");
echo $hyouji;
これ使え!っていう関数名か、pearのライブラリ名教えてもらえませんか?(><)
0400nobodyさん
2006/07/29(土) 23:43:03ID:dwiwkLfB0401393
2006/07/29(土) 23:51:07ID:kQyUdpDF0402nobodyさん
2006/07/29(土) 23:51:24ID:3fQzY82mheader("Content-Type: image/jpg");
readfile("test.jpg");
?>
これだけで記述して実行しても
?リ??。Exif
みたいに文字に化けて表示されるんですが、なにがまずいのでしょうか・・・
0403nobodyさん
2006/07/29(土) 23:54:17ID:???まだ使ったことないんで
0407nobodyさん
2006/07/30(日) 00:09:38ID:SlTGL4ejjpegにしてもダメでした。。。
0409nobodyさん
2006/07/30(日) 00:16:42ID:h/4ugybZimage/jpeg にしてもダメなら、
たぶん、出力時に自動的にエンコード変換がかかってるかも。
mb_http_output("pass");
で、明示的に、エンコーディング変換しないようにする.
それでもダメならわかりません><
0411393
2006/07/30(日) 00:21:49ID:1ePEuDKUだってPHPマニュアルに(><)
で、自己解決しました
プログラム設置サーバ側でのphp4のコンパイル時に、
--with-openssl をつけPHPをインストールしないとダメだったようです…
お騒がせしました♪
0412nobodyさん
2006/07/30(日) 00:24:52ID:SlTGL4ej怒られた・・・
0413nobodyさん
2006/07/30(日) 00:27:28ID:h/4ugybZheader("Content-Type: image/jpeg");
mb_http_output("pass");
readfile("test.jpg");
?>
0414nobodyさん
2006/07/30(日) 00:29:21ID:???0415nobodyさん
2006/07/30(日) 00:29:23ID:???俺の.htaccess
php_flag output_buffering On
php_value output_handler mb_output_handler
php_flag session.use_only_cookies On
php_flag short_open_tag Off
php_value error_reporting 2047
php_value default_charset EUC-JP
php_value error_log C:\home\error.dat
php_flag log_errors On
php_value mbstring.language Japanese
php_value mbstring.internal_encoding EUC-JP
php_flag mbstring.encoding_translation On
php_value mbstring.http_input auto
php_value mbstring.http_output pass
で問題なく表示できた(4.4.2, 5.1.4共に)
0416nobodyさん
2006/07/30(日) 00:30:29ID:SlTGL4ej0418nobodyさん
2006/07/30(日) 00:39:25ID:???freadでも使ってみれば?
0419nobodyさん
2006/07/30(日) 00:40:23ID:???理由が解らん&書いてない
0420nobodyさん
2006/07/30(日) 00:49:10ID:???0421nobodyさん
2006/07/30(日) 00:53:34ID:7xmFqdDD容量の大きいファイルをアップロードすると"Internal Server Error"が発生します。大きいとはいっても1.5M程度で発生してしまうので、とても困っています。
そのサーバでcgi-wrapでphp5を動かしているのですが、何せすぐに500 Internal Server Errorが発生するために、原因が皆目つかめません。
エラーログを見ればもう少しわかるのでしょうが、そのサーバはエラーログを公開していないため、
試行錯誤で色々設定を変えて頑張っていましたが、どうしても現象がなおりません。
1Mのファイルでは確実に発生しますが、15kbyteくらいのファイルでもたまに500を返し、
その場合はそのままF5更新したら上手くアップロードできてしまいます。
またスクリプトの先頭すら実行されていないことも確認したので、スクリプトではなく設定の問題のようです。
とりあえず、socket_timeoutやmax_input_timeは変更し、phpinfoで反映を確認しました。一体何が原因で500が出るのでしょうか。
そのものずばりではなくても、解決の参考になるようなアイデアで結構ですので、
どうかよろしくお願いします。
関係ありそうな設定は以下の通りです
(php.ini)
default_socket_timeout = 1000
max_input_time = 1000
max_execution_time = 1000
upload_max_filesize = 4194304
memory_limit = 268435456 ;256M
post_max_size = 31457280
(.htaccess)
LimitRequestBody 20480000
0422nobodyさん
2006/07/30(日) 00:53:49ID:???セキュリティ上の理由からallow_url_fopenをOnにすることが推奨されていない。
開発段階でもこれに依存したコードを書かないようにすべき。
0423nobodyさん
2006/07/30(日) 00:55:14ID:???0425nobodyさん
2006/07/30(日) 00:57:29ID:???どういう意図での話かわかりませんが、ファイルをアップロードしなければ当然動きますよ。
PHPが500を返すのは、phpが自らにかけているアップロードの制限を超えたり、
メモリが不足した場合におこるようですが、1.5Mのアップロードで起こるとは到底思えないのです。
0426nobodyさん
2006/07/30(日) 00:59:08ID:???PHPは動いています。ファイルのアップロード、それも1Mを超えるサイズの場合だけの問題です。
アップロードさえしなければスクリプト自体は動いているので、改行コードは今回は問題になっていないようです
ヘッダ未送信については調べてみますが(レスポンスのHTTPヘッダですよね?)、小さいファイルではアップロード成功するので、
多分関係ない気はしています
0427nobodyさん
2006/07/30(日) 01:14:52ID:???windowsやmacのソフトを作りたくなりました。
他の言語は一切経験無しです。
お勧めの言語を教えて栗、
色々調べて Visual C#あたりをやってみようかと思うんですが、
これってWindows Only?
0428nobodyさん
2006/07/30(日) 01:45:20ID:???Aに無かった時だけBコンストラクタを呼ぶ、無ければC@4.4.2
>>427
427のためにもム板への移動がお勧め
マルチプラットフォームを考えてるなら尚更
0429nobodyさん
2006/07/30(日) 01:58:30ID:???C#だと比較的楽だけど、環境依存
C/C++だと高速だけどWindowsAPIの知識が必要かつ煩雑
Delphiとか最近多いけど文法が独特
VBはC#に同じ。PHPと似たような感じでは書けない
Javaは実行に仮想Javaマシンが必要
ム板行ったほうがいいな。
0430nobodyさん
2006/07/30(日) 02:38:30ID:???まぁ、デスクトップアプリを作りたいが、winでもmacでも動作するものが作りたい
ってなったらJavaでSwingを使う、ってのが一番手っ取り早い気がするな
ム板行ったほうがいいな
0431nobodyさん
2006/07/30(日) 03:43:00ID:???> >>420
> Aに無かった時だけBコンストラクタを呼ぶ、無ければC@4.4.2
ありがとうございます。
最後の@4.4.2は、どういう意味でしょうか?
0432nobodyさん
2006/07/30(日) 04:26:41ID:???少なくともPHP4.4.2の場合はそういう仕様、って意味かと。
コンストラクタ周りはPHP3と4と5とでそれぞれ仕様が違うので。
0433nobodyさん
2006/07/30(日) 04:45:35ID:???注意: 子クラスがコンストラクタを有している場合、親クラスのコンストラクタが 暗黙の内にコールされることはありません。
親クラスのコンストラクタを実行するには、子クラスのコンストラクタの 中で parent::__construct() をコールすることが 必要です。
とマニュアルに書いてた。
つまりCの親クラスであるBクラスのコンスタラクタを呼び出すにははparent::__construnct()をCクラスで指定しなければならない。
0434nobodyさん
2006/07/30(日) 09:18:36ID:TrvGlatV0436nobodyさん
2006/07/30(日) 09:55:49ID:???例えば「2222」の部分だけを「11」に変更したい場合にfwriteで書き込むとゴミが残りますよね?。
ファイルを全部読み込まずに奇麗に一行だけ変更する事はできないものかと思いまして。
*data
1111
2222
3333
.
.
.
.
0437nobodyさん
2006/07/30(日) 10:14:07ID:???根本的な問題なんだけど、ファイルってのはディスク上の「決まった場所」に
1バイトずつデータを置いてるわけ。
で「1行」ってのは改行コード〜改行コードの間を指してるわけで、
別にディスク上で行単位に保存されてるわけじゃないの。
1行の長さを変更しようと思ったら、それより後ろ全体の配置を変えないとムリ。
0438nobodyさん
2006/07/30(日) 10:19:21ID:???ファイル内容を
1111
2222
3333
なんてイメージしてるからそんな世迷言を吐ける。
ファイルってのは
"1111\n2222\n3333\n"
という1個の文字列でしかない。
それで2222を11に変更するにはどうすればいいのか、よく考えてみることだ。
0439nobodyさん
2006/07/30(日) 10:32:27ID:???変更するデータが小さければ空白で穴埋めして読み込み時に手を加えるようにすれば
いいのでしょうけど大きい場合はやはりどうにもなりませんよね。
ありがとうございました。
0440nobodyさん
2006/07/30(日) 10:49:47ID:???0441nobodyさん
2006/07/30(日) 10:57:23ID:PjLh0F//0442nobodyさん
2006/07/30(日) 10:58:35ID:???下げ忘れ
すいません
0445420
2006/07/30(日) 12:42:35ID:???なるほど。簡単なのに気づきませんでした。
>>433
マニュアルを何回か検索しているんですが、そのページが全然でてこないのですけど、
なんという単語で検索すればいいのでしょうか?
検索した用語「コンストラクタ」「親クラス」「子クラス」「_construct」
目的は、PHP4で「Aを呼ぶ時にBとCのコンストラクタを呼んで欲しい」です。
0446nobodyさん
2006/07/30(日) 14:21:19ID:???「違法」というわけではないが、この行為自体は「厨房」と同じw
これやってる奴は自覚していないというから恐い。
0447nobodyさん
2006/07/30(日) 14:31:18ID:???この行為自体は「厨房」と同じw
この行為自体は「厨房」と同じw
この行為自体は「厨房」と同じw
この行為自体は「厨房」と同じw
この行為自体は「厨房」と同じw
この行為自体は「厨房」と同じw
この行為自体は「厨房」と同じw
この行為自体は「厨房」と同じw
この行為自体は「厨房」と同じw
0448nobodyさん
2006/07/30(日) 14:42:22ID:???0449nobodyさん
2006/07/30(日) 14:44:32ID:???謹んでお詫び申し上げます
糸冬
--------------
制作・著作 NHK
0450nobodyさん
2006/07/30(日) 14:45:15ID:???Apache 2.0
PHP 5.1.4
自宅でApacheをインストールして、ローカルホストとして起動しながらPHPの勉強を始めました。
教本を見ながら勉強しているのですが
$HTTP_HOSTや$HTTP_USER_AGENTというのが無効な様子です。
自分なりに考えた結果Apacheのhttpd.confの設定なのかなと思っているのですが
どうしたら、有効にできるのかご教授頂けないでしょうか。
0453nobodyさん
2006/07/30(日) 14:56:04ID:???マニュアル→III言語リファレンス→18章クラスとオブジェクト(PHP4)→コンストラクタ
ttp://www.php.net/manual/ja/language.oop.constructor.php
検索で出てこない、ってのは検索モードをin the function listにしちゃってるからじゃ?
これは関数じゃないから出てこないでしょ。
in the online documentationなら出てくるよ。
0456420
2006/07/30(日) 15:18:48ID:???ありがとうございます。
以下の文を探していました。
PHP 4 では派生クラスのコンストラクタから基底クラスの コンストラクタを自動的にコール
することはできません。 上流のコンストラクタを適切にコールするように伝播させることは
あなたの責任でやるべきことです。
つまり、BとCのコンストラクタを明示的にAで呼んであげないといけない
という理解で良いですよね。
#んー、なんかマニュアルって検索にうまくひっかからないのですよね…
0457450
2006/07/30(日) 16:39:33ID:???for($i=0; $i < 2; $i++) {
echo $name[$i]."さんありがとうございます。<BR>\n";
}
echo "\$_SERVER[\"HTTP_HOST\"]に書き直したらいけました。";
0458nobodyさん
2006/07/30(日) 17:31:42ID:c850+3OT0459nobodyさん
2006/07/30(日) 17:36:12ID:???foreach($name as $value){ echo $value."さん〜"; }
echo "〜";
の方がスマートになると蛇足。
0460nobodyさん
2006/07/30(日) 17:51:10ID:???0461nobodyさん
2006/07/30(日) 17:58:25ID:NzzdC7Vd今、入門書を読み終わってSmartyの本読みを読み始めたところなのですが
SQliteが動きません。phpinfo();にもSQliteの項目がありません。
php.iniを見ると5.03の時にはなかった
extension=php_sqlite.dll
という項目があったので、ONにしてみたのですが駄目でした。
extのパスも間違っていない(はず^^;)です。
他に何かしなければオンにならないのでしょうか?
MySQLを使うか、5.03でテストしつつ読み進めれば問題ないのですが
私がなんか設定でオオポカをやらかしてるのか…
それとも、SQliteが見捨てられたのか…
0462nobodyさん
2006/07/30(日) 18:17:08ID:???PDO SQLiteならデフォルトでOffになってる。
SQLite関数なら普通に使えたと思ったけどな・・・
--with-pdo-sqlite付けてコンパイルし直すと良いと思う。
0463nobodyさん
2006/07/30(日) 18:33:01ID:TgrmMjVZテキストファイルを読み込んで、
行ごとに、条件分岐で保存するかしないかを決める処理をしたいんだけど
例えば、以下の様なテキストファイルのDを含む行を削除するような
ABC
BCD
CDE
DEF
fopenのw+モードだと、テキストファイルの内容が読み込み方が分らず
r+モードだと、行の削除をどうやるかがわからず
唯一file関数で読み込んでからfopenでif文書いて処理すればいけるが、
fileロック的に微妙。
perlだと普通にopen関数でいけるのだけど
どうしたらよいの?
0465nobodyさん
2006/07/30(日) 19:16:14ID:SlTGL4ejキタ━━━━━━━━(゚∀゚)━━━━━━━━━━ッ!!
ありがとうございます!
0466nobodyさん
2006/07/30(日) 19:23:29ID:???0467nobodyさん
2006/07/30(日) 21:13:16ID:EgQavLOH恐らく PHP の文字コードの問題と思っているので、こちらにお邪魔しました。
PHP-4.4.2
MySQL-5.0.22
上記の環境で scuttle-0.7.2 を導入しようとしています。
動作までは行えたのですが、ブックマークの登録に日本語が通りません。
php.ini を書き換えて EUC-JP や UTF-8 で統一してみましたが、文字化けしたままでした。
phpMyAdmin も併用して、検証を行った結果、
scuttle から入力>phpMyAdmin で表示>文字コード判別不能。
phpMyAdmin から入力>scuttle で表示>scuttle 上はUTF-8で該当データはEUCでした。
MySQL 上ではutf8_general_ciでデータベースを作成しています。
どなたか、導入実績のある方などはいらっしゃいますか?
もしくは、ここが悪い?というご指摘をいただけると助かります。
0468nobodyさん
2006/07/30(日) 21:56:48ID:cXM04WS8GDで加工した画像データをmysql等のDBに入れたいのですが、
ファイルを作成するのはimagejpeg()等で出来ますが、変数に格納する方法が
わかりません。一時ファイルを作ってそれを読みこむ以外に方法は無いのでしょうか?
0469nobodyさん
2006/07/30(日) 22:05:56ID:???serializeとかじゃダメなん?
0470468
2006/07/30(日) 22:11:39ID:cXM04WS8serialize(イメージID)としてみましたが駄目でした
0471nobodyさん
2006/07/30(日) 22:39:19ID:???これ試してみな
ob_start();
imagejpeg($im, NULL, 75 );
$x = ob_get_clean();
0472nobodyさん
2006/07/30(日) 22:43:40ID:???で、読み込ませるためにリンケージを貼ったMCの中でXMLをonLoadして、
そのXMLの定義にしたがって画像などをloadMovieしてるんですが、
何故かスクロールペインにスクロールバーが出ません
XMLのonLoadや画像のloadMovieが時間差を生んで、読み込み以前の状態が反映されてるのかと思い、
スクロールペインのonEnterFrame( )に
redraw( )をつけたりしてるんですが、
特に効果はありませんでした。
こういう時はどういう処理でスクリプトの流れを作ればいいんでしょうか
よろしくおねがいします。
0473472
2006/07/30(日) 23:01:14ID:???0475nobodyさん
2006/07/31(月) 00:57:11ID:???わかってねーよww
0476nobodyさん
2006/07/31(月) 01:24:12ID:???「推奨されていないから使わないようにすべき」って方の理屈は普通にわかるって意味ね。
allow_url_fopenをオフにするならソケットによるアクセスは全て禁止すると思うけど、そうじゃないシチュエーションってどんなときに起こるの?
0477nobodyさん
2006/07/31(月) 01:45:06ID:???0478nobodyさん
2006/07/31(月) 01:48:53ID:AiuTU73H教えてください
0479nobodyさん
2006/07/31(月) 03:02:42ID:???そもそもPerlならopenでできる、ってのはどうやってるのさ。
このスレでPerlの知識があることを前提に質問するのは間違ってるぞ。
話を聞く限りでは、r+で開いて中身読み込んでtruncateで中身リセットして
あとは必要な行だけfwriteしていけば終わりの気がするけどね。
Perlでもやってることは一緒だと思うんだけどなぁ。
0480nobodyさん
2006/07/31(月) 10:11:51ID:???中途行を削除するのでも、
その削除行から残り全部は一旦削除して書かなきゃならないってのわかってないとおもうよやつは。
ファイルの、その行だけ削除すればOKだと思ってる。
0481nobodyさん
2006/07/31(月) 10:36:29ID:vOs6pv4F$a = null と書くのが常識なのでしょうか?'
0483nobodyさん
2006/07/31(月) 10:50:27ID:???マニュアルを見てきたのですが
・値がない
・unsetした場合
とかなっていましたが・・・
unset($a)したら変数はなくなりますよね?
だから if ($a)だとエラーが出ると思っていたのですが、あれ・・・
0484nobodyさん
2006/07/31(月) 10:54:00ID:???0485nobodyさん
2006/07/31(月) 10:54:06ID:???いやだから、$a = ''; も $a = NULL; も、それぞれ「意図があって」やってることであって、
どっちかが常識ってわけじゃないんだよ。
何をやりたいかによって使い分けなきゃいけないものってこと。
0486nobodyさん
2006/07/31(月) 11:08:17ID:???ローカルで色々と試してきました。
結果、noticeすら出なかった・・・。
error_reporting(E_ALL);
ini_set('display_errors',1);
としてあるのですが謎です。
文字が空である事と値がない事は違うという事ですね。
0487(^ω^)
2006/07/31(月) 11:35:32ID:???0488nobodyさん
2006/07/31(月) 11:41:45ID:???0489nobodyさん
2006/07/31(月) 11:42:04ID:CE9HBJM2$hoge = " 1 "; //" " . "1" . " " の3つに分割されるつもり
$array = explode(" ",$hoge);
とした場合、最初のスペースが分割文字として判定されずに、
array([0]=>" 1",[1]=>"")
となってしまい困っています。
これが"#"などなら意図したとおり動作するのは確認しているのですが、すでにデータを" "で作成しています。
どうすれば先頭の" "も分割文字として認識されるのでしょうか。
助言をよろしくお願いします。
0490nobodyさん
2006/07/31(月) 11:44:52ID:???それは上手なデザインと言えないような…
0491nobodyさん
2006/07/31(月) 11:47:29ID:???力技だけど $hoge の先頭に "#" なりを付加して explode にかけて
出来上がった $array[0] の 1 文字目を削除する、とか。
0492nobodyさん
2006/07/31(月) 11:53:11ID:CE9HBJM2ありがとうございます。
その手を試してみます。
0495nobodyさん
2006/07/31(月) 14:02:13ID:???「セキュリティ上、好ましくない」
とか、とても便利な逃げ常套句ですね。
それとも、なんですか…
具体的な例を提示できないから、
まさかこんな事言ってるんじゃありませんよね?
0497nobodyさん
2006/07/31(月) 14:11:06ID:???extract したような動作になってるのは回避できますか・・・
?p=abc
がそのまま$p=abcになってしまっている・・・。
0499nobodyさん
2006/07/31(月) 14:25:39ID:???User Agentにシングルクオートを入れてアクセスすると…
0500nobodyさん
2006/07/31(月) 14:37:43ID:???SELECT * FROM user_mst WHERE user_id = '' or user_id <> '' AND pass = '' or pass <> '' AND user_state <> 'del'
こういうSQL文になるように フォームの maxlenght を削ってローカルに保存し送信したら
ログインできたお
0501nobodyさん
2006/07/31(月) 14:42:04ID:???Fatal error: ERR_DBCls_ExecQuery :
SELECT * FROM count_tmp WHERE user_agent = 'test'test' AND remote_addr = '' AND remote_host = ''
in /virtual/propan/public_html/common/dbcls.php on line 238
DBでアクセス解析してるんだろう
誰かDELETEのSQLでも投げてやれよ、ちゃんと権限設定してあって大丈夫かもしれんが
0502nobodyさん
2006/07/31(月) 14:59:02ID:???0503nobodyさん
2006/07/31(月) 15:16:32ID:HekLsGeBint main(void)
{
double pai = 3.141592;
double r;
double taiseki;
int h;
r = 10;
h = 12;
taiseki = 1 / 3 * pai * r * r * h;
printf("三角錐の体積 = %d\n",taiseki);
return 0;
}
ってどこがおかしい?
0505nonicebody
2006/07/31(月) 15:22:45ID:???>>504
久しぶりにわろたw
0506nobodyさん
2006/07/31(月) 15:26:48ID:HekLsGeB0507nobodyさん
2006/07/31(月) 15:52:44ID:???#include<stdio.h>
が、なつかしー
0508nobodyさん
2006/07/31(月) 15:53:15ID:HekLsGeBテスト中なんだ!
0509nobodyさん
2006/07/31(月) 16:00:24ID:???0510nobodyさん
2006/07/31(月) 16:02:22ID:???三角錐の体積 = 0
0511nobodyさん
2006/07/31(月) 16:04:11ID:HekLsGeB持ち込み可だからパソコン使っても良いはず!
0512nobodyさん
2006/07/31(月) 16:05:52ID:???0513nobodyさん
2006/07/31(月) 16:07:07ID:???0514nobodyさん
2006/07/31(月) 16:07:45ID:???$pai = 3.141592;
$r = 10;
$h = 12;
$taiseki = 1 / 3 * $pai * $r * $h;
printf('三角錐の体積 = %d', $taiseki);
?>
0515nobodyさん
2006/07/31(月) 16:07:46ID:???クーラー病にかかった
PHPで治すにはどうしたらよいですか?
0516nobodyさん
2006/07/31(月) 16:12:18ID:???0520nobodyさん
2006/07/31(月) 16:20:30ID:HekLsGeB0522nobodyさん
2006/07/31(月) 16:28:21ID:HekLsGeB楽しかった。ありがとう。
0523nobodyさん
2006/07/31(月) 16:41:53ID:???PHPのinclude化したのですがwin IEだとインクルードした部分の
上にスペースができてしまいます。
しかし生成されたページのソースを表示してもなんらスペースができる
要因もないしインクルード処理をせずそのままページ上にhtmlを記述すると
スペースはできないのですが対処はあるのでしょうか?
0524nobodyさん
2006/07/31(月) 16:46:21ID:???0526nobodyさん
2006/07/31(月) 16:50:23ID:???0528nobodyさん
2006/07/31(月) 16:52:35ID:???後者なら仕方無いだろ。
ユーザスタイルシートでマージン殺せ。
0534nobodyさん
2006/07/31(月) 17:14:02ID:???0535nobodyさん
2006/07/31(月) 17:53:46ID:86BvdUEa0536nobodyさん
2006/07/31(月) 18:16:12ID:???再帰的にunlink-rmdirしていくのは、あまり本質ではないディレクトリ削除で
そこそこ行数が増えてしまうので、他の方法があれば是非ご教示ください
0538nobodyさん
2006/07/31(月) 18:26:58ID:???例えばここWebプログラミング板の
subject.txt(http://pc8.2ch.net/php/subject.txt)を
file_existsで存在の確認をしようとしても
falseしか吐かないのですが、file関数で直接調べることは
不可能、というか許されてないのでしょうか?
0541nobodyさん
2006/07/31(月) 18:45:29ID:???ごめんなさい、深い意味はありませんが、
本来API1つで書けそうなコードに対して、再帰のための関数まで書かなければいけないのは
ちょっと嫌だなと思っただけです。
方法が無いならもちろん書きます
0542nobodyさん
2006/07/31(月) 18:51:59ID:???0544nobodyさん
2006/07/31(月) 18:57:27ID:???キャッシュする関数はありませんか?
0545nobodyさん
2006/07/31(月) 19:04:07ID:???とすると、やはりPHP関数で書くしかないんですね
>>543
ありがとうございます。それを使って書くことにします
0546nobodyさん
2006/07/31(月) 19:14:27ID:63K97mubアクセスログをDBに書いてるのですが
まれにへんなREFERERがきて
invalid byte sequence for encoding "UTF8"
というPostgreSQLのエラーがでます。
UTF-8には存在しない文字コードが含まれてるとのことなのですが
保存する前の文字列から
UTF8にありえない文字列を除去、または
他の文字列に変換するような便利な関数か方法はないでしょうか?
0547nobodyさん
2006/07/31(月) 19:26:48ID:AsAaXYbZmysqlのクエリをphpで書くときに、たとえば
$sql = "update hogetbl set hogehoge ='$hogehoge'";
といったように、クエリ中の変数をシングルクオートで囲むのは危険なのですか?
\"".$hogehoge."\"のように書けば問題ないでしょうか?
0548(^ω^)
2006/07/31(月) 19:33:23ID:???http://blog.ohgaki.net/index.php/yohgaki/2006/06/12/a_a_a_a_a_ra_ca_a_oa_pa_fa_ma_sa_sa_raf
を参考にどうぞ
>>547
$hogehogeが外部から来て検査していない変数ならどちらも危険
0551546
2006/07/31(月) 21:55:58ID:???ありがとうございます
encoding attackとみなすのはちょっとあれだったので
mb_convert_encoding($s, "UTF-8", "UTF-8")
をかますことにしました。
0552nobodyさん
2006/07/31(月) 21:56:54ID:???DBインターフェースを利用してバインドしろ
PEAR::DB の場合は
$result = $db->query("update hogetbl set hogehoge=?", array($hogehoge));
変数の値を自動的にquoteしてくれる
0553nobodyさん
2006/07/31(月) 22:46:23ID:???え。むしろシングルクオートの方が普通じゃないのか?
つか、危険云々はシングルだろうとダブルだろうと全然変わらんよ。
なんでそんなので危険率が変わると思ってるのか、それが気になる。
どっからそんな誤った知識を聞いてきたんだ。
0554nobodyさん
2006/07/31(月) 23:25:37ID:WXdtFlcA<FORM ACTION="form02.php" METHOD="POST">
<textarea name="honbun" rows="4" cols="40"></textarea><br>
<input type="submit" value="送信する"><input type="reset" value="リセット">
</FORM>
<?php
$honbun = $_POST["honbun"];
// ↓改行を正規表現で\nにして、それでarrayに入れたつもりになってる
$honbun = explode("\n",$honbun);
//そうしたら↓で上手くいくかなと思いましたがダメでした。
$gyo = count($honbun);
for($i=0; $i > $gyo; $i++) {
echo "$honbun[$gyo]"."<br>\n";}
改行の置き換え方がダメな気がするんですが
こういう場合、どうやってtextareaからの改行を
配列に振り分けたら良いんでしょうか...
0555nobodyさん
2006/07/31(月) 23:32:15ID:???$honbun = explode("\r",$honbun);
$honbun = explode("\n\r",$honbun);
for($i=0; $i < $gyo; $i++)
0556554
2006/07/31(月) 23:41:01ID:???正規表現以前に、条件は$i < $gyo だし
arrayは$honbun[$i]ですね...orz
0557nobodyさん
2006/07/31(月) 23:44:24ID:???> $gyo = count($honbun);
> for($i=0; $i > $gyo; $i++) {
そのループ条件は $i < $gyo の間違いだと思う。
それじゃいきなり終わっちゃうから1行も表示されないだろうw
0558nobodyさん
2006/07/31(月) 23:45:48ID:???"\n\r"は"\r\n"じゃない?
あと、"\n"や"\r"でexplodeする前にまず"\r\n"でexplodeだと思う。
0559nobodyさん
2006/07/31(月) 23:52:57ID:???\r\n→\n、\r→\n、\nでexplode
0560nobodyさん
2006/08/01(火) 00:07:43ID:???どのような関数を使えば良いでしょうか?
0561554
2006/08/01(火) 00:09:34ID:???str_replace("\r","\n",$honbun);
で統一してからexplodeするようにして、変数があべこべになってたのを
直したら無事動きました。
ありがとうございますm(_ _)m
0562nobodyさん
2006/08/01(火) 00:13:37ID:???0563nobodyさん
2006/08/01(火) 00:39:18ID:???http://jp2.php.net/str_pos
0564nobodyさん
2006/08/01(火) 01:02:56ID:rUBuvQ+2データベース(MySQL)を使うのですが、ふつう、テーブルはあらかじめ
作成しておくべきなのでしょうか?
0565nobodyさん
2006/08/01(火) 01:25:18ID:???自分は最初に設計してるけど、大抵後から変更でてくる
0567nobodyさん
2006/08/01(火) 02:26:07ID:???0568nobodyさん
2006/08/01(火) 02:39:57ID:s+Er9w14list($array[]) = split('',$str);
print_r($array);
文字を一文字ずつ区切ろうとしたのですが、
Warning: split() [function.split]: REG_EMPTY in
と出てうまくいきません。
一文字ずつ区切るのはできないのでしょうか?
0569nobodyさん
2006/08/01(火) 02:45:07ID:s+Er9w140572nobodyさん
2006/08/01(火) 10:23:16ID:oOf+GkNUみなさんレスありがとうございます。
危険度という意味では大差ないということでOKでしょうか?
クエリ文のシングルクオートは危険というのを、どこかで聞きかじった気がしたので確認させて頂きたかったのです。ありがとうございました。
0573nobodyさん
2006/08/01(火) 10:30:30ID:???おいおい。結論がおかしい。
とにかく危険なのには変わりないんだから >>552 にあるような書き方に改めな。
0574nobodyさん
2006/08/01(火) 10:39:34ID:???シングルクォートであるとかないとかじゃなくて、
その変数をきちんとエスケープ関数に通したかどうかを気にしろ。
0575nobodyさん
2006/08/01(火) 10:41:57ID:???エスケープ文字がうざいから
0577nobodyさん
2006/08/01(火) 10:46:04ID:???危険度は大差ないというか「どっちも危険」。
多分、聞きかじった内容を思いっきり勘違いしてる。
実際はクオートは関係なく、それ以外にもっと重要な要素が抜け落ちてる。
>>575
それはPHPのクオートの話であってMySQLのクオートとは別の話。
0578nobodyさん
2006/08/01(火) 10:48:12ID:rUBuvQ+2function quote_smart($value)
{
if (get_magic_quotes_gpc()) {
$value = stripslashes ($value);
}
// 数値あるいは数値形式の文字列以外をクオートする
if (! is_numeric($value)) {
$value = "'" . mysql_real_escape_string ($value) . "'";
}
return $value;
}
これでいいじゃん?
0579nobodyさん
2006/08/01(火) 10:49:19ID:rUBuvQ+2意見ありがとうございました。
貝から操作してCREATE TABLEします・・・
0580nobodyさん
2006/08/01(火) 10:57:59ID:???magic_quote設定なんていちいち見ないなー。
汎用のライブラリ作るんならそこまでやってもいいと思うけど、普通の開発じゃ無駄じゃない?
素直に
"select * from table where col = '" . mysql_escape_string($value) . "'";
でいいじゃん。
0584nobodyさん
2006/08/01(火) 11:09:14ID:???0585nobodyさん
2006/08/01(火) 11:15:42ID:???みんなPDOは使ってないの?
0587nobodyさん
2006/08/01(火) 12:38:32ID:???0588nobodyさん
2006/08/01(火) 12:56:22ID:i9MoMR6eが存在するかを調べる関数はありますか?
0589nobodyさん
2006/08/01(火) 12:59:37ID:???0590nobodyさん
2006/08/01(火) 13:12:15ID:???0596nobodyさん
2006/08/01(火) 15:52:25ID:???よくある買い物籠のイメージは、商品の識別番号と個数を籠(セッション)に保持しておくと思うんですが、
実データを入力させてそのままセッションに入れて持ち歩くような動作を考えてます
0597nobode
2006/08/01(火) 16:19:50ID:???ハッシュファイルベースのセッション管理なら
そのセッションファイルを保存しているディスク量がセッションの限界じゃないかな?
あとセッション変数にドンドン代入していくとioの時に一時的にRAM喰うからRAMは多めにつんどいたらいいと思うよ。
スワップすると重くなるよ。レンタルとかだったら基本的に限界は割り当てられたPHPのメモリ使用量じゃないかな。
ハンドラ使ってDBとかに保存するのも基本的にWEB層の制限を受けると思うよ。
ケースバイケースだけど。
間違ってたらごめんまだPHP初めて3日目だから...
0598nobodyさん
2006/08/01(火) 17:38:12ID:???php.iniでの設定値次第だと思うけど、
PHPの配列等で確保できるメモリには上限がある(デフォルトで8MBだっけ?)
から、それを超えるような分量になってくるとメモリ確保エラーを起こすと思う。
0600nobodyさん
2006/08/01(火) 20:18:01ID:CFVLtjTH$str='1234';
$str='12345';
という変数があったとして、
これらの長さを一意にしたいのです。
(指定した文字列になるまで指定した文字で埋めたい)
strlenで長さ読んで、足りない分の文字を足せばいいのはわかっているのですが、もし関数になっていたら知りたいな、と思ってカキコしました。
そんな楽する関数はありますか? or 自分で関数作っちゃった方が良いですか?
0601nobodyさん
2006/08/01(火) 20:18:46ID:???× (指定した文字列になるまで指定した文字で埋めたい)
○ (指定した文字数になるまで指定した文字で埋めたい)
0604nobodyさん
2006/08/01(火) 20:35:20ID:???sprintfで対処できました。
http://jp.php.net/sprintf
ありがとうございました。
0605nobodyさん
2006/08/01(火) 20:39:21ID:???こっちのほうが指定が簡単ですね。
処理速度計算して早いほう使ってみようと思います。
ありがとうございました。
0607nobodyさん
2006/08/01(火) 22:29:09ID:???0608nobodyさん
2006/08/02(水) 00:01:08ID:???例えとして「sample.txt」というファイルには下記のようなテキストが入っています。
2ch;giko;nanasi;\n
test;test;test;\n
これを
$list=$file('../data/sample.txt');
foreach($list as $line){
$array_list_tmp[]=$line;
$n++;
}
で、1行ずつ$array_tmp[]にいれまして
$findme=';';
for($x=$begin;$x<=$end-($end-$n);$x++){
$mystring=$array_list_tmp[$x];
for($y=0;$y<=2;$y++){
$setcount=strpos($mystring,$findme);
$array_list[$x][$y]=substr($mystring,0,$setcount-1);
$mystring=substr($mystring,$setcount);
}
}
で';'が最初に見つかる桁までの値を取得して、';'は必要ないので値-1で必要な文字列だけを取得したいんですが。
変数の中身が1回目のループ分しか取得できず、あとは''になってます。
馬鹿にもわかりやすく易しい文字列処理の方法がありましたご教授して欲しいであります。
0609nobodyさん
2006/08/02(水) 00:06:55ID:???$fdata = str_replace("\n", '', file_get_contents('../data/sample.txt'));
$mystrings = explode(';', $fdata);
何がしたいのかは知らんが。
0611nobodyさん
2006/08/02(水) 00:46:27ID:???0614nobodyさん
2006/08/02(水) 01:11:39ID:???どうもありがとうございます。
explodeがあったんですね、しかし今は頭煮立ってましてダメぽです・・・。
まだ初めて二日目なのでコツコツと試行錯誤してみます。
ソースの意味が良くわからないのに助言求めてすいません・・・。
とりあえず頭冷やしてから助言頂いたやり方でがんばってみます。
0615nobodyさん
2006/08/02(水) 01:17:44ID:???Cの場合、他の一般的処理がめっぽう速いから、printf系みたいに
パラメータの文字列解析と可変引数を含む処理は相対的に遅くなるんだよね。
PHPの場合、変数の処理自体がその種の解析とメモリアロケーションを含むので
全体にCほど速くないからprintf系もさほど問題にならない。
実際、sprintfとstr_padだと1.5倍ほどsprintfの方が遅い程度。(Cだと10倍くらい違うので大問題)
このくらいなら500万回ループとかでもない限り「使いやすい方を使う」で全然問題にならないと思う。
(1000回くらい使っても0.001秒ほどしか差が出ない)
それでもとにかく速い方がいい、というのであれば、str_padの方が速いよ。当然だと思うけど。
0616nobodyさん
2006/08/02(水) 01:19:51ID:???初めてまだ2日程度でいきなり他人に頼ろうと思ったこと自体が間違ってる。
もうちょっと自力で悩んでみ。
中学生がPHPを習得するスレ
http://pc8.2ch.net/test/read.cgi/php/1139746974/
とか
くだすれPHP(超初心者用)
http://pc8.2ch.net/test/read.cgi/php/1150088761/
に行くのもいいかもね。
0617nobodyさん
2006/08/02(水) 01:30:38ID:???むしろ、便利な関数に頼らず1度は文字列処理に頭を悩まし
アルゴリズムを色々考えた方が今のうちは勉強になるぞ。がんばれ。
0618nobodyさん
2006/08/02(水) 01:32:25ID:???俺が学生の頃なんかプログラミングなんか全然やらなかったな・・・
0619nobodyさん
2006/08/02(水) 01:35:26ID:???「俺が学生の頃」って一体何十年前の話さ。
0620nobodyさん
2006/08/02(水) 01:47:35ID:???あの先生は元気かな・・・綺麗な人だった・・・
言っておくがまだまだ20代だぜ!
0621nobodyさん
2006/08/02(水) 05:28:46ID:FnbeRIVd動作確認として
<? phpinfo(); ?>
と書かれていて実行しても動作しませんでした。
あれこれ3日間悩んだあげく、別の書籍で、
<?php phpinfo(); ?>
とあり、問題なく動作させることができました。
「<?php」が「<?」のみであった記述は
バージョン違いで動作しなかったのか、書籍の間違いであったのか
未だにわかりません…どちらなのでしょうか?
0622nobodyさん
2006/08/02(水) 05:58:04ID:???php.iniまたは.htaccessでshort_open_tagをONにしないと<? ?>形式は使えない。
標準ではこれはONになってるはず。(php.ini-distを使う場合)
アーカイブに同梱されているphp.ini-recommendedではXML併用対策としてOFFが標準になってる。
その書籍ではどのようにインストールするよう指示してる?
0623nobodyさん
2006/08/02(水) 07:14:51ID:1IWPQLfyいくつか調べて、「mysql_query("SET NAMES ujis");」ってのを用いれば直るとありましたが、
改善しません。
PHPは4.4.2、MySQLは4.1.19です。
0624nobodyさん
2006/08/02(水) 07:25:17ID:???PHPでinsert文を組み立てるとき、データの文字コードは何にしてるの?
MySQLへの指定はそれに合わせないとダメだろう。闇雲にujisにしてもダメ。
まず、php.iniとmy.cnfでそれぞれ文字コードが何に設定されてるかを確認して
それを揃えるのが先決だと思う。
これが揃ってさえいればわざわざSET NAMESなんて発行する必要はない。
レンタルとかで、MySQLの設定を変更できない場合以外はまず不要なはず。
0625623
2006/08/02(水) 08:29:31ID:???MySQLのデフォルト文字がujisで、
サーバ自体はレンタルという構成です。
なのでphp.iniがみれません。
INSERTする前の文字データはechoでみると文字化けしておらず、
INSERTしたデータをSELECTした結果を見ると文字化けしているのです。
UTF-8→EUC、SJIS→EUCとmb_convert_encodingでコード変換を試しましたが、
やっぱり文字化けが直りません。
0626nobodyさん
2006/08/02(水) 09:06:00ID:FnbeRIVdphp.iniでshort_open_tagは初期値のままOffになっていました。
書籍では部分に関する記述はなく、
Offのまま作業を行う流れであったため気づきませんでした…。
大変参考になりました。
0627(^ω^)
2006/08/02(水) 09:27:16ID:???php.iniの設定はphpinfo()を見ればわかる
それがダメなら一つずつini_get()すれば見れる
それよりも、まずどこで文字化けするか把握しないといけないから、PHPを通さずにSSHが使える鯖ならそこからMySQLにアクセスした方がいい。
それが無理ならローカルに同じ設定のPHPとMySQLを入れて実験。
鯖側がujisでPHPの文字コードもEUC-JPなら普通は何もしなくても通るはずだけど。
ujisよりeucjp-msを勧める。
0628nobodyさん
2006/08/02(水) 10:06:55ID:???0629nobodyさん
2006/08/02(水) 11:53:55ID:???実はDBにはちゃんとinsertできてるのに、表示のときにEUC-JPのまま表示しちゃって
PHPの設定と噛みあってなくて文字化けしてるとかいうオチじゃないだろうな。
selectしたデータをさらにEUC-JPからUTF-8やSJISに変換してから表示してみてはどうよ?
つか、まずはphpinfo()の確認が基本だけどな。
0630nobodyさん
2006/08/02(水) 11:55:28ID:???いや、short_open_tagのデフォルト値はOnなんだってば…
これがOffになってるのはチューニング済みのphp.ini-recommendedを使った場合のみだよ。
それがOffになってたんならお前のインストール方法が悪かっただけじゃないの?
0631nobodyさん
2006/08/02(水) 13:17:36ID:???windowsXP SP2にて
phpPHP 5.1.3
apache2.0
を導入し
// ループ1
while (1) {
// ループ2
while (1) {
$hoge = 1
if ($hoge) {
// ループ1からやり直し
}
}
}
このようなルーチンを書きたいのですが、この場合どのような関数を使用すれば良いのでしょうか?
PHPマニュアルを読んでbreak 1 や、continue 1 をしたのですが、思い通りに動いてくれません。
アドバイス頂ければ助かります。よろしくお願いします。
0635nobodyさん
2006/08/02(水) 14:40:37ID:???普通にbreakやcontinueでいいと思う。関数は要らない。
ひょっとしてbreak 1じゃなくbreak 2が希望の動きなんじゃない?
0636635
2006/08/02(水) 14:41:14ID:???0637nobodyさん
2006/08/02(水) 14:55:18ID:???しましたが、「あああ」というコメントでも弾かれます。
日本語が一切含まれない場合に弾くという処理をしたいのですが、どうすればよいでしょうか。
if (!preg_match("/^[あ-ン]+$/", $comment)) {
die('japanese only');
}
0640nobodyさん
2006/08/02(水) 15:09:01ID:???以下の文字でこのスレッドを検索しましたが出てきません
昔のスレッドでしょうか?
コメント、スパム、spam、preg、マルチバイト…
0644nobodyさん
2006/08/02(水) 15:49:44ID:???ID表示にしました。
>>643
あ、なるほど…
googleでも1時間程検索したのですが、全くヒットしないんです。
検索用語は、
PHP 日本語 コメント コメントスパム spam マルチバイト
検索用語だけでもいいので何かアドバイス頂けないでしょうか。
0645637
2006/08/02(水) 15:50:53ID:RhHoIqr9#2chブラウザ利用してるとデフォルトでなるからいつも忘れてしまう…
0647nobodyさん
2006/08/02(水) 16:09:46ID:???目に入ったのですが、どういうことかよくわからないです。
長さを求める関数なのは知っていますが、それでどのように日本語のみ、又は
アルファベットのみを判定するのかが想像もつかないです…
あー、今わかりました…
strlen と mb_strlenの長さが違えば、マルチバイトということですか。
ありがとうございました。
0648nobodyさん
2006/08/02(水) 16:12:50ID:???あれ、そうかと思ってやってみましたが、ダメでした…
どちらもdieします。
if (strlen($comment) == mb_strlen($comment)) {
die('japanese only');
}
0649nobodyさん
2006/08/02(水) 16:36:00ID:RhHoIqr9すみません。こちらのミスでできたようです。
$commentが何もない時に通っていました。 orz...
0650nobodyさん
2006/08/02(水) 16:38:12ID:???できればencodingを追加しておく方がよい。
0651nobodyさん
2006/08/02(水) 16:44:05ID:???と言いますと…
$comment = mb_convert_encoding($comment, '内部エンコーディング?'');
を直前に入れるという理解で良いでしょうか?
0652nobodyさん
2006/08/02(水) 16:46:00ID:???0653637
2006/08/02(水) 16:48:38ID:RhHoIqr9これか…
mb_strlen ( string str [, string encoding] )
デフォルトが内部エンコーディングだから…うーん、よくわからないですけど
とりあえずそのままでも動いているので良いかな…
0654nobodyさん
2006/08/02(水) 18:41:31ID:???なにかおかしいと思ってもう一度確認した。
やはりshort_open_tagはデフォルトでOffだった。
今の最新バージョンではデフォルトでshort_open_tagがOffになっている?
0655nobodyさん
2006/08/02(水) 18:49:43ID:???値を変更するには
メソッドを必ず用意しなければいけないのですか?
変数の代入みたいにできませんか?
0657nobodyさん
2006/08/02(水) 21:26:11ID:GYqJmd1rいまDBを使った投稿者に対し複数レスがつけられる掲示板を作っているんですが、投稿者用とレス用のテーブルを作ったんですが、どの様に表示すれば良いのかいまいち解りません。。
よろしくお願いします。。
0658nobodyさん
2006/08/02(水) 21:33:32ID:???0659nobodyさん
2006/08/02(水) 21:35:18ID:???表示ってそのまま親取ってきて、レス取って来ればいいのかと。
この場合JOINさせてもあんまり意味ないし。
0660nobodyさん
2006/08/02(水) 21:59:29ID:???どんなメソッドがあるか
まとめて調べる方法はありませんか?
0661nobodyさん
2006/08/02(水) 22:01:24ID:???スレとレスのテーブルは同じで出来るんじゃない?
全ての投稿にid付けて、例えばスレのIDが「2」なら、そのスレのレスのIDは「2-1」「2-2」「2-3」...とか。
そのレスのレスのIDは「2-2-1」「2-2-2」...
あとはSELECTのWHEREオプションでうだうだやって。。
0662nobodyさん
2006/08/02(水) 22:21:20ID:???そんなややこしい ID にすると SQL 一発で結果を得るのが難しくなるよ。
親記事の ID をそれぞれに持たせるだけで良いと思うよ。
親自体の親 ID は NULL で。
0663nobodyさん
2006/08/02(水) 23:33:49ID:???できるできないで言ったら同じテーブルでできると思うけど、
形式が違うor異なった拡張を考えているなら違うテーブル設計はアリだと思うな。
掲示板の表示はそもそもどういう風に表示したいのかが分からんので何とも。
投稿者表示が固定件数で、それに対してレスを全部表示、って形なら
$result1 = mysql_query("select * from 投稿者用テーブル order by 日付 limit 件数", $conn);
while($投稿者データ = mysql_fetch_assoc($result1)) {
投稿者データ表示($投稿者データ);
$result2 = mysql_query("select * from レス用テーブル where レス元 = '$投稿者データ[ID]' order by 日付", $conn);
while($レスデータ = mysql_fetch_assoc($result2)) {
レスデータ表示($レスデータ)
}
}
ってのを基本形にアレコレすればふつーにできると思う。
0665nobodyさん
2006/08/02(水) 23:42:01ID:???Complete Source Code PHP 5.1.4 (tar.gz)
と
Windows Binaries PHP 5.1.4 zip package
の両方ともを今ダウンロードしてきて確認したが、
どっちもphp.ini-dist(デフォルトのphp.ini)は short_open_tag = On になってたよ。
何か勘違いしてると思う。
0667657
2006/08/03(木) 00:45:35ID:???テーブルは一つで出来るんですね。
分けないといけないと思い込んでました。。
それでソースを書いていただいた>>663さんには大変申し訳ないのですが、テーブル一つでやりたいと思うんですが、やはり表示の仕方がいまいち解りません。。
>>661さんや>>662さんが教えていただいたやり方で考えているんですが、PEAR::Pagerと絡ませた場合どうすればいいのか。。
何度も何度も質問すみません。。
0668nobodyさん
2006/08/03(木) 00:55:55ID:???0669nobodyさん
2006/08/03(木) 01:27:26ID:???基本中の基本も理解してないうちからPEAR::Pagerを使うのはやめた方がいいと思う。
いつまでもアルゴリズムのなんたるかを理解できないまま進んでしまうぞ。
そういうのは、最低限当たり前のことができるようになってから挑戦しよう。
0670nobodyさん
2006/08/03(木) 01:53:06ID:???自分の能力を簡単に超えやすい
(手に負えなくなりやすい)
(メンテ大変)
0671nobodyさん
2006/08/03(木) 01:59:50ID:???複数階層のレスができるのか親子関係が1世代しかないスレッド式なのかで変わる。
たぶん後者の方が簡単。
ついでに。テーブル一つでやりたいってのはJOINが分からないとかのスキル不足から来るものだと思うけど、
(普通しないものを)無理矢理1テーブルにするってのは更に高いスキルを無駄に要求されると思うよ。
0672nobodyさん
2006/08/03(木) 02:06:24ID:???> ついでに。テーブル一つでやりたいってのはJOINが分からないとかのスキル不足から来るものだと思うけど、
そうか? 「記事」って単位で考えると、親も子も同じものだし、分ける方がおかしいと思うけど?
スレッド式だったらスレッドの階層毎に別テーブルにする? 親だけ分離?
0673671
2006/08/03(木) 02:31:31ID:???663の2テーブルのサンプルを見た後で1テーブルでしたいってのはそういうことかなと勝手に推測してね。
1テーブルに纏めると面倒ってのはスレッド式を想定したよ。例えばスレタイ。 PHP関係なくてすまそ。
0674nobodyさん
2006/08/03(木) 02:34:57ID:???記事IDとかをプライマリにして、親記事テーブル→子記事テーブル
ただ、高々ツリーのスレッドを生成するだけだから一つのテーブルにしてもテーブル分けても速度は全然
気にならないだろうな。
もしテーブルを一つにするなら親レコードなのか子レコードなのかを判断するフラグみたいなの持たせなきゃ
ダメだよな?
なんかそれは気持ち悪い
0675nobodyさん
2006/08/03(木) 02:35:24ID:CT8bx9Pd0676nobodyさん
2006/08/03(木) 02:49:12ID:???親記事1
├子記事1
│├孫記事1
│└孫記事2
└子記事2
親記事2
…
みたいな記事のツリー構造はどうするつもり?
親と子と孫で 3 テーブルか?
なんか皆想定している掲示板のスタイルが違うから話が噛み合っていない感じ。
0678nobodyさん
2006/08/03(木) 04:14:00ID:???1 null
2 null
3 1
4 null
5 2
6 2
7 null
8 5
9 5
0679nobodyさん
2006/08/03(木) 04:16:39ID:???中にはblogみたいに親記事とレス記事じゃ全然情報量の違うものだってあるんだし。
そんなんここで語り合ってもしょーがないだろ、おまいら。
0680nobodyさん
2006/08/03(木) 04:33:31ID:???そろそろ仕切り直そうか。
0681nobodyさん
2006/08/03(木) 06:44:24ID:???0683nobodyさん
2006/08/03(木) 08:01:51ID:???recommended側が本来のデフォルトと違ってOff設定だってのは
すでに>>622>>630で説明済みなんだけどな。理解できてないんかね。
0685nobodyさん
2006/08/03(木) 09:51:32ID:???0688nobodyさん
2006/08/03(木) 10:39:05ID:???0689nobodyさん
2006/08/03(木) 11:15:44ID:Uv0OTJUq0691nobodyさん
2006/08/03(木) 12:22:22ID:N4ArK+AW以下のようなPHPがあるのですが、送信した後に「test.txt」の内容を「text111=○○」という形式にしたいのですが、
<input type="hidden" name="text111" value="text111=">
というのを<form〜>のすぐ下にいれるといいのだと思いますが、
phpのところでtext111とcontentsをつなげて送るにはどう書いたらいいのでしょうか??
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
</head>
<body bgcolor="#FFFFFF" text="#006666">
内容を書き込み、送信 <br>
<form method="post" action="post.php">
<input type"text" name="contents" value="" size="50" maxlength="256">
<br><br>
<input type="submit" name="submit" value="送信">
</form><br>
<?php
ini_set("mbstring.internal_encoding","UTF-8");
$filename = "test.txt";
if(isset($_POST['submit'])){
print("内容: ".$_POST['contents']);
$file = fopen($filename, "w");
flock($file, 2);
fwrite($file, $_POST['contents']);
flock($file, 3);
fclose($file);
}
?>
</body>
</html>
0692nobodyさん
2006/08/03(木) 12:32:19ID:P5/NaZ/f0693nobodyさん
2006/08/03(木) 12:53:29ID:???※http://www.din.or.jp/~ohzaki/perl.htm#File_Random より転載
ファイル全体をメモリに読み込まないので少ないメモリで実行出来る利点があります。
srand;
open(FILE, "< $file");
rand($.) < 1 and $line = $_ while <FILE>;
close(FILE);
print $line;
file()で読み込んでshuffle()すれば一番楽なのは分かってますが、
これをPHPで書いた場合、どのようになるでしょうか?
rand($.) < 1 and $line = $_ while <FILE>;
問題なのは↑の1行だけなのですが、perlの経験がない為悪戦苦闘してます。
0694nobodyさん
2006/08/03(木) 12:54:11ID:???馬鹿だなw
今日の欧州、ポンド金利
明日の雇用統計
SQ前日のFOMC
変態相場で16500を超えるというのに
0695nobodyさん
2006/08/03(木) 12:58:40ID:ze0QfgtLで保存し、どのPHPファイルも、最初に
header('Content-Type: text/html; charset=UTF8');
と宣言しています。
これで、殆どのところは文字化けせず、ブラウザ(IE6.0)の「表示」−「エ
ンコード」を見ると、「日本語 (UTF-8)」となっています。
ところが、「exit("エラーです");」と書くと、「エラーです」の部分が文
字化けしてしまうのです。ブラウザ(IE6.0)の「表示」−「エンコード」を
見ると、「日本語 (シフト JIS)」となっています。もちろん、クライアン
トの私が、「表示」−「エンコード」を「日本語 (UTF-8)」に直せば、文字
化けはなくなります。
けれども、このサイトは、一般の人達にも見せるものですので、一般の人達
にわざわざ「表示」−「エンコード」を「日本語 (UTF-8)」に直させること
は出来ないのです。
どなたか、「exit("エラーです");」が最初から文字化けしないで済む方法
をご存知でしょうか?教えて下さい。宜しくお願い致します。
0696nobodyさん
2006/08/03(木) 13:19:32ID:???0697nobodyさん
2006/08/03(木) 13:19:58ID:???にする
0698nobodyさん
2006/08/03(木) 14:09:08ID:???0699nobodyさん
2006/08/03(木) 14:14:23ID:ze0QfgtL>>695です。ありがとうございます。「UTF8」を「UTF-8」に直したら、
文字化けが直りました・・・。
皆様、下らないことで質問してしまい、申し訳ございませんでした・
・・。 (^_^;)
0700nobodyさん
2006/08/03(木) 14:25:42ID:???そのページにアルゴリズムの解説と、もっと分かりやすい書き方のサンプルもあるじゃないか。
分かりやすいバージョンをそのままPHPに直せば済む話じゃないの?
0701nobodyさん
2006/08/03(木) 14:26:09ID:???0702nobodyさん
2006/08/03(木) 14:31:58ID:???> fwrite($file, $_POST['contents']);
ここを
fwrite($file, "text111=" . $_POST['contents']);
にするだけ。
頼むから宿題は自分でやろうな?
0703質問
2006/08/03(木) 14:53:22ID:QMvWQHpPphpでrssのフィードを自動生成するプログラムを作ろうと思い、
取りあえず手書きのフィード(http://up2.viploader.net/pic/src/viploader250918.jpg)を
phpで表示させてみようと(http://up2.viploader.net/pic/src/viploader250915.jpg)
のようにしてみたのですが
(http://up2.viploader.net/pic/src/viploader250916.jpg)のように表示されてしまい、
成功しません。なんだかかなり根本的なミスをしている気がするんですが
ご指導よろしくおねがいします
ちなみに(http://up2.viploader.net/pic/src/viploader250917.jpg)
のように表示させたかったんです。
0704nobodyさん
2006/08/03(木) 15:09:32ID:???10万以内で講師がレベル高いところが良いです。
0709nobodyさん
2006/08/03(木) 15:35:59ID:???何を学べるのか、だと思いますが。。
個人レベルではなく、
プロのレベル・スピードで、勉強したいということですね
0711nobodyさん
2006/08/03(木) 15:40:32ID:???質問にレベルが高い・低いなんてあるんでしょうか?
聞きたいことを聞くのが質問であって、
レベルの高さを競うものではないと思います。
>>705さんがいきなりいちゃもんつけてきたので
>>706は少し言い過ぎました。
申し訳ないです。
もしスクール等、
受講されてる方・過去に受講した方・その筋に精通している方
いらっしゃいましたらお願い致します。
0713nobodyさん
2006/08/03(木) 15:41:34ID:???header("Content-Type: application/xml; charset=utf-8");
を先頭に追加。
0714nobodyさん
2006/08/03(木) 15:44:07ID:???OSの根幹に入るようなスクリプトじゃないんだからw
0715nobodyさん
2006/08/03(木) 15:44:46ID:???じゃ、スクールを提案しろって言われて、そもそもどこ住んでんのさって話よ。
福岡で良いなら教えてあげるけど? どーせ、東京でとか言い出すんでしょ?
「10万以内」って何さ? 時給? 日給? 一回のレッスン料? 円か?
0716nobodyさん
2006/08/03(木) 15:51:54ID:???0717nobodyさん
2006/08/03(木) 15:53:51ID:???もし神奈川(渋谷)近郊ならお願いしたいです。
サーバに関する知識は全く持ち合わせていませんし、
一人では張り合いがないっていうか。。(;ω;)
>>714
卑下するくらいなら別のスレいったほうがいいですよ
批判なんて誰でもできるんだから
>>715さん
ありがとうございます。
ただ、福岡はちょっと遠いです(><;
ありがとうです。
0718nobodyさん
2006/08/03(木) 15:57:35ID:???質問自体にレベルの差は無い。
が、質問のし方にはレベルの高低が存在する。
>>704の質問の仕方はレベルが低いと言われても当然
で、そういうことに頭が回らない人間とは仕事を一緒にしたくないのが一般的だと思う。
なので、PHPを勉強するより先に社会勉強をお奨めします。
0719nobodyさん
2006/08/03(木) 16:01:54ID:???卑下されたと思ったのか。そういう意味ではなかったんだが。
たしかに、PHPを卑下したことにはなるかもしれんが。
0721nobodyさん
2006/08/03(木) 16:16:41ID:???と
Windows Binaries PHP 5.1.4 zip package
って、どういう違いがあるんですか??
0723nobodyさん
2006/08/03(木) 16:29:14ID:???<?
$dir = './pic/';
if($_POST['Submit'] == "送信"){
$img= $_FILES['file'];
$img_type= $_FILES['file']['type'];
$img_tmp= $_FILES['file']['tmp_name'];
$img_error= $_FILES['file']['error'];
$img_size= $_FILES['file']['size'];
if(is_uploaded_file($img_tmp)){
echo "アップロード開始します。<br />\n";
$writename = "test.jpg";
if(move_uploaded_file($img1tmp,$dir.$writename)){
echo "アップロード完了<br />\n";
}else{
echo "アップできませんでした<br />\n";
}
}
}
?>
<form action="<?=$_SERVER['PHP_SELF']?>" method="post" enctype="multipart/form-data">
<label>
<input type="file" name="file">
</label>
<label>
<input type="submit" name="Submit" value="送信">
</label>
</form>
としたのですが、アップロードできません。どこが間違っているのでしょうか?ちなみにディレクトリはあります。
0724723
2006/08/03(木) 16:44:59ID:???基礎的な部分で間違っていたのに気づきませんでした(自己解決)
0725nobodyさん
2006/08/03(木) 16:48:56ID:???0726nobodyさん
2006/08/03(木) 17:27:59ID:???0727nobodyさん
2006/08/03(木) 17:46:29ID:???で、これにもレスをしようと思ってるはずだwしかし、これを見て止める。
0728nobodyさん
2006/08/03(木) 17:52:33ID:???googleで「PHP スクール」で検索すれば、大量に見つかりますよ。
渋谷のレベルの高いスクールも、すぐに見つかります。
色々叩かれていますけど、いちいち相手にしていると、面白がられ
るだけです。叩かれても、「相手にしない」ということが大切です
よ。
0729nobodyさん
2006/08/03(木) 18:00:17ID:???pcntlでシグナル拾ってても、親がKillされるとだめ?
つまるところ、Killされた場合に行う終了処理をPHPで記述するにはどうすればいいの?
0734729
2006/08/03(木) 18:43:23ID:???0735nobodyさん
2006/08/03(木) 18:45:39ID:???0736nobodyさん
2006/08/03(木) 18:54:33ID:???/<_/____/
 ̄ ̄ ̄ ̄ ̄ ̄ ̄
w <⌒/ヽ-、_ww_
ww /<_/____/ ww
WWW  ̄ ̄ ̄ ̄ WW
wwww<⌒/ヽw、_wwwww w
w www<_/_wwwww/wwwww
WWWWWWWW ̄ ̄WWWWWW
_______________ノ
○o。
ガバッ :∧_∧:
:(;゙゚'ω゚'):
〃:/ つ/(___
/ ̄└-(____/
0737nobodyさん
2006/08/03(木) 19:06:40ID:???0738nobodyさん
2006/08/03(木) 19:12:48ID:???0739nobodyさん
2006/08/03(木) 19:14:00ID:???0741nobodyさん
2006/08/03(木) 19:15:54ID:???echo 'サーバサイドスクリプト';
?>
0742nobodyさん
2006/08/03(木) 19:17:28ID:???WWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW
WWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW
WWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW
wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww
0744703質問
2006/08/03(木) 19:38:27ID:QMvWQHpP>>710>>713さんの言うとおり(http://up2.viploader.net/pic/src/viploader251232.jpg)
のようにしてみたところ
(http://up2.viploader.net/pic/src/viploader251234.jpg)
このように表示されて、まだうまくいきません。
重ねてよろしくお願いします
0745nobodyさん
2006/08/03(木) 19:43:38ID:???header already sentはFAQだからググれば出てくるだろ
< gt; は<>に戻すんだ
0746nobodyさん
2006/08/03(木) 19:52:13ID:???一行づつprintする意味はあるの?
0747nobodyさん
2006/08/03(木) 19:56:44ID:???まぁPHP初心者にはハードルが若干高いが
0748(^ω^)
2006/08/03(木) 19:59:34ID:???header("Content-Type: application/xml; charset=utf-8");
?>
<xml version="1.0" encoding="UTF-8">
<rss version="2.0">
<channel>
(略
0749nobodyさん
2006/08/03(木) 20:19:43ID:???この状態で$_SERVER['PHP_SELF']を行うと
/hogehoge/index.php/12345/
と出力されるのですが
/index.php/12345/
と出力させる方法はないのでしょうか?
0750nobodyさん
2006/08/03(木) 20:35:37ID:???0751nobodyさん
2006/08/03(木) 20:37:42ID:???echo "<A href=\"".$file."\">Link</A>";
print_r(file($file));
って書いたのに、
リンク先はまともに飛ぶのにfile()使ったらエラーでるもうだめぽ
0752nobodyさん
2006/08/03(木) 20:58:09ID:???たとえば、echo '/' . strrchr($_SERVER['PHP_SELF'], basename(__file__)); とか?
>>751
独り言はチラシの裏でやるんだ
0753703質問
2006/08/03(木) 20:58:38ID:QMvWQHpPお蔭様でrssをphpで表示させることができました。
あとは普通にプログラムを組んで
フィードを自動生成するphpを作るだけです。
もう基礎は作りおわっているので、完成まで時間の問題です。
本当にありがとうございました。
0754nobodyさん
2006/08/04(金) 00:31:10ID:???609氏、どうもありがとうざいます、608です。
609氏のソースをPHPマニュアルで調べてやっと理解しました。
お陰様で無事にHTMLのコンテンツ自動生成が出来ました。
意味不明な質問に的確に答えて頂きましたこと、重ねて感謝致します。
どうもありがとうございました。
ちなみに私は学生じゃありません、馬鹿な大人でごめんなさい。
0755nobodyさん
2006/08/04(金) 03:00:06ID:???一般的なPHPの「プロ」のレベルは恐ろしく低いから、多分独学でも全然問題ない。
ただ、これが「優秀なプロ」ということだと話は全然違う。
少なくとも学校でそんな勉強ができるとこは存在しない。
プロの現場でもごく一部に限られるので、そこにうまく入社するのは運と実力両方が必要だと思う。
まずスキルと実績を身につけて、がんがん転職を繰り返して最良の会社を探すことだと思う。
そもそも、優秀なプロの多くはPHPをあえて選択したりしない。
自分で選択したのではなく、業務の事情等からPHPを選択させられただけの話。
0756nobodyさん
2006/08/04(金) 03:12:41ID:???将来的にWebPG開発業務に携わりたいと思ってるんだろうから、
どうせ金をかけるならJavaでも学んだほうがよほどましだと思う。
10万でどこまで学べるかといったら限られるだろうけどな。
少なくとも通信じゃ独学とさほど変わらない。
一般的にPGなんかは実績を重視されるわけで、
PGとしての業務経験がない場合は、採用してくれるかは微妙なところ。
それでも小さい会社なんかはチャンスはあるからまずはそういうとこから入るべし。
0757nobodyさん
2006/08/04(金) 03:14:19ID:???> Complete Source Code PHP 5.1.4 (tar.gz)
> と
> Windows Binaries PHP 5.1.4 zip package
> って、どういう違いがあるんですか??
上はPHPのC言語ソース。自分でコンパイルして使う。
下はWindows専用のコンパイル済みPHP。そのままインストールして使えるが
特定のコンパイルオプションが必要な機能などは使えない。
0760nobodyさん
2006/08/04(金) 04:42:26ID:???>そもそも、優秀なプロの多くはPHPをあえて選択したりしない。
普通に優秀な人なら何を選ぶのか教えてもらっていい?
ASPとか?
0761nobodyさん
2006/08/04(金) 05:06:47ID:???0762nobodyさん
2006/08/04(金) 06:12:15ID:???webの領域を超えるにしてもJavaは対応できる。
webにこだわらないならC++でもやっとけばいいよ。
0763nobodyさん
2006/08/04(金) 07:30:42ID:???ColdFusion+フロントエンドにFlashってのもたまにやる。
0764nobodyさん
2006/08/04(金) 07:36:35ID:???0765nobodyさん
2006/08/04(金) 07:49:16ID:???Webアーキテクチャは電子証明書やICカードReaderなどの外部IFを必要とするもの
以外は、スクリプト言語(PHP+JacaScript)でできる
まぁ直に電子証明書や外部IFもPHPで楽にできるさ
0767nobodyさん
2006/08/04(金) 08:16:40ID:???0768nobodyさん
2006/08/04(金) 08:45:19ID:???言いたいことはわかるよ
それを理解した上で言う
クライアント「これさぁー Rubyで作ってよ?」
俺「Rubyですか 何か理由があるんでしょうか?」
クライアント「だってさー 日本人が作ったものなんでしょう やはり国産を応援したくなるでしょう」
俺「なるほど〜 了解しました 社に持ち帰って検討してみます」
そして帰りに本屋に立ち寄り「はじめてのRuby」を立ち読みする
人生、思ったとおりにはいかんものだなw
0769nobodyさん
2006/08/04(金) 08:50:42ID:???が、「状況」は色々だからあえてPHPを選択する事もあれば、
仕方なくJavaを選択する事もある。
フレームワークが指定されてることもある。
ヘボいのは選択肢の少ないプログラマだ。
0770nobodyさん
2006/08/04(金) 09:10:38ID:???PerlもJavaもPHPもRubyもとにかくなんでもできます!
なんていうやつは逆に使えなさそうだ。
選択肢は少なくとも、極めるこそ価値がある。
0771nobodyさん
2006/08/04(金) 09:20:30ID:???Java 出来るやつ全てがプロじゃないのも自明だし
PHP やってるやつが全てアマじゃないのも自明
0772(^ω^)
2006/08/04(金) 09:57:26ID:???一日中PHPと向き合って勉強する気があるなら独学でも十分。
0773nobodyさん
2006/08/04(金) 10:06:02ID:???> Java、PHP、Perl、C#以外で
って言われたら、実際問題技術者は少ないでしょ。
現実的には C、Ruby、Python くらいしかないから Ruby が良いかなとも思うけど
Ruby もまだまだ使える場所が限られてるからねぇ。
あぁ、C# もありってことは、ASP(.NET)を含むのかな?
じゃあ、ある意味やれる技術者は多そうだけどね。
0774nobodyさん
2006/08/04(金) 10:08:49ID:???特に合理的な理由が見当たらないので断る。
0775nobodyさん
2006/08/04(金) 10:17:06ID:???一人で作れるような範囲のものならともかく、
複数がらみの規模のものでは通用しないよ。
まぁスレ違いなんで次の質問どぞ
0776nobodyさん
2006/08/04(金) 10:26:32ID:???0777nobodyさん
2006/08/04(金) 11:09:25ID:???俺は吹けるから、俺にとっては楽器。
ストローも吹けるから、俺にとっては楽器。
でも、一般の人にとっては楽器じゃない。
0778nobodyさん
2006/08/04(金) 11:10:01ID:???0779nobodyさん
2006/08/04(金) 11:11:56ID:???ぁあ…ちくわ出るっ、ちくわ出ますうっ!!
ブリイッ!ブボッ!ブリブリブリィィィィッッッッ!!!!
いやぁぁっ!あたし、こんなにいっぱいちくわ出してるゥゥッ!
ぶびびびびびびびぃぃぃぃぃぃぃっっっっ!!!!ボトボトボトォォッッ!!!
いやああああっっっ!!見ないで、お願いぃぃぃっっっ!!!
いやぁぁっ!あたし、こんなにいっぱいちくわ出してるゥゥッ!
ぶびびびびびびびぃぃぃぃぃぃぃっっっっ!!!!ボトボトボトォォッッ!!!
ぁあ…ちくわ出るっ、ちくわ出ますうっ!!
ビッ、ブリュッ、ブリュブリュブリュゥゥゥーーーーーッッッ!!!
いやああああっっっ!!見ないで、お願いぃぃぃっっっ!!!
ブジュッ!ジャアアアアーーーーーーッッッ…ブシャッ!
ブババババババアアアアアアッッッッ!!!!
んはああーーーーっっっ!!!アッ、アアッ、ちくわァァァァァァ!!!
ムリムリイッッ!!ブチュブチュッッ、ミチミチミチィィッッ!!!
おおっ!ちくわァ!!あっ、ああっ、ちくわぁぁ!!!ちくわ見てぇっ
0780nobodyさん
2006/08/04(金) 11:12:59ID:???ハ ┌( ;/ ト, ,、 rヘ r'^ナrジ-z
__}ヽ,__ (ヽ/ス_r^フしz,り い)n/イr〜^′
'っヾ、r'__ |レ'ノ_C'入彳勺ソメろ_j/し-,_
`フ ヾ勹_| <_r' !|刀_」r''>||/⌒(_rヘ-‐'
<_ゝし||フぅ(ひzメ__ゝ'l !'そ
~zヾ|て 、l レ^ //'| |'~
| | ヽl| // }|
| :! || | | ,/ ,' すいません、ちょっと通りますよ
| :{. || | |/ /
l !|| | | /
ヽ ヽ.|/ //
_,r)_ j (_,( ciz
,ノこ_- __,ーヽ ん|Zゥ レz zjそ_
} ... 丿 ろ、,_!|乙7ムLそ/し-z
ノ""'' 一( `う.l !シ/ア了//_⊂,
/、__ ヽ ^'| |~//,/_ソ ハr^
/ ...... ーl | |// //ノ
/~"' 、__/ ,,,...} |/ ///
{' _ `y′ 一 / r'〜(_ノ
人 =/‐- ハ 丿" ''(
ヽ '' / __,, / / ‐- ''')
'∨ X. }''' ....ノ
j ー/ /== ノ'ヽ
/=‐ r'´-ヽ } ー/'''' {
,' _,, 人 ''"`、 ノ.. '' ノ`ヽ ''"ヽ
{ー / \ -'} / / \'''}`
ハ 〈 )八 ( f )ハ
ヽ ) (( )ノ /
ノ/ ') _/
0781nobodyさん
2006/08/04(金) 11:13:24ID:???0782nobodyさん
2006/08/04(金) 11:42:42ID:???0783nobodyさん
2006/08/04(金) 12:31:47ID:???熱い夏には最強の武器になります。
0785nobodyさん
2006/08/04(金) 12:41:37ID:???0786拓海
2006/08/04(金) 13:43:34ID:AP1zrAvuhttp://www.abcoroti.com/~rent/rspace/bbs3/wwwlng.cgi?print+200608/06080018.txt
0789nobodyさん
2006/08/04(金) 14:02:03ID:???0790nobodyさん
2006/08/04(金) 14:20:29ID:???スイカは野菜だ。小さいものならマンコにも入る。
>>786
なんでperlのソースをはりつけてるんだ?
テキストを置いたらテキストが表示されるだろ。
0791nobodyさん
2006/08/04(金) 14:46:41ID:v3M2GCi5色々とくぐってみると初心者はphp+mysqlの文字化けではまりやすい
みたいなことがいっぱいありました。
日本語のcharsetは何を使うのが無難でしょうか?
0792nobodyさん
2006/08/04(金) 14:48:22ID:???今の無難よりも今後のことも考えて、UTF-8をお薦めする
0796nobodyさん
2006/08/04(金) 16:00:28ID:FsXZN+q70800nobodyさん
2006/08/04(金) 16:51:04ID:???"郵便番号”入力 → 「住所検索」ボタン押す → "住所欄"に記載される
"郵便番号”入力 → 勝手にリロードする → "住所欄"に記載される
上の方法はJavaScriptでもAjaxでもPHPでも方法がわかるのですが
下の方法は「どうやれば勝手にリロードさせるのか」が不明です
ご存知の方、"からくり"を教えていただけないでしょうか?
Ex.
フォーム 数字7つが埋まる(ハイフンの有無関係無し)
↓
MySQLに接続し、検索
↓
検索結果を表示
0801nobodyさん
2006/08/04(金) 16:54:19ID:???どの日本語のcharsetを使っても、php+mysqlだと必ず文字化けするような
環境があります。
どの日本語のcharsetを使っても文字化けするのですから、今後のことを
考えてUTF-8かEUC-JPにした方が良いです。特別な理由がなければ、
Shift_JISは避けた方が良いです。
0802nobodyさん
2006/08/04(金) 16:59:57ID:???JavaScriptを一定時間ごとに再実行させ、textboxに数字が7つある
かどうかチェックする。
↓
数字が7つあれば、formをsubmitさせ、PHPファイルを実行する。
↓
このPHPファイルからMySQLに接続し、住所を検索する。
↓
検索された住所を表示。
あなたのスキルで、充分出来ると思いますけど。
0804nobodyさん
2006/08/04(金) 17:03:25ID:???Ajax分かるなら、キー入力をJavaScriptで監視して、
打鍵毎にフォームをチェック→7桁あったらサーバーに接続
で一発じゃないかと思うけど。
0805nobodyさん
2006/08/04(金) 17:04:06ID:???phpはよく知らんがjavaだとこんな感じ
フォーム 数字7つが埋まったら javascriptで form.submit
↓
サーバ側でMySQLに接続し、検索
↓
検索結果を埋めて同じURLにforward
0807nobodyさん
2006/08/04(金) 17:05:52ID:???つーか>>800の
>上の方法はJavaScriptでもAjaxでもPHPでも方法がわかるのですが
って時点でアレっぽい。
0808nobodyさん
2006/08/04(金) 17:06:37ID:???http://www.google.co.jp/search?hl=ja&q=ajax+%E9%83%B5%E4%BE%BF%E7%95%AA%E5%8F%B7%E6%A4%9C%E7%B4%A2&btnG=Google+%E6%A4%9C%E7%B4%A2&lr=
探せばソース公開してるところがあるかも
0810nobodyさん
2006/08/04(金) 17:08:27ID:???ですよね
自分も書いた後にヤバイなと思った
正確には、「JavaScript(Ajax)でもPHPでも」かな
監視は一応思いついたのですが、負荷かかってよろしくないんじゃないかと思ったもので・・・
最近、気になるお年になったのよ
0811nobodyさん
2006/08/04(金) 17:09:06ID:???ありがレス。
MySQLはデフォルトUTF-8を選択したほうが+環境構築も楽なようですね。
申し遅れましたがサーバOSはlinux、クライアントOSはWindows、ブラウザはIE6以上をターゲットとしています。
またシステム利用者に対してメールの配信も行います。
その辺を考慮してもShift_JISは避けたほうがいいのでしょうか?
0812nobodyさん
2006/08/04(金) 17:09:50ID:???タイマー監視だと確かに重い場合もあるかもだが
入力イベントでの監視なら全然問題ないだろう。
つーか、Ajaxじゃふつー。
0817nobodyさん
2006/08/04(金) 17:34:42ID:???MySQL はバージョンによって結構、動作が変わるから
文字コードに苦労したくないのなら、できるだけ
4.1x 以降は使わないほうがいい。
0818nobodyさん
2006/08/04(金) 17:36:25ID:???0819nobodyさん
2006/08/04(金) 17:45:06ID:???マジありえんぞ、そんな実装
INPUTタグのonchange()イベントで数えて7になったらリロードでいいじゃん
てか、どうせJavaScript使うならAjaxにしてリロードなくしたほうがいいな
0820nobodyさん
2006/08/04(金) 17:52:19ID:???onchange使っているのに悩ませるなw
Ajaxでリロードなくすって、バックヤードでリロードしまくっているじゃねぇか
0823nobodyさん
2006/08/04(金) 18:11:23ID:???0824nobodyさん
2006/08/04(金) 18:50:20ID:???0825nobodyさん
2006/08/04(金) 20:05:20ID:???1秒ごとにチェック?
イベント監視のほうがましそう
cronで24時間動かすならわかるが
0827nobodyさん
2006/08/04(金) 21:01:16ID:???>cronで24時間動かす
おいおい、cronで24時間毎秒起動するって、どんなシステムだよそれ。
っていうか>>826も指摘してるが、話の流れとcronは関係ないし。
0829nobodyさん
2006/08/04(金) 21:31:50ID:U81MXz/dクラスについて学ぼうと思っているのですが、前段階としてクラスを使う
メリットについて認識できていません。
「例えばこういう場合に、関数だけじゃ面倒じゃん」という例があったら
教えてください。
0830nobodyさん
2006/08/04(金) 21:50:59ID:vf7pOYMIここにあるみたいに
ttfをPNGにして出力する処理をしてるんですが
背景色を透過にすることはできるんでしょうか?
$black = imagecolorallocate($image, 0, 0, 0);
できるとしたら↑の部分をどう記述したらいいんでしょうか?
0831nobodyさん
2006/08/04(金) 21:52:51ID:???関数構造化だけでは記述力不足に陥る
0832829
2006/08/04(金) 21:58:50ID:U81MXz/d>システムを相互作用するオブジェクトの集合
すいません、経験が無いためこれがイメージできませんでした。
具体的にイメージしやすい例示をしていただけると助かります。
0834nobodyさん
2006/08/04(金) 22:10:40ID:???0835nobodyさん
2006/08/04(金) 22:17:51ID:???0837nobodyさん
2006/08/04(金) 22:27:06ID:???0839nobodyさん
2006/08/04(金) 23:03:30ID:???gifとpngは透過できる
ttp://www.animegif.net/animegif/format.html
phpで透過使えるかどうかはわからんけど
0840(^ω^)
2006/08/04(金) 23:45:54ID:???PHPでは説明しにくいな…
たとえばPHPの実行時間を計る部分を考える(PukiWikiの画面最下のConvert Timeみたいなやつ)。
次の方法で取得するとする。
1.処理が始まる前に今の時間を取得し変数$time1に代入。
2.処理が終わったら今の時間を取得し変数$time2に代入。
3.差を出力する関数を用意する(print_jikkou_jikan($jikan_no_sa))。
これは関数で簡単に実現できる(ソース省略)。
ここで、これを掲示板A、画像掲示板B、日記C、ブログD、リンク集E、アクセス解析Fなど、いろんな所で使いたいとする。
関数は簡単に書ける。しかし1. 2.で変数に代入しなければいけない。当然元のソースを修正して変数を用意することになる。
すると変数名や関数名のバッテイングを注意しないといけない。またプログラムでは、いろんな設定や状態の保持など、大量に変数や関数を使う。その変数関数地獄の中に埋もれることになる。
0841(^ω^)長文スマソ
2006/08/04(金) 23:47:45ID:???変数のバッテイングも関数のみに比べれば減る(上の例では変数は2つだが、ブログの設定など変数が何十個何百個ならそれだけバッテイングの危険が増える)。
またクラスでまとめられるから、正しくない関数に変数を入れてしまう可能性が減る。
上の例では、$jikan_no_saに誤ってパスワードの入っている変数を入れてしまったらパスワードが出力されてしまう(そんな偶然まずないけどw)。
0842(^ω^)長文スマソ
2006/08/04(金) 23:49:15ID:???さあ作ろうと思った時、いきなりでは何から作ればいいかよく分からないと思う。
しかしクラスを使うと、キャラクターの状態クラス(HPとかMPとか覚えた技とか)、マップ管理クラス(今どこにいるとか敵出現率は〇%だとか宝箱は座標30,45にあるとか)、
BGMクラス、実際に描画するクラスとか、役割別に分けられるから理解しやすいし作りやすい。
また継承を使って、キャラクタークラスを(十字キーで操作できる)主人公クラス、(くり出す技を自動で考える)敵キャラクラスなど、いろいろ機能の追加ができる。関数だけではさすがに面倒じゃないか?
長文スマン。説明下手でスマン。まあそのうちクラスなしでは不便に思うようになるよ。
0843nobodyさん
2006/08/05(土) 00:07:05ID:???0844nobodyさん
2006/08/05(土) 00:18:22ID:???おまいらなりの万能NGワード生成法を教えてくれ
0846nobodyさん
2006/08/05(土) 00:28:41ID:???>>829
必要に迫られるか、便利さに気が付くかするまでは使わなくていいよ。
0847nobodyさん
2006/08/05(土) 01:08:14ID:???名前をつけようとすると同じような名前をつけちゃうのよね
0848nobodyさん
2006/08/05(土) 02:16:22ID:DDZI29mpParse error: syntax error, unexpected $end in xxx/xxx/xx
0849nobodyさん
2006/08/05(土) 02:20:03ID:DDZI29mp何行目がおかしいのだろうか・・・
0850829
2006/08/05(土) 03:19:22ID:9YvlTMOh複雑なプログラムを組む場合や複数名で作業する場合は、クラスを使うと
変数名がゴチャゴチャしないという効用があることはよくわかりました。
しかし逆に、PHPではその程度の効用しかないのでしょうか?
0851nobodyさん
2006/08/05(土) 03:30:42ID:???PHPのfor文にはbreakはありますが、skipがありません。
JAVA等にはskipがありとても便利なんですが、みなさんskipの代替にどのような処理をしておられますか?
実例があると、とても勉強になりますので宜しくお願いします。
0852nobodyさん
2006/08/05(土) 03:38:25ID:???0853nobodyさん
2006/08/05(土) 03:38:52ID:???0854nobodyさん
2006/08/05(土) 03:42:52ID:???ご指摘どうも、continueでした、ごめんなさい。
PHPのcontinueは次のループ処理の最初からやり直しす挙動なんですが、JAVAのようにその回だけをスキップしたいんです。
あとラベル付きbreak文のような制御処理の実例も見てみたいです。
0855nobodyさん
2006/08/05(土) 03:58:10ID:???0856nobodyさん
2006/08/05(土) 04:08:39ID:???>JAVAのようにその回だけをスキップしたいんです。
その回をスキップしたら、次のループの最初に行くんではないのか?
0857nobodyさん
2006/08/05(土) 04:31:27ID:???えーとですね
for($i=0;$i<=10;$i++){
for($j=0;$j<=10;$j++){
if($j==5) continue;
}
}
上記の記述で入れ子になっているfor文のカウンタ$jが5だった場合continueしていますが、これがPHPだと入れ子になってるfor文を抜けてしまうんです。
JAVAの場合だと5回目のループ処理だけをスキップして6回目のループ処理を始めてくれるんですが。
0858nobodyさん
2006/08/05(土) 04:32:19ID:???if (その回) continue; で何の不満があるのか。
0859nobodyさん
2006/08/05(土) 04:34:51ID:???0860nobodyさん
2006/08/05(土) 04:39:25ID:???0861nobodyさん
2006/08/05(土) 05:20:58ID:O2vt3cXl書き込むという事は当然、排他モードでロックするわけですから、ロック中は他のプロセスは書き込みも読み込みもできないはずですよね?
だったらバッファを気にする必要ないと思うんですが・・
何かOSのトラブルだとか予期せぬ事を想定して、念のための処置なんでしょうか?
0862861
2006/08/05(土) 05:26:45ID:O2vt3cXl>バッファにある値と、ディスクにある値が異なる瞬間があるわけで、
>つまり、バッファがあると、せっかく flock を使ってロックしても、
>書き込まれる前のデータをディスクから読み出してしまうことがあるわけです。
これの意味がわかりません。
排他モードでflockした時点で、自分が書き込んでる最中に読み込まれる可能性がそもそもないのでは?
0863nobodyさん
2006/08/05(土) 05:30:44ID:???0864nobodyさん
2006/08/05(土) 05:30:46ID:???関数もそうだけど、シンプルなプログラムを作る分には別にそんなの使わなくても何とかなっちゃうよ。
クラス・オブジェクトは関数・構造化のさらに上を行く設計手法であり考え方なので、
それなりに複雑なプログラムでないと、メリットを享受できない場合が多いです。
上位の設計手法であるため、設計が下手だと無駄に冗長で保守性も拡張性も低いクラスを作りがちだし。
プログラムが大きくなってくると、関連する複数の関数+それが管理する変数群、の集合で
1個のモジュールになるようにインクルードファイルを作るケースが増えてくることがあるけど、
普通に作ると管理変数群を全て配列にでもしないと同じ処理を複数同時に動かすことができなかったりします。
クラスの仕組みはこういう問題を容易に、かつ分かりやすく解決します。
でもそれなりに大規模なプログラムでないと、そのメリットはあまり見えてきません。
オブジェクト指向に慣れてくると、設計の考え方が単純になって作りやすくなる、という場合もあるけど、
それはあくまで何度も作って慣れた場合の話なので、結局のところ「必要を感じないなら使う意味は
あまり無い」ものである場合が多いんじゃないかと思います。
0865nobodyさん
2006/08/05(土) 05:32:25ID:???入れ子のループを抜けてしまうのはbreakだと思う。
continueは入れ子($jループ)の次回($j=6)を実行するよ。
0866nobodyさん
2006/08/05(土) 05:55:52ID:???すいません、出来ました・・・。
アレェ?なんでだろ・・・、さっきは動かなかったのに・・・。
どうもお騒がせしますた、吊ってきます・・・。
0867nobodyさん
2006/08/05(土) 06:02:43ID:???専スレ行け
0868nobodyさん
2006/08/05(土) 06:11:44ID:???その問題はロック中の話ではなく、ロック解除後に他のプロセスが読み込みにきたときに
まだ書き込みが終わっていない状態のファイルを読み込んでしまう場合がある、という話。
それについての議論
ttp://pukiwiki.sourceforge.jp/dev/?BugTrack2%2F166
結論部分
ttp://pukiwiki.sourceforge.jp/dev/?BugTrack2%2F166#kee64b6f
多分、その記事はこれのことだと思うけど
ttp://www.stackasterisk.jp/tech/php/php02_01.jsp
その記事に対する反論
ttp://testwiki.xn--xnq.jp/?PHP%2F%A5%D5%A5%A1%A5%A4%A5%EB%A5%ED%A5%C3%A5%AF%2F%A5%CE%A1%BC%A5%C8#f4a10010
結局のところは、>>862のサイトの説明は誤りであり、set_file_buffer()は不要という話に落ち着いてるよ。
反論の中では、記事の意図について
> また、fflushが使われていない理由としては、 PHP3では、fflushが使えなかったため、説明の簡略化を考えて
> fflushを使わずにサンプルを作ったように思われます。(ftruncateが省かれているのもおそらくそのため。)
と推測されています。
そのサイトの説明はPHP3〜4への移行期に書かれたもので非常に古いです。
とりあえずここの議論内容を読んで、自分で色々実験してみてはどうでしょう。
0869nobodyさん
2006/08/05(土) 06:20:35ID:???0872nobodyさん
2006/08/05(土) 08:08:38ID:???同性愛サロン、同性愛板、大人の同性愛を見て以来、
掲示板一覧に訪問済みの色がついたまま消えません。
他は消えます。
別に興味深々だったわけではなく、ちょっと調べたいことがあっただけでつ。
これってなんでこうなるの?
どうしたら消せるの?
0873nobodyさん
2006/08/05(土) 08:12:20ID:???0874nobodyさん
2006/08/05(土) 08:21:52ID:???0877nobodyさん
2006/08/05(土) 09:00:48ID:???皆さんはなりませんか...
恥ずかしながら他板逝ってきます
0878nobodyさん
2006/08/05(土) 09:41:54ID:Tub8+xQy0879nobodyさん
2006/08/05(土) 09:43:17ID:???>普通に作ると管理変数群を全て配列にでもしないと同じ処理を複数同時に動かすことができなかったりします。
↑なぜ??? なぜ配列にしないと動かないの?
ちょっと意味が分からないんだが・・・
0880nobodyさん
2006/08/05(土) 09:51:50ID:???0881nobodyさん
2006/08/05(土) 10:19:25ID:???PHPのクラス自体がそんな感じの動きなわけだが。
0882nobodyさん
2006/08/05(土) 11:11:52ID:Da4T0gqIFedoraCore5に
ソースインストールしようと思っています。
その際にPHPを静的モジュールとして
インストールしたいのですが、
そもそもApache2.2に対して
PHPを静的インストールする事って可能でしょうか?
PHP.netには
Apache 1.3.x (Unix システム用)に対する
静的インストール例はあったのですが、
Apache 2.0 (Unixシステム用)に対する
例がなかったのでちょっと気になってます。
0883nobodyさん
2006/08/05(土) 11:22:41ID:???0885nobodyさん
2006/08/05(土) 11:48:01ID:???phpからpostメソッドでデータを送信する方法を教えてくださいませ。
getメソッドなら簡単にできるのですが。
0887885
2006/08/05(土) 12:01:33ID:???申し訳ないですが、例なんかをきぼんぬ
0888nobodyさん
2006/08/05(土) 12:04:18ID:???ttp://jp.php.net/manual/ja/function.fsockopen.php
まずはここを読んだのか?
まあこのページでは、普通にPOSTでtext/htmlな例がないが、
著者がsockを使うプログラマは
HTML通信などは当たり前に知っているはずだという固定観念から、
かえって基本的な例が載ってないように思える。
0889nobodyさん
2006/08/05(土) 12:07:37ID:???08-Jun-2006 03:22
が好例だった。
0890nobodyさん
2006/08/05(土) 12:09:55ID:???0891885
2006/08/05(土) 12:48:57ID:???これこそソケットに関しての知識なんでしょうが、
$varsのところがpostする内容であってるでしょうか??
0892nobodyさん
2006/08/05(土) 13:00:52ID:???そうだよ。
albertohf at hotmail dot com
04-Aug-2006 01:01
の例なら $postdata がそう。
Duukkis
27-Feb-2006 10:13
の例はマルチパートでファイルアップロードをやる例だな。
でもこれはソケットの知識ではなく、HTTPのプロトコルの知識だな。
0893nobodyさん
2006/08/05(土) 13:00:52ID:???Hello worldでも作っとけ
0894nobodyさん
2006/08/05(土) 13:08:01ID:???0896nobodyさん
2006/08/05(土) 13:10:30ID:???0897拓海
2006/08/05(土) 13:24:22ID:Tub8+xQyお願いします。なぜか500エラーが出て困ってます。原因は何なのでしょうか?
0898拓海
2006/08/05(土) 13:25:46ID:Tub8+xQy0899nobodyさん
2006/08/05(土) 13:26:22ID:???0902nobodyさん
2006/08/05(土) 13:48:38ID:???例えばYahoonewsのニュースの部分だけを引用して表示する とか。
0906nobodyさん
2006/08/05(土) 13:57:38ID:???fileでページを読んできて、その特定の部分を特定できるパターンを自分で考えろ。
それにより、パターンマッチや、strpos 等でその部分を読み取る。
0907nobodyさん
2006/08/05(土) 18:34:39ID:???引用したいサイト側にRSSなどを作成してもらったりする
file読み込みなら迷惑かけんように毎時cron等で鯖内に静的ファイル保存とかしる
0909拓海
2006/08/05(土) 21:06:17ID:Tub8+xQy0911拓海
2006/08/05(土) 21:18:23ID:Tub8+xQyわからない人はレスしなくていいですよ、あなたはスルーも出来ない子供なんですか。あとあっちにリンク貼らないでください。迷惑千番です。
0914nobodyさん
2006/08/05(土) 21:34:17ID:???君には迷惑かもしれないけど、向こうの人たちには大変な朗報だと思いますよ。
PHPが何かも知らないガキは書き込むなってこと。
0915nobodyさん
2006/08/05(土) 22:11:00ID:DDZI29mp0916No-Title
2006/08/05(土) 22:35:52ID:KJXGQj4k>>拓海wwwww
>>拓海wwwww
>>拓海wwwww
>>拓海wwwww
>>拓海wwwww
>>拓海wwwww
>>拓海wwwww
>>拓海wwwww
>>拓海wwwww
>>拓海wwwww
>>拓海wwwww
>>拓海wwwww
>>拓海wwwww
>>拓海wwwww
>>拓海wwwww
>>拓海wwwww
>>拓海wwwww
>>拓海wwwww
>>拓海wwwww
>>拓海wwwww
>>拓海wwwww
>>拓海wwwww
>>拓海wwwww
>>拓海wwwww
>>拓海wwwww
>>拓海wwwww
>>拓海wwwww
ABCオロチの無料サーバーでほぼ荒らし的な行為を繰り返している馬鹿厨房wwww
0918nobodyさん
2006/08/05(土) 23:59:45ID:???そんな時代は2.3年前に終わったと思っていたよ。
0919nobodyさん
2006/08/06(日) 02:35:21ID:sjZAg5e5ローマ字入力にしてAが含まれれば+1ポイントとかそんな感じ?
0921nobodyさん
2006/08/06(日) 02:49:42ID:???0922nobodyさん
2006/08/06(日) 02:55:14ID:???0923nobodyさん
2006/08/06(日) 03:21:21ID:???傾向を作るか作らないかによる。
手っ取り早くは名前のMD5取って適当にやればいい。
たとえば2人それぞれから1文字目をとって近ければ相性がいいとか。
姓名の間にある空白がどっちでも同じ結果になるように修正は必要だろうね。
実際の姓名判断は知らんけど、斎藤と斉藤を同じ扱いにするみたいな処理は入るかもね。
0924nobodyさん
2006/08/06(日) 03:36:48ID:???0925nobodyさん
2006/08/06(日) 04:15:27ID:EsUUYOdrphpversion()>="4.1.0"
例えばこういうのは、内部的に数値型へキャストしてるのではなく、アスキー値で比較してるんですかね?
式中に + などの数値用の演算子を使用した場合は、文字列は数値型へキャストされる という理解でいいんでしょうか?
0926925
2006/08/06(日) 04:16:48ID:EsUUYOdr○キャストされる
×キャストされてから評価される
0927nobodyさん
2006/08/06(日) 04:31:31ID:???0928nobodyさん
2006/08/06(日) 04:37:37ID:???内部のzvalについてはZendのドキュメントかソースコードを読
0929925
2006/08/06(日) 04:58:44ID:EsUUYOdrphpversion()についてではなく、式の中で型がどう自動変換され評価されるか についてです。phpversion()は例として出しました。
型についてのマニュアルもひととおり見ました。
if("1.1.1">"1.1.0"){
print("true");
}
出力結果:true
↑このような式がなぜ成立するのか、内部的にはどう型変換などが行われているのか について解りません。
1.1.1 なんて数値はfloatとしても不正ですから、floatに変換され、評価されてるわけではないというのは解るんですが・・
だったら、アスキー値として評価されてるのでしょうかね??そのへんが解りません。
あと、<や>などの演算子は必ずしも数値を要求するわけではないのでしょうか?
0930925
2006/08/06(日) 05:14:00ID:EsUUYOdr要するに、↓の式も成立するわけですね。
if("A"<"B"){
print("true");
}
出力結果:true
という事は、
if("1.1.1">"1.1.0"){
print("true");
}
と
if("\x31\x2E\x31\x2E\x31">"\x31\x2E\x31\x2E\x30"){
print("true");
}
は等価で、 > は数値を要求するわけではない(数値変換して評価するわけではない)という事ですね?
間違ってたらつっこみお願いします
0931nobodyさん
2006/08/06(日) 05:45:30ID:???詳しくはzend_operators.c
0932925
2006/08/06(日) 06:01:37ID:???zend_operators.c というとphpそのもののソースコードのようなものですよね?
ちょっと敷居が高そうですが・・(汗 余裕があれば参考にしてみます。
0933nobodyさん
2006/08/06(日) 06:15:34ID:???関数 mb_http_outputは任意の変数がどんな文字コードでも出力時には指定文字コードに変換してくれるのでしょうか?
0934nobodyさん
2006/08/06(日) 06:26:34ID:???0935nobodyさん
2006/08/06(日) 08:19:57ID:CMHstoCK0936nobodyさん
2006/08/06(日) 10:16:10ID:???ブラウザ側でキャッシュしない設定を行えば正常なんですけど。
普通、ページ内容が変化するのでキャッシュしないはずなんだけど。。。
なんででしょう?
0938nobodyさん
2006/08/06(日) 10:23:34ID:???URLにパラメータが付加されてればキャッシュしないことが多いけど、
パラメータが無ければ内容がなんであれキャッシュ読んじゃうのが一般のブラウザの設定。
それを防ぐにはブラウザに送信するヘッダ出力に「変更があるよ」かもしくは
「このページはキャッシュ禁止」というサインを出さないといけない。
0939nobodyさん
2006/08/06(日) 10:26:34ID:???一応、これだけ書いてますが・・・ダメです。
<HTML>
<HEAD>
<meta http-equiv="Pragma" content="no-cache">
<meta http-equiv="Cache-Control" content="no-cache">
<meta http-equiv="Expires" content="Sat, 01 Jan 2000 00:00:00 GMT">
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=EUC-JP">
<TITLE>INS 試験</TITLE>
</HEAD>
<BODY>
<?
以下PHP
0942nobodyさん
2006/08/06(日) 10:56:06ID:???大ありがとうございます!早速やってみたら・・・GJでした。
<?
header("Cache-Control: no-cache, must-revalidate"); // HTTP/1.1
header("Expires: Mon, 26 Jul 1997 05:00:00 GMT"); // 過去の日付
?>
(参考)
http://phpspot.net/php/man/php/function.header.html
0943nobodyさん
2006/08/06(日) 11:44:21ID:???0944nobodyさん
2006/08/06(日) 12:00:41ID:???0945nobodyさん
2006/08/06(日) 12:02:00ID:???0947nobodyさん
2006/08/06(日) 12:48:57ID:???0948nobodyさん
2006/08/06(日) 12:56:28ID:???0949nobodyさん
2006/08/06(日) 14:17:59ID:???file_put_contents("./data.php", "<?php\n\$data = " . var_export($data, true) . ";\n?>");
みたいな感じで PHP スクリプトとして書き出して、読み込む時には
include("./data.php"); で読み込んでいるのですが、この方法、何かやばかったりするでしょうか。
基本的にデータファイルへの直アクセスは .htaccess などではじいています。
0950nobodyさん
2006/08/06(日) 14:27:22ID:hfhMCxc10952nobodyさん
2006/08/06(日) 14:42:34ID:???0953nobodyさん
2006/08/06(日) 14:42:38ID:???var_exportの引数$dataに何が与えられるかによる。
例えば外部からくる変数だと、ちゃんとチェックしないと心配かな。
0954nobodyさん
2006/08/06(日) 14:45:18ID:???それは別に出力がPHPコードであろうとなかろうと一緒の気がするんだが。
自分でPHPコード化してるならともかく、var_exportを通してる時点で
エスケープ処理もできてるんだし、他の変数を破壊されるような心配はないだろ。
0955nobodyさん
2006/08/06(日) 15:17:40ID:???internal_encodingがSJISでデータに日本語を含んだりするわけじゃなきゃ問題ないのでは?
SJISでそういう手法を使うとvar_exportはSJISの特殊な構文パースに対応しないから、
$data = '表';
とかいうデータだった場合、
期待する出力
<?php
$a = '表';
?>
実際の出力
<?php
$a = '表\';
?>
となって、include時にパースエラーを起こす。
ま、常識的にUTF-8かEUC-JPでスクリプト書いてれば特に心配はないよ。
0956949(950)
2006/08/06(日) 15:34:08ID:hfhMCxc1自分の知らない脆弱性か何かがあるかもしれないと思い質問しましたが、平気そうですか。ありがとうございます。
>>953
$data = array(0 => array('name' => 'xxx', 'date' => 'xx.xx.xx'), 1 => 以下略);
のような多次元配列が格納されています。外から来たものは一応個別にサニタイズしています。
>>954
UTF-8 で書いています。心配はあまりしなくても良いみたいですね。ありがとうございます。
皆様ありがとうございました。
0958nobodyさん
2006/08/06(日) 16:00:27ID:???0959>>958
2006/08/06(日) 16:11:32ID:???アケwケ→厩w
0962nobodyさん
2006/08/06(日) 16:55:12ID:???"$data"が固定されるとか、1ファイル1データ制限とかはまあ仕方無いとして、特に問題無いんじゃないかな。
問題が出て来たとしてもすぐにserialize/unserializeに切り替えられるし。
>>958
sjis送信されたテキストがEUCとして扱われている。設定ミスだね。
例を出せたのは良いけど、その程度の知識で内部エンコーディングにsjis使うとデメリットしか出ないよ。
と思ったらできました。ありがとうございます。
mbstring.http_input = auto
↓
mbstring.http_input = SJIS
0965nobodyさん
2006/08/06(日) 17:48:40ID:???949の例が単純すぎるだけで、別に1ファイル1データ制限とかは無いと思う。
例えば
$save = "<?php\n";
foreach($envlist as $name => $value) $save .= "\$$name = " . var_export($value, true) . ";\n";
$save .= "?>";
file_put_contents($savefile, $save);
とする程度で普通に汎用化できるし。
変数名固定問題も、関数内でローカル変数としてincludeして、returnでリファレンスを返すか
指定した別の変数に代入するって仕組みにすれば全然問題ない。
後はunserialize()とincludeでのPHP構文パースとどっちが高速かの勝負だろう。
コードキャッシュと組み合わせればこっちの方が性能は高いかもしれんよ。
0967nobodyさん
2006/08/06(日) 19:21:37ID:VRNU21+tそこで配布していた『HTML テンプレート』を使いたいんだけど
見当たらなくて困ってます。
どこに移ったか知っている方、
もしくはPHP5 版『HTML テンプレート』を
再配布しているところを知っている方
教えてください。
0968nobodyさん
2006/08/06(日) 19:41:29ID:???そういう話なら
【Smarty】PHPのテンプレートエンジン【Flexy】
http://pc8.2ch.net/test/read.cgi/php/1118799352/
こっちの住人の方が詳しいと思う。
0970nobodyさん
2006/08/06(日) 23:12:52ID:???こちらに書いてあるような方法でBASIC認証をした後、ブラウザを閉じるまで $_SERVER['PHP_AUTH_USER'] の情報が維持されますが(ブラウザのクッキーに?)、ログアウトさせて明示的に情報を消去させる(クッキーの?)ためにはどうすればよいでしょうか?
0971nobodyさん
2006/08/06(日) 23:20:32ID:???0972nobodyさん
2006/08/07(月) 03:11:14ID:???$thisで何故かエラーになってしまいます。
全く分からないのでもし分かる方いらっしゃいましたらお願いします
class checked {
function checkFData() {
global $fobj;
global $DATA;
$fobj = new FDataUtil();
$fobj->setVar('title');
$fobj->setVar('cate');
$fobj->setVar('aflg');
$fdata = $fobj->getFData();
$this->DATA = $fdata; //ここ
}
}
0973nobodyさん
2006/08/07(月) 03:23:21ID:???0974nobodyさん
2006/08/07(月) 03:55:10ID:???0976nobodyさん
2006/08/07(月) 04:52:34ID:???どうでも良いけどglobalて。。
0977nobodyさん
2006/08/07(月) 06:08:58ID:???1.log
2.log
3.log
4.log
5.log
↑のような構成のディレクトリから3.logを探してアクセスするのと、↓のようなファイルから3に対応する行を探すのとどっちが高速ですか?
1
2
3
4
5
0979nobodyさん
2006/08/07(月) 06:45:37ID:???どう考えても前者。
よっぽど異常なハード構成じゃなきゃ後者の方が速くなる事はまず無い。
ただ、前者の方式は数が増えすぎると1個のディレクトリに収まらなくなる難点がある。
1000や2000くらいまでなら全然問題なし。
0980nobodyさん
2006/08/07(月) 06:48:31ID:???保存先はクッキーではなくブラウザのプロセスが持つメモリ上だろう。
だからブラウザが起動中はずっと保持される。逆に言えばブラウザを終了させれば消去される。
PHPなどサーバー側の仕組みでブラウザを終了させることは不可能。
JavaScriptでも、1個のウインドウだけならともかく全ウインドウを閉じさせるのは至難の業。
0981nobodyさん
2006/08/07(月) 06:49:49ID:???var $DATA;がclass checkedに存在しないからじゃない?
多分、PHP4の頃はNoticeエラーを表示しない設定にしてたんだろ。
0983nobodyさん
2006/08/07(月) 07:16:48ID:???だいたいエラー出た行のひとつ前に原因があるんだよ
class checked {
var $fobj;
var $DATA;
var $fdata;
......
0984nobodyさん
2006/08/07(月) 07:27:41ID:???まさか3.logを探す、ってのを
glob("*.log")の配列から探すとか
opendir→readdirして順番に探すとか
そんなことしてるわけじゃないよな?
file_exists("3.log")やって読み込むだけなら、後者でファイル読み込むのと
ほぼ同じ手間だけで検索も完了するし読み込む量も最小限で済む。
それで前者より後者の方が速くなる理屈はまず無いと思うんだが。
0985982
2006/08/07(月) 08:02:23ID:???>glob("*.log")の配列から探すとか
>opendir→readdirして順番に探すとか
>そんなことしてるわけじゃないよな?
いえ、違います。
ファイルシステムの事とかよくわからないので、ふと疑問に思ったんです。
file_exists("3.log")とかやった時、結局はファイル名のテーブルのようなものから一つ一つ照合して探しているのかなぁと思いまして。
だったら>>977の前者も後者もやっている事は同じで、メモリのが高速だから後者のが早いのかなぁとなんとなく思ったんです。
でも違うんですね。
0986nobodyさん
2006/08/07(月) 08:13:55ID:???その場合、後者のはそもそもファイルをopenする段階で
file_exists("3.log")と同じだけの時間がかかってる。
後者は前者+αの処理なのに速いわけがなかろう。
0987nobodyさん
2006/08/07(月) 08:15:07ID:???だいたいそんな感じ。
けど後者もファイルを開くときに前者と同じようにファイルを探すから、
ファイルを開いた時点で後者の負け。
0988nobodyさん
2006/08/07(月) 08:17:25ID:???0989nobodyさん
2006/08/07(月) 08:24:13ID:???後者のやり方で前者を抜こうと思ったら、いちいちファイルから読み込まずに
最初からメモリ上の配列に用意しとけということだ。
しかし実際は、最初に読み込んでおく時点で無駄に時間がかかるし、
メモリも無駄に食うしで、よほど使用頻度の高い処理でなければ価値がない。
後者の内容別にファイルを持つやり方は、管理が面倒になる上に、
ディレクトリ内に置けるファイル数の制限などもあるので、扱いにくい。
つまりそういう検索が必要なデータはDBに置いてindexを振っておけってことだよw
0990名無し募集中。。。
2006/08/07(月) 12:02:51ID:xN6e+uCjアップロード終了と同時に削除される
なのでis_upload_fileのあとでmove_upload_fileを使ってtmp_nameのファイルを移動する必要がある
http://php.s3.to/man/features.file-upload.html
>移動または名前の変更が行われていない場合、リクエストの終了時にその ファイルはテンポラリディレクトリから削除されます。
0991nobodyさん
2006/08/07(月) 12:11:54ID:???というか次スレ誰か頼む…
自分は無理だった。
0992名無し募集中。。。
2006/08/07(月) 12:15:51ID:xN6e+uCj0993nobodyさん
2006/08/07(月) 12:17:14ID:???カキコしたんじゃねーの?
0994名無し募集中。。。
2006/08/07(月) 12:18:36ID:xN6e+uCj俺が夏休みで暇なんで上からログを読んでただけだ
0995nobodyさん
2006/08/07(月) 13:14:50ID:???立てたー
【PHP】下らねぇ質問はここに書き込みやがれ 26
http://pc8.2ch.net/test/read.cgi/php/1154923910/
0998nobodyさん
2006/08/07(月) 14:15:13ID:???一部、より初心者向けの内容に手直ししただけ。
0999nobodyさん
2006/08/07(月) 14:28:31ID:???1000nobodyさん
2006/08/07(月) 14:35:13ID:???がんばるぞー!!
10011001
Over 1000Threadもう書けないので、新しいスレッドを立ててくださいです。。。
レス数が1000を超えています。これ以上書き込みはできません。