【PHP】初心者コーナー 2 Released

このエントリーをはてなブックマークに追加
1nobodyさん

PHPに関するアホな質問はここでやれ。今回からMySQLも受付開始。
アホな質問であっても詳しく質問すること。

PHPが大嫌いなPerl信者もぜひご参加ください。

前スレ
http://pc2.2ch.net/test/read.cgi/php/1011550860/l50  関連>>2-10

普通の質問はこっちな、【PHP】質問スレッド Part7
http://pc2.2ch.net/test/read.cgi/php/1044478561/l50
2nobodyさん:03/03/24 03:07 ID:???
■ 本家
 http://www.php.net/

■ 日本 PHP ユーザ会
 http://www.php.gr.jp/

■ PHP マニュアル
 http://www.php.net/manual/ja/

■ PEAR マニュアル
 http://pear.php.net/manual/ja/
3nobodyさん:03/03/24 03:08 ID:???
関連スレ
■【待望】PerlユーザのためのPHP入門
 http://pc2.2ch.net/test/read.cgi/php/1046326634/l50
■PHP-users ML ヲチ
 http://pc2.2ch.net/test/read.cgi/php/1031734100/l50
■【PHP】Smarty【Template】
 http://pc2.2ch.net/test/read.cgi/php/1047225437/l50
■ PHP アップグレード報告スレッド
 http://pc2.2ch.net/test/read.cgi/php/987259309/l50
■ PHP + MySQL
 http://pc2.2ch.net/test/read.cgi/php/983250751/l50
■ PHP + PostgreSQL
 http://pc2.2ch.net/test/read.cgi/php/983128806/l50
■ PHP 関連の書籍 (但し PHP 出版系お断り)
 http://pc2.2ch.net/test/read.cgi/php/985315574/l50
4nobodyさん:03/03/24 03:08 ID:???
5nobodyさん:03/03/24 03:12 ID:???
本当にただで使えるんでしょうか。
6nobodyさん:03/03/24 03:21 ID:???
7nobodyさん:03/03/24 11:31 ID:???
ちょっと房な質問なんですが。
例えばAとBというページがあって
JavaScriptでAから別ウインドウのBを開いた場合、
BにAからのセッション情報は受け取れないんでしょうか?
やっぱり別ウインドウだと駄目なんですかねぇ・・・。
8nobodyさん:03/03/24 14:25 ID:???
>>7
やるべき事とやり方が判ってるなら自分で試せよ。
97:03/03/24 14:59 ID:???
>>8
ごもっとも。すみません。
しかも聞き方が悪かったです。
とりあえずだめだってことがわかりました。
10 ◆Kiss.FX29M :03/03/24 16:26 ID:???
>>9
できる...アレ?できない...やっぱできた...
なんかバグの悪寒
11 ◆Kiss.FX29M :03/03/24 16:47 ID:???
あぁ、なんか妙なバグを発見してしまったな。鬱だ。
別ウインドウとは関係ないみたい。
ってわけで、>>7 はできる。
12nobodyさん:03/03/24 18:18 ID:???
IE系ならば同じプロセスから派生したウィンドウに対してはセッション情報を共有できる罠。
13 ◆Kiss.FX29M :03/03/24 19:47 ID:???
>>12
セッション情報を共有云々よりも、セッションIDをどう引き回すかだけでしょう。
セッションIDさえわかれば別のPCからでもセッション変数は引き出せます。
14nobodyさん:03/03/24 21:13 ID:???
>>13
ふぉろーサンクス。
日ごろPostしか使ってないわけだがCookieを偽造してセッション変数って引き出せたっけか?
15nobodyさん:03/03/24 21:57 ID:???
GET、POST、Cookie関係なく、セッションIDが(純粋な?)セッションIDである以上、とられたら引き出されてしまう。
セッションIDをREMOTE_ADDRも使うように強化すれば少しは安全になる、と思う。
16nobodyさん:03/03/25 12:41 ID:???
セッションを保存してあるデレクトリィをセキュアにする必要があるね
17nobodyさん:03/03/25 13:34 ID:???
【特許】今では一般的なCookieによるセッション管理に関する特許が成立していた
http://book.2ch.net/test/read.cgi/bizplus/1048507777/
18nobodyさん:03/03/25 13:38 ID:D+eHMM4j
リンクから、
<a href="***.php?<? session_name() ?>=<? session_id() ?>">

と書いてクッキーオフの人にもセッション管理をしようとしているのですが、

アドレスバーの所に下のようにそのまま表示されています。
***.php?<?%20session_name()%20?>=<?%20session_id()%20?>

これはどこか間違っておりますでしょうか?
19nobodyさん:03/03/25 13:49 ID:???
>>18
short open tag が使えないんじゃないの。
20nobodyさん:03/03/25 14:28 ID:???
PHP以前の問題だと怒られそうだがおしえてください
クラスとかオブジェクトの概念がボヤーっとしかわかりません
初心者にも分かりやすく解説してある HPか解説してもらえませんか?
21nobodyさん:03/03/25 15:43 ID:5TIK8pr3
グループごとの名簿情報をweb上でデータベース化しようと
PHPを勉強し始めたばかりです。
名簿情報にログインする際、普通なら個人IDとパスワードを
設定すると思うのですが、仕様上、グループ名とパスワードだけの
入力にしたいと考えています。パスワードは個人ごとに与えます。
phplibの認証(Auth)が使えると思うのですが、早い話、
一つのID(グループ名)に複数のパスワードを与えられますでしょうか。
まずやってみろと言われそうですが、多分それまでに1ヶ月くらい
掛かりそうなので、、、
よろしくお願いします。
22nobodyさん:03/03/25 16:35 ID:???
>>18
ショートタグ以前の問題
printなりechoなり付けないと・・・
<? print session_name(); ?>
とかさ。

>>21
DBつかったら?
あとパスワードはMD5hash使うなりして解読しにくくしろよ?
2321:03/03/25 20:03 ID:???
>>22レスどうも。
えーとDBって、データベース使えと言う意味でしょうか。スマソ。
24nobodyさん:03/03/25 20:23 ID:???
>>23
ドラゴンボールのことですよ。
25nobodyさん:03/03/25 20:39 ID:???
DataBaseですね。
2621:03/03/25 21:25 ID:???
ドラゴンボールなら7つ揃ってます。
DataBaseでユーザーテーブル作って自分で認証プログラム
組めってことかな。
LIBがそのまま使えれば楽なのかなって思ったもので。
と言っても、LIBの中身も何も分かっていませんが、、、
27nobodyさん:03/03/25 21:31 ID:???
>>26
どうでも良いけどDatabase
28nobodyさん:03/03/25 22:17 ID:uCxA2hMQ
さっそくですが質問があります。

PHP.INIでアップロードファイルの最大サイズを制限
できるようですが、ふつうのサイト利用者はPHP.INI
を変更できないと思います。
アップロードファイルの最大サイズをPHP.INIの設定値
より大きくしたいのですが、可能でしょうか?
29nobodyさん:03/03/25 23:10 ID:???
ini_set()
30nobodyさん:03/03/25 23:13 ID:???
分割してうp汁
31nobodyさん:03/03/26 01:39 ID:???
>>29
それ意味無い・・・(;´Д`)
32nobodyさん:03/03/26 06:27 ID:l1CVp/e0
>29
init_set() で設定しても設定値が変わりませんでした。。。
33 ◆Kiss.FX29M :03/03/26 07:45 ID:???
>>32
post_max_sizeはphp.iniか.htaccessに記述しないとダメ。
34nobodyさん:03/03/26 14:39 ID:???
>>22

ありがとうございました。
非常に助かりました!
35nobodyさん:03/03/26 19:33 ID:???
>>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 ?> に変えて試しました。

36nobodyさん:03/03/26 20:07 ID:???
>>35
セッションってクッキーかURLに自動的に埋め込まれるんじゃないの。
37nobodyさん:03/03/26 21:29 ID:???
デザインパタンというものに興味を持っています(が、良く分かってません)。
ttp://ns1.php.gr.jp/pipermail/php-users/2002-March/006009.html
にあるIterator って、これを使うことでどういうメリットがあるのでしょうか?

#class も良く分かってないけど。。。
38nobodyさん:03/03/26 21:41 ID:???
>>35 普通に
<?
print "<a href=\"***.php?page=$page";
?>
として、リンク先のページで
print $_SESSION['PHPSESSID'];
するとどうなります?
39nobodyさん:03/03/26 21:45 ID:???
>print "<a href=\"***.php?page=$page";

普通?
40nobodyさん:03/03/26 21:53 ID:???
あ。。ぜんぜん普通じゃないですね、ごめんなさい(汗
セッションを渡そうとせずにそのまま、ってな意味のつもりでした。

print "<a href= '***.php?page=$page' > xxx </a>";
41nobodyさん:03/03/26 22:14 ID:???
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
4241:03/03/26 22:38 ID:???
>>41
>GDライブラリ使って日本語をjpegデータに書きたいんだけど
思わずpngに出力してた・・。自己修正mOm
×imagepng($im);
○imagejpeg($im);
43nobodyさん:03/03/26 23:23 ID:2rsm8GBO
自分はこんな感じでコード書いてました。
$str = "????";
44nobodyさん:03/03/26 23:24 ID:2rsm8GBO
ユニコードは?になっちゃうのね
$str = "&#12461;&#12515;&#12525;&#12523;";
これでどうだ
45nobodyさん:03/03/26 23:35 ID:???
>>44
haihai
4641:03/03/26 23:59 ID:???
gdlibを削除して一から入れ直してみたけど
やっぱり、文字化けしたぁ・・。
>>43 >>44
一応やってみたけど、文字化けしたよ。
http://ns1.php.gr.jp/pipermail/php-users/2002-July/008634.html
これも参考にしたが解決しなかった。
藁をも掴むとはこういう事だな・・。
47nobodyさん:03/03/27 00:13 ID:3Dt/2EFv
48nobodyさん: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>
.....続く
49nobodyさん:03/03/27 17:27 ID:???
>>48
関数やクラスの前に、ループぐらい覚えた方がいいぞ。
50nobodyさん:03/03/27 17:29 ID:???
>>49
ループの意味を考えるとなぁ。
51nobodyさん:03/03/27 17:49 ID:???
>>50
じゃー繰り返し処理と言って見る。
52nobodyさん:03/03/27 17:54 ID:???
>>51じゃらちがあかん。もうちょっとできる奴はおらんかのう?
5349≠51:03/03/27 18:03 ID:???
>>52
PEAR::HTML_Template を使ったとしてもループするだろ。
何が気に食わん?
54nobodyさん:03/03/27 18:04 ID:???
じゃー反復処理と言って見る。

繰り返しだと思うんだが。
55nobodyさん: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>



56nobodyさん: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>";
}
すんませんこうでした。
こういう感じで関数にしたんだけどうまく行かないんです
おねげーします。
57nobodyさん:03/03/27 19:03 ID:???
>>55
しらないのはプログラミング言語だけにしとけ。
人に質問するなら丁寧に話せ。おちゃらけてんじゃねぇよ。
58nobodyさん:03/03/27 19:06 ID:???
どっちゃにしろ、本でも買って読んだ方がいいよ。
ちょっとひどすきる。
59nobodyさん:03/03/27 23:43 ID:???
>>56
斬新な発想に感心しますた
60nobodyさん:03/03/28 00:00 ID:???
>>57
素直に僕では分かりません。と言った方が潔い。
61nobodyさん:03/03/28 02:06 ID:???
>>60
ちょっとまてw
判らない奴がいるのか?
と煽ってみる。

必死だな
>>56=>>60
62nobodyさん:03/03/28 09:19 ID:???
>>61
残念ながらはずれだ。
63nobodyさん:03/03/28 09:56 ID:???
>>62
もっと捻れ
64nobodyさん:03/03/28 16:00 ID:NJ3N9Tri
動的に生成されるセッション変数の数及びセッション名を知ることって
できるんでしょうか?
なんとも例えようがないんですけれど。
65nobodyさん:03/03/28 16:05 ID:TDAPKVtP
6657:03/03/28 16:09 ID:???
>>64
セッション変数の数
count($_SESSION);

セッション名の取得
session_id();

じゃダメかい?
6765:03/03/28 16:27 ID:???
>>64
すいません、訂正が・・・。
セッション名→セッション変数名でした。。・゚・(ノД`)・゚・。
セッション変数の数は助かりました!
$_SESSIONそのものでよかったんですね〜。
6864:03/03/28 16:28 ID:???
>>67
>>64>>66
そして自分は>>64
なんてこったい。
6964:03/03/28 18:06 ID:???
自己解決しますた。
foreach($_SESSION as $key => $value){
echo $key;
}
でできました!
70nobodyさん:03/03/28 18:16 ID:ZCrkR7Y/
PHPをプログラミングしてOSXでチェック,動かす環境設定が出てる
サイトは?
71nobodyさん:03/03/28 18:21 ID:???
理解不能…ピーガガガガ
72nobodyさん:03/03/28 23:08 ID:???
>70 "PHP OS-X 環境設定" で健作汁
7370:03/03/30 01:31 ID:LPZR1jku
>>72 Thanks!
http://www.macfeeling.com/database/database01.html
でうまく行きますた!
74nobodyさん:03/03/30 15:10 ID:???
超がつく初心者質問で恐縮なのですが
1.MacOS 9.2でphpを書いてみたい
2.phpを覚えるのに何から最初は初めてみるのがベストか
(例えばcgiだったらフォームメールや掲示板を設置してみる、とか
改造してみながら触れてみるといった具合に)
ご教授いただけませんか?
phpに関してはデータベースと相性が良くて、cgiより処理が早く
htmlの中に記述できるweb専用のスクリプト、ということしか
知りません。比較的簡単な記述で出来るとどこかで読んだので
覚えてみたいなと思っています。
ですが、どこから手をつけたら良いのかわからないのです・・・。
検索したらOS Xでの情報は色々ありますがOS9とかだとダメなのでしょうか。
よろしくおねがいします。
75nobodyさん:03/03/30 15:15 ID:???
>>74
とりあえず

>超がつく初心者

ここから脱しろ。OSの勉強したりプログラムとは何かを学んだり。
76nobodyさん: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使用が多いので、これの適当なディストリビューションを薦める)
入れた方が楽できるし、コスト(=時間)も低いと思います。
77nobodyさん:03/03/30 16:09 ID:???
78nobodyさん:03/03/30 16:09 ID:???
79nobodyさん: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:
が表示されてしまうのはなぜですか?
80nobodyさん:03/03/30 18:10 ID:???
>>79
一回送信ボタンを押した後にリロード。の間違いじゃないですか?
81nobodyさん:03/03/30 18:19 ID:???
>>74
何をしたいか、という目的をはっきりするのが先だろう。
DBと連携したBBSを作りたいとか、Webメールサイトを作りたいとか。
82nobodyさん:03/03/30 18:29 ID:8gZxLTYu
>>80
そうです。
でも、どうしてそういう動作をするのか理解できないのですが、
そういう仕様ですか?
83nobodyさん:03/03/30 18:40 ID:???
>>82
IEならそういう仕様です。
84nobodyさん:03/03/30 18:41 ID:wfManVtB
箱庭諸島PHP版で登録者のIPがわかる方法とかありませんか?
あらしが出て、、
85nobodyさん:03/03/30 18:43 ID:???
>>84
消えろ。
86nobodyさん:03/03/30 18:44 ID:SkR8REgM
var_dump(system('ls'));
system('ls',$disk);
var_dump($disk);

みなさん どんな結果がでますか?
どうもsystem関数がうまくいかないっす
87nobodyさん:03/03/30 18:46 ID:???
>>86
開発環境はWIndowsです。とか。
88nobodyさん:03/03/30 18:48 ID:SkR8REgM
>>87
環境は freeBSDです
89nobodyさん:03/03/30 18:50 ID:???
>>88
セキュリティ上禁止されてるとか/binにパスが通ってないとかは?
90nobodyさん:03/03/30 19:01 ID:SkR8REgM
/binにパスってどういうことですか?
91nobodyさん:03/03/30 19:06 ID:???
>>90
悪い、俺自分が使ってるOSのことも知らない奴って初心者とは認めたくないのよ。
92nobodyさん:03/03/30 20:17 ID:SkR8REgM
>>91
safeモードが原因でした すんまそ
93nobodyさん:03/03/30 22:10 ID:8gZxLTYu
>>83
なるほど。
ありがとうございました。
9474:03/03/31 04:04 ID:???
>>76さん
ありがとう。OS Xに移行してから手を出すほうが良いんですね。
今ちょっと金銭的に余裕がないからしばらく先になっちゃうなぁ。
残念だけど。

>>81さん
目的を定めたくてもどこに照準をあわせたら良いのか
わからない段階なんです。phpのことをよくわかっていないので・・・。
(でも興味を持っている)

phpってwebプラグラマーとかプロの人じゃないと敷居が高いですか?
htmlはわかる(あとcgiの設置くらいなら)程度の素人なんですが・・・。
95nobodyさん:03/03/31 04:53 ID:???
>>94
いまのところ、phpの習得が目的で具体的に作りたいサイトはまだないってことだよねぇ。
そんなんでつづくのかなぁ。
パソコンには興味あるけど、具体的な用途はなくて結局ゴミになっていくパターンて
よくあったじゃない。それに似ているなと老婆心ながらそう思った。

言語的には全然難しくない。敷居は非常に低い。よって厨房が大量発生中...
htmlしか知らないのは痛いかもしれないけど、phpはサーバサイドで動く言語
と言うのを理解した上で頑張ってくれ。
96nobodyさん:03/03/31 06:49 ID:z41dsEAY
今度ISPにレンタルサーバ立ててPHPを使ったWebアプリを作る予定です。
そこではPHPLib, Smartyを使いたいと思っています。
コンパイルなどは許可されないと思うのですが、PHPLibって、そういう
環境でもインストールして利用できるのですか?
97nobodyさん:03/03/31 06:53 ID:???
>今度ISPにレンタルサーバ立てて

自宅鯖?ならコンパイルできるだろ。
98nobodyさん:03/03/31 07:25 ID:???
>>96
>今度ISPにレンタルサーバ立てて

そんな権限があるのだからコンパイルくらいなんぼでもやらせてもらえるだろ。
99nobodyさん:03/03/31 07:56 ID:???
>>97-98
春だなぁ
100nobodyさん:03/03/31 08:00 ID:???
>>99
>>96が春満開だからな。陽気に誘われた。
101nobodyさん:03/03/31 12:00 ID:bvUigJQk
phpでhogeディレクトリー以下にどれぐらいの容量を使用しているかを
調べるのはどうすればよいでしょうか?
102nobodyさん:03/03/31 12:16 ID:???
お前はここ見てゼロからやり直せ!
…みたいな初心者向けの解説サイトありませんか?
103nobodyさん:03/03/31 12:58 ID:???
>>102
マンモス本ぐらい買えよ。
104nobodyさん:03/03/31 13:24 ID:???
買うなんてもったいない。
105nobodyさん:03/03/31 15:08 ID:BOUrZzjH
PHP4.3.1を使っているのですが
リファラーはどのように取得するのでしょうか?

$referer = getenv("HTTP_REFERER");
print "referer:".$refere."<BR>";

これでは取得できないようですが
106nobodyさん:03/03/31 15:13 ID:???
>>105
そのページに直接(リンクを介さずに)アクセスしているからでは・・・
それと、本当にその通りに書いたのなら表示されるわけがない。
107nobodyさん:03/03/31 15:35 ID:wTMBGJsI
★みんなの情報局★みんなのリンク集★ココ最高★
↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓
http://www.pink-angel.jp/betu/linkvp2/linkvp.html
108nobodyさん:03/03/31 15:45 ID:???
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 を使用するには
どこをどう設定すれば良いのでしょうか?
109nobodyさん:03/03/31 17:26 ID:1OU1azxz
ある文字列から,たとえば最初の10文字を取り出したいときはどうすればよいですか?
110nobodyさん:03/03/31 17:40 ID:???
>>109
substr()
マニュアル嫁
111nobodyさん:03/03/31 17:43 ID:1OU1azxz
>>110
ありがとうございます.わかりました.
もう一つ,Perlでいうところのs/hoge/foo/はどうすればいいでしょうか
112nobodyさん:03/03/31 17:46 ID:???
>>111
わかってない
マニュアル嫁
113nobodyさん:03/03/31 17:49 ID:1OU1azxz
ごめんなさい.逝ってきます.
114nobodyさん:03/03/31 17:49 ID:???
>>109-112
コントですか?
115nobodyさん:03/03/31 17:51 ID:???
>>111
まず調べ

                        Perlがでれば・・・
116nobodyさん:03/03/31 18:07 ID:1OU1azxz
ごめんなさい.調べたら分かりました.許してください.すみません.
117nobodyさん:03/04/01 01:04 ID:???
い、い、いぬが出てきた! phpinfo()
118nobodyさん:03/04/01 01:25 ID:???
ワン!
119nobodyさん:03/04/01 02:11 ID:???
>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 "▼の方が多い";
}

?>
121nobodyさん:03/04/01 04:53 ID:???
>>120
> if ($_POST["a"] !== $_POST["b"])

if ($_POST["a"] != $_POST["b"])
122nobodyさん:03/04/01 04:56 ID:???
ちょいまて、

!== って型の比較検証する演算子じゃないよ。
123ど素人:03/04/01 04:56 ID:XkDgOhTm
>>121
それにしましたが同じでした・・・
124nobodyさん:03/04/01 04:56 ID:???
!== は型チェック付きの比較だからいいんじゃねえの?
そのままコピペして動かしてみたが、ちゃんと動いたぞ。
125ど素人:03/04/01 05:00 ID:XkDgOhTm
そんなバカな・・・
126121=122:03/04/01 05:03 ID:???
>>124
そだた。(汗
127121=122:03/04/01 05:04 ID:???
じゃない! 型付比較だけど、型のみの比較じゃない。
128121=122:03/04/01 05:06 ID:???
じゃ、なかったけ? (あーもー
if(gettype($_POST["a"]) != gettype($_POST["b"]))
でどよ。
129ど素人:03/04/01 05:09 ID:XkDgOhTm
>>128
ナイスガイ
130nobodyさん:03/04/01 05:11 ID:???
if    ($_POST["a"]!==$_POST["b"]){}
elseif ($_POST["a"] ==$_POST["b"]){}
これで完結してる
131ど素人:03/04/01 05:16 ID:???
あ。>>128だと『型が違う』の表示が出ないですね。
132121=122:03/04/01 05:18 ID:???
>>131
たぶん、数値入力でも文字列と認識しているのではないかい。
133nobodyさん:03/04/01 05:21 ID:???
!== : $a が $b と等しくないか、同じ型でない場合に TRUE
対偶は、
$aと$bが等しく かつ 同じ型 だな
134ど素人:03/04/01 05:21 ID:???
>>132
逆に文字列を入力しても数値と認識してるっぽいです。
135133:03/04/01 05:23 ID:???
ちげえよ(w >オレ
まぁなんだ、対偶じゃなくてelseのことな
136nobodyさん:03/04/01 05:24 ID:???
if    ($_POST["a"]!==$_POST["b"]){}
これいらね。何がしたいのか?
137ど素人:03/04/01 05:26 ID:???
TRUEの意味はBASICでいうところのTHENですよね?
138nobodyさん:03/04/01 05:28 ID:???
ど素人じゃないじゃんか。
139ど素人:03/04/01 05:30 ID:???
PHPは今日始めたところなのでど素人です。
BASICは中学のときちょこっとやりますた。
140ど素人:03/04/01 05:33 ID:???
数値以外を入力したときに『型が違う』と表示させたいんですよ・・・
141121=122:03/04/01 05:35 ID:???
>>140
is_numericを使えば
142nobodyさん:03/04/01 05:50 ID:???
おはよぉ
横からゴメ`/

> is_numericを使えば
PHPってこんな関数もあったんだ。今まで知らなかった。
数値チェックにわざわざ正規表現使って私っていったい・・・(汗
143nobodyさん:03/04/01 06:52 ID:???
Cafestaは、日本初のコミュニケーションポータルサイト
無料会員登録で、もれなく商品券が貰えるキャンペーン実施中!!
http://camellia16.fc2web.com/cafesta.html
144ど素人:03/04/01 12:04 ID:???
is_numericを使えばということなんですが、

bool is_numeric (mixed var)
varが数値または数値文字列である場合に TRUE、その他の場合にFALSEを返します。

このような形でマニュアルにあるものが多いんですが、
返しますというのを、具体的にどのように使えばいいのかがわからないですねー。
145nobodyさん:03/04/01 12:37 ID:16G3l11N
if()
146ど素人:03/04/01 12:44 ID:???
>>145
よくわかりました!!
147nobodyさん:03/04/01 21:27 ID:???
上司にPHPはお子様の言語だ、と馬鹿にされくやしいです。
しかし漏れは初心者なので言い返せません。
大規模サイトはPHPでは作れないから、というのが理由らしいですが、
なんでですか?!
148nobodyさん:03/04/01 21:29 ID:???
>>147
やろうと思えばできるんじゃない?型チェックが無いからレベルの低いプログラマとかSEが集まったら簡単に崩壊しそうだけど。
149147:03/04/01 21:33 ID:???
ちなみにその上司は「これからはJavaとLinuxだ」と言っていました。
だからといって他の言語にケチをつけるそいつが嫌いです。
つうか、むしろ最初からそいつが嫌いなんですけど。
150nobodyさん:03/04/01 21:35 ID:???
>>147
その会社は、
何の制作してんの?
言語は、
何をつかってんの?
151nobodyさん:03/04/01 21:35 ID:???
>>149
愚痴りたいだけなら消えろ。
152nobodyさん:03/04/01 21:40 ID:???
>>147 春休み暇なのか?(w
153nobodyさん:03/04/01 21:47 ID:???
>>152
解雇されて暇なんだろう。
154nobodyさん:03/04/01 21:54 ID:???
まあ>>147がPHPで大規模サイトを作れば済む話だな
155nobodyさん:03/04/01 22:28 ID:???
>>147
まあまあ、PHPもオブジェクト指向言語へと脱皮を遂げるみたいだから
いいじゃん。
156147:03/04/01 22:48 ID:???
>>148
そうですね。型宣言がないのはある意味みんなでやるとこんがらがりそうですよね。
>>150
ええと、うちの会社はJavaとかが中心です。まだ出来て5年たってない会社で、派遣が中心です。
なので、開発は独自でやっていません。
>>155
調べたんですが、やっぱりオブジェクト指向が大規模向けなんですね。もう少したてばPHPも
認められるようになりますかね。

俺も、>>154のように自分で大規模サイト作って上司をギャフン言わしたいんですが、
まだ小さい掲示板も作れないからこれから頑張ります。
157nobodyさん:03/04/01 22:54 ID:???
>>147
春休み厨にみえる
158nobodyさん:03/04/02 00:50 ID:???
>まだ小さい掲示板も作れないからこれから頑張ります。


よくそんなやつ雇ってるなその会社。
159nobodyさん:03/04/02 01:26 ID:B/samNKd
うちの会社もPHPからJSPに進みつつあるよ。
でも漏れを含めて2人はまだPHPで開発をしている。
もう1人はあと1ヵ月後に会社を辞める予定。
漏れは会社でどういう風な道を歩んでいくのだろうか。
まあそろそろ辞めてプログラマー以外になろうと思ってるんだけどねー。

まったくおもしろくねーんだよプログラムはよ!
ていうかひたすら同じような書き方なPHPばっかりだったらそら飽きるわ!
SQL引っ張ってきてfor文でまわして1行ずつ表示の処理ばっかりなんだよ!
160nobodyさん:03/04/02 01:50 ID:???
>159

じゃあ、たまには XML引っ張ってきてXSLTでどかっと表示させてみれば?
161nobodyさん:03/04/02 01:52 ID:???
それは、やり方が間違ってる
162nobodyさん:03/04/02 06:11 ID:???
>>159
>ていうかひたすら同じような書き方なPHPばっかりだったらそら飽きるわ!
>SQL引っ張ってきてfor文でまわして1行ずつ表示の処理ばっかりなんだよ!

さっさとライブラリにしろよ。
163nobodyさん:03/04/02 07:31 ID:???
>>159

飽きたならJAVA勉強すればー?

ったく使えねぇヤツだな。
164nobodyさん:03/04/02 13:19 ID:???
>147
一応yahooもPHPを今後使っていくらしいからな。
早くPHPで動けばいいね。
取りあえずPHPで大規模サイトは作れないのか?と賭けてみれば?
yahooがPHP化したら147は勝つんだから。
165nobodyさん:03/04/02 15:13 ID:???
javaに将来見えない気がするんですが・・・
166 :03/04/02 15:47 ID:???
このスレやな奴多いなって思ってたけど・・。
答える気もないのに(←答えらんないからだろうけど)偉そうな人多いし。
>>164はいい人だねー。たぶん普通のレスだけど、光って見えるよw
167nobodyさん:03/04/02 15:51 ID:???
別にYahooは全てPHPでやるってわけじゃないんだけど(汗
168ぷふぁ〜ん:03/04/02 16:17 ID:/rVTQekD
はじめまして、perlからPHPに引っ越してきた初心者です。

CGIで外部サーバ上のhtmlファイルのソースを取得する方法を
調べているのですがこれについて詳しく載っているサイトが
見当たりません..

ソケットを使うということは解っているのですが、プログラミング
初心者なこともあってどういうコードを書けばいいのかさっぱりです。
PHPマニュアル等もいろいろ見て回ったのですがどれも私には説明不足で..

ご存知の方、どうか宜しくお願い致します。m(__)m
169nobodyさん:03/04/02 16:25 ID:???
まぬある
file
fopen
fsockopen
さんぷるつき
170ぷふぁ〜ん:03/04/02 17:14 ID:/rVTQekD
マニュアルを見ても解らないようじゃダメすぎですよね、
もぅ少し勉強してきます、お忙しいところありがとうございました。(ぺこり)
171nobodyさん:03/04/02 18:14 ID:PsDG8e3I
フォームからポストして、MySQLをつかって文字をInsertしているのですが、
文字の中に「?」が含まれている場合は、「?」が「?」に化けてしまいます。
処理はEUCに統一しています。urlencodeなどで試しているのですが、うまく
いきません。解決策などありましたら、よろしくお願いいたします。
172nobodyさん:03/04/02 18:15 ID:PsDG8e3I
????????????MySQL????????Insert?????????
??????????????????????????????????????????
???EUC?????????urlencode????????????????
???????????????????????????????
?????????????????????
173nobodyさん:03/04/02 18:19 ID:PsDG8e3I
なんどもすみません。

>文字の中に「?」が含まれている場合は、「?」が「?」に化けてしまいます。
の文章は、以下の通りです。

>文字の中に半角の「¥」が含まれている場合は、「¥」が「?」に化けてしまいます。
174108:03/04/02 19:35 ID:???
FreeBSD を使っていてbuildconf を実行したときにlibtool のバージョンチェックに
引っかかってstop してしまう件ですが・・・
結局、ソースに含まれているlibtool 1.4.2 を使う方法が分からなかったので、
/build/buildcheck.sh 内のチェック行のexit 1 をリマークしてしまいました。
いくつかワーニングが出たものの、configure は生成されたので、
「まいっか。。。」しちゃいました。
#FreeBSD でPHP-RCを使ってる人ってどうやってるんだろう??
175nobodyさん:03/04/02 20:37 ID:???
そら勿論libtoolの最新を入れてるが。
176nobodyさん:03/04/02 20:39 ID:???
>>173

insertのSQLをここに貼ってみ
177nobodyさん: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」となります。

なぜなんでしょうか?
178nobodyさん:03/04/02 21:14 ID:???
$que = "insert into tb_item(C_TYPE, C_TEXT) values(¥"$hoge¥", ¥"$hoge2¥")";

の次に

echo $que;

入れてどんなSQLが表示されるか見てみれ。
179nobodyさん:03/04/02 21:29 ID:PsDG8e3I
エコーしました。う〜ん。
valuesの変数は初期化していませんので、
insert into tb_item(C_TYPE, C_TEXT) values("", "")
というかんじです。見る限り、問題ないように思います。
180nobodyさん:03/04/02 21:43 ID:???
valueが分からなきゃなんの判断も出来ないのだが。
181177:03/04/02 22:10 ID:9OeHk805
あそっか。すんません。

インサート以前に、先ほども、書いたのですが、
$hogehoge = $_POST["hogehoge"];
この状態ですでに、¥が文字化けしているのです。

182 ◆AngelH/kMI :03/04/02 22:44 ID:???
mysqlのvaluesの指定ってダブルクォートでもいいんだっけ?
自分はいつもシングルクォートなんだけど。

$que = "insert into tb_item(C_TYPE, C_TEXT) values('$hoge', '$hoge2')";

んで>177氏のはaddslashesとかmagic_quoteとかで検索すれば
解決する問題な気が。
183nobodyさん:03/04/02 23:15 ID:???
試してないけど、ダブルクォートはダメでしょ?
184nobodyさん:03/04/02 23:21 ID:9OeHk805
>ダブルクォート
え?そうなんですか?
values(¥"$hoge¥", ¥"$hoge2¥")";
で、インサートできてるのですが・・・
シングルで試してみます。\'でなくていいんですよね?
185nobodyさん:03/04/02 23:32 ID:???
いけるんだね。
186nobodyさん:03/04/02 23:33 ID:???
>>183
折角翻訳されてるんだからマニュアル読もうよ(目的のものが探しにくいけど)
http://www.mysql.gr.jp/jpdoc/3.23.x/manual.ja_Reference.html#String_syntax

「MySQLでは駄目とは言い切れないが、ANSIのSQL的には不適なので推奨しない」
187nobodyさん:03/04/03 01:03 ID:???
mb_strimwidth() http://jp.php.net/manual/ja/function.mb-strimwidth.php 
ですが、丸めた個所の端部の化けの回避方法はありますか?
188nobodyさん:03/04/03 01:14 ID:???
>>187
これで丸めると化けないはずだが?
189nobodyさん:03/04/03 01:24 ID:???
>>188
ありがとう。
apache + php4.3.1 php.ini extension=php_mbstring.dll 可
何でだろう?
190nobodyさん:03/04/03 01:28 ID:???
>>189
mb_string絡みの設定が正しく行われていないのでは。
191nobodyさん:03/04/03 01:35 ID:???
>>199 ありがとう。
mbstring.internal_encoding = EUC-JP 可で解決しました。

他に可にしておいた方がいいのがありましたら教えてください。
192nobodyさん:03/04/03 01:56 ID:???
>>191
各自の環境や構築するサイトによって違うのでなんともな。
マニュアルをよく読んでくれよ。

個人的にはマニュアルにあるeuc-jpユーザ用設定が一番問題が
少ないと思っている。スクリプトをeucで書く必要はあるけどね。
193nobodyさん:03/04/03 02:18 ID:???
>>192
ありがとう。
mbstring.language = Japanese
mbstring.internal_encoding = EUC-JP
今の所これで落ち着きました。
194nobodyさん:03/04/03 16:12 ID:XWfV91pg
php-2.0.2
http://www.php.net/~andrei/php-2.0.2.tar.gz

何なのこれ?
195108:03/04/03 17:46 ID:???
まだいらっしゃるかな??
>>175さん、libtool の最新を入れるってtar ball からインストール、ってことですか?
#unix 板で聞くべきでしょうか?
196nobodyさん:03/04/03 18:36 ID:???
普通に http://ftp.gnu.org/gnu/libtool/libtool-1.4.3.tar.gz から取ってきて

./configure
make
make install

でOKな筈だよ。
197nobodyさん: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実行したいのですが、解決できません。

アドバイスいただけますと、幸いです。
198108: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 を上書き
することにしました。
199nobodyさん:03/04/04 04:26 ID:CWbmmlFZ
PHPLibで、セッションデータの保存にSQLデータベースでは
なく、ファイルを使いたいのですが、できますか?
できるなら、やり方を教えていただけないでしょうか。
200nobodyさん:03/04/04 11:29 ID:RZxRYN1N
>>162

ライブラリとは?
201nobodyさん:03/04/04 11:40 ID:???
これだからPHP厨は┐(´〜`)┌
202nobodyさん:03/04/04 11:52 ID:AYp/uqxl
JAVAにはつきもののDBのコネクションプーリング
見たのはないの それとも 自力で、データベースの
コネクションを引き回すの?

データベースはoracle を使った大規模WEBアプリを
検討しています。

203nobodyさん:03/04/04 12:00 ID:???
>>202
> JAVAにはつきもののDBのコネクションプーリング
> 見たのはないの
ない。

> それとも 自力で、データベースのコネクションを引き回すの?
無理。ただ、Persistent接続はある。
204名無しさん@Meadow:03/04/04 12:57 ID:xYbXEF6T
>>202
一応できないことはない。使ったことはないけど。
http://sqlrelay.sourceforge.net/
205nobodyさん:03/04/04 13:26 ID:AYp/uqxl
>203
レスさんくす
phpでは あんまり需要がないのかな?

>Persistent接続はある。
これのことか? 

Ora_pLogon
Ora_pLogon -- 持続的な Oracle接続をオープンする
206nobodyさん:03/04/04 13:29 ID:AYp/uqxl
>204
サンクス
一応は見にいった。

207nobodyさん:03/04/04 18:42 ID:???
>>205
Persistent接続はそれのこと。
需要あるなしよりも、効率を考えたらプーリング機能は欲しいね。
208nobodyさん:03/04/04 20:56 ID:DPO7NsXp
フォームを使って、適当なファイル名($export_file)を記入し、以下のようにして
fopen("$export_file", 'w+');
データを書き込んでいます。

しかしこれだと、任意のフォルダにデータを書き出すこがはできません。
もちろん、既存のファイルに上書きならできるのですが、新規にファイルを
作成したい場合にはどのようにすればいいのでしょうか?(できるのかな?)
209nobodyさん:03/04/04 20:59 ID:???
>>208
フォルダってことはWindowsか。新規作成は普通にできるっしょ。
210nobodyさん:03/04/04 21:10 ID:DPO7NsXp
いえ、windowsに限ったことではありません。
osxなどでもできればいいかなと思っています。
windowsで、普通にできるというのは、フォームで、type="file"と指定する
ということですか?
211nobodyさん:03/04/04 21:44 ID:9h+fpMt8
掲示板等で
Mozilla/4.0 (compatible; MSIE 6.0; Windows 98)
を、PCとだけ表示させたり

DoCoMo/1.0/P503iS/c10
を、P503iSとだけ表示させるには、どう書いたら良いでしょうか?
212nobodyさん:03/04/04 21:57 ID:???
if(ereg("Mozilla",$hen)){echo"pc";}
elseif(ereg("P503iS",$hen)){echo"P503iS";}
else{echo"変ですか?";}
213nobodyさん:03/04/04 22:55 ID:???
echo $_SERVER["HTTP_USER_AGENT"];
214nobodyさん:03/04/04 23:07 ID:???
$hen = $_SERVER["HTTP_USER_AGENT"];
if(ereg("Mozilla",$hen)){$hen = "pc";}
elseif(ereg("P503iS",$hen)){$hen = "P503iS";}
else{echo"変ですか?";}
echo $hen."です。";
215nobodyさん:03/04/05 00:04 ID:???
$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;

でけました!
216nobodyさん:03/04/05 09:10 ID:???
>>210
新規作成するフォルダに、ファイル作成のパーミッション(アクセス許可)が無いといけない。
Windowsやmacの場合もそういう制限があるんじゃないの?
217210:03/04/05 09:19 ID:E09q+9L8
はい。個人で使うものなので、パーミッションは問題ありませんです。
既存のファイルを選択することはできるのですが、
新規ファイルを作成する場所(フォルダ)をどうすれば選択できるように
なるのでしょうか?
218nobodyさん:03/04/05 10:26 ID:???
>>217
ファイル名にフォルダ名をつける。
$export_file="./hoge/hoge.txt";
219217:03/04/05 18:08 ID:RCPiYo/6
う〜ん。もうちょとスマートな方法ないでしょうか?
220nobodyさん:03/04/05 18:25 ID:???
fopen($folder.$export_file, 'w+');
221nobodyさん:03/04/05 22:05 ID:???
空白か特定の文字列の場合に、処理をやめさせるってのはどうすれば…。
例えば掲示板とかで書き込みする時とか。

初心者です!(←これ言えば何でも許される)
222nobodyさん:03/04/05 22:29 ID:???
>>221
逃げを打つ前に説明の仕方を何とか汁(初心者スレ以外でやったら叩かれるぞ)
そもそも、処理をやめさせるって?
FormのTEXTの内容に、ある文字列(”氏ね”とか)があったら、書き込みを反映させたくないって事?
なら、if文の条件の中でpreg_match()関数でも使って、書き込みさせるかさせないか分岐とか。
preg_macth()の使い方はリファレンスでも見てくだされ。
223nobodyさん:03/04/05 22:33 ID:???
○書き込みさせるかさせないか分岐とか。
×書き込みさせるかさせないか分岐させるとか。

関数の使い方は>>2のPHP マニュアルへGO。
正規表現がわかんなかったら、それなりのサイトを探すべし。
基本的な内容程度なら載ってるサイトはちょこちょこあったと思う。
224nobodyさん:03/04/05 23:10 ID:???
もし、文字列に"初心者です!"が含まれたら投稿中止です。
if(ereg("begin",$moji)){echo"dame";exit;}
elseif(ereg("space",$moji)){echo"dame";exit;}
else{echo"iiyo";}  //正規表現のあたりを調べろと。
225217:03/04/05 23:46 ID:E09q+9L8
>fopen($folder.$export_file, 'w+');
この場合、テキストフィールドに朱入力して、
$folder,$export_fileに代入ということでしょうか?

ではなくて、ナビゲーションを使って、フォルダを選択して、
そこに任意の新規のファイル名を指定できればいいのですが。。。

226あぼーん:03/04/05 23:48 ID:???
             ∩
        ∧_∧   | |   / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
       (  ´Д`)//  < 先生!こんなのを発見シマスタ!
      /       /    |
     / /|    /      \  http://saitama.gasuki.com/yuusei/
  __| | .|    |         \
  \   ̄ ̄ ̄ ̄ ̄ ̄ ̄\     \_____________
  ||\             \
  ||\|| ̄ ̄ ̄ ̄ ̄ ̄ ̄|| ̄
  ||  || ̄ ̄ ̄ ̄ ̄ ̄ ̄||
     .||              ||
227nobodyさん:03/04/06 00:56 ID:???
>225
最も楽に作るという前提で。
up可能なフォルダを列挙してラジオボタンを付けて、
チャックしたフォルダにファイルをupする、とか。
フォルダとツリーで表示したいならopendir、readdir、is_dirで再帰しながら表示、とか。
[+]とか[-]でフォルダを閉じたり開いたりだと手間掛かるね。
228nobodyさん:03/04/06 14:18 ID:/QV6d5uq
質問です。
PHPでint関数を使うと

Fatal error: Call to undefined function: int()

と出てしまうのですが、PHPでintに該当する関数は何になるの
でしょうか?教えてください。
厨質だったらすいません。
229nobodyさん:03/04/06 14:22 ID:???
>>228
settype($i,"integer");
こうか?
230228:03/04/06 14:29 ID:/QV6d5uq
>>229
ありがとうございます。
調べてみたところsettypeを使うみたいですね。
ただintとは使い方が違うみたいで、そのまま置き換えられないようです。
自分でいろいろ試してみます。
お騒がせしました。
231nobodyさん:03/04/06 14:39 ID:???
int関数ってのがどういう動作を期待してるのか分からないけど
float(double)から整数に変換する & 数を0の方にまるめる
だけなら(int)$value のようにキャストできるよ
232229:03/04/06 14:41 ID:???
そうだ。C同様、PHPにもキャストがあるんだった。
233nobodyさん:03/04/06 15:06 ID:???
質問っす。ちょっとPHPとは離れてそうなのですが、
300個近いチェックボックスをPOSTしようとしているんですが、
$_POSTで値が取得できません。
何か制限とかあるものなんですか?
234aaaa:03/04/06 15:27 ID:/US/lhYB
235nobodyさん:03/04/06 16:20 ID:???
>>233
600個のcheckboxで試してみたけどちゃんと動きました。
getの場合でも問題無し。
制限があるとすれば、apacheの場合だと LimitRequestBody あたりかな。
でもMBのオーダーの設定になってると思うので、たぶん無関係かと。
formやphpソースを疑ってみてはいかがでしょうか?
236nobodyさん:03/04/06 18:41 ID:KOyF6yOz
phpでrefereを取る方法はいろいろありますが、
どう書くのが一般的ですか?

どっちが見やすいかで、小一時間討論しました
237nobodyさん:03/04/06 18:49 ID:???
どっちって言われてもなぁ....選択肢無しってことは新手の質問の仕方かのお。
マニュアルの「定義済みの変数」に載ってるよ。
238nobodyさん:03/04/06 18:57 ID:???
>>236
$_SERVER[HTTP_REFERER]
239nobodyさん:03/04/06 20:02 ID:3XWizH/3
240236:03/04/06 20:33 ID:KOyF6yOz
すいません、言い方誤りました。
refererとって、アクセスランキングをつける方法です。

選択肢はいろいろありますが、
私の場合はファイルをキューとして扱う。
つまり、一番最近アクセスがあったものが上の方におく。
という事です。

友人の場合は、ちゃんとアクセス数をカウントして
アクセス数順に並べるとのこと。

他にも方法はあると思いますが、
どんなのがいいんでしょうか?
241233:03/04/06 21:01 ID:???
>>235
- と _ のみ間違いでした。はやとちりスマソ。
thx!
242nobodyさん:03/04/06 21:45 ID:???
>238
初心者スレなんで正確に'HTTP_REFERER'とクォートで括りたいところ。
243nobodyさん:03/04/07 12:16 ID:hoqq1ppB
ユーザ関数を1つのファイルにまとめておきたいのですが、その関数を他のファイルから
読み込むには、includeなどで指定しないといけないのでしょうか?
244nobodyさん:03/04/07 13:30 ID:vjvunX5V
>>243 そう。
あと、auto_prepend_file/auto_append_fileディレクティブなどで
自動的に、全部のスクリプトに対して付けちゃう事はできるけどね。
245nobodyさん:03/04/07 19:11 ID:q77L0+Oc
ある文字列から、URLを含む文を抽出して配列に格納したいのですが
どのようにすればいいですか?
246nobodyさん:03/04/07 19:32 ID:???
>>245
正規表現を使う
247nobodyさん:03/04/08 15:00 ID:Fj+rJIyE
>244
ありがと。includeを一つ一つのファイルで指定するのは面倒なんですよね。
auto_append_file試してみます。
248nobodyさん:03/04/08 15:41 ID:???
perlでいうところの
my にあたる局所変数宣言っていうのはPHPではどうやるんでしょうか?
249nobodyさん:03/04/08 15:51 ID:AcET4E/D
PHPのチャットスクリプト探してるんですけど、
ADDS PHPフォーラム(ttp://www.mac68k.com/)のsimple chatってのがかわいかったんでDLして解凍してそのままUPして、index.phpにアクセスしてみたもののなんどログインしようとしても最初のindex画面にもどってしまうんですが、どこか設定いじるのでしょうか?
わかるかた教えてください。
250nobodyさん:03/04/08 15:56 ID:???
作った本人きけよ
251nobodyさん:03/04/08 16:25 ID:Fj+rJIyE
php.ini????????????????????
?????????????????
252nobodyさん:03/04/08 17:32 ID:+i7U7kfX
oracle に接続して emp テーブルの値を表示するサンプルはできたしかし
テーブル名が漢字で項目名も漢字のやつを表示させようとしたら

Warning: OCIStmtExecute: ORA-00911: 文字が無効です。
Warning: OCIFetch: ORA-24374: フェッチまたは実行してフェッチする前に、定義が行われていません。
とかいって怒られるのだが、漢字はだめなの?

253nobodyさん:03/04/08 17:36 ID:s/4eB37U
>>248
PHPはPerlとは逆にglobal宣言しないとデフォルトで局所化された状態。
254nobodyさん:03/04/08 18:10 ID:+i7U7kfX
252だけど oracle は Windowsサーバで稼動している
255nobodyさん:03/04/08 18:25 ID:???
>>253
sub hoge{
 my $a = 'mona'
 print $a;
  { my $a = 'giko' print $a;}
 print $a;
}
ってPHPではどう書くんでしょ?
myを省略するだけ?
256255:03/04/08 18:29 ID:???
やってみたら mona giko giko になっちゃいますな
mona giga mona って表示したいんですけど。
257255:03/04/08 18:47 ID:???
255のやつをPHPで書くと

function hoge(){
$a = 'mona';
echo $a;
giko();
echo $a;
}

function giko(){
$a = 'giko';
echo $a;
}

こんなメンドイことになるんでしょうか?
258nobodyさん:03/04/08 18:49 ID:???
>>257
本来あるべき姿です。Perlがいかに前衛的な言語であるかがわかるな。
259255:03/04/08 18:53 ID:???
>>258
マヂ?局所変数使えないの?PHPって
260nobodyさん:03/04/08 19:11 ID:???
やっとられんな。
261nobodyさん: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]);
みたいに....
でも 行頭に入る 『・』は日本語だからエラー出ますよね?
どうしたらいいんでしょうか?
ど素人なんでさっぱりです。調べてみたんですけど、みつからなくて。
誰かアドバイスお願いします!
262nobodyさん:03/04/08 23:07 ID:???
263nobodyさん: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開くのとブラウザと、向こうのサイトで区別して拒否してるんでしょうか?
264nobodyさん:03/04/08 23:36 ID:vCzfJEVd
あ、phpはレンタルサーバにおいているので、
ブラウザで見るのとはドメインが違います。
265nobodyさん:03/04/08 23:47 ID:???
ところで 本当にPHPでは局所変数っていうのは
存在しないのでしょうか?
266nobodyさん:03/04/08 23:48 ID:???
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 使おう
267nobodyさん:03/04/09 00:06 ID:???
>>265
局所変数バカか。答>>253
268sage:03/04/09 00:14 ID:tMXWJMSn
>>262さんありがとうございました!!
マルチバイト文字列とかそういう言葉(?)が出てこなかったので、
助かりました!
本当にありがとうございました。
269nobodyさん:03/04/09 00:15 ID:???
>>265
局所変数がないのではなく、
perlみたいなブロックがないということ ?
perlは何でもあるからね。
270263:03/04/09 00:40 ID:Uzz9bVZG
>>266
早速試してみました!→できました(゚∀゚)ありがd!
networkをもっと勉強する必要がありそう。。
ありがとでした〜(^^
271nobodyさん:03/04/09 00:50 ID:???
272nobodyさん:03/04/09 01:01 ID:???
>>269
PHPしか知らないってのも痛いが、perlしか知らないってのは
どうしょうもねぇなぁ。
273263:03/04/09 01:04 ID:Uzz9bVZG
>>271
あ、実はその部分の意味わからなかったんです(汗
なるほど、そういうclassがあるんですね。便利そうですね。
補足さんきうでした!
274nobodyさん:03/04/09 01:40 ID:oDK2LGgX
XREAでPHPをいろいろ試してます。
些細なことで申し訳ないんですが、ひとつお聞きしたいことがあります。
phpinfo() で画像が表示されません。
×印になってしまいます。
なんでですか?

ソースは以下の通りです。
----------
<?php
phpinfo();
?>
----------
275nobodyさん:03/04/09 02:01 ID:???
public_htmlでない
shared_htmlでる
276nobodyさん:03/04/09 02:18 ID:???
>>274
PHPのバージョンがふるかねぇ?
output_handlerの指定をしているとか。
277nobodyさん:03/04/09 02:35 ID:???
局所変数バカと言われたなぁ
PHPは本当に初心者なんだからもうちょい優しくしてくれよ
278274:03/04/09 03:04 ID:fs4GFxJp
>>275
ありがとうございます。確かに出ますね。
なんででしょう?
広告自動埋め込みが悪さしてるんですかねぇ

>>276
PHPのバージョンは 4.3.1 です。
output_handler の欄をみたら "no value"になってました。
279あぼーん:03/04/09 03:11 ID:???
あぼーん
280nobodyさん:03/04/09 04:00 ID:???
281nobodyさん:03/04/10 18:15 ID:???
要約すると、PHPはレキシカルスコープとかそういうものを
考えたことが無いような人向けの物なので気になる人は我慢してください。

ということ。
282nobodyさん:03/04/11 00:30 ID:???
>>281
あほか。(w
283nobodyさん:03/04/11 02:49 ID:???
あげ
284nobodyさん:03/04/11 03:07 ID:???
>>281
ある意味まったく逆だな。
285nobodyさん:03/04/11 13:55 ID:???
>>281
Perlはグローバル変数をサブルーチンの内部でみだりに参照することは
プログラムを、あっという間に自分でも読解不明にします。
根拠のある必要がない限り行わないでください。

すぐわかるPerl参照 
この書籍はとてもわかりやすく解説されます。
286nobodyさん:03/04/12 05:20 ID:sfZex8vW
>>277
教えてクンなんだから、どんなこと言われようが我慢
しろよ。それが嫌なら自分で調べろ。

グローバル変数を自由に使えることがPerlのコードを
難解にする要素だとは思えません。
要はコーディングの仕方しだいだと思います。
くだらない比較ですが、グローバル変数に関する文法
は、Perlのほうが使いやすいと思っています。

Perlのグローバル変数とPHPのdefineで定義する定数
宣言とは、ある意味で似ていますが、これについてもPerlの
ほうがいいと感じています。

変数スコープについては、PHPは確かにとっつきにくい
ですね。後発の言語なのに洗練されていない気がします。
287nobodyさん:03/04/12 05:55 ID:Nmxc4KKs
288nobodyさん:03/04/12 05:55 ID:???
>>286
結局慣れだろ、Cを知ってればPHPの扱いは自然に思える。

> Perlのグローバル変数とPHPのdefineで定義する定数
> 宣言とは、ある意味で似ていますが、これについてもPerlの

変数と定数では全然違うって。
289nobodyさん:03/04/12 08:32 ID:???
>>288
少なくとも後者は値が変わらないことが保証されるからな。
290nobodyさん:03/04/12 10:39 ID:???
ユーザー関数内で変数をレキシカルにしたいのですが
どうやれば良いのかわかりません。
function abc() {
if ( ... ) {
$abc = ""; <- この変数をレキシカルにしたい。
.....;
}
}
実際のソースとは少し違いますが、簡潔に書くとこんな感じです。
291nobodyさん:03/04/12 10:54 ID:???
>>290
デフォルトでローカルですが。
292nobodyさん:03/04/12 11:03 ID:???
ええと、上の説明だとif文内だけで有効にしたいのです。
関数外なら出来るのですが…。
Perlのmy?みたいな風でしょうか。
293nobodyさん:03/04/12 11:09 ID:???
1個の関数内で同じ変数名を使う意味が分からない。
294キッチン排他:03/04/12 13:08 ID:9ZnqNoT4
fopen("hoge.txt","w")
だと、hoge.txt の中身を一度空にしてしまうから、
ファイルロックしないとデータが飛ぶ可能性があるんですよね?

って事は、
fopen("hoge.txt","a")
みたいに "a" を使えばファイルロックする必要はないって
解釈で良いのでしょうか?
295nobodyさん:03/04/12 13:13 ID:???
>>294
専有ロックと共有ロックについて調べる。
296nobodyさん:03/04/12 13:24 ID:???
排他ロックと言いましょう。
297nobodyさん:03/04/12 13:27 ID:???
>>293
いちいち変数名を気にしなければいけない理由が分からない。
298nobodyさん:03/04/12 13:29 ID:???
>>297
気にするべきです。
299nobodyさん:03/04/12 13:48 ID:???
レキシカルスコープなら、変数が見える範囲を最小限にできるから、
絶対にPHPみたいな関数内でローカルな変数よりも狭くできる。

だから有利だと思うんだけど、どうかね。
300nobodyさん:03/04/12 13:54 ID:???
>>299
無用な混乱が起こるに一票。
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)が書き込みをする前}のデータならロックする意味がないと思ったので。

排他ロックを使えば、どっちみち問題なしって感じがするんですが。。。
共有ロックの存在意義がないように思うのですが、どうでしょう。

#なんか日本語が変なような感じもするんですけど・・・
302nobodyさん:03/04/12 14:11 ID:???
>>300
はぅ…この程度なのか。PHPユーザーって。
303nobodyさん:03/04/12 14:19 ID:???
flockシステムコールなら・・・

共有ロック
同時に複数のプロセスがロックできる。

排他ロック
ある瞬間にはたったひとつのプロセスしかロックできない。

共有ロックと排他ロックは同時にかけられない。
304303:03/04/12 14:20 ID:???
というわけで書き込めるかどうかは関係ない。
ロックをかけようとしなければ書き込めるし。
ロックをかけようとした時に排他ロックがかけられていたら、解除されるまで待つ。
305290:03/04/12 14:23 ID:???
290です。
あれから色々と検索や書籍で調べてみましたが
局部的なレキシカル可の方法は書いていませんでした。
やっぱり出来ないんでしょうか…。
306キッチン排他:03/04/12 14:27 ID:9ZnqNoT4
>>303
レスどうもです。

うーむ、いまいち理解できていない自分が憐れ。
今から仕事に行くので、帰って来てからまたお勉強します。

今、現在の考え。
「とりあえず、排他ロックを使えば問題ないかな。」
です。

では、これにて失礼します。
お付き合いありがとうございました。
307nobodyさん:03/04/12 14:29 ID:???
>>306
そだな。何でもかんでも排他ロックすれば取りあえずは安全だ。
今度はデッドロックの恐怖に苛まれることになるが。
308nobodyさん:03/04/12 15:09 ID:???
>>305
出来ないからもう調べなくていいよ。
309nobodyさん:03/04/12 15:29 ID:???
>>290
PHPとPerlは同じものだと思ってるのか?
いつまでもPerlと同じ書き方すりゃ、そりゃ引っか刈る罠。おまえバカだろ。(w  
310290:03/04/12 15:50 ID:???
>308
そうですか、出来ないとわかっただけでもスッキリしました。

>309
私はただ、出来るのか知りたかっただけなのですが
何故、あなたがそこまで私を小馬鹿にされるのか解りかねます。
311nobodyさん:03/04/12 17:49 ID:???
>>290
局所変数バカと同一人物と思われ、かつ
根本的にコーディングの問題がある事を指摘されたようですね。
がんばってください。
312nobodyさん:03/04/12 19:34 ID:???
>>310
309ではありませんが、
if文のブロック内のみ有効な変数を必要とする、コーティングの仕方に問題があると思う。
perlを作っている人もmyをそのような使い方のために作ってのではないと思うけどな。
313nobodyさん:03/04/12 23:55 ID:MIn0iMWR
んなあほな。最小限のスコープで記述し、妙なエラーの発生を防ぐっていうのは、近代的な方法だと思うんだけど、違うのか?意見を求む。
314nobodyさん:03/04/13 00:06 ID:???
グローバルにした方が都合がよいのならグローバルにする。
もちろんiとかaとかわけのわからん短い名前をつけたり、複数の目的に使ったりするのは御法度だけど。
315nobodyさん:03/04/13 00:34 ID:???
>>313
バカにあほといわれた。
ところで、宣言しない限りグローバル変数になってしまうperlが持つレキシカルスコープという
概念を持った処理系って他にあるの?
316nobodyさん:03/04/13 00:38 ID:???
そのためのモジュールがあるし、そこら辺は問題ないんじゃないの?<Perl
317nobodyさん:03/04/13 00:40 ID:???
というか、よく読んだら>315の言ってる意味が解らないや。
318nobodyさん:03/04/13 00:46 ID:???
>>317
スマソ。
perl以外でレキシカルスコープという概念を持った処理系が他にあるの?
って聞きたかったわけ。
319nobodyさん:03/04/13 04:28 ID:???
>>318
C++とかJavaとかは

if(hoge)
{
int a;
}

とかするとaは自分の生まれたブロックとその子孫ブロックでのみで生きられる。
320nobodyさん:03/04/13 04:47 ID:???
>>319
そうか、それは正直知らん&すまんかった。
Javaでも勉強するとしよう。
321nobodyさん:03/04/13 17:13 ID:???
>>319
それがレキシカルスコープなの?もしそうならCにも存在するということになるけど。
322nobodyさん:03/04/13 18:22 ID:???
PHP質問スレッドが次スレ立つ前に1000行ってしまってますた。
Part8立てようと思ったけど、ホスト規制で立てられなかったので
誰か親切でエロイ人立ててください。
おながいします。

↓現行スレ
【PHP】質問スレッド Part7
http://pc2.2ch.net/test/read.cgi/php/1044478561/l50
323nobodyさん:03/04/13 18:32 ID:???
>>321
そう。しかしPHPには無い。
324nobodyさん:03/04/13 18:45 ID:???
>>322
このスレに統合
325nobodyさん:03/04/13 20:37 ID:???
今後PHPにも出る可能性があるものだね。
326nobodyさん:03/04/14 00:55 ID:???
スレ立てますタ。
【PHP】質問スレッド Part8
http://pc2.2ch.net/test/read.cgi/php/1050249148/
327322: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()関数の直後でロックする事自体ムリって事ですか・・・

マニュアルちゃんと嫁ですね。
すいません。
330nobodyさん:03/04/14 03:31 ID:???
デッドロックは複数のファイルをいじくるようになったら考えろ。

で、その例だと重い処理やユーザが多い場合トラブる。
Aがデータ読む→Bもデータを読む→Aがデータ更新→Bもデータ更新
の時、BはAによる変更がなされていない古いデータを参照、処理している事になる。
fopen→施錠→読む・処理・書き込み→close が正解。

開錠は?と思ったなら手元の本のロック関係の項目を読み返せ。
331キッチン排他@職場:03/04/14 04:52 ID:nGNbFDFK
>>330
レスどうもです。

> 開錠は?と思ったなら手元の本のロック関係の項目を読み返せ。
実はまだPHPの本を持ってないんです。(webだけでなんとかやってるんですが)
近い内に、一冊PHP本を買ってみます。

修正前と修正後のソースを晒してみます。

[before]
http://www.kari.to/upload/source/d/1444.txt

[after]
http://www.kari.to/upload/source/d/1443.txt

こんな感じになってますが、ヤバイでしょうか?
332nobodyさん:03/04/14 06:28 ID:???
>>331
メールの送信はcloseの後の方がいいんじゃない。
333nobodyさん:03/04/14 11:19 ID:f50BSraC
ディレクトリのパーミッションを変更することってできますか?
chomd関数だとどうやらファイルしか扱えないみたいだし、mkdir関数は既存
のディレクトリに対してしかパーミッションの設定が聞かないようなので。
やりたいことは、ファイルのアップロード時に一時的にディレクトリのパーミッションを変更し、
アップが終了したら元に戻すってことです。環境はredhat Apache php4.3.1です。
334nobodyさん:03/04/14 11:21 ID:???
>>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始めたばかりの人間の戯言なので的外れなレスを
返しているかもしれませんが・・・
既存のディレクトリのパーミッションを変える関数があったらごめんなさい。
337nobodyさん:03/04/14 16:17 ID:R0bR1Nwj
338nobodyさん:03/04/15 08:49 ID:???
>>313とその他大勢の話の食い違いは、
同じ変数名を使うことを前提としているかどうかだと思うんだが。
また、変数を定義する順番も。

仮にスベテのブロック内でスコープが適用されるとしても、
$hoge = NULL;
function foo(){
if (true) {
}
}
という形の時に、if内に$hogeという局所変数を追加するような書き方
(たぶん>>293の書き込みがあったから、
こういう書き方をしたいと思ってると決めつけてるんだと思うが)
をするのは問題外だが、
function foo(){
if (true) {
$hoge =256;
}
}
というような形が先にあった場合、

$hogeのスコープを最小限に出来れば、
今後foo()内にスコープを持つ変数や
グローバルスコープの変数を追加する時に、
"うっかり"名前が重複してエラーになる可能性は低くなる。
特に複数人で開発を行う場合はありえない事ではない。
(もちろん注意して、重複しないようにするのが好ましいが)
339nobodyさん:03/04/15 18:01 ID:???
そうそう。実際、エラーになってくれればまだ幸せで、それがたまたま文法的に合ってたりすると、、、やっかいな「バグ」の原因になる。
340nobodyさん:03/04/16 00:54 ID:???
>>338
>グローバルスコープの変数を追加する時に
>複数人で開発を行う場合はありえない事ではない
関数名が重複しないように悩むことはあっても、
ローカル変数が把握できなくて悩んだことはないね。
それに、関数内に追加したくなるglobal変数なら全員把握するもんでは ?
大体、何のために関数化しているの ? php の開発が特殊なのかな...
341nobodyさん:03/04/16 01:18 ID:???
>>340
>大体、何のために関数化しているの ? php の開発が特殊なのかな...

複数人で作業を分担すると、個々の能力が違うわけで
開発規模が大きくなればなるほど、いびつなコードになっていく…ことがあった。
342nobodyさん:03/04/16 06:39 ID:???
>>341
全体を複数人でやるのはわかるが、ひとつの関数に複数人が同時に手を
入れることはそうそうないだろう。
343nobodyさん:03/04/16 07:32 ID:???
>341
最初の設計が悪いんだよ。
344nobodyさん:03/04/16 09:48 ID:???
むやみに小さく関数化させると遅くなるよ。
345山崎渉:03/04/17 12:01 ID:???
(^^)
346nobodyさん:03/04/18 02:01 ID:???
age
347佐々木健介:03/04/18 02:05 ID:???
     ______
    /_      |
    /. \ ̄ ̄ ̄ ̄|
  /  /  ― ― |
  |  /    -  - |
  ||| (5      > |
 | | |     ┏━┓|   / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
| | | |     ┃─┃|  < こんなサイトを見つけた
|| | | |  \ ┃  ┃/    \  正直、スマンカッタ
| || | |    ̄         \_________
http://freeweb2.kakiko.com/mona/
348nobodyさん:03/04/18 21:21 ID:???
>>340 >>342-344

読む人が一人なら問題は無いんだけどな。お前ら。全然分かってない。
349nobodyさん: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");


どうすればよいのです。
350nobodyさん:03/04/19 14:07 ID:???
ちゃんとエラー内容を見てるかい?
$this->arr[] = $value;
351nobodyさん:03/04/19 14:32 ID:???
>>350
array_push ($this->$arr,$value);でもエラーだということは、
$arr = array();じゃだめぽですか?
352nobodyさん:03/04/19 14:49 ID:???
こう書くと分かりやすいかな。
$this->$arr[] = $value;
$this->arr[] = $value;
353nobodyさん:03/04/19 16:56 ID:???
>>352
ありがとうございますて。
現在、ものすごい脱力感に見舞われています。
今後気をつけます。
354nobodyさん:03/04/19 17:55 ID:UAxx4/l2
abc.htmlってファイルをオープンして、
abc.htmlに、改めて指定してあるHTMLタグを
書き込んで、
そのファイルを閉じるにはどうすればいいのでしょうか?

いろいろ調べたが分からんので誰か教えてください〜
355nobodyさん:03/04/19 18:06 ID:???
>>354
日本語のレベルで変だ。
356354:03/04/19 18:09 ID:UAxx4/l2
スマソ。そこは見逃して教えてくれませんか?
要はabc.htmlというファイルに指定のタグを書き込み
たいんです。
たとえば、100とかいう数字程度なら分かるんだけど、
タグみたいに長い文字数の場合はどうすればいいのか・・・。
357nobodyさん:03/04/19 18:12 ID:???
>>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);


ぱっと思いついたのはこれ。
358356: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) ;
359nobodyさん:03/04/19 18:34 ID:???
>>356
やっぱり意味不明だよね。

>>たとえば、100とかいう数字程度なら分かるんだけど、
じゃ、この分かるんだけど。っていう分かるを書いてみてよ。
360356: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
362356:03/04/19 18:42 ID:UAxx4/l2
この『100』の代わりに
『<HTML><HEAD><TITLE>title</TITLE>
</HEAD></html>』っていうタグを入れたいんだけど。
363nobodyさん:03/04/19 18:44 ID:???
>>358

>マジでPHP初心者なんでforeachを使う理由がわからないっす。
file() を調べてみたら、分かるよ。
>>357
は、とあるデータに、htmlタグで囲むだけのサンプルであって、無理に
file を使うこともないし、foreach() を使うことも当然なし。
中に何書きたいか?でしょ。

たんに、
>>358
のようにしたきゃ、fopen() して、fwrite() して fclose() すりゃいい。
ここは、PHP初心者というレベルのものでもないと思うけどね。

だから、PHP初心者ではなく、全部初心者なんでしょ?
なら、素直に、そう書けば、それなりなフォローもつくでしょう。
364nobodyさん:03/04/19 18:48 ID:???
>>362

$fp = fopen("abc.html","w");
$data = "<HTML><HEAD><TITLE>title</TITLE></HEAD></html>";
fwrite($fp,$data);
fclose($fp);

エラー処理はしてないけど、まぁ。
365nobodyさん:03/04/19 18:52 ID:???
356と363は日本語を上手く使えない罠
366356:03/04/19 18:54 ID:UAxx4/l2
>>363,364
なるほど。ありがTO〜〜。
ちなみにまぁPHP初心者をプログラム初心者と同義で使ってたよ。
言葉足らずってやつだ。
367nobodyさん:03/04/19 18:56 ID:???
>>366
>言葉足らずってやつだ。
意味変わってる。
368356:03/04/19 18:57 ID:UAxx4/l2
ちなみにfput とfwriteはどうやって使いわけるんだろう。
ま、これは本かなんかで調べるダス。
教えてくれたらうれP〜が
369nobodyさん:03/04/19 18:58 ID:???
>>368
改行のあるテキスト用。
370nobodyさん:03/04/19 18:58 ID:???
371356:03/04/19 19:02 ID:UAxx4/l2
ごめん、もう少し質問。
たとえばタグが<FONT size="5">とかだったら、
$data = "<FONT size="5">";
という風に""がゴッチャにならないのでしょうか?
372356:03/04/19 19:04 ID:UAxx4/l2
>>369-370
なるほど、そうなんだ。勉強なりました。どもです。
373nobodyさん:03/04/19 19:05 ID:???
>>371
エスケープします。

$data = "<FONT size=\"5\">";
374nobodyさん:03/04/19 19:05 ID:???
>>371
いいかげんにしないと頃すぞ
375356:03/04/19 19:06 ID:UAxx4/l2
ワカタ!!エスケープシーケンスって奴を使う??
376356:03/04/19 19:07 ID:UAxx4/l2
>>373
ありがとうございます。マジで感謝します。
>>374
とりあえずお前がシネヨw
377nobodyさん:03/04/19 19:07 ID:???
>>375
DOSのBASICプログラマか何かか?
378nobodyさん:03/04/19 19:09 ID:???
今データベース操作のPHPを作っているんですが(MySQL)
データベース接続中にエラー表示でexit;すると、
自動的に切り離ししてくれるんですか?
379nobodyさん:03/04/19 19:10 ID:???
>>378
最悪コネクション切れるからなぁ。
380nobodyさん:03/04/19 19:11 ID:???
マニュアルの mysql_connect を嫁
381bloom:03/04/19 20:10 ID:PZJVQOkw
382nobodyさん:03/04/19 21:23 ID:+e8LI5YY
大人の出逢いから ピュアな出逢いまで・・・。
素敵な お相手が貴方を待っています!
もちろん 女性は完全無料です!
http://www.sweet.st
383動画直リン:03/04/19 21:41 ID:PZJVQOkw
384tantei:03/04/19 22:15 ID:???
★あなたのお悩み解決致します!!
●浮気素行調査
彼氏、彼女、妻、夫の浮気を調査致します!!
●別れさせ工作
あらゆる手段を使ってターゲットを別れさせます!!
●盗聴器盗撮機発見
あなたの部屋に誰かが仕掛けているかも!!
●行方調査
行方不明になっている家族の消息を調査致します!!
●電話番号から住所割り出し
一般電話、携帯から住所を割り出し致します!!
その他人生相談からどんなお悩みでも解決いたします!!
 直通  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:???
∧_∧
(  ^^ )< ぬるぽ(^^)
387nobodyさん:03/04/21 12:56 ID:AYv3e7ja
携帯からPOS送信でPHPにデータをおくってるんですが
NAME指定がないので$HTTP_POST_VARSで受信できません。
なにかPOST使用で方法ないですか?
388nobodyさん:03/04/21 14:21 ID:5cXc42kk
ホントに初心者でバカな質問だと思いますが、
phpの処理後に特定のページに強制的にジャンプさせる方法はないでしょうか?
html側での話かもしれませんが関連本を読んでも分かりませんでした。
389nobodyさん:03/04/21 14:48 ID:6OPNxtTd
390nobodyさん:03/04/21 14:56 ID:???
あたり前の事だけどPHPマニュアルって便利だよね。
391nobodyさん:03/04/21 15:36 ID:???
>>387
phpinfo()で どこに値が入ってるかみてごらん
392動画直リン:03/04/21 15:41 ID:ukRLYPuy
393nobodyさん:03/04/21 15:55 ID:AYv3e7ja
>>391
携帯からのPOSTなんでして
ただphpinfo();だけをかいたら携帯の方に
出力してしまってエラーになると思います。
結果をファイルに保存とか可能でありますか?
394nobodyさん:03/04/21 17:08 ID:???
>>387
php.ini
; Always populate the $HTTP_RAW_POST_DATA variable.
always_populate_raw_post_data = On
395nobodyさん:03/04/22 10:24 ID:XwTWu/DF
>>394
当方phpinfo();を使用してバージョンみてみますと
PHP Version 4.2.3となります。
php.iniをみてもalways_populate_raw_post_dataと
いう項目が存在しません。
追加して書いてもよろしいでしょうか?

データベースにある得点のランキングを作ろうと
してましてそのランキングに対して順位をつけるには
上位からカウントすればいいんですが同じ点数があった
時の処理の方法がわかっておりません。ご教授して
いただければうれしいです
396bloom:03/04/22 10:26 ID:+bjLBjB/
397nobodyさん:03/04/22 14:14 ID:XwTWu/DF
always_populate_raw_post_dataを追加することに
よりPOSTでもGETでも読み込めるようになりました。
今データベースの値の最大値を取得する構文を考えて
います。MySQLのコマンドプロンプトからでは
select max(SCORE) from rankで最大値が求められますが
これをPHPから取得するにはどうのようにするのでしょうか?
398nobodyさん:03/04/22 14:22 ID:???
>>397
mysql_connect()
mysql_select_db()
mysql_query()
mysql_fetch_***()
マニュアル嫁
399bloom:03/04/22 14:27 ID:+bjLBjB/
400nobodyさん:03/04/22 14:45 ID:XwTWu/DF
データの更新追加などはわかるんです。
SQLでMAXとかCOUNTとか
の結果を取得方法がわからないんです。
401nobodyさん:03/04/22 15:07 ID:???
>>400
http://jp.php.net/manual/ja/ref.mysql.php
の例で分かりませんか?
402nobodyさん: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を
つかって分解しないといけないんですかね。
もっとスマートなやり方があるとは思いますが。
403nobodyさん:03/04/22 15:27 ID:???
>>402
$max=mysql_fetch_row($TOP);
echo $max[0];
とか?
404nobodyさん:03/04/22 15:33 ID:???
>>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
405nobodyさん:03/04/22 15:34 ID:XwTWu/DF
>>403
すごいすごい、やっと表示できました。
これで先にすすめることができる。
ありがとうございます。
次の目標的にはPOSTで送られてきた
データが現在何位という表示をさせることです。
また、時間かかりそう
406nobodyさん:03/04/22 22:32 ID:tN1GJC+t
PHPに直接アクセスするとトップへ転送させ、トップからリンクをたどって
そのPHPファイルにたどり着かせることは可能でしょうか?

HTTP_REFERERを使うというところまではご教授してもらったのですが
だんだんずれてきたんで移動してきました。

ご教授ください
407nobodyさん:03/04/22 22:44 ID:???
>>406
CGIのやり方は見つけたらしいから、それと同じやり方でいいよ
408PHPよろ:03/04/23 17:59 ID:???
・AAAA
・BBBB
・CCCC
とあり、AAAAをクリックすると
・AAAA
内容内容内容内容内容
内容内容内容内容内容
・BBBB
・CCCC
さらにCCCCをクリックすると
・AAAA
内容内容内容内容内容
内容内容内容内容内容
・BBBB
・CCCC
内容内容内容内容内容
内容内容内容内容内容
となり、AAAAをクリックすると
・AAAA
・BBBB
・CCCC
内容内容内容内容内容
内容内容内容内容内容
となるPHP教えてください。
javascriptで可能ですが、できるならばPHPで、と思っての質問です。
409nobodyさん:03/04/23 19:05 ID:???
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が出てきた時に面倒だと感じたらもっとキレイなやり方を次に考えてみる
410nobodyさん:03/04/23 21:25 ID:???
>javascriptで可能ですが、できるならばPHPで、と思っての質問です。
アホ
411PHPよろ:03/04/23 22:27 ID:???
>>409
サンクス。
412質問さん:03/04/23 22:53 ID:m9D4gJ4Y
あっあのう、まだPHP始めたばかりなのですが、
Perlであったqq();のような関数はPHPにはないのでしょうか?
エスケープシーケンスで\"とかやるのはHTMLが見にくくなって嫌なのですが・・・。
よかったら誰か教えてくださいお願いします。。。
413nobodyさん:03/04/23 23:41 ID:???
ないです
414nobodyさん:03/04/23 23:48 ID:pKnrziPv
>412
ない(と思う)。
つかHTMLのクォートは''とシングルクォートでは駄目なの?
文法的にはどっちでも構わないから。

折れダブルクォートの変数展開も使わないで、基本的にドットで
結合するスタイルだから、エスケープがどうとかあんまり気になんない
415nobodyさん:03/04/23 23:51 ID:???
>>412
変数が展開されないが、シングルで括るとか。
数行あるならヒアドキュメントにするとか。
416nobodyさん:03/04/24 04:51 ID:vt0uN1CM
PHPのオブジェクトライフサイクルがわけわかめです。
データーベースの持続的接続ってどんな状態だ?
CGI=リクエストごと
サーブレット=常駐
PHP=KEEP_ALIVE が終了したらexit?
なんでしょうか。PHP本を何冊も立ち読みしたけどわからない。
使用した感じではリクエストごとにdb切断されているように感じるのですが。 
417nobodyさん:03/04/24 04:54 ID:x2ip/9xn
418nobodyさん:03/04/24 05:13 ID:???
>>416
httpdのchild process単位で接続と切断する感じ。
phpinfo()で何本持続的接続しているかわかる。
419nobodyさん: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 にすれば警告が抑制されるのは
わかるのですが、できれば警告がでないようにコーディングしたい
と思っています。
この警告がでないようにコーディングすることはできるのでしょうか?
420nobodyさん: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だとどうなるのですか?
421nobodyさん:03/04/24 20:03 ID:???
422nobodyさん:03/04/25 00:07 ID:???
セッションを使わずにheader( "Location: hogehoge.php" )
で移動した先のスクリプトにデータを渡す方法はありませんか?
423nobodyさん:03/04/25 00:19 ID:n9QsKzvY
>422
Locationで指定するURIに?以降を付けて、
GETで渡すのは駄目?HTTPリダイレクションは
ブラウザの動作に依存すると思うし、
実際にやったことないんだけど。
あとはファイルやDB等に書きこんでおいて、
それを先方で読み込むとか。同じサイト下の
スクリプトならcookieという手もあるかな。
セッションを使わない=cookieは使わないという
意味かもしれぬが。
424nobodyさん:03/04/25 01:01 ID:???
header("Location: 〜")はGETになるみたいだね。IE5.5@Win2k
フォームからGET、POSTで渡すだけなら、フォーム自体のactionを変えるのもいいかも
425422:03/04/25 01:41 ID:rPJQ8b/F
>>423-424
GETでの受け渡し成功しました
ありがとうございました
426nobodyさん:03/04/25 13:15 ID:???
変数や関数の名前の付け方がイマイチはっきりしません。
マンモス本見ても
clasn HogeHogeFunction () {
function printTableHeader() {}
function IsPageChangeRequested() {}
}
のようにクラスのメンバ関数が大文字で始まってたり小文字で始まってたりします。
427nobodyさん:03/04/26 00:32 ID:cOpB+yiK
>426
あの本は何人かの共著で、残念ながらサンプルコードの
コーディングの規約は必ずしも統一されたものとなっていません。
言語上の制約を受けない部分(が多い)なので、自分の中で決めるか
どこかの規約に従うとかそういう感じになります。

http://utvikler.start.no/code/php_coding_standard.html#names
というのもありますが、私は他の言語(Javaとか)で比較的多く使われる
スタイルに合わせています。メソッドの動詞部分は小文字等々。

#でもtabはスペース3文字だけどなー
428426: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
*/
こういう統一されたコメントとかってソース読み込んでドキュメント化してくれるツールがあるんだろうなあと、
今はわからず、とりあえず真似てかいてます。
429nobodyさん:03/04/26 06:33 ID:???
突然の質問、失礼します。
フォームに書き込まれた内容とホストをログファイルに書き込む方法を教えていただけませんでしょうか?
どうか、お願い致します。
430nobodyさん:03/04/26 08:40 ID:???
>>429
初心者とそれ未満は明確に区別/差別される。
431nobodyさん:03/04/26 14:57 ID:hwQat90v
index.htmlというトップページにダイナミックコンテンツを埋め込みたいと思い、
PHPが実行可能になるように.htaccessファイルにAddTypeを記述して、PHPが実行されるようになりました。

そうすると以下のディレクトリ全てにこの設定が適用されてしまいます。
”そのディレクトリだけ”(以下は含まない)にするにはどうすればいいでしょうか?
432nobodyさん:03/04/26 14:59 ID:???
やってないので適当だが、
<Files index.html>
 AddType 〜
</Files>
でどうだ?
433nobodyさん:03/04/26 15:13 ID:???
>>432 
それってindex.htmlという名前全てに適用されると思ってました。
やってみます。ありがとう。
434nobodyさん:03/04/26 15:31 ID:???
>>432
駄目でした。
以下のディレクトリの全index.htmlでタイプが変更されてしまいました。

435nobodyさん:03/04/26 15:41 ID:???
>434
ファイル名をPATH付きで書いて、他の"index.html"にマッチしないようにしたら?
436nobodyさん:03/04/26 15:43 ID:???
<Location>てのもある
437435:03/04/26 16:00 ID:???
<Files>ディレクティブの説明みてみたけど、パス付きの指定は出来ないかも。
だとしたら、下位ディレクトリ毎に.htaccess置いて上位の指定を打ち消すかかね。
438434:03/04/26 16:00 ID:???
やっぱり駄目でした。

<Files /usr/local/apache/htdpocs/index.html>
 AddTyoe
</Files>
これでも駄目だし、パスの部分を/index.htmlに変えてもも駄目。
<Files>を<Location>に変えてもうまくいきませんでした。

439435:03/04/26 16:20 ID:???
>434
良い解が浮かばないので、続きは「.htaccessの偉い人 Part3」でヨロ
http://pc2.2ch.net/test/read.cgi/php/1019888234/l50
440nobodyさん:03/04/26 16:25 ID:???
>>439 
どうもす。けど、そのスレ初心者向きじゃないので書き込み躊躇してます。
こういう方法で誤魔化そうかとも思ってます。
<frameset rows="100%,*"" frameborder="NO" border="0" framespacing="0">
<frame src="index.php">
<frame src="dummy.html">
</frameset>
441nobodyさん:03/04/26 22:20 ID:???
PHPでエラーが起きたときにエラーメッセージを出さずに、
「サーバーメンテナンス作業中です。しばらくお待ちください」
って出すことってできるのでしょうか?
442nobodyさん:03/04/28 00:39 ID:???
echo "サーバーメンテナンス作業中です。しばらくお待ちください";
443nobodyさん:03/04/28 00:41 ID:???
>>441
apacheってエラーコードごとに表示するページって設定できなかったっけか?
444キッチン排他@職場:03/04/28 00:43 ID:Zm4ixUay
>>440
DirectoryIndex index.php index.html

ってのは、どうでしょうか?
URLは、/止めにしないと駄目ですけど。
445nobodyさん:03/04/28 01:56 ID:???
保守

PHPに関するアホな質問はここでやれ。今回からMySQLも受付開始。
アホな質問であっても詳しく質問すること。
446nobodyさん:03/04/28 02:19 ID:Sq8FYfsY
png2wbmp関数の引数int thresholdには何を指定するのでしょうか?
マニュアルにも書かれていないようなので。
http://www.php.net/manual/ja/function.png2wbmp.php
447nobodyさん:03/04/28 02:28 ID:???
>>441
エラー処理関数を使う。
http://www.php.net/manual/ja/ref.errorfunc.php
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[フィールド名][レコード番号] という感じで二次元配列にしたい場合には
どうしたら良いのでしょうか?
450nobodyさん:03/04/28 10:32 ID:6M2G463M
linux板で聞けとか怒られそうなのですが質問させてください。
ある時間になるとPHPスクリプトを走らせたいのですが、
cronでブラウザ(mozilla等)を起動し、phpファイルを走らせようと安易に考え
下記のような感じでcrontabを書きましたが、その時間になっても実行されません。

17 * * * * mozilla http://*******.php &
(毎時間17分に******.phpを実行)

どのような方法でphpスクリプトの自動実行を行ったほうがよいのですか?
教えてください。
451nobodyさん:03/04/28 10:48 ID:???
>450
どっかで、外サバからつついてくれる無料サービス見た。
452nobodyさん:03/04/28 11:08 ID:???
>>450

CLI版のPHPで実行じゃだめなの?
453nobodyさん:03/04/28 14:20 ID:???
>>450
.php をURLで指定してるの?
454nobodyさん:03/04/28 14:41 ID:???
>>450
普通、wgetを使う。
455nobodyさん:03/04/28 15:15 ID:???
>>450
cron から mozilla を起動しようとするその発想に桃の木
456nobodyさん:03/04/28 15:19 ID:6s4F0ZI3
IISでPHP 4.3.1(Win32)のISAPI版をインストールしたんですが、
フォームから入力した値をphpに渡そうとすると
変数が空になってしまうのですが何か設定が悪いんでしょうか?

こんな現象ないですか?
457nobodyさん:03/04/28 15:35 ID:???
phpinfo();
458nobodyさん:03/04/28 15:35 ID:???
>>456
あんたの頭がglobal_register
459456:03/04/28 15:49 ID:6s4F0ZI3
phpinfo();はフツーに表示されます。

XOOPSもちゃんと動いてんだけどなあ・・・
単純にフォームからphpに値を渡すスクリプト書いただけなのに
うまくいかないんだよ。謎
460nobodyさん:03/04/28 15:49 ID:???
>>459
ソースup
461456:03/04/28 15:55 ID:???
>>460
<?php
phpinfo();
?>
462nobodyさん:03/04/28 15:58 ID:???
>>461
なめてんのか? 
463456:03/04/28 15:59 ID:6s4F0ZI3
>>460
ありがとー

ソースっつってもこれのサンプルをコピペしただけなんだけど
ttp://itb-tech.itboost.co.jp/php/php_09.php

461は騙りだよ
ID出しといてよかった
464456:03/04/28 16:02 ID:6s4F0ZI3
あ、php4つかってるから.php3は.phpに直した
465nobodyさん:03/04/28 16:09 ID:???
>>463
なら、答えは>>458だね。マニャール読みましょ。
http://www.php.net/manual/ja/tutorial.forms.php
466456:03/04/28 16:22 ID:6s4F0ZI3
>>465
おおお、ありがとう!おかげでどうにか動きました。

この設定、4.2.0以降はデフォルトでoffになってるのネ
前にちょっとPHP触ったとき特に意識しないで動いたから
今思えば4.1.xだったのかも。

とにかくひとつ勉強になりました。ありがとう!
467nobodyさん:03/04/28 16:23 ID:???
phpinfo(); だけだと不親切だったか...

フォームの値を受け取るスクリプトにphpinfo()を付け足すと、
値が渡ってるか・どんな変数に入ってるか分かる。
468456:03/04/28 16:25 ID:???
>>467
なるほど、ありがと
469bloom:03/04/28 16:29 ID:uuOaaVb8
470nobodyさん:03/04/28 16:33 ID:GydV7ttx
$A = "abc,123";
となっていた場合、「abc」と「123」で分けるにはどうすればよろしいですか?
471456:03/04/28 16:39 ID:???
ほいじゃ今度は俺がうるおぼえの記憶から

>>470
http://www.php.net/manual/ja/function.split.php

これじゃなかったっけな
472nobodyさん:03/04/28 17:10 ID:???
http://www.php.net/manual/ja/function.explode.php
$A = "abc,123";
list($ei,$su) = explode(",", $A);
473470:03/04/28 18:30 ID:???
>>471>>472
どうも、ありがとうございました。

ちなみに、「うる覚え」ではなく「うろ覚え」だったりします。
474nobodyさん:03/04/28 20:11 ID:???
2chで揚ゲアシっても
475nobodyさん:03/04/28 20:17 ID:???
>>474
わざとやってるならほほえましいんだが素だろ?思いっきり。
476nobodyさん:03/04/29 00:57 ID:???
マジレスしなくっても
477nobodyさん: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なんていうオプションがあるんですか?
478nobodyさん:03/04/29 07:07 ID:???
>>477
./configure --help
479nobodyさん: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>");
?>
480美人OL:03/04/29 14:56 ID:???
20代OLです毎日上司のセクハラや通勤電車での痴漢でストレスがたまっていた
そのときにネットで見つけたアダルトDVDショップ以前からオナニー用にDVD
が欲しかったのですぐ注文しました、とても安くてびっくりしましたが次の日には
もう届きました私が買ったのは、オナニー、レズ、レイプです毎日オナニーしてま
す。
http://www.net-de-dvd.com/
481479:03/04/29 15:46 ID:rtB47Uuv
ちなみに表\示と表示されます。
482nobodyさん:03/04/29 15:50 ID:???
>>481
slashes
483nobodyさん: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のパスは、例文通りで問題無いでしょうか?
(回答したファイル等は、全て教科書通りの場所に置いています)

初歩的な質問ですが、どうかご教授下さい。
484bloom:03/04/29 16:29 ID:23csOg+c
485385: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内のコメントを参照
486nobodyさん:03/04/29 21:14 ID:rtB47Uuv
>482
スマソ。あれこれ悩みましたがやぱり分からないです。
UTF-8でも同じようになります。鬱
487nobodyさん:03/04/29 21:42 ID:???
>>486
magic_quotes_gpc
488nobodyさん:03/04/29 22:16 ID:rtB47Uuv
>>487
レンタル鯖なんですが、
ひょっとしてスクリプトごとの設定変更って付加ですか?
489488:03/04/29 22:32 ID:rtB47Uuv
ヤターーーーー!
stripslashesでデキターヨ。
ありがとーーー!
490nobodyさん:03/04/30 00:14 ID:???
よかっがね
491nobodyさん: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です。
原因がわかりません。教えていただけませんか?
492nobodyさん:03/04/30 00:40 ID:???
何をしたいのか分からないけど、処理のされ方はこういう感じになるよ。

if ($pass == $pass_a) 違うのでelseに分岐
$aに2を代入
break(つまりfor文から脱出)

期待する動作はどういう物なの?
493nobodyさん:03/04/30 00:47 ID:???
つか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の区別の必要が無い)
494491: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になっているはず)なのに、間違っていると表示されるので困っているわけです。
495nobodyさん:03/04/30 00:48 ID:???
ダメじゃん>オレ
file()は改行コードも含むからchop
496nobodyさん:03/04/30 00:58 ID:zAli2vhE
>>493>>495
どうもです。

「ID」が存在しない場合とPASSが間違っている場合のエラーメッセージを分けたかったので>>491のようなスクリプトにしてみました。foreach()についてはまだ学んでいないのでマニュアルを読んでおきます。
それと、図々しいかもしれませんが、今後のためにも>>491で「$pass == $pass_a」にならない原因を教えていただけませんか?
497nobodyさん:03/04/30 02:57 ID:???
スクリプトとタグの違いって何?
教えてくれ
498nobodyさん:03/04/30 03:00 ID:???
一応age
499nobodyさん:03/04/30 03:06 ID:???
>>497
突っ込みどころはあると思うが
programming language と markup language
でとりあえずよしとしてくれ。
500nobodyさん:03/04/30 04:15 ID:???
>>499
余計にややこしくなってしまったぞ
501nobodyさん:03/04/30 05:07 ID:???
スクリプト 3 [script]
(1)手書き文字に似せた欧文活字の書体。儀礼的な印刷物やカタログなどに用いられる。
(2)映画・放送の台本。
「―-ライター」
(3)スクリプターによって記録されたデータ。
(4)コンピューターに対する一連の命令などを記述したもの。

タグ 1 [tag]
(1)付け札。荷符。
(2)商品の値段・種類・製造会社などを記した下げ札。タッグ。


http://dictionary.goo.ne.jp/search.php?MT=%A5%B9%A5%AF%A5%EA%A5%D7%A5%C8&kind=jn
http://dictionary.goo.ne.jp/search.php?MT=%A5%BF%A5%B0&kind=jn&mode=0&jn.x=47&jn.y=8
502nobodyさん:03/04/30 13:11 ID:???
保守

PHPに関するアホな質問はここでやれ。今回からMySQLも受付開始。
アホな質問であっても詳しく質問すること。
503nobodyさん:03/04/30 14:46 ID:hhGquZNb
お知恵を拝借させてください。

現在、メールの自動配信プログラムを作っています。
メールのリストをブラウザ上からアップして
そのリストのアドレスに、メールを配信するという仕組みなのですが

送信途中にブラウザを閉じても、リストのアドレスに送信し続けるという風にしたいのです。
自動実行の方法をご教授をお願いします。

環境は
OS:RedHat8.0
PHP:4.3.0
です。
504nobodyさん:03/04/30 15:26 ID:???
cron
505503:03/04/30 17:38 ID:???
503です

ttp://itb-tech.itboost.co.jp/php/php_05.php
ここを見て自己解決いたしました。
ググり方が甘かった(*´д`;)
506483:03/04/30 17:48 ID:+a0JzmAr
>485さん
これって僕の質問への回答ですよね?
有難うございます。早速試してみます。
507nobodyさん:03/04/30 23:07 ID:P95jhDug
レッツPHPさんのショートメッセージにクッキー機能を持たせたいんですが、うまくできません。
setcookie()というのを使うって聞いて調べたんですが、意味がわからなかったんです。

誰か埋め込み方を教えてください。
508nobodyさん:03/05/01 00:00 ID:???
>>507
ほんじゃレッツPHPさんのsetcookie()を仕込んであるの見れば。
http://jp.php.net/manual/ja/function.setcookie.php

アホな質問であっても詳しく質問すること。
509nobodyさん:03/05/01 10:41 ID:CkAdoVLU
>508
ごめんなさい。
http://php.s3.to/simple/#short
こちらにあるスクリプトなんですが、かきこんだら名前をクッキー食べさせたいんです。
クッキー対応の他のを見てまねてみたんですが、
うまくできません。
510nobodyさん:03/05/01 13:06 ID:???
>>509
うまくできない個所をみせてみては?
511nobodyさん:03/05/01 13:13 ID:???
>>509
そのサイトに行ってダウンロードして動作確認して改造して動作確認して報告
が要望だったら、ごめんよ。
512nobodyさん: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"]; ?>>
にしてみたんですが、これでは駄目なんでしょうか?
513nobodyさん: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
514nobodyさん:03/05/01 20:50 ID:???
$name=$_POST[name];
$submit = $_POST[submit];
515動画直リン:03/05/01 21:10 ID:YcBKOzoM
516nobodyさん: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の部分はも少し見やすくインデントやスペース入れた方が
バグを見つけやすいよ等。
517nobodyさん:03/05/01 22:32 ID:???
全角のスペースは2chのカキコだから態々変えてある可能性の方が高いのかな
518nobodyさん:03/05/01 23:00 ID:CkAdoVLU
>>512です。
ごめんなさい。
なんだかよくわからないまま、もう一度最初から打ち直したら
出来ました。
なんだったんだろう?って感じです。
アホな質問ばっかりして、ご迷惑おかけして申し訳ありませんでした。
そして、ありがとうございました!
519bloom:03/05/01 23:10 ID:YcBKOzoM
520__:03/05/01 23:10 ID:???
521513:03/05/02 06:55 ID:???
自己解決。
.htaccess に AcceptPathInfo On を追加でおっけー。
522nobodyさん:03/05/02 17:20 ID:???
WinXP+anhttpd でPHPのローカルテストしています。
ob_start("ob_gzhandler") で gzip圧縮転送をすると
output handler 'ob_gzhandler' cannot be used twice in Unknown on line 0
と出てくるのですが、これを解消するには設定をどうすれば良いのでしょうか?
ちなみに、レンタルしているサーバでは問題なく使えました。
523nobodyさん:03/05/02 17:41 ID:???
used twice が気になる
524nobodyさん:03/05/03 01:00 ID:???
>522
既に転送にgzip圧縮が掛かってるんじゃないの
525nobodyさん:03/05/04 15:26 ID:???
526nobodyさん: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 をどうしろという事なのでしょうか?
527nobodyさん:03/05/04 17:27 ID:???
>>526
test.php にあるincludeかrequireで指定しているファイルが開けないって
ことじゃないかな。
528nobodyさん:03/05/05 19:04 ID:YEYtIxk2
win2k+IIS+PHP4です。
PHPでパスを指定するとディレクトリ一覧できるスクリプトを作り、
外部ネットワークからWEB経由(IUSR)で実行してみたところ
C:\まで見ることができてしまいました。

これはマシンのユーザ権限の設定の問題なのでしょうか?
#以前に勉強のために色々と触った記憶があるので。。。

どうかご教示ください。
529nobodyさん:03/05/05 21:51 ID:7oJbARiK
eregiで<title></title>の間の文字列を抜き出したいのだが
「<」「>」はエスケープするのですか?
今、下のようにエスケープしてるんだけど、正規表現に詳しい人教えてください。

eregi("(\<title\>)(.+)(\</title\>)", $contents, $regs)
530_:03/05/05 21:59 ID:???
531nobodyさん:03/05/06 01:03 ID:???
>>529
これじゃアカンかな

$title = "<title>タイトル</title>";
$title_in = eregi_replace("<title>|</title>", "", $title);

改行コードやタブもパターンに含めれば万事Okay(゚∀゚)?
532nobodyさん: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>';
}
以下略;
533532:03/05/06 16:19 ID:5y+8LJ/Y
><td><tr>は略してあります。
訂正
<td><tr>は所々端折ってあります。
534nobodyさん:03/05/06 19:28 ID:IammjTXD
皆さん、お世話になります。m(_ _;)m

実はPHPを始めたばかりなのですが、良いエディタを捜しています。
PHP Coder が環境も良く気に入ったのですが日本語が使えないようで・・・
PHP Coder みたいで日本語が使えるエディタは無いものでしょうか?
535nobodyさん:03/05/06 22:12 ID:???
それじゃ老良はpregで

if ( preg_match ( "/tle>(.+)<\/tit/" , $subje , $matches ) ) {
    echo $matches[1] ;
}
else{
    echo ' untitleDDocument ' ;
}

エスケープはメタ文字っぽいやつだけでOK。
http://search.net-newbie.com/php/pcre.pattern.syntax.html
536nobodyさん:03/05/06 22:17 ID:???
>>534
PHP Coder って知らんのだけど、それが気に入っているのならそれを使えば?
ソースコードには日本語は埋めない。すべて定義ファイルに追い出して、それだけは
ノートパッドでも使っとけ。コメントも英文でがまん汁。
きっときれいなコードを書けるようになるよ。(w
537nobodyさん:03/05/06 22:24 ID:???
Winでのエディタの話は良く出るけど、いまのところこれだっていうのは無いような。
漏れは Emeditor と Wordpad で十分足りてる。
538nobodyさん:03/05/06 22:31 ID:???
>>534
webstudio最強だけど、小回りがきく秀丸が最強かな。
あとxyzzy最強かも初心者向きではないかな。
539nobodyさん:03/05/07 00:24 ID:???
>>529
strip_tagsじゃダメ?
540529: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>')
この後はまだ考え中。
541nobodyさん:03/05/07 06:34 ID:???
>>534

なかなかべんりなエディターですね。
いわゆる統合環境ってやつに近いですね。

要は文字化けのことだと思いますが、

[view] → [Preferences and Setting Editor] → [Font]でMSゴシックを選んでください。

これで使えます。
542nobodyさん:03/05/07 12:15 ID:RMVP7Nqr
PHPはおろかプログラムすらやったことのない初心者なのですが
これから始めるのにちょうどいい(わかりやすい)参考書を教えてくだたい
543nobodyさん:03/05/07 12:27 ID:lrCvKE6+
544nobodyさん:03/05/07 12:43 ID:???
>>542
とにかく「入門」ていうタイトルの付いたものを手当たり次第に読んでみることをおすすめする。
図書館で借りればいいしね。542が1冊で事足りるほど優れた勘を持っているなら別だが(笑)
「プログラムはなぜ動くのか」でも読んでみたら〜。
545nobodyさん:03/05/07 14:27 ID:glM3Z8EZ
あるページから別のページに変数というかレコードセットの内容を
渡したいんですがどうしたらいいでしょう?

POSTとして渡すのでしょうか・・・?
よろしくお願いします。
546nobodyさん:03/05/07 14:30 ID:X8wXd201
547nobodyさん:03/05/07 23:17 ID:???
eregにこだわることも無いと思うが、、。

> preg_match()は、pattern がマッチした回数を返します。これは、0回(マッチせず)または1回となり ます。
> これは、最初にマッチした時点でpreg_match() は検索を止めるためです。逆にpreg_match_all()は、
548nobodyさん:03/05/07 23:26 ID:???
たしかに複数冊の参考書を読むのは有効。
最初は処理よりも変数の使い方や配列概念の理解などから始まるから、
WEBにPDFであがってる本なんかをざっとながめてみるといいかも。
http://www.net-newbie.com/support/pdf/
# 読破の必要なし
549nobodyさん:03/05/07 23:30 ID:???
あと、図書館で手に取った本が古いとphp4で動かないサンプルがあるから気をつけたほうがいいかも。
このスレでも html から name="abc" というデータをPOSTで受け取ったが、スクリプト側で $abc に値が
入らないがどうなっているのか、みたいな質問がまだたまに出る。
550nobodyさん:03/05/08 00:23 ID:???
>>545
「別のページ」というのは同じサーバ上のPHPにおいて
PHPスクリプトからPHPスクリプトに生成されるページへということか?
「レコードセット」とは具体的に?オブジェクト渡ししたいの?
551540:03/05/08 01:06 ID:???
>>547
意味が分かりました!
サンクスです★
552nobodyさん:03/05/08 15:16 ID:???
どう考えたってスカラー電磁波って、
ニコラ・テスラのパクりだろ。( ゚Д゚)
http://plaza16.mbn.or.jp/~satchel/
553nobodyさん:03/05/08 16:02 ID:Vw40gYk0
aaa
bbb
ccc

というファイルの「bbb」を「ddd」に書き換えるにはどうすればいいんですか?
554nobodyさん:03/05/08 16:03 ID:e+HlbsEV
女性は無料で遊べる!逢える!恋愛出きる!
もう寂しい生活とは縁を切ろうね!
愛して 愛される そんな出会いがなきゃ
生きてる 意味がない!
http://www.sweet.st
555nobodyさん:03/05/08 16:37 ID:???
>>553
まずはファイルを開く

つづく
556553:03/05/08 17:10 ID:???
>>555
$fp = fopen("ファイル・ネーム","モード");
書き込み処理
fclose($fp); //ファイルを閉じる

ですよね?
ファイル・ポインタを移動させるためにfseekというのを使うらしいですが、ここらへんがよくわかりません。
557nobodyさん:03/05/08 17:33 ID:???
r+で開いてfgetsしてからfwrite
558nobodyさん:03/05/08 19:25 ID:???
perlのcgiファイルをincludeして表示させると
ソースがそのまま表示されてしまうんですけど、
cgiにprintさせたものだけincludeするにはどうしたらいいんでしょーか。
559nobodyさん:03/05/08 19:34 ID:???
>>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のモードはこれで良かった?
560558:03/05/08 19:38 ID:???
自己解決。
絶対パスで書いたらでけました。
561nobodyさん:03/05/08 21:09 ID:???
>>556
fseekはポインタを「任意」の位置に動かす場合に必要。
件のはbbbがいつも同じ位置にくるなら使っても良いが、
bbbな所を調べながらファイルを読み出すなら使う必要はないよ。
fgets/fgetcなどで読んだ場合には勝手にポインタは移動するから。
562nobodyさん:03/05/09 04:31 ID:q+lWwzA4
質問させてください。

POSTメソッドで送信されたデータの、HTTPボディ部分を
丸ごと取得する方法を教えてください。
$_POSTだと、正しくURLエンコードされたHTTPボディしか
取得できないようです。
URLエンコードされていないHTTPボディを丸ごと受け取る
にはどのようにしたらよいのでしょうか?
563nobodyさん:03/05/09 04:46 ID:???
( 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:???
569545:03/05/09 10:22 ID:gXqsEqpr
>>550
サーバは同じで別のphpスクリプトってことです。
たとえば1.phpから2.phpへみたいな。

レコードセットってのは複数行のクエリーの結果データです。
570bloom:03/05/09 11:10 ID:X5KsRuJ+
571nobodyさん:03/05/09 11:12 ID:OcFGGafo
質問です。
現在PHP4.3 + Postgres + Apacheでシステム開発を行ってます。
サーバで夜間バッチとある時間になると実行し、その処理レコード数をメールで
送信する機能を作るため、模索しているのですが、
メールをサーバから送信するのは簡単なのですが、サーバから処理レコード件数
データをクライアントで受け取り、それをクライアント側からメールの送信を行うといった場合
どのような実現方法があるでしょうか?
上記実現に関して具体的にわからないことを上げます。
・サーバからクライアントへのデータの送信
・クライアントでデータを受け取ったタイミングでのメール送信の実現(ぜんぜん具体的じゃない・・スミマセン)

よろしくお願いします。
572_:03/05/09 11:20 ID:???
573nobodyさん:03/05/09 12:45 ID:???
>>571
データ送信+リモート処理実行ってのは、HULFTっていう製品があるけど、
そもそもメール送信をサーバでやらないのは何か理由でもあるの?
574_:03/05/09 12:47 ID:???
575nobodyさん:03/05/09 13:31 ID:???
>>562
> POSTメソッドで送信されたデータの、HTTPボディ部分

これがよく分からん。掲示板等のカキコのこと?
576nobodyさん:03/05/09 14:12 ID:???
POSTの生データのことかな

always_populate_raw_post_data On
常に$HTTP_RAW_POST_DATA変数にアクセス可能とします。
577_:03/05/09 14:14 ID:???
578nobodyさん:03/05/09 14:23 ID:GKx3ACK2
php コマンドでデバッグしてるのですが、
$_GET["hogehoge"] のようなGETリクエストは

php fugafuga.php '&hogehoge=abcdefg'

などとして渡せることは出来たのですが、
$_POST["hogahoga"] などはどうやって php こまんどから
渡せば良いのでしょうか?

579nobodyさん:03/05/09 15:02 ID:yI5v8g9d
ロゴがいいです
http://homepage3.nifty.com/coco-nut/
580bloom:03/05/09 15:10 ID:X5KsRuJ+
581_:03/05/09 15:40 ID:???
582nobodyさん:03/05/09 15:49 ID:???
>>578
GET と同じだよ。
583582:03/05/09 15:54 ID:???
>>578
スマン、受け取り方かと思った。
渡し方は
<FORM METHOD=POST>

分るかな?
584nobodyさん:03/05/09 16:08 ID:yI5v8g9d
585nobodyさん:03/05/09 16:10 ID:DOx/7P3y
Win+php4.3なんですが
$HTTP_USER_AGENTも$_SERVER[HTTP_USER_AGENT]も
空なんですけどナゼなんでしょう?

browscap.iniがパッケージに入っていなかったので落としてきて
exe と同じディレクトリに入れました。
php.ini へパスも書きました。コメントも外してあります。
でも取得できまへん。
他に何か設定しなくてはいけないんでしょうか?
586nobodyさん:03/05/09 16:12 ID:GKx3ACK2
>>583
ありがとうございます。
ただ、そうではなくて、
php コマンドから渡したいのです。

php ファイル名.php "オプション"

のオプションの部分に POST の場合は何をいれれば
いいか悩んでいます。
587nobodyさん:03/05/09 16:14 ID:???
>>585
phpinfo()でPHP Variablesの項目を見る。
_SERVER["HTTP_USER_AGENT"]を確認する。
588nobodyさん:03/05/09 16:21 ID:???
>>586
GET POST はhttpのリクエストなのでコマンドラインなら
_SERVER["argv"]
を使うのがいいのでは。
589585:03/05/09 16:32 ID:???
>587
no value ですた。
590585:03/05/09 17:00 ID:???
>>587
間違えました。
在りませんでした。書かれていないです。
無いという事はどういう事になるんでしょう?
591_:03/05/09 17:07 ID:???
592動画直リン:03/05/09 17:10 ID:X5KsRuJ+
593585:03/05/09 17:18 ID:???
度々すみません。
phpinfo()、PHP Coreの項目の
browscap の欄が no value でした。

browscap = "c\php\browdcap.ini"
このパスがおかしいんでしょうか?
594585: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 が取得できないんでしょうか?
595nobodyさん:03/05/09 18:36 ID:???
>>594
securityソフトがブロックしているとか。
596nobodyさん:03/05/09 20:53 ID:???
>>594
>>595の可能性は、確かにある。
http://taruo.net/e/では「USER_AGENT」が表示される?
「(none)」になっているなら、ブラウザかセキュリティ・ソフトの設定を変更
597nobodyさん: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で値を受け取れません。
どうすれば良いでしょうか。
よろしくお願いします。
598nobodyさん:03/05/09 23:59 ID:???
upper.phpに飛ばせば?
599585:03/05/10 00:21 ID:???
>>595-596
ソフトを使っていなくてもダメみたいです。
同じマシンに居るPerl の方では取得できてるんですが
phpには嫌われています。
単純に php.ini のbrowscap.ini へのパスが通っていれば
それだけで変数使えるんですよね?
600597:03/05/10 00:28 ID:ArOHW3nU
>>598
action=upper.php
と言う意味でしょうか?
それだとフレーム(page2.php)が表示されずにupperページ
だけが表示されてしまいますよね。
601nobodyさん: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%
602nobodyさん:03/05/10 00:54 ID:???
>>600
そりゃそうだ。w
簡単なはなし
直にupperに渡そうとせずpage2からupperに値を渡せばいいんでないかい?
603nobodyさん:03/05/10 04:05 ID:???
>>599
browscap.iniは関係ないだろ。
useragentはブラウザがはき出しているもの。
604nobodyさん: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データを丸ごと取得できますでしょうか?
605597:03/05/10 09:38 ID:ArOHW3nU
>>602
フレームページpage2からupperへ値を渡すときは
どうすればいいのでしょう。
送信ボタンとかを押すわけじゃないのでformのPOSTじゃ
だめなんですよね。
urlの後ろに?を付けて引数で渡すとか言うやつかな、、、
もし何か他にも方法が有れば教えて下さい。
606nobodyさん:03/05/10 10:12 ID:3dh7Drb/
なつかしい人や町をたずねてー
きしゃをー降りてみーてもー
607nobodyさん:03/05/10 11:20 ID:oFayvAL3
>urlの後ろに?を付けて引数で渡すとか言うやつかな、、、
まずは是をやってみて理解してごらん。

>もし何か他にも方法が有れば教えて下さい。
上のやり方を理解してからでも遅くはないから、まずは上のやり方やってみれ
608nobodyさん:03/05/10 11:31 ID:???
>>605
<form action="upper" 中略 target="フレームのターゲット" >
でできません?
609nobodyさん:03/05/10 11:58 ID:???
これでOK!!
<form method="POST" action="session.php" action="session_alt.php">
</form>
610597:03/05/10 14:21 ID:ArOHW3nU
>>607
やってみます。ちょっと試してうまく行かなかったけど
多分やり方が悪いのでしょうね。

>>608
action="upper"ですとpage2全体を表示してくれないし、
action="page2" target="ターゲット" では渡せませんでした。

>>609
actionって2つ書けるのですか?
action=page2とaction=upperと両方書いてしまうのでしょうか。
取りあえずやってみます。
611nobodyさん:03/05/10 16:38 ID:FObLwhHb
upper.php?渡したい変数=渡したい値

$受け取る変数=$_GET['渡したい変数'];
612597:03/05/11 10:01 ID:???
>>611
フレームの中に渡すのがまだうまく行きませんが、
基本は分かりました。ありがとうございます。
613nobodyさん:03/05/11 10:40 ID:???
4.2.2で動くコードを4.3.1で動かしたらpreg_matchでマッチしていたものが
マッチしなくなったんだけど何故?
614nobodyさん:03/05/11 10:41 ID:???
>>613
どんなコードか書かなきゃわからんだろ…。
615nobodyさん:03/05/11 13:11 ID:???
PCREの仕様が変わったとか、バグ修正されて挙動が変わったとか
そんなことが無いのかと思ってコードは省略しますた。

if(preg_match("/title>(.*)<\/title/i", $contents, $regs)){
$title = $regs[1];
}
else{
$title = "No Title";
}
return $title;

で、全部 No Title になる。
616nobodyさん:03/05/11 14:14 ID:???
>>615
最大マッチ。
617613,615:03/05/11 15:45 ID:???
>>616
意味がわらないんですけど…
618nobodyさん:03/05/11 19:20 ID:7pEqh6Cm
PHPとJSP勉強始めるならどちらがお得ですか?
将来的にFLASHと連動したショッピングサイトを作りたいです。
619nobodyさん:03/05/11 20:28 ID:???
>>618
取りあえず好きな方で良いと思われ。この業界無駄な知識なんて無いわけで。
JSPの方が幾分敷居は高いけれど。
620nobodyさん:03/05/11 22:14 ID:???
>615
4.3.1で動作確認。
621nobodyさん:03/05/11 22:27 ID:???
>615
仕様変更なんてドキュメント読めばわかることだろ。
わけのわからんこといっとらんでデバッグ汁
622nobodyさん:03/05/12 00:04 ID:???
>>620
ちゃんとマッチするってこと?それとも再現?

>>621
「代わりに読んでください」と言いたいが、
良い機会だし、みンなのデバッグ手法を紹介してくらさい。
ボクは echo, print_r 派です。
623620:03/05/12 00:17 ID:???
当たり前だけど、マッチしますた。616は漏れも分からん(´Д`)
デバッグはif(debug) echo "$abc";でやって、完成したら全消し。
var_dumpは使ったことないな。
特定が面倒でエラー吐いた辺りを丸ごと書き換えることもしばしば(;´Д`)
今日もデバッグで、ようやく帰宅できるよー

>「代わりに読んでください」と言いたい
ぜひ死んでください
preg_mにしろ.*にしろ完成されてるから仕様が変わるなんて考えられないけどね。
624620:03/05/12 00:18 ID:???
なにやってるんだ漏れは、脳が死にかけてるのか・・
625nobodyさん:03/05/12 00:35 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 で保存(上書き)するってスクリプトを
組みたいのですが、どういう風な感じでやればよいでしょうか?

627nobodyさん:03/05/12 04:03 ID:???
ファイルシステム関数に 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ですよね・・・
629nobodyさん:03/05/12 09:49 ID:???
mt_srand()つかわないと、連続試行したとき結果がいつも同じにならない?
自動でやってくれるという話は聞いたことないけど、、

ソートが変になるってのはどういうことか分かんないが、こんなようなことかな。
if ( strlen($randval) < 2 ) $randval = "0" . $randval ; //型キャスト必要?
もしくは、
$randval = str_pad ( $randval, 2, "0", STR_PAD_LEFT ) ;
630nobodyさん:03/05/12 10:11 ID:/i1zSYZ/
a.phpからb.phpに変数の値を渡したいとき、
セッションやPOSTを使わずに値を渡す方法ってありますか?
631nobodyさん:03/05/12 10:14 ID:???
phpマニュアルのリンクからするとmt_randのアルゴリズム考えたのは
このおっさんらしいのだが…http://www.soi.wide.ad.jp/class/20010000/slides/03/

>630
URLに埋め込むか一時的にDATファイルつくるか伝書鳩か
632630:03/05/12 10:18 ID:???
>>631
ありがとうございます。やっぱそれぐらいしか方法ないんですかね。

伝書鳩ってメール???
633nobodyさん:03/05/12 11:32 ID:???
>>625
誤読ならすまんが。
enable-mbregexはpregじゃなくてeregだったような。
634nobodyさん:03/05/12 12:04 ID:???
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を使っています。
635nobodyさん:03/05/12 12:05 ID:???
>>631
このおっさんの持ってる書籍はなんだろう?
636nobodyさん:03/05/12 13:08 ID:c9lQiwrB
perlってできる事が多いね。
それにいっぱいモジュールがあるし
サンプルもWeb上に沢山ある。
strictを使えば厄介な物でも楽チンに作れるし
mod_perlを使えば異様に早くなる。
いい事ずくめだと思うんだが、なんでPHPなの?
できない事が多すぎないか?
小学生でも理解できるから使うのか?
637動画直リン:03/05/12 13:10 ID:lVcTJ8AZ
638nobodyさん:03/05/12 16:30 ID:1fjsSv5H
質問します。

substr って1000文字以上ある文字は分割できないんでしょうか。


echo $a = substr($line , 1000 , 1);

1001文字目が出ない・・・んです。


初心者質問ですみません。
639nobodyさん:03/05/12 17:45 ID:???
>638
いける。
$lineの1000byte付近をまとめて表示してみたら。
あんがい空だったりして。
あとは、マルチバイト文字でコケてるとか。
640nobodyさん:03/05/12 21:48 ID:???
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 でテストしてます。

あと、これを一日一回指定した時間に動かしたいのですが、何か良い方法ありませんか?
スクリプトそのものを教えて頂くと大変楽ですし、助かるのですが、自分のスキル
アップに繋がりませんので、何かヒントのような形でお教え頂けますか?
わがまま&教えてくんで申し訳ありませんが、よろしくお願いします。
642nobodyさん:03/05/12 22:27 ID:???
643nobodyさん:03/05/13 00:54 ID:???
PHP























氏ねヴォケ
644動画直リン:03/05/13 01:10 ID:rppJJuu/
645nobodyさん:03/05/13 01:14 ID:1XrriwyU
女の子も男の子もどうぞ。
http://homepage3.nifty.com/coco-nut
646nobodyさん:03/05/13 05:21 ID:???
>>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について調べたいと思います。
稼動テストまでして頂いてありがとうございました。
648nobodyさん: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が出るんですが、セッションを使用するにあたり何か設定が必要なんでしょうか?
649nobodyさん:03/05/15 19:37 ID:???
php.ini のセッションの設定部分に書いてあったような無かったような・・・
今Winじゃないので確認できないが、
セッションを使うためには セッション用のディレクトリを作成、そのディレクトリをphp.iniで指定。
650nobodyさん:03/05/15 21:15 ID:???
>>648
これがでふぉ。
session.save_path = /tmp
651648:03/05/16 09:47 ID:UDsilOGp
>>650
レスありがとうです。

/tmpの中のファイルを探してたのはエラーメッセージからわかったから、
ドキュメントルートの直下にtmpってディレクトリ作って試したけど
ダメだったんですよね。

んで、今試しにそのphp.iniの指定を"c:\windows\temp"とか
DOS風の表記にしたらうまく行きました。ありがとうございます。
652nobodyさん:03/05/16 10:26 ID:E+iXS/eK
653_:03/05/16 10:33 ID:???
654田中:03/05/16 12:31 ID:shMd76bE
私でも稼げます。
年商1000万円を目標
http://www.c-gmf.com/h16002.htm
655 :03/05/16 17:04 ID:TFQDITW8
sample.php?渡したい変数=渡したい値

で渡したい値を日本語にしたら文字化けするのですが・・・。
何かのコード変換をしてから渡したほうが良いのでしょうか?
656nobodyさん:03/05/16 17:06 ID:747r2+6H
アレはonになってるかい?
657 :03/05/16 17:09 ID:TFQDITW8
アレってなにすか
658nobodyさん:03/05/16 17:19 ID:747r2+6H
globalなんとか
659 :03/05/16 17:57 ID:ce7IpZdE
教えてほしいよ
660nobodyさん:03/05/16 18:01 ID:747r2+6H
register_globalだ。
思い出した。
コレ、標準ではoffだから>>655の方法
は使えないっぽい。
セッションとか使おう。
661 :03/05/16 18:30 ID:iXERQEhI
セッションはどう使うのですか?
素人です。おながいします。
662nobodyさん:03/05/16 19:18 ID:???
初心者が初心者に教えるスレですね
663私も初心者:03/05/16 19:57 ID:???
値は渡せているみたいだから、register_globalの問題ではないような…

「エンコード」「デコード」とかで検索したら、何か分かるかもよ。
664nobodyさん:03/05/16 20:54 ID:???
>655

      それは文字化けではない !!!!!!!!!!!!!!!!!!

と断定してみる。
665nobodyさん:03/05/16 21:19 ID:???
保守
PHPに関するアホな質問はここでやれ。今回からMySQLも受付開始。
アホな質問であっても詳しく質問すること。

普通のPHPの質問はこっちな、【PHP】質問スレッド Part8
http://pc2.2ch.net/test/read.cgi/php/1050249148/l50
666nobodyさん:03/05/16 21:25 ID:???
666get, zuzaa
667nobodyさん:03/05/16 21:34 ID:4GEbEPL0
おっ!安い!買っちゃお!
http://www.dvd-yuis.com/
えっ!?もう届いたの?
http://www.dvd-yuis.com/
あなたのハートに最速発送!
http://www.dvd-yuis.com/
668870:03/05/16 22:13 ID:fyBqMN4b
>>664
だから文字ばけですって。
だれか受け渡し値に日本語(EUC−JP)使ってる人います?
アスキーコードに変換したほうがいいすか?
できれば出コードと円コードのコマンドも教えてほしいす。
669nobodyさん:03/05/16 22:28 ID:???
>>668
フォームエンコード デコード でググれ
670nobodyさん: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 エンコードした結果が格納されます。
67169: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万円になります。
672nobodyさん:03/05/19 05:48 ID:sM+JzukB
携帯絵文字を、PCで見た場合は画像に変換したいのですが、
参考になるページはありませんか?
単純に、絵文字の2バイトを画像のタグに置き換えるだけだと、
区切り間違って変換されることもありそうで、
そのあたりの処理が知りたいんです。
673_:03/05/19 07:04 ID:???
674bloom:03/05/19 07:08 ID:IEVyzYan
675紺野あさみ:03/05/19 07:13 ID:???
676nobodyさん:03/05/19 07:27 ID:???
>>672
同一ページでやらなきゃならないのかぁ。

ちょと眠いが、頑張ろう。 んーわからん。
表示させたい部分のhtmlを配列に全部入れて、携帯からのアクセスかPCからのアクセスかを判断して、
携帯ならそのままスルー。
PC向けには文字コードAAAAに対応させたAAAA.gifみたいなのを作っておいて
全行ループでeregi_replace()でimgタグに置き換え、みたいなことをすればいいのかな。

上に書いた'表示させたい部分'のは本文のみでもいいし、<html>から</html>まででもいいし。
本文だけだとページ更新あるたびにfor文の条件いじらなくちゃいけないので全部のほうがいいかもねぃ。

//ってキャリアはDocomoだと思って書いてみたんだが、絵文字コードってバイナリ入力?なのかぁ。 もし見当違いだったらすまそ。
677676:03/05/19 07:38 ID:???
ぐふぅ、すまん。
バイナリって、バイナリエディタで見るアレか。 全く見当違いにも程があるな。
でももしかしたらそんな関数があるかもしれんな。
しかしこんな記述方法もWebに使えるんだねぇ。 しらなんだ。
678nobodyさん:03/05/19 08:17 ID:StH4KvGU
なんでわざわざ配列に入れるんだよ
679nobodyさん:03/05/19 08:28 ID:???
>>676-677
なんだかわけわからんことを(ry
680nobodyさん:03/05/19 15:21 ID:???
生きているのが不思議なくらい支離滅裂
681nobodyさん: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をいれるとエラーがでてしまいます。
どなたかアドバイスお願いします。


682nobodyさん:03/05/21 23:44 ID:???
>681
>自宅のPC
flockが使えない環境かと。別の方法でロックを実現しる
683nobodyさん:03/05/22 00:31 ID:???
このスレの質問者の、本家PHPマニュアルを読んでる率30%
684山崎渉:03/05/22 01:56 ID:???
━―━―━―━―━―━―━―━―━[JR山崎駅(^^)]━―━―━―━―━―━―━―━―━―
685nobodyさん:03/05/22 02:11 ID:z7+gxK8V

「flock()」関数はUNIX系OS上でしか動作しないため!!
686682:03/05/22 02:12 ID:???
>683
それの率は高いと思うが、ちょっとマニュアル見たら(マニュアル見ろ>オレモナー)
日本語の説明には記載ないね(笑
http://jp.php.net/manual/en/function.flock.php
でWarningの囲み内一番下の行参照

googleでそれっぽいワードで日本語限定で探すとヒットしないし、
実は知られてそうで、結構知られていない事なのかも知れぬ。
687682:03/05/22 02:25 ID:???
flock関数が"ファイルシステムに依存する"のワード外したら結構ヒットした。
WindowsNTでもFAT使ってると駄目なんだけどな。

他の実装の仕方は↓のような感じ
ttp://homepage1.nifty.com/glass/tom_neko/web/web_04.html#uselockfile
#Perlだけど大体いっしょ。
688nobodyさん: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にしたいのですが…だれかお願いします!
689nobodyさん:03/05/22 06:14 ID:???
氏ねよ
690nobodyさん:03/05/22 12:31 ID:???
>>688
作業を丸投げすんな。
691nobodyさん:03/05/22 12:40 ID:???
>>688
おまえがやれ
692nobodyさん:03/05/22 13:02 ID:3qhNvpT7
>>689-691
四ぬことにします
693動画直リン:03/05/22 13:08 ID:x2YZ4VCE
694nobodyさん:03/05/22 13:38 ID:???
PHPの可変変数をつかって処理が効率化されてる実例って
どんなものがありますか?
参考書やマニュアルでは、単に値が変数名になるだけの
あまり意味のないサンプルしか提示されていないのでよく分か
らないのですが、、。

あらかじめ、何種類かの変数を評価するIF文を書いておいて、
ある変数値が、可変変数名にセットされて初期化された場合に、
IFが動く、というようなことも考えたのですが、これは可変変数
を使わなくてもいいと思うわけです。

変数の値が変化するのに応じて、ダイナミックに変数を定義できるのが
可変変数化で、状況に応じて変動するファジー&ルーズなアルゴルを
とれるのがメリットかと思っているのですが、そもそも変数の生成が
偶侑性をもっている状態で、プログラムはかけるんでしょうか。かけないと
すれば、間違いなく存在するか存在しないかのどちらかが予期される
変数を使うことになるので、可変変数の意義はないようにも思えます。
695:03/05/22 14:34 ID:meYOXQTH
>>694
諸般の事情で配列が使えないFORMからの処理受付とかどう?
696nobodyさん:03/05/22 14:49 ID:anlQKg/2
サーバーサイドプログラミングage
697nobodyさん:03/05/23 00:14 ID:???
>688
PHPの中からPerlコールすればOK
698nobodyさん:03/05/23 03:12 ID:???
梨ってMac系板でよく見たような・・気のせいか
699nobodyさん:03/05/23 09:25 ID:???
Textareaからpostなりgetされたテキストを配列に入れるにはどうすればいいのん?
700nobodyさん:03/05/23 09:29 ID:???
>699
逝って来い
701nobodyさん:03/05/23 09:36 ID:???
>>700
だってわからないんだよおお

ついでに700オメ
702nobodyさん:03/05/23 09:58 ID:???
改行があるごとに
Array[0] ... [1] ... [2] ...
って・・・どうすればいいんだろ・・・ヒントください、おながいしまつ
703nobodyさん:03/05/23 10:13 ID:???
>701
name="arr[]"
とすれば勝手に配列 $arr に入る。
でなきゃ $array[0] = $_POST['arr'] ; で代入しとけば。

>702
意味が分からん。
explode() の話じゃないのか。その"..."は一体なんだ。
704nobodyさん:03/05/23 10:17 ID:???
ああ悪い。extract してないときは、name="arr[]" が入るんは$_POST下ね。
つまり $_POST['arr'] 。 foreach() で展開するなり。-> $_POST['arr'][0] 〜
705nobodyさん:03/05/23 10:37 ID:???
>>703-704
すません、やっとこさ解決、ありがとう
html側のname="array[]"でも確かに配列だけど期待した配列じゃなかったんです(謎
foreachの使い方もよくわからないのでついでに勉強してきます(´A`)

結局、受け取ったデータ'c_pon'を
$post_array = split("\r\n|\n|\r", $_POST['c_pon']);
で期待通りのできますた(´A`)スレ汚しスンマソン、退場しまつ
706nobodyさん:03/05/23 10:54 ID:???
しーぽんバラバラ殺人事件かよ
そっちも解決しとけ
707nobodyさん:03/05/23 17:48 ID:???
質問させて頂きます。
赤帽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だと思っていたのですが…
708nobodyさん:03/05/23 17:56 ID:???
>>707
> マニュアルには
> bool ereg ( string pattern, string string, array [regs])
> となっていたので

ダウト。
709nobodyさん:03/05/23 18:03 ID:oujK57TO
それはそうと、なぜ php にデストラクタがないのか教えてください。
710707:03/05/23 18:08 ID:???
>708

どういうこと??
711nobodyさん:03/05/23 19:50 ID:1xnUQK07
phpで閲覧者のブラウザがVBscript使用不可の場合(セキュリティが高など)に
空白ページへ飛ばす処理がしたいんですが
712nobodyさん:03/05/23 21:54 ID:???
>>709
そりゃ、開発者に聞くなり、工夫するなり、5でもいじるなりして実。
713nobodyさん:03/05/24 07:55 ID:GRJ2F7nP
>>707
以前ダウンロードしたマニュアルでは
int ereg ( string pattern, string string, array [regs])
です。
714nobodyさん:03/05/24 14:39 ID:???
>711
VBScriptが「有効」な時に別なページに遷移では?
715nobodyさん:03/05/25 01:56 ID:7+29mXBc
>712
それぞれのオプションに関連性がなく要領を得ないのですが、
具体的には何をおっしゃりたいのですか。
716nobodyさん:03/05/25 03:14 ID:???
>>715
ただ未対応なだけだと思うけど。どうしたいの?
717nobodyさん:03/05/25 14:30 ID:???
>>709 >>715
そりゃ、開発者に聞くなり、工夫するなり、5でもいじるなりして実。
718nobodyさん:03/05/25 18:29 ID:???
初心者はこのページを見ていろいろ学べ。いろいろ。
http://www.hpt.com.cn/
719nobodyさん:03/05/25 18:47 ID:???
>717 -> >715
720nobodyさん:03/05/25 21:37 ID:???
>>719
何してんの?
721nobodyさん:03/05/25 21:53 ID:???
>>715
712が言ってる事わかるよ。712じゃないけど。
そもそも709は何をしりたいん?未対応じゃだめなん?
722nobodyさん:03/05/25 22:45 ID:???
>720
探りを入れてるだけですよ。
723nobodyさん:03/05/26 01:06 ID:???
ひくにひけず ぷ
724:03/05/26 08:43 ID:???
「PHP」、「ウィンドウサイズ」、「ブラウザ」、「取得」などで検索かけ
たのですが見つかりせんでしたのでお尋ね致します。

PHPでブラウザのウィンドウサイズを取得する方法は無いでしょうか?

PHPでスライドショーを作ってまして、表示する画像がブラウザのウィンドウ
サイズより大きい場合当然ブラウザをスクロールさせるハメになり、「次の画像≫」
とか貼ってあるリンクも押しづらくなります。

そこで表示する画像がウィンドウサイズより大きければ縮小表示し、それへ元画
像へのリンクを貼って、クリックされたら別ウィンドウで原寸表示させようと思
っております。

お知恵を拝借させて頂けますと幸いです。
725nobodyさん:03/05/26 10:06 ID:fRIt1rZi
>>724
ない
javascript使え
726nobodyさん:03/05/26 10:38 ID:55724TyQ
safe mode について教えてください。マニュアル見てもワカソネー
727_:03/05/26 10:41 ID:???
728:03/05/26 10:47 ID:???
>>725
やっぱりそうですか。ありがとうございました。
「ノートンユーティリティー」とかでJAVAを無効にしてる人には効かない
ので出来ればPHPでやりたかったんですけど。
729nobodyさん:03/05/26 10:55 ID:???
Safe Modeの何についてかい? >>1詳しく質問すること。
-------------------------------------------------------------
; Safe Mode
;
safe_mode = On
-------------------------------------------------------------
セーフモードにより制限を受けるか無効となる関数
http://jp.php.net/manual/ja/features.safe-mode.functions.php
730nobodyさん:03/05/26 10:56 ID:???
>>728
よほどおかしなサイズで作っていない限りそこまでする必要はないだろ
それにリサイズされると閉じる前に普段のサイズに直さなければ
ならなくて、かえって迷惑
731:03/05/26 12:01 ID:???
>>730
あ、いや、ブラウザのサイズを変えるのではなく、ブラウザのサイズを取得
して、画像の方が大きければ画像を縮小表示するんです。
その縮小表示した画像をクリックしたら別窓で原寸表示しようと。
732nobodyさん:03/05/26 12:15 ID:???
>>731
表示サイズの選択肢を設けるのじゃダメなのか?
733nobodyさん:03/05/26 14:55 ID:???
>>731
<img src="images/hoge.png" width=100%>
とか?
734709&719≠722:03/05/26 16:42 ID:???
>721
僕もよく分かってます。
712があまりに頭悪そうだったのでつい、、不毛でした。

WebProgに関しては JAVA 出身なのでガベコレのお世話になってきたわけですが、
どういうわけか php ではそういった話題が出てないようなのであまり気にされてないのかな、と。
未対応でも別にかまわず、PHPユーザにどう受け止められているのか
知りたいという意味で雑談に近いのかも知れません。

単に未対応だ、という推測をされた理由については興味あります。
735I'm not 712:03/05/26 16:52 ID:???
>>734
Java出身なんだから、マニュアルぐらい読め。

http://www.php.net/manual/ja/language.oop.constructor.php

注意 PHP 3およびPHP 4には、デストラクタはありません。
デストラクタの機 能の多くをシミュレーションするには、
代わりに register_shutdown_function() を使用します。

デストラクタは、unset()またはスコープから でることにより、
オブジェクトが破棄される度に自動的にコールされる関数です。
PHPにはデストラクタはありません。

736nobodyさん:03/05/26 18:26 ID:wLEubPkw
phpメインにとっては
何でそんなこと疑問に思うの?
ってところなんだろ。
しかし俺も含め不毛なレスが多いね(笑

〉一個上のやつ
お前phpマニュアル読んでないだろ(禿
737709&719≠722:03/05/26 18:47 ID:???
>735
どもです。
php-gtk を使い始めてそのあたりも一読したんですが満足できなかったもので、、。
とりあえずドラフトのようなものを探して読んでみることにします。
スレが荒れるようなので以降スルーしてもらってかまいません。

しかしめちゃくちゃ揺れたな、、。
738:03/05/26 19:49 ID:???
>>732,733
一応javascriptで解決はしたんですよ。
選択肢を儲けても、特定の寸法を決めても、個人個人ブラウザのウィンドウサイズ
は違うのであまり有効でないんです。
739nobodyさん:03/05/26 20:46 ID:???
あんまし個人個人の環境でまで考えてたら、大切な人生勿体ないよ

と経験より
仕事なら仕方がないが
740nobodyさん:03/05/26 20:51 ID:iLBrwPLF
>>739

同感。必要以上に考えることはない。
741nobodyさん:03/05/27 14:11 ID:???
今日はやたら静かだな。なんかあるのか。
742山崎渉:03/05/28 17:05 ID:???
     ∧_∧
ピュ.ー (  ^^ ) <これからも僕を応援して下さいね(^^)。
  =〔~∪ ̄ ̄〕
  = ◎――◎                      山崎渉
743nobodyさん:03/05/28 22:08 ID:???
おっす
744nobodyさん:03/05/28 23:15 ID:???
オラ悟空
745nobodyさん:03/05/28 23:28 ID:???
いっちょやってみっか
746nobodyさん:03/05/29 02:42 ID:???
デキタ━━━━━(゚∀゚)━━━━━!!!!
747 ◆1xtMcmXRUM :03/05/29 18:13 ID:???
PHPでフォームから入力をdatファイルに書きこむと、
入力データの中に「'」シングルクォートがあると「\'」と出力されます。
どういった理由からなのでしょうか。
またこれを回避する方法を教えてください。
748nobodyさん:03/05/29 18:18 ID:???
magicquote
749 ◆1xtMcmXRUM :03/05/29 18:31 ID:???
>>743

ありがとうございました。
解決しました。
750nobodyさん:03/05/29 21:22 ID:???
>>749
おっす
751nobodyさん:03/05/30 00:08 ID:???
>>750
おらゴクミ
752nobodyさん:03/05/30 01:49 ID:6sk5m89X
ちょっとお尋ねします。
url.php
<? echo "12345"; ?>
を「http://aaa.to」にftpでアップロードしブラウザでurl.php
を見ると
「12345」
と表示されるよね。
同じように現在のURLを表示させることはできないすか?
ブラウザで見たときに
「12345 http://aaa.to(現在のURL)」
という具合です。
ついでに、このURLがhttp://....htmlだったらhttp://....jpg
みたいに変換できませんかね?
宜しくお願いします。

753サンプルです:03/05/30 01:54 ID:vCwoDoyN
★こっそり見せます★
http://endou.kir.jp/betu/linkvp2/linkvp.html
754nobodyさん:03/05/30 01:55 ID:???
>>752
<? phpinfo(); ?>
ってやって
PHP Variables
の項目をよくみる。
755nobodyさん:03/05/30 02:00 ID:???
>752
$_SERVERのPHP_SELFとSERVER_NAMEあたりを整形すれば。
URLの変換は、preg_replace()かなんかで正規表現をつかって末尾の拡張子を置換すれば。
答える俺も俺だが、、。
756nobodyさん:03/05/30 02:02 ID:???
>>755
スレタイ的にはいいんでない?
757nobodyさん:03/05/30 02:08 ID:6sk5m89X
752です。
まじ初心者なんで全く分からないです。
少し作ってはいただけませんか?
宜しくお願いします。
758nobodyさん:03/05/30 02:18 ID:???
このさい脱初心者に向けてがんがって下さい。
必要な値を取得して、変数にぶっこんで整形するだけです。
759nobodyさん:03/05/30 02:30 ID:???
初心者ならできる。やるきあるだろ?
760nobodyさん:03/05/30 03:26 ID:6sk5m89X
>>755、758さん
自分で作ることが出来ました。
ありがとうございます。
761nobodyさん:03/05/30 04:02 ID:???
これからもがんがり。
762nobodyさん:03/05/30 19:41 ID:5twCpe/L
Perlも中途半端なとこまでしかやってないんですけどどうもPHPに乗り換えようかなとか思ってます。
PHPは理解するの大変ですかね〜?
763nobodyさん:03/05/30 20:07 ID:???
びっくりするほど分かりやすいので、やってみる分にはOK。
出来ることの幅は狭くなる部分も多いよ。
764nobodyさん:03/05/30 21:17 ID:???
>>762
試してみ。特に初心者にはPHPのほうが楽。

>>763
>出来ることの幅は狭くなる部分も多いよ。
え?、たとえば何?
765nobodyさん:03/05/30 22:04 ID:???
>763
Cがかけりゃ何でも・・・というかWebアプリしか考えてないなら不自由はないだろ。
766762:03/05/31 11:17 ID:8mTS6RYE
>>764-765
レスサンクスです!!簡単なんですか!!!よし、じゃあいっちょ気合入れて勉強始めます。
767nobodyさん:03/05/31 18:51 ID:???
>>763
> 出来ることの幅は狭くなる部分も多いよ。

これに対する明確な説明を聞いたことがない
768nobodyさん:03/05/31 19:06 ID:???
>767
http://pc2.2ch.net/test/read.cgi/php/1046194468/

ム板にいくと、またPHPとPERLの評価が変わるのも面白いね。
PHPもWebprogしか想定してない言語のままだと未来はない、、のかなあ。
GTK使ってる人とかどうよ。 いけてるの?
PHP死滅したら泣くよマジで。
769766:03/05/31 19:09 ID:???

書き間違えた。>>763-765だったスマソ。
770nobodyさん:03/05/31 19:17 ID:???
>>768
MacOS XでもPHPでアプリケーション開発できるみたいです。
実際に使ってる人は知りませんが。
http://developer.apple.com/internet/macosx/phpappledevtools.html
771nobodyさん:03/05/31 20:49 ID:???
if ( $array > 5 ) { ... }
$array[-3] ;
$array[0..$#array] ;
772nobodyさん:03/05/31 21:25 ID:???
阪神優勝や
773nobodyさん:03/06/01 14:14 ID:???
おめでとう
酒が飲めるな
774nobodyさん:03/06/01 16:53 ID:???
巨人ファンやめたよ。 かといって阪神ファンにはならないけど。
775nobodyさん:03/06/01 17:46 ID:???
例えばURLを入力させてそのアドレスのページのソースからABCD=に続く文字列を取得して表示させるってゆうのを作りたいんですが、可能でしょうか?
776nobodyさん:03/06/01 17:53 ID:???
可能です。がんがってください
777nobodyさん: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 ...と
表示されてしまいます。
どなたかわかる方教えて頂けますか
778nobodyさん:03/06/01 18:46 ID:rwWGBklk
777です。
使用しているのはphp4.2.2 apache1.3.27 RedHat7.3です。
779直リン:03/06/01 19:10 ID:FDrVWEME
780nobodyさん:03/06/01 23:25 ID:???
>>1-1000
おまえらPHPマニュアルとphpinfoを小一時間嫁
781nobodyさん:03/06/02 04:10 ID:yvjFnCLG
>>780
つまりお前もって事ですな。
782nobodyさん:03/06/02 13:12 ID:???
>>781
ていうかキミも。
783nobodyさん:03/06/02 14:41 ID:15jlp0q7
>>782
なら黄身モナー
784nobodyさん:03/06/02 15:42 ID:???
>>783
いやお前も
785nobodyさん:03/06/02 17:43 ID:???
おれは?
786nobodyさん:03/06/03 00:36 ID:???
>>785
てめえもに決まってんだろ!
787nobodyさん:03/06/03 07:13 ID:O91JYZqE
<?php
for($i=1;$i<1000;$i++;){
echo = "お前もナー";
}
?>
788nobodyさん:03/06/03 07:26 ID:???
(゚∀゚)ハァ?
789nobodyさん:03/06/03 08:18 ID:E+p3iN3T
http://homepage3.nifty.com/coco-nut/
キタ━━━━(゚∀゚)━━━━!!
http://www.k-514.com/
790nobodyさん:03/06/03 14:46 ID:3NImKoXN
safe mode ってなんでつか?
791nobodyさん:03/06/03 16:01 ID:???
>>787
1000は対象外?
792nobodyさん:03/06/03 23:50 ID:???
ここが初心者を叩くスレか?    早く来い       なぶり殺しにしてやるわ
       ∧         ∧ /;;;;;;;;;;;;;;;;;;;;;i\ , -``-、         , -``-、
        / ヽ        ./ .∧ \;;;;;;;;;;;;;;;;;;;/ ヽ   \      /     )
     /   `、     /   ∧  `、;;;;;;;;;;;;;;/  \    \    /    /
    /       ̄ ̄ ̄    ヽ           ヽ    ̄ ̄     /
  ( ̄ ̄ ̄ ̄ ̄祭り命 ̄ ̄ ̄ ̄) ̄叩き命 ̄ ̄ ̄)  ̄煽り命 ̄ ̄ ̄)
   / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄.\ ̄ ̄ ̄ ̄ ̄ ̄ \  ̄ ̄ ̄ ̄ ̄ ̄ \
  /:::::::::: ヽ-=・=-′ ヽ-=・=-  /=・-   -==・-  |・=-   -=・=-  |
793初心者:03/06/04 00:05 ID:9XPeo0wh
すいmせん、PHPを、勉強したいんですが、どうすれば、いいですか、
794nobodyさん:03/06/04 00:06 ID:???
ていうか、そこの3人も。

PHP5マダカナー
795nobodyさん:03/06/04 00:09 ID:???
環境はあるの?
いきなり本番用のサーバでやると無限ループしたくなるから、
まずローカル(家のPC)で動かせるようにしてみるのがいいかな。
インストール方法は、「PHP インストール (使ってるOS名)」で検索すれば結構ヒットするよ。

手元にチュートリアル形式の本があると便利だけど、それは懐具合と相談っと。
796nobodyさん:03/06/04 00:20 ID:???
やっぱ初めは1冊は本を買った方が良いな。
「プロフェッショナルPHPプログラミング」がお勧め。(古いけど)
797793:03/06/04 00:34 ID:9XPeo0wh
ごめんよ…
>792に対するネタだったんだけど
ここの住人優しすぎる…
798nobodyさん:03/06/04 00:41 ID:Fb4MSZeX
799あぼーん:03/06/04 00:44 ID:???
800サンプルです:03/06/04 00:52 ID:2Mfd/gsT
◆クリックで救える○○○○がある◆
http://yahooo.s2.x-beat.com/linkvp/linkvp.html
801nobodyさん:03/06/04 04:10 ID:???
>797
この板の"単独でない"質問スレは概して優しい比が高いと思われ。
マ板も優しい比は高いが、プラスして愛のムチが若干多め。
802nobodyさん:03/06/04 11:29 ID:???
動的に変化するファイル"data.txt"の
100行目だけを取り出すにはどうすればいいでしょうか・・?
803nobodyさん:03/06/04 13:15 ID:???
system("head -n 100 data.txt|tail -1")が楽かな。(未確認)
正直にやるなら
・怠惰ver. : @data=file("data.txt"); -> $data[99]
・セコセコver. : fread() + explode で \n をカウント
・人間に優しいver. : fgetsを100回ループ
804nobodyさん:03/06/04 14:41 ID:???
>>803
>>802はWInのような気がするが (ただ何となく)
805nobodyさん:03/06/04 15:03 ID:???
cygwin入れればwinでも同じことだし
806nobodyさん:03/06/04 20:17 ID:???
>>802
$lines = file($filename);
echo $lines[99];

じゃだめですか?
そうですか・・・
807803:03/06/04 23:11 ID:???
怠惰ver. が間違ってた.... perlじゃないんだから>オレ
808nobodyさん:03/06/05 00:29 ID:???
>>807
まぁまぁ漏れもよくやるよ
しばらくASPやってて、PHPに戻って
<%= $value %>まるっきり鬱
809nobodyさん: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からエクセルファイルって生成できまつか?
811nobodyさん:03/06/05 14:31 ID:???
>>810
現状のxlsな奴なら無理だがCSVやTSVとかなら楽勝。
ていうか俺はTSV生成してエクセルに放り込んでるし。
812 ◆AngelH/kMI :03/06/05 15:03 ID:???
PEAR(http://pear.php.net/)にある、Spreadsheet_WriteExcelクラスで
行けると思うよ。

http://www.pat.hi-ho.ne.jp/dimension/
このあたり参考に。
813名無し:03/06/05 15:03 ID:dY8zx7u9
>>811
やっぱそれしか方法はないんですかねぇ・・・

http://phpclasses.psbweb.com/browse.html/package/767.html

↑色いろ海外のサイトとかみてたら、これで出来そうな気もするんですが・・・
利用したこと有るかたいますか?
814直リン:03/06/05 15:10 ID:C/yWLjzO
815稼ぎまくり:03/06/05 15:44 ID:G9FTlK+Z
ゲーム感覚で貼りまくってやっーと月40万円稼いぎましたwww。

参加は無料なので参加してみるだけ参加してください。

自分でリンクを貼るより紹介者を集めた方が効率が良いようです。
紹介者の10%が自分の利益になります。

http://www.adultshoping.com/addclickport.cgi?pid=1052229999

816nobodyさん:03/06/05 16:58 ID:Em2ZoCsT
超初歩的な質問ですが…
配列変数で

$bu = array ("10" => "空",
"20" => "海",
"30" => "雲",
"40" => "波"};

$item[0]の値が30の場合に
値(雲)を返す方法(関数)を教えてください。
817 ◆AngelH/kMI :03/06/05 17:05 ID:???
>>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:???
822nobodyさん:03/06/06 09:26 ID:Z3n310g1
全角数字→半角数字 への変換を↓でしたら

$j=mb_convert_kana($j,'n');

「43」 を入力したら 「 ?S?R 」 と表示されました。
PHPは Version 4.1.2です。
何が原因でしょうか?
823nobodyさん:03/06/06 10:52 ID:???
>822
全角の漢字コードが合ってない。
漢字コードの設定をきちんとするか、
mb_convert_kanaの引数に使う際に変換して渡す。
824直リン:03/06/06 11:10 ID:6EFZr+OJ
825直リン:03/06/06 11:10 ID:6EFZr+OJ
826nobodyさん:03/06/06 11:25 ID:???
822じゃないけど、うちの環境だと半角カナの変換は出来ても
数字の全角、半角の変換が出来ないな…、なんでだろ。。
$j="43";
$j=mb_convert_kana($j,'n');
print $j;
とかやるとそのまま全角で「43」って表示される。
# PHPのバージョンは 4.3.1
827nobodyさん:03/06/06 12:17 ID:Om0FdQtM
セーフモードについて教えてください。
http://jp.php.net/manual/ja/features.safe-mode.functions.php

セーフモードとはそもそも何なのか?
使用するためにはどうすればいいのか?

誰かおながいします
828826: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;
とやると旨くいきました。
# 全角扱うときは三番目の引数は必衰?
829nobodyさん:03/06/06 12:42 ID:???
>>827
http://jp.php.net/manual/ja/features.safe-mode.php
簡単に言えば、危ない関数を使わせない。
悪意のあるPHPプログラマーがそこで大量のDMを送ってしまうような事態を
防ぐようにメール送信の関数を使わせない。などなど

使用するには、上記リンク先に書いてあるとおりにphp.iniを弄る。
830 ◆AngelH/kMI :03/06/06 21:00 ID:???
>>828
php.iniのmbstring関連の設定があっていれば
mb_convert_kanaに指定しなくても大丈夫だと思うけど
そうでないならmb_convert_kanaで明示的にエンコードを指定したほうがいいよ。

自分はmb_ereg系ではまった・・・<エンコード
831nobodyさん:03/06/06 23:09 ID:felb9FAB
男の子も女の子もオススメサイトです!
http://homepage3.nifty.com/coco-nut
832直リン:03/06/06 23:10 ID:6EFZr+OJ
PHPのファイル操作で
書き込みと読み込みではどっちが負担かかるんですか?
834nobodyさん:03/06/07 00:07 ID:Og/B9a41
プログラムの中で
ファイルを作る場合、
パーミッションを777にしたサブディレクトリを
作ってその中に作る以外に良い方法ありますか?

835nobodyさん:03/06/07 00:16 ID:???
>>833
負担が少ないほうを使うってことだね。
例えば書き込み処理の方が負荷でかけりゃ読み込みだけを使えばOK…

…ってナンデヤネン
何故に目的が正反対な処理を比較しますか?
836nobodyさん:03/06/07 04:29 ID:???
>>834
普通に作ればよし。何がしたいのか分からん。
もしかしてsafe-modeが分からなかった人ですか?
837nobodyさん:03/06/08 11:50 ID:ARQUvfvj
PHPは配列のキーにタイムスタンプを使っても大丈夫でしょうか?
rs[20030608114950]という感じにです。
Cも勉強しているのですが、めちゃくちゃメモリとってるなという感じですが、
PHPでもだめなんでしょうか。
838nobodyさん:03/06/08 12:14 ID:wXDD1Wqg
皆さん相談に乗って下さい!!

彼女(28歳)とは四年半付き合っているのですがそろそろ結婚の話が持ち上がってきています。
ですが正直に言うと結婚に対してどうも前向きになれないのです。

最近では普段一緒にすごしていても心の中では彼女もいい年齢だし結婚を考えなければと何かモヤモヤとした状態ですっきりしません、夜の方も特にエッチした後でそういう話題になるので三か月ぐらいはしていません。

彼女には失礼だけど飽きがきているのかもしれません。でも馴れ合いというか4年半も付き合うとこんなもんかな?とも思ってもいます。みなさんはどうなんでしょうか?
前はそんなことはなかったんですが旅行で泊まりに行く時もどうもすっぴんを見るとエッチする気が起きないし・・・。
こんな状態では結婚した後どうなるんだろう?とふと思ってしまいます。
ただ嫌いな訳では決してないのでこのまま別れてしまうのは悲しいのも事実です。
性格的にはすごくいい子で相性もあっていると思うので結婚をすればそれなりに一緒にやっていけるとも思います。

こんなことで迷うこと事態結婚すべきじゃないのかもしれませんが、この先彼女以上の人が現れるのかどうかという不安もあって決めきれないでいます。
やはり少しでも不安に思うこと、迷うことがあれば結婚すべきではないのでしょうか?既婚の方はこういう迷いなく結婚されたのでしょうか?

優柔不断で自分自身腹が立ちますが、とにかくこのままでは彼女に対しても失礼だし、彼女の貴重な時間を奪ってしまうので早く結論を出そうと思っています。

みなさんのアドバイス宜しくお願いします。
839nobodyさん:03/06/08 12:14 ID:???
>>837
せめて文字列にしとけ。
840nobodyさん: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;

}
841nobodyさん:03/06/08 16:49 ID:EtKzlxWg
fclose ($fp);
}
842840:03/06/08 17:23 ID:EtKzlxWg
自己解決しました。おさわがせしましたー
843838:03/06/08 17:27 ID:???
こちらも自己解決しました。相談にのっていただいた方、ありがとうございました
844nobodyさん:03/06/08 18:11 ID:???
>843
マジネタだったのか…いや内容はマジメだったけど。
845nobodyさん:03/06/08 18:26 ID:???
>>844
誤爆じゃなかったのかと。
846nobodyさん:03/06/08 18:28 ID:349ouSjo
こんにちは。
最近PHPの存在をしりまして、勉強しております。
非常に基本的な質問で恐縮なのですが、php3のソース
はphp4でも流用できますか?大きな変更点など
ありましたら、教えてください。
php3のソースをphp4に移植したいと考えております。

どなたか、アドバイスお願いします。
847nobodyさん:03/06/08 18:36 ID:???
>>846
マヌアル嫁。としか言いようが無いわけだが。
848 ◆AngelH/kMI :03/06/08 19:42 ID:???
>>846
http://jp.php.net/manual/ja/faq.migration4.php
これね。
しかし、今から勉強するならわざわざPHP3使わなくてもいいんじゃ・・・。
もうすぐPHP5って時代だし。
849nobodyさん:03/06/09 00:19 ID:???
>>848

君には↓が読めないのかね?
> php3のソースをphp4に移植したいと考えております。
850nobodyさん:03/06/09 00:39 ID:???
>>849
そうなると矛盾してる文章にもなりえるんだよな。
最近PHPの「存在」を知った香具師が何故に移植作業なぞ考えたのか?と。
すっ飛ばされるプロセスを突っ込んだのは親切なのかもしれないが
所詮すっ飛ばされる程度の内容だということだ。
851nobodyさん:03/06/09 00:47 ID:???
>850
使いたいと思ったアプリが偶々PHPで作られてて
(そこでPHPというものを知った)尚且つver.3だったんじゃないのかな。
で、自分のところが借りてるサーバではver.4は入ってると。

3→4は自分の作ってたスクリプトでは結構苦労したな。
一応移行ユーティリティが提供されてたけど、細かい動作違いとかもあったし。
852404.HDML ◆StMXML.EXE :03/06/09 02:29 ID:???

$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);
853840:03/06/09 03:14 ID:GDMx3L3L
>>852

すっきりなってますね。ありがとうございます。
ただ現状でエラー出まくりなんでまだチェックしてないんですが前の記述は
コメントアウトして挿入しました。

ありがとうございます
854nobodyさん:03/06/09 03:59 ID:???
>>846
$_ 関係のスパーグロバル変数に注意すれば動くかも。
register_global=onにすればいいんだが。
855nobodyさん:03/06/09 04:28 ID:GDMx3L3L
注釈をきっしり付けて見やすいソースにしました。
 ですがなぜかエラーの原因がわかんないです。
 もしよろしければ一緒にさがしてください
 おながいします

 http://2chlog.net/read3.txt

現物
http://2chlog.net/read3.php?read+comic.2ch.net+comicnews+1054807100
856nobodyさん:03/06/09 04:35 ID:???
>>855
>  http://2chlog.net/read3.txt

Error 404
Not found - file doesn't exist or is read protected
857本7 ◆.cmboddv4k :03/06/09 04:41 ID:GDMx3L3L
>>856
置き場を間違えてました。すんません。いまうp出来てますんで見てください
お願いします

http://2chlog.net/read3.txt
858nobodyさん:03/06/09 04:42 ID:GDMx3L3L
名前出てた。。
859nobodyさん:03/06/09 04:46 ID:???
>>857
どっかで閉じカッコが足りないんじゃない?
860nobodyさん:03/06/09 04:47 ID:???
いい加減、放置でおねがいします
レスしないように。
861_:03/06/09 04:48 ID:???
862nobodyさん:03/06/09 04:54 ID:GDMx3L3L
>>859
関数ごとに{ 付けたり取ったりして試してるんですがココっていうのがなか
なか見つからないんです。

要件としてはクエリ−で受けたホスト名、板名、スレIDからdatを直に読んで
表示と保存するものです。

流れはコマンド引数を各変数に代入、既得ログを読み込み、文字列バイト数を
読み込み(HTTPヘッダで差分取得に使う)、ソケット生成してdat読み込み、
既得ログに追記していく、新着レスバイト数を加算、表示という感じです
863nobodyさん:03/06/09 04:54 ID:???
インデントがないと分かりにくいな。
while文あってる?
864nobodyさん:03/06/09 04:57 ID:???
Parse errorを見抜ける人でないとPHPをやるのは難しい。
865nobodyさん: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 に変更してあります
866nobodyさん:03/06/09 05:00 ID:???
ほかのもっといいすくりぷとがあったらおしえてくだちい。
867nobodyさん:03/06/09 05:01 ID:GDMx3L3L
Parse error で Parse error: parse error, unexpected $ てのが初めて
なんですよ。なんでだろ
868nobodyさん:03/06/09 05:02 ID:???
>>865
通常、@はParse Errorに関係ない。register_globalも。
869nobodyさん:03/06/09 05:05 ID:GDMx3L3L
>>868
よく分かってないもんですんません。register_globalはコマンドライン引数
の設定でParse Errorってまんま構文エラーですよね
870nobodyさん:03/06/09 05:09 ID:GDMx3L3L
59行目と76行目あたりががとりあえず変でしたんで修正しました。

でも何も結果変わらんです。。
871nobodyさん:03/06/09 05:13 ID:???
>>869
これが初めて書いたスクリプト?
もっと簡単なもので練習した方がいい。公開するなら尚更。
関数とか処理とかではなく、それ以前の文法が間違ってる。
ゆっくり見直してみれ。

それからこれ以上ageるな。
872nobodyさん:03/06/09 05:16 ID:???
>>871
普段もっと局所的な(カウンタとか)ぐらいしか作らないものんでさっぱり
不慣れです。。ageはすみません
普段はPerlとかDelphiが多いです。
873nobodyさん:03/06/09 05:21 ID:???
$sub[3] = ereg_replace(@`,',', $sub[3]);

これ変じゃねえか?PHPマヌアル見たか?
874nobodyさん:03/06/09 05:28 ID:???
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");

ここをコメントにしてみれ
875nobodyさん:03/06/09 05:30 ID:???
144行目 ereg_replace(@`,',', $sub[3]);

ereg_replace('@`',',', $sub[3]);
に修正と114行目あたりのsplitの位置と変数名を修正しました

が、以前変わらずです。。
876nobodyさん:03/06/09 05:32 ID:???
>862
コメント入れる前に全体的に何らかの一貫性を持った
書き方をしないさいよ、特に括弧。()や{}の入れ方(有無や場所)。
自分でも読み難いだろうし、他人なら尚更。

ヒント:ヒアドキュメント
(さらっと見ただけだから他にもあると思うけど)
877nobodyさん:03/06/09 05:34 ID:???
>>874
変化ありました。
次55行目にエラー来ました。

if (!($fde = fopen("./$host/$brd/dat/$sid.idx", 'r'))) {
die;
}

のやり方がまずいんでしょうか。
この方がすっきりするらしいんで変えた部分です。
正しくは分かりません。

もう少し調べてみます。
ありがとうござます。
878nobodyさん:03/06/09 05:35 ID:???
Parse Error が出たらぁゃιぃところをコメントにしてみること
879876:03/06/09 05:41 ID:???
漸くマニュアルの記述のあるところ見つけた。構文のとこじゃないのか。ほれっ
http://www.php.net/manual/ja/language.types.string.php#language.types.string.syntax.heredoc
880nobodyさん:03/06/09 05:47 ID:???
>>879
ありがとうございます!!
しっかり読んで間違いさがしします。
どうもファイルI/Oのやりかた&文字列の扱いに問題ありそうです。
ヒアドキュメントは止めました。ソケットは送受信し始めましたが
ISAPI Error
Can't get any Response
が出ます。重すぎるんでしょうか
881nobodyさん:03/06/09 06:38 ID:m5mFN10O
882直リン:03/06/09 07:10 ID:GjkKVS2A
883404.HDML ◆StMXML.EXE :03/06/09 07:29 ID:???
>>874
失敬な。ちゃんと動作確認してるぜよ。
884404.HDML ◆StMXML.EXE :03/06/09 07:45 ID:???

<?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);

?>

サンプルソース。表示出来たぜよ。
885nobodyさん: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
886nobodyさん:03/06/09 08:54 ID:???
>885
なんで使ってもいない演算子エラーが出るんだよ。
<< とか << < になってるなじゃないの。
887無料動画直リン:03/06/09 09:10 ID:GjkKVS2A
888404.HDML ◆StMXML.EXE :03/06/09 09:15 ID:???
>>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デーモン逝って良さげ。(クソ、改行が多すぎるだと?)
889nobodyさん:03/06/09 10:35 ID:???
とりあえずread3.phpを書き直したぞ。
http://neji.zive.net/reread.phps
890nobodyさん:03/06/09 10:37 ID:???
スクリプトの文字コードはEUCね。HTML出力ははSJIS。
891nobodyさん:03/06/09 14:07 ID:HwUe7b2u
>>889
おお!ありがとうございます!!

穴があくほど読み替えして盗ませてもらいます。

みなさんありがとうございます
892nobodyさん:03/06/09 14:32 ID:???
>>891
インデックス読み取りとバイト数読み取りは既得ログを読み出し2chからは
未取得の差分ログだけを読み出す為にです。
まだつけていませんがHTTPヘッダに

Range Byte=****-

を付けます
893nobodyさん:03/06/09 14:32 ID:???
>>892>>890へのレスです
894889:03/06/09 14:42 ID:???
ちょっと修正。
foreachに渡す変数名がデバッグ時のままだった。
あと、処理の屋台骨はまったくいじってないから修正しないと使えないぞ。
895nobodyさん:03/06/09 14:52 ID:???
>>891こいつは「教えて厨、クレクレ厨の本7」です。
アドバイスをした人に対して、奴隷呼ばわりするクズです。
できるだけ放置してください。


詳しくは↓

【史上最悪】本7◆HON7/awDa. 七 妄想編
ttp://tmp.2ch.net/test/read.cgi/tubo/1054380330/
896直リン:03/06/09 15:10 ID:GjkKVS2A
897nobodyさん:03/06/09 15:21 ID:Yh4o5EqV
アクセス数の多い掲示板にリンクを貼るだけで
安定した収入が得られます。ゲーム感覚で貼り続けた結果
先月は約400000円も振り込まれていました。
何故こんないい話を紹介するのかと言うと
紹介して、1人参加して頂く度に100円が振り込まれます。
こちらから一切お金を払う必要はありません。
暇な方は参加して損はないので是非参加してみましょう!
(なお、今いくら稼いでいるかなども随時確認可能です)

参加はこちら→ http://www.adultshoping.com/addclickport.cgi?pid=1055130579

運営しているサイトはこちら→ http://www.adultshoping.com/index.cgi?id=1055130579
898nobodyさん:03/06/09 16:21 ID:KaQQn13e
★私のオ○ン○見て下さい★
http://yahooo.s2.x-beat.com/linkvp/linkvp.html
899無料動画直リン:03/06/09 17:10 ID:GjkKVS2A
900nobodyさん:03/06/09 17:26 ID:???
>>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砲ブチ込んでも大丈夫?
901nobodyさん:03/06/09 18:22 ID:???
必死だな
902nobodyさん:03/06/09 18:53 ID:???
ファイルI/Oのエラー回避って以下で出来ているでしょうか

if (($fde = fopen("./$host/$brd/dat/$sid.idx", 'r'))) {

while($soq=fgets($fdo,100)) $bytes = $soq;

fclose($fde);

}else{

die;

}
903nobodyさん:03/06/09 20:34 ID:???
Windows98のPHP(4.2.3)ってC:ドライブ(ブート)以外のファイルは実行できない
んですか?
904nobodyさん:03/06/09 20:49 ID:???
>>903
はぁ?
905903: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

ってでるんです
906nobodyさん:03/06/09 21:16 ID:???
>>905
あってんの?そのUNC
907nobodyさん:03/06/09 21:42 ID:???
フォルダからのコピペでphp.iniに加えました。

Win用HTTPサーバからsamba上のファイルを実行しようとしています
908nobodyさん:03/06/09 22:44 ID:???
>>907
インクルードパスに入れてるのに何でフルパスで指定してるのさ?
909nobodyさん:03/06/09 22:47 ID:???
>>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
誰か・・・
912nobodyさん:03/06/10 02:01 ID:???
そんなんやった事ないが、
試してるんだろ?どんな感じなん?
913nobodyさん:03/06/10 02:08 ID:???
>910
自分の質問の内容をもう一度読み返せっ。

PHPとどう関係があるのだ
914nobodyさん:03/06/10 02:29 ID:???
HN表示しろよ
915初心子:03/06/10 02:41 ID:LLWGhtsO
>>912
具体的にやりたいことはブラウザから画像をサーバにアップロードして
「何か押して下さい」というボタンを表示し、押されるとexec()にて
画像の加工をサーバにあるアプリケーションにさせる、というものです。
画像加工のアプリにはimagemagick等では出来ない処理をさせています。
諸事情からcronは使えません。

サーバのローカルにてDOSのコマンドを実行してみて上手くいったもので、
同じ内容をexec()でやれば良いと思っていたらできなくて非常に悩んでいます。
アプリにはIUSR_マシン名の実行権限を与えており、保存先のディレクトリにも
書き込みの権限を与えています。

何がいけないのでしょうか・・・。
916nobodyさん:03/06/10 03:17 ID:???
917nobodyさん:03/06/10 03:40 ID:???
>>916
ズバリそれだね。
918初心子:03/06/10 13:44 ID:???
解決したのでご報告します。

exec()にて実行させたいアプリケーションへのパスをフルパスで記述していたの
ですが、サーバ側でパスを通してアプリケーション名だけ記述するようにしてみた
ところ上手くいきました。なぜ上手くいったのかは未だによくわかりません。
ひょっとしたらexec()内に「.exe」を含んでいないからかな、とも思いますが
推測にすぎません。

色々とありがとうございました。
919nobodyさん:03/06/10 20:04 ID:YvfCMn9m
始めまして。
初めてPHPというものに手をつけるのですが
レッツPHPから落としてやってみたのですが、

http://apc.dip.jp/takaya/up/mailbbs.php

なって形が出来ていません
何故なのでしょうか? 教えてくださいお願いします。
920nobodyさん:03/06/10 20:12 ID:???
>>919
PHPが有効になってないだけに見える。
自宅鯖なのかな?インストールした?
921nobodyさん:03/06/10 20:16 ID:YvfCMn9m
自宅鯖です。
あの自宅の場合はどうすればよいのですか?
922nobodyさん:03/06/10 20:25 ID:???
んと、PHPはインストールした?
してないなら「AnHTTPD php インストール」で検索して、インストール。
と思ったら レッツPHPがヒットした。。。
923nobodyさん:03/06/10 20:27 ID:I5OBKCIX
924_:03/06/10 20:43 ID:???
925nobodyさん:03/06/10 20:48 ID:YvfCMn9m
AN HTTPDのオプション/一般の拡張子
って何処でやるのですか?
926nobodyさん:03/06/10 20:49 ID:???
>>925
アホはサーバ立てる権利無し。
927nobodyさん:03/06/10 21:17 ID:???
>926
権利はあるけど、資格はないな。
取り合えずAN HTTPDのFAQ嫁、書いてあるんだから>925
928nobodyさん:03/06/10 21:19 ID:YvfCMn9m
ありがとうございます
全て設定も完了しましたがダメでした。。。
929nobodyさん:03/06/10 22:09 ID:???
>928
そんなことは無い筈(ダメの内容如何ではあるが)。
CGI版(php.exe)を使うのか、ISAPI版(php4isapi.dll)なのかで
設定方法や完了後のphpの動作自体も違うし、
また、使うPHPのバージョンで受け取れるサーバ環境変数とかにも
差異があるけど、動かないということはない。
「AN-HTTPD PHP」でぐぐって、も少し試せ。
930nobodyさん:03/06/11 00:03 ID:???
>>928
アホは氏んでくれよ。
「ダメでした。」ってなんだよ?
何をどうしてやってみたらどうなってなにがひょうじされてダメだったんだ?
おまえがやったことを事細かく「具体的に」書けよハゲ。
931nobodyさん:03/06/11 00:33 ID:???
>>930
そういうレスはいらないです。あなたの発言でみんなが関わり合いを
避けて結局回答が得られなくなります。
932404.HDML ◆StMXML.EXE :03/06/11 00:46 ID:???
>>919
"php4ts.dll"は、必要なフォルダにきちんと収めてありますか?
933nobodyさん:03/06/11 00:48 ID:gpooB88O
えっちなサンプルムービー多数有ります☆!
http://cg.iclub.to/link/ranran1/
934nobodyさん:03/06/11 01:00 ID:???
>>931
お前のレスがよっぽどいらねーよ。
935nobodyさん:03/06/11 01:14 ID:???
>>931
>>930の書き方はともかく、ダメだった状況を詳しく書かなければ回答は得られないよ。
親切なレスが返ってきても、まず「詳しい状況を書いてください」って内容だろうね。
相談を持ち込む時に、相手から状況説明を求められてちゃ2度手間だよ。
936nobodyさん:03/06/11 01:21 ID:???
保守
アホな質問であっても詳しく質問すること。
937nobodyさん: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 でループさせてるからなんだけど、これって回避できませんか?
938nobodyさん:03/06/11 01:34 ID:???
改行の処理を自前でやる。
rtrim()参照。
939本7 ◆.cmboddv4k :03/06/11 02:36 ID:???
>>928

C:\WINDOWSフォルダにphp.iniをいれる。

C:\にphpフォルダを移す。

php4ts.dll は C:\php\sapi に配置

で、AN HTTPDはhttp://2chlog.netのスクリーンショット撮ったから
それみて丸写したら動くはず。

もしコマンドライン引数( http://2chlog.net/subjext.php?pc2.2ch.net+mysvみたいなヤツ)
が使いたいならさっきの C:\WINDOWS\php.ini の文中に

;register_globals = OFF

っていう部分があるからそれを

register_globals = ON  に変えて保存

; をちゃんとはずしてやる事。

これでとりあえずちゃんと使えるはず。それでもダメならまた質問書いてみ
940本7 ◆.cmboddv4k :03/06/11 02:37 ID:u5KJm7Q9
>>939の画像はここ

まちがえた。ごめん

http://2chlog.net/sc.GIF
941nobodyさん:03/06/11 03:49 ID:???
>>939-940
氏ね
942937: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);

って、やっても意図した動作しないし・・・
うがぁ〜・・・
943nobodyさん:03/06/11 04:22 ID:???
まず、ログファイルの改行(\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をつけるとよいかもしれない。
944nobodyさん:03/06/11 04:30 ID:???
>>942
$fp = fopen($filename, "a");
じゃないのか?
あと、書き込んだ後rtrimしてどうする?アイフル?
945nobodyさん:03/06/11 04:36 ID:???
>>939-940はググってみたんだろうな?
それで見つからんようならあきらめた方がいいよ。マジで。
検索能力(?)が低いとこれから何でも掲示板やMLに頼ろうとするから。
PHP-MLのログを漁ってきたらどう?
946nobodyさん:03/06/11 04:38 ID:???
>>942
forがループしてない・・・((((゚Д゚;))))
947本7 ◆.cmboddv4k :03/06/11 04:43 ID:u5KJm7Q9
PerlよりもPHPよりも扱いやすくて日本語ヘルプ付きのWEBプログラム言語
あったら欲しいですか?
948nobodyさん:03/06/11 04:48 ID:???
>>947
PHPは簡単で、マニュアルも分かりやすい。これ以上簡単なのはイラン
949nobodyさん:03/06/11 04:51 ID:???
>>947
隔離スレから出てくるな!!
950本7 ◆.cmboddv4k :03/06/11 05:17 ID:u5KJm7Q9
言語は現存でいいとしてオブジェクト指向に特化したエヂタとか欲しいですか?

いまプログラムの入門者って用途こそ違えど昔のBASICに取って代ってP
erlやPHPが多い。でも基本的にテキストエディタだけの環境ですよね。
それがもっとよりより環境でできたらと思うんですが。
PHPもマニュアルありますけどあくまで基本が分かってる人の立場で書いてあ
るから初心者には意味不明。とっつき安さがあれば市場も大きく広がると思うんで
すが。
951937:03/06/11 05:35 ID:M1dCFAVD
>>943
\n ≠ <br> は理解してます。
スクリプトは、文字コード→EUC、改行コード→LF で書いてます。
そのソースでやってみると、ログが1件しか残りませんでした。なんでだろ・・・あぅ

>>944
"a" だと最新データが下に追記なので回避したい。
rtirmの位置は、あそこだと書き込んで\n削除して書き込んで〜ってループになると思ったので・・・

>>946
$dat から\n外したのが原因?だと思う・・・(つД`)


HTMLでの表示自体は問題ないのですが、ログファイルに \n が多くありHTMLソースが
汚くなるので、何とかしたいのです。
HTMLソースなんぞ気にするなと言われればそれまでですが・・・

ttp://218.182.128.154/test.phps //ソース
ttp://218.182.128.154/test.php //スクリプト
ttp://218.182.128.154/test.log //ログ

現状、こんな感じです。
952nobodyさん:03/06/11 05:56 ID:???
>>951
> "a" だと最新データが下に追記なので回避したい。

$linesをひっくり返して書き込んでみては?
表示する際にひっくり返してから表示するとかw
953937:03/06/11 06:04 ID:M1dCFAVD
>>952

> 表示する際にひっくり返してから表示するとかw
えっ?そんな事できるんすか?
"w" だとログが飛ぶ可能性があるので、"a"で書き込んで表示の際にひっくり返す
って出来れば嬉しいんですが・・・

#ちなみにテスト環境がWinな為、↑のスクリプトではflockしてません。
954nobodyさん:03/06/11 06:09 ID:???
>>953
あらかじめ表示するデータを配列に入れておいて逆にするだけ。
array_reverse(file($filename))でよかったかな?
955nobodyさん:03/06/11 06:12 ID:u5KJm7Q9
PHPでアクセスの統計をグラフ表示したいんですけどPHPだけでGIFのグラフ
吐く事ってできますか?
956nobodyさん:03/06/11 06:13 ID:???
>>953
配列をひっくり返す関数があるじゃん。
957nobodyさん:03/06/11 06:22 ID:???
>>955
GDを使えば出来る。GIFが扱えるかどうかは微妙だが。
958937:03/06/11 06:26 ID:M1dCFAVD
あぁ〜、オレのバカ。。。
"a"だと、ログ件数を指定できないですよね・・・
永遠に追記されて行く・・・ぐはっ
しかも、書き込み時にループさせてるから、ログが激しく重複・・・うがっ

>>954
>>956
その関数を知らなかったです。勉強になりました。
なんかオレ、ひとりで踊ってますね・・・(泣
959nobodyさん:03/06/11 06:27 ID:???
>>955
Perlだけど、レスキューのスクリプトはロゴを自前で
吐き出すようになってた。
それがつかえないかい?
9601:03/06/11 06:28 ID:???
【PHP】初心者コーナー 3 Released【スローモード】
http://pc2.2ch.net/test/read.cgi/php/1055280252/l50

おい3たてといたぞ。
>>937
数行なんだかだ自力でがんがって身。

あー今日も疲れた。ねよ
961nobodyさん:03/06/11 06:36 ID:???
>>958
書き込む際に最新10件だけ保存するようにしてはどうよ?

>>960
さりげなくご苦労さん
962nobodyさん:03/06/11 06:45 ID:???
>>937
ログの余計な改行だけど、昔書いたスクリプトを
見てみたら俺はこんな風に回避してた。
$lines = file(LINESFILE);
//!!!!!注意!!!!!ローカル用のログファイル改行除去。
$lines = str_replace(array("\r"), '', $lines);
//!!!!!ここまで
$fp = fopen(LINESFILE, "w");

この症状が出るのはローカルのWindows環境だけで、サーバ
(UNIX系)だと改行が出なかったような気もするが、あやふや。

それと最近のWindows版PHPだとflockをスクリプトでつかっても
エラーとか出ないんじゃないっけ?
963nobodyさん:03/06/11 06:47 ID:???
全員素人か・・・。初心者未満。

UNIX LF
Windows,DOS CR LF
MAC CR

964nobodyさん:03/06/11 06:51 ID:???
>>1-1001
PHPマヌアル100回嫁
965955:03/06/11 06:54 ID:u5KJm7Q9
Unix環境ではできるようですね。それ使います。
Windows用にPHPモジュール作ったら価値ありそうですね
966nobodyさん:03/06/11 06:56 ID:???
>>965
WinでもGDは使えるわけだが。モジュールも既に有り。
967nobodyさん:03/06/11 07:11 ID:u5KJm7Q9
>>966
ありました!すんません。
968nobodyさん:03/06/11 07:11 ID:???
スクリプトプログラマって需要あるんでしょうか。
いま独学ですが職業にしたくてそういう関係のアルバイトから初めて見よ
うと思うんですが
969937:03/06/11 07:17 ID:M1dCFAVD
>>960
あい、がんばります。
スレ立てお疲れさまです。

>>961
その為に、for でループさせてます。
って、"a"の時に10件だけ保存って事ですか。
それも、今後の為に頑張ってやってみます。
>>962
鯖にあげたら、改行なくなりました!どもです!!
>>963
いや、それは知ってるんだけど・・・
・・・・・・・あ゛っ!そっか・・・そうやんな・・納得。

レスしてくれた方、ありがとうございました!
970nobodyさん:03/06/11 07:20 ID:???
もう寝る。スレ埋めといて
971nobodyさん:03/06/11 08:15 ID:???
POSTの際に全角文字列を%95とかの16進数に変換するにはどうすればいいんですか?
972nobodyさん:03/06/11 08:18 ID:???
url_encode()
973nobodyさん:03/06/11 08:18 ID:eW/5ttxw
ムック
974nobodyさん:03/06/11 08:21 ID:???
>>972
ありがとうございます。さっそく試してみます
975nobodyさん:03/06/11 09:00 ID:???
>>968
http://pc2.2ch.net/test/read.cgi/php/1007014580/

個人的にPerl/PHPだけじゃきつい気がする。
もちろん、需要があるところにはあるとは思うのだが。
976初心者:03/06/11 09:32 ID:fXDH3glC
誰か助けてください
クリックしたらCDドライブが開く、というブラクラを踏んでしまったのです

そしたら、CDドライブがあいてびっくりしたんですが、
それ以来、誰かがCDドライブにアクセスしているのです(アクセスランプが一秒おきにつく
そしてハードディスクに何かを書き込んでいるようなのです(ランプがつく

どうしたらいいのでしょうか。。。
977_:03/06/11 09:42 ID:???
978nobodyさん:03/06/11 09:43 ID:???
>>976
PC初心者板。
http://pc2.2ch.net/pcqa/
979初心者:03/06/11 09:53 ID:fXDH3glC
>>978 ありがとうございました
980nobodyさん:03/06/11 10:52 ID:dsKqd+xJ
>>955
簡単なやつなら、色付(セルカラー)のテーブル使うと楽だぞ。
ま、セルカラーテーブルに対応して無いブラウザもあるのだが。
981980:03/06/11 10:54 ID:???
ごめんageちった。

新しいスレは↓
【PHP】初心者コーナー 3 Released【スローモード】
http://pc2.2ch.net/test/read.cgi/php/1055280252/l50
982955:03/06/11 10:56 ID:???
>>980
それ使えそうですね。ありがとうございます

983nobodyさん:03/06/11 11:03 ID:???
>>982
もし棒グラフなら小さな画像をIMGタグのHEIGHTやWIDTHで引き延ばすのが手っ取り早いんじゃない?
984955:03/06/11 11:05 ID:???
みなさん賢いですね。恐れ入ります。
いろいろ盗ませてもらいます
985nobodyさん:03/06/11 13:02 ID:???
>>955
<td>の背景色(bgColor)を使うと、IEの場合初期設定では印刷されなかった気がする。
悲しい想いをしませんように (ノ_・。)
986nobodyさん:03/06/11 17:54 ID:???
2
987nobodyさん:03/06/11 22:30 ID:???
>>955
http://www.aditus.nu/jpgraph/index.php
PHP用のグラフライブラリ
いろいろなグラフ(エクセルでかけるようなやつ)がかける
しかもコードは10行くらいで
988nobodyさん:03/06/11 22:31 ID:???
>>987
これは単にincludeで読み込むだけで使える
関数セットなのかな?
989nobodyさん:03/06/12 00:17 ID:???
>>988
そう(関数といっていいのかな?)。
ただ日本語フォントを使う場合はパッチ当てたりする必要があるので注意。
その辺の設定を最近、PHP User-MLにサマリとして投げてくれた人がいたな。
興味があればMLの過去ログ探して味噌。
「[PHP-users 15748] JpGraphインストール」ってやつ
990nobodyさん:03/06/12 18:39 ID:???
990&get;
991nobodyさん:03/06/12 19:52 ID:KN4WY2Gg
あがってしまいますぅ
992nobodyさん:03/06/12 22:07 ID:???
992
993nobodyさん:03/06/12 22:54 ID:???
【PHP】初心者コーナー 3 Released【スローモード】
http://pc2.2ch.net/test/read.cgi/php/1055280252/
994nobodyさん:03/06/12 22:55 ID:???
【PHP】初心者コーナー 3 Released【スローモード】
http://pc2.2ch.net/test/read.cgi/php/1055280252/

995nobodyさん:03/06/12 22:56 ID:???
【PHP】初心者コーナー 3 Released【スローモード】
http://pc2.2ch.net/test/read.cgi/php/1055280252/
996nobodyさん:03/06/12 23:03 ID:???
【PHP】初心者コーナー 3 Released【スローモード】
http://pc2.2ch.net/test/read.cgi/php/1055280252/

997nobodyさん:03/06/12 23:09 ID:???
【PHP】初心者コーナー 3 Released【スローモード】
http://pc2.2ch.net/test/read.cgi/php/1055280252/
998nobodyさん:03/06/12 23:10 ID:jPpotP+i




















999_:03/06/12 23:12 ID:???
1000nobodyさん:03/06/12 23:13 ID:???
1000取って良いんですか?
10011001
このスレッドは1000を超えました。
もう書けないので、新しいスレッドを立ててくださいです。。。