【PHP】くだらねぇ質問はここに書き込みやがれpart5

このエントリーをはてなブックマークに追加
1nobodyさん
PHPに関するくだらない質問用すれです。
ここなら本スレで回答のないお前の下らない質問に回答があるかも知れません。
次スレは>>970あたりが建てて下さい

・過去スレ
【PHP】くだらねぇ質問はここに書き込みやがれ
http://pc5.2ch.net/test/read.cgi/php/1099322141/
【PHP】くだらねぇ質問はここに書き込みやがれpart2
http://pc5.2ch.net/test/read.cgi/php/1105218084/
【PHP】くだらねぇ質問はここに書き込みやがれpart3
http://pc5.2ch.net/test/read.cgi/php/1107780435/
【PHP】くだらねぇ質問はここに書き込みやがれpart4
http://pc8.2ch.net/test/read.cgi/php/1110697712/
2nobodyさん:2005/04/30(土) 00:13:34 ID:???
2channel
3nobodyさん:2005/04/30(土) 01:16:44 ID:???
3様
4nobodyさん:2005/04/30(土) 01:42:22 ID:???
4ピル
5nobodyさん:2005/04/30(土) 01:47:17 ID:???
ログファイルの中にある
http://xxx.com/http://hoge.com/http://abc.com/……
って(いくつあるか分からない)データを$linkっていう
変数に配列として収めるにはどうしたらよいですか?
list($link[]) = explode("http://" ,$linkdata);
の様にどんどん、配列に入ってくれるとうれしいのですが。
6nobodyさん:2005/04/30(土) 02:10:34 ID:???
$link = explode…
でいいじゃねえか
7nobodyさん:2005/04/30(土) 02:34:49 ID:???
>>6ありがとうございます……orz
8nobodyさん:2005/04/30(土) 08:42:20 ID:???
PHPスクリプトをジャバスクリプトとしてhtml内に埋め込みたいです。

<html>
<head>
<script type="text/javascript" src="http://aaa.aa.net/ex.php"></script>


というようにすれば良いと教えられたのですが
http://aaa.aa.net/ex.phpが読み込めません
わかる範囲でいいのでご教授を。
9nobodyさん:2005/04/30(土) 08:54:47 ID:???
GW釣り来た〜
108:2005/04/30(土) 08:59:48 ID:???
>>9
私のことですか?
大真面目なつもりなのですが、どこがおかしいのでしょうか。
11nobodyさん:2005/04/30(土) 09:48:02 ID:???
>>8
PHPでちゃんとJavaScript吐いてるか?
12nobodyさん:2005/04/30(土) 11:15:40 ID:???
>>8
無理

ハイ、次の方、ご質問どうぞ。
13nobodyさん:2005/04/30(土) 11:50:50 ID:???
よく、ページにアクセスすると、現在同じページを見てる人間が○人とか
出てきますが、これはどういった仕組みなのでしょうか?
14nobodyさん:2005/04/30(土) 11:53:08 ID:???
コード解析しる
15nobodyさん:2005/04/30(土) 11:58:17 ID:???
>>14
運用されているサイトで見たのですが、ソースコード配布までしてるところが無かったので、
質問させて頂きました。

できれば、お勧めのものを教えていただきたいのですが。
16nobodyさん:2005/04/30(土) 13:20:24 ID:???
質問です。

いろいろやってみたのですが
さっぱりわからないので
休みが終わる前に教えてください。
17nobodyさん:2005/04/30(土) 14:39:59 ID:/qIyEef7
AN HTTPDの質問はこちらでいいですか?
18nobodyさん:2005/04/30(土) 14:46:16 ID:???
>>13
説明するのが面倒なので、「今何人 cgi」でググってスクリプトを見つけてください。
PHPで書かれてなくても ロジックを追う事は難しくないと思われます。

>>17
PHPの質問にしてください。
19nobodyさん:2005/04/30(土) 14:54:02 ID:/qIyEef7
>>18
検索しても引っかからなかったので
よかったら誘導お願いします。
20nobodyさん:2005/04/30(土) 15:01:56 ID:???
21nobodyさん:2005/04/30(土) 15:09:57 ID:/qIyEef7
>>20
本家は検索済みなので、2ちゃんで専用スレか、
該当スレがあればと思ったのですが、ないのでしょうか・・・
22nobodyさん:2005/04/30(土) 15:16:02 ID:???
アプロダとかで偶にある、DL制限ってどうやってやるの?

例えば何かZIPファイル落としてる最中に、
違うファイルを落とそうとしたら、ダメだよってやつ。
23nobodyさん:2005/04/30(土) 16:18:13 ID:???
こんにちは、phpのサンプルも表示できない状態なのですが、
どなたかアドバイスお願いします

PHPの教本を買って、APACHE2、PHPとインストールを終え
両方ともhttp//localhost/phpdev/index.thm
http://localhost/phpinfo.phpの
テスト画面で”問題なく作動しているとの表示”がでました

その後、教本のサンプルのphpファイルをブラウザに表示させよう
とすると文字化け表示、または何も表示されない真っ白なページ
になります

以前は文字化けするようなことはなかったのですが、
問題は受け取り側の
PHP側のページにジャンプすると送信側で記入した情報は掲載
されるのですが、一行の文字の羅列として表示されます

その後、インストールも問題があったのかと、何度もphpとapache
をアンインストール、インストールしたあと、以前の一行の文字
の羅列として表示されていた送信側の情報も、文字化けで読めなく
なる状態になります

どなたかご指導よろしくお願いします
24nobodyさん:2005/04/30(土) 16:30:06 ID:???
>>23
まず、受け取り側で送信した情報が1行の文字の羅列と表示されるというが、
これは、受け取り側のプログラムがどういった処理をしてるかによる。

そして、文字化けの問題も、鯖の設定などによる。
鯖の設定、ソースコードをどの文字コードで書いたか、
さらには、HTMLとしてブラウザに出力するときの文字コードは何か。

PHPとか以前に、HTMLやWebサーバがどういった仕組みになってるのか、
根本的な事がわかってないと思われる。
25nobodyさん:2005/04/30(土) 16:38:43 ID:???
>>23
文字化けつーかブラウザの文字認識のタイミングは次の3つ。
1. webサーバが返すhttpヘッダ content-type: charset
2. htmlのmeta charset
3. html自体を読み込んで自動判別

それぞれの確認方法
1. httpヘッダ
 httpヘッダを見るツールを使う -> ieHTTPHeaders proxomitron
 telnetでポート80
2. htmlのmeta charset
 見りゃ分かる
3. html自体を判別
 保存時に文字コードの指定できるエディタを使えばよい。つーか使え
26nobodyさん:2005/04/30(土) 17:10:15 ID:wFBRT4U/
$i = 'あいうえおかきくけこ';
$iから始めの10バイトだけ読み込むにはどんな関数をつかえばいいでしょう?
fgets,freadではできませんでした
27nobodyさん:2005/04/30(土) 17:33:20 ID:???
substr($i, 0, 10)
2826:2005/04/30(土) 17:51:46 ID:???
>>27
やっと先に進めます。
ありがとうございます。
29nobodyさん:2005/04/30(土) 18:17:46 ID:???
フォームから入力された文字列が数字でない場合には false を返す、というのはどうすれば実現できるのでしょうか?

よろしくお願いします。
30nobodyさん:2005/04/30(土) 18:38:09 ID:???
preg_match("/^[0-9]+$/", $form)
31nobodyさん:2005/04/30(土) 18:40:15 ID:???
is_numericじゃダメ?
32nobodyさん:2005/04/30(土) 18:49:36 ID:???
おおそんな関数あったのかorz
33nobodyさん:2005/04/30(土) 19:56:37 ID:gv0wwcUA
何とか以下ソースで日付を出すことができましたがどうがんばっても
曜日を日本語にする方法と日曜日を赤にする方法が分かりません。
どなたか分かる方ご指導願います。
<?php
$ts = mktime(0, 0, 0, $mm, $i, $yyyy);
$y = date("Y/m/d/", $ts);
$w = date("D", $ts);
$ymdstr = strftime("%Y年%m月%d日(%a)", $ts);
?>
<td><?= $y ?><?= $D ?></td>
34nobodyさん:2005/04/30(土) 20:40:29 ID:???
>>33
マニュアルのdate()の説明に、
> 他の言語で日付をフォーマットするためには、 setlocale() および strftime() 関数を使用する必要があります。
とある。
他にも、曜日の数字 date('w',$ts) を取得して自力で日本語や色付けする方法もあるべ
35nobodyさん:2005/04/30(土) 21:01:38 ID:???
>>31
数字ってのがあいまいだけどこの場合はたぶんダメだと思うぞ
36nobodyさん:2005/04/30(土) 21:09:19 ID:???
サーバーサイドプログラム(CGI、PHP等)でできることを
できるだけお教えください。
自分はクリエーター業ですが、クライアントからっどのような
案件があったときに使用するのでしょうか?
37nobodyさん:2005/04/30(土) 21:15:32 ID:???
>>36
案件として考えられる事を全て挙げてくれ。
○(できる)×(できない)△(条件付きでできる)で答える。
38nobodyさん:2005/04/30(土) 21:28:23 ID:gv0wwcUA
>34
早速のご回答ありがとうございます。以下のサイトを参考にして
ttp://nyx.pu1.net/sample/tips/calender_l.php
date('w',$ts)でもやって見ましたがそれでもなかなかで。
もしphpでうまくいかないのであれば
スタイルシートなんかで指定とか出来るのでしょうか?
39nobodyさん:2005/04/30(土) 22:01:22 ID:???
<ul>
      <li>A</li>
      <li>B</li>
      <li>C</li>
      〜〜〜
      <li>Z</li>
</ul>

というようにA〜Zまで全部出力したいのですが、どうやれば効率よくできるでしょうか?
HTML全部手書きってのはどうも恥ずかしい…。
40nobodyさん:2005/04/30(土) 22:14:44 ID:???
ループ処理
41nobodyさん:2005/04/30(土) 22:15:12 ID:???
<ul>
<?php for($s='A';$s<>'AA';$s++) echo "\t<li>$s</li>\n"; ?>
</ul>
42nobodyさん:2005/04/30(土) 22:24:45 ID:???
>>41
なんか、そのfor文の条件、ダサ過ぎだなw
43nobodyさん:2005/04/30(土) 22:25:51 ID:???
。サーバーサイドによるWEB開発で
一体なにが作れるのでしょうか?サーバーサイドがのっている本を
みても、練習として文字を書いていましたが、文字はHTMLで書けば
いいのではないのでしょうか?違いを具体的に
お教えください。
44nobodyさん:2005/04/30(土) 22:26:06 ID:???
>>38
$wdays = array("日", "月", "火", "水", "木", "金", "土");
echo $wdays[date("w")];
色はご自分で
45nobodyさん:2005/04/30(土) 22:42:10 ID:???
46nobodyさん:2005/04/30(土) 23:01:29 ID:???
>>40-41
ありがとうございます。とりあえずできました。

>>45
そっちも勉強してみます。
PEARすらやった事ない初心者です…。
47nobodyさん:2005/04/30(土) 23:37:31 ID:???
>>41
加算演算子って文字にも使えたのか・・・初めて知ったorz
マニュアルちゃんと読まないと駄目だね。
48nobodyさん:2005/04/30(土) 23:39:22 ID:???
>>47
正確には、文字自体も数値。
49nobodyさん:2005/05/01(日) 01:27:12 ID:???
1<>Demon
2<>Ace
3<>Luke
4<>Xenon
5<>Raiden

こういうデータがあるとして

2<>Ace
1<>Demon
3<>Luke
5<>Raiden
4<>Xenon

このように並び替えるにはどうすればいいのでしょうか?
バブルソートってのを調べてみたのですがちょっと違うみたいですね…。
50nobodyさん:2005/05/01(日) 01:32:32 ID:???
まだPHPに自信の無い俺が答えてみますよ。

>>49
<>の右側を配列のキーに入れてksort()。
でどうでしょう?
51nobodyさん:2005/05/01(日) 01:43:18 ID:???
ksortとは盲点でした!ありがとうございます!
52nobodyさん:2005/05/01(日) 05:37:01 ID:???
1<>Sage
2<>Sage
3<>Sage
4<>Sage
5<>Sage
53nobodyさん:2005/05/01(日) 08:18:04 ID:qz5EMJ99
このファイルがでかくて消したいんですが、javaの何につかってるんですか?
C:\Program Files\Java\j2re1.4.2_02\lib\rt.jar
消しても大丈夫ですか?
54nobodyさん:2005/05/01(日) 08:21:24 ID:???
>>53
問題無いよ。
そのファイルが無くてもOSが動かないとかそういった事は無いから。
55nobodyさん:2005/05/01(日) 10:41:37 ID:???
<b>H</b>yper<b>T</b>ext<b>M</b>arkup<b>L</b>anguage

上の文字列から<b>〜</b>で囲まれた部分だけを探したい(上の文字列から HTML だけを取り出したい)のですが、方法が全く思いつかず・・・。
どうすればいいでしょうか。ご教授ください。
56nobodyさん:2005/05/01(日) 10:49:54 ID:???
正規表現
57nobodyさん:2005/05/01(日) 18:45:14 ID:???
$nukidasita = preg_replace("/<b>(moji)</b>/","\\1",$mojiretu);
58nobodyさん:2005/05/01(日) 20:38:52 ID:???
phpマニュアル更新が滞ってると思ったら
php5になってなんか新しい方式に変えたらしいね

けどスキン対応とかぶっちゃけ要らんからw
59nobodyさん:2005/05/01(日) 22:47:15 ID:???

送信ボタンを押すと特定の情報が次のページに渡され確認表示、
また別のページに飛んでそこから送信ボタンを押すと情報(最初の情報とname値が同じ)が
確認表示のページに渡され、最初の情報と2つ目の情報がともに確認画面に表示される。

そして確認画面の内容が正しければ送信ボタンを押して蓄積されたデータを送れるようなページを作成しています。

同じname値($book)を蓄積させるため下記のような記述を用いているのですが、
蓄積される情報の間を「,」でうまく区切る方法がわかりません。

確認画面からデータを送る際、どうしても「,」で区切らなければならないのですが、
どのようにしたら「,」で区切ることができるでしょうか。

-------------------------------
$book2 = $book;
$book3 .= $book2;

echo "<FORM ACTION='****.html' METHOD=POST>\n";
echo "<INPUT TYPE=HIDDEN NAME=books VALUE='$book3'>\n";
-------------------------------
↑ここの$book3の情報を「****,****,****」という形にしたいのです。
-------------------------------
60nobodyさん:2005/05/01(日) 22:50:58 ID:??? BE:308634899-
配列に入れてimplode()じゃだめなの?
61nobodyさん:2005/05/01(日) 23:28:40 ID:???
>>59
ショッピングバスケットのようなものを作っているのかと予想してみる。
だとすると・・・・そのやり方、なんか違うと思うぞ。

まぁ、どうしてもってなんら、

$book3 .= ',' . $book2;

$book3 .= ",{$book2}";
だな


でも、きっと根本的に何かが違っていると思うぞ。
62nobodyさん:2005/05/02(月) 10:38:28 ID:zPNJQI1N
PHPで
Singletonの基底クラスを作ることは出来ないのでしょうか?
基底クラスから子クラスのクラス名が分かれば出来るのですが…
63nobodyさん:2005/05/02(月) 13:05:41 ID:???
rmdirでディレクトリの中にファイルがあっても削除出来る方法はないのでしょうか?
64nobodyさん:2005/05/02(月) 13:42:51 ID:???
>>63
(PHPの)rmdirはOSのrmdir(関数というよりOSのapiやシステムコール)を呼び出す。
こいつらには、空のディレクトリを消す機能しかない。
従って phpのrmdirでは「空のディレクトリを消す」機能しかないという事になる。
ディレクトリ関数+ファイルシステム関数を使ってファイルの存在チェック及び削除をしてから、
ディレクトリrmdirを使うしかないやね。
(system()系の関数を使ってOSのコマンドを使うつー手もあるが。)
65nobodyさん:2005/05/02(月) 14:16:07 ID:v4+ywBHr
スレ違いだったらすみません。

ブログツール(php)を自前の鯖にインストールするのはいいんですが、
やめたい時ってアンインストールする必要あるんですか?
ただファイルを消すだけでOKですか?
66nobodyさん:2005/05/02(月) 21:25:22 ID:???
インストールってのがスクリプトを置くだけだったら消すだけでいいと思うけど
データベースとか使ってるブログだったらデータベースもきちんと消そう
67nobodyさん:2005/05/02(月) 23:26:25 ID:LLdi1lXW
index.php
tempディレクトリ
という構成で、index.phpからsessionファイルをtemp内に保存するように設定したいですが、
ローカルではちゃんと動くもののレンサバ上でうまくいきません。

session_save_path("temp");
session_start();
$_SESSION["hoge"] = "foo";

var_dump($_SESSION["hoge"]);

とするとちゃんとfooが出力され、session_startの返り値を見てもtrueとなっているので
セッション機能自体はうまく動いているようなのですが、tempディレクトリ内を確認しても
tempファイルが作成されません。
ini_get()するとsession_save_path()で指定したディレクトリになったいるのに
php.iniで設定されたパス上に保存されているようです。
何が原因と考えられるでしょうか?
68nobodyさん:2005/05/03(火) 00:05:24 ID:???
ヒント:tempファイルのパーミッション
69nobodyさん:2005/05/03(火) 00:17:01 ID:???
bool session_start ( void )
〜(略)〜
この関数は常に TRUE を返します。
-> 読んでの通り。

セッション変数: $_SESSION
〜(略)〜
これは'スーパーグローバル'又は自動グローバルな変数です。
-> セッションの利用可・不可に関係なくvar_dumpできる。
70nobodyさん:2005/05/03(火) 00:55:41 ID:???
ヒント:
$dh=opendir("temp");
while(($file=readdir($dh))!==false) print "$file<br>";
71nobodyさん:2005/05/03(火) 01:10:50 ID:???
> tempディレクトリ内を確認しても
ヒント:確認できていなかった。
7267:2005/05/03(火) 02:45:34 ID:???
>>68-71
ありがとうございます。

if (!isset($_SESSION['count'])) {

$_SESSION['count'] = 0;

} else {

$_SESSION['count']++;

}
としてみたら、どうやらセッション使えてなかったみたいですorz
sessionの使用がenabledなのになんで駄目なんだろ・・・。
73nobodyさん:2005/05/03(火) 05:03:52 ID:???
WindowsXP SP2にApache2.0.54とPHP4.3.11をインストールしてうまく可動して
いるのですがGDを使うソフトがありまして困っています。
GDなるものどこで手にいれてインストールしたらいいのか教えてださい。
74nobodyさん:2005/05/03(火) 05:32:21 ID:???
初めから入ってるよ
php.iniの
extension=php_gd2.dll
コメントアウトを削除で対応
75nobodyさん:2005/05/03(火) 06:47:55 ID:???
質問お願いします。

include_path = ".;C:\php\pear"
と指定して
include("DB.php");
を実行すると、『ページを表示できません』となります。
C:\php\pear\DB.phpは存在します。
include("C:\php\pear\DB.phpp");
を実行すると、ちゃんと読み込みます。
include_pathにC:\php\pearを指定しているのに
フルパスじゃないと読み込めないのが謎です。
どなたか原因わかりませんか?

環境
WindowsXP
Apache2.0
PHP4と5で確認

よろしくお願いします。
76nobodyさん:2005/05/03(火) 07:48:09 ID:???
>>74

ありがとうございました。
おかげで使えるようになりました。
77nobodyさん:2005/05/03(火) 07:55:59 ID:???
>>75
読み込めないときは
Failed opening 'DB.php' for inclusion (include_path='.;c:\php\PEAR')
こんなエラーじゃないのかな
7875:2005/05/03(火) 08:17:58 ID:???
>>77
ありがとうございます。
解決しました。
79nobodyさん:2005/05/03(火) 08:47:12 ID:???
PHP+MySQLでショッピングカートを作るときに、みなさんが読んだ
参考になるようなよい書籍を教えてください。
80nobodyさん:2005/05/03(火) 09:06:42 ID:???
>>79
ショッピングカートの良書
http://www.amazon.co.jp/exec/obidos/ASIN/4034314303/
81nobodyさん:2005/05/03(火) 10:31:05 ID:???
PHPに限った話ではないのですが
データベースに書き込むとき書き込むデータの長さがカラム長を超えてしまうと
エラーになるので書き込み前にチェックしたいんですが、比較するカラム長は
・固定的に定義しておく(defineなどで)
・都度、取得する(mysqlならmysql_field_lenなどで)
のどちらがいいんでしょう?
データベースの定義が変更になった時のことを考えると都度、取得したほうが
いいんでしょうが、なんかとても無駄なことをしているような気がして
みなさんはどうされてます?
82nobodyさん:2005/05/03(火) 12:35:50 ID:???
>>81
毎回のチェックは間違いなく無駄
データーはエラーではなくて切り捨てられるはず
83nobodyさん:2005/05/03(火) 13:18:39 ID:???
うわぁぁ、すみません、すみません
>>82さんの仰るとおりカラム長を超えたデータを書き込んでもエラーにはならず
切り捨てられました
テストしたときのデータがめちゃくちゃ長いデータだったのでコネクションが
切断されてたみたいです
mysqlのnet_buffer_lengthあたりの制限に引っかかたのかも…
スレ汚しすみませんでした
84nobodyさん:2005/05/03(火) 14:22:02 ID:???
ココ↓のパスワード制限を使ってサイトにメンバー専用のページのbbsを設けたのですが、
ttp://php.s3.to/simple/
他のページにもパスワード制限をかけたいと思いました。
この場合それぞれのページにいちいち制限をかけるのは入る人が面倒ですよね。
そこでたとえばメンバー専用のトップページを作って、そのトップページにパスワードを使って入れば、
そこに置かれているbbsなどは自由に入れるようにするにはどうしたらいいでしょうか?
サーバーのコントロールパネルのページとかでこういう方式になっていたりしますので、同じようにしたいのですが…
85nobodyさん:2005/05/03(火) 16:14:42 ID:rT+xDv11
テキストフォームを10個ほど作り、値を入力します。
そして送信ボタンを押したときに
すべてのフォームに値が記入されていればAを出力
どこか一つでも値が無ければBを出力
ということをするにはどうしたらよいでしょうか?
86nobodyさん:2005/05/03(火) 16:29:09 ID:???
>>85
自分の力でどこまでできたのか書いてみ。
8785:2005/05/03(火) 16:48:00 ID:???
だいぶ幼稚なプログラムですが

$row = 1;
$column = 1;

for($i = $_GET["det_size"];$i>0;$i--){
for ($j = $_GET["det_size"];$j>0;$j--){
$value = 'col'.$column.'row'.$row.'';
$text .= '<input name="col'.$column.'row'.$row.'" type="text" size="4" maxlength="4" value = "'.$_GET[$value].'"> ';
$row = $row + 1;
}
$text .= '<br>';
$row = 1;
$column = $column + 1;
}

$text .='<input type="submit" name="submit" value="Submit"> <input type="reset" value="reset"></form>';
ここまででテキストフォームを作ります。
この前にdet_sizeを入力してもらってdet_size×det_sizeのフォームを作ります。
8885:2005/05/03(火) 16:48:48 ID:???
続き
$row = 1;
$column = 1;
//$value = 'col'.$column.'row'.$row.'';
$dis_result='<div class="result">Result<br>';
while($column <= $_GET["det_size"]){
$value = 'col'.$column.'row'.$row.'';
$dis_result .= ' '.$_GET[$value].' ';
$row++;
if ($row > $_GET["det_size"]){
$column++;
$row = 1;
$dis_result .='<br>';
}
}
$dis_result .='</div>';
$text .= $dis_result;
フォーム内の値をdivで作ったボックスのなかに表示させます。
フォームが空欄でもResultのボックスが空のまま表示されてしまうので
もしフォームの値が一個でも空白ならエラーを返したいと思っています。
8985:2005/05/03(火) 17:22:11 ID:???
自己解決しました。スレ汚し失礼しました。
90nobodyさん:2005/05/03(火) 17:44:16 ID:/WYzL+U+
Cで言うatoi()はありますか?
"05"などという文字列を5という数値に変換したいのです。
9185:2005/05/03(火) 17:46:29 ID:???
>>89
人の名前騙ってんじゃねえ!ボケ!
9285(本物):2005/05/03(火) 18:02:48 ID:???
>>89>>91
ちょっとあなたたち誰ですか?
9385:2005/05/03(火) 18:20:32 ID:???
このスレダメポ
94nobodyさん:2005/05/03(火) 18:41:31 ID:???
すみません、ホントに申し訳ありませんが、どなたか>>90お願いします。
95nobodyさん:2005/05/03(火) 18:48:00 ID:???
>>90
暗黙の型変換が行われるから、わざわざ自前でやる必要はないと思うけど。
あえてやるならintval
$a="05";
$b=$a + 100;
$c=intval($a) + 100;
echo $b;
echo "<BR>";
echo $c;
9690:2005/05/03(火) 18:50:07 ID:???
>>95
ありがとうございました。助かりました。
97nobodyさん:2005/05/03(火) 20:59:50 ID:???
http://cgi38.plala.or.jp/flash100/Accesslog.cgi
こういうヤツの作り方ってどうやるんですかね?
98nobodyさん:2005/05/03(火) 21:29:36 ID:???
マルチさんお疲れさん
99nobodyさん:2005/05/03(火) 22:03:24 ID:XdSRtjaM
ttp://ZR164007.ppp.dion.ne.jp/
っうはっwwwwwwwうぇwwwおkwwwwwwwwwwww
wwwwwwwwwwwwwwおkwww
っおkっうぇwwwwwwwwwwwwwwwwうはっ
wwwwwwwwwwwうはっっうはっwwwwwwwwww
100nobodyさん:2005/05/04(水) 00:49:38 ID:???
>>97
こんなんすぐ作れるぞ!
$_SERVER変数とか使え。
101nobodyさん:2005/05/04(水) 01:43:31 ID:4XtCwxJF
ひとつのページに
include(1)
include(2)

とやった場合
(1)で定義した定数は(2)には反映されないの?
102101:2005/05/04(水) 01:49:41 ID:???
すいませんやってみたらわかりました
103nobodyさん:2005/05/04(水) 01:50:54 ID:4XtCwxJF
>>101
騙るなよ
104軟式PHP:2005/05/04(水) 03:25:40 ID:???
やれってことじゃないのか?
105nobodyさん:2005/05/04(水) 11:31:05 ID:???
PEARのDB.phpを使って、SELECTしたデータをHTMLのテーブルで表示させているのですが
質問させて下さい。

SELECTして取得するフィールドは不特定の場合、
結果からどうやって取得したフィールド名を取得するのでしょうか?

今までは、DB::connectで接続したあと、queryにてSQLを発行し、
fetchRowにてループにて全レコードを出力する時に、
最初の1レコード目の時にフィールド名を出力していましたが、
この方法だと抽出したレコードが0件の場合、何も表示されません。

取得したdb_resultオブジェクトの内容をprint_rにて除いてみたのですが、
そういった情報は無いようでした。
106nobodyさん:2005/05/04(水) 13:47:22 ID:CUAtPswU BE:452563799-
2chのCGIのソース キボン...
read.cgi & bbs.cgi よろしく。

【参考】
・厨房により、連続更新が多発!read.cgiが呼ばれる回数はbbs.cgiの百倍!
10784:2005/05/04(水) 14:02:33 ID:CEPwDzrn
すいません、>>84の質問をお願いします…
108nobodyさん:2005/05/04(水) 15:05:33 ID:???
>>105
質問の意図がよくわかんないんだけど
常にフィールド名が欲しかったらtableinfo()を使ってみるとか。
空のレコードセットのときfetchRow()がNULLを返すのは仕様どうり

>>107
http://merlion.cool.ne.jp/cgi/rest8/index.htm
↑みたいなの使って一つのフォルダに認証かけて
そのフォルダ以下にトップページやBBSとか置けばいい
109105:2005/05/04(水) 15:16:32 ID:???
>>108
ありがとうございます。
解決いたしました。
tableinfo()自体知りませんでした。
110107:2005/05/04(水) 15:45:24 ID:CEPwDzrn
>>108
ありがとうございます!.htaccess機能ってやつですね。
ちなみに教えて頂いたhttp://merlion.cool.ne.jp/cgi/rest8/index.htmのページでは
perlを使ったプログラミングのようですが、
phpを使った認証のプログラムはどこかにないでしょうか?
111nobodyさん:2005/05/04(水) 21:31:13 ID:tDb8HgqQ
みなさんSQLiteって使ってるんすか

ごく小規模のメール配信とかサイトにDB使いたくて。
こんなモノがあるとは知らずPostgreのつもりだったんですが
存在を知って以来気になってます。
どのくらいまで使えるモノなんでしょう?
112nobodyさん:2005/05/04(水) 22:54:28 ID:???
>>111
PHP4とMySQL4の組み合わせが最強
113nobodyさん:2005/05/04(水) 23:04:11 ID:???
俺は、PostgreSQL使える環境にあるならPostgreSQLを奨めるけどね。
どんな利用方法しても、ライセンスが絡む事は無いし、
MySQLで出来ること以上の事がPostgreSQLは出来る。
確かに速度はMySQLだが、その辺はたいした問題じゃない。
114nobodyさん:2005/05/05(木) 00:41:41 ID:???
WindowsやMacintoshならMySQLかSQLiteかAccess
UNIXやLinuxならPgSQLかMySQL
本格的にやるならOracle
115軟式PHP:2005/05/05(木) 02:29:14 ID:???
最初はOracleじゃなくてPostgreSQLやMySQLでいいんでないかい。
116nobodyさん:2005/05/05(木) 02:42:19 ID:???
その前にPHPではなくJavaを使う罠。
117nobodyさん:2005/05/05(木) 06:57:41 ID:j3QMEyoA
<? php
echo"$total";
for($i=1;$i<=100;$i++){$total+=$i;}
? >

$totalをfor〜より前で表示させたいんですけど、
どうすればよいでしょうか?
118nobodyさん:2005/05/05(木) 07:41:24 ID:???
もう一度参考書なりマニュアルなりを読み直した方が・・・
119nobodyさん:2005/05/05(木) 07:52:10 ID:2TWoJUS+
$words = abcd;
$count = strlen($words);
$num = 0;
while ($num <= $count){
preg_match("/^.{0,$num}?(.).*/", $words , $spel);
echo "$num | $spel[$num] <br>\n";
$num++;
}

上記のようにwhileを使って、$wordの全部を一文字ずつ配列に入れたいのですが、
最初の一文字しか配列に入りません。
実行すると、
0 | abcd
1 | a
2 |
3 |
4 |
となって、途中から配列に入らないのですが、どうしたら良いのでしょうか。
120nobodyさん:2005/05/05(木) 08:32:49 ID:???
>>119
while ($num < $count){ // 4文字なので 0〜4でいいはず
 preg_match("/^(.{0,$num})?(.).*/", $words , $spel); // $spelに入るのは括弧付きのサブパターン
 echo "$num | $spel[2] <br>\n"; // $spel[0] : 全体, $spel[1] : 1つ目のサブパターン $spel[2] : 2つ目
}
アルファベットだけなら、whileループの中で echo $words[$num]."<br>"; だけでいい希ガス
121119:2005/05/05(木) 08:33:10 ID:???
自己解決しました。

文字列を配列として参照することで、一文字ずつ取り出せるのですねーー知りませんでした。
122120:2005/05/05(木) 08:33:55 ID:???
訂正
× // 4文字なので 0〜4でいいはず
○ // 4文字なので 0〜3でいいはず
123119:2005/05/05(木) 08:36:19 ID:???
>>120 僅差でw
ありがとうございました!もっと勉強してみます
124nobodyさん:2005/05/05(木) 08:46:13 ID:???
$str = "abcdef";
$num = 1;
while ($num <= strlen($str)){
$spel[] = substr($str, 0, $num);
}
125nobodyさん:2005/05/05(木) 08:48:31 ID:???
一文字ずつって a,b,c...って取りたかったのか。
マニュアルのpreg_replaceの項に
まったく同じことするサンプルがあるぞ
126119:2005/05/05(木) 09:46:57 ID:???
>>125わかりました。もう一度チェックしてみます
127nobodyさん:2005/05/05(木) 09:48:00 ID:???
Apache2を使ってます。

CPU負荷低減・高速化のためにPHPA(PHP Accelerator)を入れようかと思っています。
が、Apache2では「ただし、スレッド機能は無効」になるとか・・・
ttp://www.asial.co.jp/products/ioncube/accelerator/products.php

実際にApache2で使った場合、どうなんでしょか?
128nobodyさん:2005/05/05(木) 11:37:05 ID:???
疑問になったので質問です。
クラス内の変数をさまざまな表現で表示したい時は
「表示させる関数を用意する」と
「表示させるクラスを用意する」、どちらが一般的なのでしょうか。
もし使い分ける、などならメリットとデメリットも教えて頂きたいです。
PHPもオブジェクト指向も初心者なので的外れな質問だったらごめんなさい。
なお環境はPHP4.3.10 AN http WindowsXPです。
*/
//クラス内に表示させる関数を用意する-----------------
$text = new Text;
echo $text->i();
class Text{
var $a="AAA";
function i(){
return "<i>{$this->a}</i><br>";
}
}
exit;
//クラス外に表示させるクラスを用意する-----------------
$text = new Text;
$html = new Html;
echo $html->i();
class Text{
var $a="AAA";
}
class Html{
function i(){
global $text;
return "<i>{$text->a}</i><br>";
}
}
129nobodyさん:2005/05/05(木) 11:42:30 ID:???
下のは気持ち悪すぎる
130nobodyさん:2005/05/05(木) 11:52:52 ID:???
具体的に何をしたいのか分からないけど、
とりあえず、そのサンプルに上げてるようなことしたいなら、
普通にHTMLのタグくっつけて書いた方が楽じゃないか?
融通も利くし。
131nobodyさん:2005/05/05(木) 13:28:27 ID:???
global $text; なのがキモイんだと思われ
132nobodyさん:2005/05/05(木) 14:39:08 ID:???
>128
俺ならクラス内にメソッドを追加する。つまり前者。

後者でやるとしたら
function i($text){
  return "<i>$text</i><br>";
}
とする。こっちの方法も割と良く見かける。
133nobodyさん:2005/05/05(木) 21:09:42 ID:???
>>129-132
なるほど・・・。何かをするクラスをひとつにまとめたらわかりやすいかな〜?
とか思ったのですが、
「何かをする->データ」より「データ->何かをする」が普通なんですね。
キモイとか言われましたが・・w どうもありがとうございます。
134nobodyさん:2005/05/05(木) 22:08:25 ID:???
>>127
通常のApache2の設定であれば、スレッドじゃなくて
プロセスで動くから無効でも大丈夫。
135nobodyさん:2005/05/06(金) 00:15:35 ID:???
HTMLのある部分にデータを書き込む・・・ということを実行するには、どうすればいいでしょうか。
(具体的には、日記スクリプトを作ろうとしています。)
136nobodyさん:2005/05/06(金) 00:16:39 ID:???
>>135
htmlを読み込んで、処理を加えて、htmlとして保存する。
137nobodyさん:2005/05/06(金) 14:12:02 ID:???
某所でアプロダを運営してるのですが、知恵をお貸し下さい。

DL数を制限するにはどういった仕組みなのでしょうか?
例えば制限数を10にした場合、同時にDLできる人数が10人にしたいのです。

また、1人の人間が異なったファイルをDLできないようにするにはどうすればいいのでしょうか?
138nobodyさん:2005/05/07(土) 00:29:22 ID:???
言ってることがよく分からない
139nobodyさん:2005/05/07(土) 02:07:16 ID:t8LZi6/K
スレ違っていたらすみません。
現在、PHPでツリー式掲示板を作っていて、そのログの保存形式で悩んでいます。
以前に作った掲示板では、ログの保存形式を

記事No<>親記事No<>タイトル<>内容<>投稿時刻

のようにしていたのですが、あたりまえですがログが増えてくると処理が遅くなってしまいました。
ルート直下の記事(親記事Noが0の記事)のみを抽出するという処理にもかなりの時間がかかってしまいます。
ほかの掲示板を調べてみると、ログを、ツリー構造を保存したファイルと記事の内容を保存したファイルの2つに分けているものもありましたがあまりしっくりとは感じませんでした。
もし、アルゴリズム的に処理のしやすい(速い)ものがあれば、教えていただきたいのですが…。よろしくお願いします。
140nobodyさん:2005/05/07(土) 03:28:59 ID:???
>>139
HTMLで表示させるようにしたらどうだろう
毎回ログファイルを読み込む手間がはぶけるし、投稿したときにのみ多少の負荷がかかるくらいだし。
141nobodyさん:2005/05/07(土) 04:22:51 ID:???
DB使えや
142nobodyさん:2005/05/07(土) 04:25:03 ID:???
> ルート直下の記事(親記事Noが0の記事)のみを抽出するという処理にもかなりの時間がかかってしまいます。
もしかして、ログファイルの内容全てを、一気に読み込んで、
そこから取得→表示ってやってる?
143nobodyさん:2005/05/07(土) 06:17:15 ID:XxbRXpor
ユーザーの登録処理の部分を作ってるところなのですが、PHPがおかしな挙動をし始めた。(PHP5.02)
フォームから入力してもらったメールアドレスを、正規表現を使ってチェックするところで変になる。
1.アドレス(〜@〜)だと認識するとオカシクなる
2.アドレスじゃなくて、aaaa だとセーフ
3.アドレスじゃなくても、unko だとオカシクなる
4.同じ文字でも、おかしくなることがある
5.rrr はセーフで、kkk はアウト
7.1234はセーフで、0123だとアウト
6.全く別のテストページでは、アドレスチェックは出来てる

アウトの時は、処理を中断してif構文の中から抜けている感じ。
もしくはページを読み込みなおしてるみたい。
一体なんですかね?
144nobodyさん:2005/05/07(土) 06:21:21 ID:???
エスパーきぼんぬですか?
145143:2005/05/07(土) 06:43:19 ID:???
フォームから入力させる

入力文字がアドレス(xxx@xx)か否かをチェック
・ここで分岐
 A:アドレス / B:アドレスじゃない

Aだとおかしくなって、Bでも条件によっておかしくなる
Bでおかしい時にも、挙動はAとおなじようになる
わけわからん。でも、エスパーだったら分かるのかな?
146nobodyさん:2005/05/07(土) 06:49:47 ID:???
その条件文晒した方が早いんでない?
147143:2005/05/07(土) 07:12:54 ID:???
if (preg_match("/^[A-Za-z0-9_\.\-]*@[A-Za-z0-9_\.\-]*\.[A-Za-z0-9_\.\-]+$/", $adad)){
echo "入力されたメールアドレス 「" . $adad . "」<br>\n";
} else {
echo "入力されたメールアドレス 「" . $adad . "」<br>\n";
echo "正しいメールアドレスではありません。";
}
問題はここじゃないっぽい・・・もう一度全部見直してみます
でも、aaaだとセーフでabcがアウトってありえないよ。
148nobodyさん:2005/05/07(土) 08:08:54 ID:zpgwMbY/
http://YahooBB218124060027.bbtec.net/
おkwwwっうぇっっwwwwwwwおkwwwwwwwww
wwwwwwwwwwww
っうぇwwwwうぇwww
wwwwwwwwwwwwwwwwwwwwwwww
149nobodyさん:2005/05/07(土) 08:25:34 ID:kMJPLXnh
http://ZV195024.ppp.dion.ne.jp/
wwwwwwwwwwwwっうぇおkwwwおkwww
wwwwwwwwwwwwwwwwwwっうぇw
うぇwww
おkwww
wwwwwwうぇwwwwwwwww
150137:2005/05/07(土) 08:52:25 ID:???
>>138
上手く説明できずに申し訳ありません。

あるアプロダですと、ファイルをダウンロードしようとすと、
最大接続数な為にダウンロードできませんといったメッセージが表示されます。
また、別なアプロダですと、そのアプロダにアップされているファイルを
ダウンロード中に他のファイルをダウンロードしようとすると、
他のファイルをダウンロードしてるときにはダメだよと言ったメッセージが表示されます。

この事から、誰がどのファイルをダウンロードしてるかを
リアルタイムで判別してると思うのですが、
この情報の取得方法がわからないのです。
151nobodyさん:2005/05/07(土) 08:57:20 ID:mG8uUfDQ
http://YahooBB220013144086.bbtec.net/
おkwwwwwwwwwwwwwwwwwwwwwwっうぇ
っうぇっうぇっうぇwwwwww
うぇwwwwwwwwwwwwwww
っうぇうはっwwwうぇwww
152nobodyさん:2005/05/07(土) 09:07:55 ID:CaH8/CoZ
実はPHP・MYSQL可能という事であるサーバーを借りました。で
PHPMyAdmin の アドレス ID パスワード 及び
MySQLの パスワード のみ 送られて来ました。
MySQLは同サーバー(localhost)にインストールされているようなので

$sv = "localhost";
$dbname = "root";
$user = "root";
$pass = "送られてきたパス";

と記入しWEBサーバーに置きましたがSQLに全く接続できません。
PHPは使えるのを確認しました。
サーバー会社の担当者に聞いてもCGIですか???
などと聞かれて話になりません。PHPMyAdmin等に
接続情報は書かれているのでしょうか? 
153nobodyさん:2005/05/07(土) 09:12:59 ID:???
>>152
大抵のレン鯖のMySQLは、DB名とかユーザ名は、
その鯖に申し込んだ時のユーザ名と一緒。

>$sv = "localhost";
>$dbname = "root";
>$user = "root";
>$pass = "送られてきたパス";

まず、ユーザ名がrootなんて事は絶対に無い。
$dbnameと$userはお前さんのユーザ名に変更してみろ。
154nobodyさん:2005/05/07(土) 09:14:45 ID:???
>>150
最大接続数とかはよく見かけるよね。
俗に羊と呼ばれてる所は、ファイル毎に同時接続数カウントしてるみたいだし。
他のファイルDL時にダメって言われるのは俗に1号って呼ばれてるロダかな?

気になってはいたけど、俺の知識じゃダメだ。
155nobodyさん:2005/05/07(土) 09:25:21 ID:???
>>152
何に書いて置いたんだ?cgiですか?と言う意味で聞かれたんじゃない?
156nobodyさん:2005/05/07(土) 09:35:38 ID:???
>>152
phpMyAdminには繋いでみたのかい?
全ての情報(pass以外)はそこで確認できるはず。
157nobodyさん:2005/05/07(土) 09:39:10 ID:???
>>152
>$sv = "localhost";
>$dbname = "root";
>$user = "root";
>$pass = "送られてきたパス";
>と記入しWEBサーバーに置きましたがSQLに全く接続できません。

それだけ書いたって、DBに接続なんかしない、って事は判っているよな?

とりあえず、試したスクリプトをそのまま貼りな。
もちろんdbname、userはもう一回確認してから。
158nobodyさん:2005/05/07(土) 10:04:36 ID:7dsJsB9/
http://YahooBB219029188008.bbtec.net/
wwwwwwwww
www
wwwwww
っうぇっ
wwっwwwwwwっwww
wwwwwwうはっwww
うぇwwwうはっwwwっおkwwwwwwwwwwwwwww
159nobodyさん:2005/05/07(土) 10:39:09 ID:OjAGpk+E
いろいろありがとうございます。152です。
このphpは他のサーバーではsqlに接続できました。
それの
>$sv = "localhost";
>$dbname = "root";
>$user = "root";
>$pass = "送られてきたパス";
の部分を書き換えて試しています。
153さんの言われる
>大抵のレン鯖のMySQLは、DB名とかユーザ名は、
>その鯖に申し込んだ時のユーザ名と一緒。
も試しました。
160nobodyさん:2005/05/07(土) 10:47:18 ID:+RaGUvoB
先輩方、よければ教えてください。
本とか読んで調べまくってるんですが完全に止まりんぐです。

普通の掲示板のように、
フォームで内容を入力 → 区切り文字「<>」で各変数をログに格納
という感じでやっています。

ログの中身は
記事番号<>投稿者名<>タイトル<>内容
という形式です。記事番号は自動で付いてます。
ここまで出来ました。

この順次溜まっていくログをですね、例えばbbs.php?mode=記事番号 のように打つと
1つの記事だけ単体で表示されるようにしたいのです。
(この形式じゃなくても、単体で1件表示できるようになればOK)

もしよければ、ヒントだけでもおながいします… orz
161nobodyさん:2005/05/07(土) 11:13:54 ID:???
>>160
ヒント:fgets
162nobodyさん:2005/05/07(土) 11:18:37 ID:???
送られてきた記事番号と、ログの記事番号を比べて、同じであれば
それを表示。
それ以外の方法をお望み?
それともサンプルとか?
いまいち何が知りたいのかわかんない

if($_GET['mode']){
 $fh=fopen($log, 'r');
 while(!feof($fh)){
  $line=explode('<>', fgets($fh));
  if($line[0]==$_GET['mode']){
   print_r($line);
   break;}}
 fclose($fh);
}
163nobodyさん:2005/05/07(土) 11:37:46 ID:9P63H0Em
http://ZE206204.ppp.dion.ne.jp/

っうぇうはっwwwうぇwwwwwwうぇwwwwww
っっうぇおkwwwwwwwwwwっうぇっおkwww
っうぇwwwwwwwwwwwwwwwwwwうはっwww
164nobodyさん:2005/05/07(土) 11:46:27 ID:???
>>137
PHPでは無理。
Apacheにmod_limitipconnを仕込むとよし。
ただし少しだけ負荷があがる。
165nobodyさん:2005/05/07(土) 11:47:00 ID:+RaGUvoB
>>161様 >>162
ありがとうざいます !

>>162さんの通りやってみましたら、やりたかった事が出来ました…
ものすごく助かりました&勉強になりました。ありがとうございます。
166nobodyさん:2005/05/07(土) 11:50:39 ID:L09Tc4GF
http://p6222ed.kyotac00.ap.so-net.ne.jp/
wwwっうぇうはっwwwwwwwwwっwwwwww

wwwwうぇwwwwうはっwwwwwwwwwwwwwwwwww
wwwwwwwwwwwwwっうぇwww
167nobodyさん:2005/05/07(土) 11:56:00 ID:???
>>150
それを読んでさらに追加。
うpされたファイルのアドレスが単純にファイルのアドレスじゃなくて、
「xxxxx.php?file=zzzz.jpg」みたいにPHPスクリプトを呼び出してないか?
だとすれば、そのスクリプト内でipアドレスとかを一時ファイルに保存して、
集計している可能性がある。
168137:2005/05/07(土) 12:40:54 ID:???
>>164
調べてみます。

>>167
そういった呼び出し方法をしてるアプロダもありました。
ただ、IPアドレスを一時的に保存してというのは考えついたのですが、
大容量のZIPなどをDLしたとき、途中でキャンセルすれば、
別のファイルがDLできました。
DL時にIPアドレスの情報を取得できますが、
キャンセル時にその情報は取得できないと思いますので、
リアルタイムに接続状況を把握しているのだと判断しました。
169nobodyさん:2005/05/07(土) 13:08:51 ID:WaKZc4H9
<?php

mb_internal_encoding("EUC-JP");
mb_regex_encoding( "EUC-JP" );

$buf = '今日は良い天気ですね';
$replace_buf = mb_ereg_replace("^[ァ-ヶー\s]*$","@","$buf");

echo $replace_buf;

?>


漢字以外の部分(平仮名、カタカナ)を"@"に置き換えしたいと思いますが
上記ソースを実行したら「今日は良い天気ですね」とそのまま表示されてしまいました。
どのようにすれば漢字以外の部分を置き換えできますでしょうか?

ソースはEUCで書いてます。
環境は下記の通りです。

PHP Version 4.3.10
configure(一部抜粋しました)
--enable-mbstring
--enable-mbregex
--enable-mbstr-enc-trans
170nobodyさん:2005/05/07(土) 13:30:39 ID:???
>>168
昔似たようなものを実装するときに面倒だったのでダウンロードだけポートを変えて
netstatの結果を使った事ある。もっと便利な方法ありそうだけど。

>>169
$replace_buf = mb_ereg_replace("[ぁ-んァ-ヶ]","@","$buf");
これに差し替えてみてはどうか?
171nobodyさん:2005/05/07(土) 13:36:36 ID:???
実行されているページのURLを取得するにはどうすればよろしいでしょう?
(パラメータは不要)
SERVER_PROTOCOL、SERVER_NAME、PATH_INFO、SCRIPT_NAMEを
組み合わせるしかないでしょうか?
172nobodyさん:2005/05/07(土) 14:02:01 ID:???
>>171
$_SERVER["SCRIPT_URI"]
パラメータが必要ないのであれば
?以降を削除するというのはいかがか。
173nobodyさん:2005/05/07(土) 14:09:58 ID:???
>>172 ありがとうございます。
さっそく試してみましたが、SCRIPT_URIそのものが存在しないみたいです。
(var_dump($_SERVER)で確認しました)
PHPのバージョンorWEBサーバーによるんでしょうか。
PHP5.0.3、IIS5.1です。
174nobodyさん:2005/05/07(土) 14:20:36 ID:???
>>173
WEBサーバの出力結果が$_SERVERに入るだけだから
IISだと駄目みたいだね。
175nobodyさん:2005/05/07(土) 15:33:27 ID:gZ8Bg1tt
function Http($mess){
return eregi_replace("(https?|ftp|news)(://[[:alnum:]\S\+\$\?\.%,!#~*/:@&=_-]+)","<a href=\"./a.php?PHPSESSID=".$sid."&url=\\1\\2\" target=\"_blank\">\\1\\2</a>",$mess);
}

echo $sid; ←問題なく変数が展開されます

$text = "http://www.yahoo.co.jp";
$text2 = Http($text);

echo $text2; ←これだと./a.php?PHPSESSID=&url=http://www.yahoo.co.jpのように$sidが展開されません
どのようにすれば望んでいる結果が得られますでしょうか?よろしくおねがいします。
176169:2005/05/07(土) 15:52:54 ID:???
>>170
$replace_buf = mb_ereg_replace("[ぁ-んァ-ヶ]","@","$buf");

でうまくできました。
アドバイスありがとうございました。
177nobodyさん:2005/05/07(土) 16:50:00 ID:???
function Http($mess){
global $sid;
return eregi_replace("(https?|ftp|news)(://[[:alnum:]\S\+\$\?\.%,!#~*/:@&=_-]+)","<a href=\"./a.php?PHPSESSID=".$sid."&url=\\1\\2\" target=\"_blank\">\\1\\2</a>",$mess);
}
とするか
define("SID", $sid);
function Http($mess){
return eregi_replace("(https?|ftp|news)(://[[:alnum:]\S\+\$\?\.%,!#~*/:@&=_-]+)","<a href=\"./a.php?PHPSESSID=".SID."&url=\\1\\2\" target=\"_blank\">\\1\\2</a>",$mess);
}
とする
178nobodyさん:2005/05/07(土) 17:25:23 ID:???
フレームワークについて雑談レベルで・・・

現在、MojaviとMapleを使用していますが、他にお勧めのものなどありますか?
179nobodyさん:2005/05/07(土) 17:56:35 ID:G/b5sqln
1日一回自動的にPHP処理をさせるにはどうすればいいのでそうか?
wgetで一応凌いでるんですがそれだとPHPファイルが毎日保存されていっちゃいますよね?
どうすればいいんでしょうか?
180nobodyさん:2005/05/07(土) 18:06:02 ID:???
wget >> null
181nobodyさん:2005/05/07(土) 18:10:37 ID:???
>>179
それで良いんじゃね?
いや、マジでw
182nobodyさん:2005/05/07(土) 18:24:02 ID:???
>>179
cron使えば?
183nobodyさん:2005/05/07(土) 18:28:39 ID:???
cronつかえる環境じゃないなら
タスクマネージャー使ってやればいいんじゃないかな
184nobodyさん:2005/05/07(土) 18:36:08 ID:???
>>179
自前のUNI系鯖はあるが、自動更新させたいPHPがあるのはレン鯖。
だから、自鯖のcronでレン鯖のPHPをwgetでリクエストしている。
と、勝手に解釈してみた。

だったら、
-O > /dev/null
で解決じゃ
185nobodyさん:2005/05/07(土) 18:36:21 ID:???
clockやwatchを使うのも手じゃねぇ?
186nobodyさん:2005/05/07(土) 19:27:49 ID:???
最近だとレン鯖でもcron使える所が多いけど、ちゃんと調べたのか?
187nobodyさん:2005/05/07(土) 19:27:57 ID:Cs/14Ugk
Zend Optimizerって使ってる人いますか?
Smartyベースにしたら微妙にもっさり感があるので
導入したいと思ってるのですが
どんなモンでしょう?
188nobodyさん:2005/05/07(土) 19:49:15 ID:m8iQZGLE
OSXの方(当方Pantherです)

php.iniどこにあるか分かりますか
/etc/以下のphp.ini.distしか見つからないんですが
189179:2005/05/07(土) 19:52:55 ID:???
>>180-186
うまくいきました(´∀`)
どうやらwgetについてよく分かっていなかったみたいです・・・。
スレ違いな質問でしたが皆さん本当にありがとうございました。
190nobodyさん:2005/05/07(土) 21:10:58 ID:???
>>188
設定(ファイル)が無い場合にどう動作するかってのを「デフォルトの設定」って言うんじゃないかなぁ。
それはさておき、phpinfo()でどのphp.iniを見ているか表示されていた希ガス
191nobodyさん:2005/05/07(土) 21:14:09 ID:???
>>188
sudo cp /etc/php.ini.default /etc/php.ini
sudo apachectl graceful
192nobodyさん:2005/05/07(土) 22:00:11 ID:CaH8/CoZ
153・157です。いろいろありがとうございました。何とか解決?です。
みなさまもびっくりかと思いますがroot権限が使えました。
rootのパスワードはFTPからconfig.inc.phpが見えたのでそれから調べました。
データーベースに接続も出来ました。が他のユーザーの作った残骸?まで見えてしまいました。
月曜日にサーバー管理会社に抗議するつもりです。それとサーバーは変えようと思います。
193nobodyさん:2005/05/07(土) 22:02:38 ID:CaH8/CoZ
↑153・157←まちがい<<152 <<159です。すいません
194nobodyさん:2005/05/07(土) 22:12:18 ID:???
え、むしろうはうはじゃん?
データベース作り放題。使い放題。盗み見し放題。
rootで違う名前のroot権限持つユーザ作ってから、rootの権限を制限。
195nobodyさん:2005/05/07(土) 22:46:18 ID:CaH8/CoZ
>>192 です。
PHPMyAdminもrootでログインできますがこれっておかしいですよね?
ちなみに専用サーバーではなく共有サーバーです。
さらに送られてきたパスワードはなんの関係もありませんでした。
196175:2005/05/08(日) 00:31:19 ID:???
>>177
どちらでも期待した結果が得られましたありがとうございます。
正直どちらも初めて見る記述で理解できません。
勉強してみます。ありがとうございました。
197nobodyさん:2005/05/08(日) 00:37:51 ID:???
2chで書き込み時に生成されるIDは、PHPではどうやって生成するのでしょうか。
198nobodyさん:2005/05/08(日) 00:41:05 ID:???
ぐぐれよ
199197:2005/05/08(日) 01:16:52 ID:???
Googleで粘ってみましたが、これだ!というサイトが発見できず・・・orz

$ip = $_SERVER['REMTOE_ADDR'];
$date = date("ymdgis");
crypt($ip,$date);

これで代用効いたりしませんでしょうか?
200nobodyさん:2005/05/08(日) 01:23:58 ID:???
それだと毎回変わる気が…
date("ymd)これのほうが良くない?
201200:2005/05/08(日) 01:25:53 ID:???
変わらなかった…
202nobodyさん:2005/05/08(日) 01:32:18 ID:???
>>201
ここで説明すると長くなるのでマニュアルのcrypt()を参照。
203nobodyさん:2005/05/08(日) 04:10:20 ID:???
http://riaf.org/f_style/
とかどう?2CHとは仕組み違うみたいだが
204nobodyさん:2005/05/08(日) 04:44:09 ID:???
ttp://www.punyu.net/php/oekaki.php
は2chと同じトリップの仕様だったと思う。

お絵かき板だが
205204:2005/05/08(日) 04:45:48 ID:???
嗚呼よく見てなかった。IDか
206nobodyさん:2005/05/08(日) 11:18:09 ID:???
くだらない質問スマンが
getimagesize関数を使うと「Warning: getimagesize: Read error!」がでるのはバグか何かですか?
とりあえずちゃんと機能はしてるみたいなんで@つけてエラー表示回避してますが。

というのは、getimagesize: Read error!でぐぐってみると、いたるところのホームページで普通にそのエラーが出てるんです。
サイト管理者も諦めて放置してるのかな?
207206:2005/05/08(日) 11:26:17 ID:???
すまぬ
http://bugs.php.net/bug.php?id=26216
これかな?
208206:2005/05/08(日) 11:29:19 ID:???
あ、俺リモートファイルなんか使ってないや
連続カキコすまん
209nobodyさん:2005/05/08(日) 12:31:24 ID:???
>>197
こんなもんでどうだろうか?
2chの板キーみたいなのも使えば板ごとにID固定にもできる

function getID();
$ip = $_SERVER['REMOTE_ADDR'];
$rand = md5(date("Ymd"));
//↑一日一回代わるランダムキー"Ymd"のとこは適当に変えてくれ

return substr(base64_encode(md5($ip.$rand)),0,8);
}
210nobodyさん:2005/05/08(日) 12:43:52 ID:???
これ貼るの3回目だけど
ttp://multix.jp/html/memo/030525.html#0003
211nobodyさん:2005/05/08(日) 16:10:59 ID:???
phpのプログラム(Coppermine Photo Gallery)でテンプレートの一部を
外部htmlファイルからincludeしようとしてるのですが、うまくいきません。
theme.phpを編集しています。template.htmlがtemplate.phpにできれば手っ取り早いのですが。

ttp://php.s3.to/man/function.include.htmlを参考にしながら

'{HTML_TEST}' => htmltest(), を追加して

function htmltest()
{
global $html_test;
include 'inc/test.inc';
echo "$html_test";
}
と、やってみてもうまくいかず。

inc/test.incには直接htmlを書いてあるのでそのまま取り入れたいのですが、
どうすればできますか。よろしくお願いいたします。
212nobodyさん:2005/05/08(日) 17:10:41 ID:???
何がうまくいかないの?
パースエラー?
500?
何も出力されない?
213nobodyさん:2005/05/08(日) 17:31:54 ID:???
fputsするとか、CLIでphp foo.php > foo.htmlとかやる以外に、HTMLをファイルに出力する方法何か無いですかね?
214nobodyさん:2005/05/08(日) 18:07:13 ID:???
配布されているスクリプトの多くは一つのphpファイルにたくさんの機能が入ってますが、
使う側が使いやすい為でしょうか?
 例えば掲示板なら閲覧するスクリプト、書き込むスクリプト、管理用のスクリプトなどわかれていたほうが
一つのファイルにアクセスが集中しないし、後から編集するのにも見やすいと思うのですが一つのファイルに
多数の昨日を入れるのにはどのようなメリットがあるのでしょうか?
215nobodyさん:2005/05/08(日) 19:39:50 ID:???
>>214
掲示板程度だと、1ファイルにまとめても、特に問題無いからじゃない?
といっても、複数ファイルに分けてもソースの可読性やらメンテナンスが楽ってだけで、
使う側のメリットってのは全く無い。
216nobodyさん:2005/05/08(日) 19:51:37 ID:???
ニュー速VIPがピンチです。みなさんの力で我々を助けてください。

1: http://tiger513.maido3.com/~bs6000/2ch/ でコードを取得して投票例に上書き
※取得ページにアクセスしてから約10分間待たされます

2: 投票所 http://etc4.2ch.net/vote/
『第2回2ch全板人気トーナメント』投票スレッド-5xx の埋まっていない中で、一番数字の小さいスレを開く
(書き込めなくなるまで、一番小さい数字のスレを使わないと投票が無効になる!)

3:
[[コード]]
<<ニュー速VIP>>

と入れる

      ∧_∧
     ( ´Д` )   VIPに支援おながいします
     /     ヽ
     し、__X__,ノJ

      /´⌒⌒ヽ
    l⌒    ⌒l   この通りです
   ⊂ (   ) ⊃
      V ̄V
217211:2005/05/08(日) 20:19:09 ID:???
>>212

{HTML_TEST}の位置を無視してヘッダに強制的に張られる形になってしまいます。
218214:2005/05/08(日) 20:25:47 ID:???
>>215
レスありがとうございます。
使う側のことを考えて一つのファイルってことなんですかね。
219215:2005/05/08(日) 21:29:37 ID:???
>>218
ファイルに分けるってのは使う側からすれば関係無いんだよね。
ただ、管理者とか設置する人という意味では関係無い事も無いけど、
設定ファイルだけ別ファイルにしてあったり、1ファイルでも先頭行から設定項目があって、
そこを弄るだけというのが殆ど。

1ファイルになってるというのは、あくまでも掲示板とかの簡易的なものに限って言えば、
開発側も使用者側も、メリット・デメリットってのは殆ど無いに等しい。
単純に1ファイルにしてるだけと割り切って考えるように。

別に複数ファイルに分けてもいいんだよ。
そうすれば、管理者用画面とか使用頻度の少ない部分を読み込むだけの手間が省けるし。
だけど、書いたように、その程度のソース量なんて大した事無いから、殆ど変わらない。
220nobodyさん:2005/05/08(日) 21:46:31 ID:???
使い手から「パーミッションが」とか「パスが」とかいちゃもんつけられるのを最小限に防ぐため。特にさくら鯖、isweb鯖
221nobodyさん:2005/05/08(日) 22:05:09 ID:???
レンタルサーバでモジュールを標準で入っていないインストールしたいときは、
やはりサーバを運営している側に要望を出さないとインストールされませんか?
222nobodyさん:2005/05/08(日) 22:16:57 ID:???
どれをさしてモジュールと言っているかによる。
pear php(pearとか)なら手を加えたりすることで可能。
peclなら難しい。
モジュール版のphpなら つ[出口]
223nobodyさん:2005/05/08(日) 22:25:25 ID:xWdNRJbu
>>222
PHPの書籍スレでおすすめしてもらった本に書いてあったものなのですが、
zlib圧縮関数 イメージ関数 などの拡張モジュールです。
たとえばその2つだけに限らず、そういったモジュールを同じサーバスペースにおいて
includeするとかでは使えないですよね。

拡張モジュールはどれがインストールされているかは、phpinfoで調べることが出来ますか?
224nobodyさん:2005/05/08(日) 22:30:55 ID:???
>>223
イメージ関数ってGD2だと思うけど、これは大体の鯖で入ってるな。
zlibは鯖によりけり。

こういったモジュールをincludeできるかというと無理。

phpinfo()で調べられるかは可能。
225nobodyさん:2005/05/08(日) 22:34:12 ID:???
>>224
ご親切に教えてくださってどうもありがとうございました。
226nobodyさん:2005/05/09(月) 01:58:31 ID:???
phpinfoが禁止されてたりしてなw
227nobodyさん:2005/05/09(月) 15:12:56 ID:f0YFXCF9
オープン元のウィンドウにPOSTで変数を渡す方法ってありますでしょうか?(php4)

よろしくおねがいします。
228nobodyさん:2005/05/09(月) 17:59:24 ID:???
言ってる意味わからん
229nobodyさん:2005/05/09(月) 19:12:00 ID:???
PHPで画像の直リンクを防ぐ方法はありますでしょうか?
230nobodyさん:2005/05/09(月) 19:57:54 ID:???
あるよ。
231nobodyさん:2005/05/09(月) 20:06:25 ID:???
>>229
$_SERVER から、HTTP_REFERERを取ってきて、ごにょごにょする。
$_SESSION 使って、ユーザをコントロールして、ごにょごにょする。
地味に、自前でクッキー発行して、ごにょごにょする。
232nobodyさん:2005/05/09(月) 22:24:42 ID:???
PHPをよくわかってない初心者ですがお邪魔します。

PHPを使ったwebページを右クリックで保存することはできないんでしょうか?
某新聞サイトの記事を保存したかったのですがエラーになるので・・・
調べてみてもそれらしい答えが見つけられませんでした。
どうかご指導お願いいたします。
233nobodyさん:2005/05/09(月) 22:51:12 ID:???
元のソースを保存したいってことか?
234nobodyさん:2005/05/09(月) 22:53:13 ID:???
ううぉーPHP面白そー






っといってみつテスト




おれもPHP勉強してみようかな・・・
235232:2005/05/09(月) 23:02:57 ID:???
インターネットで見つけたページをマイドキュメントにhtmlファイルとして保存
ということなんです・・・
URLの末尾がphp3になってるんですが、
そういうページは保存しようとしてもエラーになるんです。
236nobodyさん:2005/05/09(月) 23:08:07 ID:???
PHPの問題じゃなさそうだな
237nobodyさん:2005/05/09(月) 23:25:43 ID:???
mysql_query("SELECT * FROM $table WHRER $where;")
or return FALSE;
うう、returnが悪いらしいってことはエラーで分かったのですが、どう修正すればいいのかわかりません。。
どなたがご教授して頂けると嬉しいです。。
238237:2005/05/09(月) 23:26:45 ID:WdisNjWE
すみません。途中で送信してしまいました。前述のコードでエラーが出てしまうんです。
239nobodyさん:2005/05/10(火) 04:58:32 ID:???
ランダムで文字列を出力するにはどうすれば良いのでしょう。
240nobodyさん:2005/05/10(火) 05:43:13 ID:???
つ rand()
241nobodyさん:2005/05/10(火) 08:03:25 ID:jY6RiK1Q
微妙にスレ違いですが

TCPソケットで接続できない設定のPostgreSQLに
同サーバ内のphp/apacheから
pg_connect()するには何か方法あるんでしょうか


SQL側の設定は弄れません。

242nobodyさん:2005/05/10(火) 08:10:20 ID:???
>>241
TCPがダメなら unixドメインソケットしか無いんじゃないでしょうか?
243241:2005/05/10(火) 08:36:26 ID:jY6RiK1Q
ですよね。
一通り調べてみたんですが、対処法として見つかるのは皆
SQLのconfでTCPソケットを使用可能にする、というもので…

unixドメインソケットでのpg_connectの構文、
pg_connect("dbname=DBNAME");
で問題ないですよね(コレでも接続できません)。

上記の構文が正しいなら、他の部分に問題があるのかも知れません
どうでしょう
244nobodyさん:2005/05/10(火) 08:40:43 ID:AG0pWcBC
日本語使うなら、
http://nx.eth.jp/hiki.cgi?PHP-Changes-4.3.11
このあたりをインストールするのが安全ですか?
245nobodyさん:2005/05/10(火) 09:11:03 ID:???
>>243
ユーザ名やパスワードは要らないの?

>>244
4.3.10 から 4.3.11に変わる時に 文字コード判定のエンバグがあった希ガス。
snapshotのは直ってるのかも?
246nobodyさん:2005/05/10(火) 09:37:23 ID:GS/y/2r+
PHPでPOSTのデータを扱うときに問題に突き当たってしまいました。

普通のPOSTデータの場合は、たとえば'variable=test'などの場合は
$_POST['variable']などを使うことが出来ましたが、
今回送られてくるPOSTデータは、イコールやアンドで連結されていない
ただの文字列'only messages'となっているために、$_POSTが機能しません。
具体的には$_POSTの内容は空Arrayとなってしまっています。

生のPOSTデータを扱うglobal変数を探したのですが、どうやら無いようです。
何とか内容を取得したいのですが、どのようにすればよいでしょうか?
247nobodyさん:2005/05/10(火) 09:38:15 ID:???
>>239
こうだ

<?
$comment = array(
"ランダム文字列1",
"ランダム文字列2",
"ランダム文字列3",
"ランダム文字列4"
);
$num = array_rand($comment);

echo $comment[$num];

?>
248nobodyさん:2005/05/10(火) 09:41:41 ID:zlviU+dy
>>246
どこからそれはPOSTされてるんだい?
249246:2005/05/10(火) 10:03:22 ID:???
>>248
社内LANの相手方のサーバで、私はクライアントのソースコード変更の権限を持っていません。
出来れば書き換えてくれという要望を出したくないのですが、
ほかに良い方法がないならそれも候補のひとつとして考えています。
250nobodyさん:2005/05/10(火) 10:15:44 ID:???
>>249
例えばnameが君の言うonly messagesになっていた場合
それを取得するには
$_POST['only_messages']になる
空白は_として認識される

print_r($_POST);
を試せばわかると思う
251nobodyさん:2005/05/10(火) 10:29:13 ID:???
>>250
すみません、言葉が足りませんでした。_POSTは、完全な空配列になってしまっています。
下がPOSTで「message」をポストした時に_POSTをprint_rした結果です。

Array
(
)
252nobodyさん:2005/05/10(火) 10:53:47 ID:F6arxgcN
http://p5091-ipad02miyazaki.miyazaki.ocn.ne.jp/
wwwwうはっwwwwwwwwwwwwwww
wwwwwwwwwwww
おkwwwwwwwwwwww
うぇwwwwwwおkwwwwwwうはっwwwwww
253軟式PHP:2005/05/10(火) 10:54:03 ID:???
>>251
$_SERVER['QUERY_STRING']はどうなってるん?
254nobodyさん:2005/05/10(火) 10:55:17 ID:???
ていうか原因は
>>ただの文字列'only messages'となっているために、$_POSTが機能しません。
これではない気がする
255nobodyさん:2005/05/10(火) 11:05:22 ID:???
>>253
空文字列です
256nobodyさん:2005/05/10(火) 11:11:33 ID:???
工エエェェ(´д`)ェェエエ工工
257241, 243:2005/05/10(火) 11:11:57 ID:jY6RiK1Q
>>245
ソースには書いてあります。すいません

結局、問題はSQLのconfのように思います。

pg_connectで
ホストを指定しTCP接続
-> confにTCP/IPの許可が無く蹴られる
ホストを指定せずUnixドメインソケット接続
-> identはTCP/IPなので蹴られる
…のジレンマ

上のような認識で良いでしょうか。
また、conf弄る以外に手は無いのでしょうか

スレ違い度々すみません
258nobodyさん:2005/05/10(火) 11:14:21 ID:???
>>253
POSTでQueryStringは関係ないだろ?
259軟式PHP:2005/05/10(火) 11:18:55 ID:???
>>258
まぁそうなんだがGETの可能性もあるかなと。
260nobodyさん:2005/05/10(火) 11:32:57 ID:???
PHPのフレームワークmojaviについて日本語で解説してるサイトで
お勧めなどありますか?
今は、ttp://mojavi.try-angle.biz/wiki/index.php を参考にして勉強しています。

また、mojaviについて日本語で詳しく書かれている書籍などはあるのでしょうか?
大きな書店(池袋のジュンク堂など)を結構見て回ったのですが、ありませんでした。
261nobodyさん:2005/05/10(火) 11:35:20 ID:???
まぁ恐らくだとphp.iniの設定が間違っているから
only messagesをonly_messagesと読み込んでくれないんじゃないかな

試しにphp4.3を入れてphp.iniの設定は初期のまま
以下のソースを実行したがちゃんと「test」が出力されている

<form method="POST" action="<?=$_SERVER['PHP_SELF']?>">
<input type="hidden" name="test area" value="test">
<input type="submit">
</form>
<?=$_POST['text_area']?>
262nobodyさん:2005/05/10(火) 11:36:28 ID:???
訂正
<?=$_POST['text_area']?> => <?=$_POST['test_area']?>
263nobodyさん:2005/05/10(火) 11:52:45 ID:???
関数の戻り値は一つしか指定できないんですか?
264nobodyさん:2005/05/10(火) 11:59:41 ID:???
>>263
YES
265nobodyさん:2005/05/10(火) 12:02:10 ID:???
関数側で配列で返してlistで受け取る、とかかな。
266nobodyさん:2005/05/10(火) 12:15:40 ID:???
>>264-265
dクス!
一つ限定なら265の通り工夫します。
267nobodyさん:2005/05/10(火) 12:49:14 ID:???
>>261
POSTデータがHTMLのformでは送信できない形になってしまうのです。
具体的には、getallheaders()で取れるHTTPヘッダが以下のような形になっています。
-------------------------------------------------
Accept: */*
Accept-Encoding: gzip, deflate
Accept-Language: ja
Cache-Control: no-cache
Connection: Keep-Alive
Content-Length: 7
Content-Type: application/x-www-form-urlencoded
Host: ***.***.jp
method: POST /cgi-bin/php/test.php HTTP/1.1
Referer: http://***.***.jp/working/
User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.0; .NET CLR 1.0.3705; .NET CLR 1.1.4322)
-------------------------------------------------
多分"Content-Length: 7"の指す内容は"message"でしょう。

たとえばGETの場合だと、
somescript.php?message
とリクエストがくるようなものです。

ちなみにGETの場合は、上のリクエストを出して$_GETをprint_rすると
Array
(
[messgaes] =>
)
となります。
268nobodyさん:2005/05/10(火) 13:38:07 ID:???
>>266
配列にするってのも手だけど、何のために参照渡しがあるのか考えてみよう。
269nobodyさん:2005/05/10(火) 13:40:41 ID:???
>>267

<?php
$putdata = fopen("php://stdin","r");
$data = fread($putdata,4096)
fclose($putdata);
echo $data;
?>

これで取得できないか?
270229:2005/05/10(火) 14:48:04 ID:eATLLovc
>>230 231
私が思いつくのは
header("Content-Type: image/jpeg");
imagejpg($src);
のようにPHPで出力?する方法しかないのですが、
これだと画像を右クリックで保存しようとするとbmpになってしまいます。
なにか良い方法あるでしょうか?
271nobodyさん:2005/05/10(火) 15:13:12 ID:???
ルートで出した値が整数かそうでないかを判別するには
どうしたらよいでしょうか?
272軟式PHP:2005/05/10(火) 15:29:19 ID:???
方法は色々あると思うけど一例。
<?php
$num = 9;
$num_sq = sqrt( $num );

print$num_sq . 'は、';
if( $num_sq == intval( $num_sq ) )
{
print'整数だね';
}else{
print'整数じゃないね。';
}
?>
273nobodyさん:2005/05/10(火) 15:42:38 ID:U3zxbNO5
http://YahooBB220009124044.bbtec.net/

っwwwっうぇwwwwwwwwwwwwwwwwwwwwww
wwwwwwっうぇwうぇwwwwwwwwwwwwwwwwww
wwwwっっうぇっうぇwww
274271:2005/05/10(火) 15:47:13 ID:???
>>272
テラサンクス
275nobodyさん:2005/05/10(火) 18:52:06 ID:???
一部設定だけが違ってて、それ以外は全く同じスクリプトを、異なるディレクトリに置きたい場合ですが、
シンボリックリンクとか使えないのでしょうか?

例えば、
/home/www/htdocs/abc/にaa.phpとdef.inc
があるとします。
aa.phpのシンボリックリンクを
/home/www/htdocs/xyz/aa.php
に置いたとします。

aa.phpから、
<?php
require( "def.inc" );
.....
?>
みたいにして、設定のみをdef.incよみこませるとして、
/home/www/htdocs/xyz/aa.php(シンボリックリンク)
を実行した場合でも、
/home/www/htdocs/abc/def.inc
が読込まれてしまいます。当然と言えば当然なのかもしれないけど。
これを、/home/www/htdocs/xyz/def.incが読込まれるようにするには、どうしたら良いでつか?

よろしくおながいします。
276nobodyさん:2005/05/10(火) 19:05:05 ID:???
>>267
$_POSTが空なら$HTTP_RAW_POST_DATAに入ってるかも
277nobodyさん:2005/05/10(火) 20:28:03 ID:???
>>269
やってみましたが駄目でした。
fopenはうまく行っているようですが、内容がなく、即EOFでした。

>>276
空文字列でした。
278267:2005/05/10(火) 20:32:27 ID:???
ちょっと残念ですが、POSTデータを取得するのは諦めることにします。
皆さんありがとうございました
279nobodyさん:2005/05/10(火) 20:58:45 ID:???
>>627
スクリプトがおかしいんじゃなくて、画面のフォームが
タグの閉じ忘れなんかでうまく受け取れないのでは?


以前同じようなトラブルがあったもんで。
280nobodyさん:2005/05/10(火) 20:59:49 ID:???
ロングパスですな
281nobodyさん:2005/05/10(火) 21:22:27 ID:???
>>627
</form>が抜けてるじゃねーか!
282nobodyさん:2005/05/11(水) 08:36:56 ID:???
>>281
>>627は、</from>を抜かしたギャグをかますように。
283nobodyさん:2005/05/11(水) 13:42:34 ID:AwvRVDab
283ゲット
284nobodyさん:2005/05/11(水) 14:18:03 ID:???
>>282
ロングすぎ
285nobodyさん:2005/05/11(水) 15:54:34 ID:???
ロン毛カコ(・∀・)イイ!
286nobodyさん:2005/05/11(水) 18:20:13 ID:???
くだらない疑問があります。

PEARってPHP4とかPHP5とか区別は無いのですか?
偶にPHP5じゃないとダメってのはありますが、
基本的には両方とも使えるんでしょうか?
287nobodyさん:2005/05/11(水) 20:15:32 ID:fr0Q+Hmi
PHP5が使えるレン鯖がぜんぜん増えないんですが・・
PHPはもう終わってるのでは・・・って気がしてきました。
PHP5なんだか評判悪いですよね・・どうなんでしょう?そのあたり
288nobodyさん:2005/05/11(水) 21:11:19 ID:???
すれ違いだったらスマソン
エロイ人教えてください
linuxでもききましたがオセーテくれないのでおせーてください

kagoyaのサーバーを使用して
うんたら@kagoya.net
でメールをもらったらプログラムを実行して返信したいのですが

.procmailrcをhomeのすぐ下において
中身は
PATH=$HOME/bin:/usr/bin:/usr/ucb:/bin:/usr/sbin:/usr/local/bin:.
MAILDIR=$HOME/Mail
LOGFILE=$MAILDIR/procmail.log

:0
* ^To:.*うんたら@kagoya.net
* ^From:.*\/.*
#| /usr/local/bin/php /home/うんたら/public_html/getmail.php "$MATCH" regist > /home/うんたら/public_html/getlog.txt
#*| /usr/local/bin/php /home/うんたら/public_html/getmail.php "$MATCH" regist

とかいたのですが動きません どこがまちがっているのでそう
289nobodyさん:2005/05/11(水) 21:11:27 ID:???
あなたが童貞あるいは処女を卒業する頃までには広がります
既に卒業しているのであれば広まることはありません
290237:2005/05/11(水) 21:20:31 ID:???
どなたかご教授して頂けると幸いです(_ _) >>237-238
291nobodyさん:2005/05/11(水) 21:25:39 ID:???
mysql_query("SELECT * FROM $table WHRER $where;")
WHEREのまちがえでないの?
292nobodyさん:2005/05/11(水) 21:39:41 ID:???
>>288
VERBOSE=1(だっけ)にして詳細ログをみるとなにかわかるかもしれない。
基本中の基本だけど、パーミッション関係は大丈夫なんだろうね。

あとは、、いや、すれ違いだからどっか適当なとこで続けなよ。
293237:2005/05/11(水) 21:41:13 ID:???
>>291
あ、そうですねありがとうございます(_ _)でも、依然エラーが出るのがなぜか分かりません;;
mysql_query("SELECT * FROM $table WHRER $where;") or die(FALSE);
だと構文チェックは成功して
mysql_query("SELECT * FROM $table WHRER $where;") or return(FALSE);
だとなぜかエラーになります。。
294nobodyさん:2005/05/11(水) 21:55:40 ID:???

mysql_query("SELECT * FROM $table WHRER $where") or die ("FALSE");
これでどうでそう
295nobodyさん:2005/05/11(水) 21:59:43 ID:???
何気に気になってたんだけど、「or die」ってどういう意味?
今まで、詳しく分からないで何となく使ってたんだけど、
そもそも or って and とか xor とかの論理演算子じゃないの?
296nobodyさん:2005/05/11(水) 22:02:30 ID:???
>>295
orは左辺の式が偽の場合、右辺の式を評価します。
297237:2005/05/11(水) 22:04:13 ID:???
>>294
すみません、やりたいのは
mysql_query("SELECT * FROM $table WHRER $where;") or return(FALSE);
を正常に動かすことです。dieの場合は正常に動くのですが。。
298nobodyさん:2005/05/11(水) 22:09:39 ID:???
$result = mysql_query("SELECT * FROM $table WHRER $where") or die ("FALSE");
$rows = mysql_num_rows($result);
if($rows>0){
return true;
}else{
return false;
}
これでどうだボケェ
299nobodyさん:2005/05/11(水) 22:09:50 ID:???
if(! mysql_〜) return false; にしておけば、意味も分かり易いしええんでないの?
300nobodyさん:2005/05/11(水) 22:10:24 ID:???
>>296
え?
ORってさ論理和だよね?
a or b だとしたら a または b のどちらかが 真の場合に真になるんだよね?

それとも、PHPでの特殊な処理なの?
あと、左辺の式が偽の時、右辺の式を評価するのがorだとすると、
逆に、左辺の式が真の時、右辺の式を評価するものとかあるの?
301nobodyさん:2005/05/11(水) 22:17:08 ID:???
だから〜
WHRER はキモいので WHERE にしといてくれー
302nobodyさん:2005/05/11(水) 22:18:25 ID:???
>>297
return は式でも関数でもないから
303nobodyさん:2005/05/11(水) 22:20:17 ID:???
>>300
>逆に、左辺の式が真の時、右辺の式を評価するものとかあるの?
and

左が偽なら偽確定なので右は評価しない
304nobodyさん:2005/05/11(水) 22:24:07 ID:???
>>300
aが真だったら bが何でも(真でも偽でも)、真になる。
つーわけで、>>296のような解釈をする言語が多い。PHPも然り。
or dieつーのが最もよく使われる例だね。

後半に関しては、次の例を試してみれば、右のオペランドのand orで扱い方に違いがあることが分かると思う。
function hoge(){ print 'func hoge'; exit; }
$a = 'hoge' or hoge(); // orにしたりandにしたり
print $a;
305nobodyさん:2005/05/11(水) 22:24:12 ID:???
>>303
なるほど、そういうことか。
ORだから左辺が真なら真だから右辺は評価しない。
左辺が偽なら右辺を評価しないと結果が出ないから右辺を評価するって訳か。
306305:2005/05/11(水) 22:25:03 ID:???
書いてる間に、>>304に突っ込まれた・・・orz
307297:2005/05/11(水) 22:25:15 ID:???
>>298-302
ありがとうございます。
>>298 そう言う方法もありますね。。なるほど。
>>299 そうしようと思います。
>>302 疑問が一気に解決しました。。
308nobodyさん:2005/05/11(水) 22:59:06 ID:???
ふと思ったのですが、jcode.pl使ってると遅い気がするんですが...
使わない方がいいかな?でも、使わないと文字化けするんだよね...

ここで、jcode.plを改造しない?もう5年もバージョンうpしてないし、おk?
309nobodyさん:2005/05/11(水) 23:03:52 ID:???
PHPでjcode.plなんて使わない。
310nobodyさん:2005/05/11(水) 23:04:29 ID:???
へ?
311nobodyさん:2005/05/11(水) 23:07:03 ID:???
ぷぅ。
312nobodyさん:2005/05/12(木) 00:28:57 ID:???
proxyはじきたいんだが、どうすれば。
正規表現とか使うんだろうか。誰か教えてplz
313nobodyさん:2005/05/12(木) 08:42:32 ID:???
<?PHP
という様に、頭に<?っていうカッコワルイヘッダを書かなきゃならないっていう仕様はなんとかならんのか。
せめて
</PHP
とか、なんか工夫がなかったのか? なんでいきなり

なんだよ?

そういえば、昔のIBMの端末のキーボードには{っていう記号がなかったので
Cのプログラムでは、 { を ??( って書いていた っていうのを今思い出したぞ。
なんだっけか? トリグラフ表記(trigraph)だっけか?
というわけで、
?>

314nobodyさん:2005/05/12(木) 08:54:07 ID:???
>>312
環境変数チェックしたらどうか。
315nobodyさん:2005/05/12(木) 09:40:50 ID:???
PHPでtrackback pingをしようと考えているのですが
excerptの長さに規定はあるのでしょうか?
スパムはしません(--;
316nobodyさん:2005/05/12(木) 10:10:09 ID:???
>>313のスクリプトはエラーが出ます。
317nobodyさん:2005/05/12(木) 10:16:06 ID:???
jcode.phpのこと言ってんのか?
318nobodyさん:2005/05/12(木) 10:26:18 ID:???
>>313
<script language="php">〜</script>
319nobodyさん:2005/05/12(木) 11:25:28 ID:???
>>313
<% echo ("オプションでASP形式のタグを使用可能です"); %>
320nobodyさん:2005/05/12(木) 14:56:08 ID:???
質問があります。

レン鯖なのでインストールされていないPEARがあるので、
PEARマニュアルに書いてあるように、ttp://go-pear.org を go-pear.php という名前で保存し、
インストールして使用しています。

今までは、PEARを使うPHPの中で、ini_setを使用していました。

最近、これでは面倒だと感じ、色々調べたところ .htaccess で php_value を使用して
設定できることが分かりました。

そこで疑問があります。
単純にPEARだけを include_path に設定することは出来るのですが、
ini_set を使用していたときは、 ini_get も使用して、現在設定されてるパスに
使用したいもの(PEARなど)をプラスする形にしていました。

.htaccess の php_value を使用して同様のことをしたいのですが、どうしたら良いのでしょう?
.htaccess の中でPHPを記述してもいいのでしょうか?
321nobodyさん:2005/05/12(木) 15:48:51 ID:???
>>320
.htaccess でPHPの設定って変わるか?
確かにマニュアルとか書かれてるけど、俺の環境(W2K+PHP4.3.10)じゃ設定変わらないんだけど?
322nobodyさん:2005/05/12(木) 16:16:47 ID:???
>>321
あぱっち再起動
323nobodyさん:2005/05/12(木) 16:23:40 ID:???
>>322
Apache再起動ってのはチョット的外れだな。
そんな動きだったら、レン鯖とかだと困るだろ?
普通は即時に反映される。

>>321
ひょっとして<IfModule mod_php4.c>でくくってないか?
インターネット上で載ってるサンプルが殆どこの形式だけど、
Windowsだとこれでくくってると動かない。
行き成りphp_value と記述汁。

>>320
御免。
その方法は俺も知らない。
だけど、PEARだと既存の設定を上書きしたいはずだから、問題無いんじゃ?
でも、他に設定されてたら、全部設定するの面倒か・・・
324nobodyさん:2005/05/12(木) 17:21:07 ID:???
>>320
.htaccessでprepend_fileを指定して、その中でini_setすれば
グローバルに設定が反映されるよ。
325nobodyさん:2005/05/12(木) 17:47:38 ID:???
.htaccessの話が出てきたので聞いてみたい。

仕事とか趣味でもどっちでもいいんだけど、パーミッションってどうしてる?
よくインターネットで公開されてるようなスクリプトだと
ログ用のファイルのパーミッションはどうしろだの書いてあるけど、
.htaccessつかってアクセスできないようにすれば良いだけじゃないのか?
例えパーミッションが777でも.htaccessで隠せばアクセスされないよな?
何か問題があるのかなぁ・・・(その鯖で.htaccessが使用できないって場合以外で)
326nobodyさん:2005/05/12(木) 18:55:04 ID:???
perlですよ。
>>317

jcode.plを使わないとなんで、perlは文字化けするんですかね。
KENTとかのCGIをダウソすると、かならず入ってる jcode.pl ....

最終バージョンが2000年なので、そろそろ改造してもいいかと..
ソースはこちらだ!
jcode.pl,v 2.13 2000/09/29 16:10:05
ftp://ftp.iij.ad.jp/pub/IIJ/dist/utashiro/perl/

ttp://srekcah.org/jcode/jcode.pl-2.13
327nobodyさん:2005/05/12(木) 19:04:45 ID:???
>>325
設定ミスっていうのはたいてい起きるもんだよ。

777なんて例えば共有サーバーなら他のユーザーに自分の権限を
すべて与えている事になるし、激ヤバすぎる。
328nobodyさん:2005/05/12(木) 19:06:22 ID:???
>>327
ゴメン間違えた。suidビットと勘違い。
329nobodyさん:2005/05/12(木) 19:28:41 ID:???
>326
スレタイ嫁
330nobodyさん:2005/05/12(木) 19:44:22 ID:???
>329
jcode.pl の改造はどこのスレがイィでしょうか?
丸投げスレか....?
331nobodyさん:2005/05/12(木) 19:51:44 ID:???
検索しろよ
とりあえずここはPHPのスレだしPerlは関係ないぞ
332nobodyさん:2005/05/13(金) 02:14:55 ID:???
ググれば出てくるのに…
たくさん釣れて良かったね
333nobodyさん:2005/05/13(金) 11:26:20 ID:???
ファイルの、一行だけ消す時とか、書き換える時、
何か良い方法は無いですか?
ファイルがでかいので、一行ずつ読み込んで、
tmpfileでテンポラリファイルを作り、そこに書き出し、
そこから更に元のファイルに一行ずつ書いてゆく。
思い浮かんだのはこれくらいです。
知恵をお貸しください。
334nobodyさん:2005/05/13(金) 13:20:29 ID:???
>>333
tempに書いてリネーム
335nobodyさん:2005/05/13(金) 14:38:17 ID:???

$obj=new e;
a($obj);
b($obj);
c(&$obj);
d(&$obj);

function a($o){$o->v="a";}
function b(&$o){$o->v="b";}
function c($o){$o->v="c";}
function d(&$o){$o->v="d";}
class e{
var $v="ABCDEFG";
}
↑の4つの関数は
aだけが値渡し
b〜cは参照渡し(書き方は違うが渡し方は完璧に一緒)
で合ってるでしょうか?
336nobodyさん:2005/05/13(金) 23:40:07 ID:aoWOUNW7
PHPで、外部のサーバにあるシェルを実行することはできますか。
TELNETか何かでログインできれば可能な気がするのですが。

最終的にやりたいことは、WEBのPHPから対象のサーバを選んで、
そのサーバのシェルを実行するということです。

アドバイスよろしくお願いします。

337nobodyさん:2005/05/14(土) 00:09:06 ID:???
>>336
外部のサーバの状況による。
中に入るための扉が無けりゃ初っ端から無理っす。
338nobodyさん:2005/05/14(土) 03:43:26 ID:???
winXPにPHP、アパ、MySQLぶち込んだんだけど、
ローカルテストでmb_send_mail()使って自身のパソコンにメール送るのって、
また別にメールサーバ入れなきゃいけないのかな?
339nobodyさん:2005/05/14(土) 03:59:02 ID:???
はい
340nobodyさん:2005/05/14(土) 06:27:48 ID:OEZ8BJ6L
スレタイ通りくだらねぇ質問をさせてください。

PHPを学ぶかPerlを学ぶか迷ってるんです。
最初に学ぶとしたらどちらが良いでしょうか?

Perlはクセがあるとどこかで聞いたのでPHP
のほうが良いのかなぁと思ってるのですが。
341nobodyさん:2005/05/14(土) 07:32:01 ID:IfWBq4ix
変数の前についてるvarってなぬ?
基礎PHP改訂版のクラスの項ででてきたんだけど何も説明がない
var $hensu と $hensu はどういったときに使い分けるのです?
過去スレPa1にも同じような質問があったけどスルーされてたみたいなんで
くだらねぇのかもしらないけど

たのむ!
342nobodyさん:2005/05/14(土) 09:05:06 ID:???
>>340
もし貴方がC言語の経験を少しでも持っているなら、
迷わずPHPですね
343nobodyさん:2005/05/14(土) 09:05:24 ID:???
夏の日の1993 by class
344nobodyさん:2005/05/14(土) 09:22:33 ID:OEZ8BJ6L
>>342
じゃあPHPにします。dクス!
345nobodyさん:2005/05/14(土) 09:50:36 ID:???
>>341
VBで言うDimみたいなもんだ。
346nobodyさん:2005/05/14(土) 10:07:45 ID:???
質問させて下さい。

Mojaviを使用したWebアプリでフレームで分割されたページを作るにはどうしたら良いですか?
最初はフレーム部分はHTMLで作って、左右それぞれの部分をMojaviで作った
メニューとコンテンツを表示していました。
ログイン機能をつけようとしていまして、フレームが表示される前にログインさせたいのです。

それと、皆さんはどういう単位でModuleとActionを分けていますか?
例えば、商品の発注システムとかだと、在庫の確認機能なり発注機能、請求書の発行機能、
顧客管理などなど幾つかの機能に別れると思いますが、
その機能別にModuleに分割した方がいいのでしょうか?
それとも、1つのシステムをModuleにして後はActionで分割した方がいいのでしょうか?
347nobodyさん:2005/05/14(土) 10:38:37 ID:???
>>345
dクス!

っておい!
VBでググちゃったじゃないか
有効範囲と寿命って感じか?
まあなんとなく理解でき(ry

結果的に
dクス!
348nobodyさん:2005/05/14(土) 12:16:52 ID:???
>>346
フレームは普通にデフォルトのアクションとかでフレーム表示させるようにすればいいだけじゃ・・・

ModuleとActionの分け方はその時その時のような気がする。
ただ、俺は○○システムという単位で1つのMojaviを使う形にしてる。

というのはConfigが1つだから、デフォルトの設定を変えられない。
ログインやらデフォルトのモジュールやらエラーやら、
複数のシステムで共有するにはちょっと無理が出てくる。

各Module毎にConfigが設定できれば良いんだけど・・・
ひょっとして出来るのかなぁ・・・そこまでは分からないや。
349nobodyさん:2005/05/14(土) 13:25:47 ID:???
varってクラスのメンバ変数じゃないの?
350nobodyさん:2005/05/14(土) 13:39:18 ID:???
>>349
別にvarを付けなくても問題無い。
351nobodyさん:2005/05/14(土) 14:41:38 ID:???
>>335
マニュアルより
関数コールの際には、リファレンス記号がないことに注意して下さい。関 数定義にのみリファレンス記号があります。リファレンスで正しく引数を 渡すには、関数定義のみで十分です。
352nobodyさん:2005/05/14(土) 16:07:01 ID:a9dccOHa
スレタイ通りくだらなくてごめん。
str_replaceで("\n", "<br>", $com)つーのよく見かけるんだけど
\n=改行は分かるんですが\tや\rってのは何を指してるんでしょう?
353nobodyさん:2005/05/14(土) 16:12:46 ID:???
>>352
エスケープ文字の扱いは、C言語と一緒。

\tはタブ。
\rは復帰。

ちなみに、OSによって改行は\nだけじゃない。
Windowsなんかは\r\nで改行。
354nobodyさん:2005/05/14(土) 16:19:48 ID:???
うそつけ
Windowsも\nに復帰は含まれないぞ
355352:2005/05/14(土) 16:21:46 ID:???
!?(゚Д゚;≡;゚Д゚)!?

とりあえず復帰ってなんぞやw Googleに飛び込んでくるw
356nobodyさん:2005/05/14(土) 16:27:15 ID:???
>>354
Windowsでメモ帳開いて改行して、そのファイルをバイナリエディタで見てみな。
0x0D 0x0A ってなってるから。

Windowsでの改行は\r\nの2つ使う。
357nobodyさん:2005/05/14(土) 16:29:26 ID:???
>>356
放っておいてやれよ。

>>354はWebプログラム書く奴にとっての常識を知らないで、この板に居るんだろうから。
358354:2005/05/14(土) 16:34:28 ID:???
悪い、よく見てなかった

fputs()で\nしても復帰ははいりませんぞってことが言いたかった
359nobodyさん:2005/05/14(土) 16:46:27 ID:???
>>358
自分で書いてて、馬鹿だな・・・って思わないのかなぁ・・・
\nしか入れてないなら\rが入る訳無いのに・・・
360nobodyさん:2005/05/14(土) 16:57:29 ID:???
Perlじゃ\r入るから間違えた
361nobodyさん:2005/05/14(土) 17:23:12 ID:???
\rと\nと\r\nの三つか。
362nobodyさん:2005/05/14(土) 18:20:54 ID:3PEPLp0F
363nobodyさん:2005/05/14(土) 20:09:15 ID:???
何これ
364nobodyさん:2005/05/14(土) 20:15:00 ID:???
PLESKでサーバのPHPメモリのクリーンアップってどうやるのか教えて
365nobodyさん:2005/05/14(土) 20:54:40 ID:???
引数で値だけを書いて、それをPHPスクリプトで取得することって出来ますか??
たとえば、QRL.jpで圧縮した後のURLって http://qrl.jp/?189637 みたいになる。
ここでは「?189637」が引数だけど、この引数をスクリプトで取得するにはどうすれば…??

「?id=189637」みたいになってれば「$id=$_GET['id']」で取得できるけど、
「?189637」の場合は・・・???
366nobodyさん:2005/05/14(土) 21:10:27 ID:???
array_keys($_GET)
367nobodyさん:2005/05/14(土) 21:11:39 ID:???
>>365
その類の質問って、ちょくちょく出て来てるとは思うんだけどね。

phpinfo() だけを実行する PHP ファイルに対して ?189637 付けてリクエスト
してみて、どの環境変数に ?189637 がセットされているか、確認するといい。
368nobodyさん:2005/05/14(土) 21:14:57 ID:???
つ$_SERVER["QUERY_STRING"]
369nobodyさん:2005/05/14(土) 21:40:36 ID:???
>>367
ありがとうございます!!
そんな確認の仕方があるとは気が付きませんでした。orz
実際にやってみたら理解できました。マジでありがとうございます。
ところで、「?189637」でさらに「?」を抜いた場合は、引数じゃなくて
URLに含まれるディレクトリとしてブラウザが解釈しちゃいますよね?
これを「189637」だけで引数だと解釈させるには、サーバ(Apache)の設定を変更
しないと実現でき・・・ませんよね?

>>368
ありがとうございます。たしかに$_SERVER["QUERY_STRING"] と確認できました!
370nobodyさん:2005/05/14(土) 21:54:19 ID:???
>>369
はい。
371nobodyさん:2005/05/14(土) 22:01:42 ID:???
MagickWandについて質問なのですが、
画像の容量を下げたいときはどうすればよいのでしょうか?
372nobodyさん:2005/05/14(土) 22:09:24 ID:???
>>371
画像の容量を減少させるような処理を行いましょう。
画像の縦横サイズ、利用カラーパレット数、画像品質 等々。
373371:2005/05/14(土) 22:27:19 ID:???
>>372

わかりました、ありがとうごさいます!
374nobodyさん:2005/05/14(土) 22:34:59 ID:jUn5DTgY
DBやsendmail等、処理待ちが出る場合に
レスポンスを待たずに次のphpに移行する方法があったと思うんですが
分かりますでしょうか
375nobodyさん:2005/05/14(土) 22:39:47 ID:???
>>369
「?」抜きってのは実現不可能なんじゃないのか??
漏れはあんま詳しくはないけど。。。
376nobodyさん:2005/05/14(土) 22:45:42 ID:???
>>374
処理結果を気にしない場合は、プログラム実行関数 + 各OSでのバックグラウンド実行。
処理結果を気にする(シグナルをどうにかする)場合は、プロセス制御関数。

>>375
mod_rewriteやPATH_INFO
377nobodyさん:2005/05/14(土) 22:55:26 ID:???
>>375
このスレのURLよーく見てみろ
378nobodyさん:2005/05/14(土) 23:01:48 ID:???
>>377
おおぅ。。。なるほど、「l50」も引数!? 今までディレクトリ名だと思ってた。
でもどうやんだろ?
mod_rewriteはちょっとググったけど相当難しそうだ。。。
サーバーに関する知識がないと実現できなそうね。
あと、これってphpと直接関係ない話。だよね?
379nobodyさん:2005/05/15(日) 00:27:28 ID:???
376に書いてる。>PATH_INFO
環境変数で取得。
380nobodyさん:2005/05/15(日) 04:13:16 ID:???
ついさっきANHTTPD+PHP5の環境を作った初心者ですが、もしかしてPHP5は一般的じゃありませんか?
PHP4とどう違うのかわからないんですけど、PHP4の方にしといた方がよさそうですか
381nobodyさん:2005/05/15(日) 04:19:22 ID:???
>>379
369も書いてるように、普通の環境で引数が「?」抜きだと
PATH_INFOでも引数の部分がディレクトリ名だとみなされるよね?

たとえば「http://hoge.com/?引数」ならいいけど、
http://hoge.com/引数」だと最後にスラッシュが足されて
http://hoge.com/引数/(index.htm)」って感じになるよね。
382nobodyさん:2005/05/15(日) 08:27:34 ID:???
>>381
http://hoge.com/で呼び出されるindex.htmlを
.htaccessでindex.phpに指定する。
index.phpでPATH_INFOを取得し、URL以降部分を
引数として処理すればいい。
383nobodyさん:2005/05/15(日) 09:58:55 ID:???
>>380
PHP5とPHP4ではオブジェクト指向の書き方が違う
まあネットで検索したときの情報量はPHP4の方が多いけど
迷うなら4の方が無難
384nobodyさん:2005/05/15(日) 12:06:12 ID:???
C#やJavaをやったことがあるなら5の方がやりやすいかも
385nobodyさん:2005/05/15(日) 12:13:59 ID:???
Cはまだ経験がありません。
386nobodyさん:2005/05/15(日) 12:34:05 ID:???
C++なら経験済みです
387nobodyさん:2005/05/15(日) 12:54:17 ID:???
C++は見たことも無いけどPHPを触ってしまいますた
ごめんなさい
388nobodyさん:2005/05/15(日) 14:51:14 ID:???
積極的ねッ♪
389nobodyさん:2005/05/15(日) 15:02:44 ID:???
昨日、初めてCを体験しました。
隣の浮江お姉さんが優しく教えてくれました。
390nobodyさん:2005/05/15(日) 19:17:15 ID:SkLBQSTL
同じサーバ内で、セッション(くっきー)を2つに分けて保存したいのですが

a.phpだと
session_name("abcdef");
session_start();
$_SESSION['test'] = 'abcdef';


b.phpだと
session_name("123456");
session_start();
$_SESSION['test'] = '123456';

で、$_SESSION['test']がどちらかのデータに上書きされてしまいます。
どうすれば同一サーバ内で2つのセッションを保持できるのでしょうか?
391nobodyさん:2005/05/15(日) 19:24:38 ID:???
セッションとクッキーは違います
392390:2005/05/15(日) 19:56:40 ID:SkLBQSTL
>>391
僕の勉強不足でした orz
えーと、ということはセッション(session_start())で、複数のスクリプトで
$_SESSION['test']の変数を2種類使い分けるのは無理ということですか?
393nobodyさん:2005/05/15(日) 20:17:01 ID:???
php.iniにそういう設定なかったっけ
複数のスクリプトの間で引き継ぐか、引き継がないか
394nobodyさん:2005/05/15(日) 20:23:43 ID:???
セッションIDを2個持ったユーザ(ブラウザ)を作りたいってこと?
そういうのはしたことないけど、多分標準のセッション関数じゃ出来ないんじゃないの。
1つのセッションを名前で分けて使うか($_SESSION['sess1'][test] $_SESSION['sess2'][test)、
pearのライブラリにそういうのがないか探すか、自前でセッションを実装するか。
395nobodyさん:2005/05/15(日) 22:14:41 ID:???
ime.nuみたいにhttp://hoge.com/hoge2.com/で
"hoge2.com/"を得るためにPATH_INFOでやってみましたが
index.phpで取得しようとすると↓のように"/"を余分につけないと取得できません
http://hoge.com//hoge2.com/

なにか良い案があれば教えてください
396390:2005/05/15(日) 22:32:13 ID:???
session.use_only_cookies On
にしたら出来たっぽいです。
397nobodyさん:2005/05/15(日) 22:33:51 ID:???
社内のチーム用に小規模なデータベースを作ろうと思って、
WindowsXP上でMySQLとApacheを動かそうと思っているのですが
日本語の取り扱いは、
php.iniの

default_charset = "Shift_JIS"
mbstring.language = Japanese
mbstring.func_overload = 7
extension=php_mbstring.dll

でよろしいんでしょうか?
398nobodyさん:2005/05/15(日) 23:13:48 ID:dziYZJyD
1つのereg_replace()のみで
a -> b
c -> d
e -> f
のように複数の変換はできないのでしょうか。
…正規表現はマッチした/しないの2通りしかないから無理かなぁ


399nobodyさん:2005/05/15(日) 23:19:35 ID:???
>>398
ereg_replaceを使わずにstr_replaceで。
$arr1 = array('a','c','e');
$arr2 = array('b','d','f');
echo str_replace ($arr1,$arr2, $string);
400nobodyさん:2005/05/15(日) 23:21:26 ID:???
>>397
細かくいうとキリがないから入門書をまねるといいよ。
401398:2005/05/15(日) 23:37:30 ID:dziYZJyD
>>3399
ありがとうございます
402nobodyさん:2005/05/15(日) 23:52:16 ID:???
>>398
preg_replace() のところに配列の例があるよ
http://jp2.php.net/manual/ja/function.preg-replace.php
403nobodyさん:2005/05/16(月) 00:09:11 ID:???
>>400
その入門書によって、書いてある事がマチマチなのでー。
404nobodyさん:2005/05/16(月) 00:16:27 ID:???
晒せ
405nobodyさん:2005/05/16(月) 00:21:24 ID:???
>>397
どこで悩んでるのか
まず動かしてみるからじゃないのか
406nobodyさん:2005/05/16(月) 00:55:18 ID:???
ループ内で、HTMLのテキストを、少しずつ表示したいのですが
どうしたらよいでしょうか
407nobodyさん:2005/05/16(月) 01:09:56 ID:1b4tK92/
PHPの変数名の付け方って"_"で区切るのとfooBarみたいな感じのと
どっちが推奨なんですかね?
408nobodyさん:2005/05/16(月) 01:14:25 ID:???
どっちでもいいんじゃない。memberNameみたいにしてもいいけど、HTMLフォームのnameとあわせようと思うと、member_nameの方が好まれたりするんだよね。
409nobodyさん:2005/05/16(月) 01:27:27 ID:???
>>406
どこまで自分でできたのか、ちょいと書いてごらん。

>>407
困った時のハンガリアン。
ム板に、クラス名・変数名に迷ったら書き込むスレもあり。
http://pc8.2ch.net/test/read.cgi/tech/1109330204/
410406:2005/05/16(月) 01:37:39 ID:???
>>409
<BODY>foreach($text as $str){ echo $text; }</BODY>
みたいな感じで出力してて
echo文の後ろで flush(); 読んでみたけどダメでした
$textの前に、無駄なスペース256バイトとか入れてもダメでした
411nobodyさん:2005/05/16(月) 01:37:42 ID:???
環境作って入門サイトを一通り見ましたが、習作に何を作ればいいか迷っています
助言ください
412406:2005/05/16(月) 01:39:24 ID:???
http://jp2.php.net/manual/ja/function.flush.php
ここを読んでやっているのですが
悪いのがブラウザなのかApacheなのかPHPなのか
切り分けが出来ませんです
切り分ける方法のヒントをください
413nobodyさん:2005/05/16(月) 01:41:00 ID:???
>>410
えーと、、、ちょいととは言いましたが、関係する部分を全て真面目に書いてください。
414nobodyさん:2005/05/16(月) 01:42:14 ID:???
>>410
foreachの使い方をもう一度勉強しなおそう。
415406:2005/05/16(月) 02:12:24 ID:???
>>413
ob_start()とかつかってるとだめみたいでした

<?
mb_http_output('SJIS');
ob_start('mb_output_handler');

$str=array("あ","い","う");
foreach($str as $text){
echo $text;
ob_end_flush();
sleep(5);
ob_start();
}
?>

あいう がひとつずつ5秒おきに出力されるようにしたいです
416nobodyさん:2005/05/16(月) 02:38:24 ID:???
勉強するならHTTPからですね。

JavaScriptかFLASHでどうぞ。
417406:2005/05/16(月) 03:51:50 ID:???
>>416
ありがとうございます。
JavaScriptやFlashを使わずに
PHPでの変更のみで無事解決いたしました。
418nobodyさん:2005/05/16(月) 04:26:22 ID:???
違うブラウザでも試してみましょう。
419406:2005/05/16(月) 04:33:11 ID:???
どうもご心配おかけしてすみません
IE,Opera,Firefoxで確認したのでたぶん大丈夫だと思います
420nobodyさん:2005/05/16(月) 06:24:36 ID:Mf9AQ7/C
PHPでcrontab生成してる方、いらっしゃいますか
どんな感じなんでしょう
421nobodyさん:2005/05/16(月) 07:35:21 ID:???
別のサイト(.html)を取得してその内容について処理をするにはどうすればいいですか
422421:2005/05/16(月) 07:42:35 ID:???
すみません自己解決しました
423nobodyさん:2005/05/16(月) 07:43:12 ID:???
つ [ファイルシステム関数 CURL関数 ソケット関数]
424nobodyさん:2005/05/16(月) 08:18:07 ID:WsRbPHFD
phpファイルのサイズ制限ってありますか?
例えば、abc.phpってファイルが20kb以上になったときに異常な動きになるとか。
DB操作のところのコードは変更していないにも関わらず、
abc.phpのサイズが25kb過ぎたあたりから、DB操作のところでエラーが起きるようになりました。
試しにファイルを分けてみたら、正しく動作するようになりました。

ひとつのファイルで済ませたいのですが、対処法があれば教えてください。
環境:Apache2、PHP5、Mysql3.23.58、WinXP
425nobodyさん:2005/05/16(月) 10:10:00 ID:???
mysqlに対して、検索するとき

$result = mysql_query("SELECT フィールド FROM テーブル名 WHERE フィールド = $_POST['hogehoge']";

な感じで、$_POSTを使うと何も結果が出てきません。
SQL文で使う場合は、一度変数に入れなければならないのでしょうか?
426nobodyさん:2005/05/16(月) 10:38:20 ID:???
つ [マニュアル 言語リファレンス 型 文字列 変数のパース]
427nobodyさん:2005/05/16(月) 10:44:43 ID:???
>>425
とりあえず、それは非常に危険なコードだ。簡単にデータベース破壊できる。
428425:2005/05/16(月) 10:57:41 ID:???
危険なコードなんですか・・・。
POSTで取ってきたデータを変数に入れて、

$hogehoge = $_POST["hogehoge"];
$result = mysql_query("SELECT フィールド FROM テーブル名 WHERE フィールド = $hogehoge)";

しか頭に浮かびません。
これでもダメなコードなのでしょうか?
429nobodyさん:2005/05/16(月) 11:08:32 ID:???
つ [SQLインジェクション]
430nobodyさん:2005/05/16(月) 11:16:02 ID:???
>>428
とりあえず以下で。
mysql_query("SELECT フィールド FROM テーブル名 WHERE フィールド = " . $_POST['hogehoge']);

>>427 が指摘しているように、$_POSTや$_GETみたいに外部からくる値をチェックせずに、そのまま
使用するのはやめたほうがいい。
SELECTでデータベースが破壊できるかどうかはさておき、外部から来る値は「汚れている」可能性を
考えておかないと危険。
SQLインジェクションあたいりでググってみそ。
431nobodyさん:2005/05/16(月) 11:17:27 ID:???
$query = "SELECT フィールド名 FROM TABLE WHERE フィールド = '$hogehoge'";
$result = mysql_query($query, $this->Connect) or die ("error:$query");
ってやったらどうだぼけぇ
432425:2005/05/16(月) 11:22:44 ID:???
>>429
>>430

・・・ググって見て寒気がしました。
こんなやり方があるのですね。

掲示板等にタグ防御があるように、SQLを扱うフォームデータは、
厳重に不要なものを取り除いたり、注意深く扱わなくてはだめなのですね。
勉強になりました、ありがとうございます。
433nobodyさん:2005/05/16(月) 12:21:00 ID:???
久しぶりにすんげーこのスレの有意義さを感じた
434nobodyさん:2005/05/16(月) 13:32:16 ID:???
>>416
>>418
必死でワロタ
435nobodyさん:2005/05/16(月) 15:05:55 ID:???
WEBサーバがどういう手順でブラウザにデータを送っているか。
データを受け取ったブラウザはそのHTML部をどうやってパースしているか。を考えればおのずと分かること。
436nobodyさん:2005/05/16(月) 15:41:23 ID:2P24wsbp
会社の業務システムにPHPを採用するかJavaを採用するかで悩んでます。何か
アドバイスあればください。
437nobodyさん:2005/05/16(月) 15:42:38 ID:???
>>436
わかる人を雇う。まともな請負に頼む。自分で努力する。他いろいろ…
438nobodyさん:2005/05/16(月) 15:49:38 ID:2P24wsbp
PHPはJavaに比較して業務システムに適さない?
439nobodyさん:2005/05/16(月) 16:11:48 ID:???
437をスルーして更に質問を重ねるID:2P24wsbpは、
PHPやJavaよりもまず社会人のマナーを学んでこい。
440nobodyさん:2005/05/16(月) 17:20:52 ID:2P24wsbp
失礼しました。
>>わかる人を雇う。まともな請負に頼む。自分で努力する。
他いろいろ…

アドバイスありがとうございます。ですが、JavaとPHPという側面では
どんなもんでしょうか?
441nobodyさん:2005/05/16(月) 17:41:38 ID:???
>>440
真面目レスすると、言語だけではなんともいえない。

まずは、そのシステムの規模。
お金はどれぐらい掛けられるのか。(サーバも含む)
周囲(社内や良く使っている外注)などにJavaやPHPの技術者がどれだけいるか。

などなど、色々な要素が絡みます。
例えば客が「絶対にPHP」とか「絶対にJava」と言えば、それで開発するしかないのです。

言語という側面だけで見た場合、中規模までであればどちらでもOK。
小規模ならJavaを使うまでも無いのでPHP。(別にJavaでもいいけど)
大規模ならJava。PHPの技術者が多く、技術力も高いならPHPでもOK。

結局の所、言語レベルでは判断がつきません。
周囲の技術者が多い方。
担当者が得意な方。
そういったもので全然OKです。
技術者が多いとか得意というのはそれだけで強みです。
442437:2005/05/16(月) 17:59:07 ID:???
>>440
>>437は、物凄いマジレスだったんだけどね。

PHPとJavaの、特徴すら理解できてないんだから、自分を磨くか、人雇うかしかないでしょ。
しかも、その自分を磨くってのを2chに頼るってのは、プロとして確実に問題だぜ。

例えば、上司にどう報告するんだい?
2chで、こう言われたから、PHPでやることにします。とかか?冗談だろ。

付け焼刃じゃなく、実力をつけるしかないんだぞ。

>>441が親切に言ってくれてるが、これも一般論にしかすぎない。
実務になれば、自ずと異なった視点が必要になるんだが、それすら理解できてないんだろ?

こんなとこで時間つぶしてる暇に、やることあるだろ。
443nobodyさん:2005/05/16(月) 19:20:19 ID:???
みんなマトモな人だな。
おまけにイイ奴だ。
444nobodyさん:2005/05/16(月) 23:33:53 ID:???
php4でhtmlの内容をurl指定で取得したいのですが、方法を教えてください。
http://oshiete1.goo.ne.jp/kotaeru.php3?q=1349669
こちらの方法を参考に

<?php
$file = "http://heeha.ws/cgi-bin/index.html";
$fp = @fopen($file,"r");
print "$fp";
?>

としてみましたが読み込み続けてしまって表示できませんでした・・
こんなレベルですいません!
445nobodyさん:2005/05/16(月) 23:34:50 ID:???
すいませんhtmlの内容と書きましたが、ブラウザで表示される状態を取得できたらと思っています。
446444:2005/05/16(月) 23:40:45 ID:???
$file = "http://www.scollabo.com/banban/php/ref/ref_fopen.html";
$fp = @fopen($file,"r");
fpassthru($fp);

で出来ましたなんか文字化けしてますが・・
447nobodyさん:2005/05/16(月) 23:45:09 ID:???
2バイト文字がグチャグチャになってしまっていますがこれはどうしたらいいのでしょうか。
というかやはり表示結果を取得したほうが楽そうですね・・。
448nobodyさん:2005/05/16(月) 23:53:07 ID:???
mb_internal_encoding , mb_http_input mb_http_output
等を変えてみるなど。
449nobodyさん:2005/05/17(火) 00:27:04 ID:???
mb_internal_encoding
を取得するhtmlの文字エンコードに合わせたら表示できました。
ありがとうございます!

$encoding = mb_internal_encoding(shift_jis);
$file = "http://www.f7.dion.ne.jp/~moorend/news/2005040201.html";
$fp = @fopen($file,"r");
fpassthru($fp);

としたらいい感じにはなったんですが

何故か

Notice: Use of undefined constant shift_jis - assumed 'shift_jis' in /home/ryota/httpd/php_work/first.php on line 6
と怒られます。
なにかセットで定義する必要があるのでしょうか。
450nobodyさん:2005/05/17(火) 00:38:40 ID:???
> Notice: Use of undefined constant shift_jis - assumed 'shift_jis'
注意: 未定義の定数 shift_jis が使われています。'shift_jis' だと想定します。
mb_internal_encodingの引数は、文字列 あるいは 定義済みの定数。
451nobodyさん:2005/05/17(火) 00:45:53 ID:???
mb_internal_encoding( "SJIS" )
452nobodyさん:2005/05/17(火) 00:59:34 ID:???
450-451さん
ありがとうございます

なぜか
$encoding = mb_internal_encoding(shift_jis);
でも怒られながらも表示されていたのが不可解でした。
shift_jisを消すと文字エンコードがおかしくてまともに表示出来なかったです。

また
("shift_jis")
( "SJIS" )
どちらでもエラーを吐かずに表示できました。
453nobodyさん:2005/05/17(火) 01:13:02 ID:???
>>452
マニュアルの定数の部分にも書いてありますが、
> 未定義の定数を使用した場合、ちょうどstringとしてコールしたかのように(CONSTANT vs "CONSTANT")、
> PHPはその定数自体の名前を使用したと仮定します。 この際、E_NOTICE が発生します。

今回の場合は、定数shift_jisが存在しなかったので文字列(string)'shift_jis'を指定したと仮定されます。
notice:の出力部分は、上記の事を英語で簡単に書いてあります。

ほんとうにそうなのかを確認するには、$encoding = mb_internal〜 の前後で
print mb_internal_encoding(); を実行してみれば分かるかと。
454nobodyさん:2005/05/17(火) 01:35:52 ID:???
Notice: Use of undefined constant shift_jis - assumed 'shift_jis'
未定義のものを使ったので、文字列を勝手に入れてくれたのかな・・
まだ私には難しい表現なのでゆっくり噛み砕いてみます。

指定した語句を含む行を抜き出す関数というものはあるでしょうか?
出来ればそのHTMLから該当する語句を含む行を全て抜き出したいのです。

またはある語句からある語句の範囲を削除するというのでも解決出来そうです。

とにかく無駄な部分のほうが多いので・・
455nobodyさん:2005/05/17(火) 02:42:54 ID:???
リファレンス本を買うか・・
色々とありがとうございました
<(_ _)>
456nobodyさん:2005/05/17(火) 07:36:39 ID:???
引用符でくくられてない文字列を見つけて定数かなと思い探してみたけどそんな定数は定義されてない
そこでPHPは、おばかなプログラマが文字列に引用符をつけ忘れたんだなと判断して文字列として扱ってくれる
457nobodyさん:2005/05/17(火) 07:42:05 ID:Ph4M31UZ
phpから別の.htmのフォームへ遠隔的にデータを送信することはできますか?
458nobodyさん:2005/05/17(火) 07:58:10 ID:???
つ [ >>427 ]
459nobodyさん:2005/05/17(火) 07:58:46 ID:???
つ [× >>427>>426 ]
460軟式PHP:2005/05/17(火) 10:07:12 ID:???
>>455
リファレンス本て勿体ない。PHPマニュアルで十分やろ。
かなり分かりやすいと思うよ>PHPのマニュアル
本を買うならもっと別の本にしたほうがいいと思われ。
461nobodyさん:2005/05/17(火) 11:33:51 ID:wrsgSSon
for($i=0;$i<10;$i++){

for($ii=0;$ii<5;$ii++){


}

}

PHPに限ったことではないのですが、ループが2重になる時、
内側のインクリメント変数はなんて名前にするのがいいですか?
462軟式PHP:2005/05/17(火) 11:42:59 ID:???
重複しない名前
463nobodyさん:2005/05/17(火) 11:48:34 ID:???
$i $j $k $l …という順番で使うオイラはFortran世代。
最近、老眼で $i $j $l の区別がつきにくい…
マジな話をすると、それぞれのループには意味があるだろうから
外側のループも $i にこだわらず、意味のある名前にしたら?
464461:2005/05/17(火) 11:51:38 ID:???
特にセオリーがある訳ではないんですね。
ありがとうございました。
465nobodyさん:2005/05/17(火) 12:04:08 ID:???
fortranだと暗黙の型が、
I, J, K, L, M, N で始まる変数 -> 整数型
A〜H, O〜Z で始まる変数 -> 実数型
になるってやつだね。
ttp://www.hatena.ne.jp/1086523013 あたりに似たような話題が出ていたので参考にどうぞ。
466nobodyさん:2005/05/17(火) 12:23:25 ID:???
俺はPHPが初めてだったから数学でよく使ってたi、n、mが多い。
でも3重のループ構造なんて作ったこと無いからnまでだな。
467nobodyさん:2005/05/17(火) 12:50:18 ID:???
>>465
20年やって初めて知った
ベーマガにも書いてないトリビアだ
468nobodyさん:2005/05/17(火) 13:00:55 ID:???
昔、雑誌に載ってたBASICのプログラムが
for i = 0 to 9 : for j = 1 to 100
みたいな感じだったから今でもループカウンタは i j だ
469nobodyさん:2005/05/17(火) 13:34:27 ID:Apwp1iic
質問っす。
preg_replaceでマッチした結果を、連想配列の添え字に使用できないかな?

----------------------------------------------------
<?php
$hash = array(
"100" => "100_text",
"101" => "101_text",
);

$str = "string101";

echo preg_replace("/.+?([0-9]+)/", $hash['$1'], $str);

exit;
?>
----------------------------------------------------

101_textを期待してるんだけどまったく駄目です。
/eを使うのかと思うんだけどいまいち理解できません。
よろしくお願いします。
470nobodyさん:2005/05/17(火) 14:17:22 ID:???
>>469
preg_match使えば
471470:2005/05/17(火) 14:20:01 ID:???
preg_match + str_replace

preg_replace_callback + function
472nobodyさん:2005/05/17(火) 14:48:23 ID:???
PHPで、クライアントとは関係ないHTTP通信を行いたいのですが、
どのメソッドを使えばよいでしょうか?

開くターゲットはhtmlファイルなのですが、
クッキーなどのいくつかのヘッダも出力してやりたいので、
fopenではない専用のAPIがあれば助かります。

よろしくお願いします。
473nobodyさん:2005/05/17(火) 14:54:33 ID:???
>>469

> /e修飾子は、 preg_replace()が replacementパラメータを
> 適当な置換を行った後、PHP コードとして処理するようにします。

echo preg_replace("/.+?([0-9]+)/e", '$hash["$1"]', $str);
474nobodyさん:2005/05/17(火) 14:59:45 ID:???
>>472
つ [ fsockopen ]
475nobodyさん:2005/05/17(火) 15:02:53 ID:???
>>474
トン
476nobodyさん:2005/05/17(火) 15:12:01 ID:???
HTMLソースをゲットして、必要な部分だけを切り出したいんですが効率的な方法はどのようにすべきなのでしょうか。
タグの部分は置き換えで出来るのですが、予期しない文章部分等への対応をどうしたら良いのか困っています。
477nobodyさん:2005/05/17(火) 15:17:48 ID:???
>>476
ゲット先のソースを管理している人間に、
ソース内で貴方の必要な箇所を明示的に記述してもらうように頼む。
478nobodyさん:2005/05/17(火) 16:02:43 ID:???
クラス内部で自分のメソッド呼ぶ場合って
$this->hogehoge()使うのと
CLASS::hogehoge()使うのと
どっちが正しいとか早いとかってある?
479nobodyさん:2005/05/17(火) 16:04:59 ID:???
普通$this->func()でしょう。
だってクラス名変わったらアウトじゃん。
480nobodyさん:2005/05/17(火) 16:06:23 ID:???
後者は親クラスのメソッドを呼び出す時に使うんじゃないの?
481nobodyさん:2005/05/17(火) 16:12:50 ID:???
>480
再帰ループとかに使うんで自分のクラスです。
親メソッドだったらparent::hogehoge()で呼ぶのが正解だと思っとりますが。
482nobodyさん:2005/05/17(火) 16:15:28 ID:???
>>478
クラスの作成意図による。
class test {
function hoge(){ echo 'hoge'; }
function hoge1(){ $this->hoge(); }
function hoge2(){ test::hoge(); }
}
test::hoge1(); // fatal errorになる。インスタンスが無いのでhoge1での$this自体が無い。
test::hoge2(); // hogeを出力
483nobodyさん:2005/05/17(火) 16:30:25 ID:???
>482
なるほど・・・
インスタンスを必要としないように組んでれば$thisじゃなくても良いわけですな。
とりあえず、>479の言うとおりクラス名変わったら面倒になりそうなので
$thisを使う事にします。
さんくす。
484nobodyさん:2005/05/17(火) 16:32:22 ID:???
class test2 extends test{
function hoge(){ echo 'hoge2';}
}
ってしたくなると困るね。
Javaとかでは、なんかセオリーみたいなのあるの?
485nobodyさん:2005/05/17(火) 16:33:33 ID:???
>>482
class test {
function hoge(){ echo 'hoge'; }
function hoge2(){ test::hoge(); }
function hoge3(){ self::hoge(); }
}
test::hoge2(); // hogeを出力
test::hoge3(); // hogeを出力
っちゅう手もある
486nobodyさん:2005/05/17(火) 16:38:56 ID:???
>>477
明示的にはなっているのですが、それをどう抜き出したら良いのか分かりませぬ・・
抜き出したい行には固有の文字列がありますから、テキストから取り出す方法が分かれば可能だと思いますが、その方法自体が分かってないのです・・。
http://itbtech.itboost.co.jp/man/php_man/manual.html
とかのどこ見ろや!でいいのでおながいします
487nobodyさん:2005/05/17(火) 16:44:49 ID:???
>>485
selfってPHP5だけ?
488nobodyさん:2005/05/17(火) 18:44:35 ID:ceDjCL+B
phpでヤフオク等のページデータを引っこ抜きたいんですが、
出品途中ではなく終わった出品物の場合、URLデータを引っこ抜く時に
ログインしろ!ときます。
ログインをPHPのスクリプトで行い、ページデータを引っこ抜く手段はあるでしょうか?

お願いします。
489488:2005/05/17(火) 19:15:06 ID:ceDjCL+B
意味不明な記述がありました。すいません
URLデータ>ページデータです。
490nobodyさん:2005/05/17(火) 19:18:06 ID:???
PHPのエラーメッセージの一覧はありますか?
T_STRINGとか…
491nobodyさん:2005/05/17(火) 19:30:55 ID:???
PerlならLWPとか使うんだろうけど、PHPだとどうなんだろ。
シェルスクリプトでw3mのマクロを書いたほうが簡単なような気が。
492nobodyさん:2005/05/17(火) 19:46:12 ID:???
cURL でしょ。
493nobodyさん:2005/05/17(火) 19:54:12 ID:???
左のメニューを選択すると右メニューに結果が表示されるようにするスクリプトを書いていて、
実際にソースをHPにあげてみたら上手く動かなかった、、
おそらく$_SERVERのところの記述ミスなのですが、検索して調べてみたのですがわからずここで聞くことにしました。
ご教授おねがいします。

ソースファイル↓
http://www.uploda.org/file/uporg101239.zip.html
494nobodyさん:2005/05/17(火) 20:02:21 ID:???
JavaScript使う手もあるけど、<a href="xxx.php?page=top">とかした方が簡単だよ。
495493:2005/05/17(火) 20:05:56 ID:???
>>494
ナルホド、、ありがとうございます。
496nobodyさん:2005/05/17(火) 21:34:02 ID:???
hoge.html からフォームで fuga.php にアクセスするシステムがあって、
直接 fuga.php にアクセスされたときに

「ぬるぽ」

と表示したいのですが、どの変数があるなしで判断したらいいでしょうか?
GETさせたく無い方法を教えてください。
497nobodyさん:2005/05/17(火) 21:43:11 ID:???
$_POST
498nobodyさん:2005/05/17(火) 21:43:25 ID:???
postデータがあったら通常処理
postデータがない場合、引数がない場合、getデータがある場合はぬるぽ。
499nobodyさん:2005/05/17(火) 21:58:03 ID:???
>>496
if (isset($_SERVER['HTTP_REFERER'])
    && strpos($_SERVER['HTTP_REFERER'], 'hoge.html') !== FALSE) {

    //何か処理
} else {
    echo 'ぬるぽ';
}
500nobodyさん:2005/05/17(火) 22:01:32 ID:???
$_POST ですか。
ユーザー名が入るテキストフィールド(name = username)があるとして、

<?
if (!$_POST["username"]){
     print ぬるぽ
     }
?>

これだと、ユーザー名を未入力でボタンを押しても「ぬるぽ」と表示されてしまいます。
アクセスされた人が「ぬるぽって何?」って思われたり、または脊髄反射的に「ガッ」っと言う人が言うかもしれません。

$_POST は 連想配列である、とマニュアルに書いていますが、
そもそも $_POST という配列が無いという分岐はできるのでしょうか?
501nobodyさん:2005/05/17(火) 22:05:55 ID:???
>>499
あぁ、すいません、書いている間に答えいただいてしまって…、ありがとうございます。
502nobodyさん:2005/05/17(火) 22:14:17 ID:???
503nobodyさん:2005/05/17(火) 22:19:42 ID:???
10万バイト分の文字列を200回mb_ereg_replace()―正規表現は使わずただの全角文字の置換に使う―をしたいのですが、負荷から考えてレン鯖で使うのは危険ですか?
504nobodyさん:2005/05/17(火) 22:24:33 ID:???
ローカルでやるのは駄目なの?
505nobodyさん:2005/05/17(火) 22:31:21 ID:???
php4 + GD でページの中に動的に生成したグラフを表示させたいと思っています

その際、普通は
<img src = "graph.php?param1=<?php echo $param1; ?>">
などのようにimgタグの中からgraph.phpを呼んでついでに引数を渡すのですが、
グラフのデータそのもの(大きい配列)を引数として渡したいので、この方法だとうまくいきません

どうしたら大きい配列を渡すことができるでしょうか?

506nobodyさん:2005/05/17(火) 22:32:43 ID:???
10万バイトと言われると凄そうだが、たかだか100KB弱なんだな。。。
507nobodyさん:2005/05/17(火) 22:45:24 ID:???
>>505
どううまくいきませんか?
getのサイズ制限、urlで使えない文字 etc.
508nobodyさん:2005/05/17(火) 23:15:01 ID:???
セッションを使うか、serialize()を使うか、ダメならPOSTメソッドを使う
509505:2005/05/18(水) 00:20:12 ID:???
>>507
うまくいかないというか、サイズが不確定な配列をうまく渡す方法がわからないんです

>>508
serialize()を使う場合、どう記述すればいいでしょうか?

510nobodyさん:2005/05/18(水) 00:24:58 ID:???
EUCコードで書かれたCGIをShift_JISに変換ツール(秀丸など)で変換すると
エラーが出るのですが、いい方法ないですか?
511nobodyさん:2005/05/18(水) 01:12:05 ID:???
フリーでダウンロードできる掲示板を探しています

ほしい機能としては、
1.各携帯から見ることができる
2.RSSを出力できる

こういうものはありますかね?
もし知ってる方いらっしゃいましたらよろしくお願いします。
512nobodyさん:2005/05/18(水) 01:24:46 ID:???
>>509
graph.php?data=<?php echo serialize($array_data); ?>
--
$array_data = unserialize($_GET['data']);

>>510
Shift_JISだと気をつけないといけない事が多々あるのでEUCで書いてあるのでしょう。
Shift_JISで動くように気をつけて書き直すしかありません。
513nobodyさん:2005/05/18(水) 01:24:47 ID:???
>>511
幾らでもありますよw
とりあえずグーグルか何かで糞で見ようよ。
514nobodyさん:2005/05/18(水) 01:24:57 ID:???
2^9get
515nobodyさん:2005/05/18(水) 01:27:50 ID:???
Perlのx演算子に相当するものは何ですか?
516nobodyさん:2005/05/18(水) 01:33:05 ID:???
>>513
CGIではみつかったんですが、
PHPではみつからないんですよね・・・
もしよかったら教えていただけませんか?

検索ワードでも構わないのでよろしくお願いします
517nobodyさん:2005/05/18(水) 02:15:24 ID:???
>>516
ひんと
レッツ  


(大御所)
518nobodyさん:2005/05/18(水) 09:05:12 ID:???
>CGIではみつかったんですが、
>PHPではみつからないんですよね・・・
難解な文章だな
519nobodyさん:2005/05/18(水) 09:39:55 ID:???
判りやすく言うと、こういうことか?

日本ではみつかったが、
独島ではみつからない。
520nobodyさん:2005/05/18(水) 10:19:18 ID:???
面白いな
日本にあって大阪にないものなーんだ? 答え:安全
みたいなもんか
521nobodyさん:2005/05/18(水) 10:26:36 ID:???
サッカーにあって日本-北朝鮮戦にないものなーんだ?
みたいなもんか
522nobodyさん:2005/05/18(水) 12:20:29 ID:???
VBにあってASPに(ry
523nobodyさん:2005/05/18(水) 12:37:42 ID:6htWVmYW
フォームでテキストやコンボを入力後、submitして表示される確認画面で
ブラウザの戻るをクリックするとフォームの内容が消えてしまうのですが、
これが消えないようにHTML内で小細工できますでしょうか?
524nobodyさん:2005/05/18(水) 12:38:31 ID:kL0uKaiJ
perl の user Strict; みたいなのありませんか?
525nobodyさん:2005/05/18(水) 12:39:48 ID:???
use Strict; でした。
526nobodyさん:2005/05/18(水) 13:28:24 ID:???
>>523
フォーム画面のhttpリスポンスヘッダのキャッシュ関係を適切に設定する。
ってHTMLかぁ。<meta>である程度は制御できるんじゃないかな。
つーか消える(=鯖へ再リクエスト)ってのは、既になにかキャッシュ関係を操作しちゃってる気がするんだが。。
HTMLの話が続くようならweb制作板へ。

>>524
エラーの出力レベルをE_NOTICEを含むようにした時の挙動がそれに近いかな。
527nobodyさん:2005/05/18(水) 16:00:42 ID:???
ttp://www9.plala.or.jp/ulbperl/profile.html
ttp://php.s3.to/chat/ch.php(ソース ttp://php.s3.to/chat/ch.php.txt
の名前の所に組みこむ方法を教えてください≦(._.)≧
528nobodyさん:2005/05/18(水) 16:34:10 ID:???
>>527
チャット側の方に認証の仕組みを組み込む事になるから、結構めんどくさいと思われ。
自分でスクリプトを書けない人なら丸投げスレで頼めばやってくれる人がいるかも知れず
529nobodyさん:2005/05/18(水) 17:05:09 ID:???
>>528
ありがとうございます≦(._.)≧
丸投げスレでお願いしてみます(感謝)
530nobodyさん:2005/05/18(水) 17:49:23 ID:???
E_ALL
531nobodyさん:2005/05/18(水) 19:11:23 ID:???
$info['name'] = 'taro';
$str = '%db{name}';
$ret = preg_replace("/%db{(.*?)}/", $info[$1], $str);
printf("%s", $ret);
このような感じで「taro」と表示するのを期待しているのですがエラーが出てしまいます。
シングル、ダブルクォーテーションで囲っても期待通りの動作はしませんでした。
どのような方法を使えば「taro」と表示出来ますでしょうか。

それから
foreach (range(1,5) as $key) {
なんとか $i;
print ++$i;
}
print $i;
この結果が「11111」になるよう$iを局所変数にするような関数ってありますか?
532nobodyさん:2005/05/18(水) 20:58:09 ID:???
>>531
もっと基本的なとこからマニュアル読み直して、やり直してこい
533nobodyさん:2005/05/18(水) 23:41:05 ID:???
ttp://php365.com/bbs/forum.html
でログが現在MAX返信数で設定出来ますが、例えば1000などに設定した場合ログの容量が増えるたレスカウント、参照数をそのまま残して古いレスから消えるようにしたいでのです。
例)MAXログ保存数が例えば500に設定出来ましたら(例:レス300参照数1000などが複数あった場合レスカウントと参照数はそのまま生かして)ログ500未満の古いレスから消えていくという感じです。
ちなみにMySQLは使えないサーバーです。
お願いします<_o_>
534nobodyさん:2005/05/18(水) 23:47:51 ID:???
><_o_>
頭小せえな

参照数やレスカウントをどうやって取得してるのかが問題だ。
別ファイルで保存してんなら、古いデータが消えても
値をクリアししなけりゃいいんじゃないの?
535nobodyさん:2005/05/19(木) 00:18:12 ID:???
>>534
頭小さいです<_o_>

別ファイルで保存してます。
//ログの最大保存数
maxlog = 500
みたいに設定出来ればいいのですが。
やり方教えてください<(_ _)>
536nobodyさん:2005/05/19(木) 03:05:10 ID:HiH0MLZ7
PHPとPerlはどっちが、今時なの?
537nobodyさん:2005/05/19(木) 03:10:27 ID:???
どっちーも






ってPHSと携帯のやつ昔あったよな
538nobodyさん:2005/05/19(木) 12:01:38 ID:???
>>536
今、一番旬なのは、PHPコーディングの内部にPerl構文を埋め込む技術です。
539nobodyさん:2005/05/19(木) 12:22:48 ID:???
>>535
頭の大きさが戻った。

いやいやそーでなくて。
設定したって、反映する動作組まなきゃ意味ないだろ。
でもソースがわからなけりゃ、どこをどう改造するか特定できねえよ。
540nobodyさん:2005/05/19(木) 12:54:32 ID:???
>>536
両方とも6になるまで待て。
スクリプトエンジン統一するらしいから。
541nobodyさん:2005/05/19(木) 15:13:14 ID:JciC6cGi
FreeBSD5.4にPHP4.3.10をインストールし、
PostgreSQL7.4.7を連携を取るため、
phpizeoを実行しましたが、
acloacl: not found
と出てきます。
aclocalってなんですか?
また、インストールしなければならない場合の方法を教えてください。
542nobodyさん:2005/05/19(木) 15:20:23 ID:???
私だけだろうか・・・

isset($abc) || $abc = 1234;
ではなく
isset($abc) || = 1234;

という形にして欲しいのは-;
543nobodyさん:2005/05/19(木) 15:22:39 ID:???
>>539
ありがとうございます。・゚・(ノ∀`)・゚・。
ttp://php365.com/download.php?id=4の中のforum..phpです
お願いします<_o_>
544nobodyさん:2005/05/19(木) 15:37:32 ID:???
>>542
$abcがセットされていたら1234を代入する、ってことだよね。
オイラは || を論理演算以外に使う事自体が気持ち悪い。。
545nobodyさん:2005/05/19(木) 16:00:38 ID:???
工エエェェ(´д`)ェェエエ工
546nobodyさん:2005/05/19(木) 16:05:32 ID:???
>>541
autoconf の m4 マクロかなにかじゃない?
547nobodyさん:2005/05/19(木) 16:11:16 ID:???
gnuにある
548nobodyさん:2005/05/19(木) 16:12:51 ID:???
>>544
そうそう。それにPHP5だと以下の書き方は少し予想外の動作をするからなぁ。
isset($abc) || $abc = 1234;

if (!isset($abc)) $abc = 1234;でも良いけどわざわざ!を使うのも好きになれない-;。
どうせ型無し(厳密にはあるけど)言語なんだから初期化なんて気にしなくても良いんだろうけどね。
549軟式PHP:2005/05/19(木) 16:52:59 ID:???
別にどう書こうがかまわないがメンテしやすい方向でヨロシク。
550nobodyさん:2005/05/19(木) 17:11:35 ID:???
>>549
心配するな間違えてもあんたがメンテする事はない
551軟式PHP:2005/05/19(木) 17:21:33 ID:???
うむ
552nobodyさん:2005/05/19(木) 17:24:38 ID:???
これってPerlの人が良くやるけどなんで?
パフォーマンス?

個人的には人間が理解しやすくってセオリーを支持したい
553nobodyさん:2005/05/19(木) 17:35:03 ID:???
だいたい他人のスクリプトは見難い。
一連の流れだけ見て書き直した方が早いと想う事がある。

もしビジネスとかでやるのならその会社なり個人独自の関数があるだろうし、
そうそう汚く書けないでしょ。
554nobodyさん:2005/05/19(木) 17:42:13 ID:???
>>552
別にPerlの人だけじゃないでしょ。

PHPでよく見る形式だとor。

○○ or die

なんて良く見るでしょ。
やってる事と意味は同じ。
書き方が違うだけ。
555nobodyさん:2005/05/19(木) 17:49:11 ID:???
>>552
わしもそー思う。

短く書けば書くほどカコイイというのがPerlの文化で
もうそれはどうしようもないけど、PHPは逆の方向でひとつ。
556nobodyさん:2005/05/19(木) 17:53:16 ID:???
ttp://www.stackasterisk.jp/tech/program/perl04_01.jsp
>しかし、Perl の世界では、短絡演算子とわざわざ名前をつけ、
>一般的なテクニックとして使っています。

だそうです。
557sage:2005/05/19(木) 18:35:07 ID:hR7Hdele
XML-RPC実装ではまってるんですけど、お助けください。
metaWeblog.newPost APIでブログに投稿する場合、
「struct content /*content構造体 (記事情報)*/」
は、どのような形で生成すればよいでしょうか?

$struct = array( "title" => utf8_encode( $title ), "description" => utf8_encode( $description ) );
$content = new xmlrpcval( $struct, "struct" );

という形で生成して投稿すると、以下のWarning文が出力されます。
Warning: reset(): Passed variable is not an array or object in パス略\xmlrpc.inc on line 1687
Warning: Variable passed to each() is not an array or object in パス略\xmlrpc.inc on line 1688

一応投稿は成功しているのですが、要の連想配列の解析に失敗しているようなので、
タイトルと本文がない状態です。

すいません、アドバイスください。
558557:2005/05/19(木) 18:36:42 ID:???
sage間違えた・・・。
すんません。
559557:2005/05/19(木) 19:33:49 ID:???
自己解決しました。
1行目のarrayの中身も xmlrpcval を通すんですね。
560nobodyさん:2005/05/19(木) 19:55:53 ID:???
PHPってインクルードしたファイルから更にインクルードすると変な文字化けを
しませんか?。どう考えても文字コードの問題が見えないのに文字化けする
場所がある・・・。
561nobodyさん:2005/05/19(木) 20:37:36 ID:???
約1ヶ月放置した自分のプログラムを見ると鬱になって弄りたくなくなるんだけど
1年放置してもまた弄りたくなるためのプログラムセンスとか秘訣があったら教えてください
562nobodyさん:2005/05/19(木) 21:11:07 ID:???
1年放置したら一周回って楽しくないかね
563nobodyさん:2005/05/19(木) 21:16:19 ID:???
こんなやり方があったか!と感心したりすることもw
564nobodyさん:2005/05/19(木) 21:20:27 ID:???
>>561
鬱になる理由は?
565nobodyさん:2005/05/19(木) 21:29:58 ID:x+Iui2vH
お馬鹿な私に教えて下さい
ID:???←なんでこうなるのでしょう?
566nobodyさん:2005/05/19(木) 21:51:21 ID:???
─- 、::::;;;;;;;;;`゙゙''‐ 、    __,,,,......,,,,_/:::::::::/: !|   またまた ご冗談を
  . : : : : : : `゙'ヽ、:::゙ヾ´::::::::::::::::::::::`゙゙゙'''‐'、. l|
、、 . : : : : : : : : r'":::::::::::::::::::::::::,r':ぃ::::ヽ::::::::ヽ!                 ,、- 、
.ヽ:゙ヽ; : : : : : :ノ:::::::::::::::::::::;;、-、、゙:::     rー-:'、                /   }¬、
. \::゙、: : : :./::::::::::::::;、-''"::::::::::   ,...,:::,::., :::':、            _,,/,,  ,、.,/   }
   ヽ:ヽ、 /:::::::::::::::::::::::::     _  `゙''‐''"  __,,',,,,___       /~   ヾ::::ツ,、-/
     `ヽ、:::::::::;;;、、--‐‐'''''',,iニ-    _|  、-l、,},,   ̄""'''¬-, '  ''‐-、 .,ノ'゙,i';;;;ツ
   _,,,、-‐l'''"´:::::::'  ,、-'" ,.X,_,,、-v'"''゙''yr-ヽ / ゙゙'ヽ、,    ,.'      j゙,,, ´ 7
,、-''"    .l:::::::::::;、-''"  ,.-'  ゙、""ヾ'r-;;:l  冫、     ヽ、 /    __,,.ノ:::::ヽ. /
       l;、-'゙:   ,/      ゞ=‐'"~゙゙') ./. \    /  '''"/::::;:::;r-''‐ヽ
     ,、‐゙ ヽ:::::..,.r'゙         ,,. ,r/ ./    ヽ.   ,'     '、ノ''"   ノ
567nobodyさん:2005/05/20(金) 03:32:05 ID:49y750Em
便乗だけど、IDの後に
BE:249941568-###
とかってたまに出てるのが何か知りたい
568nobodyさん:2005/05/20(金) 03:42:19 ID:???
569nobodyさん:2005/05/20(金) 04:12:27 ID:vxAEd/3q
>>567
同一IPでの、複数ノード。
570nobodyさん:2005/05/20(金) 05:12:27 ID:rCvj+1uX
フォームから送信されたデータが空なら〜 を
if (!($_POST)) { 〜 }
としてみたらうまく動きません。ヘルプメ
571nobodyさん:2005/05/20(金) 06:19:27 ID:???
>>570
ttp://www.php.net/manual/ja/types.comparisons.php
この表より、$_POST['〜'] が長さ0の文字列の場合
if条件文の中で $_POST['〜'] はfalseとして評価される事が分かる。
また、配列$_POSTは常にfalseと評価される。
572nobodyさん:2005/05/20(金) 23:37:17 ID:p7xt4QDe
1から勉強してオークションをつくるのにどれぐらいかかりますか?
573nobodyさん:2005/05/21(土) 00:03:26 ID:F35tYXG6
flashを使ってtextを 読み込みたいのですが
flashでは同じフォルダにあるファイルしか読み込むことが出来ません
そこで phpを使って何とかならないでしょうか

他のサーバの htmlを 取得 textに変換後保存とか
出来るのでしょうか?
出来るのでしたらその方法教えて下さいませんか?
574nobodyさん:2005/05/21(土) 00:29:24 ID:nculEuMQ
htmlファイルをインポートして<html>や<meta>など余分な個所を削除し表示させたいのですが
参考になるソースやヒントを頂けないでしょうか
575nobodyさん:2005/05/21(土) 02:03:52 ID:???
>>572
1000年〜
>>573
ヒント:カウンター
>>574
マニュアル・文字列関数
576nobodyさん:2005/05/21(土) 03:15:19 ID:???
2chなどでhttp〜になっていると自動的にリンクがつきますが、これはどのように探せばよいのでしょうか?
577nobodyさん:2005/05/21(土) 03:36:39 ID:???
>576
正規表現でマッチしたら置換
578nobodyさん:2005/05/21(土) 07:33:24 ID:???
579nobodyさん:2005/05/21(土) 07:37:28 ID:???
質問させて頂きます
現在レンタルサーバを借りて、サイトを公開しているのですが
そこですこし、PHPを使って処理をしようと思いました
ですがわからないことがあったのでここで質問させていただきます

複数のディレクトリに渡って同じ画像を使いたいと思ったのですが
相対パスだとディレクトリ構成に変更があった際、調整が難しくなるので
その画像の位置を絶対パスで記そうと思いました、
ですが、それでもディレクトリ構成に変更があった際に全てのパスを変えなければならないので
あるファイルにそのパスを一括して書いておきそのファイルを読み込んで
そのファイルのパスのがぞうをとるということにしたいのですが
なかなかうまくいきません

私がためしてみたことは
/home/user/html/path.dat
と言うファイルに
<?php
define("imgpath", "/home/user/html/img/");
?>
と書いておき

その画像を使うPHPファイルの上で
<?php require("/home/user/html/path.dat"); ?>
で読み込み
<img src="<?php echo $imgpath; ?>"hoge.jpg >
としたのですが、うまくいきません
何処か間違っているのでしょうか?

もしほかに、このほうがいいよみたいなのがあればそれも教えていただけるとありがたいです
すいませんが、よろしくおねがいします
580nobodyさん:2005/05/21(土) 07:45:12 ID:???
>>579
<img src="<?php echo $imgpath; ?>"hoge.jpg >
の結果がどういう文字列になるかちょいっと考えてみませんか?
581579:2005/05/21(土) 07:46:37 ID:???
すいません
失礼しました、
<img src="<?php echo $imgpath; ?>hoge.jpg" >
のうち間違いです
もうしわけありません
582nobodyさん:2005/05/21(土) 07:59:23 ID:???
583nobodyさん:2005/05/21(土) 09:13:13 ID:???
サーバー上のルートパスとhttpdのドキュメントルートの違い
584583:2005/05/21(土) 09:20:03 ID:???
>>579へね
585nobodyさん:2005/05/21(土) 09:25:39 ID:???
鯖がApacheなら$_SERVER関数使ってゴニョゴニョする方が良いんじゃないかな?カナ?
586nobodyさん:2005/05/21(土) 10:01:18 ID:???
すごい関数ですね
587nobodyさん:2005/05/21(土) 10:32:07 ID:???
588nobodyさん:2005/05/21(土) 12:11:21 ID:???
<html><body>
aaaaaaaaaa
<!--あいうえお-->
bbbbbbbbbbbbb
ccccccccccccc
dddddddddddddddd
<!--かきくけこ-->
eeeeeeeeeeee
</body></html>

ファイルを読み込んで<!--あいうえお-->から<!--かきくけこ-->
までを読み込もうと思ってるのですが
<!--あいうえお-->以下はstrstrで切り取れたのですが
<!--かきくけこ-->より↑の切り取り方が解りませんorz
何か良い方法無いでしょうか?
589nobodyさん:2005/05/21(土) 12:20:11 ID:???
>>588
strposとsubstrの組み合わせとか。正規表現とか。
590588:2005/05/21(土) 12:49:45 ID:???
>>589
やはりそうなるのですか(´・ω・`)
ありがとう
591nobodyさん:2005/05/21(土) 13:46:26 ID:???
ぱれぐりぷれーす
592nobodyさん:2005/05/21(土) 13:47:20 ID:K/dchezA
間違えたorz
ぱれぐまっち
593nobodyさん:2005/05/21(土) 13:49:36 ID:???
preg_matchか?
594nobodyさん:2005/05/21(土) 14:10:08 ID:KdX50Oy9
ローカルで実行するとうまく機能するのに、サーバにあげると
致命的エラーがでます。

Fatal error: Call to undefined function: mb_convert_encoding() in
関数がサポートされていないんでしょうか、ちなみに契約サーバは
php4.3 利用している本はphp4.2.2です
もともと付属してたプログラムでためしてもやはりこれがでます。
完成したやつでためしているので、プログラム自体に問題はないのですが
どうすればなおるのでしょうか、おしえてください。おねがいします
595nobodyさん:2005/05/21(土) 14:36:58 ID:???
>>594
マニュアルのmb_* のページに、
「mbstringは拡張モジュールです。 configureスクリプトでモジュールを有効にする必要が あります。」とある。
言い換えれば、phpのインストールからやりなおせやゴルァ、って事になる。
鯖の設定を弄る権限が無さそうなので、jcode.php等の変換用のライブラリを使うのがよいと思われ。
596nobodyさん:2005/05/21(土) 15:17:38 ID:9r1mGjdL
レンタルCGIなどでスクリプトにIDを渡す場合、

http://***.com/?id

として渡す方法はわかるのですが、さらに『?』を無くして…

http://***.com/id

と渡したいときはどうすれば良いのでしょうか…
いくら探してもわかりません…お願いします。
597nobodyさん:2005/05/21(土) 15:27:55 ID:???
598nobodyさん:2005/05/21(土) 16:17:50 ID:???
PATH_INFO
599nobodyさん:2005/05/21(土) 18:26:55 ID:???
文字列をくっつけたいと思い
<?php
$hoge = "hoge";
$geho = sprintf("%sguho",$hoge);
echo $geho;
?>

としたのですが、"guho"と出力されるだけで連結されません
%sではないのでしょうか?
600nobodyさん:2005/05/21(土) 18:31:21 ID:???
>>599
うちでは希望通りに表示されたよ。
連結だけなら . (結合演算子)でもいいんじゃないかな。
601nobodyさん:2005/05/21(土) 18:36:48 ID:???
pathlist.phpに
$path = "/root/";
echo $path;

main.phpに
include("./pathlist.php");
echo $path;

と、記述しているのですが
pathlist.phpのechoは表示されるのですが
main.phpのechoは表示されません
読み込んだファイルの中で、作成した変数はローカル変数として扱われるのでしょうか?
それとも、わたしがおかしいのでしょう?

すいませんが、指摘のほどをよろしくお願いいたします
602nobodyさん:2005/05/21(土) 18:44:10 ID:???
>>601
残念ながら、これもまた希望通りに表示されてしまいました。
マニュアルのincludeのページにも説明がありますが、
main.php側でもpathlist.phpの$pathは有効な変数になるはずです。
603601:2005/05/21(土) 18:52:04 ID:???
>>602
ありがとうございます
私の環境ではどうしてもうまくいきません。
何か環境依存の関数がありそうなわけでもないですが、

一応、正確に書かせていただきますと
main.phpの
include("./pathlist.php");
と言う行は実際は
include("http://www.--/pathlist.php");
と言う風に、www上から読み込んでいます
wwwからの読み込みは
echoがうまくいっているので ちゃんと行われていると思います
604nobodyさん:2005/05/21(土) 19:15:50 ID:???
>>596
mod_rewriteとかでURLを書き換えるんだよ。
605nobodyさん
>>603
URL wrapperを経由する場合は、ローカルファイルをincludeする場合と違う挙動をします。
詳しくはマニュアルのincludeのページを参照してください。