【PHP】くだらねぇ質問はここに書き込みやがれpart4
154 :
153 :
2005/03/21(月) 04:13:25 ID:MBpHY0ek すみません。へっぽこデザのものです。 WebProg板は不慣れなのでお手柔らかにお願い申し上げます。 PHPとHTML混在の為、文字コードをEUCにして すべてのページを作成していますが、 内部ページとボタンのポップアップメニューが 文字化けがでたりでなかったり、ひどいです。 DreamWeaverテンプレートをEUCで作成して、 そこから全ページEUC(.htmlのページも.phpのページも) で読み出して作成しています。これが文字化けの原因なのでしょうか。 それともPHP自体テンプレートから引き出して作らず個別で製作したほうが良いのでしょうか? もちろんPHPが画面上にPrintする部分は編集可能領域にしてあります。 それとも、ふと思ったのですが、 テンプレートもそこから新規作成するページもShift-JISで作成し、 挿入>PHP>PHPインクルード+PHPページエンコーディングで <?php include(mb_http_input("EUC-JP"); mb_http_output("EUC-JP");); ?> といれればそれで良いのでしょうか。 DWの機能も内容にはいっていて 板違いは承知ですが、質問させてもらいました。 これだからデザは、、などといわれるのは覚悟の上ですが、 知識ございますかた、ご教授ください。宜しくお願い申し上げます。
>>154 それでオイラはどっちのスレで答えればいいのかね ゚・(ノД`)・゚・
ttp://pc5.2ch.net/test/read.cgi/hp/1106804437/713 DWのEUC対応が不完全なせいじゃないかなぁ。
バージョン上がる度にEUCの問題を起こしてる気が。
HTTP入出力をEUC、スクリプトをSJIS(HTMLに埋め込みっぽいから)にすると
トラブルの原因にもなるので、EUCに統一した方がよいかと。
で、DWでSJISで作って 出来上がったファイル(s)をなんらかのツールで
EUCに変換するのが楽じゃないかなぁ。
156 :
153 :2005/03/21(月) 05:20:19 ID:???
>>154 人の番号名乗ってんじゃねぇヽ(`Д´)ノウワァン
157 :
154 :2005/03/21(月) 05:25:47 ID:???
>>155 おっしゃる通りです。
マルチです。申し訳ありません。どちらに書いたらいいのか判断がつかなかったので
ご容赦ください。
(1)同一サイト内で文字コードを変える(.htmlはShift-Jis、.phpはEUC)ということは
ブラウザに迷わせてしまうので避けるべきですよね?
(2)それと.phpのページに対してDWのテンプレート機能は使用しても問題ないのでしょうか
とりあえずご教示いただいた通り、S-JISにて作成して、秀かMiにて、
文字コード変換を手動ですることにします。
>>153 ゴメソ
>>157 マルチはやめろ。
判断つかないならサイコロでも何でもいいから1つに決めて質問しろ。
不適切ならきっと誘導してくれる。
159 :
154 :2005/03/21(月) 06:28:46 ID:???
すみません。マルチ謝罪して誘導してきました。
http://pc5.2ch.net/test/read.cgi/hp/1106804437/715 みなさんレスいただきましてありがとうございます。
おそらく期末前で徹夜で仕事しながら私の質問をみていただいている方も
大勢いらっしゃるはず。反省しております。
再度整理して質問させてください。
(1)同一サイト内でページごとに文字コードを変える(.htmlはShift-Jis、.phpはEUC)ということは
ブラウザに迷わせてしまうので絶対避けるべきでしょうか?
(2).php等のサーバーサイドの動的コンテンツに対してDWのHTMLテンプレート機能は使用しても問題ないのでしょうか
以上です。宜しくお願い致します。
>159 1しかわからんけど。 ちゃんと文字コードを指定してたら問題ないんじゃないか? フレームとかincludeさせちゃうとダメだろうけど。
161 :
nobodyさん :2005/03/21(月) 11:31:46 ID:Xj0YOktX
ユーザーにアップロードさせるディレクトリではphpを無効にしたいんですけど、 拡張子を.phpにしてアップさせなければいいのではというの以外に、 .htaccessなんかで設定できるディレクティブはありませんか?
163 :
144 :2005/03/21(月) 12:37:17 ID:???
164 :
161 :2005/03/21(月) 12:55:21 ID:???
>>153 さんくす。参考になりました。
リンクをクリックしたかどうかを判別する何かいい方法はありませんか?
携帯向けだからリファラでは判別できないし
やはりユニークIDを付けてリンク先に飛ばす前にファイルに書き込むしかないでしょうか?
166 :
166 :2005/03/21(月) 13:08:34 ID:???
自分のアップロード用のディレクトリは Options -ExecCGI AddType text/plain .php .html .cgi .css IEだと意味無い部分もあるけど自分はIE使ってないので変なブラクラ踏まされることも無い
>>159 (1) ちゃんとhttpdの設定でHTTPヘッダに適正な文字コードの出力がなされ、
かつHTMLドキュメントのMETAの方でも適正な文字コードが指定されてれば
まず問題はないので絶対とは思わない。しかしブラウザによってはPOSTする
文字コードが混乱して変なことになったことがあるので、
余り混在させるべきではないと経験的に考える。
(2) DWを知らんので回答できず
>>165 素直にセッション使ってSIDをURLに付加すればいいと思う。
echo ltrim('web_content/text','web_con'); echo ltrim('web_content/text','web_cont'); 上と下では結果が結構違うんだけども・・ 何故に? あ、やりたいことは親ディレクトリ名を切り取りたいだけです。。orz
>>169 どうおかしいと感じたのか書いてないので想像するしかないですが、
ltrimの2つ目のパラメータの意味を勘違いしているものと思われます。
ltrimの2つ目のパラメータは「削除したい全ての文字をリスト」したものです。(not 文字列)
1つ目のltrimは、8文字目のtでパラメータに無い文字を発見するので、それ以降の文字が返されます。
2つ目のltrimは、12文字目の/でパラメータに無い文字を発見するので、それ以降の文字が返されます。
目的にそぐわない関数だと思われます。
>>169 指定するパラメータは「文字列」でなくて「文字リストの列」なんだが理解してる?
トリミングをそういうふうに使うのもめずらしい
あー、なるほど。本に
ltrim($xxx, "-");
って載ってるから同じような物かなーと思ったけど、
第2パラメータの文字列が配列として1文字ずつ比較(?)されてたから、
第1パラメータのみに存在する文字が出た時にそこから後ろが抽出された訳・・かな?
>>170 (なんかカコイイ。。Thanks!)
>>171 >>172 ありがとうございました。
と、言うわけで質問します。
カレントディレクトリ名を取得する関数などはあるのでしょうか?
フルパスではなくて、ディレクトリ名です。
www.xxx/php/index.htm の場合、 php とディレクトリ名を取得したい。
PHP5ってのがあるけど これってPHP4のスクリプトは書き換えないと使えないの?
>>173 $path = "www.xxx/php/index.htm";
echo basename(dirname($path));
176 :
131 :2005/03/21(月) 23:25:37 ID:???
>137 亀レスですが、ご丁寧にありがとう。 まだPHPを触り始めて1週間とかなので、 非常に参考になります!
177 :
nobodyさん :2005/03/22(火) 18:29:04 ID:LgrnIX4+
前スレ636です。 ログファイルに<!--- --->で囲まれた部分を複数出力する方法を お尋ねしたところ $reg = "/<!--- (.+?) --->(.+?)<!--- \/\\1 --->/"; preg_match_all($reg, $RetrieveFile, $DataPrint); と御教授いただいたのですがechoの書き方がわからず参ってます。 echo $DataPrintと書いてもecho $DataPrint[0とか1とか2とか]書いても 全てArrayになるのですが、$regの2番目の(.+?)に該当する部分を 出力するにはどうしたらいいのでしょうか?
178 :
軟式PHP :2005/03/22(火) 18:53:07 ID:???
とりあえずprint_rなりvar_dumpなりしてみて自分で考えれ。
>>177 つミ
print_r($DataPrint);
すまん、自身の変数名を文字列として取得する方法(関数)ってあったけ?
string getMyName(string varname) だったとして、どうやってその関数を使うつもりなんだろう。。
匿名関数じゃ駄目なのかな
183 :
nobodyさん :2005/03/24(木) 12:27:03 ID:uQ7Kwr2a
連想配列って英語で何ていいますか。
associative array
185 :
nobodyさん :2005/03/24(木) 16:11:55 ID:cbGEPWrc
189 :
185 :2005/03/24(木) 20:42:36 ID:???
>>188 そういう感じです。
何処を見ていいかわからなかったもので検索後もいろいろ試してみたんですが・・
やってみます、ありがとうございました。
190 :
185 :2005/03/24(木) 20:50:30 ID:???
>190 それリダイレクトなんかじゃなく ちゃんとデータベース作ってやった方がいいですよ
193 :
nobodyさん :2005/03/25(金) 03:25:56 ID:EQZt/eu0
popenを使ったPHPスクリプトにチャレンジしてます。 以下のようなスクリプトをシェル上で実行すると ghijk がちゃんと 出力されるのですがweb経由でスクリプトにアクセスすると何も表示されません。 どうすればwebでも読めるようになりますか? <?php $data = "abcdef\nghijk\nlmnopqr"; $fp = popen("/usr/bin/grep 'i'", "w"); fputs($fp, $data); pclose($fp); ?>
195 :
193 :2005/03/25(金) 07:21:03 ID:???
>>194 失礼しました。環境は
OS: FreeBSD、PHPバージョン: 4.3.10
です。
変数に評価式を入れて それをifに渡してやることって可能ですか? 以下のようなイメージです。 $f = 'is_string($str) && strlen($str) > 0'; if($f){ // 文字列 }else{ // それ以外 }
>>196 eval使えばできないことは無いと思うが用途がわからん
if(式)じゃなんでだめなの
>>197 ユーザに評価式を入力してもらいたかったんです。
evalで出来そうですね。
そ、それはセキュリティ的に恐ろしいぞ。
>>195 そういう意味じゃなくて、194はコンソールアクセス(成功した方)と
同等の環境(権限とかパスとか)をWebアクセスにも与えろってことだと思うよ。
>>198 入力されたものをevalするのはやめろ
readfile(\"/etc/passwd\");
とか入力されるぞ
>>199 ,201
どうもです。確かにそうですね。
204 :
193 :2005/03/25(金) 19:31:21 ID:???
>>200 えっと、grepのパスも/usr/bin/grepとフルパスで指定しているし
grepのパーミッションも-r-xr-xr-xの状態ですけど、これ以外にも
環境を合わせないといけないところがあるということでしょうか?
>>193 何も表示されないとか意味の無い情報じゃなくて、
実際はどんなエラーが出てるの?
206 :
193 :2005/03/25(金) 20:22:33 ID:???
>>205 とりあえずerror_logには何も残ってません。
ブラウザー上にはエラーさえも出ません。
念のためtelnetでwebサーバーにつなげてみましたが以下の通り
ヘッダ以下には何も書いてありませんでした。
$ telnet www 80
Trying xxx.xxx.xxx.xxx...
Connected to www.
Escape character is '^]'.
GET /~myuser/test.php HTTP/1.0
HTTP/1.1 200 OK
Date: Fri, 25 Mar 2005 11:16:58 GMT
Server: Apache
X-Powered-By: PHP/4.3.10
Content-Length: 0
Connection: close
Content-Type: text/html
Connection closed by foreign host.
$
>>206 error_logには何も残さず、HTTPでも何も吐かないように
設定していると通常はそうなります。
208 :
193 :2005/03/25(金) 21:11:43 ID:???
>>207 なるほど。そういうものだったんですか。
サーバー管理者ではないのでphp.iniとかの書き換えはできませんが
error_reporting(E_ALL);
を付け加えてやってみました。error_reporting関数を使っても
エラーは何も出てこないですねー…
>>208 display_errorsやほかその他エラー関連の設定は?
エラー関連の設定はほぼ全部ini_setで変更できる
/usr/bin/grepなんて家にはないがSELinuxが絡んでるかもね
>>193 popenで開いて、開いたプロセスに$dataを入力として渡してるが、
プロセスからの出力は、拾ってないぞ?
popenは一方向のパイプしか扱えないから、
proc_openをつかえ。
んで、fputsで$data渡した後、fgetsなりなんなりして結果を取得してくれ。
proc_openの使い方はpopenとは異なるからマニュアル嫁よ。
212 :
193 :2005/03/26(土) 06:11:40 ID:???
>>209 ini_setで変更できるの初めて知りました。
とりあえず以下を追加しましたがやはり何もエラーは残りませんでした。
ini_set("display_errors", "on");
ini_set("log_errors", "on");
ini_set("error_log", "log.txt");
213 :
193 :2005/03/26(土) 06:12:06 ID:???
>>211 proc_openのマニュアル
ttp://php.s3.to/man/function.proc-open.html を読みました。よくは理解できなかったのでサンプルを参考に作ってみました。
やはりシェル上では動きますがweb上では何も表示されませんでした。
<?php
$data = "abcdef\nghijk\nlmnopqr";
$descriptorspec = array(
0 => array("pipe", "r"), // stdin is a pipe that the child will read from
1 => array("pipe", "w"), // stdout is a pipe that the child will write to
2 => array("file", "/tmp/error-output.txt", "a") // stderr is a file to write to
);
$process = proc_open("/usr/bin/grep 'i'", $descriptorspec, $pipes);
if (is_resource($process)) {
fputs($pipes[0], $data);
fclose($pipes[0]);
while(!feof($pipes[1])) {
echo fgets($pipes[1], 1024);
}
fclose($pipes[1]);
proc_close($process);
}
?>
214 :
nobodyさん :2005/03/27(日) 12:04:17 ID:VfQV7VpE
ホームディレクトリ以下の特定ディレクトリ内でのみ phpを使えるように設定しているのですが、どうも期待通りに動いてくれません。 /home/*(username)/public_html/php以下でのみphpを動かしたい open_basedir = php user_dir = public_html とやってみたのですがダメでした。 どの辺の設定をいじればいいのでしょうか?
>>214 ・「期待通りに動かない」とはどうなるのか。
・そのopen_basedirとかは何の設定なのか。
>>214 それはPHPじゃなくてhttpサーバの仕事だよ
Apacheなら.htaccessで設定できるから該当のスレにどうぞ
217 :
nobodyさん :2005/03/27(日) 18:30:34 ID:o5yBDsfR
例えば、下記のようなコード時に、 $a = new TestClass(); $b = &$a; $aと$bが同じものかどうか(内容が同じというわけではなく、 指し示すメモリの場所が同じ)を検知したいのですが、 なにか良い方法はあるのでしょうか? どうかご教示下さい。お願いします。
>>217 メモリのマッピングをになっているリファレステーブルで
同じ値が割り当てられていることをもって、指し示す
メモリの場所が同じと見なすしかないと思う。
それとも「同じ値が割り当てられている」ことを調べたいのかな?
220 :
nobodyさん :2005/03/27(日) 19:16:43 ID:o5yBDsfR
>218,219 やはり無理っぽいですね・・ どうもありがとうございます。
>>219 >それとも「同じ値が割り当てられている」ことを調べたいのかな?
どうかご教示ください。お願いします
自動で他人のサイトへのアクセス数を増加させるプログラムは可能でしょうか? 可能だとしたらどうやったらいいのかまったくわかりません。 どなたかご教授よろしくお願いします。
田代砲久し振りに聞いたw サーチかなんかのランキング上げたいんジャマイカ?
>>223 >>224 そうです。でも田代砲まで強力じゃなくて。
10分間に1アクセスくらいでいいです。
PHPじゃなくてJavaScriptで作れるんですか?
PHPで簡単に作れないでしょうか?
作り方のヒントだけでも教えてください。お願いします。
$dat = " 1 2 3 4 "; $dat = preg_replace("/1(.*)4/","",$dat); 結果が以下のようになりそうでならないのですがどうしてでしょうか? 1 4
>>227 ヒント:
改行にマッチさせるためにはオプションが必要です
preg_replace("/1(.*)4/m","",$dat) preg_replace("/1(.*)4/m","",$dat,'m')でもダメでした^^; 洗濯物を干しながら考えてみます
>>226 ヒント:「PC常時起動」「META」「リロード」
>>226 バカ?
田代砲のパラメータを書き換えればいいだけだろ。
232 :
227 :2005/03/28(月) 13:26:01 ID:???
$dat = preg_replace("/\n/","",$dat); $dat = preg_replace("/1(.*)4/m","\\1",$dat); とすれば結果が23となるので改行が問題なのはわかるのですが/mをつけても 複数行にはマッチしないようです。複数行の解釈を間違えているのでしょうか?。
>>232 .(ドット)を改行にマッチさせるのはsです
$dat = preg_replace("/1(.*)4/s","\n",$dat);
234 :
232 :2005/03/28(月) 13:37:54 ID:???
↑じゃ意味無いな $dat = preg_replace("/1(.*)4/s","$1",$dat);
235 :
227 :2005/03/28(月) 13:43:42 ID:???
236 :
nobodyさん :2005/03/28(月) 16:29:39 ID:AxvngZW7
設定ファイルのようなものを作ろうと思うのですが、 今まではクラス化されてないPHPコードべた書きのファイルを作り、 グローバル変数として使うというやり方をしていました。 しかしより洗練されたやり方をと思い、設定ファイル自体を クラス化し、ゲッター(セッターは必要ないですよね)で値を取得 というやり方を考えました。 前者が駄目なやり方とは思いませんが、後者のやり方は一般的な オブジェクト指向プログラミングにおいて正しいやり方でしょうか? オブジェクト指向プログラミングにまだ慣れていないので変な質問かも しれませんが指揮者のご意見をお聞かせいただければと思います。
237 :
236 :2005/03/28(月) 16:35:37 ID:???
イメージ的には以下のような感じを考えています。 class Config { var hoge; var fuga; // コンストラクタ // ここで値をセットするのでセッターはいらない? function Config() { hoge = "hoge"; fuga = "fuga"; } // ゲッター function getHoge() { return $this->hoge; } function getFuga() { return $this->fuga; } }
238 :
236 :2005/03/28(月) 16:45:56 ID:???
コンストラクタの部分は$this->が抜けていました。 失礼しました。 ちなみに今回お聞きしたいのはどちらかというと小規模な開発 というよりも中規模・大規模開発を視野に入れた保守性重視の オブジェクト指向ガチガチの開発の場合を想定しています。
>>236 別に決まりは無いので好きなように作ればいいと思いますよ。
自分の場合は値の変わらない設定値は定数にしてます。
テーブルに2次元配列にして10行10列位表示したいのですけど、 どのようなやり方になるのでしょうか?配列に慣れていないので よくわからないのです。ご指導宜しくお願いします。
>>241 配列に慣れてないのは構わないんだが、
それ以前に自分の伝えたいことを書き表すのに慣れてないような気が。
そこで指し示す"テーブル"とは具体的に何?
>>242 具体的にはexcelのワークシートです。
(0.0)、(0.1)、(0.2)のように入れていきたいんです
>>243 htmlのテーブルを使って素直に書くと、
<table>
<tr><td><?php echo $array_data[0][0]; ?></td><td><?php echo $array_data[0][1]; ?></td>〜</tr>
<tr> 〜</tr>
〜
</table>
つー風にも書けるけど、それさえも分からんってことじゃないでしょ?
何に困ってるのかよく分わかんないよ。
245 :
226 :2005/03/28(月) 23:06:17 ID:???
田代砲ってどこにありますか? 探したけど見つかりませんでした。
246 :
nobodyさん :2005/03/28(月) 23:11:38 ID:VOOnUpPo
PHPで.htmlファイルを出力させられる? indexファイルがindex.htmlじゃないとダメで、 テンプレ部分とかいちいち書き直すの面倒なんです
>>246 datファイルの出力もできますし、htmlファイルの出力もできます。
ログファイルの一番上の1行だけ読む関数って無いのか?
>>248 fopen
fgets
fclose
あーはん?
250 :
248 :2005/03/29(火) 11:50:32 ID:???
>>243 >244とヘッダーにおっすおらエクセルよろしくな!って書けば終わりじゃね?
それ以外だとエクセル調べるしかないのでスレ違いだと思われ
>>251 >おっすおらエクセルよろしくな!
いっちょやってみっか じゃないのか。
253 :
nobodyさん :2005/03/29(火) 14:02:19 ID:fSc5qMir
フォームから受け取った文字列に含まれる全角スペースを すべて取り除きたいのですが、下のようにしても取れてないようです。 どこが間違えてるんでしょうか? $hoo=$_POST['hoge']; $hoo=str_replace(" ","",$hoo);
合ってるよ、文字コードの問題じゃないのかね。
質問です。 当方、PHP 4.3.9 を先日インストールしました。 <?php $name = $_SERVER["PHP_SELF"]; echo $name; ?> と書いても何も表示されません。 スーパーグローバル変数がPHP 4.1.0 から使用できることは知っているのですが、 それ以外にphp.iniの設定などがあるのでしょうか?
まずは <?php phpinfo(); ?>
>>255 サーバーがAn HTTPD だったりしないか?
258 :
nobodyさん :2005/03/29(火) 18:42:20 ID:3cB8cobm
$array = array( "a" => "10", "b" => "20", "c" => "30" ); $pop = array( "20", "30" ); という二つの配列があって、$arrayから、$popの値が同じデータを削除したいのですが なんか上手い方法ないですか?
259 :
258 :2005/03/29(火) 19:01:41 ID:???
あ、ちなみに自分で考えた方法は foreach($array as $key => $val){ $flag = 0; foreach($pop as $del){ if($val == $del){ $flag = 1; } } if($flag != 1){ $newArray[$key] = $val; } } です。
$array = array_diff($array, $pop); じゃだめ?
foreach($pop as $value){ print array_search($value,$array); } てのもありかと。
262 :
261 :2005/03/29(火) 19:25:18 ID:???
あ。重複を見つけたいんじゃなくて削除だったか。スマソ
>>259 array_search を使ったら?
foreach ループを途中で抜ける命令ってあったっけ?
break;
267 :
nobodyさん :2005/03/30(水) 03:58:20 ID:VK+XSbsa
携帯電話用の画像掲示板作りたいんだけど、これってqmailの設定と やる必要あるの?
>>267 qmailの設定変更ができない状況であれば、代替手段を考えればよい。
制約条件が多くなるほど使える手段が減り、最終的に実現不可能ということになる。
>>267 いらね。つかなんでケータイとqmailが関連するのやら
>>269 qmailである必要はないが、携帯で画像アップする方法に、
メールを使う以外、なにかあるなら言ってみろ。
ワカランチンが余計なことほざくな。タコ。
272 :
nobodyさん :2005/03/30(水) 09:30:31 ID:PFZcR5nD
PHPからMySQLにバイナリデータを挿入する時に特殊文字をエスケープする為の関数って PHPに用意されてる?あったら教えて欲しい。
273 :
nobodyさん :2005/03/30(水) 09:41:09 ID:P9xGS9Mv
Vine Linux 2.5+Apache 1.3.27+PHP 4.3.10です error_log()で日本語のログを書き出してるんだけど、ある時期から 日本語が文字化けするようになりました 前:[error] エラー 今;[error] \xa5\xa8\xa5\xe9\xa1\xbc 何がきっかけでこのようになり始めたのかは正直わからないんですが 対処する方法はありませんか? PHPソースはEUCで、error_log()に渡す際にエンコードはしてません
>>271 qmailからのパイプにて、phpスクリプトで添付データを処理
(PHPである必然性は何処にも無いが…)
って、
>>267 の質問からは大きく逸脱するが(w
275 :
nobodyさん :2005/03/30(水) 14:22:47 ID:LVdKz7n5
4月から、初めてPHPをするのですが、 includeとrequireの違いがわかりません。 お忙しいとは思いますが、なにとぞ、よろしくお願いします。
277 :
nobodyさん :2005/03/30(水) 15:06:42 ID:zj/psBx6
データベースであるテーブルのレコード数を数えたい時, 上手いやり方が分からないので $rs=mysql_query("select * from hoge"); $cnt=0; while($row=mysql_fetch_assoc($rs)){ $cnt++; } などとやってるのですが、もっと効率のいい方法は無いのでしょうか。 count($rs)とかcount($row)とかやってみたんですが 正しく帰ってきてないみたいです。 php4とMySQL4.0を使ってます。よろしくお願いします。
>>277 とりあえず、$rsに何が割り当てられているのか勉強すると良いよ
想い違いしてるし
>>277 select count(*) from hoge
280 :
255 :2005/03/30(水) 15:38:29 ID:???
>>257 そうです。サーバはAN HTTPDを使ってます。
AN HTTPDだと使えないんでしょうか?
>>280 $_SERVERはwebサーバ依存だから表示されないんなら使えないんだろうよ
設定でどうのこうのは無かったと思う
282 :
nobodyさん :2005/03/30(水) 16:12:38 ID:LjnlbFKQ
ちょっと教えていただきたいのですが、 sendmailを使ってクライアントへ日本語テキスト+csv形式の添付ファイルをつけたものを送信したいのですが、 クライアントの環境がwindowsXP、IE、そしてメールソフトがノーツなのです。 ノーツ以外のメールソフトで受信すると正常なのですが、ノーツでは文字化けするといわれました。添付ファイルは普通に読めているようです。 本文のヘッダの関係なのかな、と思ったのですが、charsetはISO-2022-JPです。 途方に暮れてるんですが、どうしたらいいでしょうか。 板違いだったらごめんなさい&誘導してくださると助かります。
283 :
nobodyさん :2005/03/30(水) 16:31:04 ID:LjnlbFKQ
282です。 ごめんなさい自己解決。 本文のcharsetをUTF-8にしたら普通に見れたみたいです。 お騒がせしました。
284 :
nobodyさん :2005/03/30(水) 16:49:27 ID:zj/psBx6
>>278 なんか配列みたいのが帰ってきてるのかと勘違いしてました。
下のようにしたらできました。というかmysql_num_rowsを知らなかった・・・。
$rs=mysql_query("select * from hoge");
$cnt=mysql_num_rows($rs);
>>279 mysql_query(select count(*) from hoge)として
レコード数を直に受け取る方法はあるのでしょうか?
>>279 $cnt = mysql_result( $rs );
長過ぎる文字列を"..."で省略したいんですが、 文字列を先頭から何バイト目まで表示、以降は任意の文字列に置き換えっていう関数があったと思うんですが、何でしたっけ? どうもみつけられず。
$str = mb_strcut( $str, 0, 100 )."..."; でいいんじゃないの
substr_replaceかな?
289 :
286 :2005/03/30(水) 17:31:10 ID:???
なるほど、n文字目以降を、任意の文字に置き換えというより、 先頭からn文字まで表示して、任意の文字列を足す、と考えればいいんですよね、ありがとうございました!
>>270 今時のケータイは普通にアップできるだろ?
すいません、頭パンクしてます。 特定のディレクトリから下層のディレクトリまで全部の可視ファイルを検索、そのファイルの作成日時か更新日時を取得して、現在の日時に近い順にソートしてhtmlにリンクで出力させるって可能ですか? 素直にsqlの方がいいのでしょうか? うちのいつもタコ管理者(鯖ダウンさせる天才)に言ったらsqlで自分でやってと言われますた。 っつか、sql使った事ないので分かりません。phpのみでって出来ます?
>>290 今時のケータイのみ対応したい場合はそれでもいいね。
それ以前の携帯もターゲットに含む時はメール「しか」手段が無い。
>>291 そこに書いてある通りの事を管理者に言って、「SQLですれ」って返されたのなら、
「えええええええ(AA略)」って顔で反応すべきだったな。
PHPのマニュアルの「ディレクトリ関数」「ファイルシステム関数」の関数を幾つかと
再帰処理を使えば、PHPだけでも可能。
>>291 PHPの関数のみで、そんなに苦労しなくても出来る。
>>294 そっか...可能なのか...ちょっとマニュアル見て頑張りまつ。(´・ω・`)
...っつか簡単な掲示板しか作ったこと無い漏れにできるだろうか。
やはりうちの鯖管はダメポなんだな...大丈夫かうちの会社...
PHPでポリモーフィズムってどうやって実装するのかな?
>>296 まぁ、望む事はPHPのみで実現可能だが、
巨大なサイト(対象ファイルが多数)の場合なら、
深夜帯などに定期的にDB化しておいて、表示の際にはSQL使ったほうが、
鯖負荷は低くて済むかも。あくまでもケースバイケース。
DBにファイルのリストを入れといてSQLで取り出しHTMLにすれって事なんだろうか? どうやってDBに入れるんだろ?
300 :
nobodyさん :2005/03/30(水) 21:29:51 ID:4FafkLm/
電子手帳用OS、WindowsCEでローカルファイルの PHP拡張子ファイル、を閲覧するようにできるでしょうか?
>>300 とりあえずphpインストールしてみれば
>>299 ファイルパスと、filemtimeでも放り込んでおけば、
後は如何様にも・・・
ってDBとの接続の仕方とかから説明が必要?
フォームを使って、クライアントブラウザからサーバへXMLデータを送信することはできますか。 あるいはXMLでなくても任意のテキストファイルを送信することはできますか。 通常、フォームを使うとデータは param1=value1¶m2=value2&.... という形で送信されます。 しかしこの形式だと、入れ子になったデータを表現するのが難しいです。 そこで、もしフォームデータをXML形式でサーバに送信できたら、入れ子になったデータが簡単に扱えるようになるんじゃないかと思ってます。 HTTPは任意のデータを送信できるので不可能ではないと思うのですが、HTMLとブラウザを使っているかぎりはどうしたらよいのかわかりません。
305 :
303 :2005/03/31(木) 01:52:15 ID:???
>>304 そこをもうちょっと、具体的に。ヒントお願い。
306 :
286 :2005/03/31(木) 01:56:00 ID:???
すいません、先ほど解決したと思ったんですが、どうもおかしいところがあるので再度質問させてください。 $str = mb_strcut( $str, 0, 100 )."..."; こうしたんですが、テキストに日本語が混ざっている場合、考慮されずに2バイト中の1バイトの部分でぶった切られたりしますか?? 日本語英数混在しているんですが、どうもそれが原因で後のhtmlに影響が出ているっぽいんです。 こういった場合、どうしたらいいものでしょうか??
POSTでどうぞ。 textareaにガリガリとXMLを書けw
>>306 実際に$strがどうなっているか見るべし
309 :
286 :2005/03/31(木) 02:04:37 ID:???
>>308 htmlソースを見ると、文字じゃない文字になってます。
ブラウザ上では表示されません。
ココにコピペしようかと思いましたが出来ませんでした。
環境:
MacOSX safari 文字コードはUTF-8です。
>>303 FROM要素のenctype属性で指定できる仕様になってる。
実装は知らん。
PHPの話じゃないので続きはほかでやってくれ。
311 :
286 :2005/03/31(木) 02:26:17 ID:???
問題を切り分けた所、文字列の中に入っているhtmlタグが途中で省略されてしまうためのようでした… そのあたりちゃんとやってまだダメだったらまたお願いします。
312 :
nobodyさん :2005/03/31(木) 04:05:22 ID:Bkn1FNJU
array_uniqueでデータの重複を取り除いた配列の インデックスをちゃんとゼロから順に直すにはどうしたらいいでしょうか。 重複を削除してくれるのは便利なんですが、 インデックスが飛び飛びになるので具合が悪いです。
「文字列」から複数種の「文字」を一度に取り除く関数ってないですか? 今の所、str_replaceなどで一種類ずつ地道に消してるのですが、 上手い方法があったら教えて下さい。
316 :
315 :2005/03/31(木) 06:24:58 ID:???
あ、str_replaceは配列で指定できたみたいです。 消したい文字を配列に全部突っ込んで指定したらちゃんと取り除いてくれました。
>>315 ereg_replace();
preg_replace();
おまいら! レンサバ上のmysqlバックアップどうしてますか myphpadminでダンプしてもアップの上限は2メガまでだし… どうしたらいいものか
strip_tags() を使うと、取り除かないタグを指定して HTML タグを削除できるけど、 例えば、 <a> を残したいけど、属性として残したいのは href だけで、 他に( onclick とか target とか)ついててもばっさり削除、 とか言う場合はどうすればいいんですかね?
320 :
nobodyさん :2005/03/31(木) 11:27:00 ID:LwnfmyDs
メールマガジン等の配信についてですが、購読者リストをforeachさせつつ mail関数で逐次送信するのと、リストをすべてbccで送るのとどちらが サーバの(phpサーバ、メールサーバ、回線等)負荷は低いのでしょう? また、bccで送る場合、何件づつ程度が適当なのでしょう?
>>318 普通にmysqldumpだけど
アップの上限って何のこと
何か制限があるのならdumpファイルから必要な部分だけ切り取ってアップすればいいんじゃないの
>>319 preg_replace
str_replace
>.321 多分、PHPでアップロードできるファイルサイズ制限のことだと思われ。
324 :
319 :2005/03/31(木) 11:47:07 ID:???
>> 322 つまり便利な関数は無いってことで FA?
自作の日記プログラムに独自タグみたいな機能を作っているところです。
例
[url]
http://2ch.net[/url] -> <a href="
http://2ch.net ">
http://2ch.net</a >
ところが、
[search]ほげほげ[/search] -> <a href="./search.php?q=(エンコードされたほげほげ)">ほげほげ</a>
というのをやろうとして、
$text = preg_replace("/\[search\](.+?)\[\/search\]/i", "<a href=\"./search.php?q=".urlencode(\\1)."\">\\1</a>", $text);
とやってもうまく行きません。
urlencodeの部分を、urlencode("\\1")とかurlencode(${1})とか試してみたのですが、ダメでした。
preg_replaceの置換後のテキストの部分で関数は使えないのでしょうか?
>>326 preg_replace_callback かな
>>327 PHPマニュアルのpreg_replace_callbackの頁を見て作り直したらうまく行きました。
すばやい返答ありがとうございました。
携帯サイトにアンケートフォームを設けたのですが、データが送信されません。 どういう風にしたら良いですか?
>>329 です。
<TITLE>登録</TITLE>
</HEAD>
<BODY>
<BR><FORM action="mailto:***@***.co.jp" METHOD="post" enctype="text/plain">
氏名:<INPUT TYPE=TEXT NAME="name"><BR>
メールアドレス:<INPUT TYPE=TEXT NAME="number"> <BR>
ホームページURL:<INPUT TYPE=TEXT NAME="number"> <BR>
在住市名<BR>
<SELECT NAME="市名">
<OPTION VALUE="***市">***市
<OPTION VALUE="**市">**市
<OPTION VALUE="**市">**市
<OPTION VALUE="その他">その他</SELECT><BR>
ご意見・ご感想をお寄せ下さい。<BR>
<TEXTAREA NAME="感想 rows=" COLS=10 5"></TEXTAREA><BR>
<BR>
当サイトを知ったきっかけは?<BR>
<INPUT TYPE=RADIO NAME="きっかけ" VALUE="検索">検索サイト<BR>
<INPUT TYPE=RADIO NAME="きっかけ" VALUE="友人・知人">友人・知人<BR>
<INPUT TYPE=RADIO NAME="きっかけ" VALUE="雑誌">雑誌<BR>
<INPUT TYPE=RADIO NAME="きっかけ" VALUE="広告・チラシ">広告・チラシ<BR>
<INPUT TYPE=SUBMIT VALUE="送信"><INPUT TYPE=RESET VALUE="やり直し"><BR>
</FORM></BODY>
</HTML>
一応タグです。
> action="mailto:***@***.co.jp" 何これ、ふざけてんの?
>>330 携帯電話でform actionにmailtoは使えないよ。
フリーのメールフォームCGIなり探してくるべし。
335 :
333 :2005/03/31(木) 16:35:00 ID:???
>>333 失敬
×:メールフォームCGI
○:フォームメールCGI
>>335 フォームメールCGIってサーバーにあるのですか?
337 :
333 :2005/03/31(木) 16:58:43 ID:???
FORM action="mailto:***@***.co.jp"なんて、何か久しぶりに見た気がする
340 :
ああ :2005/03/31(木) 19:10:01 ID:tGTdWeYS
すみません。 価格など、1000の位でカンマ入れたいんですけど 関数ってありますか。
毎度有難うございました。
またのお越しをお待ちいたしております。
ほんと下らん質問で申し訳ないです。 サバはLinux、apacheです。 アップローダーを作ってみたんですが、 アップロードして保存先ディレクトリにコピーしたら そのファイルの所有者がapacheの動作権限者になってしまうのですが、 所有者権限をユーザー(user_dirの)にするにはどうすればいいのでしょうか。
348 :
nobodyさん :2005/03/31(木) 21:25:55 ID:JFqGEsJm
こんなCGIありませんか スレって無くなったの? 見つからないCGIがあるんだが…
350 :
347 :2005/03/31(木) 21:30:29 ID:???
所有者権限を、じゃない所有者を、だ
>>347 モジュール(Apacheの一部)として動作してるからね
CGI(SuEXEC)で動かせば所有者権限で実行、ファイル作成できるけどだめかね
352 :
347 :2005/03/31(木) 22:06:35 ID:???
>>351 ありがとう。
chmodで所有者権限だけ変更しとけば後々のことに問題ないですよね?
あまり深く考えずにchmodだけしときます。
chmodの引数paelと逆なんですね。
あとperlだとcgiでうがかしてる関係で所有者がusr_dirの人と同じになるんですかね?
>>351
PHPってスレッドセーフな言語にする予定はありますか?
週末暇なのでスレッドセーフな言語にしてみようかなって思ってます
くだらない質問でもOKのスレということで質問させていただきます。 PHPのコーディング規約を見ていたらインデントはスペース4つが推奨で タブは使わないほうがよいとのことなのですが、皆さんはどうされてますか? 個人的にスペース4つなんてどうかと思うのですが。
phpinfo() で表示されるページの右上の哺乳類は何ですか?
>>356 xyzzyのphp-modeのデフォのインデントだな。space(4)かな。
>>358 そのスレ今見たけどタブ派スペース派真っ二つだね。
今までインデントはタブというのが常識だと勝手に思ってたけど
世の中は違ったんだな。
mysql_query で帰ってきた結果を、 一行ずつ読むんじゃなくて 1つの大きな array とかにできる関数とかないのかな?
今日質問したら嘘教えられそうだなーw
367 :
364 :皇紀2665/04/01(金) 08:06:18 ID:???
>>365 え?こんなのを作った俺は馬鹿ななのか?
マニュアル一通り読んだつもりなんだが…
function DBresource2array( $rsc_id ){
$result = array();
while ($line = mysql_fetch_row($rsc_id)) {
array_push($result, $line[0]);
}
return $result;
}
>>367 悪い、文意を取り違えていた。フェッチしないで一気に
多次元配列かなんかに取りたいってことね。
それは、mysql関数には無い(と思う)
369 :
367 :皇紀2665/04/01(金) 08:17:47 ID:???
>>368 なるほど。
っていうかやりたい事は検索なので、
MySQL に普通に query を投げるというコトになりました。orz
初心者の素朴な疑問なんですが、Array に値が入ってるかどうかって どうやってチェックしてますか? 今僕がやってるのはみんな $array = array(); $array = somefunction(); if (count($array)>0 ){ //処理。 } ってやってるんですけど。。
値が入ってるかどうかをチェックするのに何個も手順を踏む必要があるから面倒、 というなら理解できるけど if文一個のワンステップでできてることを、それ以上にどう簡略化したいというのか。
375 :
371 :皇紀2665/04/01(金) 10:26:57 ID:???
>>373 簡略化したいなんて言ってないです…
これがスマートなやり方かどうかわからないから聞いてみたんですが…
376 :
371 :皇紀2665/04/01(金) 10:28:11 ID:???
>>374 is_array だと、array として初期化している変数には true が返ると思います。
if (count($array)){ //処理。 } で、少しスマートな感じ
count だと文字が入っていても true になることあるね. if (is_array($array) and count($array)) { とする必要あり?
>>371 if(implode("", $array)){
echo'何か入っているよ〜〜〜';
}
>>378 $array = array();
と宣言してるんだから
is_array($array)はいらないだろ
>>377 が
>>379 より意味がわかりやすくていいんじゃないの
>簡略化したいなんて言ってないです… >これがスマートなやり方かどうかわからないから聞いてみたんですが… 同じことやん。
382 :
nobodyさん :皇紀2665/04/01(金) 11:36:25 ID:AcRtwYxM
$_POST["hoge"] などのデータを、一括で $hogeに入れ直す関数ってありましたよね…? 教えてください。
384 :
nobodyさん :皇紀2665/04/01(金) 11:49:16 ID:AcRtwYxM
エロサイトとかでZIPのエロ動画をダウンロードするときに多重ダウンするとエラーを表示するのってどうやるのですか? .htaccessで制限かけるのですか? エロイ人教えてください
>>359 5.0.3はウサギ?
5.0.4にしたら犬になった(テリア?)
4.3.11インストールした人教えて
最近のブログ(amebaやnaverなど)で、テキストエリアの部分に 画像とか、太字とかが反映されてるのはどういった技術を使ってるんでしょうか? 適切なスレッドが分からなかったのでとりあえずここで質問しました。
jcode.plの設置ついて質問なのですが CGIを多数設置した場合、それぞれ同じディレクトリにjcode.plがあって 容量を圧迫するので、一つ上のディレクトリにjcode.plを置き 各CGIから読み込ませても平気ですか? それともやはり、一つ一つ同じディレクトリにjcode.plを置いた方がいいのでしょうか?
389 :
388 :皇紀2665/04/01(金) 17:05:34 ID:???
すみません。スレタイの【PHP】ってのを見逃してました。 他のスレで聞いてきます。
390 :
写 :皇紀2665/04/01(金) 17:53:47 ID:wSz0R7pa
photoshop8のシリアルnumber期限切れのしか見つからないんです。 どなたか期限切れてないの知りませんか?
>>390 メールアドレス教えてくれたら、どうしたら良いか教えてあげるよ。
>>386 cvsからロゴを引っ張ってくるとこんな感じになってる。
リビジョン ロゴ PHPver.(ブランチ)
1.5 おっさん
1.6 茶犬
1.6.2.1 黒犬 4.3
1.7 茶犬
1.8 茶犬
1.9 うさぎ
1.10 .うさぎ
1.11 .うさぎ
1.12 .うさぎ 5.0
1.12.2.1 .黒犬 5.0
1.13 .黒犬
やった手順は、
ttp://cvs.php.net/php-src/main/logos.h から各リビジョンのファイルをDLしてきて、
PHPの配列風に手作業で加工 ($php_egg_log = array( 〜 )の形式)。
gif画像の1バイトごとの値を10進数で書いてあるので、
for($i=0;$i<count($php_egg_log);$i++){ $data .= pack("c",$php_egg_logo[$i]); }
てな感じにして、$data をバイナリで保存。
$array = ( [0] => Perl [1] => C [2] => PHP ) という配列を、 $array = ( [0] => PHP [1] => C [2] => Perl ) と、"PHP" を一番上にした配列に組みなおしたいのですが、どうすればいいんでしょうか。
>>393 「PHPを一番上にした配列」というのは他にも幾つか考えられるけど、
それらのうち PHP C Perl の順になるのは何か条件があるの?
PHP Perl C の順になる場合もあるよね。
要素数n個の配列だと (n-1)! 個のパターンがあるような。
readline サポートを使わないで使える readline ってない? while ($line = readline($text) ) { ほげほげ; } とかしたい。
>>395 標準入出力
GPLのreadlineをPHPライセンスのPHPとリンクするのはけしからん、
という話であればBSDライセンスのlibeditというものがある。
397 :
393 :2005/04/03(日) 09:12:02 ID:???
説明不足ですみません。 配列からPHP を一度削除して、配列の一番上に入れたいだけで、特に以下(Perl,C)の配列の位置は問いません。
>>397 array_pop
array_unshift
array_splice
399 :
nobodyさん :2005/04/03(日) 09:43:18 ID:IY142z6m
400 :
nobodyさん :2005/04/03(日) 11:54:58 ID:EIV0TS0d
WEB上で、オンラインゲームみたいにチャットと移動が出来る ものを作るにはどうすれば良いんですか? 一時期話題になった「タキビ」の動けるのを設置したいんですが…
401 :
nobodyさん :2005/04/03(日) 12:12:46 ID:K0aP+PxK
>>400 移動の意味わからんがなー
IRCでも使えば良いんでない?
移動の意味わからんけど
>>400 クライアント側の動作がhtmlだけでは対処できない場合はflash等のActiveXやアプリケーションを使う事になる。
同様に鯖側の動作もhttpだけで対処できない場合はsocketを張ったままでデータのやり取りをする事もある。
どういう仕組みを使えば自分のやりたい事を実現できるかをまず調べてみれ。
403 :
nobodyさん :2005/04/03(日) 22:49:40 ID:MM89HE2P
すみません。すごく簡単な事だというのはわかるのですが どうにも動かないので、助けてください。 フォームで、セレクトフィールドこんな感じ↓で作って <select name="kazari"> <option values="0"></option> <option values="1">ピアス</option> <option values="2">イヤリング</option> <option values="3">指輪</option> <option values="4">へそ用</option> <option values="5">鼻用</option> <option values="6">その他</option> </select>
404 :
403です続きです :2005/04/03(日) 22:50:06 ID:MM89HE2P
POSTでBのPHPファイルに飛ぶようにして BのPHPファイルないで、受け取った$_POST['kazari'] の値によって、一覧表示するMySQLのテーブルを変更させたいのです。 if($_POST['kazari'] == '1'){ $stt = "SELECT * FROM syouhin,kakaku WHERE syouhin.id = kakaku.id AND syouhin.no =".$_POST['kazari']."ORDER BY syouhin.name"; }elseif(略 $res = mysql_query($stt, $conn); while($row = mysql_fetch_arry($res)){ print(略) syouhin.no = の後ろに、1とか2などの数字を入れて試して 見た時は、ちゃんと選択されるのですが、変数を入れようとすると Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource というエラーが出るのです。 どうかご指導よろしくお願いいたします
406 :
403です :2005/04/03(日) 23:17:24 ID:MM89HE2P
>>405さん
すみません。質問がまわれくどかったですよね。
ええと、SELECT文のなかに、変数を入れたいのですが、
>>404 の方法しかわからなくて、回避策を教えて
頂きたいのです。
>>404 mysql_queryの前に、print $stt; exit; を入れて、
数字を直接入れた場合と、変数に設定した場合との違いを調べる。
つーか違いが必ずある筈だから、その原因を print 変数名; てな感じでどんどん遡って調べていく。
409 :
403です :2005/04/04(月) 00:12:07 ID:r/hNOQjg
>>407 さま
>>408 さま
むっちゃ阿呆な事をしていたのだと、やっとわかりました。
ご指導感謝いたします。
ありがとうございます。
410 :
403です :2005/04/04(月) 00:44:20 ID:r/hNOQjg
何度もすみません。 PHPのマニュアル本とサイトでPOSTで受け取る内容の 説明の所を探してみたのですが、select内のvalues="数字"を 受け取る方法が見つけられなくて・・・。 $_POST['kazari']だとselect name="kazari"のkazariが 返されているので、SQL文がエラーをはいているのだと 言うのは理解できたのですが、valuesの中の値を拾いたい 場合は、どのように記述すればよいのでしょうか・・?
>>410 option のアトリビュートは、value's' じゃ無く、value だよ。
適当なHTMLヴァリデータでも通せば、教えてくれるんじゃ無いの。
412 :
403です :2005/04/04(月) 02:48:51 ID:r/hNOQjg
>>411 さま
すみません。
ありがとうございました。
やっと、SQLのselect内に、関数を入れて欲しい情報を
一覧表示させる事ができました。
本当に、ありがとうございました。
なめた口調。
前から思ってたのだが、php のコミュニティってなんで続かないのかね? どこも無惨に放置プレイばっかじゃん。
>412 リクエストされた値をそのままSQLに渡すのイクナイ
>>416 親切なマニュアルあるし
親切な関数あるし
回答者は糞だし
外部サーバにあるphpに値を投げるにはどうしたらいいでしょうか?
下記のようにすると、実現されて入るのですが、スマートじゃないような気がするんです。
$file = "
http://外部サーバURL/hoge.php?a=1&b=2 ";
$fp = fopen( $file ,"r");
$rere = fread( $fp , 100000 );
fclose( $fp );
hoge.phpはgetで受け取った値を元に実行されます。
ログ書き込み等なので、表示はされず、呼び出し元とは完全に独立して動いています。
が、fopen等は本来そういった機能では無いような気がするので、もっといいやり方は無いでしょうか?
>>419 fopenはそういう使い方(httpやftp等のwrapper)も考慮して作られているので
気にしなくていいんじゃないかな。
真面目にやりたい(or 直接ソケットを触りたい)場合には、fsockopenてのも用意されてるけど。
>>419 他人が作ったもんを使いまわすためのスマートじゃないプログラムなんだからそれでええやん。
なんか困ってんの?
define() で定義した内容を全て表示させる関数は無いのでしょうか。
最適なアクセス制限を考えてるんだが、これで問題ないだろうか。 $dame_ip = array('127.0.0.1','localhost'); if(in_array($_SERVER['REMOTE_ADDR'],$dame_ip)){ echo "<p>アクセスが許可されていません</p>\n"; exit; }
424 :
nobodyさん :2005/04/04(月) 19:00:30 ID:r/hNOQjg
こんばんは。 すみません、教えて下さい。 3つの入力された数字を3で割って、小数点以下の 割り切れない数字を、四捨五入したいのです。 色々調べて試してみたのは $hoge = (($suuti1)+($suuti2)+($suuti3))/3; $hoge1 = round($hoge,1); なのですが、一見意図した小数点第一までの表示で 第二の数字を四捨五入している感じなのですが、 割り切れた場合にも、繰り上がってしまうのです。 ($hogeが10の場合、print '$hoge1';で11になってしまう) なにか良い回避策は無いでしょうか・。 どうかご指導よろしくお願いいたします。
>>417 様
ご心配頂ありがとうございます。
フォームフィールドからPOSTで受け取って来た変数が
textからの時は
$auth = mysql_escape_string($_POST["auth"]);
$auth = str_replace("%","\%",$auth);
としてから、使うようにしております。
これで、大丈夫なのですよね?
もし大いなる勘違いでしたら、ご指導いただけると
幸いです。 よろしくお願いいたします。
428 :
424 :2005/04/04(月) 20:00:45 ID:r/hNOQjg
>>427 頂いたご指導から、考えてみたのですけれど・・・。
$suuti7 = '3';
$suuti8 = '3';
$suuti9 = '3';
$hoge5 = (($suuti7)+($suuti8)+($suuti9))/3;
$hoge7 = (($suuti7)+($suuti8)+($suuti9))%3;
if($hoge7 ==2){
$hoge6 = round($hoge5,1);
}else{
$hoge6 = $hoge5;
}
print '<br>割り切れない値IFの練習です<br>';
print ($hoge6);
上記で、なんとなく出来たような感じなのですが、
あっていますでしょうか・・・?
429 :
nobodyさん :2005/04/04(月) 20:30:30 ID:yZDujDw2
PHPでパッケージを作ろうと思っているんだけど、PHPだとソースを そのままお客に渡さなければいけないですよね? ソースを盗まれたくないんだけど、いい方法ありますか?
>>429 「php ソース 暗号化」で具具ってみ。
phpBB で見かける、 [url]アドレス[/url] → <a href="アドレス">アドレス</a> [url=アドレス]hogehoge[/url] → <a href="アドレス">hogehoge</a> と変換する方法がわかりません。 どのように組めば実現できるでしょうか?
phpBBのソース見れば?いや、まじで。
434 :
419 :2005/04/04(月) 23:39:28 ID:???
>>420 なるほど、ありがとうございます。
>>421 いや、他人というわけじゃないんですが…。
複数のサーバのアクセスログを一つのサーバに累積させたく、作っている所です。
オブジェクト継承しすぎで、わけわからなくなりました。 どうしたらいいですか。
オブジェクト作るのが悪い
3回以上の継承はあまりお勧めできない。 ってのは常識だろ。
それが常識なのかどうかは知らんが、 継承を辿って調べないと恐くて使えないような設計には問題があるな リファクタリングすれ
オブジェクトを使う理由 なんとなく、今風。 なんとなく、かっこいい気がする。
JAVAに慣れすぎてもとの書き方ができなくなった
>>429 自分で鯖用意
↓
管理費(ウマー(*´∀`*)、バージョンアップも確実に自分に来る(ウマー(*´∀`*)
メンバ変数の名前が長すぎて入力するのが面倒。どうしたらいいんだろ? $b = &$foobar->baz; とかやんないほうがいい?
zend studioがいいよ。 メソバを候補で上げてくれるから。
xyzzy とか emacs 系なら dabbrev で補完とか
<form action="***"method="post> 選択名<BR> <select name="数字"> <option value="1">1 <option value="2">2 <option value="3">3 </select><BR> <input type="submit" value="OK"> </form> 1を選択した時に1が表示出来るようにしたいのですが、***のスクリプトが わかりません。どなたか教えて下さい。
447 :
419 :2005/04/06(水) 21:20:38 ID:???
アクセス解析を作っていて、再度質問なんですが、 検索エンジンからのリファラ検索文字列がどうも文字化けしてしまいます。 $referer = $_SERVER['HTTP_REFERER']; $referer = mb_convert_encoding($referer, "EUC-JP", "auto"); で、その後別サーバへ結果を送っています。 yahoo経由はOKなんですが、googleがダメみたいです。 別サーバで結果を表示させた時に、ブラウザの文字コードをUTF-8にすると、検索文字列がちゃんと表示される (その他の部分は当然、逆に文字化けしますが)ので、mb_convert_encodingが、UTF-8をEUC-JPに変換してくれていないのかなぁ、 と不思議に思っています。 どうしたら、文字化けさせないように出来るでしょうか? ↓phpinfo Configure Command './configure' '--enable-mbstring' '--enable-mbstr-enc-trans' '--enable-mbregrex'
mb_detect_encoding
セッションってブラウザ閉じると消えるけどアクセス日から1日 保存しておきたいんだかどうするんだ?
>>447 urlencodeされた文字列は自動で文字コード判別できない(半角英数記号のみだから)
urldecodeしてからmb_convertでどうでしょう
453 :
nobodyさん :2005/04/07(木) 15:07:37 ID:2aRnQEib
PHPプログラムを呼び出しているHTMLファイルのTITLE情報を文字列で抽出する 方法は無いでしょうか?たとえば以下の場合は、 <HTML> <HEAD> <TITLE>素晴らしきかな我がホムペ</TITLE> </HEAD> <? php (TITEL名を文字列として使いたい) ?> </HTML> PHPのプログラムの中で「素晴らしきかな我がホムペ」という文字列を使いたいです。
>>453 <?php $title = "素晴らしきかな我がホムペ"; ?>
<HTML>
<HEAD>
<TITLE><?php echo $title; ?></TITLE>
</HEAD>
<?php
すきにしなはれ
?>
</HTML>
455 :
447 :2005/04/07(木) 15:48:22 ID:???
>>451 //送信php
$referer = $_SERVER['HTTP_REFERER'];
$referer = mb_convert_encoding($referer, "EUC-JP", "auto");
$referer = urlencode($referer);
//↑ここまでは今までやっていた部分
…
データ送信
…
//受信php
$referer = urldecode($referer);
$referer = mb_convert_encoding($referer, "EUC-JP", "auto");//←これを足した
これで見事に解決しました。ありがとうございます!
送信phpのmb_convertはいらないのかな、とも思いましたが、まあいいかな、と。
>>454 <?php $title = "素晴らしきかな我がホムペ"; ?>
<HTML>
<HEAD>
<TITLE><?php echo $title; ?></TITLE>
</HEAD>
<?php
どうもでやす
?>
</HTML>
457 :
nobodyさん :2005/04/07(木) 18:34:30 ID:jm/6lRT+
この度、会社でHPを作る事になりました。サーバはソネットのビジネス版 なのですが、業者から、ソネットはCGiが使えないから、サーバーを業者指定の 物(ファーストサーバー)に変えてほしいという申し出がありました。 調べたところ、ソネットでcgiが使えないという事はなく、業者が自分の 使えるcgiがソネットで使えるか未確認なので変えてほしいという事みたいです。 もし、使えなかった場合は、外注になると言っていまあす。 簡単なアンケート程度の物で、そんな事あるんでしょうか? 私には、サーバーを変えるより、業者を変えた方がいい様に思えるのですが、 ソネットは使えないサーバーですか?
>>457 「業者を変える」に一票
ってか、ソネットビジネスホスティングって、PHP使えんの?
>CGI環境:Perl 5.6.0 / Python 1.5
って書いてあるな。
その業者、perlの実績が無かったりして。
そして、あなたはスレ違い
459 :
457 :2005/04/07(木) 21:11:57 ID:jm/6lRT+
>>458 ありがとうございます。くだらない質問という文字だけ見て
書き込んでしまいました。CGIのスレで質問するべきでした。
ごめんなさい。
Perl->PHPに移植中なんですが、Perlでいうとこの$val ||= 1はどう書くんでしょうか?
$var = ($var) ? $var : 1; の関数化するとか
どこが悪いか教えて下さい
<form action=htto://www.test.com/test.php method="post">
選択名<BR>
<select name="num">
<option value="1">1
<option value="2">2
<option value="3">3
</select><BR>
<input type="submit" value="OK">
</form>
test.php
<?php
if ( $_POST["num"] == "1" ) {
header("LOCATION:
http://www.test.com/1.html ");
}elseif ( $_POST["num"] == "2" ) {
header("LOCATION:
http://www.test.com/2.html ");
}elseif ( $_POST["num"] == "3" ) {
header("LOCATION:
http://www.testcom/3.html ");
}else {
header("LOCATION: form.html");
}
?>
>>463 どういう動きを意図していたのに、どういう挙動をした。というのを書いてくれた方がレスする方も楽なんだけどね。
action部分の httoがおかしい。特に理由がなければ" "で括っておくことが望ましい。
header("Location: http:〜"); Location:の後に空白が必要。
>>464 まぁそういうことよ。
ブログ全盛のこのご時世だがやっぱプライバシーってのは守られてしかるべきなんだな。
>>463 ホスト名に仮の名前を使うときはtest.comじゃなくてexample.comを使いましょう
>>463 だから、てめぇはJSでやれっつってんだろ!
>>471 GETの時は環境変数QUERY_STRINGに入り、POSTの時には標準入力STDINに入ります。
でも、phpを使う時はそんなことを意識しなくても $_GET,$_POST etc.を使えば良いのでは?
>>472 ありがとうございます。
ディレクトリやファイルをパスに含めてアクセスさせるので不正に変なファイルを
アクセスさせないように複数の変数を一度にチェックしたいと想いました。
$_SERVER['QUERY_STRING']はGETだけなのでリクエストをチェックした方が
良いみたいですね。
474 :
460 :2005/04/08(金) 17:55:07 ID:???
>>461 返信ありがとうございます。
> $var = ($var) ? $var : 1;
↑の手法も良く使うのですが、やはりif文しかないのでしょうかね。
毎回のif文は冗長なので関数にしてみたりしました。
ビルダーでPHPスクリプト作れますか?
>>475 やってやれない事は無い。
やらずに出来る事は無い。
>>476 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
が、必ず一番上にきますが、差し支えないでしょうか?
すみません、age忘れました
481 :
nobodyさん :2005/04/09(土) 02:20:14 ID:P2wkPAu1
http://php.eweb-design.com/0209_tmp.php を参考にテンプレートを使ってHPを作っています。
そこでお聞きしたいのが、テンプレートにPHP更新履歴スクリプト(レッツPHP)を
挿入したいので、テンプレートファイル(html)をphpに変え、スクリプトをincludeして
みたのですが、できてないようで更新履歴は表示されませんでした。
phpファイルだからincludeできるとばかり思ってたのですが・・・
無理なのでしょうか?それとも他に挿入できる方法はありますか?
ご教授下さい。宜しくお願いします。
483 :
nobodyさん :2005/04/11(月) 00:12:38 ID:n2r9fgnb
一番後ろの字が「1」でなければ「←合格」を付け足すような流れにするつもりで 以下の文を書いたのですがうまくいきません。 $text = preg_replace("^(1$)", "←合格", $text); 鈴木1 佐藤 田中 山本1 ↓スクリプト実行 鈴木 佐藤←合格 田中←合格 山本 このような結果を出すためにはどのように書き換えたらよいでしょうか?
484 :
nobodyさん :2005/04/11(月) 00:51:27 ID:6yyE9tWD
俺のIDがPHPなんですが?
485 :
nobodyさん :2005/04/11(月) 00:51:50 ID:6yyE9tWD
ID変わってる((;゚Д゚)ガクガクブルブル
486 :
nobodyさん :2005/04/11(月) 01:29:31 ID:7J6f5Hz+
サーバOSとるにはどうしたらいいですか?
489 :
486 :2005/04/11(月) 02:15:33 ID:???
>>488 サンクスコ。やっぱりphpinfoのSystemのとことるしかないんですかね。
>>487 バーカ
>>489 人を貶す前に日本語勉強してこい。
それだとrootkitが欲しい厨房と読める。
PEARとか作ってる人は大抵、定義済み定数「PHP_OS」を使う。
includeやrequireに失敗した時に、 Locationでエラーファイルに飛ばすにはどのようにしたら良いですか? ifやorを試してみましたができませんでした。
天下とるにはどうしたらいいですか?
>>491 エラーハンドラ(マニュアルのエラー処理およびログ記録関数あたり)を自分でカキカキすればできるような気がするけど、
そんなことをするより、includeやrequireする前に file_exist()を使ってファイルの存在チェックをすればいいような・・
皆さんはどれくらいの期間でそこそこ(掲示板作ったり)できるようになりましたか? 漏れは1ヶ月掛かってもできません|д゚)... しかもプログラムは初めてです。
>>495 掲示板ってのは、最初みんな作ろうとするんだが、
思いの他、色々な知識やテクニックが必要なのさね。
(だからこそ、きちんとした掲示板が作れれば、それなりのスキルがついたともいえる)
なので、ただ書かれた物を羅列表示するだけなら、PHPに触れてから1か月ぐらいでも作れたが
(きちんとした)掲示板を作れるようになるまで、オイラは1年以上かかったな。
Apacheのサイトだったか忘れたけどプログラミング暦25年の初心者って人がいたからそれなりに作れるようになるには結構かかるんだろうよ。 全くプログラミング経験が無い場合は小さなものを作るだけでも3ヶ月〜1年はかかりそうな気がするけどな。 まあ、他人のものは俺のもって言うんなら1週間でも可能だとは思う。
>>496-497 そうですか...
早く覚えたいのはやまやまだけど、所謂Linuxタコなんで(笑)いろいろ調べて頑張ります。
人真似でも人によってコードの書き方や処理が違うので、あんま勉強になりません。
それ以前に、「何でこういう処理するのか」とか「なぜこんな風なロジックなのか」で迷います。
一年か...|彡サッ
499 :
軟式PHP :2005/04/11(月) 18:43:31 ID:???
ガンガレ。 とりあえず最初は深く考えずに作る楽しさを覚えた方がいいと思う。
HTMLだと <a href="index.html#name">go name</a> で<a name="name"></a>したポイントへいけるけど、 index.php#nameだといけない。 これはPHPじゃできないのですか?
. ィ
>>500 .._ .......、._ _ /:/l! またまたご冗談を
:~""''.>゙' "~ ,、、''‐'、| _
゙、'、::::::ノ:::::::_,.-=. _〜:、 /_.}'':,
``、/:::::::::__....,._ `゙'Y' _.ェ-、....._ /_゙''i゙ノ、ノ
,.--l‐''"~..-_'.x-='"゙ー 、`'-、 ,:' ノ゙ノブ
" .!-'",/ `'-‐'') /\ `/ でノ-〈
.-''~ >'゙:: ‐'"゙./ ヽ.,' ~ /
//::::: ', / ,:'゙
502 :
500 :2005/04/11(月) 19:37:31 ID:???
ってよーく見たら自分のミスでしたorz 失礼しました。
503 :
447 :2005/04/11(月) 19:56:13 ID:???
>>494 491じゃないけど、ファイルが存在してパス指定も合ってればエラーは起きないのかな。
エラーになった事が無いから、ちょっと疑問にオモタ
対象がローカルだとしてね。
504 :
nobodyさん :2005/04/11(月) 22:03:04 ID:OM1k7qLv
phpってチャットで作られてるのはみたことーあるけど CGIとどうちがうんだもらぁー 詳しく教えれ
最低限日本語で書かないとな
date("I") でかえってくる値って、サーバーに設定されてる時刻設定に関係あるの?? 日本に置いてあるサーバーでやると、0 でアメリカに置いてあるサーバーだと1がかえってくる。。
508 :
nobodyさん :2005/04/12(火) 04:49:43 ID:UCe7BGgZ
windows2000、apache2、php4.311な環境なんだけどphp.iniをデフォルト以外の場所で読み込ませるにはどうしたらいい? D:\PHPにphp入ってるんでphp.iniもそこにおいて読み込ませたい
アンケートを作ってみました
<FORM ACTION="
http://www.example.com/example.php.htm " METHOD=POST>
氏名:<INPUT TYPE=TEXT NAME="name"><BR>
メールアドレス:<INPUT TYPE=TEXT NAME="email" ISTYLE=3> <BR>
<BR>
選択<BR>
<SELECT NAME="test">
<OPTION VALUE="a">A
<OPTION VALUE="b">B
<OPTION VALUE="c">C
</SELECT><BR>
<BR>
テスト<BR>
<TEXTAREA NAME="impression" rows=" COLS=10 5"></TEXTAREA><BR>
<BR>
テスト<BR>
<INPUT TYPE=RADIO NAME="test1" VALUE="a">A<BR>
<INPUT TYPE=RADIO NAME="test1" VALUE="b>B<BR>
<INPUT TYPE=RADIO NAME="test1" VALUE="c">C<BR>
<INPUT TYPE=RADIO NAME="test1" VALUE="d">D<BR>
<BR>
<INPUT TYPE=SUBMIT NAME="submit" VALUE="送信" id="submit"> <INPUT TYPE=RESET VALUE="やり直し"><BR>
<BR>
<BR>
</FORM>
内容を一度確認して送信するようにするには、どうすればよろしいですか?
>>511 HTMLとしておかしい場所が数箇所あるので、直しておいたほうがいいかと。
確認をしたい時には、確認用のスクリプト(or ロジック)を書く必要があります。
そしてhtmlを大文字で書くヴォケ
>>513 何か問題でも?
多くのHTMLエディタが大文字で吐いてるぞ
うちは手書きなので小文字がほとんだが・・・
xhtml絡みで小文字にしる、って言ってるのかな。
まぁ今回は見当外れもいいところだが。
オイラはcaps lockを押すのが面倒なので普段は小文字。
DreamWeaverも使うけど小文字で吐くように設定してあるなぁ。
>>507 鯖のライブラリを使って時間を取得して、そのライブラリ内で定義されているdst(夏時間)を使うから、
鯖の設定や環境に依存するよ。
これからphpをはじめたいと思っているのですが、 phpはデータベースの連携にすぐれてると聞きました。 phpもデータベースもよく知らないのですが、 会員登録系にある、個人情報,指定したLoginID,LoginPassなどは データベースに格納されて、認証時に引き出してくるものだと思うのですが php+DBで、そのようなことは可能でしょうか? 会員登録した人だけが書き込みできるようなことをしたいので、 ログインシステムみたいなものを作ってみたいと思っています。 知識はhtmlぐらいしかないのですか、 超初心者〜中級者と、幅広く参考になるページも教えていただけると助かります。
「英知体絵夢得」 ソースとして記述する場合は小文字「html」。 マークアップランゲージの固有名称として記述する場合は大文字「HTML」。 で、FA?
>>516 やっぱマンモス本から入るのがいーんじゃねーの?
519 :
516 :2005/04/12(火) 14:02:58 ID:???
>>518 レスどうもありがとうございます。
マンモス本調べてみました。
php+DBのよさそうな教材ですね。
php4とphp5両方買ったほうがいいですかね?
MySQLを勉強しようと思っていましたが、
PostgreSQLに変更してみたいと思います。
520 :
nobodyさん :2005/04/12(火) 14:11:26 ID:m58tL93L
いきなりですが質問します。 CSVファイルを出力するプログラムで 「ファイルのダウンロード」ダイアログ→「開く」を選択した場合 POSTの場合はダイアログが2回表示されるのはなぜでしょう? POSTで1回のみにできないのでしょうか? test.htm のソース -------------------------------------------------------------------------------- <form action="download.php" method="get"> <input type="text" name="data" value="test"> <input type="submit" value="GETでダウンロード"> </form> <form action="download.php" method="post"> <input type="text" name="data" value="test"> <input type="submit" value="POSTでダウンロード"> </form> -------------------------------------------------------------------------------- download.php のソース -------------------------------------------------------------------------------- <?php header("Content-Disposition: attachment; filename=test.csv"); header("Content-type: application/x-csv"); print $_REQUEST['data']; ?> --------------------------------------------------------------------------------
521 :
520 :2005/04/12(火) 14:15:26 ID:???
あーごめんなさい! もしかしたらスレ違いかも知れません。
>>519 PHP4徹底攻略ならpdfがうpされているので、それで勉強すると良いと思う。
PHP5はもう少し本が出そろってからでもいいのではないかと思う今日この頃・・・
$data = "./data/userlist/list.cgi"; $list = file($data); $count = count($list); $in = 2; for($i = 0; $i <= $count; $i++){ print "$id"; print "$id2 <BR>"; print "$pass"; print "$pass2 <BR>"; list($number2,$id2,$pass2,$sex2,$time2) = split( ",", $list[$i]); if (($id == $id2) && ($pass == $pass2)){ $in = 1; } print "$i"; print "$in <BR>"; } if($in == 1){ print "ログインしました"; }else{ print "ログインできません"; } と打ってみたんだんですが、$idと$passが空白のとき一番最後の周期で必ず$inに1が代入されます。 空白でないときはちゃんとなるんですが・・・
質問です。 phpで、外部サイトのソースの一部を読み込むことってできますか? 例えば、www.hogehoge.comのソース内に <!--今日の日記、毎日更新--> 日記の内容 <!--今日の日記ここまで--> という記述があったとして、その記述を www.mogemoge.net/indexphpのページの一部に 埋め込むといった感じです。
525 :
523 :2005/04/12(火) 17:18:20 ID:???
どうやら周期が1回多いみたいでした すみません、自己解決しまいsた
includeで外部ファイルって読めたんだ? ところで外部ってLAN内の外部? それとも地球の裏の鯖?
528 :
524 :2005/04/12(火) 18:27:34 ID:???
>>527 どっちかっていうと、地球の裏側です。
読売新聞のサーバから産経新聞のサーバのデータを読み込む様な。
>>526 includeですか、外部サイトのデータも読み込めるんでしょうか?
でもヒントになりそうです、調べてみます。
ありがとうございました〜。
529 :
nobodyさん :2005/04/12(火) 19:15:08 ID:jjWsVBo6
>>529 サブコンテンツが多すぎるから100万↑
531 :
nobodyさん :2005/04/12(火) 19:21:22 ID:jjWsVBo6
>>530 製作を依頼すると100万円かかるということでしょうか?
>>529 業者乙。どのくらいPV稼げましたか?(w
個々のスクリプト作成よりも仕様決定だけで半分くらい時間とられそうな・・ 全く同じもの(裏の管理者用のページも含めて)を作るとしたら、そんくらい取られるだろうね。 つーか取りたくなるね。
534 :
nobodyさん :2005/04/12(火) 19:29:55 ID:jjWsVBo6
>>533 仕様決定ってなんですか???
そういう作成業者でいいところってないですかね?
おひおひ、あれだけのもの100満程度で受けちまうのか?兵だな。 よくよく見てみると、巨大データベースからチャットから都道府県別BBS、 オマケの諸々・・・ 仕事で受注するなら、400〜600万、システム周りの構築から含めると、 1000万超の見積もり出すぞ、うちの会社なら。
例えば、a.php は POST で値を受け取るとする。 a.php の中で、いくつか処理して、b.php に redirect して、 処理した値をまた POST で送りたい。 大事なのは、ユーザ的には form.html -> b.php に見えるっつぅことです。 そういう場合はどうしたらいいんですか? 今 pear の HTTP_Client を読んでる所なんですけど…
537 :
nobodyさん :2005/04/12(火) 19:58:52 ID:jjWsVBo6
>>535 1000万ですか。
どういう部分で高くなるんですか??
>>537 535じゃないけど解説。
>仕事で受注するなら、400〜600万、システム周りの構築から含めると、
>1000万超の見積もり出すぞ、うちの会社なら。
開発だけで400〜600ってのは設計からプログラミング、テストに至るまでの期間による。
大手SI企業(例えばIBM)とかだと1人が1ヶ月付きっきりだと200万ぐらいかかるが、
普通の企業で計算しやすく1人月100万とする。
そうすると、人間1人が4ヶ月から6ヶ月で作成できる規模ということになる。
(当然人間が2人でやれば2〜3ヶ月)
開発費用がこの程度なら妥当な値段。
それにシステム周りの構築、つまりサーバなりも含めると1000万近くになる。
真面目な構成のサーバを用意すると、それだけで数百万掛かる。
まぁ、この部分は実際のマシン代と考えればいい。
それと、問題はデータだな。
>>529 のサイトはデータがあるからこそのシステムだと思う。
お前さんがどんなシステム欲しいか知らないが、データはあるのか?
データを集める、もしくは買うとなると、データの種類にもよるが
それでけでも数千万〜数億単位で金が掛かるぞ。
539 :
nobodyさん :2005/04/12(火) 20:55:29 ID:jjWsVBo6
>>538 なるほど。ご丁寧な解説ありがとうございます。
つまり
>>529 くらいのwebを作成するにはそのくらいかかると、、
普通のHPと
>>529 の違いというのはどこからなのでしょうか?
ちょっと手の込んだHPというわけではないってことですよね・・・
>>539 少しこの業界の事がわかっていないようで・・・
普通のHPだろうとPHPを使った開発だろうと、
値段は作る為に、『何人がどれ位の期間掛かったか』という事。
541 :
nobodyさん :2005/04/12(火) 21:09:33 ID:jjWsVBo6
>>540 なるほどぉぉ。
そういうのは普通業者に頼むものなのでしょうか?
一般の腕利きでそういうことができる人も少なからずいますかね?
>541 オメェは何の目的で何が知りたいんだ? 単なる興味本意なら、とりあえず社会に出て働け 仕事の発注先を探しているなら、悪いことは云わん。 上司に頼んで担当替えてもらえ
>>541 頼む相手は、作りたい物による。
普通のHPならWebデザイナーやらに頼めばいい、
何かしらのシステムを作りたいならシステム開発会社に頼む。
デザインにこだわりたければ、システム会社に依頼しても、
デザイン部分はWebデザイナーに委託したりしてくれるから、
その辺は打ち合わせとか金次第。
一般の腕利きでそういうことをできる人が居るかだが、普通に居る。
ただし、一般といってもピンキリ。
元々はシステム開発会社に勤めてたって奴も居れば、
本業はシステム開発会社に勤め、副業としてバイト感覚でやってる奴も居る。
全くの独学でやってる奴もいる。
545 :
nobodyさん :2005/04/12(火) 22:11:03 ID:ZbNIWkrh
ifから抜ける命令ってありますか?
break
break('if')
>>546 ループから抜けるのはbreakなわけだが。。。
ifから抜けるの意味がわからん。
function &hogehoge ユーザー定義関数の頭についてる&ってどんな意味があるんですか?
foreach(){ if(){ if() $a=true; (この部分で抜けたい) } error(); } あ、break;でいいのか・・・ 確かにifから抜けるっていうのは意味不明でした。
if(condition){ ..処理1 // ここで抜ける ..処理2 } // ここへ抜ける ってことだよね?そういうのは無かった気が。 最初から処理2を書かなきゃいいだけのような・・・ ある条件を満たした時に抜ける(ifの中にさらにif)だとしても、 処理2の部分を2つ目のifのelseの中に持っていくとか。 って、書いてる間に解決してたか。まぁループ以外で抜ける時の参考ということで。
553 :
551 :2005/04/12(火) 23:26:12 ID:???
結局うまくいかなかったので仕様変更して切り抜けました。 みなさんありがとうございました。
554 :
nobodyさん :2005/04/12(火) 23:52:59 ID:9LvPVNuj
Configuで設定を変えたいのですが鯖にphp.iniがありません。 whichで探すとphp4というファイルがあるだけでした。 こういう場合PHPを再インストールするしかないのでしょうか?
>>554 whichじゃなくてfindで/から探したら?
FHSレイアウトだと/etcに置くのが普通かな
>>554 phpinfo();
で設定表示して「Configuration File (php.ini) Path 」ってところにあるはず。
なければ「php.ini-recommanded」っていうテンプレートファイルがどっかにあるから
findで探してコピーする(まあ大抵は展開したソースディレクトリの中に入ってるけどね)。
558 :
554 :2005/04/13(水) 01:20:13 ID:???
>>557 phpinfo();で見つかりましたm(_ _)m
昨日からphpを勉強しはじめ、初めてのプログラム(?)を書きました。 しかしながら、LINE5でエラーがでます。 test.htmlの内容(htmlなど一部タグ省略) <form method="get" action="test.php"> <input type="text" name="tasu0">+<input type="text" name="tasu1"><br> <input type="text" name="hiku0">-<input type="text" name="hiku1"><br> <input type="text" name="kake0">+<input type="text" name="kake1"><br> <input type="text" name="waru0">+<input type="text" name="waru1"><br> <input type="submit" value="計算"> </form> test.phpの内容 <?php $tasu = $_GET['tasu0'] + $_GET['tasu1']; $hiku = $_GET['hiku0'] - $_GET['hiku1']; $kake = $_GET['kake0'] * $_GET['kake1']; $waru = $_GET['waru0'] / $_GET['waru1']; print <<<EOF 足し算の実行結果 {$tasu}<br> 引き算の実行結果 {$hiku}<br> 掛け算の実行結果 {$kake}<br> 割り算の実行結果 {$waru}<br> EOF; ?> というような、計算機みたいのを作りました。 LINE5ということは $waru = $_GET['waru0'] / $_GET['waru1']; の部分ですが、どこが悪いのでしょうか? 長々とすみませんが、アドバイスお願いします。
560 :
559 :2005/04/13(水) 02:29:39 ID:???
すみません。test.htmlの部分が少し間違えていました。 <input type="text" name="kake0">+<input type="text" name="kake1"><br> <input type="text" name="waru0">+<input type="text" name="waru1"><br> この部分なんですが、<input>+<input>の部分は+ではなく、 kakeのほうは*、waruのほうは/です。 最初の+のやつをコピペしたので、修正忘れてました。すみません。
waru1が0だから、とか言う落ち?
562 :
559 :2005/04/13(水) 03:39:35 ID:???
>>561 詳しく教えていただけませんでしょうか?
一応エラーには
Warning: Division by zero in test.php on line 5
とあるので、0が関係しているようなので、
>>561 さんの言うとおりだと思うのですが
どういうことなのでしょうか?
>>562 詳しくって…
エラー(つうか警告)そのままだろ。0で割ってるよって事だ。
564 :
559 :2005/04/13(水) 04:33:48 ID:???
>>563 値を入れたら、正常なんですが
何も入れないとこのようなエラーが出てしまうので、
文法とかにエラーがあると思ったんですが、そういうわけではなかったんですね。
0/0がおかしいってことですか。
エラーを吐かなくするような、演算子(?)のようなものが
今みてる本の、10ページぐらい前に書かれてたようなきがするので、
ちょっと見直してみます。
どうもありがとうございました。
565 :
nobodyさん :2005/04/13(水) 06:51:53 ID:WcJtctkN
phpの掲示板の作り方を教えているサイトって ありませんか?
566 :
nobodyさん :2005/04/13(水) 07:38:09 ID:tWz+dwtY
>>564 if($_GET['waru0'] && $_GET['waru1']){
$waru = $_GET['waru0'] / $_GET['waru1'];
}else{
$waru = '割れね';
}
0.0 なんかの場合に失敗するよ。
569 :
nobodyさん :2005/04/13(水) 13:50:22 ID:160fl1OF
PHPで携帯用URLを自動返信させたいんですけど 送信されるところまでできたのですが 送信元がAPACHになっちゃいます。。 sendmailの設定をいじるコントロールパネルがあるのですが どこをいじっていいのか教えてください!
>>569 sendmailの設定でも可能だが、そのどこの誰が作ったとも分からんコントロールパネルとやらで
それができるかどうか分かるわけが無かろう。
mail関数を使う時にenvelope-fromが正しく設定されているか、
そのenvelope-fromの設定がsendmail側で拒絶する設定になっていないか、
チェックすべき事がまだまだある。つーかマニュアルにもその事の記載がある。
571 :
559 :2005/04/13(水) 14:46:09 ID:???
>>567 コードどうもありがとうございます。
なるほど、こういうところでif構文を使うんですねぇ。
そのコードを組み込んでみたところ、
parse error, unexpected '@'というエラーがでてしまいました。
エラーの場所はわかるのですが、エラーの意味がよくわからなくて、
せっかくエラーを吐いてくれるのに、修正できないでいます。orz
勉強不足なので、勉強してまたで直したいと思います。
どうもありがとうございました。
>>567 > parse error, unexpected '@'
パース(ソースを構文解析)している時にエラーが発生した。「@」はここに出てくる筈が無いのだが。(超訳)
>>564 で書いている演算子(@)の位置が悪いかと。
まぁ根本的な問題の解決には、0かどうかで処理を分岐する、
言い換えれば0の時にどうするかを明確に決める、つーのがいいんだけど。
573 :
569 :2005/04/13(水) 15:17:27 ID:160fl1OF
>>570 ありがとうございます。
ini_setにてfromの設定をしてみたのですが無理でした。
envelope-fromというのは_ENV["HOSTNAME"]のことでしょうか?
これの設定の仕方を調べているのですがわかりませんTT
コントロールパネルはensimのものです。
これだけじゃ無理っぽいですね・・^^;
>>571 全角スペースを□とかで表示できるエディタを使ったほうがいいよ。
デバッグが楽になるから。
575 :
nobodyさん :2005/04/13(水) 15:38:43 ID:c/E+T1wC
PHP4にてセッションが切れたときにメッセージを表示させたりすることって可能なんでしょうか?
576 :
567 :2005/04/13(水) 15:54:38 ID:???
>>571 悪ィ!
条件式は、
if($_GET['waru0'] || $_GET['waru1']){
だわ。andじゃ無くってorね。
ってか、これは
parse error, unexpected '@'
には関係ないな…
このエラー、大抵の場合、セミコロンが無かったりってことが多いので、
ソースを小一時間眺める由。それでも駄目なら、近辺のソース全部貼り。
577 :
567 :2005/04/13(水) 15:55:47 ID:???
あああああ、ばっかじゃん。 if($_GET['waru0'] && $_GET['waru1']){ で良いんだよ。andで・・・ 吊って来るor4z
578 :
559 :2005/04/13(水) 16:04:29 ID:???
皆様ご丁寧にどうもありがとうございます!
>>572 昨日あの後本を読み返したんですが、エラーをはかなくする
演算子が見つかりませんでした。@だったんですね。ありがとうございます。
>>576 ソースまで書き換えていただいてありがとうございました。
>>574 の全角スペースをヒントに原因が判明しました。
>>567 の
if($_GET['waru0'] && $_GET['waru1']){
$waru = $_GET['waru0'] / $_GET['waru1'];
}else{
$waru = '割れね';
}
これの
$waru = $_GET['waru0'] / $_GET['waru1'];
部分にエラーがでていまして、
なんとなく$の前に空いていた全角スペースを削ってみたら、
見事に動作しました。
本当に皆様どうもありがとうございました。一歩前進できました。
メモ帳を使っていたので、ちゃんとしたエディタに換えます。
全角スペースはシフトジスで0x81,0x40 で@が0x40という話でした。
PHPだけって訳では無いのですが質問させてください。 PHPのソースファイルや表示文字などはphp.iniで設定すれば 文字化けを回避できる事は分かりました。 そこで疑問なのですが、データベースを使う場合は何か注意点が必要なのでしょうか? 例えば、PHPのソースファイルや表示時はEUCでデータベースではUTF8の場合、 PHPから発行するSQLはUTF8で行わないと行けないのでしょうか? また、SQL発行後、取得した結果はUTF8となるのでしょうか?
583 :
580 :2005/04/13(水) 17:28:35 ID:???
>>582 なるほど。
つまり、文字コードが異なるDBへSQLを発行するときは、
SQLをmb_convert_encodingで変換しないといけないし、
取得した結果もmb_convert_encodingで変換しないといけないんですね。
>>567 まぁまぁ。
それでも数値文字列以外がつっ込まれたら
エラー出ちゃうんだけどね。
>>584 じゃ
if(is_numeric($_GET['waru0']) and is_numeric($_GET['waru1']) and $_GET['waru1'] != 0) {
$waru = $_GET['waru0'] / $_GET['waru1'];
}
586 :
nobodyさん :2005/04/13(水) 18:01:59 ID:RAtZXMfH
aa,"aaa bbb ccc",aaaa となっていて、""内の改行を全て<BR>に置換するにはどうすればいいでしょうか?
587 :
586 :2005/04/13(水) 18:09:03 ID:RAtZXMfH
あ、改行の数は不明です。
>>586 "が必ず2つ存在(1個以下でも無いし、3個以上でも無い)のなら、
explodeでちょっきんして、nl2brでぱたぱたして、implodeでぺたぺたしてもいいんじゃないかな。
CSVっぽいので "の扱いに疑問が残るけど。
質問です。正規表現の使い方で分からない事があります。 $messageという変数に半角文字が30文字以上空白無しで続いたら 切り取って再代入する方法はありますか? ex) $message = askldnasdafvaiohdfahv;haifv.,aosdlihadfnvafXC ↓ 再代入 $message = askldnasdafvaiohdfah.. 出来れば↓とする方法はありますか? $message = askldnas....hadfnvafXC
くだ質の典型になってますが.... 配列同士を連結するにはどうすればいいでしょうか? perlにおける@a=(@a, @b); あるいは push(@a, @b); と同じことをしたいです
マニュアル
array_merge をやっと見つけた...... perlのpushと混同していたのですぐに分からなかったorz
593 :
nobodyさん :2005/04/14(木) 01:43:03 ID:OcmzBqS0
simplet board という掲示板スクリプトを配布している DESIGNLAB. というサイトがnot foundなんですが どなたか詳細ご存知?
>589 ・半角文字が30文字以上連続していたら if (preg_match("/[\w,.+-]{30,}/", $message) # 半角文字の指定は適当なので好きにして ・文字列の一部を取り出す substr() ・文字列の連結 $a = $b . $c
595 :
nobodyさん :2005/04/14(木) 04:03:07 ID:Pq56Nx3S
〜のエイリアスってどういう意味ですか? fputs fputs -- fwrite()のエイリアス こんな感じに説明されているんですが よく分かりません
>>595 fputsはfwriteとまったく同じ関数ということ
>>595 a・li・as
n., ad. 別名[偽名].
何が書いてあるのかさっぱり分からない
今実行中の php ファイルを取得する方法として、 $GLOBALS にある $_SERVER[”SCRIPT_FILENAME”] を使おうとかと思ってましたが、 その値がある環境とない環境があるみたいなんですけど、 これってコンパイル時に決める事なんですかね?
>>599 webサーバが決める($_SERVERだもんね)
Apacheなら多分大丈夫
>>599 $_SERVER['PHP_SELF']
ファイルロックされているかどうかをチェックだけしたいんだけど どうしたらいいかな 実際にファイルロックはしたくない
シュレディンガーの猫ですな
604 :
軟式PHP :2005/04/14(木) 11:36:34 ID:???
そうなのか?w
605 :
599 :2005/04/14(木) 11:39:31 ID:???
>>600 なるほど。だから debugger だとなかったのか…
>>601 Linux 2.4.20-28.7 で php v.4.1.2 なサーバーではそれも出ないねぇ…
606 :
軟式PHP :2005/04/14(木) 11:42:28 ID:???
607 :
軟式PHP :2005/04/14(木) 11:43:33 ID:???
↑だけど、 もし、include,require内で実行中を知りたいのだったら調べてみらんとわからん
608 :
605 :2005/04/14(木) 11:52:13 ID:???
>>606 そもそも __FILE__ なんて値無いんだけど??どうやって使うの??
609 :
軟式PHP :2005/04/14(木) 11:52:57 ID:???
610 :
軟式PHP :
2005/04/14(木) 11:54:42 ID:???