本当にただで使えるんでしょうか。
ちょっと房な質問なんですが。 例えばAとBというページがあって JavaScriptでAから別ウインドウのBを開いた場合、 BにAからのセッション情報は受け取れないんでしょうか? やっぱり別ウインドウだと駄目なんですかねぇ・・・。
>>7 やるべき事とやり方が判ってるなら自分で試せよ。
9 :
7 :03/03/24 14:59 ID:???
>>8 ごもっとも。すみません。
しかも聞き方が悪かったです。
とりあえずだめだってことがわかりました。
>>9 できる...アレ?できない...やっぱできた...
なんかバグの悪寒
あぁ、なんか妙なバグを発見してしまったな。鬱だ。
別ウインドウとは関係ないみたい。
ってわけで、
>>7 はできる。
IE系ならば同じプロセスから派生したウィンドウに対してはセッション情報を共有できる罠。
>>12 セッション情報を共有云々よりも、セッションIDをどう引き回すかだけでしょう。
セッションIDさえわかれば別のPCからでもセッション変数は引き出せます。
>>13 ふぉろーサンクス。
日ごろPostしか使ってないわけだがCookieを偽造してセッション変数って引き出せたっけか?
GET、POST、Cookie関係なく、セッションIDが(純粋な?)セッションIDである以上、とられたら引き出されてしまう。 セッションIDをREMOTE_ADDRも使うように強化すれば少しは安全になる、と思う。
セッションを保存してあるデレクトリィをセキュアにする必要があるね
18 :
nobodyさん :03/03/25 13:38 ID:D+eHMM4j
リンクから、 <a href="***.php?<? session_name() ?>=<? session_id() ?>"> と書いてクッキーオフの人にもセッション管理をしようとしているのですが、 アドレスバーの所に下のようにそのまま表示されています。 ***.php?<?%20session_name()%20?>=<?%20session_id()%20?> これはどこか間違っておりますでしょうか?
>>18 short open tag が使えないんじゃないの。
PHP以前の問題だと怒られそうだがおしえてください クラスとかオブジェクトの概念がボヤーっとしかわかりません 初心者にも分かりやすく解説してある HPか解説してもらえませんか?
21 :
nobodyさん :03/03/25 15:43 ID:5TIK8pr3
グループごとの名簿情報をweb上でデータベース化しようと PHPを勉強し始めたばかりです。 名簿情報にログインする際、普通なら個人IDとパスワードを 設定すると思うのですが、仕様上、グループ名とパスワードだけの 入力にしたいと考えています。パスワードは個人ごとに与えます。 phplibの認証(Auth)が使えると思うのですが、早い話、 一つのID(グループ名)に複数のパスワードを与えられますでしょうか。 まずやってみろと言われそうですが、多分それまでに1ヶ月くらい 掛かりそうなので、、、 よろしくお願いします。
>>18 ショートタグ以前の問題
printなりechoなり付けないと・・・
<? print session_name(); ?>
とかさ。
>>21 DBつかったら?
あとパスワードはMD5hash使うなりして解読しにくくしろよ?
23 :
21 :03/03/25 20:03 ID:???
>>22 レスどうも。
えーとDBって、データベース使えと言う意味でしょうか。スマソ。
DataBaseですね。
26 :
21 :03/03/25 21:25 ID:???
ドラゴンボールなら7つ揃ってます。 DataBaseでユーザーテーブル作って自分で認証プログラム 組めってことかな。 LIBがそのまま使えれば楽なのかなって思ったもので。 と言っても、LIBの中身も何も分かっていませんが、、、
28 :
nobodyさん :03/03/25 22:17 ID:uCxA2hMQ
さっそくですが質問があります。 PHP.INIでアップロードファイルの最大サイズを制限 できるようですが、ふつうのサイト利用者はPHP.INI を変更できないと思います。 アップロードファイルの最大サイズをPHP.INIの設定値 より大きくしたいのですが、可能でしょうか?
ini_set()
分割してうp汁
32 :
nobodyさん :03/03/26 06:27 ID:l1CVp/e0
>29 init_set() で設定しても設定値が変わりませんでした。。。
>>32 post_max_sizeはphp.iniか.htaccessに記述しないとダメ。
>>22 ありがとうございました。
非常に助かりました!
>>22 リンクの中にPHPから出力したい部分があり、下のように
print 文で出力されるリンクの中にセッションを埋め込みたいのですが
これは可能でしょうか?
<?
// 動かないです
print "<a href=\"***.php?page=$page&session_name();=session_id();\">";
?>
<?
// エラーは出ませんが Not Found になります
$s_name = session_name();
$s_id = session_id();
$link = "<a href=\"***.php?page=$page&".$s_name.'='.$s_id.'>;
print $link;
?>
とすると $s_name や $s_id の部分がHTMLソースに展開され、
( PHPSESSID=53ebfdbdc6583facf4ab5328379022b96 といった感じです )
結果 Page Not Found になります。
ちなみにショートタグは <??> のことですよね?
これについてですが、他の箇所では正常に動作しています。
かつ、<?php ?> に変えて試しました。
>>35 セッションってクッキーかURLに自動的に埋め込まれるんじゃないの。
>>35 普通に
<?
print "<a href=\"***.php?page=$page";
?>
として、リンク先のページで
print $_SESSION['PHPSESSID'];
するとどうなります?
>print "<a href=\"***.php?page=$page"; 普通?
あ。。ぜんぜん普通じゃないですね、ごめんなさい(汗 セッションを渡そうとせずにそのまま、ってな意味のつもりでした。 print "<a href= '***.php?page=$page' > xxx </a>";
GDライブラリ使って日本語をjpegデータに書きたいんだけど $im = imagecreate (200, 50); $blue = imagecolorallocate($im,0,0,255); $black = imagecolorallocate($im,0,0,0); $ff = ; $result = imagettftext($im,25,0,20,30,$black, "/usr/share/fonts/ja/TrueType/kochi-gothic.ttf" ,mb_convert_encoding("日本語",'UTF-8')); Header ("Content-type: image/jpeg"); imagepng($im); これで日本語が文字化けすんのは何がいけないのだろう。 makeオプションはこんな感じです。 --with-gd=/usr --with-jpeg-dir=/usr --with-freetype-dir=/usr/share/fonts/ja/TrueType --with-ttf --enable-exif --enable-zendmultibyte --enable-mbstring --enable-mbregex
42 :
41 :03/03/26 22:38 ID:???
>>41 >GDライブラリ使って日本語をjpegデータに書きたいんだけど
思わずpngに出力してた・・。自己修正mOm
×imagepng($im);
○imagejpeg($im);
43 :
nobodyさん :03/03/26 23:23 ID:2rsm8GBO
自分はこんな感じでコード書いてました。 $str = "????";
44 :
nobodyさん :03/03/26 23:24 ID:2rsm8GBO
ユニコードは?になっちゃうのね $str = "キャロル"; これでどうだ
46 :
41 :03/03/26 23:59 ID:???
47 :
nobodyさん :03/03/27 00:13 ID:3Dt/2EFv
48 :
nobodyさん :03/03/27 13:55 ID:6mlQgSS/
ちわっす、宜しくお願いします PHPにも,まだ未熟ですがぼちぼち慣れて来たのですが 関数の書方や、クラスの概念というか具体的な使い方ができません 例えば以下の同じような処理をしょっちゅう使うのですが、最初の頃は 動いた動いたと悦んでいたのですが最近はなんか食傷ぎみといううか なんかかっこ悪いし、同じ処理なんだからもっとスマートにできないかと 悩んでいます、2chの皆さんかっこよくしてもらえませんか? おねげーしますだ。 <html> <span class="text">商品名</span> <input type="text" name="gname" size="20" value="<?php print(stripslashes($_SESSION["post"]["gname"]))?>"> <br> <span class="text">コード</span> <input type="text" name="code" size="20" value="<?php print(stripslashes($_SESSION["post"]["code"]))?>"> <br> <span class="text">画像のURL</span> <input type="text" name="img" size="20" value="<?php print(stripslashes($_SESSION["post"]["img"]))?>"> <br> .....続く
>>48 関数やクラスの前に、ループぐらい覚えた方がいいぞ。
>>51 じゃらちがあかん。もうちょっとできる奴はおらんかのう?
>>52 PEAR::HTML_Template を使ったとしてもループするだろ。
何が気に食わん?
じゃー反復処理と言って見る。 繰り返しだと思うんだが。
55 :
nobodyさん :03/03/27 18:30 ID:6mlQgSS/
みなさんあんがとう^^ requireを使って、 function sbmitInput(arg_1, arg_2) と関数にしてもみたんですがうまくいかんですたい、とほほ <span class="text">arg_1</span> <input type="text" name="arg_2" size="20" value="<?php print(stripslashes($_SESSION["post"]["arg_2"]))?>"> <br>
56 :
nobodyさん :03/03/27 18:34 ID:6mlQgSS/
function sbmitInput(arg_1, arg_2) { "<input type="text" name="arg_2" size="20" value="<?php print(stripslashes($_SESSION["post"]["arg_2"]))?>"> <br>"; } すんませんこうでした。 こういう感じで関数にしたんだけどうまく行かないんです おねげーします。
>>55 しらないのはプログラミング言語だけにしとけ。
人に質問するなら丁寧に話せ。おちゃらけてんじゃねぇよ。
どっちゃにしろ、本でも買って読んだ方がいいよ。 ちょっとひどすきる。
>>57 素直に僕では分かりません。と言った方が潔い。
64 :
nobodyさん :03/03/28 16:00 ID:NJ3N9Tri
動的に生成されるセッション変数の数及びセッション名を知ることって できるんでしょうか? なんとも例えようがないんですけれど。
65 :
nobodyさん :03/03/28 16:05 ID:TDAPKVtP
66 :
57 :03/03/28 16:09 ID:???
>>64 セッション変数の数
count($_SESSION);
セッション名の取得
session_id();
じゃダメかい?
67 :
65 :03/03/28 16:27 ID:???
>>64 すいません、訂正が・・・。
セッション名→セッション変数名でした。。・゚・(ノД`)・゚・。
セッション変数の数は助かりました!
$_SESSIONそのものでよかったんですね〜。
68 :
64 :03/03/28 16:28 ID:???
69 :
64 :03/03/28 18:06 ID:???
自己解決しますた。 foreach($_SESSION as $key => $value){ echo $key; } でできました!
70 :
nobodyさん :03/03/28 18:16 ID:ZCrkR7Y/
PHPをプログラミングしてOSXでチェック,動かす環境設定が出てる サイトは?
理解不能…ピーガガガガ
>70 "PHP OS-X 環境設定" で健作汁
73 :
70 :03/03/30 01:31 ID:LPZR1jku
超がつく初心者質問で恐縮なのですが 1.MacOS 9.2でphpを書いてみたい 2.phpを覚えるのに何から最初は初めてみるのがベストか (例えばcgiだったらフォームメールや掲示板を設置してみる、とか 改造してみながら触れてみるといった具合に) ご教授いただけませんか? phpに関してはデータベースと相性が良くて、cgiより処理が早く htmlの中に記述できるweb専用のスクリプト、ということしか 知りません。比較的簡単な記述で出来るとどこかで読んだので 覚えてみたいなと思っています。 ですが、どこから手をつけたら良いのかわからないのです・・・。 検索したらOS Xでの情報は色々ありますがOS9とかだとダメなのでしょうか。 よろしくおねがいします。
>>74 とりあえず
>超がつく初心者
ここから脱しろ。OSの勉強したりプログラムとは何かを学んだり。
76 :
nobodyさん :03/03/30 15:56 ID:4oa/HCMj
>>74 >1.MacOS 9.2でphp
どこかでバイナリ作ってる人がいないとも言えないが
http://www.php.net/manual/ja/faq.installation.php の最初の文を見る限り、公式バイナリはなさそう。
他にもWebサーバと連携させるなら、その辺も関わってくるだろうし情報も少ないと思われるので、
MacOS Xを入れるか(これならむしろWindowsより相性が良い)、ハードが対応しないのなら
安いPC買ってPC-UNIX(PHP開発者はLinux使用が多いので、これの適当なディストリビューションを薦める)
入れた方が楽できるし、コスト(=時間)も低いと思います。
79 :
nobodyさん :03/03/30 18:05 ID:8gZxLTYu
<form action="test.php" method="post"> name:<input type="text" name="name" value=""><br> password:<input type="password" name="passwd" value=""><br> <input type="submit" name="cmd" value="submit"><br> </form> <?php foreach($_POST as $key => $val){ print $key . ":" . $val ."<br>"; } ?> このページを表示して「更新(リロード)」すると ページの下に name: password: cmd: が表示されてしまうのはなぜですか?
>>79 一回送信ボタンを押した後にリロード。の間違いじゃないですか?
>>74 何をしたいか、という目的をはっきりするのが先だろう。
DBと連携したBBSを作りたいとか、Webメールサイトを作りたいとか。
82 :
nobodyさん :03/03/30 18:29 ID:8gZxLTYu
>>80 そうです。
でも、どうしてそういう動作をするのか理解できないのですが、
そういう仕様ですか?
84 :
nobodyさん :03/03/30 18:41 ID:wfManVtB
箱庭諸島PHP版で登録者のIPがわかる方法とかありませんか? あらしが出て、、
86 :
nobodyさん :03/03/30 18:44 ID:SkR8REgM
var_dump(system('ls')); system('ls',$disk); var_dump($disk); みなさん どんな結果がでますか? どうもsystem関数がうまくいかないっす
88 :
nobodyさん :03/03/30 18:48 ID:SkR8REgM
>>88 セキュリティ上禁止されてるとか/binにパスが通ってないとかは?
90 :
nobodyさん :03/03/30 19:01 ID:SkR8REgM
/binにパスってどういうことですか?
>>90 悪い、俺自分が使ってるOSのことも知らない奴って初心者とは認めたくないのよ。
92 :
nobodyさん :03/03/30 20:17 ID:SkR8REgM
93 :
nobodyさん :03/03/30 22:10 ID:8gZxLTYu
94 :
74 :03/03/31 04:04 ID:???
>>76 さん
ありがとう。OS Xに移行してから手を出すほうが良いんですね。
今ちょっと金銭的に余裕がないからしばらく先になっちゃうなぁ。
残念だけど。
>>81 さん
目的を定めたくてもどこに照準をあわせたら良いのか
わからない段階なんです。phpのことをよくわかっていないので・・・。
(でも興味を持っている)
phpってwebプラグラマーとかプロの人じゃないと敷居が高いですか?
htmlはわかる(あとcgiの設置くらいなら)程度の素人なんですが・・・。
>>94 いまのところ、phpの習得が目的で具体的に作りたいサイトはまだないってことだよねぇ。
そんなんでつづくのかなぁ。
パソコンには興味あるけど、具体的な用途はなくて結局ゴミになっていくパターンて
よくあったじゃない。それに似ているなと老婆心ながらそう思った。
言語的には全然難しくない。敷居は非常に低い。よって厨房が大量発生中...
htmlしか知らないのは痛いかもしれないけど、phpはサーバサイドで動く言語
と言うのを理解した上で頑張ってくれ。
96 :
nobodyさん :03/03/31 06:49 ID:z41dsEAY
今度ISPにレンタルサーバ立ててPHPを使ったWebアプリを作る予定です。 そこではPHPLib, Smartyを使いたいと思っています。 コンパイルなどは許可されないと思うのですが、PHPLibって、そういう 環境でもインストールして利用できるのですか?
>今度ISPにレンタルサーバ立てて 自宅鯖?ならコンパイルできるだろ。
>>96 >今度ISPにレンタルサーバ立てて
そんな権限があるのだからコンパイルくらいなんぼでもやらせてもらえるだろ。
101 :
nobodyさん :03/03/31 12:00 ID:bvUigJQk
phpでhogeディレクトリー以下にどれぐらいの容量を使用しているかを 調べるのはどうすればよいでしょうか?
お前はここ見てゼロからやり直せ! …みたいな初心者向けの解説サイトありませんか?
買うなんてもったいない。
105 :
nobodyさん :03/03/31 15:08 ID:BOUrZzjH
PHP4.3.1を使っているのですが リファラーはどのように取得するのでしょうか? $referer = getenv("HTTP_REFERER"); print "referer:".$refere."<BR>"; これでは取得できないようですが
>>105 そのページに直接(リンクを介さずに)アクセスしているからでは・・・
それと、本当にその通りに書いたのなら表示されるわけがない。
107 :
nobodyさん :03/03/31 15:35 ID:wTMBGJsI
FreeBSD 4.8-PRERELEASE を使っています。 namazu モジュールを組み込もうとしているのですが、 buildconf を実行するとlibtool のバージョンチェックに引っかかって しまいます。php のソースを展開したディレクトリには、 libtool 1.4.2 が入っていますが、こっちは使ってくれないようで、 /usr/local/bin/libtool 1.3.4 が使われるようです。 /usr/ports/devel/ に入っている3種類のlibtool は、distinfo を 見る限りいずれも1.3.4 でした。 PHP のソースに含まれている1.4.2 バージョンのlibtool を使用するには どこをどう設定すれば良いのでしょうか?
109 :
nobodyさん :03/03/31 17:26 ID:1OU1azxz
ある文字列から,たとえば最初の10文字を取り出したいときはどうすればよいですか?
111 :
nobodyさん :03/03/31 17:43 ID:1OU1azxz
>>110 ありがとうございます.わかりました.
もう一つ,Perlでいうところのs/hoge/foo/はどうすればいいでしょうか
113 :
nobodyさん :03/03/31 17:49 ID:1OU1azxz
ごめんなさい.逝ってきます.
116 :
nobodyさん :03/03/31 18:07 ID:1OU1azxz
ごめんなさい.調べたら分かりました.許してください.すみません.
い、い、いぬが出てきた! phpinfo()
ワン!
>95 人によるんじゃないのかな。 最初はただPCでプログラム組んで、それがちゃんと動くだけでも 結構楽しいもんよ。そこで楽しさが感じられない人なら、 何か他の理由付けがないと難しいと思うけど。 >74 折りも、Mac OS X は個人的に結構興味がある。中古のMac買おうかと思ってるぐらい ただ現行ハードのデザインが好きになれなくてね…せめてG3-266ぐらいのデザインの 機械を一機種でもラインナップに置かないのだ? なので、取り合えずDarwin/x86で遊んでます。
120 :
ど素人 :03/04/01 04:41 ID:XkDgOhTm
今日PHP始めました。 以下のようなものを組んだのですが常に『型が違う』と表示されます。 何がおかしいのかご指摘ください。 <FORM METHOD="POST" ACTION="index.php"> ▲<INPUT TYPE="TEXT" NAME="a"><BR> ▼<INPUT TYPE="TEXT" NAME="b"> <INPUT TYPE="submit" VALUE="入力"> <INPUT TYPE="reset" VALUE="クリア"> </FORM> <?php if ($_POST["a"] !== $_POST["b"]) { print "型が違う"; } elseif ($_POST["a"] == $_POST["b"]) { print "▲と▼は等しい"; } elseif ($_POST["a"] > $_POST["b"]) { print "▲の方が多い"; } else { print "▼の方が多い"; } ?>
>>120 > if ($_POST["a"] !== $_POST["b"])
if ($_POST["a"] != $_POST["b"])
ちょいまて、 !== って型の比較検証する演算子じゃないよ。
123 :
ど素人 :03/04/01 04:56 ID:XkDgOhTm
!== は型チェック付きの比較だからいいんじゃねえの? そのままコピペして動かしてみたが、ちゃんと動いたぞ。
125 :
ど素人 :03/04/01 05:00 ID:XkDgOhTm
そんなバカな・・・
じゃない! 型付比較だけど、型のみの比較じゃない。
じゃ、なかったけ? (あーもー if(gettype($_POST["a"]) != gettype($_POST["b"])) でどよ。
129 :
ど素人 :03/04/01 05:09 ID:XkDgOhTm
if ($_POST["a"]!==$_POST["b"]){} elseif ($_POST["a"] ==$_POST["b"]){} これで完結してる
131 :
ど素人 :03/04/01 05:16 ID:???
あ。
>>128 だと『型が違う』の表示が出ないですね。
>>131 たぶん、数値入力でも文字列と認識しているのではないかい。
!== : $a が $b と等しくないか、同じ型でない場合に TRUE 対偶は、 $aと$bが等しく かつ 同じ型 だな
134 :
ど素人 :03/04/01 05:21 ID:???
>>132 逆に文字列を入力しても数値と認識してるっぽいです。
135 :
133 :03/04/01 05:23 ID:???
ちげえよ(w >オレ まぁなんだ、対偶じゃなくてelseのことな
if ($_POST["a"]!==$_POST["b"]){} これいらね。何がしたいのか?
137 :
ど素人 :03/04/01 05:26 ID:???
TRUEの意味はBASICでいうところのTHENですよね?
ど素人じゃないじゃんか。
139 :
ど素人 :03/04/01 05:30 ID:???
PHPは今日始めたところなのでど素人です。 BASICは中学のときちょこっとやりますた。
140 :
ど素人 :03/04/01 05:33 ID:???
数値以外を入力したときに『型が違う』と表示させたいんですよ・・・
おはよぉ 横からゴメ`/ > is_numericを使えば PHPってこんな関数もあったんだ。今まで知らなかった。 数値チェックにわざわざ正規表現使って私っていったい・・・(汗
144 :
ど素人 :03/04/01 12:04 ID:???
is_numericを使えばということなんですが、 bool is_numeric (mixed var) varが数値または数値文字列である場合に TRUE、その他の場合にFALSEを返します。 このような形でマニュアルにあるものが多いんですが、 返しますというのを、具体的にどのように使えばいいのかがわからないですねー。
145 :
nobodyさん :03/04/01 12:37 ID:16G3l11N
if()
146 :
ど素人 :03/04/01 12:44 ID:???
上司にPHPはお子様の言語だ、と馬鹿にされくやしいです。 しかし漏れは初心者なので言い返せません。 大規模サイトはPHPでは作れないから、というのが理由らしいですが、 なんでですか?!
>>147 やろうと思えばできるんじゃない?型チェックが無いからレベルの低いプログラマとかSEが集まったら簡単に崩壊しそうだけど。
149 :
147 :03/04/01 21:33 ID:???
ちなみにその上司は「これからはJavaとLinuxだ」と言っていました。 だからといって他の言語にケチをつけるそいつが嫌いです。 つうか、むしろ最初からそいつが嫌いなんですけど。
>>147 その会社は、
何の制作してんの?
言語は、
何をつかってんの?
まあ
>>147 がPHPで大規模サイトを作れば済む話だな
>>147 まあまあ、PHPもオブジェクト指向言語へと脱皮を遂げるみたいだから
いいじゃん。
156 :
147 :03/04/01 22:48 ID:???
>>148 そうですね。型宣言がないのはある意味みんなでやるとこんがらがりそうですよね。
>>150 ええと、うちの会社はJavaとかが中心です。まだ出来て5年たってない会社で、派遣が中心です。
なので、開発は独自でやっていません。
>>155 調べたんですが、やっぱりオブジェクト指向が大規模向けなんですね。もう少したてばPHPも
認められるようになりますかね。
俺も、
>>154 のように自分で大規模サイト作って上司をギャフン言わしたいんですが、
まだ小さい掲示板も作れないからこれから頑張ります。
>まだ小さい掲示板も作れないからこれから頑張ります。 よくそんなやつ雇ってるなその会社。
159 :
nobodyさん :03/04/02 01:26 ID:B/samNKd
うちの会社もPHPからJSPに進みつつあるよ。 でも漏れを含めて2人はまだPHPで開発をしている。 もう1人はあと1ヵ月後に会社を辞める予定。 漏れは会社でどういう風な道を歩んでいくのだろうか。 まあそろそろ辞めてプログラマー以外になろうと思ってるんだけどねー。 まったくおもしろくねーんだよプログラムはよ! ていうかひたすら同じような書き方なPHPばっかりだったらそら飽きるわ! SQL引っ張ってきてfor文でまわして1行ずつ表示の処理ばっかりなんだよ!
>159 じゃあ、たまには XML引っ張ってきてXSLTでどかっと表示させてみれば?
それは、やり方が間違ってる
>>159 >ていうかひたすら同じような書き方なPHPばっかりだったらそら飽きるわ!
>SQL引っ張ってきてfor文でまわして1行ずつ表示の処理ばっかりなんだよ!
さっさとライブラリにしろよ。
>>159 飽きたならJAVA勉強すればー?
ったく使えねぇヤツだな。
>147 一応yahooもPHPを今後使っていくらしいからな。 早くPHPで動けばいいね。 取りあえずPHPで大規模サイトは作れないのか?と賭けてみれば? yahooがPHP化したら147は勝つんだから。
javaに将来見えない気がするんですが・・・
166 :
:03/04/02 15:47 ID:???
このスレやな奴多いなって思ってたけど・・。
答える気もないのに(←答えらんないからだろうけど)偉そうな人多いし。
>>164 はいい人だねー。たぶん普通のレスだけど、光って見えるよw
別にYahooは全てPHPでやるってわけじゃないんだけど(汗
168 :
ぷふぁ〜ん :03/04/02 16:17 ID:/rVTQekD
はじめまして、perlからPHPに引っ越してきた初心者です。 CGIで外部サーバ上のhtmlファイルのソースを取得する方法を 調べているのですがこれについて詳しく載っているサイトが 見当たりません.. ソケットを使うということは解っているのですが、プログラミング 初心者なこともあってどういうコードを書けばいいのかさっぱりです。 PHPマニュアル等もいろいろ見て回ったのですがどれも私には説明不足で.. ご存知の方、どうか宜しくお願い致します。m(__)m
まぬある file fopen fsockopen さんぷるつき
170 :
ぷふぁ〜ん :03/04/02 17:14 ID:/rVTQekD
マニュアルを見ても解らないようじゃダメすぎですよね、 もぅ少し勉強してきます、お忙しいところありがとうございました。(ぺこり)
171 :
nobodyさん :03/04/02 18:14 ID:PsDG8e3I
フォームからポストして、MySQLをつかって文字をInsertしているのですが、 文字の中に「?」が含まれている場合は、「?」が「?」に化けてしまいます。 処理はEUCに統一しています。urlencodeなどで試しているのですが、うまく いきません。解決策などありましたら、よろしくお願いいたします。
172 :
nobodyさん :03/04/02 18:15 ID:PsDG8e3I
????????????MySQL????????Insert????????? ?????????????????????????????????????????? ???EUC?????????urlencode???????????????? ??????????????????????????????? ?????????????????????
173 :
nobodyさん :03/04/02 18:19 ID:PsDG8e3I
なんどもすみません。 >文字の中に「?」が含まれている場合は、「?」が「?」に化けてしまいます。 の文章は、以下の通りです。 >文字の中に半角の「¥」が含まれている場合は、「¥」が「?」に化けてしまいます。
174 :
108 :03/04/02 19:35 ID:???
FreeBSD を使っていてbuildconf を実行したときにlibtool のバージョンチェックに 引っかかってstop してしまう件ですが・・・ 結局、ソースに含まれているlibtool 1.4.2 を使う方法が分からなかったので、 /build/buildcheck.sh 内のチェック行のexit 1 をリマークしてしまいました。 いくつかワーニングが出たものの、configure は生成されたので、 「まいっか。。。」しちゃいました。 #FreeBSD でPHP-RCを使ってる人ってどうやってるんだろう??
そら勿論libtoolの最新を入れてるが。
177 :
nobodyさん :03/04/02 21:05 ID:PsDG8e3I
$que = "insert into tb_item(C_TYPE, C_TEXT) values(¥"$hoge¥", ¥"$hoge2¥")"; こんな感じです。 それと、今わかったのですが、フォームで、hoge.phpにポストして、 $hogehoge = $_POST["hogehoge"]; で拾って、 <?= $hogehoge ?>でブラウザに表示させると、 「¥」が化けるのではなく、カットされてしまいます。 たとえば、「¥hogehoge」とポストしたのに、結果は「hogehoge」となります。 なぜなんでしょうか?
$que = "insert into tb_item(C_TYPE, C_TEXT) values(¥"$hoge¥", ¥"$hoge2¥")"; の次に echo $que; 入れてどんなSQLが表示されるか見てみれ。
179 :
nobodyさん :03/04/02 21:29 ID:PsDG8e3I
エコーしました。う〜ん。 valuesの変数は初期化していませんので、 insert into tb_item(C_TYPE, C_TEXT) values("", "") というかんじです。見る限り、問題ないように思います。
valueが分からなきゃなんの判断も出来ないのだが。
181 :
177 :03/04/02 22:10 ID:9OeHk805
あそっか。すんません。 インサート以前に、先ほども、書いたのですが、 $hogehoge = $_POST["hogehoge"]; この状態ですでに、¥が文字化けしているのです。
mysqlのvaluesの指定ってダブルクォートでもいいんだっけ? 自分はいつもシングルクォートなんだけど。 $que = "insert into tb_item(C_TYPE, C_TEXT) values('$hoge', '$hoge2')"; んで>177氏のはaddslashesとかmagic_quoteとかで検索すれば 解決する問題な気が。
試してないけど、ダブルクォートはダメでしょ?
184 :
nobodyさん :03/04/02 23:21 ID:9OeHk805
>ダブルクォート え?そうなんですか? values(¥"$hoge¥", ¥"$hoge2¥")"; で、インサートできてるのですが・・・ シングルで試してみます。\'でなくていいんですよね?
いけるんだね。
>>188 ありがとう。
apache + php4.3.1 php.ini extension=php_mbstring.dll 可
何でだろう?
>>189 mb_string絡みの設定が正しく行われていないのでは。
>>199 ありがとう。
mbstring.internal_encoding = EUC-JP 可で解決しました。
他に可にしておいた方がいいのがありましたら教えてください。
>>191 各自の環境や構築するサイトによって違うのでなんともな。
マニュアルをよく読んでくれよ。
個人的にはマニュアルにあるeuc-jpユーザ用設定が一番問題が
少ないと思っている。スクリプトをeucで書く必要はあるけどね。
>>192 ありがとう。
mbstring.language = Japanese
mbstring.internal_encoding = EUC-JP
今の所これで落ち着きました。
194 :
nobodyさん :03/04/03 16:12 ID:XWfV91pg
195 :
108 :03/04/03 17:46 ID:???
まだいらっしゃるかな??
>>175 さん、libtool の最新を入れるってtar ball からインストール、ってことですか?
#unix 板で聞くべきでしょうか?
197 :
nobodyさん :03/04/03 20:20 ID:ywhjyh5K
(すみません。他のスレに誤って投稿してしまいました。) foreach($array as $card) { $query = "insert into tb_hoge(C_TYPE, C_KEYREF, C_YEAR) values('$type', '$keyref', '$i')"; mysql_query($query); } という処理をさせると、一回のquery実行にもかかわらず、二回実行されてしまい、 結果として、二つ同じレコードがインサートされてしまいます。 繰り返した回数だけquery実行したいのですが、解決できません。 アドバイスいただけますと、幸いです。
198 :
108 :03/04/03 20:26 ID:???
>>196 さん
ports で用意されているのが1.3.4 だったのと、依存性が心配でためらっていましたが
教えていただいたurl からlibtool-1.4.3.tar.gz を取ってきてインストールしてみました。
バージョンチェックを無視したときは、php/Makefile の中のnamazu, kakasi のライブラリ位置
を手で直さないとmake できなかったのが、すんなり通るようになりました。
ありがとうございました。
#他のports との依存性が問題になったときは、ports でlibtool を上書き
することにしました。
199 :
nobodyさん :03/04/04 04:26 ID:CWbmmlFZ
PHPLibで、セッションデータの保存にSQLデータベースでは なく、ファイルを使いたいのですが、できますか? できるなら、やり方を教えていただけないでしょうか。
200 :
nobodyさん :03/04/04 11:29 ID:RZxRYN1N
これだからPHP厨は┐(´〜`)┌
202 :
nobodyさん :03/04/04 11:52 ID:AYp/uqxl
JAVAにはつきもののDBのコネクションプーリング 見たのはないの それとも 自力で、データベースの コネクションを引き回すの? データベースはoracle を使った大規模WEBアプリを 検討しています。
>>202 > JAVAにはつきもののDBのコネクションプーリング
> 見たのはないの
ない。
> それとも 自力で、データベースのコネクションを引き回すの?
無理。ただ、Persistent接続はある。
204 :
名無しさん@Meadow :03/04/04 12:57 ID:xYbXEF6T
205 :
nobodyさん :03/04/04 13:26 ID:AYp/uqxl
>203 レスさんくす phpでは あんまり需要がないのかな? >Persistent接続はある。 これのことか? Ora_pLogon Ora_pLogon -- 持続的な Oracle接続をオープンする
206 :
nobodyさん :03/04/04 13:29 ID:AYp/uqxl
>204 サンクス 一応は見にいった。
>>205 Persistent接続はそれのこと。
需要あるなしよりも、効率を考えたらプーリング機能は欲しいね。
208 :
nobodyさん :03/04/04 20:56 ID:DPO7NsXp
フォームを使って、適当なファイル名($export_file)を記入し、以下のようにして fopen("$export_file", 'w+'); データを書き込んでいます。 しかしこれだと、任意のフォルダにデータを書き出すこがはできません。 もちろん、既存のファイルに上書きならできるのですが、新規にファイルを 作成したい場合にはどのようにすればいいのでしょうか?(できるのかな?)
>>208 フォルダってことはWindowsか。新規作成は普通にできるっしょ。
210 :
nobodyさん :03/04/04 21:10 ID:DPO7NsXp
いえ、windowsに限ったことではありません。 osxなどでもできればいいかなと思っています。 windowsで、普通にできるというのは、フォームで、type="file"と指定する ということですか?
211 :
nobodyさん :03/04/04 21:44 ID:9h+fpMt8
掲示板等で Mozilla/4.0 (compatible; MSIE 6.0; Windows 98) を、PCとだけ表示させたり DoCoMo/1.0/P503iS/c10 を、P503iSとだけ表示させるには、どう書いたら良いでしょうか?
if(ereg("Mozilla",$hen)){echo"pc";} elseif(ereg("P503iS",$hen)){echo"P503iS";} else{echo"変ですか?";}
echo $_SERVER["HTTP_USER_AGENT"];
$hen = $_SERVER["HTTP_USER_AGENT"]; if(ereg("Mozilla",$hen)){$hen = "pc";} elseif(ereg("P503iS",$hen)){$hen = "P503iS";} else{echo"変ですか?";} echo $hen."です。";
$user_agent= explode( "/", getenv("HTTP_USER_AGENT")); switch( $user_agent[0] ){ case "DoCoMo" : $file = "index_docomo.php"; break; case "L-mode" : $file = "index_lmode.php"; break; case "ASTEL" : $file = "index_astel.php"; break; case "UP.Browser" : $file = "index_upbrowser.php"; break; case "PDXGW" : $file = "index_pdxgw.php"; break; case "J-PHONE" : $file = "index_jphone.php"; break; case "PlayStation2" : $file = "index_playstation.php"; break; default : $file = "index_pc.php"; break; } include $file; でけました!
>>210 新規作成するフォルダに、ファイル作成のパーミッション(アクセス許可)が無いといけない。
Windowsやmacの場合もそういう制限があるんじゃないの?
217 :
210 :03/04/05 09:19 ID:E09q+9L8
はい。個人で使うものなので、パーミッションは問題ありませんです。 既存のファイルを選択することはできるのですが、 新規ファイルを作成する場所(フォルダ)をどうすれば選択できるように なるのでしょうか?
>>217 ファイル名にフォルダ名をつける。
$export_file="./hoge/hoge.txt";
219 :
217 :03/04/05 18:08 ID:RCPiYo/6
う〜ん。もうちょとスマートな方法ないでしょうか?
fopen($folder.$export_file, 'w+');
空白か特定の文字列の場合に、処理をやめさせるってのはどうすれば…。 例えば掲示板とかで書き込みする時とか。 初心者です!(←これ言えば何でも許される)
>>221 逃げを打つ前に説明の仕方を何とか汁(初心者スレ以外でやったら叩かれるぞ)
そもそも、処理をやめさせるって?
FormのTEXTの内容に、ある文字列(”氏ね”とか)があったら、書き込みを反映させたくないって事?
なら、if文の条件の中でpreg_match()関数でも使って、書き込みさせるかさせないか分岐とか。
preg_macth()の使い方はリファレンスでも見てくだされ。
○書き込みさせるかさせないか分岐とか。
×書き込みさせるかさせないか分岐させるとか。
関数の使い方は
>>2 のPHP マニュアルへGO。
正規表現がわかんなかったら、それなりのサイトを探すべし。
基本的な内容程度なら載ってるサイトはちょこちょこあったと思う。
もし、文字列に"初心者です!"が含まれたら投稿中止です。 if(ereg("begin",$moji)){echo"dame";exit;} elseif(ereg("space",$moji)){echo"dame";exit;} else{echo"iiyo";} //正規表現のあたりを調べろと。
225 :
217 :03/04/05 23:46 ID:E09q+9L8
>fopen($folder.$export_file, 'w+'); この場合、テキストフィールドに朱入力して、 $folder,$export_fileに代入ということでしょうか? ではなくて、ナビゲーションを使って、フォルダを選択して、 そこに任意の新規のファイル名を指定できればいいのですが。。。
∩
∧_∧ | | / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
( ´Д`)// < 先生!こんなのを発見シマスタ!
/ / |
/ /| / \
http://saitama.gasuki.com/yuusei/ __| | .| | \
\  ̄ ̄ ̄ ̄ ̄ ̄ ̄\ \_____________
||\ \
||\|| ̄ ̄ ̄ ̄ ̄ ̄ ̄|| ̄
|| || ̄ ̄ ̄ ̄ ̄ ̄ ̄||
.|| ||
>225 最も楽に作るという前提で。 up可能なフォルダを列挙してラジオボタンを付けて、 チャックしたフォルダにファイルをupする、とか。 フォルダとツリーで表示したいならopendir、readdir、is_dirで再帰しながら表示、とか。 [+]とか[-]でフォルダを閉じたり開いたりだと手間掛かるね。
228 :
nobodyさん :03/04/06 14:18 ID:/QV6d5uq
質問です。 PHPでint関数を使うと Fatal error: Call to undefined function: int() と出てしまうのですが、PHPでintに該当する関数は何になるの でしょうか?教えてください。 厨質だったらすいません。
>>228 settype($i,"integer");
こうか?
230 :
228 :03/04/06 14:29 ID:/QV6d5uq
>>229 ありがとうございます。
調べてみたところsettypeを使うみたいですね。
ただintとは使い方が違うみたいで、そのまま置き換えられないようです。
自分でいろいろ試してみます。
お騒がせしました。
int関数ってのがどういう動作を期待してるのか分からないけど float(double)から整数に変換する & 数を0の方にまるめる だけなら(int)$value のようにキャストできるよ
232 :
229 :03/04/06 14:41 ID:???
そうだ。C同様、PHPにもキャストがあるんだった。
質問っす。ちょっとPHPとは離れてそうなのですが、 300個近いチェックボックスをPOSTしようとしているんですが、 $_POSTで値が取得できません。 何か制限とかあるものなんですか?
234 :
aaaa :03/04/06 15:27 ID:/US/lhYB
>>233 600個のcheckboxで試してみたけどちゃんと動きました。
getの場合でも問題無し。
制限があるとすれば、apacheの場合だと LimitRequestBody あたりかな。
でもMBのオーダーの設定になってると思うので、たぶん無関係かと。
formやphpソースを疑ってみてはいかがでしょうか?
236 :
nobodyさん :03/04/06 18:41 ID:KOyF6yOz
phpでrefereを取る方法はいろいろありますが、 どう書くのが一般的ですか? どっちが見やすいかで、小一時間討論しました
どっちって言われてもなぁ....選択肢無しってことは新手の質問の仕方かのお。 マニュアルの「定義済みの変数」に載ってるよ。
>>236 $_SERVER[HTTP_REFERER]
239 :
nobodyさん :03/04/06 20:02 ID:3XWizH/3
240 :
236 :03/04/06 20:33 ID:KOyF6yOz
すいません、言い方誤りました。 refererとって、アクセスランキングをつける方法です。 選択肢はいろいろありますが、 私の場合はファイルをキューとして扱う。 つまり、一番最近アクセスがあったものが上の方におく。 という事です。 友人の場合は、ちゃんとアクセス数をカウントして アクセス数順に並べるとのこと。 他にも方法はあると思いますが、 どんなのがいいんでしょうか?
241 :
233 :03/04/06 21:01 ID:???
>>235 - と _ のみ間違いでした。はやとちりスマソ。
thx!
>238 初心者スレなんで正確に'HTTP_REFERER'とクォートで括りたいところ。
243 :
nobodyさん :03/04/07 12:16 ID:hoqq1ppB
ユーザ関数を1つのファイルにまとめておきたいのですが、その関数を他のファイルから 読み込むには、includeなどで指定しないといけないのでしょうか?
244 :
nobodyさん :03/04/07 13:30 ID:vjvunX5V
>>243 そう。
あと、auto_prepend_file/auto_append_fileディレクティブなどで
自動的に、全部のスクリプトに対して付けちゃう事はできるけどね。
245 :
nobodyさん :03/04/07 19:11 ID:q77L0+Oc
ある文字列から、URLを含む文を抽出して配列に格納したいのですが どのようにすればいいですか?
247 :
nobodyさん :03/04/08 15:00 ID:Fj+rJIyE
>244 ありがと。includeを一つ一つのファイルで指定するのは面倒なんですよね。 auto_append_file試してみます。
perlでいうところの my にあたる局所変数宣言っていうのはPHPではどうやるんでしょうか?
249 :
nobodyさん :03/04/08 15:51 ID:AcET4E/D
PHPのチャットスクリプト探してるんですけど、
ADDS PHPフォーラム(
ttp://www.mac68k.com/ )のsimple chatってのがかわいかったんでDLして解凍してそのままUPして、index.phpにアクセスしてみたもののなんどログインしようとしても最初のindex画面にもどってしまうんですが、どこか設定いじるのでしょうか?
わかるかた教えてください。
作った本人きけよ
251 :
nobodyさん :03/04/08 16:25 ID:Fj+rJIyE
php.ini???????????????????? ?????????????????
252 :
nobodyさん :03/04/08 17:32 ID:+i7U7kfX
oracle に接続して emp テーブルの値を表示するサンプルはできたしかし テーブル名が漢字で項目名も漢字のやつを表示させようとしたら Warning: OCIStmtExecute: ORA-00911: 文字が無効です。 Warning: OCIFetch: ORA-24374: フェッチまたは実行してフェッチする前に、定義が行われていません。 とかいって怒られるのだが、漢字はだめなの?
253 :
nobodyさん :03/04/08 17:36 ID:s/4eB37U
>>248 PHPはPerlとは逆にglobal宣言しないとデフォルトで局所化された状態。
254 :
nobodyさん :03/04/08 18:10 ID:+i7U7kfX
252だけど oracle は Windowsサーバで稼動している
>>253 sub hoge{
my $a = 'mona'
print $a;
{ my $a = 'giko' print $a;}
print $a;
}
ってPHPではどう書くんでしょ?
myを省略するだけ?
256 :
255 :03/04/08 18:29 ID:???
やってみたら mona giko giko になっちゃいますな mona giga mona って表示したいんですけど。
257 :
255 :03/04/08 18:47 ID:???
255のやつをPHPで書くと function hoge(){ $a = 'mona'; echo $a; giko(); echo $a; } function giko(){ $a = 'giko'; echo $a; } こんなメンドイことになるんでしょうか?
>>257 本来あるべき姿です。Perlがいかに前衛的な言語であるかがわかるな。
259 :
255 :03/04/08 18:53 ID:???
やっとられんな。
261 :
nobodyさん :03/04/08 20:23 ID:CvB40OAj
こんにちは。ちょ〜ど素人で申し訳ないんですが....
http://works.xrea.jp/ こちらを参考にして、Yahoo の Topixを表示させるやつを作ってるんですが、
Yahoo TOPIXの『・』こんなやつを 画像に変えたりとかはできないんでしょうか?
eregi_replaceとか言うのを使って、テーブルタグを消して<BR>入れてってとこまでは
なんとかできたんですが....
自信無いんですけど,,,,
$t_news[1] = eregi_replace( "<tr[^>]*>", "", $t_news[1]);
$t_news[1] = eregi_replace( "<td[^>]*>", "", $t_news[1]);
$t_news[1] = eregi_replace( "</tr>", "",$t_news[1]);
$t_news[1] = eregi_replace( "</td>", "<br>", $t_news[1]);
みたいに....
でも 行頭に入る 『・』は日本語だからエラー出ますよね?
どうしたらいいんでしょうか?
ど素人なんでさっぱりです。調べてみたんですけど、みつからなくて。
誰かアドバイスお願いします!
263 :
nobodyさん :03/04/08 23:35 ID:vCzfJEVd
とあるサイトに、 socket_connect ($socket, $address, $service_port); とsocketを接続しようとすると、 Warning: socket_connect() unable to connect [111]: Connection refused というエラーがかえってきます。 これは、文字通り、拒否されて居るんですよね・・・? そのサイトは、ブラウザからアクセスすると普通に見られるのですが、 phpのsocket開くのとブラウザと、向こうのサイトで区別して拒否してるんでしょうか?
264 :
nobodyさん :03/04/08 23:36 ID:vCzfJEVd
あ、phpはレンタルサーバにおいているので、 ブラウザで見るのとはドメインが違います。
ところで 本当にPHPでは局所変数っていうのは 存在しないのでしょうか?
fsockopen <?php $fp = fsockopen ("www.php.net", 80, $errno, $errstr, 30); if (!$fp) { echo "$errstr ($errno)<br>\n"; } else { fputs ($fp, "GET / HTTP/1.0\r\nHost: www.php.net\r\n\r\n"); while (!feof($fp)) { echo fgets ($fp,128); } fclose ($fp); } ?> てか、pear 使おう
268 :
sage :03/04/09 00:14 ID:tMXWJMSn
>>262 さんありがとうございました!!
マルチバイト文字列とかそういう言葉(?)が出てこなかったので、
助かりました!
本当にありがとうございました。
>>265 局所変数がないのではなく、
perlみたいなブロックがないということ ?
perlは何でもあるからね。
270 :
263 :03/04/09 00:40 ID:Uzz9bVZG
>>266 早速試してみました!→できました(゚∀゚)ありがd!
networkをもっと勉強する必要がありそう。。
ありがとでした〜(^^
>>269 PHPしか知らないってのも痛いが、perlしか知らないってのは
どうしょうもねぇなぁ。
273 :
263 :03/04/09 01:04 ID:Uzz9bVZG
>>271 あ、実はその部分の意味わからなかったんです(汗
なるほど、そういうclassがあるんですね。便利そうですね。
補足さんきうでした!
274 :
nobodyさん :03/04/09 01:40 ID:oDK2LGgX
XREAでPHPをいろいろ試してます。 些細なことで申し訳ないんですが、ひとつお聞きしたいことがあります。 phpinfo() で画像が表示されません。 ×印になってしまいます。 なんでですか? ソースは以下の通りです。 ---------- <?php phpinfo(); ?> ----------
public_htmlでない shared_htmlでる
>>274 PHPのバージョンがふるかねぇ?
output_handlerの指定をしているとか。
局所変数バカと言われたなぁ PHPは本当に初心者なんだからもうちょい優しくしてくれよ
278 :
274 :03/04/09 03:04 ID:fs4GFxJp
>>275 ありがとうございます。確かに出ますね。
なんででしょう?
広告自動埋め込みが悪さしてるんですかねぇ
>>276 PHPのバージョンは 4.3.1 です。
output_handler の欄をみたら "no value"になってました。
あぼーん
要約すると、PHPはレキシカルスコープとかそういうものを 考えたことが無いような人向けの物なので気になる人は我慢してください。 ということ。
あげ
>>281 Perlはグローバル変数をサブルーチンの内部でみだりに参照することは
プログラムを、あっという間に自分でも読解不明にします。
根拠のある必要がない限り行わないでください。
すぐわかるPerl参照
この書籍はとてもわかりやすく解説されます。
286 :
nobodyさん :03/04/12 05:20 ID:sfZex8vW
>>277 教えてクンなんだから、どんなこと言われようが我慢
しろよ。それが嫌なら自分で調べろ。
グローバル変数を自由に使えることがPerlのコードを
難解にする要素だとは思えません。
要はコーディングの仕方しだいだと思います。
くだらない比較ですが、グローバル変数に関する文法
は、Perlのほうが使いやすいと思っています。
Perlのグローバル変数とPHPのdefineで定義する定数
宣言とは、ある意味で似ていますが、これについてもPerlの
ほうがいいと感じています。
変数スコープについては、PHPは確かにとっつきにくい
ですね。後発の言語なのに洗練されていない気がします。
287 :
nobodyさん :03/04/12 05:55 ID:Nmxc4KKs
>>286 結局慣れだろ、Cを知ってればPHPの扱いは自然に思える。
> Perlのグローバル変数とPHPのdefineで定義する定数
> 宣言とは、ある意味で似ていますが、これについてもPerlの
変数と定数では全然違うって。
>>288 少なくとも後者は値が変わらないことが保証されるからな。
ユーザー関数内で変数をレキシカルにしたいのですが どうやれば良いのかわかりません。 function abc() { if ( ... ) { $abc = ""; <- この変数をレキシカルにしたい。 .....; } } 実際のソースとは少し違いますが、簡潔に書くとこんな感じです。
ええと、上の説明だとif文内だけで有効にしたいのです。 関数外なら出来るのですが…。 Perlのmy?みたいな風でしょうか。
1個の関数内で同じ変数名を使う意味が分からない。
294 :
キッチン排他 :03/04/12 13:08 ID:9ZnqNoT4
fopen("hoge.txt","w") だと、hoge.txt の中身を一度空にしてしまうから、 ファイルロックしないとデータが飛ぶ可能性があるんですよね? って事は、 fopen("hoge.txt","a") みたいに "a" を使えばファイルロックする必要はないって 解釈で良いのでしょうか?
>>294 専有ロックと共有ロックについて調べる。
排他ロックと言いましょう。
>>293 いちいち変数名を気にしなければいけない理由が分からない。
レキシカルスコープなら、変数が見える範囲を最小限にできるから、 絶対にPHPみたいな関数内でローカルな変数よりも狭くできる。 だから有利だと思うんだけど、どうかね。
301 :
キッチン排他 :03/04/12 14:00 ID:9ZnqNoT4
>>295 レスどうもです。
共有ロック
データを読み込めるが書き込めない
排他ロック
データを読み込みも書き込みも出来ない
つまり、ロックしていなければ、"a"の場合ならばファイルが空になる事はないからデータが
飛ぶって事はないけれども、同時アクセスがあった場合には、先にアクセスした方の
処理は反映されない問題が発生するって解釈で良いのでしょうか。
$fp = fopen("hoge.txt","a");
flock($fp,LOCK_SH);
は、特に意味が無いって事になりますよね?
あれ?違うかな??
ん?共有ロックを使っている場合、後からデータにアクセスした方(B)の処理は、
先にアクセスした方(A)の処理が終わってから行われるって事だと思うのですが、
(B)が読み込むデータっていうのは、(A)が書き込みを終了したデータに
なるんでしょうか?
それならば、納得がいくのですが、(B)が読み込むデータが、アクセスした時点
{(A)が書き込みをする前}のデータならロックする意味がないと思ったので。
排他ロックを使えば、どっちみち問題なしって感じがするんですが。。。
共有ロックの存在意義がないように思うのですが、どうでしょう。
#なんか日本語が変なような感じもするんですけど・・・
>>300 はぅ…この程度なのか。PHPユーザーって。
flockシステムコールなら・・・ 共有ロック 同時に複数のプロセスがロックできる。 排他ロック ある瞬間にはたったひとつのプロセスしかロックできない。 共有ロックと排他ロックは同時にかけられない。
304 :
303 :03/04/12 14:20 ID:???
というわけで書き込めるかどうかは関係ない。 ロックをかけようとしなければ書き込めるし。 ロックをかけようとした時に排他ロックがかけられていたら、解除されるまで待つ。
305 :
290 :03/04/12 14:23 ID:???
290です。 あれから色々と検索や書籍で調べてみましたが 局部的なレキシカル可の方法は書いていませんでした。 やっぱり出来ないんでしょうか…。
306 :
キッチン排他 :03/04/12 14:27 ID:9ZnqNoT4
>>303 レスどうもです。
うーむ、いまいち理解できていない自分が憐れ。
今から仕事に行くので、帰って来てからまたお勉強します。
今、現在の考え。
「とりあえず、排他ロックを使えば問題ないかな。」
です。
では、これにて失礼します。
お付き合いありがとうございました。
>>306 そだな。何でもかんでも排他ロックすれば取りあえずは安全だ。
今度はデッドロックの恐怖に苛まれることになるが。
>>290 PHPとPerlは同じものだと思ってるのか?
いつまでもPerlと同じ書き方すりゃ、そりゃ引っか刈る罠。おまえバカだろ。(w
310 :
290 :03/04/12 15:50 ID:???
>308 そうですか、出来ないとわかっただけでもスッキリしました。 >309 私はただ、出来るのか知りたかっただけなのですが 何故、あなたがそこまで私を小馬鹿にされるのか解りかねます。
>>290 局所変数バカと同一人物と思われ、かつ
根本的にコーディングの問題がある事を指摘されたようですね。
がんばってください。
>>310 309ではありませんが、
if文のブロック内のみ有効な変数を必要とする、コーティングの仕方に問題があると思う。
perlを作っている人もmyをそのような使い方のために作ってのではないと思うけどな。
313 :
nobodyさん :03/04/12 23:55 ID:MIn0iMWR
んなあほな。最小限のスコープで記述し、妙なエラーの発生を防ぐっていうのは、近代的な方法だと思うんだけど、違うのか?意見を求む。
グローバルにした方が都合がよいのならグローバルにする。 もちろんiとかaとかわけのわからん短い名前をつけたり、複数の目的に使ったりするのは御法度だけど。
>>313 バカにあほといわれた。
ところで、宣言しない限りグローバル変数になってしまうperlが持つレキシカルスコープという
概念を持った処理系って他にあるの?
そのためのモジュールがあるし、そこら辺は問題ないんじゃないの?<Perl
というか、よく読んだら>315の言ってる意味が解らないや。
>>317 スマソ。
perl以外でレキシカルスコープという概念を持った処理系が他にあるの?
って聞きたかったわけ。
>>318 C++とかJavaとかは
if(hoge)
{
int a;
}
とかするとaは自分の生まれたブロックとその子孫ブロックでのみで生きられる。
>>319 そうか、それは正直知らん&すまんかった。
Javaでも勉強するとしよう。
>>319 それがレキシカルスコープなの?もしそうならCにも存在するということになるけど。
今後PHPにも出る可能性があるものだね。
327 :
322 :03/04/14 01:48 ID:???
>>326 ∧_∧
( ´∀`)
人 Y /
( ヽ し
(_)_)
スレ立てありがd&乙カレー
328 :
キッチン排他@職場 :03/04/14 02:39 ID:nGNbFDFK
デッドロック 卵が先か鶏が先かって状態ですよね? 今の所、そんな複雑なスクリプトを書くスキルがないので、デッドロックで 困った時に、困る事にします。 ところでファイルロックについて更に質問なのですが、 $fp = fopen($filename,"a"); ならばロックした方が良いって思うのですが、 $file = file($filename); とかの場合もロックした方が良いのでしょうか? 今作ってるスクリプトが、おおまかな流れとして以下のような感じなのです。 1. file()関数で現在あるデータを配列に代入 2. foreach()関数でpostされたデータと現在あるデータを照合 3. なければfopen()関数で開いて排他ロック 4. fputs()関数で書き込んでから、ロック解除してクローズ やはりfile()関数を使った直後にロックを掛けた方が良いのでしょうか?
329 :
キッチン排他@職場 :03/04/14 02:47 ID:nGNbFDFK
flockは、ファイルポインタが必要・・・ って事は、file()関数の直後でロックする事自体ムリって事ですか・・・ マニュアルちゃんと嫁ですね。 すいません。
デッドロックは複数のファイルをいじくるようになったら考えろ。 で、その例だと重い処理やユーザが多い場合トラブる。 Aがデータ読む→Bもデータを読む→Aがデータ更新→Bもデータ更新 の時、BはAによる変更がなされていない古いデータを参照、処理している事になる。 fopen→施錠→読む・処理・書き込み→close が正解。 開錠は?と思ったなら手元の本のロック関係の項目を読み返せ。
331 :
キッチン排他@職場 :03/04/14 04:52 ID:nGNbFDFK
>>331 メールの送信はcloseの後の方がいいんじゃない。
333 :
nobodyさん :03/04/14 11:19 ID:f50BSraC
ディレクトリのパーミッションを変更することってできますか? chomd関数だとどうやらファイルしか扱えないみたいだし、mkdir関数は既存 のディレクトリに対してしかパーミッションの設定が聞かないようなので。 やりたいことは、ファイルのアップロード時に一時的にディレクトリのパーミッションを変更し、 アップが終了したら元に戻すってことです。環境はredhat Apache php4.3.1です。
>>332 の指摘に便乗して便乗質問。
ファイルをオープンしながらその中でいろいろ処理しつつ、
ファイルに書き込んでいくなんて処理はまずいかな?
例えば親記事に返信できる掲示板とかで、
・listでログを配列に全部読み込む。
・wでログファイルオープン
・forで配列をまわす。
・すでにあるログ書き込み。
・返信の親記事発見。
・いろいろと処理(置換したり、入れ替えたり)して親記事と子記事書き込み。
・残り書き込み
・close
こういう場合は予め配列操作しておいた後で、一気に書き込んだ方が
いいのかな?
335 :
動画直リン :03/04/14 11:45 ID:ri8n5kTm
336 :
キッチン排他 :03/04/14 16:04 ID:kFyvhyAa
>>332 レスどうもです。
http://www.kari.to/upload/source/d/1445.txt クローズしてからメール送信するようにしました。
postされたデータ(A)と現在あるデータ(B)を照合して、BにAがある場合は
エラーを表示させてBにAを反映させず、BにAがない場合は、BにAを追加して
メールを送るというのがやりたかったのですが、やりたい事は出来ました。
施錠・開錠の位置は、これで問題ないのでしょうか?
それと、ちゃんとロックされているかの確認って皆さんどうされてるのでしょうか?
>>333 1.一時的にディレクトリを作って、その中にアップロード
2.アップ完了したら、ファイルを任意のディレクトリへ移動
3.1.で作ったディレクトリを削除
ってのはどうでしょう?
スマートじゃないし、PHP始めたばかりの人間の戯言なので的外れなレスを
返しているかもしれませんが・・・
既存のディレクトリのパーミッションを変える関数があったらごめんなさい。
337 :
nobodyさん :03/04/14 16:17 ID:R0bR1Nwj
>>313 とその他大勢の話の食い違いは、
同じ変数名を使うことを前提としているかどうかだと思うんだが。
また、変数を定義する順番も。
仮にスベテのブロック内でスコープが適用されるとしても、
$hoge = NULL;
function foo(){
if (true) {
}
}
という形の時に、if内に$hogeという局所変数を追加するような書き方
(たぶん
>>293 の書き込みがあったから、
こういう書き方をしたいと思ってると決めつけてるんだと思うが)
をするのは問題外だが、
function foo(){
if (true) {
$hoge =256;
}
}
というような形が先にあった場合、
$hogeのスコープを最小限に出来れば、
今後foo()内にスコープを持つ変数や
グローバルスコープの変数を追加する時に、
"うっかり"名前が重複してエラーになる可能性は低くなる。
特に複数人で開発を行う場合はありえない事ではない。
(もちろん注意して、重複しないようにするのが好ましいが)
そうそう。実際、エラーになってくれればまだ幸せで、それがたまたま文法的に合ってたりすると、、、やっかいな「バグ」の原因になる。
>>338 >グローバルスコープの変数を追加する時に
>複数人で開発を行う場合はありえない事ではない
関数名が重複しないように悩むことはあっても、
ローカル変数が把握できなくて悩んだことはないね。
それに、関数内に追加したくなるglobal変数なら全員把握するもんでは ?
大体、何のために関数化しているの ? php の開発が特殊なのかな...
>>340 >大体、何のために関数化しているの ? php の開発が特殊なのかな...
複数人で作業を分担すると、個々の能力が違うわけで
開発規模が大きくなればなるほど、いびつなコードになっていく…ことがあった。
>>341 全体を複数人でやるのはわかるが、ひとつの関数に複数人が同時に手を
入れることはそうそうないだろう。
>341 最初の設計が悪いんだよ。
むやみに小さく関数化させると遅くなるよ。
345 :
山崎渉 :03/04/17 12:01 ID:???
(^^)
age
______
/_ |
/. \ ̄ ̄ ̄ ̄|
/ / ― ― |
| / - - |
||| (5 > |
| | | ┏━┓| / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
| | | | ┃─┃| < こんなサイトを見つけた
|| | | | \ ┃ ┃/ \ 正直、スマンカッタ
| || | |  ̄ \_________
http://freeweb2.kakiko.com/mona/
349 :
nobodyさん :03/04/19 13:53 ID:PcDRg1R2
プロパティに配列を定義して その配列にメソッドから要素を追加したいのです。 class Mona { var $arr = array(); function Mona(){ } function setValue($value){ //array_push ($this->$arr,$value); $this->$arr[] = $value; echo(count($this->$arr)); } } $m = new Mona(); $m->setValue("si"); $m->setValue("giko"); どうすればよいのです。
ちゃんとエラー内容を見てるかい? $this->arr[] = $value;
>>350 array_push ($this->$arr,$value);でもエラーだということは、
$arr = array();じゃだめぽですか?
こう書くと分かりやすいかな。 $this->$arr[] = $value; $this->arr[] = $value;
>>352 ありがとうございますて。
現在、ものすごい脱力感に見舞われています。
今後気をつけます。
354 :
nobodyさん :03/04/19 17:55 ID:UAxx4/l2
abc.htmlってファイルをオープンして、 abc.htmlに、改めて指定してあるHTMLタグを 書き込んで、 そのファイルを閉じるにはどうすればいいのでしょうか? いろいろ調べたが分からんので誰か教えてください〜
356 :
354 :03/04/19 18:09 ID:UAxx4/l2
スマソ。そこは見逃して教えてくれませんか? 要はabc.htmlというファイルに指定のタグを書き込み たいんです。 たとえば、100とかいう数字程度なら分かるんだけど、 タグみたいに長い文字数の場合はどうすればいいのか・・・。
>>356 $data = file("abc.html");
$fp = fopen("abc.html","w");
fwrite($fp,"<html>");
foreach($dat as $data)
{
fwrite($fp,$dat);
}
fwrite($fp,"</html>");
fclose($fp);
ぱっと思いついたのはこれ。
358 :
356 :03/04/19 18:32 ID:UAxx4/l2
>>357 レスサンクスです。
ただ、perlでは下記みたいな簡単な感じで出来るみたいなんだけど、
phpでもできないですかね?
マジでPHP初心者なんでforeachを使う理由がわからないっす。
open (INDEX, ">index.html") ;
print INDEX "<HTML>\n<HEAD>\n";
print INDEX "<TITLE>$title</TITLE>\n";
print INDEX "</HEAD>\n";
print INDEX "</html>\n";
close (INDEX) ;
>>356 やっぱり意味不明だよね。
>>たとえば、100とかいう数字程度なら分かるんだけど、
じゃ、この分かるんだけど。っていう分かるを書いてみてよ。
360 :
356 :03/04/19 18:38 ID:UAxx4/l2
$fp = fopen("abc.html","w+"); $count = "100"; fputs($fp, $count); fclose($fp); じゃねーの?
361 :
動画直リン :03/04/19 18:40 ID:PZJVQOkw
362 :
356 :03/04/19 18:42 ID:UAxx4/l2
この『100』の代わりに 『<HTML><HEAD><TITLE>title</TITLE> </HEAD></html>』っていうタグを入れたいんだけど。
>>358 >マジでPHP初心者なんでforeachを使う理由がわからないっす。
file() を調べてみたら、分かるよ。
>>357 は、とあるデータに、htmlタグで囲むだけのサンプルであって、無理に
file を使うこともないし、foreach() を使うことも当然なし。
中に何書きたいか?でしょ。
たんに、
>>358 のようにしたきゃ、fopen() して、fwrite() して fclose() すりゃいい。
ここは、PHP初心者というレベルのものでもないと思うけどね。
だから、PHP初心者ではなく、全部初心者なんでしょ?
なら、素直に、そう書けば、それなりなフォローもつくでしょう。
>>362 $fp = fopen("abc.html","w");
$data = "<HTML><HEAD><TITLE>title</TITLE></HEAD></html>";
fwrite($fp,$data);
fclose($fp);
エラー処理はしてないけど、まぁ。
356と363は日本語を上手く使えない罠
366 :
356 :03/04/19 18:54 ID:UAxx4/l2
>>363 ,364
なるほど。ありがTO〜〜。
ちなみにまぁPHP初心者をプログラム初心者と同義で使ってたよ。
言葉足らずってやつだ。
>>366 >言葉足らずってやつだ。
意味変わってる。
368 :
356 :03/04/19 18:57 ID:UAxx4/l2
ちなみにfput とfwriteはどうやって使いわけるんだろう。 ま、これは本かなんかで調べるダス。 教えてくれたらうれP〜が
371 :
356 :03/04/19 19:02 ID:UAxx4/l2
ごめん、もう少し質問。 たとえばタグが<FONT size="5">とかだったら、 $data = "<FONT size="5">"; という風に""がゴッチャにならないのでしょうか?
372 :
356 :03/04/19 19:04 ID:UAxx4/l2
>>371 エスケープします。
$data = "<FONT size=\"5\">";
375 :
356 :03/04/19 19:06 ID:UAxx4/l2
ワカタ!!エスケープシーケンスって奴を使う??
376 :
356 :03/04/19 19:07 ID:UAxx4/l2
>>375 DOSのBASICプログラマか何かか?
今データベース操作のPHPを作っているんですが(MySQL) データベース接続中にエラー表示でexit;すると、 自動的に切り離ししてくれるんですか?
マニュアルの mysql_connect を嫁
381 :
bloom :03/04/19 20:10 ID:PZJVQOkw
382 :
nobodyさん :03/04/19 21:23 ID:+e8LI5YY
383 :
動画直リン :03/04/19 21:41 ID:PZJVQOkw
★あなたのお悩み解決致します!!
●浮気素行調査
彼氏、彼女、妻、夫の浮気を調査致します!!
●別れさせ工作
あらゆる手段を使ってターゲットを別れさせます!!
●盗聴器盗撮機発見
あなたの部屋に誰かが仕掛けているかも!!
●行方調査
行方不明になっている家族の消息を調査致します!!
●電話番号から住所割り出し
一般電話、携帯から住所を割り出し致します!!
その他人生相談からどんなお悩みでも解決いたします!!
直通 090−8505−3086
URL
http://www.h5.dion.ne.jp/~grobal/ メール
[email protected] ■グローバル探偵事務所
385 :
山崎渉 :03/04/20 05:58 ID:???
∧_∧ ( ^^ )< ぬるぽ(^^)
386 :
山崎渉 :03/04/21 00:46 ID:???
∧_∧ ( ^^ )< ぬるぽ(^^)
387 :
nobodyさん :03/04/21 12:56 ID:AYv3e7ja
携帯からPOS送信でPHPにデータをおくってるんですが NAME指定がないので$HTTP_POST_VARSで受信できません。 なにかPOST使用で方法ないですか?
388 :
nobodyさん :03/04/21 14:21 ID:5cXc42kk
ホントに初心者でバカな質問だと思いますが、 phpの処理後に特定のページに強制的にジャンプさせる方法はないでしょうか? html側での話かもしれませんが関連本を読んでも分かりませんでした。
389 :
nobodyさん :03/04/21 14:48 ID:6OPNxtTd
あたり前の事だけどPHPマニュアルって便利だよね。
>>387 phpinfo()で どこに値が入ってるかみてごらん
392 :
動画直リン :03/04/21 15:41 ID:ukRLYPuy
393 :
nobodyさん :03/04/21 15:55 ID:AYv3e7ja
>>391 携帯からのPOSTなんでして
ただphpinfo();だけをかいたら携帯の方に
出力してしまってエラーになると思います。
結果をファイルに保存とか可能でありますか?
>>387 php.ini
; Always populate the $HTTP_RAW_POST_DATA variable.
always_populate_raw_post_data = On
395 :
nobodyさん :03/04/22 10:24 ID:XwTWu/DF
>>394 当方phpinfo();を使用してバージョンみてみますと
PHP Version 4.2.3となります。
php.iniをみてもalways_populate_raw_post_dataと
いう項目が存在しません。
追加して書いてもよろしいでしょうか?
データベースにある得点のランキングを作ろうと
してましてそのランキングに対して順位をつけるには
上位からカウントすればいいんですが同じ点数があった
時の処理の方法がわかっておりません。ご教授して
いただければうれしいです
396 :
bloom :03/04/22 10:26 ID:+bjLBjB/
397 :
nobodyさん :03/04/22 14:14 ID:XwTWu/DF
always_populate_raw_post_dataを追加することに よりPOSTでもGETでも読み込めるようになりました。 今データベースの値の最大値を取得する構文を考えて います。MySQLのコマンドプロンプトからでは select max(SCORE) from rankで最大値が求められますが これをPHPから取得するにはどうのようにするのでしょうか?
>>397 mysql_connect()
mysql_select_db()
mysql_query()
mysql_fetch_***()
マニュアル嫁
399 :
bloom :03/04/22 14:27 ID:+bjLBjB/
400 :
nobodyさん :03/04/22 14:45 ID:XwTWu/DF
データの更新追加などはわかるんです。 SQLでMAXとかCOUNTとか の結果を取得方法がわからないんです。
402 :
nobodyさん :03/04/22 15:15 ID:XwTWu/DF
>>401 よくみてるんですがね。今のところ
$TOP=mysql_query("select max(SCORE) from rank");
$TOP=mysql_fetch_object($TOP);
print_r($TOP);
という構文で
stdClass Object ( [max(SCORE)] => 15 )
と最大の15はとりだせてるのですが
欲しい値は15だけですからsplitを
つかって分解しないといけないんですかね。
もっとスマートなやり方があるとは思いますが。
>>402 $max=mysql_fetch_row($TOP);
echo $max[0];
とか?
>>402 $TOP=mysql_query("select max(SCORE) as max from rank");
$TOP=mysql_fetch_object($TOP);
echo $TOP->max;
もしくは、
$TOP=mysql_query("select max(SCORE) as max from rank");
$TOP=mysql_fetch_array($TOP);
echo $TOP['max'];
あるいは、
>>403
405 :
nobodyさん :03/04/22 15:34 ID:XwTWu/DF
>>403 すごいすごい、やっと表示できました。
これで先にすすめることができる。
ありがとうございます。
次の目標的にはPOSTで送られてきた
データが現在何位という表示をさせることです。
また、時間かかりそう
406 :
nobodyさん :03/04/22 22:32 ID:tN1GJC+t
PHPに直接アクセスするとトップへ転送させ、トップからリンクをたどって そのPHPファイルにたどり着かせることは可能でしょうか? HTTP_REFERERを使うというところまではご教授してもらったのですが だんだんずれてきたんで移動してきました。 ご教授ください
>>406 CGIのやり方は見つけたらしいから、それと同じやり方でいいよ
・AAAA ・BBBB ・CCCC とあり、AAAAをクリックすると ・AAAA 内容内容内容内容内容 内容内容内容内容内容 ・BBBB ・CCCC さらにCCCCをクリックすると ・AAAA 内容内容内容内容内容 内容内容内容内容内容 ・BBBB ・CCCC 内容内容内容内容内容 内容内容内容内容内容 となり、AAAAをクリックすると ・AAAA ・BBBB ・CCCC 内容内容内容内容内容 内容内容内容内容内容 となるPHP教えてください。 javascriptで可能ですが、できるならばPHPで、と思っての質問です。
PHPでやるならクリックする度にサーバに接続するけどいいの? <a href="myself.php?flag_a=on&flag_b=off&flag_c=off">AAAA</a>って感じでフラグ付きで呼び出して、 myself.phpではflag_aの値をチェックして、 <a href="myself.php?flag_a=off&flag_b=off&flag_c=off>AAAA</a>を生成。 これをBBBB,CCCCに対しても行う。 DDDDが出てきた時に面倒だと感じたらもっとキレイなやり方を次に考えてみる
>javascriptで可能ですが、できるならばPHPで、と思っての質問です。 アホ
412 :
質問さん :03/04/23 22:53 ID:m9D4gJ4Y
あっあのう、まだPHP始めたばかりなのですが、 Perlであったqq();のような関数はPHPにはないのでしょうか? エスケープシーケンスで\"とかやるのはHTMLが見にくくなって嫌なのですが・・・。 よかったら誰か教えてくださいお願いします。。。
ないです
414 :
nobodyさん :03/04/23 23:48 ID:pKnrziPv
>412 ない(と思う)。 つかHTMLのクォートは''とシングルクォートでは駄目なの? 文法的にはどっちでも構わないから。 折れダブルクォートの変数展開も使わないで、基本的にドットで 結合するスタイルだから、エスケープがどうとかあんまり気になんない
>>412 変数が展開されないが、シングルで括るとか。
数行あるならヒアドキュメントにするとか。
416 :
nobodyさん :03/04/24 04:51 ID:vt0uN1CM
PHPのオブジェクトライフサイクルがわけわかめです。 データーベースの持続的接続ってどんな状態だ? CGI=リクエストごと サーブレット=常駐 PHP=KEEP_ALIVE が終了したらexit? なんでしょうか。PHP本を何冊も立ち読みしたけどわからない。 使用した感じではリクエストごとにdb切断されているように感じるのですが。
417 :
nobodyさん :03/04/24 04:54 ID:x2ip/9xn
>>416 httpdのchild process単位で接続と切断する感じ。
phpinfo()で何本持続的接続しているかわかる。
419 :
nobodyさん :03/04/24 06:52 ID:psTbw05H
質問させてください。 PHP + PHPLib でセッション管理しているのですが、 $sess->register() の部分で以下の警告がでます。 Warning: Unknown(): Your script possibly relies on a session side-effect which existed until PHP 4.2.3. Please be advised that the session extension does not consider global variables as a source of data, unless register_globals is enabled. You can disable this functionality and this warning by setting session.bug_compat_42 or session.bug_compat_warn to off, respectively. in Unknown on line 0 session.bug_compat_warn をOff にすれば警告が抑制されるのは わかるのですが、できれば警告がでないようにコーディングしたい と思っています。 この警告がでないようにコーディングすることはできるのでしょうか?
420 :
nobodyさん :03/04/24 16:23 ID:505S5lqZ
今MKDIRによる排他制御をつくってますが 何かの原因で異常終了してしまっていた場合に RMDIRしたいのですがOSがWinでどう 異常終了のシグナルを受け取ったらいいのでしょうか? Perlだと SIG{'TERM'} = $SIG{'PIPE'} = $SIG{'HUP'} = "sigexit"; sub sigexit { rmdir($lockdir); exit(1); } なやりかただとおもいますがPHPだとどうなるのですか?
セッションを使わずにheader( "Location: hogehoge.php" ) で移動した先のスクリプトにデータを渡す方法はありませんか?
423 :
nobodyさん :03/04/25 00:19 ID:n9QsKzvY
>422 Locationで指定するURIに?以降を付けて、 GETで渡すのは駄目?HTTPリダイレクションは ブラウザの動作に依存すると思うし、 実際にやったことないんだけど。 あとはファイルやDB等に書きこんでおいて、 それを先方で読み込むとか。同じサイト下の スクリプトならcookieという手もあるかな。 セッションを使わない=cookieは使わないという 意味かもしれぬが。
header("Location: 〜")はGETになるみたいだね。IE5.5@Win2k フォームからGET、POSTで渡すだけなら、フォーム自体のactionを変えるのもいいかも
425 :
422 :03/04/25 01:41 ID:rPJQ8b/F
変数や関数の名前の付け方がイマイチはっきりしません。 マンモス本見ても clasn HogeHogeFunction () { function printTableHeader() {} function IsPageChangeRequested() {} } のようにクラスのメンバ関数が大文字で始まってたり小文字で始まってたりします。
427 :
nobodyさん :03/04/26 00:32 ID:cOpB+yiK
428 :
426 :03/04/26 00:59 ID:hwQat90v
>>427 (´▽`)アリガトです。
こういうページ見つけられずにPHPのpear/にあるPHPとCODING STANDARDSを参考にしてました。
最初に
/* vim: set expandtab tabstop=4 shiftwidth=4: */
っていうのはがあって、これってviで何かのオプションを指定すると4個スペースタブで開けてくれるんだろうか?
とか関数の
/**
* Create a new DB connection object for the specified database
* type
*
* @param string $type database type, for example "mysql"
*
* @return mixed a newly created DB object, or a DB error code on
* error
*
* access public
*/
こういう統一されたコメントとかってソース読み込んでドキュメント化してくれるツールがあるんだろうなあと、
今はわからず、とりあえず真似てかいてます。
突然の質問、失礼します。 フォームに書き込まれた内容とホストをログファイルに書き込む方法を教えていただけませんでしょうか? どうか、お願い致します。
>>429 初心者とそれ未満は明確に区別/差別される。
431 :
nobodyさん :03/04/26 14:57 ID:hwQat90v
index.htmlというトップページにダイナミックコンテンツを埋め込みたいと思い、 PHPが実行可能になるように.htaccessファイルにAddTypeを記述して、PHPが実行されるようになりました。 そうすると以下のディレクトリ全てにこの設定が適用されてしまいます。 ”そのディレクトリだけ”(以下は含まない)にするにはどうすればいいでしょうか?
やってないので適当だが、 <Files index.html> AddType 〜 </Files> でどうだ?
>>432 それってindex.htmlという名前全てに適用されると思ってました。
やってみます。ありがとう。
>>432 駄目でした。
以下のディレクトリの全index.htmlでタイプが変更されてしまいました。
>434 ファイル名をPATH付きで書いて、他の"index.html"にマッチしないようにしたら?
<Location>てのもある
437 :
435 :03/04/26 16:00 ID:???
<Files>ディレクティブの説明みてみたけど、パス付きの指定は出来ないかも。 だとしたら、下位ディレクトリ毎に.htaccess置いて上位の指定を打ち消すかかね。
438 :
434 :03/04/26 16:00 ID:???
やっぱり駄目でした。 <Files /usr/local/apache/htdpocs/index.html> AddTyoe </Files> これでも駄目だし、パスの部分を/index.htmlに変えてもも駄目。 <Files>を<Location>に変えてもうまくいきませんでした。
439 :
435 :03/04/26 16:20 ID:???
>>439 どうもす。けど、そのスレ初心者向きじゃないので書き込み躊躇してます。
こういう方法で誤魔化そうかとも思ってます。
<frameset rows="100%,*"" frameborder="NO" border="0" framespacing="0">
<frame src="index.php">
<frame src="dummy.html">
</frameset>
PHPでエラーが起きたときにエラーメッセージを出さずに、 「サーバーメンテナンス作業中です。しばらくお待ちください」 って出すことってできるのでしょうか?
echo "サーバーメンテナンス作業中です。しばらくお待ちください";
>>441 apacheってエラーコードごとに表示するページって設定できなかったっけか?
444 :
キッチン排他@職場 :03/04/28 00:43 ID:Zm4ixUay
>>440 DirectoryIndex index.php index.html
ってのは、どうでしょうか?
URLは、/止めにしないと駄目ですけど。
保守 PHPに関するアホな質問はここでやれ。今回からMySQLも受付開始。 アホな質問であっても詳しく質問すること。
446 :
nobodyさん :03/04/28 02:19 ID:Sq8FYfsY
448 :
動画直リン :03/04/28 02:29 ID:uuOaaVb8
449 :
初心子 :03/04/28 09:37 ID:NNGjuzbA
データベースの操作の際に While ($row = mysql_fetch_array ($int_result)) { $hoge[] = $row['hoge']; $moge[] = $row['moge']; } ↑のような感じで $フィールド名[レコード番号] にしているんですが $data[フィールド名][レコード番号] という感じで二次元配列にしたい場合には どうしたら良いのでしょうか?
450 :
nobodyさん :03/04/28 10:32 ID:6M2G463M
linux板で聞けとか怒られそうなのですが質問させてください。
ある時間になるとPHPスクリプトを走らせたいのですが、
cronでブラウザ(mozilla等)を起動し、phpファイルを走らせようと安易に考え
下記のような感じでcrontabを書きましたが、その時間になっても実行されません。
17 * * * * mozilla
http://*******.php &
(毎時間17分に******.phpを実行)
どのような方法でphpスクリプトの自動実行を行ったほうがよいのですか?
教えてください。
>450 どっかで、外サバからつついてくれる無料サービス見た。
>>450 cron から mozilla を起動しようとするその発想に桃の木
456 :
nobodyさん :03/04/28 15:19 ID:6s4F0ZI3
IISでPHP 4.3.1(Win32)のISAPI版をインストールしたんですが、 フォームから入力した値をphpに渡そうとすると 変数が空になってしまうのですが何か設定が悪いんでしょうか? こんな現象ないですか?
phpinfo();
>>456 あんたの頭がglobal_register
459 :
456 :03/04/28 15:49 ID:6s4F0ZI3
phpinfo();はフツーに表示されます。 XOOPSもちゃんと動いてんだけどなあ・・・ 単純にフォームからphpに値を渡すスクリプト書いただけなのに うまくいかないんだよ。謎
461 :
456 :03/04/28 15:55 ID:???
>>460 <?php
phpinfo();
?>
463 :
456 :03/04/28 15:59 ID:6s4F0ZI3
464 :
456 :03/04/28 16:02 ID:6s4F0ZI3
あ、php4つかってるから.php3は.phpに直した
466 :
456 :03/04/28 16:22 ID:6s4F0ZI3
>>465 おおお、ありがとう!おかげでどうにか動きました。
この設定、4.2.0以降はデフォルトでoffになってるのネ
前にちょっとPHP触ったとき特に意識しないで動いたから
今思えば4.1.xだったのかも。
とにかくひとつ勉強になりました。ありがとう!
phpinfo(); だけだと不親切だったか... フォームの値を受け取るスクリプトにphpinfo()を付け足すと、 値が渡ってるか・どんな変数に入ってるか分かる。
468 :
456 :03/04/28 16:25 ID:???
469 :
bloom :03/04/28 16:29 ID:uuOaaVb8
470 :
nobodyさん :03/04/28 16:33 ID:GydV7ttx
$A = "abc,123"; となっていた場合、「abc」と「123」で分けるにはどうすればよろしいですか?
471 :
456 :03/04/28 16:39 ID:???
473 :
470 :03/04/28 18:30 ID:???
>>471 >>472 どうも、ありがとうございました。
ちなみに、「うる覚え」ではなく「うろ覚え」だったりします。
2chで揚ゲアシっても
>>474 わざとやってるならほほえましいんだが素だろ?思いっきり。
マジレスしなくっても
477 :
nobodyさん :03/04/29 03:49 ID:i4frFXuJ
apache2にPHPをインストールしようとしてるんだけど、うまくいきません。1.x系でつけてた--with-apxと--with-apacheの2つに相当するものが 1つしかないようです。 FreeBSDでPHP5.0aです。よろしく。 --with-javaと--with-mysqlと--with-pgsqlと--with-glibと は最低限、つけたいです。 あと、なんでPHPに--with-fast-cgiなんていうオプションがあるんですか?
479 :
nobodyさん :03/04/29 14:54 ID:rtB47Uuv
GETクエリーで投げられた日本語をSJISで表示したいのですが、 どこがだめぽですか? <?php mb_http_output("SJIS"); $s = $_GET["str"]; $s = mb_convert_encoding($s,"SJIS","auto"); echo("<HTML><HEAD><meta http-equiv=Content-Type content=\"text/html; charset=SHIFT_JIS\"><TITLE>SJIS</TITLE></HEAD>"); echo($s . "<br>"); echo("</BODY></HTML>"); ?>
20代OLです毎日上司のセクハラや通勤電車での痴漢でストレスがたまっていた
そのときにネットで見つけたアダルトDVDショップ以前からオナニー用にDVD
が欲しかったのですぐ注文しました、とても安くてびっくりしましたが次の日には
もう届きました私が買ったのは、オナニー、レズ、レイプです毎日オナニーしてま
す。
http://www.net-de-dvd.com/
481 :
479 :03/04/29 15:46 ID:rtB47Uuv
ちなみに表\示と表示されます。
483 :
nobodyさん :03/04/29 16:20 ID:jJU3HZE7
すごい房な質問させて下さい。
Win2000サーバー+IISでPHPが使える様にしたいんです。
最初はマニュアルページ
(
http://www.php.net/manual/ja/ )
のインストールの項を参照してたんですけど、ワケ分からないので
All About Japanの「IIS + PHP + MySQLの環境でWEB+DBプログラミング」という項
(
http://allabout.co.jp/computer/database/closeup/CU20020928/index.htm )
を参照し始めました。
ですが肝心のインストール解説が「Apache+PHPの項を参考にし〜」と、省略されてしまっているのです。
具体的には
1.doc_rootを指定するパスはIISの入っているフォルダを指定すればいいのですか?
(Apache仕様の例文ではC:/Program Files/Apache Group/Apache/htdocsとなっています)
2.その他のinclude_pathやextension_dirのパスは、例文通りで問題無いでしょうか?
(回答したファイル等は、全て教科書通りの場所に置いています)
初歩的な質問ですが、どうかご教授下さい。
484 :
bloom :03/04/29 16:29 ID:23csOg+c
485 :
385 :03/04/29 17:10 ID:???
>484
1.doc_rootは「
http://localhost/ 」とした時に表示される
コンテンツが置かれている場所。
デフォルトだと実ディレクトリで「c:\InetPub\wwwroot」とかその辺。
#つか、その参照記事文中「PHPプログラムの配置」にちらっと書いてあるな
2.include_pathとextension_dirは記事内容どおりで良いでしょう。
ただinclude_pathのPEARの置き場所は最近のPHPを使う場合だと違うかも。
#今のPEARインストーラのデフォルトインストール場所ってどこだっけ?
記事のバージョン(4.2.3になってるけど日本語関係にバグがあるので、
まずは前の4.2.2で慣れて、最終的には4.3系にしましょう)なら、そのままでOK
#Apache + PHP + MySQL編は解説がPHP4.3.1を使ったものに書き換わっているので
混同しないように
また、c:\php\includes、c:\php\pearがないなら作っておく
「include_path = ".;c:\php\includes;c:\php\pear"」と
頭に「.」を入れてカレントディレクトリも含ませる。
最近はOKかと思うけど、前はinclude_pathに限っては「\」と「/」が等価じゃなかった
#気もするんで、その辺はphp.ini-dist内のコメントを参照
486 :
nobodyさん :03/04/29 21:14 ID:rtB47Uuv
>482 スマソ。あれこれ悩みましたがやぱり分からないです。 UTF-8でも同じようになります。鬱
488 :
nobodyさん :03/04/29 22:16 ID:rtB47Uuv
>>487 レンタル鯖なんですが、
ひょっとしてスクリプトごとの設定変更って付加ですか?
489 :
488 :03/04/29 22:32 ID:rtB47Uuv
ヤターーーーー! stripslashesでデキターヨ。 ありがとーーー!
よかっがね
491 :
nobodyさん :03/04/30 00:18 ID:zAli2vhE
$id = "ccc";$pass = "ddd";$file = file("abc.dat");$a = 0; /* $id、$passが空の場合の動作などは省略 */ for ($i=0; $i<=15; $i++) { list($id_a,$pass_a) = explode(",", $file[$i]); if($id == $id_a) { if ($pass == $pass_a){ $a = 1; break; } else{ $a = 2; break; } } } if ($a == 1) { print"OK<br>"; } elseif ($a == 2){ print"error1<br>"; } else { print"error2<br>"; } -- こんなスクリプトで、abc.datの内容は「aaa,bbb(改行)ccc,ddd」なんですが、実行してみると「error1」が表示されます。 「error1」が表示される原因は「$pass == $pass_a」になっていないからと思いますが、試しに最後に「print"$pass $pass_a";」と書いてみると同じです(「ddd ddd」と表示される)。 WinXP+AnHTTPD+php-4.3.1で、CGIとして実行させています。文字コードはEUC、LFです。 原因がわかりません。教えていただけませんか?
何をしたいのか分からないけど、処理のされ方はこういう感じになるよ。 if ($pass == $pass_a) 違うのでelseに分岐 $aに2を代入 break(つまりfor文から脱出) 期待する動作はどういう物なの?
つかid,pass判定は、次の感じでいいんじゃないかな。 foreach($file as $value){ list($id_a,$pass_a) = explode(",",$value); if($id == $id_a && $pass == $pass_a){ // id,pass OK $a = 1; } } $a=1 -> id,pass OK $a=0 -> id,pass NG (元のスクリプトでは0,2の区別の必要が無い)
494 :
491 :03/04/30 00:47 ID:???
失礼しました。 最初の $id = "ccc";$pass = "ddd"; の部分は、後で $id = $HTTP_POST_VARS['id'];$pass = $HTTP_POST_VARS['pass']; として、IDとPASSが一致すれば特定のメッセージを表示させる、というようなスクリプトを作りたいのです。 しかし、PASSが正しい($pass == $pass_aになっているはず)なのに、間違っていると表示されるので困っているわけです。
ダメじゃん>オレ file()は改行コードも含むからchop
496 :
nobodyさん :03/04/30 00:58 ID:zAli2vhE
>>493 >>495 どうもです。
「ID」が存在しない場合とPASSが間違っている場合のエラーメッセージを分けたかったので
>>491 のようなスクリプトにしてみました。foreach()についてはまだ学んでいないのでマニュアルを読んでおきます。
それと、図々しいかもしれませんが、今後のためにも
>>491 で「$pass == $pass_a」にならない原因を教えていただけませんか?
スクリプトとタグの違いって何? 教えてくれ
一応age
>>497 突っ込みどころはあると思うが
programming language と markup language
でとりあえずよしとしてくれ。
保守 PHPに関するアホな質問はここでやれ。今回からMySQLも受付開始。 アホな質問であっても詳しく質問すること。
503 :
nobodyさん :03/04/30 14:46 ID:hhGquZNb
お知恵を拝借させてください。 現在、メールの自動配信プログラムを作っています。 メールのリストをブラウザ上からアップして そのリストのアドレスに、メールを配信するという仕組みなのですが 送信途中にブラウザを閉じても、リストのアドレスに送信し続けるという風にしたいのです。 自動実行の方法をご教授をお願いします。 環境は OS:RedHat8.0 PHP:4.3.0 です。
cron
505 :
503 :03/04/30 17:38 ID:???
506 :
483 :03/04/30 17:48 ID:+a0JzmAr
>485さん これって僕の質問への回答ですよね? 有難うございます。早速試してみます。
507 :
nobodyさん :03/04/30 23:07 ID:P95jhDug
レッツPHPさんのショートメッセージにクッキー機能を持たせたいんですが、うまくできません。 setcookie()というのを使うって聞いて調べたんですが、意味がわからなかったんです。 誰か埋め込み方を教えてください。
509 :
nobodyさん :03/05/01 10:41 ID:CkAdoVLU
>>509 そのサイトに行ってダウンロードして動作確認して改造して動作確認して報告
が要望だったら、ごめんよ。
512 :
nobodyさん :03/05/01 14:26 ID:CkAdoVLU
>>508 です。
ヘッダーの前に
<?
$name=$_POST[name];
$submit = $_POST[submit];
if($submit =="send"){
setcookie("name",$name,time() + 3600 * 24);
}
?>
を入れて、
フォームの名前の所を
<input type="text" name="name" value=<? print $_COOKIE["name"]; ?>>
にしてみたんですが、これでは駄目なんでしょうか?
513 :
nobodyさん :03/05/01 20:49 ID:5peFU9Qe
PATH_INFO が取れません…。
http://.../phpinfo.php/hoge/fuga のようにしてアクセスすると
なぜか 404 Not Found が返ってきて、そもそもスクリプトが実行されません。
なお、PHP スクリプトではなく、以下のような CGI だと、404 にならず
ふつーに実行されて PATH_INFO に /hoge/fuga が格納されてます。
#!/bin/sh
echo "content-type: text/plain"
echo ""
/usr/bin/env
FreeBSD 4.6.2, Apache 2.0.45, mod_php 4.3.1
$name=$_POST[name]; $submit = $_POST[submit];
515 :
動画直リン :03/05/01 21:10 ID:YcBKOzoM
516 :
nobodyさん :03/05/01 22:29 ID:ExS9FhJw
>>512 ここも514と同じ理由
<input type="text" name="name" value=<? print $_COOKIE["name"]; ?>>
まあhtmlだし、元のプログラムも「ケータイ向けに極力省いた設計」と好意的に解釈しときますが。
あと
inputエレメントで、name="submit"のvalueはちゃんと"send"に変えたか?とか。
提示したソースのスペースが「全角」になってるが本当に全角のまま?だとか。
「ヘッダーの前に」とあるが、ヘッダーの書き出しは元のプログラムではやってないので、
1行目から「<?〜」と書いているか(前に空行、空白も一切入れてはいけない)?とか
小言的には、PHPの部分はも少し見やすくインデントやスペース入れた方が
バグを見つけやすいよ等。
全角のスペースは2chのカキコだから態々変えてある可能性の方が高いのかな
518 :
nobodyさん :03/05/01 23:00 ID:CkAdoVLU
>>512 です。
ごめんなさい。
なんだかよくわからないまま、もう一度最初から打ち直したら
出来ました。
なんだったんだろう?って感じです。
アホな質問ばっかりして、ご迷惑おかけして申し訳ありませんでした。
そして、ありがとうございました!
519 :
bloom :03/05/01 23:10 ID:YcBKOzoM
520 :
__ :03/05/01 23:10 ID:???
521 :
513 :03/05/02 06:55 ID:???
自己解決。 .htaccess に AcceptPathInfo On を追加でおっけー。
WinXP+anhttpd でPHPのローカルテストしています。 ob_start("ob_gzhandler") で gzip圧縮転送をすると output handler 'ob_gzhandler' cannot be used twice in Unknown on line 0 と出てくるのですが、これを解消するには設定をどうすれば良いのでしょうか? ちなみに、レンタルしているサーバでは問題なく使えました。
used twice が気になる
>522 既に転送にgzip圧縮が掛かってるんじゃないの
526 :
nobodyさん :03/05/04 16:21 ID:3owbYBod
Warning: Failed opening '/usr/local/apache/htdocs/test.php' for inclusion (include_path='.:/usr/local/lib/php') in Unknown on line 0 が表示された場合、 /usr/local/lib/php をどうしろという事なのでしょうか?
>>526 test.php にあるincludeかrequireで指定しているファイルが開けないって
ことじゃないかな。
528 :
nobodyさん :03/05/05 19:04 ID:YEYtIxk2
win2k+IIS+PHP4です。 PHPでパスを指定するとディレクトリ一覧できるスクリプトを作り、 外部ネットワークからWEB経由(IUSR)で実行してみたところ C:\まで見ることができてしまいました。 これはマシンのユーザ権限の設定の問題なのでしょうか? #以前に勉強のために色々と触った記憶があるので。。。 どうかご教示ください。
529 :
nobodyさん :03/05/05 21:51 ID:7oJbARiK
eregiで<title></title>の間の文字列を抜き出したいのだが 「<」「>」はエスケープするのですか? 今、下のようにエスケープしてるんだけど、正規表現に詳しい人教えてください。 eregi("(\<title\>)(.+)(\</title\>)", $contents, $regs)
530 :
_ :03/05/05 21:59 ID:???
>>529 これじゃアカンかな
$title = "<title>タイトル</title>";
$title_in = eregi_replace("<title>|</title>", "", $title);
改行コードやタブもパターンに含めれば万事Okay(゚∀゚)?
532 :
nobodyさん :03/05/06 16:16 ID:5y+8LJ/Y
大変申し訳ないが、厨な俺に教えてください。 会社命令でphp+MySQLでwebデータベースを作成しております。 現在mysql_fetch_arrayで取得したデータを表形式で表示しております。 今度は、表示されているそれぞれのデータ番号を変数にして別のphpファイルにアンカータグで 受け渡せるようにしたいのですが、クエリ文字列がうまく作成できません。 どうか、クエリ文字列を作成する際の注意点をアドバイスください。 以下が、書籍を参考に書いたコードです。<td><tr>は略してあります。 $result = mysql_query("select * from toarutbl inner join betsunotbl using(hinmeiID) where jouken = '$A'"); echo "<h2>".$A."検索結果</h2>", for ($i = 0; $i < mysql_num_fields($result); $i++) { print "<td>".mysql_field_name($result,$i)."</td>"; } print "</tr>\n"; while ($row = mysql_fetch_row($result)) { //クエリ文字列を作成(しているつもり) $query=""; for($i = 0; $i < count($row); $i++) { $work = strtr($row[$i],"+","*"); $work = htmlspecialchars(urlencode($work)); $query .= "$i=$work"; if ($i <count($row) - 1) { $query .= "&"; } } //データを表示 foreach ($row as $key => $value) { if ($key == 0) { print '<td><a href="uketoru.php'.$query.'"></a></td>'; } 以下略;
533 :
532 :03/05/06 16:19 ID:5y+8LJ/Y
><td><tr>は略してあります。 訂正 <td><tr>は所々端折ってあります。
534 :
nobodyさん :03/05/06 19:28 ID:IammjTXD
皆さん、お世話になります。m(_ _;)m 実はPHPを始めたばかりなのですが、良いエディタを捜しています。 PHP Coder が環境も良く気に入ったのですが日本語が使えないようで・・・ PHP Coder みたいで日本語が使えるエディタは無いものでしょうか?
>>534 PHP Coder って知らんのだけど、それが気に入っているのならそれを使えば?
ソースコードには日本語は埋めない。すべて定義ファイルに追い出して、それだけは
ノートパッドでも使っとけ。コメントも英文でがまん汁。
きっときれいなコードを書けるようになるよ。(w
Winでのエディタの話は良く出るけど、いまのところこれだっていうのは無いような。 漏れは Emeditor と Wordpad で十分足りてる。
>>534 webstudio最強だけど、小回りがきく秀丸が最強かな。
あとxyzzy最強かも初心者向きではないかな。
540 :
529 :03/05/07 02:06 ID:???
eregにて「<」のエスケープは無くても大丈夫なのはわかりました。
しかし例えば下のようなhtmlファイルを
eregi("(<title>)(.*)(</title>)", $contents, $regs)で処理すると
<head>の<title>から<pre>の</title>まで$reg[2]がマッチする。
これを最初の<title></title>だけにマッチさせるのに悩んで・・・
--------------------
<head>
<titel>・・・・</title>
</head>
<body>
<pre>
<titel>・・・・</title>
</pre>
--------------------
最初の</title>までの文字列を切り出して、それをeregするのがいい?
>>539 strip_tags ( $html_file, '<title>')
この後はまだ考え中。
>>534 なかなかべんりなエディターですね。
いわゆる統合環境ってやつに近いですね。
要は文字化けのことだと思いますが、
[view] → [Preferences and Setting Editor] → [Font]でMSゴシックを選んでください。
これで使えます。
542 :
nobodyさん :03/05/07 12:15 ID:RMVP7Nqr
PHPはおろかプログラムすらやったことのない初心者なのですが これから始めるのにちょうどいい(わかりやすい)参考書を教えてくだたい
543 :
nobodyさん :03/05/07 12:27 ID:lrCvKE6+
>>542 とにかく「入門」ていうタイトルの付いたものを手当たり次第に読んでみることをおすすめする。
図書館で借りればいいしね。542が1冊で事足りるほど優れた勘を持っているなら別だが(笑)
「プログラムはなぜ動くのか」でも読んでみたら〜。
545 :
nobodyさん :03/05/07 14:27 ID:glM3Z8EZ
あるページから別のページに変数というかレコードセットの内容を 渡したいんですがどうしたらいいでしょう? POSTとして渡すのでしょうか・・・? よろしくお願いします。
546 :
nobodyさん :03/05/07 14:30 ID:X8wXd201
eregにこだわることも無いと思うが、、。 > preg_match()は、pattern がマッチした回数を返します。これは、0回(マッチせず)または1回となり ます。 > これは、最初にマッチした時点でpreg_match() は検索を止めるためです。逆にpreg_match_all()は、
あと、図書館で手に取った本が古いとphp4で動かないサンプルがあるから気をつけたほうがいいかも。 このスレでも html から name="abc" というデータをPOSTで受け取ったが、スクリプト側で $abc に値が 入らないがどうなっているのか、みたいな質問がまだたまに出る。
>>545 「別のページ」というのは同じサーバ上のPHPにおいて
PHPスクリプトからPHPスクリプトに生成されるページへということか?
「レコードセット」とは具体的に?オブジェクト渡ししたいの?
551 :
540 :03/05/08 01:06 ID:???
553 :
nobodyさん :03/05/08 16:02 ID:Vw40gYk0
aaa bbb ccc というファイルの「bbb」を「ddd」に書き換えるにはどうすればいいんですか?
554 :
nobodyさん :03/05/08 16:03 ID:e+HlbsEV
556 :
553 :03/05/08 17:10 ID:???
>>555 $fp = fopen("ファイル・ネーム","モード");
書き込み処理
fclose($fp); //ファイルを閉じる
ですよね?
ファイル・ポインタを移動させるためにfseekというのを使うらしいですが、ここらへんがよくわかりません。
r+で開いてfgetsしてからfwrite
perlのcgiファイルをincludeして表示させると ソースがそのまま表示されてしまうんですけど、 cgiにprintさせたものだけincludeするにはどうしたらいいんでしょーか。
>>553 $input_file = ooooo.txt
$fp = fopen("$input_file", "r+");
$contents = fread($fp, filesize($input_file); // 注
$result = str_replace("bbb", "ddd", $contents);
//fseek($fp, 0);
fwrite($fp, $result);
fclose($fp);
fopenのモードはこれで良かった?
560 :
558 :03/05/08 19:38 ID:???
自己解決。 絶対パスで書いたらでけました。
>>556 fseekはポインタを「任意」の位置に動かす場合に必要。
件のはbbbがいつも同じ位置にくるなら使っても良いが、
bbbな所を調べながらファイルを読み出すなら使う必要はないよ。
fgets/fgetcなどで読んだ場合には勝手にポインタは移動するから。
562 :
nobodyさん :03/05/09 04:31 ID:q+lWwzA4
質問させてください。 POSTメソッドで送信されたデータの、HTTPボディ部分を 丸ごと取得する方法を教えてください。 $_POSTだと、正しくURLエンコードされたHTTPボディしか 取得できないようです。 URLエンコードされていないHTTPボディを丸ごと受け取る にはどのようにしたらよいのでしょうか?
( URLエンコってブラウザがやってるんじゃないの ?
564 :
動画直リン :03/05/09 05:10 ID:X5KsRuJ+
565 :
_ :03/05/09 05:31 ID:???
566 :
_ :03/05/09 07:00 ID:???
567 :
_ :03/05/09 08:27 ID:???
568 :
_ :03/05/09 09:54 ID:???
569 :
545 :03/05/09 10:22 ID:gXqsEqpr
>>550 サーバは同じで別のphpスクリプトってことです。
たとえば1.phpから2.phpへみたいな。
レコードセットってのは複数行のクエリーの結果データです。
570 :
bloom :03/05/09 11:10 ID:X5KsRuJ+
571 :
nobodyさん :03/05/09 11:12 ID:OcFGGafo
質問です。 現在PHP4.3 + Postgres + Apacheでシステム開発を行ってます。 サーバで夜間バッチとある時間になると実行し、その処理レコード数をメールで 送信する機能を作るため、模索しているのですが、 メールをサーバから送信するのは簡単なのですが、サーバから処理レコード件数 データをクライアントで受け取り、それをクライアント側からメールの送信を行うといった場合 どのような実現方法があるでしょうか? 上記実現に関して具体的にわからないことを上げます。 ・サーバからクライアントへのデータの送信 ・クライアントでデータを受け取ったタイミングでのメール送信の実現(ぜんぜん具体的じゃない・・スミマセン) よろしくお願いします。
572 :
_ :03/05/09 11:20 ID:???
>>571 データ送信+リモート処理実行ってのは、HULFTっていう製品があるけど、
そもそもメール送信をサーバでやらないのは何か理由でもあるの?
574 :
_ :03/05/09 12:47 ID:???
>>562 > POSTメソッドで送信されたデータの、HTTPボディ部分
これがよく分からん。掲示板等のカキコのこと?
POSTの生データのことかな always_populate_raw_post_data On 常に$HTTP_RAW_POST_DATA変数にアクセス可能とします。
577 :
_ :03/05/09 14:14 ID:???
578 :
nobodyさん :03/05/09 14:23 ID:GKx3ACK2
php コマンドでデバッグしてるのですが、 $_GET["hogehoge"] のようなGETリクエストは php fugafuga.php '&hogehoge=abcdefg' などとして渡せることは出来たのですが、 $_POST["hogahoga"] などはどうやって php こまんどから 渡せば良いのでしょうか?
579 :
nobodyさん :03/05/09 15:02 ID:yI5v8g9d
580 :
bloom :03/05/09 15:10 ID:X5KsRuJ+
581 :
_ :03/05/09 15:40 ID:???
583 :
582 :03/05/09 15:54 ID:???
>>578 スマン、受け取り方かと思った。
渡し方は
<FORM METHOD=POST>
分るかな?
584 :
nobodyさん :03/05/09 16:08 ID:yI5v8g9d
585 :
nobodyさん :03/05/09 16:10 ID:DOx/7P3y
Win+php4.3なんですが $HTTP_USER_AGENTも$_SERVER[HTTP_USER_AGENT]も 空なんですけどナゼなんでしょう? browscap.iniがパッケージに入っていなかったので落としてきて exe と同じディレクトリに入れました。 php.ini へパスも書きました。コメントも外してあります。 でも取得できまへん。 他に何か設定しなくてはいけないんでしょうか?
586 :
nobodyさん :03/05/09 16:12 ID:GKx3ACK2
>>583 ありがとうございます。
ただ、そうではなくて、
php コマンドから渡したいのです。
php ファイル名.php "オプション"
のオプションの部分に POST の場合は何をいれれば
いいか悩んでいます。
>>585 phpinfo()でPHP Variablesの項目を見る。
_SERVER["HTTP_USER_AGENT"]を確認する。
>>586 GET POST はhttpのリクエストなのでコマンドラインなら
_SERVER["argv"]
を使うのがいいのでは。
589 :
585 :03/05/09 16:32 ID:???
>587 no value ですた。
590 :
585 :03/05/09 17:00 ID:???
>>587 間違えました。
在りませんでした。書かれていないです。
無いという事はどういう事になるんでしょう?
591 :
_ :03/05/09 17:07 ID:???
592 :
動画直リン :03/05/09 17:10 ID:X5KsRuJ+
593 :
585 :03/05/09 17:18 ID:???
度々すみません。 phpinfo()、PHP Coreの項目の browscap の欄が no value でした。 browscap = "c\php\browdcap.ini" このパスがおかしいんでしょうか?
594 :
585 :03/05/09 18:27 ID:???
phpinfo()にあるphp.iniの場所と今までイジってたphp.iniが違いました。
なぜか2つiniが・・・。
で、無事browscap.iniへパスが通りました。
それでもう一度USER_AGENT を見て見たんですが
やっぱし空でした。
http://www.cyscape.com/browscap/ のbrowscap.iniを使っています。
それにしてもナゼ USER_AGENT が取得できないんでしょうか?
>>594 securityソフトがブロックしているとか。
597 :
nobodyさん :03/05/09 22:48 ID:cYWQsRLc
他スレから回って来ました。 PHPに限らないと思うのですが、フォームの使い方で教えて下さい。 フレームを使っていないpage1.phpというページから、送信ボタンで page2.phpと言うフレームで2分割されたページへ飛びます。 page2.phplはupper.phpとlower.phpに分割されています。 page1では、<form method ="POST" action=page2.php>と記述していますが、 これですとフレーム内のupper.phpで値を受け取れません。 どうすれば良いでしょうか。 よろしくお願いします。
upper.phpに飛ばせば?
599 :
585 :03/05/10 00:21 ID:???
>>595-596 ソフトを使っていなくてもダメみたいです。
同じマシンに居るPerl の方では取得できてるんですが
phpには嫌われています。
単純に php.ini のbrowscap.ini へのパスが通っていれば
それだけで変数使えるんですよね?
600 :
597 :03/05/10 00:28 ID:ArOHW3nU
>>598 action=upper.php
と言う意味でしょうか?
それだとフレーム(page2.php)が表示されずにupperページ
だけが表示されてしまいますよね。
601 :
nobodyさん :03/05/10 00:39 ID:nfW3wtJt
http://www1.neweb.ne.jp/wb/prof/ 平成15年度 自作板PC環境調査 最新結果(一部抜粋)
◆4月分の結果が出ました。現在は5月分に移行しています。◆
平均年齢 25.4歳
ネット(2ch含) 78.7%
ゲーム 59.0%
Windows XP Family 46.9%
Windows 2000 Family 34.4%
Athlon 45.3%
Pentium 4 29.7%
平均RAM搭載容量 780MB
平均HDD搭載容量 166GB
nVIDIA 49.2%
ATI 28.9%
DVD-R/RW/マルチ 20.4%
CD-R/RW 75.9%
光ファイバー 8.3%
ADSL/xDSL 64.5%
CRT 74.6%
LCD 25.4%
>>600 そりゃそうだ。w
簡単なはなし
直にupperに渡そうとせずpage2からupperに値を渡せばいいんでないかい?
>>599 browscap.iniは関係ないだろ。
useragentはブラウザがはき出しているもの。
604 :
nobodyさん :03/05/10 05:18 ID:slH44eBp
>>576 >URLエンコードされていないHTTPボディを丸ごと受け取る
>にはどのようにしたらよいのでしょうか?
>>always_populate_raw_post_data On
>>常に$HTTP_RAW_POST_DATA変数にアクセス可能とします。
ご教授ありがとうございます。
しかし、自前のサーバではないためalways_populate_raw_post_data
をOnにできない環境でした。
どうすればPOSTデータを丸ごと取得できますでしょうか?
605 :
597 :03/05/10 09:38 ID:ArOHW3nU
>>602 フレームページpage2からupperへ値を渡すときは
どうすればいいのでしょう。
送信ボタンとかを押すわけじゃないのでformのPOSTじゃ
だめなんですよね。
urlの後ろに?を付けて引数で渡すとか言うやつかな、、、
もし何か他にも方法が有れば教えて下さい。
606 :
nobodyさん :03/05/10 10:12 ID:3dh7Drb/
なつかしい人や町をたずねてー きしゃをー降りてみーてもー
607 :
nobodyさん :03/05/10 11:20 ID:oFayvAL3
>urlの後ろに?を付けて引数で渡すとか言うやつかな、、、 まずは是をやってみて理解してごらん。 >もし何か他にも方法が有れば教えて下さい。 上のやり方を理解してからでも遅くはないから、まずは上のやり方やってみれ
>>605 <form action="upper" 中略 target="フレームのターゲット" >
でできません?
これでOK!! <form method="POST" action="session.php" action="session_alt.php"> </form>
610 :
597 :03/05/10 14:21 ID:ArOHW3nU
>>607 やってみます。ちょっと試してうまく行かなかったけど
多分やり方が悪いのでしょうね。
>>608 action="upper"ですとpage2全体を表示してくれないし、
action="page2" target="ターゲット" では渡せませんでした。
>>609 actionって2つ書けるのですか?
action=page2とaction=upperと両方書いてしまうのでしょうか。
取りあえずやってみます。
611 :
nobodyさん :03/05/10 16:38 ID:FObLwhHb
upper.php?渡したい変数=渡したい値 $受け取る変数=$_GET['渡したい変数'];
612 :
597 :03/05/11 10:01 ID:???
>>611 フレームの中に渡すのがまだうまく行きませんが、
基本は分かりました。ありがとうございます。
4.2.2で動くコードを4.3.1で動かしたらpreg_matchでマッチしていたものが マッチしなくなったんだけど何故?
>>613 どんなコードか書かなきゃわからんだろ…。
PCREの仕様が変わったとか、バグ修正されて挙動が変わったとか そんなことが無いのかと思ってコードは省略しますた。 if(preg_match("/title>(.*)<\/title/i", $contents, $regs)){ $title = $regs[1]; } else{ $title = "No Title"; } return $title; で、全部 No Title になる。
618 :
nobodyさん :03/05/11 19:20 ID:7pEqh6Cm
PHPとJSP勉強始めるならどちらがお得ですか? 将来的にFLASHと連動したショッピングサイトを作りたいです。
>>618 取りあえず好きな方で良いと思われ。この業界無駄な知識なんて無いわけで。
JSPの方が幾分敷居は高いけれど。
>615 4.3.1で動作確認。
>615 仕様変更なんてドキュメント読めばわかることだろ。 わけのわからんこといっとらんでデバッグ汁
>>620 ちゃんとマッチするってこと?それとも再現?
>>621 「代わりに読んでください」と言いたいが、
良い機会だし、みンなのデバッグ手法を紹介してくらさい。
ボクは echo, print_r 派です。
623 :
620 :03/05/12 00:17 ID:???
当たり前だけど、マッチしますた。616は漏れも分からん(´Д`) デバッグはif(debug) echo "$abc";でやって、完成したら全消し。 var_dumpは使ったことないな。 特定が面倒でエラー吐いた辺りを丸ごと書き換えることもしばしば(;´Д`) 今日もデバッグで、ようやく帰宅できるよー >「代わりに読んでください」と言いたい ぜひ死んでください preg_mにしろ.*にしろ完成されてるから仕様が変わるなんて考えられないけどね。
624 :
620 :03/05/12 00:18 ID:???
なにやってるんだ漏れは、脳が死にかけてるのか・・
>仕様が変わるなんて考えられないけどね。 そうよね。 preg_match ( string pattern, string subject [, array matches]) やっぱsubjectを見直すのが一番イイかな?文字コードの問題も考えられるし. --enable-mbregexは・・・
626 :
オムそば :03/05/12 03:54 ID:X9LLPZqe
├a └b a に iframe.html b に iframe001.html 〜 iframe010.html というフォルダ構成で、b にあるファイルの内ひとつをランダムで a にコピーして iframe.html で保存(上書き)するってスクリプトを 組みたいのですが、どういう風な感じでやればよいでしょうか?
ファイルシステム関数に copy()ってのがあるので、それでコピー。 ランダムは 数学関数のsrandとrandを使用。(mt_*てのもあるらしい)
628 :
オムそば@自宅 :03/05/12 08:36 ID:EKr3VP0U
>>627 Thanksです。
$randmin = 1;
$randmax = 10;
$randval = mt_rand("$randmin","$randmax");
$file = "./iframe".$randval.".html";
copy("$file","../b/iframe.html");
こういった感じでとりあえず出来たのですが、これだとファイル名を
iframe1.html 〜 iframe10.html といった感じにしないとダメですよね?
それだとローカルなどでフォルダを見た時に、ソートが変になってしまい
微妙に気になるのですが、何か良い方法はありませんか?
mt_rand() を使ったのは、こっちの方が高速に処理するみたいな事が
マニュアルに書いてあったので、使用してますが問題は無いですか?
あと、srand()の使い方がいまいち理解できなかったので、使ってないんですが、
問題なく動いているようなので、OKですよね・・・
mt_srand()つかわないと、連続試行したとき結果がいつも同じにならない? 自動でやってくれるという話は聞いたことないけど、、 ソートが変になるってのはどういうことか分かんないが、こんなようなことかな。 if ( strlen($randval) < 2 ) $randval = "0" . $randval ; //型キャスト必要? もしくは、 $randval = str_pad ( $randval, 2, "0", STR_PAD_LEFT ) ;
630 :
nobodyさん :03/05/12 10:11 ID:/i1zSYZ/
a.phpからb.phpに変数の値を渡したいとき、 セッションやPOSTを使わずに値を渡す方法ってありますか?
632 :
630 :03/05/12 10:18 ID:???
>>631 ありがとうございます。やっぱそれぐらいしか方法ないんですかね。
伝書鳩ってメール???
>>625 誤読ならすまんが。
enable-mbregexはpregじゃなくてeregだったような。
array("0"=>"hoge","1"=>""...); 上記のように必ず配列の先頭に値が入ってる状態で、 「もし配列(の中身)が空だったら」っていう上手い表現ってないでしょうか? 自分はin_array使って $keys = array_keys($wd); for($i=0; $i<=count($keys)-1; $i++){ $acv = (array_count_values($wd["keys[$i]"])); if(count($acv) == "2" and in_array("",$wd["keys[$i]"]) == "TRUE"){ unset($wd["keys[$i]"]); } } こんな風に書いてます。 $wdは連想配列のため$keysを使っています。
>>631 このおっさんの持ってる書籍はなんだろう?
636 :
nobodyさん :03/05/12 13:08 ID:c9lQiwrB
perlってできる事が多いね。 それにいっぱいモジュールがあるし サンプルもWeb上に沢山ある。 strictを使えば厄介な物でも楽チンに作れるし mod_perlを使えば異様に早くなる。 いい事ずくめだと思うんだが、なんでPHPなの? できない事が多すぎないか? 小学生でも理解できるから使うのか?
637 :
動画直リン :03/05/12 13:10 ID:lVcTJ8AZ
638 :
nobodyさん :03/05/12 16:30 ID:1fjsSv5H
質問します。 substr って1000文字以上ある文字は分割できないんでしょうか。 echo $a = substr($line , 1000 , 1); 1001文字目が出ない・・・んです。 初心者質問ですみません。
>638 いける。 $lineの1000byte付近をまとめて表示してみたら。 あんがい空だったりして。 あとは、マルチバイト文字でコケてるとか。
641 :
オムそば :03/05/12 22:22 ID:X9LLPZqe
>>629 thanksです。
> mt_srand()つかわないと、連続試行したとき結果がいつも同じにならない?
> 自動でやってくれるという話は聞いたことないけど、、
$randmin = 1;
$randmax = 100;
$randval = mt_rand("$randmin","$randmax");
$randval = str_pad( $randval, 3, "0", STR_PAD_LEFT ) ;
echo ( $randval );
上のスクリプトで、ページをリロードする度に違う数字が表示されていますが、
これって異常なんですかね。(汗
PHP 4.3.1 apache 1.3.27 OS Win98SE でテストしてます。
あと、これを一日一回指定した時間に動かしたいのですが、何か良い方法ありませんか?
スクリプトそのものを教えて頂くと大変楽ですし、助かるのですが、自分のスキル
アップに繋がりませんので、何かヒントのような形でお教え頂けますか?
わがまま&教えてくんで申し訳ありませんが、よろしくお願いします。
PHP 氏ねヴォケ
644 :
動画直リン :03/05/13 01:10 ID:rppJJuu/
645 :
nobodyさん :03/05/13 01:14 ID:1XrriwyU
>>641 すまん。4.2.0以降は、自動種付けがデフォルトになってた。
srand()はコールしなくてよくなってたよ。
> Changed rand() and mt_rand() to be seed automatically if srand() or mt_srand() has not
> been called. (Sterling)
自動実行は、unix系ならcron、win98だとタスクスケジューラだっけ。
いずれにしても、定時に実行てのはサーバ側の仕事なので、php単体では無理。
ナニが何でもPHPだ!! ていうなら、方法としては、ブラウザを立ち上げておいてrefreshタグで
一日一回スクリプトを読むか、タスクスケジューラで、一日一回コマンドラインから実行するか、
ログファイルを作っておいて、ユーザがアクセスしたときに、前回更新から一日以上たってたら
更新スクリプトを実行するというphpスクリプトを書くか、いずれかになるかと思う。
借りてるサーバなんかでやろうと思うと3つ目の方法がお勧め。
コマンドラインから実行する方法はマニュアルの
http://www.php.net/manual/ja/features.commandline.phpを 。
適当にphp_rotation.batとかいうファイルを作って、中に「C:\xxx\php.exe C:\xxx\rotation.php」と書く。
ほんでそのbatをスケジューラに登録すればOKだと思う。バッチファイル実行時のログをのこすとか細かいことは
自分でやって。エラーは自動タスクのログに記録されるはず。うちの環境(winxp admin権限)では一応稼動した。
647 :
オムそば@自宅 :03/05/13 09:58 ID:qXhuEACo
>>646 thanksです。
3つ目の方法だと、ユーザーがアクセスする度にスクリプトが動いてしまいますよね?
ページ自体の更新はなくても、サーバに負荷がかかると思うので避けたいです。
テスト環境はWinですが、実際に使うのはUNIXなので、cronについて調べたいと思います。
稼動テストまでして頂いてありがとうございました。
648 :
nobodyさん :03/05/15 16:56 ID:7Y8ZpJUB
質問です。 WinXP,IIS,PHP4.3.1にて、session_start()を実行すると、 open("セッションIDらしき文字列", O_RDWR) failed: No such file or directory とWarningが出るんですが、セッションを使用するにあたり何か設定が必要なんでしょうか?
php.ini のセッションの設定部分に書いてあったような無かったような・・・ 今Winじゃないので確認できないが、 セッションを使うためには セッション用のディレクトリを作成、そのディレクトリをphp.iniで指定。
>>648 これがでふぉ。
session.save_path = /tmp
651 :
648 :03/05/16 09:47 ID:UDsilOGp
>>650 レスありがとうです。
/tmpの中のファイルを探してたのはエラーメッセージからわかったから、
ドキュメントルートの直下にtmpってディレクトリ作って試したけど
ダメだったんですよね。
んで、今試しにそのphp.iniの指定を"c:\windows\temp"とか
DOS風の表記にしたらうまく行きました。ありがとうございます。
652 :
nobodyさん :03/05/16 10:26 ID:E+iXS/eK
653 :
_ :03/05/16 10:33 ID:???
654 :
田中 :03/05/16 12:31 ID:shMd76bE
655 :
:03/05/16 17:04 ID:TFQDITW8
sample.php?渡したい変数=渡したい値 で渡したい値を日本語にしたら文字化けするのですが・・・。 何かのコード変換をしてから渡したほうが良いのでしょうか?
656 :
nobodyさん :03/05/16 17:06 ID:747r2+6H
アレはonになってるかい?
657 :
:03/05/16 17:09 ID:TFQDITW8
アレってなにすか
658 :
nobodyさん :03/05/16 17:19 ID:747r2+6H
globalなんとか
659 :
:03/05/16 17:57 ID:ce7IpZdE
教えてほしいよ
660 :
nobodyさん :03/05/16 18:01 ID:747r2+6H
register_globalだ。
思い出した。
コレ、標準ではoffだから
>>655 の方法
は使えないっぽい。
セッションとか使おう。
661 :
:03/05/16 18:30 ID:iXERQEhI
セッションはどう使うのですか? 素人です。おながいします。
初心者が初心者に教えるスレですね
値は渡せているみたいだから、register_globalの問題ではないような… 「エンコード」「デコード」とかで検索したら、何か分かるかもよ。
>655 それは文字化けではない !!!!!!!!!!!!!!!!!! と断定してみる。
666get, zuzaa
667 :
nobodyさん :03/05/16 21:34 ID:4GEbEPL0
668 :
870 :03/05/16 22:13 ID:fyBqMN4b
>>664 だから文字ばけですって。
だれか受け渡し値に日本語(EUC−JP)使ってる人います?
アスキーコードに変換したほうがいいすか?
できれば出コードと円コードのコマンドも教えてほしいす。
>>668 フォームエンコード デコード でググれ
670 :
nobodyさん :03/05/16 22:43 ID:fyBqMN4b
フォームから入力されたデータが submit によってサーバーに送られる際、URL エンコードというエンコード方法によって符号化されています。 普段 PHP でプログラムを書いている際はエンコード/デコードが自動的に行われているので特に意識する必要はないのですが、フォームで渡されるべきデータを <a href="hoge.php3?fName=田中">田中さんの処理</a> というような形で指定したい場合があります。 しかし、URLの ? 以降に「-」「_」「.」を除く非英数文字やマルチバイト文字が含まれる場合、 URL エンコードしておかないといけないという決まりがあります。したがって、上記の記述は URL エンコードされていないため正しく処理されません。 そこで、この URL エンコード関数を用いて、「田中」という文字列を URL エンコードしてやる必要があります。 方法は簡単で、$str = rawurlencode("田中") で $str には「田中」を URL エンコードした結果が格納されます。
671 :
69 :03/05/17 16:15 ID:giUYFPUq
貴方のお財布は大丈夫ですか?「クーポン屋」ではビジネスパートナーを
募集しています。HPにバナーを貼るだけで稼げる。
http//www.c-gmf.com/index3.htm
http://www.c-gmf.com/index2.htm http://www.c-gmf.com/mail.htm ビジネスパートナー募集中。
オンライン申込後、郵送にて契約書を送ります。
キャッシュバック・年間契約成立後ビジネスパートナー様に
4000円差し上げます。ビジネス方法は直接営業もしくは間接営業
のどちらでも可能です。あなた専用の申込用紙orCGI申込を用意して
いますので安心してください。ビジネスについて、簡単なシステムであり、
バナーを貼るだけで稼げる。4000円×100件=40万円になります。
672 :
nobodyさん :03/05/19 05:48 ID:sM+JzukB
携帯絵文字を、PCで見た場合は画像に変換したいのですが、 参考になるページはありませんか? 単純に、絵文字の2バイトを画像のタグに置き換えるだけだと、 区切り間違って変換されることもありそうで、 そのあたりの処理が知りたいんです。
673 :
_ :03/05/19 07:04 ID:???
674 :
bloom :03/05/19 07:08 ID:IEVyzYan
>>672 同一ページでやらなきゃならないのかぁ。
ちょと眠いが、頑張ろう。 んーわからん。
表示させたい部分のhtmlを配列に全部入れて、携帯からのアクセスかPCからのアクセスかを判断して、
携帯ならそのままスルー。
PC向けには文字コードAAAAに対応させたAAAA.gifみたいなのを作っておいて
全行ループでeregi_replace()でimgタグに置き換え、みたいなことをすればいいのかな。
上に書いた'表示させたい部分'のは本文のみでもいいし、<html>から</html>まででもいいし。
本文だけだとページ更新あるたびにfor文の条件いじらなくちゃいけないので全部のほうがいいかもねぃ。
//ってキャリアはDocomoだと思って書いてみたんだが、絵文字コードってバイナリ入力?なのかぁ。 もし見当違いだったらすまそ。
677 :
676 :03/05/19 07:38 ID:???
ぐふぅ、すまん。 バイナリって、バイナリエディタで見るアレか。 全く見当違いにも程があるな。 でももしかしたらそんな関数があるかもしれんな。 しかしこんな記述方法もWebに使えるんだねぇ。 しらなんだ。
678 :
nobodyさん :03/05/19 08:17 ID:StH4KvGU
なんでわざわざ配列に入れるんだよ
生きているのが不思議なくらい支離滅裂
681 :
nobodyさん :03/05/21 20:27 ID:MwGyQR+Z
PHP初心者です。 自宅のPCをアパッチとPHP4.xをインストールして勉強しています。 テキストファイルの更新のプログラムを勉強してて、 $filename="tohoho.txt"; $fp=fopen($filename,"w"); //このflock();を使うとえらーがでてしまいます。 flock($fp,2); fput($fp,$_POST[coment]); flock($fp,3); fclose($fp); 以下省略、、、 flockをはずすとしっかり動作するんですが、flockをいれるとエラーがでてしまいます。 どなたかアドバイスお願いします。
>681 >自宅のPC flockが使えない環境かと。別の方法でロックを実現しる
このスレの質問者の、本家PHPマニュアルを読んでる率30%
684 :
山崎渉 :03/05/22 01:56 ID:???
━―━―━―━―━―━―━―━―━[JR山崎駅(^^)]━―━―━―━―━―━―━―━―━―
685 :
nobodyさん :03/05/22 02:11 ID:z7+gxK8V
「flock()」関数はUNIX系OS上でしか動作しないため!!
686 :
682 :03/05/22 02:12 ID:???
687 :
682 :03/05/22 02:25 ID:???
688 :
nobodyさん :03/05/22 05:45 ID:3qhNvpT7
open( LOCK, ">./lock/count.lock" );# ロック用のファイルを作る(※1) flock( LOCK, 2 );# ファイルをロックする open( COUNT, "./log/count.log" );# カウンターの値が入ったファイルを開く $count = <COUNT>;# カウンター値を読み出す close( COUNT );# カウンターファイルを閉じる $count++;# カウンターを+1する open( CTEMP, ">./log/count2.log" );# 更新したカウンタの値を別のファイルに一時的に書き出す(※2) print CTEMP $count; $ezcount = "";#カウントファイルの数字を絵文字に変換 for ($i = length($count) - 1; $i >= 0; $i --) { $n = int(substr($count, $i, 1)); if ($n == 0) { $ezcount = "<img localsrc=\"325\">" . $ezcount; } else { $ezcount = "<img localsrc=\"".(179+$n)."\">".$ezcount; } } close( CTEMP );# 一時的に書き出したファイルを閉じる(書き込み完了) rename( "./log/count2.log", "./log/count.log" );# 一時的に書き出したファイルを本来のファイル名にリネーム unlink( "./lock/count.lock" ); flock( LOCK, 8 ); close( LOCK ); これをPHPにしたいのですが…だれかお願いします!
氏ねよ
692 :
nobodyさん :03/05/22 13:02 ID:3qhNvpT7
693 :
動画直リン :03/05/22 13:08 ID:x2YZ4VCE
PHPの可変変数をつかって処理が効率化されてる実例って どんなものがありますか? 参考書やマニュアルでは、単に値が変数名になるだけの あまり意味のないサンプルしか提示されていないのでよく分か らないのですが、、。 あらかじめ、何種類かの変数を評価するIF文を書いておいて、 ある変数値が、可変変数名にセットされて初期化された場合に、 IFが動く、というようなことも考えたのですが、これは可変変数 を使わなくてもいいと思うわけです。 変数の値が変化するのに応じて、ダイナミックに変数を定義できるのが 可変変数化で、状況に応じて変動するファジー&ルーズなアルゴルを とれるのがメリットかと思っているのですが、そもそも変数の生成が 偶侑性をもっている状態で、プログラムはかけるんでしょうか。かけないと すれば、間違いなく存在するか存在しないかのどちらかが予期される 変数を使うことになるので、可変変数の意義はないようにも思えます。
695 :
梨 :03/05/22 14:34 ID:meYOXQTH
>>694 諸般の事情で配列が使えないFORMからの処理受付とかどう?
696 :
nobodyさん :03/05/22 14:49 ID:anlQKg/2
サーバーサイドプログラミングage
>688 PHPの中からPerlコールすればOK
梨ってMac系板でよく見たような・・気のせいか
Textareaからpostなりgetされたテキストを配列に入れるにはどうすればいいのん?
>699 逝って来い
>>700 だってわからないんだよおお
ついでに700オメ
改行があるごとに Array[0] ... [1] ... [2] ... って・・・どうすればいいんだろ・・・ヒントください、おながいしまつ
>701 name="arr[]" とすれば勝手に配列 $arr に入る。 でなきゃ $array[0] = $_POST['arr'] ; で代入しとけば。 >702 意味が分からん。 explode() の話じゃないのか。その"..."は一体なんだ。
ああ悪い。extract してないときは、name="arr[]" が入るんは$_POST下ね。 つまり $_POST['arr'] 。 foreach() で展開するなり。-> $_POST['arr'][0] 〜
>>703-704 すません、やっとこさ解決、ありがとう
html側のname="array[]"でも確かに配列だけど期待した配列じゃなかったんです(謎
foreachの使い方もよくわからないのでついでに勉強してきます(´A`)
結局、受け取ったデータ'c_pon'を
$post_array = split("\r\n|\n|\r", $_POST['c_pon']);
で期待通りのできますた(´A`)スレ汚しスンマソン、退場しまつ
しーぽんバラバラ殺人事件かよ そっちも解決しとけ
質問させて頂きます。 赤帽8.0+Apache1.3.27+PHP4.3.1、CLIで hoge.php <?php $date = "2003-05-23"; $hoge = (ereg ("([0-9]{4})-([0-9]{1,2})-([0-9]{1,2})", $date, $regs)); var_dump($hoge); ?> php -f ./hoge.php これを実行すると、int(10)って表示されるんだけど、仕様ですか? マニュアルには bool ereg ( string pattern, string string, array [regs]) となっていたので、eregの戻り値はTRUEorFALSEだと思っていたのですが…
>>707 > マニュアルには
> bool ereg ( string pattern, string string, array [regs])
> となっていたので
ダウト。
709 :
nobodyさん :03/05/23 18:03 ID:oujK57TO
それはそうと、なぜ php にデストラクタがないのか教えてください。
710 :
707 :03/05/23 18:08 ID:???
>708 どういうこと??
711 :
nobodyさん :03/05/23 19:50 ID:1xnUQK07
phpで閲覧者のブラウザがVBscript使用不可の場合(セキュリティが高など)に 空白ページへ飛ばす処理がしたいんですが
>>709 そりゃ、開発者に聞くなり、工夫するなり、5でもいじるなりして実。
713 :
nobodyさん :03/05/24 07:55 ID:GRJ2F7nP
>>707 以前ダウンロードしたマニュアルでは
int ereg ( string pattern, string string, array [regs])
です。
>711 VBScriptが「有効」な時に別なページに遷移では?
715 :
nobodyさん :03/05/25 01:56 ID:7+29mXBc
>712 それぞれのオプションに関連性がなく要領を得ないのですが、 具体的には何をおっしゃりたいのですか。
>>715 ただ未対応なだけだと思うけど。どうしたいの?
>717 -> >715
>>715 712が言ってる事わかるよ。712じゃないけど。
そもそも709は何をしりたいん?未対応じゃだめなん?
>720 探りを入れてるだけですよ。
ひくにひけず ぷ
724 :
j :03/05/26 08:43 ID:???
「PHP」、「ウィンドウサイズ」、「ブラウザ」、「取得」などで検索かけ たのですが見つかりせんでしたのでお尋ね致します。 PHPでブラウザのウィンドウサイズを取得する方法は無いでしょうか? PHPでスライドショーを作ってまして、表示する画像がブラウザのウィンドウ サイズより大きい場合当然ブラウザをスクロールさせるハメになり、「次の画像≫」 とか貼ってあるリンクも押しづらくなります。 そこで表示する画像がウィンドウサイズより大きければ縮小表示し、それへ元画 像へのリンクを貼って、クリックされたら別ウィンドウで原寸表示させようと思 っております。 お知恵を拝借させて頂けますと幸いです。
725 :
nobodyさん :03/05/26 10:06 ID:fRIt1rZi
726 :
nobodyさん :03/05/26 10:38 ID:55724TyQ
safe mode について教えてください。マニュアル見てもワカソネー
727 :
_ :03/05/26 10:41 ID:???
728 :
j :03/05/26 10:47 ID:???
>>725 やっぱりそうですか。ありがとうございました。
「ノートンユーティリティー」とかでJAVAを無効にしてる人には効かない
ので出来ればPHPでやりたかったんですけど。
>>728 よほどおかしなサイズで作っていない限りそこまでする必要はないだろ
それにリサイズされると閉じる前に普段のサイズに直さなければ
ならなくて、かえって迷惑
731 :
j :03/05/26 12:01 ID:???
>>730 あ、いや、ブラウザのサイズを変えるのではなく、ブラウザのサイズを取得
して、画像の方が大きければ画像を縮小表示するんです。
その縮小表示した画像をクリックしたら別窓で原寸表示しようと。
>>731 表示サイズの選択肢を設けるのじゃダメなのか?
>>731 <img src="images/hoge.png" width=100%>
とか?
>721 僕もよく分かってます。 712があまりに頭悪そうだったのでつい、、不毛でした。 WebProgに関しては JAVA 出身なのでガベコレのお世話になってきたわけですが、 どういうわけか php ではそういった話題が出てないようなのであまり気にされてないのかな、と。 未対応でも別にかまわず、PHPユーザにどう受け止められているのか 知りたいという意味で雑談に近いのかも知れません。 単に未対応だ、という推測をされた理由については興味あります。
736 :
nobodyさん :03/05/26 18:26 ID:wLEubPkw
phpメインにとっては 何でそんなこと疑問に思うの? ってところなんだろ。 しかし俺も含め不毛なレスが多いね(笑 〉一個上のやつ お前phpマニュアル読んでないだろ(禿
>735 どもです。 php-gtk を使い始めてそのあたりも一読したんですが満足できなかったもので、、。 とりあえずドラフトのようなものを探して読んでみることにします。 スレが荒れるようなので以降スルーしてもらってかまいません。 しかしめちゃくちゃ揺れたな、、。
738 :
j :03/05/26 19:49 ID:???
>>732 ,733
一応javascriptで解決はしたんですよ。
選択肢を儲けても、特定の寸法を決めても、個人個人ブラウザのウィンドウサイズ
は違うのであまり有効でないんです。
あんまし個人個人の環境でまで考えてたら、大切な人生勿体ないよ と経験より 仕事なら仕方がないが
740 :
nobodyさん :03/05/26 20:51 ID:iLBrwPLF
今日はやたら静かだな。なんかあるのか。
742 :
山崎渉 :03/05/28 17:05 ID:???
∧_∧ ピュ.ー ( ^^ ) <これからも僕を応援して下さいね(^^)。 =〔~∪ ̄ ̄〕 = ◎――◎ 山崎渉
おっす
オラ悟空
いっちょやってみっか
デキタ━━━━━(゚∀゚)━━━━━!!!!
PHPでフォームから入力をdatファイルに書きこむと、 入力データの中に「'」シングルクォートがあると「\'」と出力されます。 どういった理由からなのでしょうか。 またこれを回避する方法を教えてください。
magicquote
>>743 ありがとうございました。
解決しました。
752 :
nobodyさん :03/05/30 01:49 ID:6sk5m89X
753 :
サンプルです :03/05/30 01:54 ID:vCwoDoyN
>>752 <? phpinfo(); ?>
ってやって
PHP Variables
の項目をよくみる。
>752 $_SERVERのPHP_SELFとSERVER_NAMEあたりを整形すれば。 URLの変換は、preg_replace()かなんかで正規表現をつかって末尾の拡張子を置換すれば。 答える俺も俺だが、、。
757 :
nobodyさん :03/05/30 02:08 ID:6sk5m89X
752です。 まじ初心者なんで全く分からないです。 少し作ってはいただけませんか? 宜しくお願いします。
このさい脱初心者に向けてがんがって下さい。 必要な値を取得して、変数にぶっこんで整形するだけです。
初心者ならできる。やるきあるだろ?
760 :
nobodyさん :03/05/30 03:26 ID:6sk5m89X
>>755、758さん 自分で作ることが出来ました。 ありがとうございます。
これからもがんがり。
762 :
nobodyさん :03/05/30 19:41 ID:5twCpe/L
Perlも中途半端なとこまでしかやってないんですけどどうもPHPに乗り換えようかなとか思ってます。 PHPは理解するの大変ですかね〜?
びっくりするほど分かりやすいので、やってみる分にはOK。 出来ることの幅は狭くなる部分も多いよ。
>>762 試してみ。特に初心者にはPHPのほうが楽。
>>763 >出来ることの幅は狭くなる部分も多いよ。
え?、たとえば何?
>763 Cがかけりゃ何でも・・・というかWebアプリしか考えてないなら不自由はないだろ。
766 :
762 :03/05/31 11:17 ID:8mTS6RYE
>>764-765 レスサンクスです!!簡単なんですか!!!よし、じゃあいっちょ気合入れて勉強始めます。
>>763 > 出来ることの幅は狭くなる部分も多いよ。
これに対する明確な説明を聞いたことがない
769 :
766 :03/05/31 19:09 ID:???
if ( $array > 5 ) { ... } $array[-3] ; $array[0..$#array] ;
阪神優勝や
おめでとう 酒が飲めるな
巨人ファンやめたよ。 かといって阪神ファンにはならないけど。
例えばURLを入力させてそのアドレスのページのソースからABCD=に続く文字列を取得して表示させるってゆうのを作りたいんですが、可能でしょうか?
可能です。がんがってください
777 :
nobodyさん :03/06/01 18:44 ID:rwWGBklk
mail関数が使えません。postfixを使用したいのですが、php.iniを編集し、 info.phpにもパスが(/usr/sbin/postfix)表示されますが、 Warning: mail() is not supported in this PHP build in ...と 表示されてしまいます。 どなたかわかる方教えて頂けますか
778 :
nobodyさん :03/06/01 18:46 ID:rwWGBklk
777です。 使用しているのはphp4.2.2 apache1.3.27 RedHat7.3です。
779 :
直リン :03/06/01 19:10 ID:FDrVWEME
781 :
nobodyさん :03/06/02 04:10 ID:yvjFnCLG
783 :
nobodyさん :03/06/02 14:41 ID:15jlp0q7
おれは?
787 :
nobodyさん :03/06/03 07:13 ID:O91JYZqE
<?php for($i=1;$i<1000;$i++;){ echo = "お前もナー"; } ?>
(゚∀゚)ハァ?
789 :
nobodyさん :03/06/03 08:18 ID:E+p3iN3T
790 :
nobodyさん :03/06/03 14:46 ID:3NImKoXN
safe mode ってなんでつか?
ここが初心者を叩くスレか? 早く来い なぶり殺しにしてやるわ ∧ ∧ /;;;;;;;;;;;;;;;;;;;;;i\ , -``-、 , -``-、 / ヽ ./ .∧ \;;;;;;;;;;;;;;;;;;;/ ヽ \ / ) / `、 / ∧ `、;;;;;;;;;;;;;;/ \ \ / / /  ̄ ̄ ̄ ヽ ヽ  ̄ ̄ / ( ̄ ̄ ̄ ̄ ̄祭り命 ̄ ̄ ̄ ̄) ̄叩き命 ̄ ̄ ̄)  ̄煽り命 ̄ ̄ ̄) / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄.\ ̄ ̄ ̄ ̄ ̄ ̄ \  ̄ ̄ ̄ ̄ ̄ ̄ \ /:::::::::: ヽ-=・=-′ ヽ-=・=- /=・- -==・- |・=- -=・=- |
793 :
初心者 :03/06/04 00:05 ID:9XPeo0wh
すいmせん、PHPを、勉強したいんですが、どうすれば、いいですか、
ていうか、そこの3人も。 PHP5マダカナー
環境はあるの? いきなり本番用のサーバでやると無限ループしたくなるから、 まずローカル(家のPC)で動かせるようにしてみるのがいいかな。 インストール方法は、「PHP インストール (使ってるOS名)」で検索すれば結構ヒットするよ。 手元にチュートリアル形式の本があると便利だけど、それは懐具合と相談っと。
やっぱ初めは1冊は本を買った方が良いな。 「プロフェッショナルPHPプログラミング」がお勧め。(古いけど)
797 :
793 :03/06/04 00:34 ID:9XPeo0wh
ごめんよ… >792に対するネタだったんだけど ここの住人優しすぎる…
798 :
nobodyさん :03/06/04 00:41 ID:Fb4MSZeX
800 :
サンプルです :03/06/04 00:52 ID:2Mfd/gsT
>797 この板の"単独でない"質問スレは概して優しい比が高いと思われ。 マ板も優しい比は高いが、プラスして愛のムチが若干多め。
動的に変化するファイル"data.txt"の 100行目だけを取り出すにはどうすればいいでしょうか・・?
system("head -n 100 data.txt|tail -1")が楽かな。(未確認) 正直にやるなら ・怠惰ver. : @data=file("data.txt"); -> $data[99] ・セコセコver. : fread() + explode で \n をカウント ・人間に優しいver. : fgetsを100回ループ
cygwin入れればwinでも同じことだし
>>802 $lines = file($filename);
echo $lines[99];
じゃだめですか?
そうですか・・・
807 :
803 :03/06/04 23:11 ID:???
怠惰ver. が間違ってた.... perlじゃないんだから>オレ
>>807 まぁまぁ漏れもよくやるよ
しばらくASPやってて、PHPに戻って
<%= $value %>まるっきり鬱
809 :
nobodyさん :03/06/05 13:24 ID:1mE3/t6z
pg_affected_rows,pg_num_fieldsなど一部の関数がうまく動きません。 例えば以下のようなコードを書いた時、クエリは実行できてデータは更新されるので pg_queryは動いているようなのですが、表示結果が反映されません。 $result = pg_query ("UPDATE t_tablename SET testid='00000000'"); $cmdtuples = pg_affected_rows ($result); $cmdfields = pg_num_fields ($result); echo $cmdfields . "カラム" . $cmdtuples . " タプルが変更されました。"; 表示結果 ---------------------------- 0カラム0 タプルが変更されました。 ---------------------------- エラーなどは特に表示されません。 環境は↓のとおりです。 RedHat 7.3 PostgreSQL 7.2.3 Apache 1.3.27 PHP 4.2.3 multibyte 何か設定がおかしいのでしょうか?何処を直せばうまくいきますか?
810 :
名無し :03/06/05 13:39 ID:dY8zx7u9
PHPからエクセルファイルって生成できまつか?
>>810 現状のxlsな奴なら無理だがCSVやTSVとかなら楽勝。
ていうか俺はTSV生成してエクセルに放り込んでるし。
813 :
名無し :03/06/05 15:03 ID:dY8zx7u9
814 :
直リン :03/06/05 15:10 ID:C/yWLjzO
815 :
稼ぎまくり :03/06/05 15:44 ID:G9FTlK+Z
816 :
nobodyさん :03/06/05 16:58 ID:Em2ZoCsT
超初歩的な質問ですが… 配列変数で $bu = array ("10" => "空", "20" => "海", "30" => "雲", "40" => "波"}; $item[0]の値が30の場合に 値(雲)を返す方法(関数)を教えてください。
>>816 単に
$bu[$item[0]]
ってことじゃないの?
あと、打ち間違いだと思うけど
arrayの閉じが間違ってる。
818 :
動画直リン :03/06/05 17:10 ID:C/yWLjzO
819 :
_ :03/06/05 17:17 ID:???
820 :
_ :03/06/05 19:09 ID:???
821 :
_ :03/06/05 20:47 ID:???
822 :
nobodyさん :03/06/06 09:26 ID:Z3n310g1
全角数字→半角数字 への変換を↓でしたら $j=mb_convert_kana($j,'n'); 「43」 を入力したら 「 ?S?R 」 と表示されました。 PHPは Version 4.1.2です。 何が原因でしょうか?
>822 全角の漢字コードが合ってない。 漢字コードの設定をきちんとするか、 mb_convert_kanaの引数に使う際に変換して渡す。
824 :
直リン :03/06/06 11:10 ID:6EFZr+OJ
825 :
直リン :03/06/06 11:10 ID:6EFZr+OJ
822じゃないけど、うちの環境だと半角カナの変換は出来ても 数字の全角、半角の変換が出来ないな…、なんでだろ。。 $j="43"; $j=mb_convert_kana($j,'n'); print $j; とかやるとそのまま全角で「43」って表示される。 # PHPのバージョンは 4.3.1
827 :
nobodyさん :03/06/06 12:17 ID:Om0FdQtM
828 :
826 :03/06/06 12:26 ID:???
mb_convert_encodingでコード変換してから $j = mb_convert_kana($j,"n"); と、やっても駄目でしたが、コード変換抜きで $j="43"; $j=mb_convert_kana($j,"n","EUC"); print $j; とやると旨くいきました。 # 全角扱うときは三番目の引数は必衰?
>>828 php.iniのmbstring関連の設定があっていれば
mb_convert_kanaに指定しなくても大丈夫だと思うけど
そうでないならmb_convert_kanaで明示的にエンコードを指定したほうがいいよ。
自分はmb_ereg系ではまった・・・<エンコード
831 :
nobodyさん :03/06/06 23:09 ID:felb9FAB
832 :
直リン :03/06/06 23:10 ID:6EFZr+OJ
PHPのファイル操作で 書き込みと読み込みではどっちが負担かかるんですか?
834 :
nobodyさん :03/06/07 00:07 ID:Og/B9a41
プログラムの中で ファイルを作る場合、 パーミッションを777にしたサブディレクトリを 作ってその中に作る以外に良い方法ありますか?
>>833 負担が少ないほうを使うってことだね。
例えば書き込み処理の方が負荷でかけりゃ読み込みだけを使えばOK…
…ってナンデヤネン
何故に目的が正反対な処理を比較しますか?
>>834 普通に作ればよし。何がしたいのか分からん。
もしかしてsafe-modeが分からなかった人ですか?
837 :
nobodyさん :03/06/08 11:50 ID:ARQUvfvj
PHPは配列のキーにタイムスタンプを使っても大丈夫でしょうか? rs[20030608114950]という感じにです。 Cも勉強しているのですが、めちゃくちゃメモリとってるなという感じですが、 PHPでもだめなんでしょうか。
838 :
nobodyさん :03/06/08 12:14 ID:wXDD1Wqg
皆さん相談に乗って下さい!! 彼女(28歳)とは四年半付き合っているのですがそろそろ結婚の話が持ち上がってきています。 ですが正直に言うと結婚に対してどうも前向きになれないのです。 最近では普段一緒にすごしていても心の中では彼女もいい年齢だし結婚を考えなければと何かモヤモヤとした状態ですっきりしません、夜の方も特にエッチした後でそういう話題になるので三か月ぐらいはしていません。 彼女には失礼だけど飽きがきているのかもしれません。でも馴れ合いというか4年半も付き合うとこんなもんかな?とも思ってもいます。みなさんはどうなんでしょうか? 前はそんなことはなかったんですが旅行で泊まりに行く時もどうもすっぴんを見るとエッチする気が起きないし・・・。 こんな状態では結婚した後どうなるんだろう?とふと思ってしまいます。 ただ嫌いな訳では決してないのでこのまま別れてしまうのは悲しいのも事実です。 性格的にはすごくいい子で相性もあっていると思うので結婚をすればそれなりに一緒にやっていけるとも思います。 こんなことで迷うこと事態結婚すべきじゃないのかもしれませんが、この先彼女以上の人が現れるのかどうかという不安もあって決めきれないでいます。 やはり少しでも不安に思うこと、迷うことがあれば結婚すべきではないのでしょうか?既婚の方はこういう迷いなく結婚されたのでしょうか? 優柔不断で自分自身腹が立ちますが、とにかくこのままでは彼女に対しても失礼だし、彼女の貴重な時間を奪ってしまうので早く結論を出そうと思っています。 みなさんのアドバイス宜しくお願いします。
840 :
nobodyさん :03/06/08 16:47 ID:EtKzlxWg
ソケットで読み出した文字列をグローバル変数に代入して加工、保存しようと していますが$logには何も入ってません。 どうすれば全受信テキストを保持できますか? $fp = fsockopen ($host, 80, $errno, $errstr, 30); if (!$fp) { echo "$errstr ($errno)<br>\n"; } else { fputs ($fp, "GET /$brd/dat/$sid.dat HTTP/1.1\r\n"); fputs ($fp, "Host: $host\r\n"); fputs ($fp, "User-Agent: Monazilla/1.00 1000gex/0.9 (1000)\r\n"); fputs ($fp, "\r\n"); while (!feof($fp)) { $sob = fgets($fp, 10000); $log .= $sob; }
841 :
nobodyさん :03/06/08 16:49 ID:EtKzlxWg
fclose ($fp); }
842 :
840 :03/06/08 17:23 ID:EtKzlxWg
自己解決しました。おさわがせしましたー
843 :
838 :03/06/08 17:27 ID:???
こちらも自己解決しました。相談にのっていただいた方、ありがとうございました
>843 マジネタだったのか…いや内容はマジメだったけど。
846 :
nobodyさん :03/06/08 18:28 ID:349ouSjo
こんにちは。 最近PHPの存在をしりまして、勉強しております。 非常に基本的な質問で恐縮なのですが、php3のソース はphp4でも流用できますか?大きな変更点など ありましたら、教えてください。 php3のソースをphp4に移植したいと考えております。 どなたか、アドバイスお願いします。
>>846 マヌアル嫁。としか言いようが無いわけだが。
>>848 君には↓が読めないのかね?
> php3のソースをphp4に移植したいと考えております。
>>849 そうなると矛盾してる文章にもなりえるんだよな。
最近PHPの「存在」を知った香具師が何故に移植作業なぞ考えたのか?と。
すっ飛ばされるプロセスを突っ込んだのは親切なのかもしれないが
所詮すっ飛ばされる程度の内容だということだ。
>850 使いたいと思ったアプリが偶々PHPで作られてて (そこでPHPというものを知った)尚且つver.3だったんじゃないのかな。 で、自分のところが借りてるサーバではver.4は入ってると。 3→4は自分の作ってたスクリプトでは結構苦労したな。 一応移行ユーティリティが提供されてたけど、細かい動作違いとかもあったし。
$fp=@fsockopen($host,80,$errno,$errstr,30) or die("$errstr ($errno)<br>\n"); fputs($fp,<<<EOD GET /$brd/dat/$sid.dat HTTP/1.0 Host: $host User-Agent: Monazilla/1.00 1000gex/0.9 (1000) EOD ."\n\n"); while($sob=fgets($fp,10000)) $log .= $sob; fclose($fp);
853 :
840 :03/06/09 03:14 ID:GDMx3L3L
>>852 すっきりなってますね。ありがとうございます。
ただ現状でエラー出まくりなんでまだチェックしてないんですが前の記述は
コメントアウトして挿入しました。
ありがとうございます
>>846 $_ 関係のスパーグロバル変数に注意すれば動くかも。
register_global=onにすればいいんだが。
855 :
nobodyさん :03/06/09 04:28 ID:GDMx3L3L
857 :
本7 ◆.cmboddv4k :03/06/09 04:41 ID:GDMx3L3L
858 :
nobodyさん :03/06/09 04:42 ID:GDMx3L3L
名前出てた。。
>>857 どっかで閉じカッコが足りないんじゃない?
いい加減、放置でおねがいします レスしないように。
861 :
_ :03/06/09 04:48 ID:???
862 :
nobodyさん :03/06/09 04:54 ID:GDMx3L3L
>>859 関数ごとに{ 付けたり取ったりして試してるんですがココっていうのがなか
なか見つからないんです。
要件としてはクエリ−で受けたホスト名、板名、スレIDからdatを直に読んで
表示と保存するものです。
流れはコマンド引数を各変数に代入、既得ログを読み込み、文字列バイト数を
読み込み(HTTPヘッダで差分取得に使う)、ソケット生成してdat読み込み、
既得ログに追記していく、新着レスバイト数を加算、表示という感じです
インデントがないと分かりにくいな。 while文あってる?
Parse errorを見抜ける人でないとPHPをやるのは難しい。
865 :
nobodyさん :03/06/09 04:59 ID:GDMx3L3L
>>863 もらった構文のコピペなんですがソケットのところの
$fp=fsockopen($host,80,$errno,$err〜
の所は元々
$fp=@fsockopen($host,80,$errno,$err〜 でした
ちなみにPHP4.2.3でしてphp.ini は register_global=ON に変更してあります
ほかのもっといいすくりぷとがあったらおしえてくだちい。
867 :
nobodyさん :03/06/09 05:01 ID:GDMx3L3L
Parse error で Parse error: parse error, unexpected $ てのが初めて なんですよ。なんでだろ
>>865 通常、@はParse Errorに関係ない。register_globalも。
869 :
nobodyさん :03/06/09 05:05 ID:GDMx3L3L
>>868 よく分かってないもんですんません。register_globalはコマンドライン引数
の設定でParse Errorってまんま構文エラーですよね
870 :
nobodyさん :03/06/09 05:09 ID:GDMx3L3L
59行目と76行目あたりががとりあえず変でしたんで修正しました。 でも何も結果変わらんです。。
>>869 これが初めて書いたスクリプト?
もっと簡単なもので練習した方がいい。公開するなら尚更。
関数とか処理とかではなく、それ以前の文法が間違ってる。
ゆっくり見直してみれ。
それからこれ以上ageるな。
>>871 普段もっと局所的な(カウンタとか)ぐらいしか作らないものんでさっぱり
不慣れです。。ageはすみません
普段はPerlとかDelphiが多いです。
$sub[3] = ereg_replace(@`,',', $sub[3]); ↑ これ変じゃねえか?PHPマヌアル見たか?
fputs($fp,<<<EOD GET /$brd/dat/$sid.dat HTTP/1.0 Host: $host User-Agent: Monazilla/1.00 1000gex/0.9 (1000) EOD ."\n\n"); ここをコメントにしてみれ
144行目 ereg_replace(@`,',', $sub[3]); を ereg_replace('@`',',', $sub[3]); に修正と114行目あたりのsplitの位置と変数名を修正しました が、以前変わらずです。。
>862 コメント入れる前に全体的に何らかの一貫性を持った 書き方をしないさいよ、特に括弧。()や{}の入れ方(有無や場所)。 自分でも読み難いだろうし、他人なら尚更。 ヒント:ヒアドキュメント (さらっと見ただけだから他にもあると思うけど)
>>874 変化ありました。
次55行目にエラー来ました。
if (!($fde = fopen("./$host/$brd/dat/$sid.idx", 'r'))) {
die;
}
のやり方がまずいんでしょうか。
この方がすっきりするらしいんで変えた部分です。
正しくは分かりません。
もう少し調べてみます。
ありがとうござます。
Parse Error が出たらぁゃιぃところをコメントにしてみること
879 :
876 :03/06/09 05:41 ID:???
>>879 ありがとうございます!!
しっかり読んで間違いさがしします。
どうもファイルI/Oのやりかた&文字列の扱いに問題ありそうです。
ヒアドキュメントは止めました。ソケットは送受信し始めましたが
ISAPI Error
Can't get any Response
が出ます。重すぎるんでしょうか
881 :
nobodyさん :03/06/09 06:38 ID:m5mFN10O
882 :
直リン :03/06/09 07:10 ID:GjkKVS2A
<?php error_reporting(E_ALL); $host="pc2.2ch.net"; $log=""; $brd="php"; $sid=1048442813; $fp=@fsockopen($host,80,$errno,$errstr,30) or die("$errstr ($errno)<br>\n"); fputs($fp,<<<EOD GET /$brd/dat/$sid.dat HTTP/1.0 Host: $host User-Agent: Monazilla/1.00 1000gex/0.9 (1000) EOD ."\n\n"); while($sob=fgets($fp,10000)) $log .= $sob; fclose($fp); header("Content-Type:text/plain"); die($log); ?> サンプルソース。表示出来たぜよ。
885 :
nobodyさん :03/06/09 08:14 ID:HwUe7b2u
>>884 僕の環境ではエラーになりました。
Win+AN HTTPDです
多分環境の違いじゃないでしょうか。
mod_phpじゃないです。php.exeです
Parse error: parse error, unexpected T_SL in C:\www\home\test.php on line 13
>885 なんで使ってもいない演算子エラーが出るんだよ。 << とか << < になってるなじゃないの。
887 :
無料動画直リン :03/06/09 09:10 ID:GjkKVS2A
>>885 AN HTTPDの1.42hとやらを使ってみた。確かに動かんな(藁
そして以下の様に修正。
<?php
error_reporting(E_ALL);
$host="pc2.2ch.net";
$log="";
$brd="php";
$sid=1048442813;
$fp=@fsockopen($host,80,$errno,$errstr,30) or die("$errstr ($errno)<br>\n");
$requestheader=<<<EOD
GET /$brd/dat/$sid.dat HTTP/1.0
Host: $host
User-Agent: Monazilla/1.00 1000gex/0.9 (1000)
EOD;
fputs($fp,$requestheader."\n\n");
while($sob=fgets($fp,10000)) $log .= $sob;
fclose($fp);
header("Content-Type:text/plain");
die($log);
?>
つーか、厨房HTTPデーモン逝って良さげ。(クソ、改行が多すぎるだと?)
スクリプトの文字コードはEUCね。HTML出力ははSJIS。
891 :
nobodyさん :03/06/09 14:07 ID:HwUe7b2u
>>889 おお!ありがとうございます!!
穴があくほど読み替えして盗ませてもらいます。
みなさんありがとうございます
>>891 インデックス読み取りとバイト数読み取りは既得ログを読み出し2chからは
未取得の差分ログだけを読み出す為にです。
まだつけていませんがHTTPヘッダに
Range Byte=****-
を付けます
894 :
889 :03/06/09 14:42 ID:???
ちょっと修正。 foreachに渡す変数名がデバッグ時のままだった。 あと、処理の屋台骨はまったくいじってないから修正しないと使えないぞ。
896 :
直リン :03/06/09 15:10 ID:GjkKVS2A
897 :
nobodyさん :03/06/09 15:21 ID:Yh4o5EqV
898 :
nobodyさん :03/06/09 16:21 ID:KaQQn13e
899 :
無料動画直リン :03/06/09 17:10 ID:GjkKVS2A
>>895 補足
352 名前:まとめ屋 ◆8Jbb3TWRsA 投稿日:03/06/07 18:05 ID:???
本7語録
・寝転んでブーブー屁こいる間にちょっとずつ資金が貯まってくる。
・1鯖に対してヒキヲタ10っ匹ほどいれば完璧かと
・荒らしてるのはこの計画がボツらないと困る人なんだろうけど
・要件もまとまり検討も十分した。
・俺の鯖ならPerlもPHPもCもあるから串もあるしSSLもある。フル装備だから何でも貸し出せる。
・N88-BASICがCGIになってるのは俺だけだぞ
・串に渡す要求コマンドを挙げてくれたら簡単なアプリならすぐ作ってやる。
・みんなで協力して2chキャッシュサーバを今日中に作ってしまおうぜ
・2ch鯖にうざいと思われたらOSレベルでアク禁にされる
・FLASHほどの躍動感はでない
・自宅サーバの究極の一つだよ
・実用新案モノの高等技術です
・2chブラウザにこの機能を組みこむ要望も多数ございます
・レスがないですね。やはりクズには理解できないのか
・興味ない。Delphiで十分いい物が作れる。言語の問題ではない。企画力だ
・BBSでありがとうなんていくらでも書ける。行動と結果で示すものだと承知してる
・へりくだる事が感謝の気持ちか
・脳内サーバ
・自鯖板の住人はハードウェアだけでPCが動くと思ってるらしい。
・暴言には暴言でかえしてしまう。
・PHPにてしまおうかな?十分早いし。PHP書ける人いますか?
・根拠もクソもない文句ばっか投げつけて荒らされて反論したらどっかいけか。
・悪態つかれても仕方のないような輩が多いのも事実じゃない?俺なりにずいぶん寛容に受けとめてフェアにしているつもりだが
・一方的すぎんの。弱者や少数は頭低くしていろという理屈に聞える
・じゃ君の鯖じゃ絶対落ちないの?スーパー本7砲ブチ込んでも大丈夫?
必死だな
ファイルI/Oのエラー回避って以下で出来ているでしょうか if (($fde = fopen("./$host/$brd/dat/$sid.idx", 'r'))) { while($soq=fgets($fdo,100)) $bytes = $soq; fclose($fde); }else{ die; }
Windows98のPHP(4.2.3)ってC:ドライブ(ブート)以外のファイルは実行できない んですか?
905 :
903 :03/06/09 20:54 ID:???
共有しているフォルダの中のファイルを実行したいんですが Warning: Failed opening '\\LOCALHOST\root\home\root\menu.php' for inclusion (include_path='.;c:\php\includes;\\LOCALHOST\root\home\root') in Unknown on line 0 ってでるんです
フォルダからのコピペでphp.iniに加えました。 Win用HTTPサーバからsamba上のファイルを実行しようとしています
>>907 インクルードパスに入れてるのに何でフルパスで指定してるのさ?
>>908 呼び出しているhtmlには ./menu.php としてます
サーバのドキュメントルートをsamba上のフォルダに指定して実行するなんて無理
なんでしょうか
910 :
初心子 :03/06/09 23:19 ID:cTXEmD9T
任意のexeファイルをオプション付で実行させたいと思っているのですが、 IISのISAPIからはexec()は出来ないのでしょうか? どなたかご教示ください。
911 :
初心子 :03/06/10 01:25 ID:LLWGhtsO
誰か・・・
そんなんやった事ないが、 試してるんだろ?どんな感じなん?
>910 自分の質問の内容をもう一度読み返せっ。 PHPとどう関係があるのだ
HN表示しろよ
915 :
初心子 :03/06/10 02:41 ID:LLWGhtsO
>>912 具体的にやりたいことはブラウザから画像をサーバにアップロードして
「何か押して下さい」というボタンを表示し、押されるとexec()にて
画像の加工をサーバにあるアプリケーションにさせる、というものです。
画像加工のアプリにはimagemagick等では出来ない処理をさせています。
諸事情からcronは使えません。
サーバのローカルにてDOSのコマンドを実行してみて上手くいったもので、
同じ内容をexec()でやれば良いと思っていたらできなくて非常に悩んでいます。
アプリにはIUSR_マシン名の実行権限を与えており、保存先のディレクトリにも
書き込みの権限を与えています。
何がいけないのでしょうか・・・。
918 :
初心子 :03/06/10 13:44 ID:???
解決したのでご報告します。 exec()にて実行させたいアプリケーションへのパスをフルパスで記述していたの ですが、サーバ側でパスを通してアプリケーション名だけ記述するようにしてみた ところ上手くいきました。なぜ上手くいったのかは未だによくわかりません。 ひょっとしたらexec()内に「.exe」を含んでいないからかな、とも思いますが 推測にすぎません。 色々とありがとうございました。
919 :
nobodyさん :03/06/10 20:04 ID:YvfCMn9m
>>919 PHPが有効になってないだけに見える。
自宅鯖なのかな?インストールした?
921 :
nobodyさん :03/06/10 20:16 ID:YvfCMn9m
自宅鯖です。 あの自宅の場合はどうすればよいのですか?
んと、PHPはインストールした? してないなら「AnHTTPD php インストール」で検索して、インストール。 と思ったら レッツPHPがヒットした。。。
923 :
nobodyさん :03/06/10 20:27 ID:I5OBKCIX
924 :
_ :03/06/10 20:43 ID:???
925 :
nobodyさん :03/06/10 20:48 ID:YvfCMn9m
AN HTTPDのオプション/一般の拡張子 って何処でやるのですか?
>926 権利はあるけど、資格はないな。 取り合えずAN HTTPDのFAQ嫁、書いてあるんだから>925
928 :
nobodyさん :03/06/10 21:19 ID:YvfCMn9m
ありがとうございます 全て設定も完了しましたがダメでした。。。
>928 そんなことは無い筈(ダメの内容如何ではあるが)。 CGI版(php.exe)を使うのか、ISAPI版(php4isapi.dll)なのかで 設定方法や完了後のphpの動作自体も違うし、 また、使うPHPのバージョンで受け取れるサーバ環境変数とかにも 差異があるけど、動かないということはない。 「AN-HTTPD PHP」でぐぐって、も少し試せ。
>>928 アホは氏んでくれよ。
「ダメでした。」ってなんだよ?
何をどうしてやってみたらどうなってなにがひょうじされてダメだったんだ?
おまえがやったことを事細かく「具体的に」書けよハゲ。
>>930 そういうレスはいらないです。あなたの発言でみんなが関わり合いを
避けて結局回答が得られなくなります。
>>919 "php4ts.dll"は、必要なフォルダにきちんと収めてありますか?
933 :
nobodyさん :03/06/11 00:48 ID:gpooB88O
>>931 >>930 の書き方はともかく、ダメだった状況を詳しく書かなければ回答は得られないよ。
親切なレスが返ってきても、まず「詳しい状況を書いてください」って内容だろうね。
相談を持ち込む時に、相手から状況説明を求められてちゃ2度手間だよ。
保守 アホな質問であっても詳しく質問すること。
937 :
nobodyさん :03/06/11 01:26 ID:M1dCFAVD
$dat = "$date $message<br>\n"; $lines = file($filename); $fp = fopen($filename, "w"); fputs($fp,$dat); for($i = 0; $i < 10 ; $i++) fputs($fp, $lines[$i]); fclose ($fp); こんな感じで一言レス板を作成中なんだけど、ログが改行でいっぱいになってしまう。 for でループさせてるからなんだけど、これって回避できませんか?
改行の処理を自前でやる。 rtrim()参照。
940 :
本7 ◆.cmboddv4k :03/06/11 02:37 ID:u5KJm7Q9
942 :
937 :03/06/11 03:57 ID:M1dCFAVD
$dat = "$date $message<br>"; として、ログファイルに改行を入れないようにしたら、$lines が配列にならず(?) ログ件数を指定できない・・・(鬱 rtrim()関数を使おうと for($i = 0; $i < 10 ; $i++) fputs($fp, $lines[$i]); fclose ($fp); ↓ for($i = 0; $i < 10 ; $i++) fputs($fp, $lines[$i]); rtrim($lines[$i]); fclose ($fp); って、やっても意図した動作しないし・・・ うがぁ〜・・・
まず、ログファイルの改行(\n) と HTMLの改行(<br>) は別物。 $dat = rtrim($dat); $dat = "$date $message"."\n"; fputs($fp,$dat); for($i=0;$i<10;$i++){ fputs($fp,$lines[$i]); } 神経質にやるなら、forの中で $lines[$i] = trim($lines[$i]); fputs($fp,$lines[$i]."\n"); Windowsの場合、改行が\r\nだったりするので fopenのオプションbをつけるとよいかもしれない。
>>942 $fp = fopen($filename, "a");
じゃないのか?
あと、書き込んだ後rtrimしてどうする?アイフル?
>>939-940 はググってみたんだろうな?
それで見つからんようならあきらめた方がいいよ。マジで。
検索能力(?)が低いとこれから何でも掲示板やMLに頼ろうとするから。
PHP-MLのログを漁ってきたらどう?
>>942 forがループしてない・・・((((゚Д゚;))))
947 :
本7 ◆.cmboddv4k :03/06/11 04:43 ID:u5KJm7Q9
PerlよりもPHPよりも扱いやすくて日本語ヘルプ付きのWEBプログラム言語 あったら欲しいですか?
>>947 PHPは簡単で、マニュアルも分かりやすい。これ以上簡単なのはイラン
950 :
本7 ◆.cmboddv4k :03/06/11 05:17 ID:u5KJm7Q9
言語は現存でいいとしてオブジェクト指向に特化したエヂタとか欲しいですか? いまプログラムの入門者って用途こそ違えど昔のBASICに取って代ってP erlやPHPが多い。でも基本的にテキストエディタだけの環境ですよね。 それがもっとよりより環境でできたらと思うんですが。 PHPもマニュアルありますけどあくまで基本が分かってる人の立場で書いてあ るから初心者には意味不明。とっつき安さがあれば市場も大きく広がると思うんで すが。
951 :
937 :03/06/11 05:35 ID:M1dCFAVD
>>951 > "a" だと最新データが下に追記なので回避したい。
$linesをひっくり返して書き込んでみては?
表示する際にひっくり返してから表示するとかw
953 :
937 :03/06/11 06:04 ID:M1dCFAVD
>>952 > 表示する際にひっくり返してから表示するとかw
えっ?そんな事できるんすか?
"w" だとログが飛ぶ可能性があるので、"a"で書き込んで表示の際にひっくり返す
って出来れば嬉しいんですが・・・
#ちなみにテスト環境がWinな為、↑のスクリプトではflockしてません。
>>953 あらかじめ表示するデータを配列に入れておいて逆にするだけ。
array_reverse(file($filename))でよかったかな?
955 :
nobodyさん :03/06/11 06:12 ID:u5KJm7Q9
PHPでアクセスの統計をグラフ表示したいんですけどPHPだけでGIFのグラフ 吐く事ってできますか?
>>955 GDを使えば出来る。GIFが扱えるかどうかは微妙だが。
958 :
937 :03/06/11 06:26 ID:M1dCFAVD
あぁ〜、オレのバカ。。。
"a"だと、ログ件数を指定できないですよね・・・
永遠に追記されて行く・・・ぐはっ
しかも、書き込み時にループさせてるから、ログが激しく重複・・・うがっ
>>954 >>956 その関数を知らなかったです。勉強になりました。
なんかオレ、ひとりで踊ってますね・・・(泣
>>955 Perlだけど、レスキューのスクリプトはロゴを自前で
吐き出すようになってた。
それがつかえないかい?
960 :
1 :03/06/11 06:28 ID:???
>>958 書き込む際に最新10件だけ保存するようにしてはどうよ?
>>960 さりげなくご苦労さん
>>937 ログの余計な改行だけど、昔書いたスクリプトを
見てみたら俺はこんな風に回避してた。
$lines = file(LINESFILE);
//!!!!!注意!!!!!ローカル用のログファイル改行除去。
$lines = str_replace(array("\r"), '', $lines);
//!!!!!ここまで
$fp = fopen(LINESFILE, "w");
この症状が出るのはローカルのWindows環境だけで、サーバ
(UNIX系)だと改行が出なかったような気もするが、あやふや。
それと最近のWindows版PHPだとflockをスクリプトでつかっても
エラーとか出ないんじゃないっけ?
全員素人か・・・。初心者未満。 UNIX LF Windows,DOS CR LF MAC CR
965 :
955 :03/06/11 06:54 ID:u5KJm7Q9
Unix環境ではできるようですね。それ使います。 Windows用にPHPモジュール作ったら価値ありそうですね
>>965 WinでもGDは使えるわけだが。モジュールも既に有り。
967 :
nobodyさん :03/06/11 07:11 ID:u5KJm7Q9
スクリプトプログラマって需要あるんでしょうか。 いま独学ですが職業にしたくてそういう関係のアルバイトから初めて見よ うと思うんですが
969 :
937 :03/06/11 07:17 ID:M1dCFAVD
>>960 あい、がんばります。
スレ立てお疲れさまです。
>>961 その為に、for でループさせてます。
って、"a"の時に10件だけ保存って事ですか。
それも、今後の為に頑張ってやってみます。
>>962 鯖にあげたら、改行なくなりました!どもです!!
>>963 いや、それは知ってるんだけど・・・
・・・・・・・あ゛っ!そっか・・・そうやんな・・納得。
レスしてくれた方、ありがとうございました!
もう寝る。スレ埋めといて
POSTの際に全角文字列を%95とかの16進数に変換するにはどうすればいいんですか?
url_encode()
973 :
nobodyさん :03/06/11 08:18 ID:eW/5ttxw
ムック
>>972 ありがとうございます。さっそく試してみます
976 :
初心者 :03/06/11 09:32 ID:fXDH3glC
誰か助けてください クリックしたらCDドライブが開く、というブラクラを踏んでしまったのです そしたら、CDドライブがあいてびっくりしたんですが、 それ以来、誰かがCDドライブにアクセスしているのです(アクセスランプが一秒おきにつく そしてハードディスクに何かを書き込んでいるようなのです(ランプがつく どうしたらいいのでしょうか。。。
977 :
_ :03/06/11 09:42 ID:???
979 :
初心者 :03/06/11 09:53 ID:fXDH3glC
980 :
nobodyさん :03/06/11 10:52 ID:dsKqd+xJ
>>955 簡単なやつなら、色付(セルカラー)のテーブル使うと楽だぞ。
ま、セルカラーテーブルに対応して無いブラウザもあるのだが。
981 :
980 :03/06/11 10:54 ID:???
982 :
955 :03/06/11 10:56 ID:???
>>980 それ使えそうですね。ありがとうございます
>>982 もし棒グラフなら小さな画像をIMGタグのHEIGHTやWIDTHで引き延ばすのが手っ取り早いんじゃない?
984 :
955 :03/06/11 11:05 ID:???
みなさん賢いですね。恐れ入ります。 いろいろ盗ませてもらいます
>>955 <td>の背景色(bgColor)を使うと、IEの場合初期設定では印刷されなかった気がする。
悲しい想いをしませんように (ノ_・。)
2
>>987 これは単にincludeで読み込むだけで使える
関数セットなのかな?
>>988 そう(関数といっていいのかな?)。
ただ日本語フォントを使う場合はパッチ当てたりする必要があるので注意。
その辺の設定を最近、PHP User-MLにサマリとして投げてくれた人がいたな。
興味があればMLの過去ログ探して味噌。
「[PHP-users 15748] JpGraphインストール」ってやつ
990&get;
991 :
nobodyさん :03/06/12 19:52 ID:KN4WY2Gg
あがってしまいますぅ
992
998 :
nobodyさん :03/06/12 23:10 ID:jPpotP+i
999 :
_ :03/06/12 23:12 ID:???
1000取って良いんですか?
1001 :
1001 :
Over 1000 Thread このスレッドは1000を超えました。 もう書けないので、新しいスレッドを立ててくださいです。。。