トップページ⇒php
1001コメント334KB

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

レス数が1000を超えています。これ以上書き込みはできません。
0001nobodyさん2005/04/30(土) 00:12:53ID:OJfc9xBu
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/
0002nobodyさん2005/04/30(土) 00:13:34ID:???
2channel
0003nobodyさん2005/04/30(土) 01:16:44ID:???
3様
0004nobodyさん2005/04/30(土) 01:42:22ID:???
4ピル
0005nobodyさん2005/04/30(土) 01:47:17ID:???
ログファイルの中にある
http://xxx.com/http://hoge.com/http://abc.com/……
って(いくつあるか分からない)データを$linkっていう
変数に配列として収めるにはどうしたらよいですか?
list($link[]) = explode("http://" ,$linkdata);
の様にどんどん、配列に入ってくれるとうれしいのですが。
0006nobodyさん2005/04/30(土) 02:10:34ID:???
$link = explode…
でいいじゃねえか
0007nobodyさん2005/04/30(土) 02:34:49ID:???
>>6ありがとうございます……orz
0008nobodyさん2005/04/30(土) 08:42:20ID:???
PHPスクリプトをジャバスクリプトとしてhtml内に埋め込みたいです。

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


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

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

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

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

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

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

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

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

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

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

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

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

PHPとか以前に、HTMLやWebサーバがどういった仕組みになってるのか、
根本的な事がわかってないと思われる。
0025nobodyさん2005/04/30(土) 16:38:43ID:???
>>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自体を判別
 保存時に文字コードの指定できるエディタを使えばよい。つーか使え
0026nobodyさん2005/04/30(土) 17:10:15ID:wFBRT4U/
$i = 'あいうえおかきくけこ';
$iから始めの10バイトだけ読み込むにはどんな関数をつかえばいいでしょう?
fgets,freadではできませんでした
0027nobodyさん2005/04/30(土) 17:33:20ID:???
substr($i, 0, 10)
0028262005/04/30(土) 17:51:46ID:???
>>27
やっと先に進めます。
ありがとうございます。
0029nobodyさん2005/04/30(土) 18:17:46ID:???
フォームから入力された文字列が数字でない場合には false を返す、というのはどうすれば実現できるのでしょうか?

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

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

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

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

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

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

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

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

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

送信ボタンを押すと特定の情報が次のページに渡され確認表示、
また別のページに飛んでそこから送信ボタンを押すと情報(最初の情報と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の情報を「****,****,****」という形にしたいのです。
-------------------------------
0060nobodyさんNGNG
配列に入れてimplode()じゃだめなの?
0061nobodyさん2005/05/01(日) 23:28:40ID:???
>>59
ショッピングバスケットのようなものを作っているのかと予想してみる。
だとすると・・・・そのやり方、なんか違うと思うぞ。

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

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


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

ブログツール(php)を自前の鯖にインストールするのはいいんですが、
やめたい時ってアンインストールする必要あるんですか?
ただファイルを消すだけでOKですか?
0066nobodyさん2005/05/02(月) 21:25:22ID:???
インストールってのがスクリプトを置くだけだったら消すだけでいいと思うけど
データベースとか使ってるブログだったらデータベースもきちんと消そう
0067nobodyさん2005/05/02(月) 23:26:25ID: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で設定されたパス上に保存されているようです。
何が原因と考えられるでしょうか?
0068nobodyさん2005/05/03(火) 00:05:24ID:???
ヒント:tempファイルのパーミッション
0069nobodyさん2005/05/03(火) 00:17:01ID:???
bool session_start ( void )
〜(略)〜
この関数は常に TRUE を返します。
-> 読んでの通り。

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

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

$_SESSION['count'] = 0;

} else {

$_SESSION['count']++;

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

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で確認

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

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

$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のフォームを作ります。
0088852005/05/03(火) 16:48:48ID:???
続き
$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のボックスが空のまま表示されてしまうので
もしフォームの値が一個でも空白ならエラーを返したいと思っています。
0089852005/05/03(火) 17:22:11ID:???
自己解決しました。スレ汚し失礼しました。
0090nobodyさん2005/05/03(火) 17:44:16ID:/WYzL+U+
Cで言うatoi()はありますか?
"05"などという文字列を5という数値に変換したいのです。
0091852005/05/03(火) 17:46:29ID:???
>>89
人の名前騙ってんじゃねえ!ボケ!
009285(本物)2005/05/03(火) 18:02:48ID:???
>>89>>91
ちょっとあなたたち誰ですか?
0093852005/05/03(火) 18:20:32ID:???
このスレダメポ
0094nobodyさん2005/05/03(火) 18:41:31ID:???
すみません、ホントに申し訳ありませんが、どなたか>>90お願いします。
0095nobodyさん2005/05/03(火) 18:48:00ID:???
>>90
暗黙の型変換が行われるから、わざわざ自前でやる必要はないと思うけど。
あえてやるならintval
$a="05";
$b=$a + 100;
$c=intval($a) + 100;
echo $b;
echo "<BR>";
echo $c;
0096902005/05/03(火) 18:50:07ID:???
>>95
ありがとうございました。助かりました。
0097nobodyさん2005/05/03(火) 20:59:50ID:???
http://cgi38.plala.or.jp/flash100/Accesslog.cgi
こういうヤツの作り方ってどうやるんですかね?
0098nobodyさん2005/05/03(火) 21:29:36ID:???
マルチさんお疲れさん
0099nobodyさん2005/05/03(火) 22:03:24ID:XdSRtjaM
ttp://ZR164007.ppp.dion.ne.jp/
っうはっwwwwwwwうぇwwwおkwwwwwwwwwwww
wwwwwwwwwwwwwwおkwww
っおkっうぇwwwwwwwwwwwwwwwwうはっ
wwwwwwwwwwwうはっっうはっwwwwwwwwww
0100nobodyさん2005/05/04(水) 00:49:38ID:???
>>97
こんなんすぐ作れるぞ!
$_SERVER変数とか使え。
0101nobodyさん2005/05/04(水) 01:43:31ID:4XtCwxJF
ひとつのページに
include(1)
include(2)

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

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

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

取得したdb_resultオブジェクトの内容をprint_rにて除いてみたのですが、
そういった情報は無いようでした。
0106nobodyさんNGNG
2chのCGIのソース キボン...
read.cgi & bbs.cgi よろしく。

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

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

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

$totalをfor〜より前で表示させたいんですけど、
どうすればよいでしょうか?
0118nobodyさん2005/05/05(木) 07:41:24ID:???
もう一度参考書なりマニュアルなりを読み直した方が・・・
0119nobodyさん2005/05/05(木) 07:52:10ID: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 |
となって、途中から配列に入らないのですが、どうしたら良いのでしょうか。
0120nobodyさん2005/05/05(木) 08:32:49ID:???
>>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>"; だけでいい希ガス
01211192005/05/05(木) 08:33:10ID:???
自己解決しました。

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

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

実際にApache2で使った場合、どうなんでしょか?
0128nobodyさん2005/05/05(木) 11:37:05ID:???
疑問になったので質問です。
クラス内の変数をさまざまな表現で表示したい時は
「表示させる関数を用意する」と
「表示させるクラスを用意する」、どちらが一般的なのでしょうか。
もし使い分ける、などならメリットとデメリットも教えて頂きたいです。
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>";
}
}
0129nobodyさん2005/05/05(木) 11:42:30ID:???
下のは気持ち悪すぎる
0130nobodyさん2005/05/05(木) 11:52:52ID:???
具体的に何をしたいのか分からないけど、
とりあえず、そのサンプルに上げてるようなことしたいなら、
普通にHTMLのタグくっつけて書いた方が楽じゃないか?
融通も利くし。
0131nobodyさん2005/05/05(木) 13:28:27ID:???
global $text; なのがキモイんだと思われ
0132nobodyさん2005/05/05(木) 14:39:08ID:???
>128
俺ならクラス内にメソッドを追加する。つまり前者。

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

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

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

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

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

アウトの時は、処理を中断してif構文の中から抜けている感じ。
もしくはページを読み込みなおしてるみたい。
一体なんですかね?
0144nobodyさん2005/05/07(土) 06:21:21ID:???
エスパーきぼんぬですか?
01451432005/05/07(土) 06:43:19ID:???
フォームから入力させる
↓
入力文字がアドレス(xxx@xx)か否かをチェック
・ここで分岐
 A:アドレス / B:アドレスじゃない

Aだとおかしくなって、Bでも条件によっておかしくなる
Bでおかしい時にも、挙動はAとおなじようになる
わけわからん。でも、エスパーだったら分かるのかな?
0146nobodyさん2005/05/07(土) 06:49:47ID:???
その条件文晒した方が早いんでない?
01471432005/05/07(土) 07:12:54ID:???
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がアウトってありえないよ。
0148nobodyさん2005/05/07(土) 08:08:54ID:zpgwMbY/
http://YahooBB218124060027.bbtec.net/
おkwwwっうぇっっwwwwwwwおkwwwwwwwww
wwwwwwwwwwww
っうぇwwwwうぇwww
wwwwwwwwwwwwwwwwwwwwwwww
0149nobodyさん2005/05/07(土) 08:25:34ID:kMJPLXnh
http://ZV195024.ppp.dion.ne.jp/
wwwwwwwwwwwwっうぇおkwwwおkwww
wwwwwwwwwwwwwwwwwwっうぇw
うぇwww
おkwww
wwwwwwうぇwwwwwwwww
01501372005/05/07(土) 08:52:25ID:???
>>138
上手く説明できずに申し訳ありません。

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

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

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

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

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

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

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

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

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

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

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

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

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

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);
}
0163nobodyさん2005/05/07(土) 11:37:46ID:9P63H0Em
http://ZE206204.ppp.dion.ne.jp/

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

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

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

>>167
そういった呼び出し方法をしてるアプロダもありました。
ただ、IPアドレスを一時的に保存してというのは考えついたのですが、
大容量のZIPなどをDLしたとき、途中でキャンセルすれば、
別のファイルがDLできました。
DL時にIPアドレスの情報を取得できますが、
キャンセル時にその情報は取得できないと思いますので、
リアルタイムに接続状況を把握しているのだと判断しました。
0169nobodyさん2005/05/07(土) 13:08:51ID: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
0170nobodyさん2005/05/07(土) 13:30:39ID:???
>>168
昔似たようなものを実装するときに面倒だったのでダウンロードだけポートを変えて
netstatの結果を使った事ある。もっと便利な方法ありそうだけど。

>>169
$replace_buf = mb_ereg_replace("[ぁ-んァ-ヶ]","@","$buf");
これに差し替えてみてはどうか?
0171nobodyさん2005/05/07(土) 13:36:36ID:???
実行されているページのURLを取得するにはどうすればよろしいでしょう?
(パラメータは不要)
SERVER_PROTOCOL、SERVER_NAME、PATH_INFO、SCRIPT_NAMEを
組み合わせるしかないでしょうか?
0172nobodyさん2005/05/07(土) 14:02:01ID:???
>>171
$_SERVER["SCRIPT_URI"]
パラメータが必要ないのであれば
?以降を削除するというのはいかがか。
0173nobodyさん2005/05/07(土) 14:09:58ID:???
>>172 ありがとうございます。
さっそく試してみましたが、SCRIPT_URIそのものが存在しないみたいです。
(var_dump($_SERVER)で確認しました)
PHPのバージョンorWEBサーバーによるんでしょうか。
PHP5.0.3、IIS5.1です。
0174nobodyさん2005/05/07(土) 14:20:36ID:???
>>173
WEBサーバの出力結果が$_SERVERに入るだけだから
IISだと駄目みたいだね。
0175nobodyさん2005/05/07(土) 15:33:27ID: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が展開されません。
どのようにすれば望んでいる結果が得られますでしょうか?よろしくおねがいします。
01761692005/05/07(土) 15:52:54ID:???
>>170
$replace_buf = mb_ereg_replace("[ぁ-んァ-ヶ]","@","$buf");

でうまくできました。
アドバイスありがとうございました。
0177nobodyさん2005/05/07(土) 16:50:00ID:???
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);
}
とする
0178nobodyさん2005/05/07(土) 17:25:23ID:???
フレームワークについて雑談レベルで・・・

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

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

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

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

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

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

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

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

return substr(base64_encode(md5($ip.$rand)),0,8);
}
0210nobodyさん2005/05/08(日) 12:43:52ID:???
これ貼るの3回目だけど
ttp://multix.jp/html/memo/030525.html#0003
0211nobodyさん2005/05/08(日) 16:10:59ID:???
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を書いてあるのでそのまま取り入れたいのですが、
どうすればできますか。よろしくお願いいたします。
0212nobodyさん2005/05/08(日) 17:10:41ID:???
何がうまくいかないの?
パースエラー?
500?
何も出力されない?
0213nobodyさん2005/05/08(日) 17:31:54ID:???
fputsするとか、CLIでphp foo.php > foo.htmlとかやる以外に、HTMLをファイルに出力する方法何か無いですかね?
0214nobodyさん2005/05/08(日) 18:07:13ID:???
配布されているスクリプトの多くは一つのphpファイルにたくさんの機能が入ってますが、
使う側が使いやすい為でしょうか?
 例えば掲示板なら閲覧するスクリプト、書き込むスクリプト、管理用のスクリプトなどわかれていたほうが
一つのファイルにアクセスが集中しないし、後から編集するのにも見やすいと思うのですが一つのファイルに
多数の昨日を入れるのにはどのようなメリットがあるのでしょうか?
0215nobodyさん2005/05/08(日) 19:39:50ID:???
>>214
掲示板程度だと、1ファイルにまとめても、特に問題無いからじゃない?
といっても、複数ファイルに分けてもソースの可読性やらメンテナンスが楽ってだけで、
使う側のメリットってのは全く無い。
0216nobodyさん2005/05/08(日) 19:51:37ID:???
ニュー速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
02172112005/05/08(日) 20:19:09ID:???
>>212

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

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

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

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

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

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

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

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






っといってみつテスト




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

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


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

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

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

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

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

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

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

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

echo $comment[$num];

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

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

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

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

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

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

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

また、mojaviについて日本語で詳しく書かれている書籍などはあるのでしょうか?
大きな書店(池袋のジュンク堂など)を結構見て回ったのですが、ありませんでした。
0261nobodyさん2005/05/10(火) 11:35:20ID:???
まぁ恐らくだと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']?>
0262nobodyさん2005/05/10(火) 11:36:28ID:???
訂正
<?=$_POST['text_area']?> => <?=$_POST['test_area']?>
0263nobodyさん2005/05/10(火) 11:52:45ID:???
関数の戻り値は一つしか指定できないんですか?
0264nobodyさん2005/05/10(火) 11:59:41ID:???
>>263
YES
0265nobodyさん2005/05/10(火) 12:02:10ID:???
関数側で配列で返してlistで受け取る、とかかな。
0266nobodyさん2005/05/10(火) 12:15:40ID:???
>>264-265
�dクス!
一つ限定なら265の通り工夫します。
0267nobodyさん2005/05/10(火) 12:49:14ID:???
>>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] =>
)
となります。
0268nobodyさん2005/05/10(火) 13:38:07ID:???
>>266
配列にするってのも手だけど、何のために参照渡しがあるのか考えてみよう。
0269nobodyさん2005/05/10(火) 13:40:41ID:???
>>267

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

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

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

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

例えば、
/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が読込まれるようにするには、どうしたら良いでつか?

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

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


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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

$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は参照渡し(書き方は違うが渡し方は完璧に一緒)
で合ってるでしょうか?
0336nobodyさん2005/05/13(金) 23:40:07ID:aoWOUNW7
PHPで、外部のサーバにあるシェルを実行することはできますか。
TELNETか何かでログインできれば可能な気がするのですが。

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

たとえば「http://hoge.com/?引数」ならいいけど、
「http://hoge.com/引数」だと最後にスラッシュが足されて
「http://hoge.com/引数/(index.htm)」って感じになるよね。
0382nobodyさん2005/05/15(日) 08:27:34ID:???
>>381
http://hoge.com/で呼び出されるindex.htmlを
.htaccessでindex.phpに指定する。
index.phpでPATH_INFOを取得し、URL以降部分を
引数として処理すればいい。
0383nobodyさん2005/05/15(日) 09:58:55ID:???
>>380
PHP5とPHP4ではオブジェクト指向の書き方が違う
まあネットで検索したときの情報量はPHP4の方が多いけど
迷うなら4の方が無難
0384nobodyさん2005/05/15(日) 12:06:12ID:???
C#やJavaをやったことがあるなら5の方がやりやすいかも
0385nobodyさん2005/05/15(日) 12:13:59ID:???
Cはまだ経験がありません。
0386nobodyさん2005/05/15(日) 12:34:05ID:???
C++なら経験済みです
0387nobodyさん2005/05/15(日) 12:54:17ID:???
C++は見たことも無いけどPHPを触ってしまいますた
ごめんなさい
0388nobodyさん2005/05/15(日) 14:51:14ID:???
積極的ねッ♪
0389nobodyさん2005/05/15(日) 15:02:44ID:???
昨日、初めてCを体験しました。
隣の浮江お姉さんが優しく教えてくれました。
0390nobodyさん2005/05/15(日) 19:17:15ID: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つのセッションを保持できるのでしょうか?
0391nobodyさん2005/05/15(日) 19:24:38ID:???
セッションとクッキーは違います
03923902005/05/15(日) 19:56:40ID:SkLBQSTL
>>391
僕の勉強不足でした orz
えーと、ということはセッション(session_start())で、複数のスクリプトで
$_SESSION['test']の変数を2種類使い分けるのは無理ということですか?
0393nobodyさん2005/05/15(日) 20:17:01ID:???
php.iniにそういう設定なかったっけ
複数のスクリプトの間で引き継ぐか、引き継がないか
0394nobodyさん2005/05/15(日) 20:23:43ID:???
セッションIDを2個持ったユーザ(ブラウザ)を作りたいってこと?
そういうのはしたことないけど、多分標準のセッション関数じゃ出来ないんじゃないの。
1つのセッションを名前で分けて使うか($_SESSION['sess1'][test] $_SESSION['sess2'][test)、
pearのライブラリにそういうのがないか探すか、自前でセッションを実装するか。
0395nobodyさん2005/05/15(日) 22:14:41ID:???
ime.nuみたいにhttp://hoge.com/hoge2.com/で
"hoge2.com/"を得るためにPATH_INFOでやってみましたが
index.phpで取得しようとすると↓のように"/"を余分につけないと取得できません
http://hoge.com//hoge2.com/

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

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

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


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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

こんなとこで時間つぶしてる暇に、やることあるだろ。
0443nobodyさん2005/05/16(月) 19:20:19ID:???
みんなマトモな人だな。
おまけにイイ奴だ。
0444nobodyさん2005/05/16(月) 23:33:53ID:???
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";
?>

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

で出来ましたなんか文字化けしてますが・・
0447nobodyさん2005/05/16(月) 23:45:09ID:???
2バイト文字がグチャグチャになってしまっていますがこれはどうしたらいいのでしょうか。
というかやはり表示結果を取得したほうが楽そうですね・・。
0448nobodyさん2005/05/16(月) 23:53:07ID:???
mb_internal_encoding , mb_http_input mb_http_output
等を変えてみるなど。
0449nobodyさん2005/05/17(火) 00:27:04ID:???
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
と怒られます。
なにかセットで定義する必要があるのでしょうか。
0450nobodyさん2005/05/17(火) 00:38:40ID:???
> Notice: Use of undefined constant shift_jis - assumed 'shift_jis'
注意: 未定義の定数 shift_jis が使われています。'shift_jis' だと想定します。
mb_internal_encodingの引数は、文字列 あるいは 定義済みの定数。
0451nobodyさん2005/05/17(火) 00:45:53ID:???
mb_internal_encoding( "SJIS" )
0452nobodyさん2005/05/17(火) 00:59:34ID:???
450-451さん
ありがとうございます

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

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

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

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

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

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

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

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


}

}

PHPに限ったことではないのですが、ループが2重になる時、
内側のインクリメント変数はなんて名前にするのがいいですか?
0462軟式PHP2005/05/17(火) 11:42:59ID:???
重複しない名前
0463nobodyさん2005/05/17(火) 11:48:34ID:???
$i $j $k $l …という順番で使うオイラはFortran世代。
最近、老眼で $i $j $l の区別がつきにくい…
マジな話をすると、それぞれのループには意味があるだろうから
外側のループも $i にこだわらず、意味のある名前にしたら?
04644612005/05/17(火) 11:51:38ID:???
特にセオリーがある訳ではないんですね。
ありがとうございました。
0465nobodyさん2005/05/17(火) 12:04:08ID:???
fortranだと暗黙の型が、
I, J, K, L, M, N で始まる変数 -> 整数型
A〜H, O〜Z で始まる変数 -> 実数型
になるってやつだね。
ttp://www.hatena.ne.jp/1086523013 あたりに似たような話題が出ていたので参考にどうぞ。
0466nobodyさん2005/05/17(火) 12:23:25ID:???
俺はPHPが初めてだったから数学でよく使ってたi、n、mが多い。
でも3重のループ構造なんて作ったこと無いからnまでだな。
0467nobodyさん2005/05/17(火) 12:50:18ID:???
>>465
20年やって初めて知った
ベーマガにも書いてないトリビアだ
0468nobodyさん2005/05/17(火) 13:00:55ID:???
昔、雑誌に載ってたBASICのプログラムが
for i = 0 to 9 : for j = 1 to 100
みたいな感じだったから今でもループカウンタは i j だ
0469nobodyさん2005/05/17(火) 13:34:27ID: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を使うのかと思うんだけどいまいち理解できません。
よろしくお願いします。
0470nobodyさん2005/05/17(火) 14:17:22ID:???
>>469
preg_match使えば
04714702005/05/17(火) 14:20:01ID:???
preg_match + str_replace
か
preg_replace_callback + function
0472nobodyさん2005/05/17(火) 14:48:23ID:???
PHPで、クライアントとは関係ないHTTP通信を行いたいのですが、
どのメソッドを使えばよいでしょうか?

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

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

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

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

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

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

「ぬるぽ」

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

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

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

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

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

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

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

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

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

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

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

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

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

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


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

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

>>524
エラーの出力レベルをE_NOTICEを含むようにした時の挙動がそれに近いかな。
0527nobodyさん2005/05/18(水) 16:00:42ID:???
ttp://www9.plala.or.jp/ulbperl/profile.html
をttp://php.s3.to/chat/ch.php(ソース ttp://php.s3.to/chat/ch.php.txt)
の名前の所に組みこむ方法を教えてください≦(._.)≧
0528nobodyさん2005/05/18(水) 16:34:10ID:???
>>527
チャット側の方に認証の仕組みを組み込む事になるから、結構めんどくさいと思われ。
自分でスクリプトを書けない人なら丸投げスレで頼めばやってくれる人がいるかも知れず
0529nobodyさん2005/05/18(水) 17:05:09ID:???
>>528
ありがとうございます≦(._.)≧
丸投げスレでお願いしてみます(感謝)
0530nobodyさん2005/05/18(水) 17:49:23ID:???
E_ALL
0531nobodyさん2005/05/18(水) 19:11:23ID:???
$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を局所変数にするような関数ってありますか?
0532nobodyさん2005/05/18(水) 20:58:09ID:???
>>531
もっと基本的なとこからマニュアル読み直して、やり直してこい
0533nobodyさん2005/05/18(水) 23:41:05ID:???
ttp://php365.com/bbs/forum.html
でログが現在MAX返信数で設定出来ますが、例えば1000などに設定した場合ログの容量が増えるたレスカウント、参照数をそのまま残して古いレスから消えるようにしたいでのです。
例)MAXログ保存数が例えば500に設定出来ましたら(例:レス300参照数1000などが複数あった場合レスカウントと参照数はそのまま生かして)ログ500未満の古いレスから消えていくという感じです。
ちなみにMySQLは使えないサーバーです。
お願いします<_o_>
0534nobodyさん2005/05/18(水) 23:47:51ID:???
><_o_>
頭小せえな

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

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






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

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

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

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

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

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

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

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

○○ or die

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

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

だそうです。
0557sage2005/05/19(木) 18:35:07ID: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

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

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

他のサーバの htmlを 取得 textに変換後保存とか
出来るのでしょうか?
出来るのでしたらその方法教えて下さいませんか?
0574nobodyさん2005/05/21(土) 00:29:24ID:nculEuMQ
htmlファイルをインポートして<html>や<meta>など余分な個所を削除し表示させたいのですが
参考になるソースやヒントを頂けないでしょうか
0575nobodyさん2005/05/21(土) 02:03:52ID:???
>>572
1000年〜
>>573
ヒント:カウンター
>>574
マニュアル・文字列関数
0576nobodyさん2005/05/21(土) 03:15:19ID:???
2chなどでhttp〜になっていると自動的にリンクがつきますが、これはどのように探せばよいのでしょうか?
0577nobodyさん2005/05/21(土) 03:36:39ID:???
>576
正規表現でマッチしたら置換
0578nobodyさん2005/05/21(土) 07:33:24ID:???
>>574
> htmlファイルをインポート
ttp://jp.php.net/manual/ja/function.file-get-contents.php
> <html>や<meta>など余分な個所を削除
ttp://jp.php.net/manual/ja/function.strip-tags.php
> 表示
ttp://jp.php.net/manual/ja/function.echo.php
0579nobodyさん2005/05/21(土) 07:37:28ID:???
質問させて頂きます
現在レンタルサーバを借りて、サイトを公開しているのですが
そこですこし、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 >
としたのですが、うまくいきません
何処か間違っているのでしょうか?

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

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

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

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

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

http://***.com/id

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

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

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

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

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

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

すいませんが、どのようなことがおかしいのか
説明していただけないでしょうか?
0607nobodyさん2005/05/21(土) 20:17:50ID:???
<?php
$str = '123ま147府ahf依田ま950まf';
print mb_ereg_replace('ま', '糞', $str);
?>
これで ま→糞 になるはずですが、そのまま$strが出力されてしまいます。どこが間違っていますか?
Apache2.053 + PHP5.03
0608nobodyさん2005/05/21(土) 20:34:10ID:???
>>606
> 読み込まれたリモートファイル(ローカルファイルの場合も同様)の出力が、
> 有効なPHPの開始/ 終了タグを有していない限り、
> リモートファイルを読み込む際に値を 取得することはできません
(例)
pathlist.php
$path = '<? $path="/root/"; ?>';
echo $path;
--
main.php
include("http://〜/pathlist.php");
echo $path;
0609nobodyさん2005/05/21(土) 20:50:54ID:???
aaaって文字をbbbに置換するにはどうすればよいのですか?
06106012005/05/21(土) 20:51:44ID:???
ありがとうございます

$path = '<? $path="/root/"; ?>';
と言う意味が、理解できないのですが

echo '<? $path="/root/"; ?>';
で、解決できそうです

ありがとうございました
0611nobodyさん2005/05/21(土) 23:14:10ID:???
>>609
マニュアル嫁。
strtr
0612nobodyさん2005/05/21(土) 23:15:20ID:w+2rTsEC
私も>>601さんのようなことをしてみたいのですが
うまくいきません
リモートのpath.phpに、
<?php
$rootpath = '<? $rootpath="/"; ?>';
?>
ローカルのmenu.phpに、
<?php
include('http://www.〜/path.php');
?>
として、読み出そうとしたのですが
Warning: Failed opening 'http://www.〜/path.php' for inclusion (include_path='') in c:\www\menu.php on line 2
といわれてしまいうまくいきません
これはなにがわるいのでしょうか?
0613nobodyさん2005/05/21(土) 23:30:23ID:???
>>612
同じエラーを出すためには、menu.phpのinclude先ファイルを存在しないものにするか、
php.iniのallow_url_fopen = Offにするかしないと無理でした。
その場合も原因が推測できるようなwarningが他にも出てましたけど、その辺りはどうですか?
また、path.phpは <?php 〜 ?>が含まれる文字を出力しないと意味無いっす。
0614nobodyさん2005/05/21(土) 23:38:42ID:w+2rTsEC
>>613
ありがとうございます
allow_url_fopenはOnになっています
他のエラーは表示されません
echo '<?php $rootpath = "/"; ?>';
にしたのですが、これも同じエラーでした
0615nobodyさん2005/05/22(日) 10:17:41ID:84t3TsAE
うちのプロバイダはPHP非対応ということで、PHPの勉強はあきらめてたんですが、
このたびノートパソコンを買ったのでサーバにでもしようかと思っております。
自分の鯖上でならPHP動いてくれますか?
やっぱりプロバイダが非対応ならその下の自家製鯖も動作不可能ですか?
原理すらわかってないアホですが教えてエロいひと。
0616nobodyさん2005/05/22(日) 10:38:55ID:???
>>615
鯖に PHP をインスコすれば動く。
0617nobodyさん2005/05/22(日) 10:39:39ID:???
>>615
MySQLとかの本で、PHPとMySQLとApacheを一緒に解説した本があるから、
(CDROM付)それを見るとか。

0618nobodyさん2005/05/22(日) 10:48:46ID:???
すいません、crontabの設定内容を、ブラウザから
phpスクリプト経由で書き換えることって出来ますか??

crontab書き換えスクリプトを用意しておいてブラウザでそれにアクセスして、
たとえば「毎日0時にhoge.phpを起動する」となっているのを
「毎日0¥5時にhoge.phpを起動する」と書き換える・・・みたいなことがやりたいのですが。。
06196182005/05/22(日) 10:49:55ID:???
あ、最後の一行がおかしくなってますた。

× 毎日0¥5時に
○ 毎日5時に
0620nobodyさん2005/05/22(日) 11:34:30ID:???
>>618
そういう質問をしてるってことは作成し始めてから何か問題に遭遇して困ってるってことだよね?
痛くしないから言ってごらん。
0621nobodyさん2005/05/22(日) 11:35:11ID:???
>>618
つ[system]
0622nobodyさん2005/05/22(日) 14:19:51ID:???
>>614
まずはhttp://www.〜/path.phpにブラウザで
アクセスするとどう表示されるか確認してみたら?

0623nobodyさん2005/05/22(日) 16:02:21ID:???
cronのユーザとApacheの実行ユーザが同じである必要があるね。
0624nobodyさん2005/05/22(日) 17:54:06ID:???
多次元配列の重複を削除したいんですが、
array_uniqueは使えないようです。
自分で関数作る以外に何か方法はあるんでしょうか?
0625nobodyさん2005/05/22(日) 21:37:33ID:???
デザインの部分を分離するのに最も良い方法ってなんでしょう
06266182005/05/22(日) 22:06:06ID:???
>>620
まだ問題は起きてません。と言うか、問題が起きる以前に
crontabの書き換え方法自体が分からないので困ってます。
ちなみに今はXREA使ってますが、XREAではコンパネからcronジョブの
起動間隔を指定することは出来ますが、>>618で書いたようなスクリプトからの
制御はできないと思います。なので、スクリプトからのcrontabの書き換えが技術的に可能なら、
専用サーバーでもいいから借りようかな、と思っております。

>>621
ありがとうございます。でも、ちょっと意味がよく分かりません。

>>623
ご教授ありがとうございます。UNIXやLinuxについてあまり知識が無いのですが、
おっしゃるように「実行ユーザが同じ」であれば、ブラウザからphpスクリプト経由で
crontabの内容を書き換え可能…ということなのでしょうか??

全体的に厨な質問ですみません。
0627nobodyさん2005/05/23(月) 02:16:13ID:9dlfXMc9
本に載っていたサンプルをそのまま試してみたのですがエラーがでます。
いったいどこが間違っているのかわかりません。
どなたか教えていただけないでしょうか?
<?php
$hour = date('H');
if(3<= $hour <10){
$greeting = 'おはようございます。';
}
else if (10<= $hour <18){
$greeting = 'こんにちは。';
}
else {
$greeting = 'こんばんは。';
}

echo $greeting."現在の時刻は".date('H時i分s秒')."です";
?>
0628nobodyさん2005/05/23(月) 02:45:40ID:???
エラーの種類によります
0629nobodyさん2005/05/23(月) 03:10:10ID:???
>>626
UNIXユーザそれぞれは自身のcron設定ファイルを持っていて、それを編集することによってcronで処理する内容を変えることが出来る。
だから、PHPスクリプトを実行するユーザ(つまりWEBサーバを起動しているユーザ)を例えばユーザnobodyとすると、PHPで編集できるのはnobodyのcron設定ファイルだけ。
これ以上はサーバの仕様に依存するけど、レンタルサーバなんかだったら、業者から割り当てられたユーザでPHPスクリプトが実行されるようなWEBサーバでなければ、cronをPHPから編集するのは無理だと思う。
また、仮にそういうWEBサーバだったとしても、cron設定ファイルを編集できるかは分からない。特別なコマンドを使わないとダメなOSもあるだろうし。
ただ、業者がレンタルサーバ用に特別なcron設定ファイルを用意している可能性もあるし、なんともいえないけどね。業者に聞いたほうがいい。
0630nobodyさん2005/05/23(月) 03:17:25ID:???
>>628
Fatal error: PDFlib error: [2602] PDF_set_info: Code page '932' not supported in
って出てます。
06316182005/05/23(月) 03:45:43ID:???
>>629
丁寧な解説ありがとうございます!
おぼろげですが全体像がつかめてきました。

cronジョブそのもの(.shファイル)は自分で作成してアップするわけですから
当然スクリプトからの内容書き換えも簡単なので、crontabの設定ファイルも
同じように簡単にアクセスできる(たとえばFTPでもアクセス可な場所に置いてある…みたいな)のかと
思っておりましたが、どうやら難しそうな感じですね。

とりあえず出来そうなレンタルサーバーを探してそこに質問するか、
それでも無理そうなら自宅にサーバー立てる努力をしてみようかと思います。
0632nobodyさん2005/05/23(月) 04:07:24ID:???
>>626
ttp://www.linux.or.jp/JM/html/cron/man5/crontab.5.html
06336182005/05/23(月) 06:06:39ID:???
>>632
ありがとうございます。crontabについてよく分かりました。
自分でもいろいろググってみた結果、条件さえ合えば、自分のやろうとしてることは
技術的には出来るようです(XREAでは無理そうですが)。

その場合は、phpのsystem関数でcrontabを実行して(実行できる??)、
書き換えたい内容をいったんtxtファイルとかで吐き出したものを
読み込ませればいい、ということでしょうか?
(↑もしかしたら全く見当違いなことを言ってるかもしれませんが…)
0634nobodyさん2005/05/23(月) 06:17:56ID:???
>>633
crontabに設定したい内容を適当なファイル(例 /tmp/nullpo)に作成する。
内容はこんな感じ(一口にUNIXと言っても書式が微妙に異なることがあるので注意)。
 0 5 * * * 実行したいファイル

作成したファイルをsystem関数でcronに喰わせる。
 system ('crontab実行ファイルのパス/crontab /tmp/nullpo');

0635nobodyさん2005/05/23(月) 07:58:48ID:???
>>627
if(3<= $hour <10)
こんな本は捨てたほうがいいよ
0636nobodyさん2005/05/23(月) 08:00:50ID:???
戻るボタンを押すと、「サーバーが見つかりません」となって、表示されません。
その状態で更新すると、ページの内容は表示されるのですが
タイトルが「サーバーが見つかりません」のままでした。

戻るボタンを使ってもページが表示されるようにするためには、どう対処すればよいのですか?
06376182005/05/23(月) 08:03:53ID:???
>>634
自分の頭の中では漠然としたイメージしかありませんでしたが、
おかげさまで具体的なイメージが分かりました! 本当にありがとうございます。

あとはそれ(cronに喰わせる)を実行できる権限があるかどうかの問題だけですよね?
rootとかnobodyとかいう辺りについてはまだほとんど理解してませんが、もうちょっと調べてみます。

ちなみにそのnobodyかどうかは、どうやって調べられるのでしょうか?
phpinfoを試してみましたが、それらしき項目は見つかりませんでした。
(↑また見当違いなこと言ってるかもしれません・・・)
0638nobodyさん2005/05/23(月) 09:22:21ID:???
>>637
つ[ls -l]
06396182005/05/23(月) 09:27:33ID:???
>>638
あざ〜っす!!!(少し変化をつけてみました)

それはUNIXのコマンドでしょうか? UNIXについてはほとんど知らないので、
調べてみようかと思います。まずは「シェルとは」をググります・・・(utu
0640nobodyさん2005/05/23(月) 09:39:17ID:???
SESSIONなんですが

session_nameで、セッション名を設定する場合は、session_startをcallするまえに
設定しろとあります。
$dummy = session_name( "hogehoge" );
session_start( );
っちゅうことだと思います。

が、実際には、
session_start( );
$dummy = session_name( "hogehoge" );
としないと、セッション名が変更されません。

どして?
0641nobodyさん2005/05/23(月) 10:33:20ID:YeS0S9K1
php 4.3 です。
php の CUI なプログラムを作っています(php コマンドから自作スクリ
プトを呼び出すだけ)。
この場合、コーディングミスなどによる実行中の fatal なエラーを自作
スクリプト内でキャッチしたいのですが、何か方法はありますでしょうか。
夜間バッチで動かすので、エラーが発生した時にメールとか飛ばしたいの
です。
0642nobodyさん2005/05/23(月) 11:22:23ID:???
>641
マニュアルの「エラー処理およびログ記録関数」を参照するといいよ
0643nobodyさん2005/05/23(月) 11:30:42ID:YeS0S9K1
>>642
ありがとうございます。丁度見ていて試していたところでした。
しかし、うまく行かないのです。
以下のように、存在しない abcdef() 関数をコールして fatal
なエラーが発生したときに自作のエラーハンドラー(errHandler())
を起動させるようにしたいのですが、どうも駄目です。どうしたら
よいでしょうか。もしおわかりであれば是非お教え頂きたいのですが
よろしいでしょうか。

<?php
function errHandler($errno, $errstr, $errfile, $errline){
print "ERROR!!!\n";
}
$old_error_handler = set_error_handler("errHandler");
abcdef($ab);

?>

0644nobodyさん2005/05/23(月) 11:37:41ID:???
>>640
そんなことは無い
お前の気のせいだ
<?php
session_name("session");
session_start();
echo SID ;
?>
0645nobodyさん2005/05/23(月) 11:46:18ID:???
>>643
そういった機能が使いたいのはわかるけど、
>以下のように、存在しない abcdef() 関数をコールして fatal
とか馬鹿だろ。

ちゃんとテストもしない事が前提か?
それに心配なら、function_existsとか使えばいいじゃん・・・
0646nobodyさん2005/05/23(月) 11:51:00ID:YeS0S9K1
>>645
ありがとうございます。別に undefined function じゃなくても
よくて、とにかく完全に予期しない fatal なエラーをキャッチし
たいのです。例えば何者かにスクリプトを改竄された場合とか、
オペミスとかで変な文字が入ったとかで php を実行した場合に
fatal なエラーが発生したとします。
そういうエラーをキャッチしたいのです。
何か方法ないでしょうか。
0647nobodyさん2005/05/23(月) 12:39:02ID:???
>>646
まずは set_error_handler を使ってどう駄目だったのかを晒してくれ
06486432005/05/23(月) 12:47:37ID:YeS0S9K1
>>647 ありがとうございます。

643に書いたコードをphpコマンドで実行しても、「ERROR!!!」という
文字列は出力されず、phpからの以下のエラーが出力されます。

PHP Fatal error: Call to undefined function: abcdef() in errtest.php on line 6
Fatal error: Call to undefined function: abcdef() in errtest.php on line 6
0649nobodyさん2005/05/23(月) 13:20:44ID:???
フォームでメニューを使ってるのですが
このメニューで選ばれた値毎に
ログに書き込む内容を変更する場合に
値毎にif文を書かなければダメなのでしょうか?

<select name="select">
<option value="hoge1" selected>hoge1</option>
<option value="hoge2">hoge2</option>
<option value="hoge3">hoge3</option>
</select>

if ($_POST[select] == 'hoge1'){
$dat = "aaaa";
}
elseif ($_POST[select] == 'hoge2'){
$dat = "bbb";
}
elseif ($_POST[select] == 'hoge3'){
$dat = "ccc";
}
else{
$dat "ddd";
}
現在こんな感じです
0650nobodyさん2005/05/23(月) 13:23:11ID:???
選択した値を書き込むようにすればいいのでは。
0651nobodyさん2005/05/23(月) 13:28:10ID:???
>>649
値によって処理内容を変えたいわけだから、なんらかの分岐処理が必要になるんだけどなぁ。何が不満なのかしらん。。
ifの代わりにswitchを使うとか。
value=1..n にしておいて、$data = $array_dat[$_POST['select']]; とか。
0652nobodyさん2005/05/23(月) 13:30:44ID:???
>>627
その本ね、サンプルコードの何でよ?と思うような間違いがかなり多い。
走らしてチェックしてないんじゃないかな。
全体の構成や解説は悪くないのに非常につまらないところで品質を下げてる。

PHP関連の書籍(但しPHP出版系お断り)
http://pc8.2ch.net/test/read.cgi/php/985315574/l10
0653nobodyさん2005/05/23(月) 13:32:03ID:???
select値と$datの紐付けを、予めDB化しておくか、
数が少なければ、スクリプトの先頭でハッシュ化してしまえば?
$dat['hoge1'] = 'aaaa';
$dat['hoge2'] = 'bbbb';
$dat['hoge3'] = 'cccc';
$dat['hoge4'] = 'dddd';

echo $dat[$_POST['select']];
0654nobodyさん2005/05/23(月) 13:53:10ID:???
>>650
選択した値を書き込むのではなく別の値を書き込みたいのです
中途半端に書いて申し訳けございません(´・ω・`)

>>651
何かいい方法があるのかな?と思いまして(´・ω・`)
switch今見てきました便利そうですね

>>653
そういう方法があるのですか・・・・
検討してみます(´・ω・`)

答えてくださった方有難うございました
0655nobodyさん2005/05/23(月) 14:46:52ID:???
>643
ちょっと前にメーリングリストにもあったけど、Fatal errorの場合ダメなんだよねえ。
エラーログに記録して確認するしかないのかも知れません。
06566432005/05/23(月) 14:57:35ID:???
>>655
どうもありがとうございます。そうなんですか。。
エラーログってのは 2> でリダイレクトして検査するってことですよね。
ちょっと検討してみます。
0657nobodyさん2005/05/23(月) 19:25:09ID:???
あのですな
postで送信した情報をstripslashes($_POST['aaa'])で¥を取り除いてから
データベースに入れて取り出すと文字が化けるんですけどなんでですか?
エロイ人教えてください
0658nobodyさん2005/05/23(月) 19:47:33ID:???
>>657
データベースに入れる前に既に化けてるような希ガス。
送信された情報がシフトJISで、2バイト目に \ が来る漢字("表" 等)から
\ が削除されて化けてるのでは?
外してたらスマソ。

0659軟式PHP2005/05/23(月) 19:49:05ID:???
>>657
俺もそんな気がするなぁ。SQL直で叩いてテーブルの中身みれんの?
化けてたら入れる前に化けてる。化けてなければ表示の際に化けてる。
0660nobodyさん2005/05/23(月) 20:05:06ID:???
mysql_escape_string()
0661nobodyさん2005/05/23(月) 20:06:50ID:???
それと、DB/テーブルの文字コードと合わせるのも常識。
mysqli (MySQL 4.1) とかPostgreSQLならクライアント側の文字コードを指定もできるけど。
06626572005/05/23(月) 20:07:28ID:???
拾ったデータをstripslashesで処理してから表示すると化ける
化けたままデタベスに入れて表示すると化ける
stripslashes処理しないで表示するとOK
デタベスに入れて表示するとバケル
なぜに
06636572005/05/23(月) 20:09:22ID:???
>>660
ありがとうです
0664nobodyさん2005/05/23(月) 20:13:19ID:???
get_magic_quotes_gpc()
06656572005/05/23(月) 20:13:52ID:???
664
それはしっとります
ありがとうです
06666572005/05/23(月) 20:21:25ID:???
mysql_escape_string()つけたら漢字の後ろに\マークがついたけど
そのままデタベスに突っ込んで引っ張って表示させたら問題ありませんですた
0667nobodyさん2005/05/23(月) 21:21:46ID:???
>>649の質問したいことは、つまり、
スクリプト側のフォーム値受け取りルーチン(&変数)を汎用化しておいて、
フォーム側のnameやvalueをどのように変更しても
スクリプトをいちいち改造しないで済むようにしたい・・・ってことでは??

もしそうだとしたら、KentWebさんのフォームとかがそうだよね。(あれはPerlだけど)
フォームを自分で自由に改造しても、スクリプト側がちゃんと受け取ってくれてる。
違ってたらスマソ。->>649
0668nobodyさん2005/05/24(火) 04:35:14ID:QRDQ1Fdh
>>667
>653で終了済だ。蛇足すると

//配列を定義
$array=array("hoge1"=>"aaaa","hoge2"=>"bbb","hoge3"=>"ccc");
//送信フォーム
echo "<select name=\"select\">";
foreach($array as $key => $value){echo "<option value=\"$key\">$key";}
echo "</select>";
//結果を取得
$dat=$array[$_POST["select"]]; //または
$dat=(isset($array[$_POST["select"]]))?$array[$_POST["select"]]:"ddd"; //dddには成り得ないけど>649の仕様

配列定義を別ファイルか何かにしておいて送信フォームと送信先の両方で読み込んでやれば、
選択肢を増やしたり変えたい時に、設定ファイルの配列を編集するだけでイイ(・∀・)
0669nobodyさん2005/05/24(火) 12:40:14ID:7fZn4wl2
質問です。

cgiの掲示板をjavaスクリプトと併用させて、生IPからアクセス規制をさせる事ってのは
理屈的に可能ですか?
cgiで環境変数を規制しても、匿名串だと素通りするだろうし。
0670nobodyさん2005/05/24(火) 12:45:30ID:???
cgiで環境変数のほかに生IPも規制すればいいのでは
0671nobodyさん2005/05/24(火) 12:48:47ID:???
     曰
     | |   ∧_∧     / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
    ノ__丶(〃´Д`)_ < うぃ〜、生IPってなんすか?
     ||日||/    .| ¢、 \__________
  _ ||本||| |  .    ̄丶.)
  \ ||酒||L二⊃ . ̄ ̄\
  ||\`~~´  (<二:彡) \
  ||\|| ̄ ̄ ̄ ̄ ̄ ̄ ̄|| ̄
   .  || ̄ ̄ ̄ ̄ ̄ ̄ ̄||
0672nobodyさん2005/05/24(火) 13:05:34ID:E/H71Uk/
ホームページ代わりに使える良いブログ教えてクレる?アサブロ ブログ人
作ったが殆ど誰も見ないんだわね。ヤフーは見るの多いんだが商売に使えんので。
有料なら何でも良いの?
0673nobodyさん2005/05/24(火) 13:07:17ID:???
>>672
ブログ板
0674nobodyさん2005/05/24(火) 15:11:01ID:???
>>668
まだ勘違いしてるみたいだけど、
>設定ファイルの配列を編集するだけ
・・・って、それさえもやらないで済む汎用的な方法を尋ねてるんだと思うよ。
つまりスクリプト内で扱う配列のキーに具体的なnameを使わない、ってことだろうな。

実際、KentWebのフォームメールはフォームHTMLをどう変更しようが、
スクリプト側は一切編集する必要がないしな。
0675nobodyさん2005/05/24(火) 16:26:27ID:???
$abc = "<?echo 123;?>";という感じで""で囲まれた中に<?などが含まれている場合は
問題ないのでしょうか?。何となくエラーになりそうな感じがしたのですが文字列として
認識しているらしく普通に処理されましたー;。&lt;&amp;とか変換しておくべき
でしょうか?。
0676nobodyさん2005/05/24(火) 16:46:02ID:???
>>675
とりあえず、お前日本人じゃないな。
それは(つ´∀`)つ
一般的に、まともに構文解析してればエラーにならないよ。
当然PHPもまともに構文解析してるわけで。

ついでに、&lt;&amp;は<&だぞ。
0677nobodyさん2005/05/24(火) 17:29:07ID:???
お勧めのPHPのサイトってありませんか?
データベースと連携して何かやってるのが理想です。

なんで皆さんに聞くかというと、有名所のPHPのサイトって、
データベース関連、排他制御とかロックとか殆どしてないんですよね。
しかも、そんな配布スクリプトが堂々と色々な所で使われてて、正直怖いんですが・・・
0678nobodyさん2005/05/24(火) 17:35:56ID:???
>>675
PHPの中の人が見ているスクリプトの世界。
対象のスクリプトをtarget.phpとした場合、
<?php
$source = file_get_contents("target.php");
$tokens = token_get_all($source);
foreach($tokens as $token){
 if(is_string($token)){
  print $token;
 }else{
  print token_name($token[0])." : ".$token[1];
 }
 print "\n---\n";
}

T_CONSTANT_ENCAPSED_STRING : "<?echo 123;?>" となって、1つの文字列リテラルになっていることが分かる。
0679nobodyさん2005/05/24(火) 17:55:29ID:???
>>677
自分で作ればいいじゃん。
06806772005/05/24(火) 18:01:05ID:???
>>679
自分で作ればいいとは、サイトをですか?

とりあえずは、新人教育の為に手ごろなHPを探していたのですが・・・
0681nobodyさん2005/05/24(火) 18:07:26ID:???
そろそろ677もPHP(や利用者)のために何か役立つ事をしても良い頃だね。
がんがれ
06826772005/05/24(火) 18:09:55ID:???
>>681
そうだね。

研修落ち着いたら少しずつ書くかな。
0683nobodyさん2005/05/24(火) 18:12:20ID:???
>>680
ん?自分でスクリプト書けばいいじゃん。
新人教育?つう事はプロ?
今まで作ってきたプロとしてのスクリプトを教材にすればいいじゃん。
06846772005/05/24(火) 19:40:18ID:???
>>683
普段の業務しながらだから、自分で研修用にそこまでやってる時間は無く、
今まで作ってきたものを理解させるには、その仕事の仕様まで説明しないといけないから、
教材としてはイマイチなのです。
0685nobodyさん2005/05/24(火) 20:29:31ID:???
なんか、>>436の奴を思い出しちまった。
最近、こういうの流行ってるのか?
0686nobodyさん2005/05/24(火) 20:35:16ID:???
流行るっつーか、ここに堂々と聞きに来る時点で違和感あるんだよな
時代の流れか
0687nobodyさん2005/05/24(火) 20:41:07ID:???
こいつらプロなんだよなぁ…
日曜プログラマのおじさん(私)が教えてあげるって構図は良いんだろうが…
0688nobodyさん2005/05/24(火) 20:41:28ID:???
はいはいじじぃ乙
0689nobodyさん2005/05/24(火) 20:42:33ID:???
あーかぶったけど687のことじゃないから。
06906772005/05/24(火) 20:46:01ID:???
>>687
プロですけど、新人は人によってプログラムも知らないような人間です。

日曜プログラマでも理解できないような知識を行き成りつけろと言われても無理です。
プロとは言いますが、教育をするという点に関してはプロではありません。

そこで、日曜プログラマが多い、レベルの低い方でもある程度理解出来るようなものを
期待している訳です。

しかしながら、そういった人たちが良く見るような有名所のサイトでは、
動けばいいや的なものが多く、最初から難しい知識を教えるのはどうかと考えつつも、
最初にこういった問題のあるサイトを教材として使うのはどうしたものかと。

つまり、日曜プログラマの方でも理解でき、ある程度知識をつけた方で、
同じような疑問(今回は排他制御など)を持ち、勉強したときに参考にしたサイトを
教えて下さいというわけです。

現状、新人教育など無視して仕事したい状況であります。
時間さえあれば、こんな質問はいたしません。
06916872005/05/24(火) 20:51:36ID:???
>>690
あのさ…、わかってないみたいだけど…

俺が、君に、教える話をしてるの。別に、君んとこの新人さんなんてどうでも良いの。
プロってのは、君の事を指して言ってるの。

新人教育のプロではない???何言い訳言ってるの?
どの企業でも教育なんてやるわ、新人教育なんて無視して仕事したい???
あふぉか。お前さんの上司は、おまえさんが新人をどう扱うかってのも評価してるんだよ。

あぁ、おっさんは、むかついてきたぞ。うがーうがーうがー!!!
0692軟式PHP2005/05/24(火) 20:53:05ID:???
プログラム知らないような人間にいきなりトランザクションや排他処理を教えても「はぁ」程度しか分からないんだから、
とりあえず何か作る事を覚えさせたほうがいいんでは?
そんでそれとなく使えるようになってきたら、その時にSQLインジェクションとかクロスサイトスクリプティングの脆弱性とか
プログラムを作る時に気をつける事を教えて、そして上であげたものを教えていけばいいと思うんだが。
0693nobodyさん2005/05/24(火) 20:58:48ID:???
かえって、その新人とやらに同情したくなってきた
06946772005/05/24(火) 21:14:18ID:???
>>692
こちらも、新人相手にプログラムだけ教えてる訳じゃないんです。

新人に、秋の情報処理試験を合格させるようにもしています。
既に試験を受けた方はご存知でしょうが、DBについての問題も普通に出てきます。
特に排他制御などは定番です。

実際に知識や図などでは既に教えたものですが、
知識で覚えただけよりも実際に使って身をもって体験した方が
試験についても業務につうても有益です。

>とりあえず何か作る事を覚えさせたほうがいいんでは?
これは勿論分かっています。
しかし、それとこれは別問題です。
何も作らせていない訳じゃないです。

まぁ、一番困ってるのは知識も無い人間が遊び半分で作ったスクリプトを
堂々と自慢げに公開している事です。
新人達も実際の業務になれば、こういったサイトを参考にしてプログラムを書くこともあるでしょう。
正直、百害あって一利無しという状態です。
0695軟式PHP2005/05/24(火) 21:18:32ID:???
情報処理試験って・・・。試験に出てくるような2相コミットとか必要な業務ならなお更
キチンとチミが教育しないといけないんじゃないの?忙しいってかまけてる場合ではない。
0696nobodyさん2005/05/24(火) 21:21:44ID:???
> まぁ、一番困ってるのは知識も無い人間が遊び半分で作ったスクリプトを
> 堂々と自慢げに公開している事です。
困ってるのはお前だけだ。
0697nobodyさん2005/05/24(火) 21:22:01ID:???
>>677=>>690にものすごくムカついた人、手を挙げて〜〜〜〜♪

なんなんだよ、コイツ! 偉そうなこと言っておきながら、全て他力本願。
そんなに文句ばっかり言うなら自分で教材作ればいいのにな。
しかも「自分でやる時間はない」だの「研修なんかやりたくない」だの、
自分の都合ばっかり主張してる。奇跡のバカだな、こいつ。
0698nobodyさん2005/05/24(火) 21:22:22ID:???
>>694
君がアフォなの。趣味人が趣味で書いたスクリプトに何期待してるわけ?
つか、いくら出すんだ?金額によっては教育してやるぜ、おまえさん込みで。
0699nobodyさん2005/05/24(火) 21:26:28ID:???
>>694
まぁ、一番困ってるのは自分では何の努力もしないクレクレ君が
堂々と自慢げに他人(のスクリプト)にケチをつけている事です。
新人達もこういうバカな上司がいる職場では、プログラムを学ぶ気も失せるでしょう。
正直、百害あって一利無しという人間です。
0700nobodyさん2005/05/24(火) 21:29:18ID:???
おまえら落ち着け
スレを荒らすな
0701nobodyさん2005/05/24(火) 21:29:39ID:???
>>690
>プロとは言いますが、教育をするという点に関してはプロではありません。

プロレベルの教材を望むなら、まず金を払えバカ。
一般人の趣味のサイトを参考にしてタダで教材にしちゃおうって魂胆からして
まずお前のプロ意識がゼロである。したがって、プロ根性ゼロのお前が
新人たちを「プロ」に育てあげることは原理的に不可能である。
0702nobodyさん2005/05/24(火) 21:30:50ID:???
自作自演するな
0703nobodyさん2005/05/24(火) 21:30:51ID:???
>>697
(・-・)ノシ
0704軟式PHP2005/05/24(火) 21:34:03ID:???
てか、2chに書き込んでる暇があったら「排他制御」を教える時間にまわしたほうが良いのでは。
これ以上荒れてもアレなんで退散します。
0705nobodyさん2005/05/24(火) 21:38:10ID:???
いつになったら「釣れた(w」っていうの?
0706nobodyさん2005/05/24(火) 21:44:05ID:???
釣れた(w
07076772005/05/24(火) 21:46:22ID:???
何か荒れてるみたいですが、最初の書き込み以外、私では無いです。
0708nobodyさん2005/05/24(火) 21:54:42ID:???
>>707
その最初の書き込み>>677自体が非難を浴びている事を判らないと(ry
0709nobodyさん2005/05/24(火) 21:55:49ID:???
釣れた(w
0710nobodyさん2005/05/24(火) 22:12:39ID:???
>>707
お前・・・・、真性か・・・・。
0711nobodyさん2005/05/24(火) 22:15:39ID:???
       _,,:-ー''" ̄ ̄ ̄ `ヽ、
     ,r'"           `ヽ.
 __,,::r'7" ::.              ヽ_
 ゙l  |  ::              ゙) 7
  | ヽ`l ::              /ノ )
 .| ヾミ,l _;;-==ェ;、   ,,,,,,,,,,,,,,,_ ヒ-彡|
  〉"l,_l "-ー:ェェヮ;::)  f';;_-ェェ-ニ ゙レr-{   / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
  | ヽ"::::   ̄´.::;i,  i ` ̄    r';' }   | 久々にワロタ
 . ゙N l ::.  ....:;イ;:'  l 、     ,l,フ ノ   | こういう釣り師が沢山いたのが
 . |_i"ヽ;:...:::/ ゙=-=´`ヽ.  /i l"  < 昔のくだ質スレなんだよな 今の新参は
   .| ::゙l  ::´~===' '===''` ,il" .|'".    | 昔のくだ質スレを知らないから困る
    .{  ::| 、 :: `::=====::" , il   |     \________
   /ト、 :|. ゙l;:        ,i' ,l' ノト、
 / .| \ゝ、゙l;:      ,,/;;,ノ;r'" :| \
'"   |   `-、`'ー--─'";;-'"   ,|   \_
0712nobodyさん2005/05/24(火) 22:33:10ID:???
>677はプロ意識のかけらもないクソであるが、最良のエサであることはわかった。
0713nobodyさん2005/05/24(火) 22:39:08ID:???
見習いたいものだな
0714nobodyさん2005/05/25(水) 00:50:40ID:???
すみません、POSTに絡む文字化け問題で悩んでおります。

フォームからPOSTされた「名前・フリガナ・メアド」をMySQLに入れて、
あとついでにそのメアドと自分宛にメールを送る・・・というスクリプトを組んだのですが、
ある人がPOSTした際に自分宛てに来たメールが文字化けしてました。
MySQLに格納されたデータをphpMyAdminで確認したところ、名前は正常に入ってますが
どうやらフリガナのところでおかしくなっているようです(「泙弔箸紊・/td>」となっている)。
メールも文字化け、DBに格納したデータも文字化け、ということで、
POSTされた時点で何か問題がありそうです。

フリガナのところなので半角カナが怪しいのですが、でもしっかり
スクリプト側では $furigana = mb_convert_kana ($furigana, 'KVS'); としてあるのです。

他にどんな原因が考えられるでしょうか??
ちなみにPOSTするための投稿フォームはEUC、スクリプトもEUCで書いています。
0715nobodyさん2005/05/25(水) 00:54:25ID:???
>>714
追記ですが、メールの文字化けは、日本語の部分が全て「???」になり、
半角英数字でPOSTされた部分は全く文字化けしていませんでした。
0716nobodyさん2005/05/25(水) 00:56:16ID:???
???はunicodeぽいが、
半角カナの文字化けがmb_convert_kana で対処できると思ってたら甘いよ
0717everybody2005/05/25(水) 01:04:21ID:???
>>716
> 半角カナの文字化けがmb_convert_kana で対処できると思ってたら甘い

なして?
0718nobodyさん2005/05/25(水) 01:05:20ID:???
mb_convert_kana()は3番目の引数に文字エンコーディングを指定できるから
そこもちゃんと指定してみよう
もし文字化けした半角カナ文字が名前から推定できるなら、
入力テストを試してみて、POSTされた段階で文字化けしているのか、
mb_convert_kana()の段階で文字化けしてるのか
DBに記録されたときに文字化けしているのかもう一度自分でチェックしてみよう
07197142005/05/25(水) 01:21:07ID:???
>>718
ご指摘ありがとうございます。
フリガナは推測できたので、自分でも入力テストをしてみましたが、
全く文字化けしません。その他、文字化けの原因になりそうな文字(\/$%&;*'"などなど)を
入れてみたりしていますが、全然問題ありません。

今まで100人以上にそのフォームから投稿してもらいましたが、
このようになったのは初めてです。原因も分からず途方に暮れます・・・
0720nobodyさん2005/05/25(水) 01:27:18ID:???
半角カナが文字化けするのは、文字コードの判定を間違うから
その文字化けした人の送った文字コードを調べてみては
甘いっていうのはそういうこと
0721nobodyさん2005/05/25(水) 01:34:32ID:???
>ちなみにPOSTするための投稿フォームはEUC、スクリプトもEUCで書いています。
にもかかわらずSJISでフォームを送ってくるブラウザってことかもね
半角カナの文字列はEUCと判定されるケースが多いし
07227142005/05/25(水) 01:37:29ID:???
>>720
ありがとうございます。
文字化けした人の文字コードを調べたいのですが、
こちらに残っている記録(メールやDBデータ)が既に化けている状態で
調べることは出来るのでしょうか?

ちなみにメールについてはいろいろなエンコードで表示させてみましたが、
どれでも文字化けしてしまいます。

メールの件名や差出人も化けています。
件の「フリガナ」はメールの本文中にしか使っていませんが、
「名前」は件名にも差し込むようにしています。
ということは、その件名が化けているということは、「フリガナ」ではなく
「名前」の時点で既に問題がある可能性が高くなりました。

しかし>>714で書きましたように、phpMyAdmin(もちろんEUCで表示)で確認すると
「名前」は正しく表示されます。「フリガナ」以降からおかしくなっています。
そう考えると、一番アヤシイ可能性は、フォームの「名前」の欄で
名前を入力した「後」(つまり、「フリガナ」の前)に、
何かマズイ文字列を入力されちゃった・・・ということかもしれません。

しかしその肝心の「マズイ文字列」が特定できず、エラーを再現できず困っております。
0723nobodyさん2005/05/25(水) 01:38:43ID:k3VUWIvk
http://www.motenai.net/cgi-bin/banana/banana.cgi
0724nobodyさん2005/05/25(水) 05:14:31ID:ogiKvRXl
>>674
> ・・・って、それさえもやらないで済む汎用的な方法を尋ねてるんだと思うよ。

確かにKentWebのそれは便利かもしれないけど
>649のどこを読んでそれを求めてると判断したのさ?
おれにはフォーム送信先でのif文を効率化したいって話にしか見えないんだけど
0725nobodyさん2005/05/25(水) 08:01:42ID:???
>>722
JIS  SJIS EUC  Uni  字
5E24 9FA2 DEA4 6CD9 泙
4424 92A2 C4A4 5F14 弔
4824 94A2 C8A4 7BB8 箸
6524 E343 E5A4 7D0A 紊

2444 82C2 A4C4 3064 つ
2448 82C6 A4C8 3068 と
2465 82E3 A4E5 3085 ゅ
なので、「つとゅ」かなぁと。(1byteづつずれたと仮定)

名前の読みがフリガナだと期待できるなら、フリガナに入力されるだろう文字が分かるから、
その文字から元のフリガナ入力の文字コードも推定できて、
上記の事と鯖の設定やスクリプトの処理内容を考え合わせれば原因が分かるんじゃないかなぁ。
07267142005/05/25(水) 08:42:43ID:???
>>725
とても詳しい解説ありがとうございます!!!
あなたの書き込みを見て、少し光が見えてきました。

「つ」「と」「ゅ」は、いずれも推測されるフリガナに含まれている文字です。
それら3つの文字の前後にも文字があるはずなので、何文字分か脱落しているという
感じですね。もう少し調べてみます。
07275732005/05/25(水) 09:53:37ID:???
>>575

ヒントだけではわかりませんでした
具体的にどうするんでしょうか^^;
0728nobodyさん2005/05/25(水) 11:03:47ID:???
>>727
Flashからreadhtml.php?url=www.yahoo.co.jpで読み出す
readhtml.phpで
<?php
header("Content-type: text/plain");
echo 'text='.file_get_contents('http://'.$_GET['url']);
?>
0729nobodyさん2005/05/25(水) 11:04:19ID:???
あぁ、神よ・・・こんな事をしてしまう愚かな私をお許しください・・・。

list($a,$b,$c,$d,$e) = array_map('trim',array($a,$b,$c,$d,$e));
0730nobodyさん2005/05/25(水) 12:32:45ID:???
>>729
許す
0731nobodyさん2005/05/25(水) 12:41:37ID:???
>>730 は神
0732nobodyさん2005/05/25(水) 16:53:16ID:???
メガファクトリー.comの鯖を借りたんですが
mb_send_mailが使えませぬ
使えるかどうかってphpinfo();とか見たらわかりますか?
0733nobodyさん2005/05/25(水) 17:07:05ID:???
mb無しのやつはどうなの
07347322005/05/25(水) 17:07:24ID:???
localの値が
sendmail_from no value
sendmail_path -t -i
だったぽ使えないなショボーン
07357322005/05/25(水) 17:09:58ID:???
mail($to,$sub,$body,$head)のですか?
これは実行したらエラーがでますたよ
0736nobodyさん2005/05/25(水) 17:26:47ID:???
>>734
それじゃmb_send_mailどころかmailも使えないじゃないか
0737nobodyさん2005/05/25(水) 17:57:26ID:???
質問です。
ABC.phpというファイルの中に、function XYZ() で関数「XYZ」を作っておいたとします。
ちなみにA.phpのファイルサイズは10kbだとします。

次に、require_once("ABC.php")で「ABC.inc」読み込んで、その後「XYZ()」 を利用したとします。
このときの、転送量はどうなっているのでしょうか。
requireで既に読み込んでいるので、その後 関数XYZ() を使う時には、
すでにキャッシュに入っている(?) XYZ()を取り出して使っている で合ってますか?

逆に、毎回ABC.phpに接続して、その中で XYZ() を呼び出すという行為をするならば、
ABC.phpを毎回取得しているということで、上の例に比べて転送量は増えるってことですか?

あと、プロフェッショナルな方々は、作った関数全部をinclude用のファイルに詰め込んでおいたりするのでしょうか。
0738nobodyさん2005/05/25(水) 18:12:07ID:???
>>737
転送量というのが、レンタルサーバでよくあるようなネットワークの転送量制限の話だとしたら、
(ローカルのファイルに対して)requireやincludeしても一切関係ありません。
0739nobodyさん2005/05/25(水) 18:13:32ID:???
>>737
>ABC.phpを毎回取得しているということで、上の例に比べて転送量は増えるってことですか?

ABC.phpがA.phpとは違うサーバにあればね。

>作った関数全部をinclude用のファイルに詰め込んでおいたりするのでしょうか。

プロフェッショナルではないけど、汎用の自作関数は、利用目的別にまとめてる。
時間関連だったら、time.phps DB関連だったら、db_util.phps とか。
0740nobodyさん2005/05/25(水) 18:15:09ID:???
エラー内容も書かないし、釣りだろ
0741nobodyさん2005/05/25(水) 20:25:18ID:???
>>738-739
サーバーの転送量制限が気になってたもので・・ スッキリしました。
汎用性のある自作関数はまだ少ないですが、コードを見やすくするためにも、もっと精進します。
どうもありがとうございました
07427272005/05/25(水) 23:07:27ID:???
>>728

出来ました
どうもありがとうございました
この恩は忘れません
0743nobodyさん2005/05/26(木) 01:34:16ID:???
w
0744nobodyさん2005/05/26(木) 01:34:22ID:???
PHP関連書籍のスレッドが1000まじかで消えちゃったので
誰か立ててくれませんか?PHPを学び始めたので見てたのですが消えてしまったので。
スレたてできないのでどこで依頼すべきか悩んで結局ここに来ました。お願いします。
0745nobodyさん2005/05/26(木) 09:08:50ID:???
>>744
立てた
PHP関連の書籍(但しPHP出版系お断り)第2版
http://pc8.2ch.net/test/read.cgi/php/1117066073/
0746nobodyさん2005/05/26(木) 14:25:37ID:???
zipファイルにパスワードをかける方法を教えてください
0747nobodyさん2005/05/26(木) 14:27:51ID:jXL9UD+H
バータ!
グルド!
ジース!
リクーム!
(あと一人は忘れた)



5人揃って、ギニュー特選隊!!!!
0748nobodyさん2005/05/26(木) 14:30:55ID:???
ドドリア?
0749nobodyさん2005/05/26(木) 14:31:21ID:???
>>747
釣りだよね・・・

『ギニュー』特選隊!!!!

といっていて1人忘れたってw
0750nobodyさん2005/05/26(木) 16:14:25ID:???
PHPプログラムがメモリへロードされる時、コメントアウトしている部分も
ロードされているんでしょうか?
例えば、コメントの部分が5MB分あって実際のプログラムは3行で終わってしまう場合、
実際に実行されるのは3行分のみだけどメモリは5MB以上消費するんでしょうか?
0751nobodyさん2005/05/26(木) 16:16:27ID:???
>>750
コメントかどうか判断するのに、読み込んでみないと分からない。
つまり、コメントだろうがなんだろうが読み込まれる。
0752nobodyさん2005/05/26(木) 16:19:52ID:???
>>751
なるほど、やっぱりそうですか。
ありがとうございます。
0753nobodyさん2005/05/26(木) 16:25:02ID:pGokQGSJ

php/HogeLib/A.php と言うファイルが
<?
echo "HogeLib/A<br>\n";


って内容で,php/HogeLib.php と言うファイルが
<?
echo "HogeLib<br>\n";
include_once("HogeLib/A.php");



って内容で, hoge.php と言うファイルガ
<?
ini_set("include_path",ini_get("include_path").":./php");
include_once("HogeLib.php");
?>

なとき,hoge.php を実行したら,

HogeLib
Warning: main(HogeLib/A.php): failed to open stream: No such file or directory in /var/www/ht_docs/php/HogeLib.php on line 3

Warning: main(): Failed opening 'HogeLib/A.php' for inclusion (include_path='.:/usr/local/lib/php:/usr/local/lib/php/Smarty:./php') in /var/www/ht_docs/php/HogeLib.php on line 3

てなエラーがでるんすけど,これどういうワケなんでしょう?
include_path にはちゃんと ./php が入ってるから HogeLib/A.php は見えると思うのですが…
0754nobodyさん2005/05/26(木) 16:38:27ID:???
ヒント ./ 相対パス
0755nobodyさん2005/05/26(木) 17:18:01ID:???
>>って内容で, hoge.php と言うファイルガ
FFか。
0756nobodyさん2005/05/26(木) 17:26:43ID:???
>>753
マニュアルのincludeのページをよく読む。
ワーキングディレクトリの概念を把握する。
getcwd()などを使って上記の事柄を確かめてみる。
日記に自己批判文を書く。
0757nobodyさん2005/05/26(木) 17:34:41ID:???
>>753
ini_set("include_path",ini_get("include_path").":./php");
Windowsなので:を;に変えてやったらちゃんと表示された
07587532005/05/26(木) 17:35:02ID:???
すまん
HogeLib/A.php が
HogeLib/A.pm って間違った名前で保存されとった.
直したら動いた
頚動脈にストローさして逝ってきます.
0759nobodyさん2005/05/26(木) 18:39:38ID:???
もう二度とくんなよw
0760nobodyさん2005/05/26(木) 19:29:23ID:CDrjkCAB
ショップサイトをつくったのですが、カートにいれるときに
Warning: Cannot modify header informationて感じでエラーになって
カートにいれられません。ローカルでためしたらちゃんとカーとにはいって
こういうエラーもでないのですが・・・何がいけないんでしょうか?
おしえてください。お願いします
0761nobodyさん2005/05/26(木) 19:42:36ID:???
つwww.geocities.jp/lainboost/
0762nobodyさん2005/05/27(金) 00:37:17ID:???
PDFlibで漢字(ってか2バイト文字)を出力するには
load_fontで何を指定たら良いのか教えてください。
色々指定して見たのですがロードエラーが出ます。
因みにどの様な字を書いても「,」になってしまいます。

環境
 windowsXP
 Apache/2.0.54 (Win32) PHP/5.0.4
 Php version : 5.0.4
 PDFlib-6.0.1p1-Windows

宜しくお願いします。
0763nobodyさん2005/05/27(金) 00:40:05ID:???
>>762
PHPでPDF
http://pc8.2ch.net/test/read.cgi/php/983858078/
0764nobodyさん2005/05/27(金) 01:04:19ID:???
>>763
�d
07657442005/05/27(金) 01:05:34ID:???
>>745
スレたてありがとうです。
DAT落ちしてたんで助かります
0766nobodyさん2005/05/27(金) 10:13:08ID:???
あの・・・、すごい質問していい??

最近 <BR/> ってよく見かけるけど、<BR> とどう違うの??
何かメリットあるのかな?
0767nobodyさん2005/05/27(金) 10:42:54ID:QDREae0S
おなじ
線が入ってかっこいいってとこかな
0768nobodyさん2005/05/27(金) 10:53:43ID:???
>>728

読み出せたのですが新たな問題?が生じました
比較的ソースの長いページを読み込んでみたのですが
半分くらいしか表示されません
flash側の文字数制限かとおもい
phpでタグを取り除いて文字数を減らしたのですが
同じところまでしか読み込みません
php側になにか制限があるのでしょうか?
0769nobodyさん2005/05/27(金) 10:59:07ID:???
>>766
<br />ならXHTMLだけどね
<BR/>はなんだろう
0770nobodyさん2005/05/27(金) 10:59:16ID:???
>>766
XHTML.
ただしXHTMLのタグは小文字でないといけないので<br/>が正しい。
古いブラウザとの互換性のために<br />と、スラッシュの前にスペースを入れることも多い。
0771nobodyさん2005/05/27(金) 11:04:09ID:???
>>768
読み込んだソースに&があるとそこで区切られちゃうな
読み込んだソースをPHPでUTF-8(FlashってUTF-8だよね)に変換後にurlencodeして渡したらどうだろう
07727682005/05/27(金) 11:04:36ID:???
自己解決しました
申し訳ないです

ソース内に&があったために起こった現象でした
flashでは &は 変数をつなぐときとかに使うので
別変数として読み込まれていました

phpの話じゃなくてすみません

0773nobodyさん2005/05/27(金) 11:16:53ID:???
>>770
なるほど!!
・・・で、何かメリットあるんでしょうか??

nl2br関数でもなぜか勝手に<br/>に変換されちゃうんですが。。。
0774nobodyさん2005/05/27(金) 11:41:56ID:???
(;^ω^)これは・・・
0775nobodyさん2005/05/27(金) 11:59:11ID:???
漏れも正直XHTML自体の意味…というか必要性が分からん。
0776nobodyさん2005/05/27(金) 12:00:19ID:???
まあ /> で終わってたら、閉じタグ探さないでいいわけだ
0777nobodyさん2005/05/27(金) 12:09:30ID:???
XHTML(XML)はコンピュータのためのフォーマットだから、XSLとか使わん限りはメリットは薄いやね。
人間様にとっては「妥当」であることに意義を見出せるかどうかにかかってると思う。
0778nobodyさん2005/05/27(金) 13:14:58ID:???
>>25
ヘッダの確認方法
フーイズみたいなヘッダーイズ

http://simple.or.tp/headeris/
0779nobodyさん2005/05/27(金) 14:28:37ID:???
http://www.atmarkit.co.jp/aig/01xml/xhtml.html
0780nobodyさん2005/05/27(金) 17:14:59ID:???
ttp://php.s3.to/bbs/fstyle/
このスクリプトに画像もアップロード出来るようにしたいのですが、どうしたらいいですか?
0781nobodyさん2005/05/27(金) 17:32:24ID:???
$mysql = mysql_connect($servername,$dbuser,$dbpass);
var_dump($mysql);
$tableopen = mysql_select_db($dbname,$mysql);
var_dump($tableopen);
$query = "INSERT INTO $tablename (number,name,address,tell) values($dat[0],$dat[1],$dat[2],$dat[3])";
mysql_query($query,$mysql);

上記のスクリプトでデータベースのテーブルに書き込みたいのですがうまくいきません。
データベースの接続とテーブル指定はうまくいってます。
クエリー文の変数には問題なくデータが入っていますし、列名の指定も間違ってないです。
何が問題なのでしょうか。
0782nobodyさん2005/05/27(金) 17:48:03ID:???
>>781
$dat[0]・・・の内容が展開されてない悪寒。
変数を{}で囲め。
それでもダメなら、挿入する値をそれぞれシングルクォートで囲め。
それでもダメなら、挿入するフィールド名をそれぞれバッククォートで囲め。

それでもダメなら、そのSQL文をphpMyAdminから直接命令してみろ。
そこでエラーになれば、エラーの具体的な理由が表示される。
0783nobodyさん2005/05/27(金) 17:49:12ID:???
あ、あと$tablenameも${tablename}にすべきだな。
0784nobodyさん2005/05/27(金) 17:51:26ID:???
>>781
文字列なら
$dat[1] => '$dat[1]'
とシングルクォートで囲む
0785nobodyさん2005/05/27(金) 18:09:59ID:???
>>782-784

ありがとうございます!
無事データベースに入力できました。
0786nobodyさん2005/05/27(金) 22:52:51ID:???
デザイン部分をHTMLにするってのは、SmartyとかHTMLテンプレートとか使わないと無理か?
レン鯖だから使えないんだが ..... (つД`)

なんとか使わずに分けられないか?
0787nobodyさん2005/05/27(金) 23:11:33ID:???
>>786
Smartyはレン鯖でも使えるぞ。

そして、デザインとロジック分離したいなら、ロジックがわで適当に変数割り当ててデザインをinclude(require)とかでできるぞ
07887862005/05/27(金) 23:24:26ID:???
>>787
>Smartyはレン鯖でも使えるぞ。
そうなのか?うちの鯖では使えないとか言われた。

なるほど、include()か。
関係無いかもしれんが、PerlかなんかでHTML内の
<!-- template_start -->
とかを探してごにょごにょしてるっぽいスクリプトを見たことがあるんだが、似たような事がPHPでもできるってことか?
0789nobodyさん2005/05/27(金) 23:54:04ID:IA/SnaDd
<?
for ($a = 0; $a<99; $a++ ){
print ("$a");
}
?>

非常に初歩的なな質問でスマソ
あの、上記のように組んだ時
0、1、2、3、・・・・
となるのを
00、01、02、03、・・・
と1桁目の部分を2桁表記にしたいのですが
どのように組めばいいのでしょうか?
0790nobodyさん2005/05/28(土) 00:08:06ID:???
>>789
初歩的と分かっててスマソと書くくらいなら
その前にマニュアルくらい読めや
http://jp2.php.net/manual/ja/function.printf.php
0791nobodyさん2005/05/28(土) 05:19:13ID:3n2nzezn
HTMLのスキンを使ってログファイルのデータを表示したいのですが
$View = 10;
$count=0;
foreach ($lines as $line){
if( $no == $no ) { $count++; }
if($count < $start || $count > $fin) { continue; }
list($no, $title, $kiji, $date)=explode("<>",$line);
$Body = str_replace("\$no", $no, $Body);
$Body = str_replace("\$title", $title, $Body);
$Body = str_replace("\$kiji", $kiji, $Body);
$Body = str_replace("\$date", $date, $Body);
echo $Body;
}
と書いたらスキンは適用されているのですがログファイルの1行目をスキンごと10回繰り返してしまいます。
2回目のループはログの2行目、3回目のループは3行目...としたいのですが
どうすればいいのでしょうか?
0792nobodyさん2005/05/28(土) 06:00:17ID:???
あの、CとかJAVAでサンデープログラマーっていますけど、ホームページプログラマーでも、サンデープログラマーってやってる方いるんですか?

もしいるなら、どの程度儲けてるんでしょうか?
0793nobodyさん2005/05/28(土) 07:01:39ID:???
>>788
>>Smartyはレン鯖でも使えるぞ。
>そうなのか?うちの鯖では使えないとか言われた。

Smartyがレンタル鯖で使えないとしたらPHP自体が使えない限りありえないぞ。
0794nobodyさん2005/05/28(土) 07:33:59ID:+nfrsZa4
SJISとSJIS-winってどう違うのでしょうか?
SJIS-win=Shift_JISにWindowsが拡張文字を追加したもの…でしょうか?
0795nobodyさん2005/05/28(土) 09:28:47ID:???
>>793
無料鯖とか
0796nobodyさん2005/05/28(土) 10:14:40ID:???
>>795
自分のホームディレクトリに自分でインストールする
07977682005/05/28(土) 10:28:27ID:???
$text から & 記号を取り除こうと思い
作ってみたのですが うまくいきません
どこに問題があるのでしょうか?

$text=strip_tags($text);    //まずタグを取り除いて
$text=str_replace($text, '&',' ');    // &をスペースに置換 のつもり
0798nobodyさん2005/05/28(土) 10:34:43ID:???
>>797
str_replaceの引数
0799nobodyさん2005/05/28(土) 11:02:19ID:???
>>794
>SJIS-win=Shift_JISにWindowsが拡張文字を追加したもの
あたり。普通の人がシフトJISというと大抵はSJIS-winの方を指してる。
0800nobodyさん2005/05/28(土) 11:25:47ID:???
そうしたら、SJIS-winとWindows-31Jの違いって何?
0801nobodyさん2005/05/28(土) 11:28:25ID:???
>>797
mixed str_replace ( mixed search, mixed replace, mixed subject [, int &count] )
0802nobodyさん2005/05/28(土) 12:51:34ID:O3+IZd9y
ローカルでは正常に作動するのに
実鯖に転送したら作動しないのはWHY?
本のスクリプト使えねえよ・・・10日で覚えるPHP
0803nobodyさん2005/05/28(土) 12:53:47ID:???
>>802
phpinfo();
0804nobodyさん2005/05/28(土) 13:19:05ID:???
>>797
$text = str_replace('&', '','$text');
0805nobodyさん2005/05/28(土) 13:19:06ID:???
軍曹!詳しい内容は極秘でありますか?(=゚ω゚)ノ >>802
0806nobodyさん2005/05/28(土) 13:38:20ID:???
>>788
[template.html]
僕の名前は###myname###です。<br>
あなたの名前は###yourname###です。<br>
[/template.html]

[index.php]
$myname = "あほたれ";
$yourname = "ばかたれ";
$hoge = file_get_contents("template.html");
$hoge = str_replace("###myname###", $myname, $hoge);
$hoge = str_replace("###yourname###", $yourname, $hoge);
echo $hoge;
[/index.php]

脳内で書いたから動くかどうかは知らんが。
0807nobodyさん2005/05/28(土) 14:27:39ID:???
>>800
CP932, Windows-31J, MS_Kanjiは、SJIS-winのエイリアス。
それぞれケース依存はしてなかったと思うが、気になるようなら自分で確認してくれ
08087892005/05/28(土) 16:17:37ID:???
>>790
いや初歩的かな〜?と思って前置きとして書いただけです
何が初歩的で何が上級かもわからんので・・・

マニュアルだけじゃ分からなかったのでググって色々な例を見てやっとできますた
(自分的には全然初歩的じゃなかった・・・(;´Д`))
関数を教えてくれてどうもありがとう
0809nobodyさん2005/05/28(土) 19:38:17ID:???
Perlのchompに値する関数を教えてください
08107972005/05/28(土) 19:52:35ID:???
>>798
>>801
>>804

何故か全部駄目でした
僕の説明不足かもしれません

やりたい事と全ソース

<?php
header("Content-type: text/plain");
echo header("Content-type: text/plain");
$text='htmldata='.file_get_contents($_GET['url']);
$text=strip_tags($text);
$text = str_replace('&', '','$text');
echo $text;
?>

flashから渡されたURLのソースをテキストとして取得
↓
それのタグと &を 削除
↓
htmldata=   形式でテキストとして出力
なんですけど
実際は何故か $text♪= のような形で出力されてしまっています
読み込むflash側の問題でしょうか?
0811nobodyさん2005/05/28(土) 20:11:37ID:???
>>810
echo header〜 の行は不要。というか場合によっては有害。
str_replace('&','','$text') とすると、'$text'の部分は単なる文字列(変数とは解釈されない)なので、
str_replaceの結果は 文字列 $text (&が含まれないので元の文字列のまま) になる。

str_replace('&','',$text) が正解。
この場合、' ' が付いていないので、文字列では無く変数として解釈される。
08128102005/05/28(土) 20:18:23ID:???
>>811

できました ありがとうございます

作ってもらって貼り付けるだけでは成長しないですよね
内容を理解できるように努力しようと思います
0813nobodyさん2005/05/29(日) 09:51:25ID:???
perlでいうサブルーチンのように、同ファイル内で処理し、
別ページへ飛ばすというようなものは、phpではどうやるのですか?
簡単な例をお願いします。
0814nobodyさん2005/05/29(日) 10:11:43ID:???
>>813
perlに限らずサブルーチンと呼ばれるものは、そういう挙動の事を意味しませんよ。
簡単な例を出してください。
0815nobodyさん2005/05/29(日) 10:23:57ID:???
別ページってのは、URLの後ろにmode=○○などを付けて、
画面を変えることなんですけど・・・
ググっても、本を読んでも見当たらないので例すら分からないのです。
0816nobodyさん2005/05/29(日) 10:48:50ID:???
どんな本だよw
0817nobodyさん2005/05/29(日) 10:58:18ID:???
index.php?mode=[add,edit,del]&action=[confirm,do] てな感じで、
1個のPHPファイルが全てのリクエストを受け付けるって事かい?
フロント・コントローラーって呼ばれたりするやつか。
自分でif文を使って分岐させてもいいし、
いくつかのフレームワーク(mojaviとか)はそういう呼び出し方を前提に作ってあるよ。
0818nobodyさん2005/05/29(日) 12:56:43ID:???
>809ですがtrim()関数で自己解決しました
0819nobodyさん2005/05/29(日) 19:32:09ID:???
環境変数なんですけど。
Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; istb 702)
これってどういう意味ですか?
SV1 istb 702ってところがよくわかりません。
0820nobodyさん2005/05/29(日) 21:08:22ID:???
質問させて下さい。

オープンソース、もしくはフリーでPHPで使えるリッチクライアントって何かありませんか?
JavaでしたらLoszloなどがあるのですが、PHPでは有料のもの以外見つかりませんでした。
0821nobodyさん2005/05/29(日) 22:58:06ID:???
>>819
問題の切り分けをしましょう。
それはPHPの問題ではなくてUserAgentの内容に関する質問です。
したがって、すれ違いです。
0822nobodyさん2005/05/30(月) 00:01:46ID:???
すれ違いから始まる恋もある。
0823nobodyさん2005/05/30(月) 02:48:10ID:???
>>815
お前はまずGETメソッドについて勉強しる。

で、それはともかくとしてBASICみたいにGOTO使えたら便利なのに、と考える漏れ。
0824nobodyさん2005/05/30(月) 03:10:02ID:???
そして初心者がGOTO多用
0825nobodyさん2005/05/30(月) 07:44:04ID:???
ドロップダウンメニューで、ページ内に表示されるリストを並べ替えようとしているのですが、
初回のアクセスの際、変数がなく、エラーになります。どうすればよいでしょうか?
0826nobodyさん2005/05/30(月) 08:20:39ID:???
すんまそん。もう一度探したら解決法みつかりました。

http://www.webmasterworld.com/forum88/4831.htm
0827nobodyさん2005/05/30(月) 11:19:37ID:???
>>824
そうなんだよ、漏れは中学生の頃に感じた「GOTO快感」を忘れられないのだ。
0828nobodyさん2005/05/30(月) 14:11:42ID:???
GOTO!GOTO!
0829nobodyさん2005/05/30(月) 14:12:42ID:iPZEzWrI
windows版のPHP5のアンインストールってフォルダー削除でOK
0830nobodyさん2005/05/30(月) 14:14:36ID:???
へー、そうなんだ。ありがとう、勉強になった。
0831nobodyさん2005/05/30(月) 14:49:52ID:???
>>829
php.netで配布してるものならば。
別のところのパッケージならそれぞれの作りに依存する。
0832nobodyさん2005/05/30(月) 14:51:47ID:???
10 x=1
20 if x=1 then goto 10

死亡
0833nobodyさん2005/05/30(月) 15:31:27ID:???
当たり前じゃんwwwww
0834nobodyさん2005/05/30(月) 16:11:42ID:???
以下のスクリプトの2行目(実際は45行目)で
Notice: Undefined offset: 1 in c:\usr\Apache\htdocs\test\registration.php on line 45
Notice: Undefined offset: 2 in c:\usr\Apache\htdocs\test\registration.php on line 45
Notice: Undefined offset: 3 in c:\usr\Apache\htdocs\test\registration.php on line 45
Notice: Undefined offset: 4 in c:\usr\Apache\htdocs\test\registration.php on line 45
Notice: Undefined offset: 5 in c:\usr\Apache\htdocs\test\registration.php on line 45
という風に未定義のオフセットとか言われてしまいます。
処理は正常に終わっているのですが、いちいち上記のメッセージが出てしまいます。
どうすれば解消できるのでしょうか。

for($i=0; $i<=$entry_number; $i++){
if($idchk[$i]!=$id){
$idflg = true;
}else{
$idflg = false;
break;
}
}
0835nobodyさん2005/05/30(月) 16:28:45ID:???
php.iniかエラー処理関数でNoticeを発生させないようにする。
0836nobodyさん2005/05/30(月) 16:34:06ID:???
ありがとうございます。エラー処理関数で消しました。
たびたびすいませんがこの方法で後々不具合が出るとかはないでしょうか
0837nobodyさん2005/05/30(月) 16:58:11ID:???
>>836
zend様のご気分次第で御座います。

if(isset($idchk[$i]) && $idchk[$i]!=$id){ てな感じで
$idchk[$j]が存在するかチェックすれば気にしなくて済みますが。
0838nobodyさん2005/05/30(月) 17:41:54ID:???
>>837
ありがとうございました。
勉強になりました。
0839nobodyさん2005/05/30(月) 20:10:40ID:???
>>820
PHPでリッチクライアントはFlash使ったのぐらいしかみないなぁ・・・
俺も仕事だとBiz/Browser使ってるけど、個人で使うには高いしね。
0840nobodyさん2005/05/30(月) 21:01:24ID:???
>>833
せっかく832が分かりやすくボケたんだから、
もっと気の利いたツッコミしる。
0841nobodyさん2005/05/31(火) 01:21:02ID:???
お笑いスレはここですか?
0842nobodyさん2005/05/31(火) 01:28:19ID:???
phpからデータベース操作(insert)すると文字化けします
照会順序はデータベース、テーブル、フィールドすべてsjis_japanese_ci
phpファイルもsjisです ヘルプ
0843nobodyさん2005/05/31(火) 03:33:46ID:???
>>842
環境を書けよ・・・
多分Mysql4.1系だから
$conn = mysql_connect(xxx);
mysql_query("SET NAMES sjis" , $conn);
0844nobodyさん2005/05/31(火) 04:25:32ID:???
すいません、フォームで「フリガナ」の欄に「名前(漢字)」を書いたり
「メアド」を書いたりするヤツがたまにいるんですけど、
これをPOST後の入力チェック画面で赤字などで表示して知らせたいんです。

mb_convert_kanaとかだと変換されちゃうけど、変換はせずに、
単に「入力されたのはカタカナではない文字である」と検出するだけの
関数ってありますでしょうか??
0845nobodyさん2005/05/31(火) 05:02:06ID:???
>>844
お前も環境書けよ
0846nobodyさん2005/05/31(火) 05:55:30ID:???
>>845
ワロスwwww
0847nobodyさん2005/05/31(火) 06:06:30ID:???
>>845
バカかお前は。環境は関係ない質問だろ。
知ったかぶってんじゃねぇ。
0848nobodyさん2005/05/31(火) 06:07:30ID:???
>>843
サンキューソーマッチ
これはデータベース側の設定で省けないものなんでしょうか
0849nobodyさん2005/05/31(火) 06:26:34ID:???
>>848
4.1系は駄目なんですよ・・・
スキルあるなら、sjisでコンパイルやり直すぐらいしか対処法はないです。

>>847
本でも買って読んでろボケ
と、心でつぶやいてみる
0850nobodyさん2005/05/31(火) 06:30:53ID:???
>>844
無いよ
0851nobodyさん2005/05/31(火) 07:32:18ID:???
$hoge = ereg_replace("([^0-9a-z])", urlencode(\1), $hoge);
英数以外が見つかればそれをurlencodeしたい。ここに\1を使うのは違ってるらしい。正しい手法を教えて。
0852nobodyさん2005/05/31(火) 07:42:14ID:???
てか元々英数字以外しかエンコードされませんから…
0853nobodyさん2005/05/31(火) 07:46:12ID:???
すまん、実際はもうちょっと違うんだ見落としてた。
replacement部分で、ヒットしたpatternをどうこうするにはどうしたらいいか、です。
0854nobodyさん2005/05/31(火) 08:24:24ID:???
>>851
>>852の言うように意味無いんだけどこういうのがある
$hoge = preg_replace_callback("/(\W+)/",
create_function(
'$match',
'return urlencode($match[1]);'),
$hoge
);
0855nobodyさん2005/05/31(火) 08:33:49ID:???
>>848
それ、サーバ側の設定の所為じゃなくて、
クライアント側(PHPのMySQLエクステンション)の設定の所為だから。
クライアント側をコンパイルし直せばOK。
あとphp.iniで設定できるようなパッチが出回ってた気がするが、
そのままパッチあてるならphpのバージョンにも依存するだろうしな、
コネクション開始する際にSETするようにソフト側で対処するのが無難。
0856nobodyさん2005/05/31(火) 11:15:59ID:hNG5bdXN
zip圧縮したいのですがどうすrばよいの出背負うか?
0857nobodyさん2005/05/31(火) 11:21:14ID:???
圧縮するモジュールを作レ場伊井よ。
0858nobodyさん2005/05/31(火) 12:08:39ID:???
>>849
知ったかぶってなんでもかんでも「環境」とか言ってんじゃねぇよボケ
と、バカを相手にしてみる。
0859nobodyさん2005/05/31(火) 12:16:58ID:???
>>858
今までの質問、全部その「環境」が一因じゃん。
PHPは単体で動くものじゃないし
エンジンが何でコンパイルされてるのか
設定ファイルがどうなってるか
ライブラリはそろってるのか
環境変数 動作OS
いろんなものが絡み合って、支えあって生きているんだ。
人という字は、人と人とが支え
0860nobodyさん2005/05/31(火) 12:22:23ID:???
Perlなら全て解決。
0861nobodyさん2005/05/31(火) 12:25:12ID:???
質問させてください。
ログファイルが有るのですが、そのログファイルの i 行目だけを
ユーザーから受けた値で修正したいのです。
そういう場合どういう処理をすればいいのでしょう。
0862nobodyさん2005/05/31(火) 12:32:54ID:???
>>861
先頭から1行ずつ読んで別ファイルに書き込んでいく。最後にファイル名を変更
そんなに大きなファイルじゃなければfile()で全体を配列に読み込んで修正して書き込む
0863nobodyさん2005/05/31(火) 12:41:07ID:???
>>861
行という概念が、そのOSでの改行コードがファイル中に存在するだけ、ということを頭の中に叩き込む。
そうすれば、ファイル中で i 行目を発見するにはファイルの先頭から読み込んでいくしか無いことが分かる。

1. 各行を配列にぶち込んで、該当の配列要素を弄くり倒し、改竄された配列をファイルにぶち込む
2. 行単位で読み込みながら、該当行が見つかるまでファイルに書き出し、
 該当行を発見したら修正したものをファイルに書き出して、ファイルの終わりまでそれを続ける。
3. 適当なサイズのバッファを用意し、それにファイル内容を逐次読み込みながら改行コードをカウントする。
 該当行を発見したら修正しつつ、ファイルの終わりまでそれを続ける。
4. 各行が固定長だと限定できると、改行コードの数を数えなくても一気に指定行へ移動(seek)でき、
 修正(修正+固定長へのパディング)して上書き保存。固定長制限の見返りに冒頭の話の例外的な扱いになる。
etc.
0864nobodyさん2005/05/31(火) 13:09:37ID:???
>>862-863
大変参考になりました
有難う御座いました
0865nobodyさん2005/05/31(火) 15:37:15ID:???
質問させてください。

404などのステータスエラーの場合のエラーページをカスタマイズするには、
PHPというよりはApacheの機能なのでしょうか?
Apacheでのカスタマイズ方法は調べてわかりましたが、
PHPのみでは実現可能なのでしょうか?

それと、php.iniでax_execution_timeに設定された秒数を超える処理だとエラーになりますが、
このエラー自体はPHPのエラーメッセージが出ます。
これは、Apacheではエラーとして拾えないのでしょうか?
また、拾えた場合、エラーステータスは何になるのでしょうか?

最初の質問での、エラーページのカスタマイズがApacheで行うしか手が無い場合、
同様に、タイムアウトした処理のエラーページもカスタマイズしたいので、
一緒に質問させていただきました。
0866nobodyさん2005/05/31(火) 15:43:31ID:???
質問です。

動画ファイル(aviやmpeg等)の横幅と高さの取得はどのようにすればいいでしょうか?
0867nobodyさん2005/05/31(火) 16:00:42ID:???
>>866
WMPのプロパティで確認汁
0868nobodyさん2005/05/31(火) 16:29:55ID:???
>>865
PHPのみというのがわからない
ApacheのErrorDocumentで特定のPHPスクリプトを実行では駄目なのか
0869nobodyさん2005/05/31(火) 16:54:29ID:???
>>865
> 404などのステータスエラーの場合のエラーページをカスタマイズするには、
> PHPというよりはApacheの機能なのでしょうか?
そう
> Apacheでのカスタマイズ方法は調べてわかりましたが、
> PHPのみでは実現可能なのでしょうか?
質問の意図がよくわからない

> それと、php.iniでax_execution_timeに設定された秒数を超える処理だとエラーになりますが、
> このエラー自体はPHPのエラーメッセージが出ます。
PHPのエラーだから当たり前

> これは、Apacheではエラーとして拾えないのでしょうか?
> また、拾えた場合、エラーステータスは何になるのでしょうか?
Apacheで拾うのは無理だと思う。

> 最初の質問での、エラーページのカスタマイズがApacheで行うしか手が無い場合、
> 同様に、タイムアウトした処理のエラーページもカスタマイズしたいので、
> 一緒に質問させていただきました。
set_error_handler使えばPHPのエラー画面のカスタマイズはできると思う
0870nobodyさん2005/05/31(火) 17:44:47ID:???
GETの値をswitchで振り分けたいのですが、
値が空のときの振り分けは無理なのでしょうか?
0871nobodyさん2005/05/31(火) 17:49:01ID:???
空の時はdefaultで処理させるとか。
0872nobodyさん2005/05/31(火) 18:03:46ID:???
>871
レスありがとうございます。
defaultはdefaultで指定したい動作があります。
空のときとcase 1の時に同じ処理にしたいのですが・・・
同じ内容を2回書かずに、break無しで振り分けられたら良いな、と。

"NULL"とか指定しても無理でした。

ifを使えば簡単なのかもしれないんですけど、
覚えたてなので色んな手段で試してみたいんです。。。
0873nobodyさん2005/05/31(火) 18:30:01ID:???
>>872
空というのはGETの変数が指定されていない、という意味だったら
以下でいいんでないかい?
switch (empty($_GET['id']) ? 1 : $_GET['id']) {
case 1:
echo '空 or 1';
break;
...
0874nobodyさん2005/05/31(火) 18:35:30ID:???
>>867
言葉足らずでした。
動画のサイズをPHPで取得したいのです。
画像ならサイズを取得できるのですが…
<embed src = "aaa.mpg" width = "ここ" height = "ここ">
という感じで、「ここ」の部分を自動的に取得したいと思っての質問です。
0875nobodyさん2005/05/31(火) 18:52:41ID:???
>>874
自力で解析。
0876nobodyさん2005/05/31(火) 18:54:58ID:???
>>875
えーと、つまり…
画像のサイズのようにお手軽には取得できないということでしょうか?
0877nobodyさん2005/05/31(火) 19:19:20ID:???
ムービー関数はないぞw
0878nobodyさん2005/05/31(火) 19:29:50ID:???
>>877
なるほど、ありがとうございました。
0879nobodyさん2005/05/31(火) 21:33:00ID:???
とってもおバカな質問かもしれませんが分かる方お願いします。

dieとかexitで処理を終了した場合
image resourceのメモリ開放やdirでcloseメソッドで閉じるなどは
しなくてもいいのですか?
終了した瞬間にメモリ開放とかならうれしいのですけどねぇ
0880nobodyさん2005/05/31(火) 21:33:42ID:???
>873
ありがとうございます!
出来ました!
caseで指定する値ばかりに気をとられてました。
勉強になりました。
0881nobodyさん2005/05/31(火) 23:11:13ID:???
sessionがまだ生きているかチェックするにはどうすれば良いですか?
0882nobodyさん2005/06/01(水) 03:09:50ID:???
ちょっと行き詰ってしまったので、どなたかわかる方がいましたら
よろしくお願いします。

簡単なサイト内検索を作っているところです。
ファイルをゲットして、配列に格納して、正規表現で
フォームから入力された文字と比較して、出力するものなんですが、
なぜか、「ポ」「ー」だけヒットしません・・・。
文字コードが間違ってるのかと、
いろいろ組み合わせてみたのですが、だめでした。
わかる方がいましたら、アドバイス願います。(_ _)
0883nobodyさん2005/06/01(水) 03:13:38ID:???
userっていうセッションの生死を確かめるなら

if(isset($_SESSION['user'])){
echo "sessionが生きている";
} else {
echo "sessionが切れている";
}
0884nobodyさん2005/06/01(水) 03:15:18ID:???
>>882
まずはどういう正規表現書いたか教えてくれないと誰も答えれないよ
0885nobodyさん2005/06/01(水) 03:33:42ID:???
>>880
switch($_POST['mode']):
case 'aaa' or 'bbb':
ab();
break;
case 'ccc':
c();
break;

こんなのもある
0886nobodyさん2005/06/01(水) 05:46:19ID:???
>>883
うーむ、$_SESSION調べるしかないのか。
必ずセットされるキーが無いかも知れないので、

if (count($_SESSION) == 0) {
echo "sessionが切れている";
}

とでもしてみますわ。
0887nobodyさん2005/06/01(水) 07:34:27ID:???
>>882
正規表現じゃなく文字列関数でチェックすればいい。
処理も軽いらしいし。
if (strpos($text, "ポー") !== false) {
echo "ヒット";
}
else echo "アウト";
0888nobodyさん2005/06/01(水) 09:34:44ID:???
>>886
こんなんはどう?
if (!empty($_SESSION)) {
print_r($_SESSION);
}
0889nobodyさん2005/06/01(水) 09:54:21ID:???
2ch互換のトリップはどうすれば算出できますかね
0890nobodyさん2005/06/01(水) 13:43:09ID:???
p2拡張パックより。

    function mkTrip($key, $length = 10)
    {
        $salt = substr($key . 'H.', 1, 2);
        $salt = preg_replace('/[^\.-z]/', '.', $salt);
        $salt = str_replace(
            array(':',';','<','=','>','?','@','[','\\',']','^','_','`'),
            array('A','B','C','D','E','F','G','a','b','c','d','e','f'),
            $salt);

        return substr(crypt($key, $salt), -$length);
    }
0891nobodyさん2005/06/01(水) 14:10:28ID:ol5jb9i+
今動いている鯖のphp.iniを探してくれと言われたのですが
find / -name "*.ini*"の結果

/usr/src/php-4.3.10/pear/tests/php.ini
/usr/src/php-4.3.10/php.ini-recommended
/usr/src/php-4.3.10/php.ini-dist

しか見当たりませんでした。
phpはCLI版で動いているようです。
php -v :PHP 4.3.10 (cli)

phpinfo()のConfiguration File (php.ini) Path は
/usr/lib
になっていてこちらも見当たりません。

この場合、php.iniを探す方法ってありますか?
0892nobodyさん2005/06/01(水) 14:23:45ID:???
追記
存在しない(でも動いてる)
と言う可能性もあるんでしょうか?
0893nobodyさん2005/06/01(水) 15:07:35ID:???
>>891
ってかREADMEかINSTALLに自分で
 /usr/src/php-4.3.10/php.ini-dist
をコピーして環境に合わせて編集せいって書いてるだろ。
0894nobodyさん2005/06/01(水) 15:09:39ID:???
>>891
無くても動く
/usr/libまでしか表示されてないなら使ってないと思われる
0895891&8922005/06/01(水) 15:17:12ID:???
ご回答ありがとうございます。
>>893
今まで自分ではコピって編集して使ってたので
「ない」という自体に戸惑ってました。
>>894
PHP4からなくてもデフォルト値で動くようになったみたいですね。
ちょっとびびりました
0896nobodyさん2005/06/01(水) 18:34:41ID:???
>>895
誰かに削除されたんでは??
0897nobodyさん2005/06/01(水) 19:37:39ID:1hihSq3g
掲示板を作ったところ、書き込みをする際、一瞬何らかのエラーが表示された後(速すぎて何のエラーか不明)、
正常に書き込みが終わります。
このエラーが何であるかを知りたいのですが、どのようにデバッグを行ったらよいですか?
0898軟式PHP2005/06/01(水) 19:39:16ID:???
早すぎてってリダイレクトか何かしてるの?
それを止めてデバッグすればいいのでは。
08998962005/06/01(水) 19:52:16ID:1hihSq3g
さっそくのお答えありがとうございました
リダイレクトではありません。
ボタンを押した次の瞬間にエラーが表示された後、書き込み終了する感じです。
サーバーを見に行けば分かりますか?
0900nobodyさん2005/06/01(水) 20:09:21ID:???
>>899
書き込みの完了(つーか完了の画面を出力)の直前あたりにexit()を入れて、
エラーが画面に残るまでexit()の位置を前にずらしていく。
エラーが表示された部分が勝手に消去されるなんて事は、
リダイレクトやjavascriptでごにょごにょぐらいしか思いつかないけどなぁ。。
マニュアルの「エラー処理およびログ記録関数」にエラーの扱いに関する情報が沢山載ってるよ。
09018962005/06/01(水) 21:44:31ID:1hihSq3g
ありがとうございました。
exitの位置を変えてデバッグに成功しました!
0902nobodyさん2005/06/02(木) 00:37:35ID:/+4mKcyB
    ____   
a[0] | 10 | aaa |
a[1] | 20 | bbb |
a[2] | 35 | ccc |
     ̄ ̄ ̄ ̄
↑この配列に
      ____   
tmp[0] | 25 | ddd |
tmp[1] | 50 | eee |
       ̄ ̄ ̄ ̄
↑この配列を連結させて

    ____   
a[0] | 10 | aaa |
a[1] | 20 | bbb |
a[2] | 35 | ccc |
a[3] | 25 | ddd |
a[4] | 50 | eee |
     ̄ ̄ ̄ ̄

↑みたいに一発でするにはどうしたらよいのでしょう(´・ω・`)?
09039022005/06/02(木) 01:25:18ID:???
自己解決しました(´・ω・`)(スマートじゃないけど

foeach($tmp as $tmptmp){
a[] = $tmptmp;
}
0904nobodyさん2005/06/02(木) 01:36:57ID:???
>>903
ワロスw
0905nobodyさん2005/06/02(木) 01:40:09ID:???
テンプレートを使用している場合のカウンターなどの設置について
ちなみにsmartyを使用しているのですが
xxx.tplに

{php}include("counter1.php");{/php}

これしか方法はないでしょうか?
0906nobodyさん2005/06/02(木) 01:43:24ID:???
>>903
http://php.s3.to/man/function.array-merge.html
0907nobodyさん2005/06/02(木) 03:23:09ID:4+N137PM
条件を選択してレコードを抽出して、
表示させるPHPを作っているのですが間違っている箇所を教えて頂けませんでしょうか?
09089072005/06/02(木) 03:25:14ID:4+N137PM
<?php
$yaku = $_POST["yaku"];
$itameru = $_POST["itameru"];
$niru = $_POST["niru"];
$renji = $_POST["renji"];
$key1 = $_POST["key1"];

$MySQL["host"]="localhost";// MySQLサーバのホスト名
$MySQL["user"]="0102";
$MySQL["pass"]="0102";
$MySQL["database"] = "0102";

$conn = mysql_connect($MySQL["host"], $MySQL["user"], $MySQL["pass"]);
if (!$conn) {
die("MySQL接続に失敗しました");//プログラムをすぐ終了させる
}else{
mysql_query("SET NAMES sjis");// 文字コードにSJISを使う宣言
}

mysql_select_db($MySQL["database"]);

$query = "SELECT $key1 FROM ryori";

$result = mysql_query($query);

// テーブルの中身を取り出す
while ($rec = mysql_fetch_array($result,MYSQL_ASSOC)){
echo $rec['key1']."<br>";
}

mysql_close($conn);
?>
09099072005/06/02(木) 03:32:00ID:4+N137PM
<head>
</head>
<body bgcolor="ffffff">
<FORM ACTION="sample20.php" METHOD="post">
<table width="500" cellpadding="5" border="0">
<tr><td>
<table cellpadding="5" cellspacing="0" border="0" class="table2">
<tr>
<td align="center" width="33%" valign="top">
<font size="2">■調理法</font><br>
<SELECT NAME="key1" SIZE="6">
<OPTION VALUE="yaku" NAME="key1">焼く
<OPTION VALUE="itameru">炒める
<OPTION VALUE="niru">煮る
<OPTION VALUE="renji">レンジ
</SELECT>
</td>
<td align="center" width="33%" valign="top">
<font size="2">■材料</font><br>
<SELECT NAME="key2" SIZE="6">
<OPTION VALUE="kome" NAME="key2">米
<OPTION VALUE="pasuta" NAME="key2">パスタ
<OPTION VALUE="pan" NAME="key2">パン
<OPTION VALUE="ra-men" NAME="key2">ラーメン
</SELECT>
</td>
<td><font size="2">(#゚Д゚)オラー! <INPUT TYPE="submit" VALUE="送信"> ( ゚Д゚)ウマー!<br><font color="crimson">キーワード入れた?(´・ω・`)</font>
</form></td></tr></table>
</body>
</html>
09109072005/06/02(木) 03:33:24ID:4+N137PM
↑はPHPソースとhtmlソースです。
みなさん、おながいします。
0911nobodyさん2005/06/02(木) 03:51:31ID:???
$query = "SELECT $key1 FROM ryori";

???
とても抽出しているようには思えないが

0912nobodyさん2005/06/02(木) 04:14:06ID:???
select * from 商品tbl
  where 品番 = 'a001'

where 句で指定された品番 a001 のすべての項目を抽出照会します。

------------------------------------------------------------

select 品番, 出庫数 from 商品tbl
  where 品番 = 'a001'

品番 a001の 品番と出庫数だけを抽出照会します。
0913nobodyさん2005/06/02(木) 07:20:21ID:???
>>890
ありがとうございます。
0914軟式PHP2005/06/02(木) 09:28:04ID:???
>>905
イメタグ式のカウンタ使えば(作れば)いいと思われ。
0915nobodyさん2005/06/02(木) 10:36:34ID:???
>>908
× $result = mysql_query($query);

○ $result = mysql_query($query,$conn);
0916nobodyさん2005/06/02(木) 11:45:56ID:RepE9V0n
現在ホームページ作成につきPHPを使用しようと思っています
メニューのボタンを、<?php include('menu.inc');?>で呼び出してるんですが
menu.inc内でロールオーバーを使用した場合

Parse error: parse error, expecting `','' or `';'' in menu.inc on line 5

エラーが出てしまいます。
ソースは

<a href="#"><IMG src="images/index_r2_c3.gif" border="0" onMouseOver="src='images/index_r2_c3_f2.gif'" onMouseOut="src='images/index_r2_c3.gif'"></a>

です、色々とやっていたんですがどうしても ' を外してしまうと読み込みはしますが
ロールオーバーしなくなってしまうので、なにか解決策御座いましたらよろしくおねがいします。

menu.inc全体のソースは

<?php
echo '<table width="100%" border="0" cellpadding="0" cellspacing="0">';
echo ' <tr>';
echo ' <td width="216" height="27" valign="top"><img name="index_r2_c1" src="images/index_r2_c1.gif" width="216" height="27" border="0" alt=""></td>';
echo ' <td width="58" valign="top"><A href="#"><IMG src="images/index_r2_c3.gif" border="0" onMouseOver="this.src='images/index_r2_c3_f2.gif'" onMouseOut="this.src='images/index_r2_c3.gif'"></A></td>';
echo ' <td width="56" valign="top"><A href="#"><IMG src="images/index_r2_c3.gif" border="0" onMouseOver="this.src='images/index_r2_c3_f2.gif'" onMouseOut="this.src='images/index_r2_c3.gif'"></A></td>';
echo ' <td width="54" valign="top"><A href="#"><IMG src="images/index_r2_c3.gif" border="0" onMouseOver="this.src='images/index_r2_c3_f2.gif'" onMouseOut="this.src='images/index_r2_c3.gif'"></A></td>';
echo ' </tr>';
echo ' </table>';
?>

です。
0917nobodyさん2005/06/02(木) 11:55:26ID:???
>905
counter1.phpをfunction plugin化する
0918nobodyさん2005/06/02(木) 11:57:56ID:???
>>915
それは省略できる
>>907
テーブルの構造も何がやりたいのかもわからんから答えようが無い
htmlから想像すると
$query = "SELECT * FROM ryori WHERE key1='".$_POST['key1']."' AND key2='".$_POST['key2']."'";
こんな感じか
0919nobodyさん2005/06/02(木) 12:02:09ID:???
>>916
echo 'hogehoge';
が構文

そこへ持ってきて、
echo 'hoge'hage'hoge';
ってやってるから、実際には
echo 'hoge'
で構文は終わってしまって、続く
hage'hoge'
は単なるゴミになるからエラーとなる。

menu.incの中身はヒアドキュメント使えば?
0920nobodyさん2005/06/02(木) 12:04:10ID:???
>>916
menu.incを
<table width="100%" border="0" cellpadding="0" cellspacing="0">
<tr>
<td width="216" height="27" valign="top"><img name="index_r2_c1" src="images/index_r2_c1.gif" width="216" height="27" border="0" alt=""></td>
<td width="58" valign="top"><A href="#"><IMG src="images/index_r2_c3.gif" border="0" onMouseOver="this.src='images/index_r2_c3_f2.gif'" onMouseOut="this.src='images/index_r2_c3.gif'"></A></td>
<td width="56" valign="top"><A href="#"><IMG src="images/index_r2_c3.gif" border="0" onMouseOver="this.src='images/index_r2_c3_f2.gif'" onMouseOut="this.src='images/index_r2_c3.gif'"></A></td>
<td width="54" valign="top"><A href="#"><IMG src="images/index_r2_c3.gif" border="0" onMouseOver="this.src='images/index_r2_c3_f2.gif'" onMouseOut="this.src='images/index_r2_c3.gif'"></A></td>
</tr>
</table>
にする
0921nobodyさん2005/06/02(木) 12:05:08ID:???
>>916
echoとか使わなきゃいい
0922nobodyさん2005/06/02(木) 12:40:06ID:qo0GIZBl

くだらない質問で恐縮ですが

flie1の内容が

1
1
1

のとき、それを配列に読み込んで2番目のデータに2を加えて
(3にして)再び書き込み(fputs)

1
3
1

にしようとすると

1
31
1

になってしまいます。
どうすればよいのでしょうか?
0923nobodyさん2005/06/02(木) 12:46:16ID:???
>>922
そういう風になるようにスクリプトを書いてるんスよ。
意図通りに動くようにスクリプトを書くんスよ。
短いスクリプトならココに晒すッスよ
0924nobodyさん2005/06/02(木) 13:27:40ID:qo0GIZBl
>>923
いじっていたら解決しました。
0925nobodyさん2005/06/02(木) 13:57:20ID:???
>>907
つーかエラーメッセージ書きなさいよ
0926nobodyさん2005/06/02(木) 15:13:38ID:???
ジャパンネット銀行の自分の口座に入金があったかどうかをチェックして、
入金されてたら、その金額と振込者の名前を取得してDBに収める・・・って
やりたいけど、それはさすがにどうあがいても100%実現不可能だよね。

銀行のシステムにアクセスできるわけないし。
0927nobodyさん2005/06/02(木) 15:24:22ID:???
>>926
JNBのメンバーページ見りゃアいいじゃん。
0928nobodyさん2005/06/02(木) 15:31:55ID:???
>>926
http://www.spencernetwork.org/memo/tips-3.php
0929nobodyさん2005/06/02(木) 15:40:06ID:???
>>928
サンクス。
でもそのやり方でJNBのメンバーページにログインできるのかなぁ。
仮にメンバーページのトップ画面にまでは行けたとしても、
その後の各種処理(たとえば入金確認)とかはすごく複雑な手順になりそう・・・。

PEARに「JNBログイン」用のクラスないかな。あるわけないか。
0930nobodyさん2005/06/02(木) 15:40:29ID:???
>>928
サンクス。
でもそのやり方でJNBのメンバーページにログインできるのかなぁ。
仮にメンバーページのトップ画面にまでは行けたとしても、
その後の各種処理(たとえば入金確認)とかはすごく複雑な手順になりそう・・・。

PEARに「JNBログイン」用のクラスないかな。あるわけないか。
0931nobodyさん2005/06/02(木) 15:41:15ID:???
二重投稿スマソ
0932軟式PHP2005/06/02(木) 16:08:42ID:???
ゆるさん。
0933nobodyさん2005/06/02(木) 16:10:32ID:RepE9V0n
すいません、index.incファイルをインクルードして読み込んでいるんですが
その際index.incファイル内の定義を別々に読み込むことは可能でしょうか?

たとえば、echoに名前を付けて
<?php
Echo 1("ここだけ読み取る1\n");
Echo 2("ここだけ読み取る2\n");
Echo 3("ここだけ読み取る3\n");
?>
っとEcho 1 Echo 2 Echo 3と名前を付けて、それをインクルードで読み込む歳に。

<?php include("index.inc"class="echo1");?>
<?php include("index.inc"class="echo2");?>
<?php include("index.inc"class="echo3");?>

っと、こんな感じで別々に読み込みたいんですが。
php全然初心者でまだよくわかってなくて、どなたかお助けください・・・orz
0934nobodyさん2005/06/02(木) 16:30:32ID:???
すいません、ウェブにあるファイルをphpで(ダウンロードして)オープンしたいんですけど、
どうやってダウンロードするのか分かりません。きっかけを教えてください。
0935nobodyさん2005/06/02(木) 16:46:58ID:???
きっかけはフジテレビ
0936nobodyさん2005/06/02(木) 16:48:52ID:???
ワロス
0937nobodyさん2005/06/02(木) 16:53:09ID:???
>>930
銀行のサイトにログインするのは無理なんじゃね??
だってセキュリティ的に問題あるでしょ。
違うホストのphpからのアクセスは受け付けない気がしる。
0938nobodyさん2005/06/02(木) 17:15:19ID:???
>>937
JNBは使ってないので実際の所はどうなのか分からんが、FAQ等を見る限り、
SSL128bitとJavaScriptを扱うことさえできれば単純なhttpクライアントの機能だけでよさげ。
特別な通信手段等も提供してないようなので、できるとすればこの方法しか無いと思われ。
また、コロコロと手順が変わりそうなのでpear等に含まれる事は無いだろうねぇ。
0939nobodyさん2005/06/02(木) 17:47:03ID:???
>>926
JNBだけど、普通にブラウザが吐くのと同じように
処理して残高は取れてる。取引明細も多分取れる。
U/Aを128ビットSSL対応のブラウザだと騙すのは忘れるな。
勿論実際に128ビットSSLに対応して処理しないと駄目な訳だが。

>>937
銀行のシステムから見ると、ISPに接続したブラウザも
どこぞのサーバで動いてるPHPも判りはしない。
それこそ自宅サーバなら"ISPに接続"の部分は一緒だし。

マシンの盗難にあう危険性云々を加味した上で、自宅の自サーバという条件で、
取引明細まで取れるレベルの層のアカウントまでかな。
振込みまで出来る鍵カードの内容まで埋め込む気には到底なれない。
0940nobodyさん2005/06/02(木) 19:19:03ID:MURkPEQS
phpに未来はあるのかい ・・・
そして俺に未来はあるのかい・・・・
0941nobodyさん2005/06/02(木) 19:39:28ID:???
>>939
なるほど、あなたスゴイな。相当できる人と見た。

漏れもやろうと思ってJNBログインフォームのソース解析してみたんだけど、
いきなり「FORM」の「target="_self"」でつまづいた。
どこにPOSTすればいいんだ・・・。selfだとhtmlだぞ・・・。
0942nobodyさん2005/06/02(木) 19:44:43ID:???
https://www.japannetbank.co.jp/cgi-bin/NBPF2101
にPOSTすればいいよ

0943nobodyさん2005/06/02(木) 19:45:09ID:???
HTMLの基礎を勉強しろよ…
target="_self"
は同じウィンドウでファームを送る
って意味だから送信先は関係ない
0944nobodyさん2005/06/02(木) 19:45:54ID:???
ぎゃぁぁぁ
ファームじゃなくてフォーム

日本語勉強してきますorz
0945nobodyさん2005/06/02(木) 20:01:11ID:???
>>942
サンクス。それはログイン後の画面のURLだね。なるほど・・・

>>943
ごめん、本気で勘違いしてた。
「action=""」だから、selfだとhtmlでダメだ、って書こうとして、
無意識に違うところコピペしてしまった。
0946nobodyさん2005/06/02(木) 21:45:53ID:???
ブラウザ名だけを取得するってのは出来ないのか?
レッツの解析のソース見たら、ひたすら

   "MSIE 3."   => "InternetExplorer 3.x",
   "MSIE 4."   => "InternetExplorer 4.x",
   "MSIE 5."   => "InternetExplorer 5.x",
   "MSIE 6."   => "InternetExplorer 6.x",

とか書いてあるんだが。
0947nobodyさん2005/06/02(木) 21:55:57ID:???
ブラウザ名を取得するには、ブラウザが送出してくる環境変数User-Agentを使う。
その中にMSIE (ver.) という文字が含まれているから、妥当だと思うが。
0948nobodyさん2005/06/02(木) 22:54:53ID:???
ログファイルを使わないカウンタがあるって聞いたんだけど、そんなの可能か?
0949nobodyさん2005/06/02(木) 23:15:33ID:???
どこで聞いたんだYO!
0950nobodyさん2005/06/03(金) 00:22:39ID:???
>>948
DB
0951nobodyさん2005/06/03(金) 04:25:05ID:gwTtQ5CH
$host = gethostbyaddr(getenv("REMOTE_ADDR"));
if(eregi("\.jp",$host)){
echo "日本人イラッシャーイ";
exit;
}else{
echo "外人さんイラッシャーイ";
exit;
}
という風に国内と国外でその後の処理を変えたいのですが
"\.jp"のところを複数指定するにはどう書いたら良いのでしょうか?
bbtec.netとか〜〜.comなどのjpドメインじゃない国内プロバイダもマッチさせたいのです。
0952nobodyさん2005/06/03(金) 04:48:32ID:???
正規表現で取り出して、それが配列の中にあるかどうかを調べればええねん
0953nobodyさん2005/06/03(金) 04:58:44ID:???
>>952
なんで関西弁やねん
0954nobodyさん2005/06/03(金) 05:22:37ID:gwTtQ5CH
>952
よ、よくわからんとです…
0955nobodyさん2005/06/03(金) 06:01:52ID:???
わしゃー関西人じゃけんのう
0956nobodyさん2005/06/03(金) 06:04:23ID:???
>>954
$enabled_hosts = array('/^.*\.jp$/');
$remote_host = gethostbyaddr($_SERVER['REMOTE_ADDR']);
if (preg_replace($enabled_hosts, null, $remote_host) == $remote_host)
{
 echo 'ここから先は通さん';
 exit();
}
0957nobodyさん2005/06/03(金) 06:09:19ID:???
>>955
どう見ても岡山か広島あたりの言葉なんですが...
0958nobodyさん2005/06/03(金) 07:17:02ID:???
どうでも良いが国内ISPの全てがjpドメインではないだろ-;
0959nobodyさん2005/06/03(金) 07:20:24ID:???
ウリは生粋の大阪人ニダ
0960nobodyさん2005/06/03(金) 07:27:16ID:???
現在phpプロセスが走ってるかどうかを見るにはどうすればいいですか?
phpinfo()のどっか見ればあります?
0961nobodyさん2005/06/03(金) 09:03:51ID:tphqa5wQ
>>960
Apacheのモジュールだったらphpとしては走っていない
0962nobodyさん2005/06/03(金) 09:24:21ID:3MSa7XCa
>>948
サーバが一台だったら、環境変数に記録するとか?
0963nobodyさん2005/06/03(金) 10:03:01ID:???
中身が大きな配列をファイルに書き込みたいんですが
foreach使ってfputs($f,$value)なんてするしかないんでしょうか
まとめていっぺんに書き込めませんか
0964nobodyさん2005/06/03(金) 11:43:04ID:???
>>962
あんまりいい考えとは思えないけど。

>>963
たぶん一発でやっつける関数はない。
httpd から動かしている場合、時間のかかる処理の途中でプロセスが
殺されることはよくあるから、そのへんの処理をしっかりね。
0965nobodyさん2005/06/03(金) 11:48:38ID:???
>>963
serialize / unserialize

立派なオンラインマニュアルがあるんだから
ちっとは読む努力しないと進歩しねえぞ?
0966nobodyさん2005/06/04(土) 12:52:35ID:???
ttp://tmp5.2ch.net/test/read.cgi/cat/1113718135/454-604
このスレの454辺りから自称元WEBデザイナーと自称webプログラマーが暴れてるのですが
この板の方々から見て彼等に実務経験があるように見えるのでしょうか?
0967nobodyさん2005/06/04(土) 13:56:46ID:???
コゲンタを馬鹿にする香具師は失せろ
0968nobodyさん2005/06/04(土) 14:05:15ID:???
>>966
とりあえず、こいつはプロじゃない>hitman�U
後はしらん。答えたから、もう来るな。
0969nobodyさん2005/06/04(土) 16:41:25ID:???
下には下がいるからわからんぞ。
とある中古車販売店に行った時デカイ電卓が置いてあったので
「やっぱりこう言う電卓のほうが使いやすいですよね〜」
なんて適当なこと言ったらExcelで入力したデータに間違いが無いか
電卓で確認することが義務化されてると言ってた。
絶対社員になりたくない会社だと思った。
0970nobodyさん2005/06/04(土) 16:49:52ID:???
>>969
普通。

金を扱う場合はそれが普通だという事を知らない?
システム会社でも事務職が普通に居ると思うが、聞いてみればいい。
そして、必ず机の上に電卓あるから。

Excelとかで入力やら計算されたデータ”だけ”を信用する事は絶対にない。
Excelで計算などしても、その後に電卓でチェックし、さらに、それをもう一度、別の人間がチェックする。
これが金を扱う場合の”普通”の業務。
0971nobodyさん2005/06/04(土) 16:57:50ID:???
>>970
電卓がソロバンになるところも有り。
0972nobodyさん2005/06/04(土) 17:37:07ID:???
質問です。

PHPの設定に関してですが、公式マニュアルなどを見ても意味が不明です。

スクリプトをSJISで保存する場合は、
output_buffering = Off

EUCで保存する場合は
output_buffering = On
output_handler = mb_output_handler

と書かれています。
他のサイトなどでもインストール後の設定でも同じように書かれていますが、何故なのでしょうか?
なぜSJISの場合はoutput_buffering = OffでEUCではOnなのでしょう?
理由があるからこういった違いがあるはずなのですが、
どういった理由でこういった設定になるかが不明です。
0973nobodyさん2005/06/04(土) 17:50:29ID:???
>>972
回答でなくて済まないが、どこにそう書いてあるのか教えてくれまいか?
09749722005/06/04(土) 17:53:37ID:???
>>973
ttp://www.php.net/manual/ja/ref.mbstring.php

ここに載っています。
0975nobodyさん2005/06/04(土) 17:59:49ID:???
そのページのどこをどう見ればそういう解釈になるのか教えてくれまいか?
0976nobodyさん2005/06/04(土) 18:09:41ID:???
【PHP】くだらねぇ質問はここに書き込みやがれ?part=5
0977nobodyさん2005/06/04(土) 18:37:03ID:???
>>972
俺も上手に説明できないんだけど、
output_buffering = Off
または
output_buffering = On
output_handler = mb_output_handler
というのは、スクリプトの文字コードと出力文字コードが関係する。

スクリプトをSJISで書いてSJISで出力するならOFF。
同じように両方ともEUCならOFF。

スクリプトをEUCで書いてSJISで出力したり、双方の文字コードが異なる場合に、
output_buffering = On
output_handler = mb_output_handler
と設定する。
0978nobodyさん2005/06/04(土) 20:27:13ID:YRXp+ixE
> まぁ、一番困ってるのは知識も無い人間が遊び半分で作ったスクリプトを
> 堂々と自慢げに公開している事です。

ここの連中の事だね
0979nobodyさん2005/06/04(土) 21:15:21ID:SwrQmVKL
すいません、いきなりレベルの低い質問で申し訳ないのですが、
日本語が表示されません。

例えば
print "japanese日本語";
と書くと
「japanese」
とだけ表示されます。
「japanese日本語」と表示させるようにするにはどうしたらよいですか?
0980nobodyさん2005/06/04(土) 22:02:31ID:???
>>979
txtファイルに「japanese日本語」と書き込み保存。
おもむろにそのファイルをブラウザにドラッグ&ドロップ。
PHPについては、一生使おうと思わないことを誓う。
0981nobodyさん2005/06/04(土) 22:44:00ID:???
$arr = array("山", "山", "山", "川", "川", "海");
array_count_valuesで$arrの山の数を得るにはどうすればいいでしょうか?
0982nobodyさん2005/06/04(土) 22:54:15ID:???
ごめんなさい解決しますた。
配列にnull文字があるとエラーが出るみたいですね
よく考えれば解るけど。
0983nobodyさん2005/06/04(土) 22:55:35ID:???
>>981
http://www.php.net/manual/ja/function.array-count-values.php
0984nobodyさん2005/06/04(土) 23:05:56ID:???
>>979
スクリプト・php・ブラウザの文字コードの設定はどうなってるの?
0985nobodyさん2005/06/05(日) 04:57:18ID:???
WindowsでPHPプログラムをEUC-JPで保存し、ブラウザへEUC-JPで出力する場合の設定
mbstring.language = Japanese
mbstring.internal_encoding = EUC-JP
mbstring.http_input = auto
mbstring.http_output = EUC-JP
mbstring.encoding_translation = On
mbstring.detect_order = auto
mbstring.substitute_character = none


WindowsでPHPプログラムをEUC-JPで保存し、ブラウザへShift_JISで出力する場合の設定
mbstring.language = Japanese
mbstring.internal_encoding = EUC-JP
mbstring.http_input = auto
mbstring.http_output = SJIS
mbstring.encoding_translation = On
mbstring.detect_order = auto
mbstring.substitute_character = none
0986nobodyさん2005/06/05(日) 04:57:48ID:???
WindowsでPHPプログラムをShift_JISで保存し、ブラウザへEUC-JPで出力する場合の設定

mbstring.language = Japanese
mbstring.internal_encoding = SJIS
mbstring.http_input = auto
mbstring.http_output = EUC-JP
mbstring.encoding_translation = On
mbstring.detect_order = auto
mbstring.substitute_character = none


WindowsでPHPプログラムをShift_JISで保存し、ブラウザへShift_JISで出力する場合の設定

mbstring.language = Japanese
mbstring.internal_encoding = SJIS
mbstring.http_input = auto
mbstring.http_output = SJIS
mbstring.encoding_translation = On
mbstring.detect_order = auto
mbstring.substitute_character = none
0987nobodyさん2005/06/05(日) 09:59:49ID:???
ついでに>>977の書き込みもあわせて理解する。
0988nobodyさん2005/06/05(日) 10:41:23ID:???
mbstring.internal_encoding = SJIS
↑ここ突っ込むところ
0989nobodyさん2005/06/05(日) 11:05:26ID:???
>>988
そこはそれ、本家で"配布してない"enable-zend-multibyteが
指定されてビルドされたPHPを利用しているという前提で。
デフォルトで内部エンコーディング(mbstring.internal_encoding)に
SJISが指定できないのは、マニュアルにも書いてあるし。
最も指定できないエンコーディング全部は山ほどあるので、
指定できるエンコーディングが列挙してあるんだけども。

0990nobodyさん2005/06/05(日) 12:44:22ID:???
自分のプロバイダには最初から日本語が使用できるようになってるから仕組みはわからないけど、
php.iniを書き換えるだけで、PHPのプログラムでかかれたものに日本語も認識出来るようになるの?
0991nobodyさん2005/06/05(日) 12:52:05ID:???
<はてな ぴーえいちぴー
えちょ ”こんなのは無理だよ”;
はてな>

http://php.s3.to/man/ref.mbstring.html
0992nobodyさん2005/06/05(日) 12:53:19ID:???
>>990
>「PHPのプログラムでかかれたものに日本語も認識出来るようになるの?」
日本語としても意味が不明。具体的に明瞭に
0993nobodyさん2005/06/05(日) 12:58:17ID:???
>>990
こいつ、Perlスレも荒らしてたな。。
09949902005/06/05(日) 13:01:54ID:???
php.iniを書き換えるだけで、PHPのプログラムでかかれたものに日本語も認識出来るようになるの?

具体的に書きます。

例えば、
print "japanese日本語";
と書くと
「japanese日本語」と表示されるのは、
php.iniの設定がすまされてるからで、jcodeみたいなものを別に読み込んでるわけじゃないの?
0995nobodyさん2005/06/05(日) 13:08:35ID:???
>>994
あまり日本語上手くないなお前・・・

php.iniで設定してるのはマルチバイトモジュールの設定。
前提としてはPHPにマルチバイトモジュールが組み込まれてる必要がある。

jcodeのようなものは必要無い。

マルチバイトモジュールは標準で用意されていて、
PHPのインストール時に指定するだけで組み込まれる。
0996nobodyさん2005/06/05(日) 13:14:07ID:???
表示だけならPHPだけでも可能なんじゃないかな?

ただし日本語固有の処理
(例:2バイト文字を一文字として数える等)
マルチバイト拡張モジュール(mbstring)を使用します。

詳しくは↓参照
http://www.php.net/manual/ja/ref.mbstring.php
09979902005/06/05(日) 13:16:05ID:???
とりあえずありがとう
0998nobodyさん2005/06/05(日) 13:18:18ID:???
とりあえず、次スレ立てた。

【PHP】くだらねぇ質問はここに書き込みやがれpart6
http://pc8.2ch.net/test/read.cgi/php/1117945031/
0999nobodyさん2005/06/05(日) 13:18:35ID:???
そして埋め。
1000nobodyさん2005/06/05(日) 13:19:06ID:???
埋め。
10011001Over 1000Thread
このスレッドは1000を超えました。
もう書けないので、新しいスレッドを立ててくださいです。。。
レス数が1000を超えています。これ以上書き込みはできません。