【PHP】くだらねぇ質問はここに書き込みやがれpart5
レス数が1000を超えています。これ以上書き込みはできません。
0001nobodyさん
2005/04/30(土) 00:12:53ID:OJfc9xBuここなら本スレで回答のないお前の下らない質問に回答があるかも知れません。
次スレは>>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:???0003nobodyさん
2005/04/30(土) 01:16:44ID:???0004nobodyさん
2005/04/30(土) 01:42:22ID:???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:???でいいじゃねえか
0008nobodyさん
2005/04/30(土) 08:42:20ID:???<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:???0013nobodyさん
2005/04/30(土) 11:50:50ID:???出てきますが、これはどういった仕組みなのでしょうか?
0014nobodyさん
2005/04/30(土) 11:53:08ID:???0015nobodyさん
2005/04/30(土) 11:58:17ID:???運用されているサイトで見たのですが、ソースコード配布までしてるところが無かったので、
質問させて頂きました。
できれば、お勧めのものを教えていただきたいのですが。
0016nobodyさん
2005/04/30(土) 13:20:24ID:???いろいろやってみたのですが
さっぱりわからないので
休みが終わる前に教えてください。
0017nobodyさん
2005/04/30(土) 14:39:59ID:/qIyEef70018nobodyさん
2005/04/30(土) 14:46:16ID:???説明するのが面倒なので、「今何人 cgi」でググってスクリプトを見つけてください。
PHPで書かれてなくても ロジックを追う事は難しくないと思われます。
>>17
PHPの質問にしてください。
0019nobodyさん
2005/04/30(土) 14:54:02ID:/qIyEef7検索しても引っかからなかったので
よかったら誘導お願いします。
0021nobodyさん
2005/04/30(土) 15:09:57ID:/qIyEef7本家は検索済みなので、2ちゃんで専用スレか、
該当スレがあればと思ったのですが、ないのでしょうか・・・
0022nobodyさん
2005/04/30(土) 15:16:02ID:???例えば何かZIPファイル落としてる最中に、
違うファイルを落とそうとしたら、ダメだよってやつ。
0023nobodyさん
2005/04/30(土) 16:18:13ID:???どなたかアドバイスお願いします
PHPの教本を買って、APACHE2、PHPとインストールを終え
両方ともhttp//localhost/phpdev/index.thm
http://localhost/phpinfo.phpの
テスト画面で”問題なく作動しているとの表示”がでました
その後、教本のサンプルのphpファイルをブラウザに表示させよう
とすると文字化け表示、または何も表示されない真っ白なページ
になります
以前は文字化けするようなことはなかったのですが、
問題は受け取り側の
PHP側のページにジャンプすると送信側で記入した情報は掲載
されるのですが、一行の文字の羅列として表示されます
その後、インストールも問題があったのかと、何度もphpとapache
をアンインストール、インストールしたあと、以前の一行の文字
の羅列として表示されていた送信側の情報も、文字化けで読めなく
なる状態になります
どなたかご指導よろしくお願いします
0024nobodyさん
2005/04/30(土) 16:30:06ID:???まず、受け取り側で送信した情報が1行の文字の羅列と表示されるというが、
これは、受け取り側のプログラムがどういった処理をしてるかによる。
そして、文字化けの問題も、鯖の設定などによる。
鯖の設定、ソースコードをどの文字コードで書いたか、
さらには、HTMLとしてブラウザに出力するときの文字コードは何か。
PHPとか以前に、HTMLやWebサーバがどういった仕組みになってるのか、
根本的な事がわかってないと思われる。
0025nobodyさん
2005/04/30(土) 16:38:43ID:???文字化けつーかブラウザの文字認識のタイミングは次の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から始めの10バイトだけ読み込むにはどんな関数をつかえばいいでしょう?
fgets,freadではできませんでした
0027nobodyさん
2005/04/30(土) 17:33:20ID:???0029nobodyさん
2005/04/30(土) 18:17:46ID:???よろしくお願いします。
0030nobodyさん
2005/04/30(土) 18:38:09ID:???0031nobodyさん
2005/04/30(土) 18:40:15ID:???0032nobodyさん
2005/04/30(土) 18:49:36ID:???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:???マニュアルのdate()の説明に、
> 他の言語で日付をフォーマットするためには、 setlocale() および strftime() 関数を使用する必要があります。
とある。
他にも、曜日の数字 date('w',$ts) を取得して自力で日本語や色付けする方法もあるべ
0036nobodyさん
2005/04/30(土) 21:09:19ID:???できるだけお教えください。
自分はクリエーター業ですが、クライアントからっどのような
案件があったときに使用するのでしょうか?
0038nobodyさん
2005/04/30(土) 21:28:23ID:gv0wwcUA早速のご回答ありがとうございます。以下のサイトを参考にして
ttp://nyx.pu1.net/sample/tips/calender_l.php
date('w',$ts)でもやって見ましたがそれでもなかなかで。
もしphpでうまくいかないのであれば
スタイルシートなんかで指定とか出来るのでしょうか?
0039nobodyさん
2005/04/30(土) 22:01:22ID:???    <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:???<?php for($s='A';$s<>'AA';$s++) echo "\t<li>$s</li>\n"; ?>
</ul>
0043nobodyさん
2005/04/30(土) 22:25:51ID:???一体なにが作れるのでしょうか?サーバーサイドがのっている本を
みても、練習として文字を書いていましたが、文字はHTMLで書けば
いいのではないのでしょうか?違いを具体的に
お教えください。
0044nobodyさん
2005/04/30(土) 22:26:06ID:???$wdays = array("日", "月", "火", "水", "木", "金", "土");
echo $wdays[date("w")];
色はご自分で
0045nobodyさん
2005/04/30(土) 22:42:10ID:???ttp://pear.php.net/manual/ja/package.html.html-template-flexy.php
0046nobodyさん
2005/04/30(土) 23:01:29ID:???ありがとうございます。とりあえずできました。
>>45
そっちも勉強してみます。
PEARすらやった事ない初心者です…。
0049nobodyさん
2005/05/01(日) 01:27:12ID:???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:???>>49
<>の右側を配列のキーに入れてksort()。
でどうでしょう?
0051nobodyさん
2005/05/01(日) 01:43:18ID:???0052nobodyさん
2005/05/01(日) 05:37:01ID:???2<>Sage
3<>Sage
4<>Sage
5<>Sage
0053nobodyさん
2005/05/01(日) 08:18:04ID:qz5EMJ99C:\Program Files\Java\j2re1.4.2_02\lib\rt.jar
消しても大丈夫ですか?
0055nobodyさん
2005/05/01(日) 10:41:37ID:???上の文字列から<b>〜</b>で囲まれた部分だけを探したい(上の文字列から HTML だけを取り出したい)のですが、方法が全く思いつかず・・・。
どうすればいいでしょうか。ご教授ください。
0056nobodyさん
2005/05/01(日) 10:49:54ID:???0057nobodyさん
2005/05/01(日) 18:45:14ID:???0058nobodyさん
2005/05/01(日) 20:38:52ID:???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さん
NGNG0061nobodyさん
2005/05/01(日) 23:28:40ID:???ショッピングバスケットのようなものを作っているのかと予想してみる。
だとすると・・・・そのやり方、なんか違うと思うぞ。
まぁ、どうしてもってなんら、
$book3 .= ',' . $book2;
か
$book3 .= ",{$book2}";
だな
でも、きっと根本的に何かが違っていると思うぞ。
0062nobodyさん
2005/05/02(月) 10:38:28ID:zPNJQI1NSingletonの基底クラスを作ることは出来ないのでしょうか?
基底クラスから子クラスのクラス名が分かれば出来るのですが…
0063nobodyさん
2005/05/02(月) 13:05:41ID:???0064nobodyさん
2005/05/02(月) 13:42:51ID:???(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:LLdi1lXWtempディレクトリ
という構成で、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:???0069nobodyさん
2005/05/03(火) 00:17:01ID:???〜(略)〜
この関数は常に 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:???ヒント:確認できていなかった。
007267
2005/05/03(火) 02:45:34ID:???ありがとうございます。
if (!isset($_SESSION['count'])) {
$_SESSION['count'] = 0;
} else {
$_SESSION['count']++;
}
としてみたら、どうやらセッション使えてなかったみたいですorz
sessionの使用がenabledなのになんで駄目なんだろ・・・。
0073nobodyさん
2005/05/03(火) 05:03:52ID:???いるのですが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で確認
よろしくお願いします。
0077nobodyさん
2005/05/03(火) 07:55:59ID:???読み込めないときは
Failed opening 'DB.php' for inclusion (include_path='.;c:\php\PEAR')
こんなエラーじゃないのかな
0079nobodyさん
2005/05/03(火) 08:47:12ID:???参考になるようなよい書籍を教えてください。
0080nobodyさん
2005/05/03(火) 09:06:42ID:???ショッピングカートの良書
http://www.amazon.co.jp/exec/obidos/ASIN/4034314303/
0081nobodyさん
2005/05/03(火) 10:31:05ID:???データベースに書き込むとき書き込むデータの長さがカラム長を超えてしまうと
エラーになるので書き込み前にチェックしたいんですが、比較するカラム長は
・固定的に定義しておく(defineなどで)
・都度、取得する(mysqlならmysql_field_lenなどで)
のどちらがいいんでしょう?
データベースの定義が変更になった時のことを考えると都度、取得したほうが
いいんでしょうが、なんかとても無駄なことをしているような気がして
みなさんはどうされてます?
0083nobodyさん
2005/05/03(火) 13:18:39ID:???>>82さんの仰るとおりカラム長を超えたデータを書き込んでもエラーにはならず
切り捨てられました
テストしたときのデータがめちゃくちゃ長いデータだったのでコネクションが
切断されてたみたいです
mysqlのnet_buffer_lengthあたりの制限に引っかかたのかも…
スレ汚しすみませんでした
0084nobodyさん
2005/05/03(火) 14:22:02ID:???ttp://php.s3.to/simple/
他のページにもパスワード制限をかけたいと思いました。
この場合それぞれのページにいちいち制限をかけるのは入る人が面倒ですよね。
そこでたとえばメンバー専用のトップページを作って、そのトップページにパスワードを使って入れば、
そこに置かれているbbsなどは自由に入れるようにするにはどうしたらいいでしょうか?
サーバーのコントロールパネルのページとかでこういう方式になっていたりしますので、同じようにしたいのですが…
0085nobodyさん
2005/05/03(火) 16:14:42ID:rT+xDv11そして送信ボタンを押したときに
すべてのフォームに値が記入されていればAを出力
どこか一つでも値が無ければBを出力
ということをするにはどうしたらよいでしょうか?
008785
2005/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のフォームを作ります。
008885
2005/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のボックスが空のまま表示されてしまうので
もしフォームの値が一個でも空白ならエラーを返したいと思っています。
008985
2005/05/03(火) 17:22:11ID:???0090nobodyさん
2005/05/03(火) 17:44:16ID:/WYzL+U+"05"などという文字列を5という数値に変換したいのです。
009385
2005/05/03(火) 18:20:32ID:???0095nobodyさん
2005/05/03(火) 18:48:00ID:???暗黙の型変換が行われるから、わざわざ自前でやる必要はないと思うけど。
あえてやるならintval
$a="05";
$b=$a + 100;
$c=intval($a) + 100;
echo $b;
echo "<BR>";
echo $c;
0097nobodyさん
2005/05/03(火) 20:59:50ID:???こういうヤツの作り方ってどうやるんですかね?
0098nobodyさん
2005/05/03(火) 21:29:36ID:???0099nobodyさん
2005/05/03(火) 22:03:24ID:XdSRtjaMっうはっwwwwwwwうぇwwwおkwwwwwwwwwwww
wwwwwwwwwwwwwwおkwww
っおkっうぇwwwwwwwwwwwwwwwwうはっ
wwwwwwwwwwwうはっっうはっwwwwwwwwww
0101nobodyさん
2005/05/04(水) 01:43:31ID:4XtCwxJFinclude(1)
include(2)
とやった場合
(1)で定義した定数は(2)には反映されないの?
0102101
2005/05/04(水) 01:49:41ID:???0103nobodyさん
2005/05/04(水) 01:50:54ID:4XtCwxJF騙るなよ
0104軟式PHP
2005/05/04(水) 03:25:40ID:???0105nobodyさん
2005/05/04(水) 11:31:05ID:???質問させて下さい。
SELECTして取得するフィールドは不特定の場合、
結果からどうやって取得したフィールド名を取得するのでしょうか?
今までは、DB::connectで接続したあと、queryにてSQLを発行し、
fetchRowにてループにて全レコードを出力する時に、
最初の1レコード目の時にフィールド名を出力していましたが、
この方法だと抽出したレコードが0件の場合、何も表示されません。
取得したdb_resultオブジェクトの内容をprint_rにて除いてみたのですが、
そういった情報は無いようでした。
0106nobodyさん
NGNGread.cgi & bbs.cgi よろしく。
【参考】
・厨房により、連続更新が多発!read.cgiが呼ばれる回数はbbs.cgiの百倍!
010784
2005/05/04(水) 14:02:33ID:CEPwDzrn0108nobodyさん
2005/05/04(水) 15:05:33ID:???質問の意図がよくわかんないんだけど
常にフィールド名が欲しかったらtableinfo()を使ってみるとか。
空のレコードセットのときfetchRow()がNULLを返すのは仕様どうり
>>107
http://merlion.cool.ne.jp/cgi/rest8/index.htm
↑みたいなの使って一つのフォルダに認証かけて
そのフォルダ以下にトップページやBBSとか置けばいい
0110107
2005/05/04(水) 15:45:24ID:CEPwDzrnありがとうございます!.htaccess機能ってやつですね。
ちなみに教えて頂いたhttp://merlion.cool.ne.jp/cgi/rest8/index.htmのページでは
perlを使ったプログラミングのようですが、
phpを使った認証のプログラムはどこかにないでしょうか?
0111nobodyさん
2005/05/04(水) 21:31:13ID:tDb8HgqQごく小規模のメール配信とかサイトにDB使いたくて。
こんなモノがあるとは知らずPostgreのつもりだったんですが
存在を知って以来気になってます。
どのくらいまで使えるモノなんでしょう?
0113nobodyさん
2005/05/04(水) 23:04:11ID:???どんな利用方法しても、ライセンスが絡む事は無いし、
MySQLで出来ること以上の事がPostgreSQLは出来る。
確かに速度はMySQLだが、その辺はたいした問題じゃない。
0114nobodyさん
2005/05/05(木) 00:41:41ID:???UNIXやLinuxならPgSQLかMySQL
本格的にやるならOracle
0115軟式PHP
2005/05/05(木) 02:29:14ID:???0116nobodyさん
2005/05/05(木) 02:42:19ID:???0117nobodyさん
2005/05/05(木) 06:57:41ID:j3QMEyoAecho"$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+$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:???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>"; だけでいい希ガス
0121119
2005/05/05(木) 08:33:10ID:???文字列を配列として参照することで、一文字ずつ取り出せるのですねーー知りませんでした。
0122120
2005/05/05(木) 08:33:55ID:???× // 4文字なので 0〜4でいいはず
○ // 4文字なので 0〜3でいいはず
0124nobodyさん
2005/05/05(木) 08:46:13ID:???$num = 1;
while ($num <= strlen($str)){
$spel[] = substr($str, 0, $num);
}
0125nobodyさん
2005/05/05(木) 08:48:31ID:???マニュアルのpreg_replaceの項に
まったく同じことするサンプルがあるぞ
0127nobodyさん
2005/05/05(木) 09:48:00ID:???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:???0132nobodyさん
2005/05/05(木) 14:39:08ID:???俺ならクラス内にメソッドを追加する。つまり前者。
後者でやるとしたら
function i($text){
return "<i>$text</i><br>";
}
とする。こっちの方法も割と良く見かける。
0133nobodyさん
2005/05/05(木) 21:09:42ID:???なるほど・・・。何かをするクラスをひとつにまとめたらわかりやすいかな〜?
とか思ったのですが、
「何かをする->データ」より「データ->何かをする」が普通なんですね。
キモイとか言われましたが・・w どうもありがとうございます。
0135nobodyさん
2005/05/06(金) 00:15:35ID:???(具体的には、日記スクリプトを作ろうとしています。)
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:???HTMLで表示させるようにしたらどうだろう
毎回ログファイルを読み込む手間がはぶけるし、投稿したときにのみ多少の負荷がかかるくらいだし。
0141nobodyさん
2005/05/07(土) 04:22:51ID:???0142nobodyさん
2005/05/07(土) 04:25:03ID:???もしかして、ログファイルの内容全てを、一気に読み込んで、
そこから取得→表示ってやってる?
0143nobodyさん
2005/05/07(土) 06:17:15ID:XxbRXporフォームから入力してもらったメールアドレスを、正規表現を使ってチェックするところで変になる。
1.アドレス(〜@〜)だと認識するとオカシクなる
2.アドレスじゃなくて、aaaa だとセーフ
3.アドレスじゃなくても、unko だとオカシクなる
4.同じ文字でも、おかしくなることがある
5.rrr はセーフで、kkk はアウト
7.1234はセーフで、0123だとアウト
6.全く別のテストページでは、アドレスチェックは出来てる
アウトの時は、処理を中断してif構文の中から抜けている感じ。
もしくはページを読み込みなおしてるみたい。
一体なんですかね?
0144nobodyさん
2005/05/07(土) 06:21:21ID:???0145143
2005/05/07(土) 06:43:19ID:???↓
入力文字がアドレス(xxx@xx)か否かをチェック
・ここで分岐
A:アドレス / B:アドレスじゃない
Aだとおかしくなって、Bでも条件によっておかしくなる
Bでおかしい時にも、挙動はAとおなじようになる
わけわからん。でも、エスパーだったら分かるのかな?
0146nobodyさん
2005/05/07(土) 06:49:47ID:???0147143
2005/05/07(土) 07:12:54ID:???echo "入力されたメールアドレス 「" . $adad . "」<br>\n";
} else {
echo "入力されたメールアドレス 「" . $adad . "」<br>\n";
echo "正しいメールアドレスではありません。";
}
問題はここじゃないっぽい・・・もう一度全部見直してみます
でも、aaaだとセーフでabcがアウトってありえないよ。
0148nobodyさん
2005/05/07(土) 08:08:54ID:zpgwMbY/おkwwwっうぇっっwwwwwwwおkwwwwwwwww
wwwwwwwwwwww
っうぇwwwwうぇwww
wwwwwwwwwwwwwwwwwwwwwwww
0149nobodyさん
2005/05/07(土) 08:25:34ID:kMJPLXnhwwwwwwwwwwwwっうぇおkwwwおkwww
wwwwwwwwwwwwwwwwwwっうぇw
うぇwww
おkwww
wwwwwwうぇwwwwwwwww
0150137
2005/05/07(土) 08:52:25ID:???上手く説明できずに申し訳ありません。
あるアプロダですと、ファイルをダウンロードしようとすと、
最大接続数な為にダウンロードできませんといったメッセージが表示されます。
また、別なアプロダですと、そのアプロダにアップされているファイルを
ダウンロード中に他のファイルをダウンロードしようとすると、
他のファイルをダウンロードしてるときにはダメだよと言ったメッセージが表示されます。
この事から、誰がどのファイルをダウンロードしてるかを
リアルタイムで判別してると思うのですが、
この情報の取得方法がわからないのです。
0151nobodyさん
2005/05/07(土) 08:57:20ID:mG8uUfDQおkwwwwwwwwwwwwwwwwwwwwwwっうぇ
っうぇっうぇっうぇwwwwww
うぇwwwwwwwwwwwwwww
っうぇうはっwwwうぇwww
0152nobodyさん
2005/05/07(土) 09:07:55ID:CaH8/CoZPHPMyAdmin の アドレス ID パスワード 及び
MySQLの パスワード のみ 送られて来ました。
MySQLは同サーバー(localhost)にインストールされているようなので
$sv = "localhost";
$dbname = "root";
$user = "root";
$pass = "送られてきたパス";
と記入しWEBサーバーに置きましたがSQLに全く接続できません。
PHPは使えるのを確認しました。
サーバー会社の担当者に聞いてもCGIですか???
などと聞かれて話になりません。PHPMyAdmin等に
接続情報は書かれているのでしょうか?
0153nobodyさん
2005/05/07(土) 09:12:59ID:???大抵のレン鯖のMySQLは、DB名とかユーザ名は、
その鯖に申し込んだ時のユーザ名と一緒。
>$sv = "localhost";
>$dbname = "root";
>$user = "root";
>$pass = "送られてきたパス";
まず、ユーザ名がrootなんて事は絶対に無い。
$dbnameと$userはお前さんのユーザ名に変更してみろ。
0154nobodyさん
2005/05/07(土) 09:14:45ID:???最大接続数とかはよく見かけるよね。
俗に羊と呼ばれてる所は、ファイル毎に同時接続数カウントしてるみたいだし。
他のファイルDL時にダメって言われるのは俗に1号って呼ばれてるロダかな?
気になってはいたけど、俺の知識じゃダメだ。
0157nobodyさん
2005/05/07(土) 09:39:10ID:???>$sv = "localhost";
>$dbname = "root";
>$user = "root";
>$pass = "送られてきたパス";
>と記入しWEBサーバーに置きましたがSQLに全く接続できません。
それだけ書いたって、DBに接続なんかしない、って事は判っているよな?
とりあえず、試したスクリプトをそのまま貼りな。
もちろんdbname、userはもう一回確認してから。
0158nobodyさん
2005/05/07(土) 10:04:36ID:7dsJsB9/wwwwwwwww
www
wwwwww
っうぇっ
wwっwwwwwwっwww
wwwwwwうはっwww
うぇwwwうはっwwwっおkwwwwwwwwwwwwwww
0159nobodyさん
2005/05/07(土) 10:39:09ID:OjAGpk+Eこの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
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っうぇうはっwwwうぇwwwwwwうぇwwwwww
っっうぇおkwwwwwwwwwwっうぇっおkwww
っうぇwwwwwwwwwwwwwwwwwwうはっwww
0164nobodyさん
2005/05/07(土) 11:46:27ID:???PHPでは無理。
Apacheにmod_limitipconnを仕込むとよし。
ただし少しだけ負荷があがる。
0165nobodyさん
2005/05/07(土) 11:47:00ID:+RaGUvoBありがとうざいます !
>>162さんの通りやってみましたら、やりたかった事が出来ました…
ものすごく助かりました&勉強になりました。ありがとうございます。
0166nobodyさん
2005/05/07(土) 11:50:39ID:L09Tc4GFwwwっうぇうはっwwwwwwwwwっwwwwww
wwwwうぇwwwwうはっwwwwwwwwwwwwwwwwww
wwwwwwwwwwwwwっうぇwww
0167nobodyさん
2005/05/07(土) 11:56:00ID:???それを読んでさらに追加。
うpされたファイルのアドレスが単純にファイルのアドレスじゃなくて、
「xxxxx.php?file=zzzz.jpg」みたいにPHPスクリプトを呼び出してないか?
だとすれば、そのスクリプト内でipアドレスとかを一時ファイルに保存して、
集計している可能性がある。
0168137
2005/05/07(土) 12:40:54ID:???調べてみます。
>>167
そういった呼び出し方法をしてるアプロダもありました。
ただ、IPアドレスを一時的に保存してというのは考えついたのですが、
大容量のZIPなどをDLしたとき、途中でキャンセルすれば、
別のファイルがDLできました。
DL時にIPアドレスの情報を取得できますが、
キャンセル時にその情報は取得できないと思いますので、
リアルタイムに接続状況を把握しているのだと判断しました。
0169nobodyさん
2005/05/07(土) 13:08:51ID:WaKZc4H9mb_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:???昔似たようなものを実装するときに面倒だったのでダウンロードだけポートを変えて
netstatの結果を使った事ある。もっと便利な方法ありそうだけど。
>>169
$replace_buf = mb_ereg_replace("[ぁ-んァ-ヶ]","@","$buf");
これに差し替えてみてはどうか?
0171nobodyさん
2005/05/07(土) 13:36:36ID:???(パラメータは不要)
SERVER_PROTOCOL、SERVER_NAME、PATH_INFO、SCRIPT_NAMEを
組み合わせるしかないでしょうか?
0172nobodyさん
2005/05/07(土) 14:02:01ID:???$_SERVER["SCRIPT_URI"]
パラメータが必要ないのであれば
?以降を削除するというのはいかがか。
0173nobodyさん
2005/05/07(土) 14:09:58ID:???さっそく試してみましたが、SCRIPT_URIそのものが存在しないみたいです。
(var_dump($_SERVER)で確認しました)
PHPのバージョンorWEBサーバーによるんでしょうか。
PHP5.0.3、IIS5.1です。
0175nobodyさん
2005/05/07(土) 15:33:27ID:gZ8Bg1ttreturn 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が展開されません。
どのようにすれば望んでいる結果が得られますでしょうか?よろしくおねがいします。
0176169
2005/05/07(土) 15:52:54ID:???$replace_buf = mb_ereg_replace("[ぁ-んァ-ヶ]","@","$buf");
でうまくできました。
アドバイスありがとうございました。
0177nobodyさん
2005/05/07(土) 16:50:00ID:???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/b5sqlnwgetで一応凌いでるんですがそれだとPHPファイルが毎日保存されていっちゃいますよね?
どうすればいいんでしょうか?
0180nobodyさん
2005/05/07(土) 18:06:02ID:???0183nobodyさん
2005/05/07(土) 18:28:39ID:???タスクマネージャー使ってやればいいんじゃないかな
0184nobodyさん
2005/05/07(土) 18:36:08ID:???自前のUNI系鯖はあるが、自動更新させたいPHPがあるのはレン鯖。
だから、自鯖のcronでレン鯖のPHPをwgetでリクエストしている。
と、勝手に解釈してみた。
だったら、
-O > /dev/null
で解決じゃ
0185nobodyさん
2005/05/07(土) 18:36:21ID:???0186nobodyさん
2005/05/07(土) 19:27:49ID:???0187nobodyさん
2005/05/07(土) 19:27:57ID:Cs/14UgkSmartyベースにしたら微妙にもっさり感があるので
導入したいと思ってるのですが
どんなモンでしょう?
0188nobodyさん
2005/05/07(土) 19:49:15ID:m8iQZGLEphp.iniどこにあるか分かりますか
/etc/以下のphp.ini.distしか見つからないんですが
0189179
2005/05/07(土) 19:52:55ID:???うまくいきました(´∀`)
どうやらwgetについてよく分かっていなかったみたいです・・・。
スレ違いな質問でしたが皆さん本当にありがとうございました。
0190nobodyさん
2005/05/07(土) 21:10:58ID:???設定(ファイル)が無い場合にどう動作するかってのを「デフォルトの設定」って言うんじゃないかなぁ。
それはさておき、phpinfo()でどのphp.iniを見ているか表示されていた希ガス
0191nobodyさん
2005/05/07(土) 21:14:09ID:???sudo cp /etc/php.ini.default /etc/php.ini
sudo apachectl graceful
0192nobodyさん
2005/05/07(土) 22:00:11ID:CaH8/CoZみなさまもびっくりかと思いますがroot権限が使えました。
rootのパスワードはFTPからconfig.inc.phpが見えたのでそれから調べました。
データーベースに接続も出来ました。が他のユーザーの作った残骸?まで見えてしまいました。
月曜日にサーバー管理会社に抗議するつもりです。それとサーバーは変えようと思います。
0193nobodyさん
2005/05/07(土) 22:02:38ID:CaH8/CoZ0194nobodyさん
2005/05/07(土) 22:12:18ID:???データベース作り放題。使い放題。盗み見し放題。
rootで違う名前のroot権限持つユーザ作ってから、rootの権限を制限。
0195nobodyさん
2005/05/07(土) 22:46:18ID:CaH8/CoZPHPMyAdminもrootでログインできますがこれっておかしいですよね?
ちなみに専用サーバーではなく共有サーバーです。
さらに送られてきたパスワードはなんの関係もありませんでした。
0196175
2005/05/08(日) 00:31:19ID:???どちらでも期待した結果が得られましたありがとうございます。
正直どちらも初めて見る記述で理解できません。
勉強してみます。ありがとうございました。
0197nobodyさん
2005/05/08(日) 00:37:51ID:???0198nobodyさん
2005/05/08(日) 00:41:05ID:???0199197
2005/05/08(日) 01:16:52ID:???$ip = $_SERVER['REMTOE_ADDR'];
$date = date("ymdgis");
crypt($ip,$date);
これで代用効いたりしませんでしょうか?
0200nobodyさん
2005/05/08(日) 01:23:58ID:???date("ymd)これのほうが良くない?
0201200
2005/05/08(日) 01:25:53ID:???0203nobodyさん
2005/05/08(日) 04:10:20ID:???とかどう?2CHとは仕組み違うみたいだが
0204nobodyさん
2005/05/08(日) 04:44:09ID:???は2chと同じトリップの仕様だったと思う。
お絵かき板だが
0205204
2005/05/08(日) 04:45:48ID:???0206nobodyさん
2005/05/08(日) 11:18:09ID:???getimagesize関数を使うと「Warning: getimagesize: Read error!」がでるのはバグか何かですか?
とりあえずちゃんと機能はしてるみたいなんで@つけてエラー表示回避してますが。
というのは、getimagesize: Read error!でぐぐってみると、いたるところのホームページで普通にそのエラーが出てるんです。
サイト管理者も諦めて放置してるのかな?
0207206
2005/05/08(日) 11:26:17ID:???http://bugs.php.net/bug.php?id=26216
これかな?
0208206
2005/05/08(日) 11:29:19ID:???連続カキコすまん
0209nobodyさん
2005/05/08(日) 12:31:24ID:???こんなもんでどうだろうか?
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:???ttp://multix.jp/html/memo/030525.html#0003
0211nobodyさん
2005/05/08(日) 16:10:59ID:???外部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:???0214nobodyさん
2005/05/08(日) 18:07:13ID:???使う側が使いやすい為でしょうか?
例えば掲示板なら閲覧するスクリプト、書き込むスクリプト、管理用のスクリプトなどわかれていたほうが
一つのファイルにアクセスが集中しないし、後から編集するのにも見やすいと思うのですが一つのファイルに
多数の昨日を入れるのにはどのようなメリットがあるのでしょうか?
0215nobodyさん
2005/05/08(日) 19:39:50ID:???掲示板程度だと、1ファイルにまとめても、特に問題無いからじゃない?
といっても、複数ファイルに分けてもソースの可読性やらメンテナンスが楽ってだけで、
使う側のメリットってのは全く無い。
0216nobodyさん
2005/05/08(日) 19:51:37ID:???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
0219215
2005/05/08(日) 21:29:37ID:???ファイルに分けるってのは使う側からすれば関係無いんだよね。
ただ、管理者とか設置する人という意味では関係無い事も無いけど、
設定ファイルだけ別ファイルにしてあったり、1ファイルでも先頭行から設定項目があって、
そこを弄るだけというのが殆ど。
1ファイルになってるというのは、あくまでも掲示板とかの簡易的なものに限って言えば、
開発側も使用者側も、メリット・デメリットってのは殆ど無いに等しい。
単純に1ファイルにしてるだけと割り切って考えるように。
別に複数ファイルに分けてもいいんだよ。
そうすれば、管理者用画面とか使用頻度の少ない部分を読み込むだけの手間が省けるし。
だけど、書いたように、その程度のソース量なんて大した事無いから、殆ど変わらない。
0220nobodyさん
2005/05/08(日) 21:46:31ID:???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:xWdNRJbuPHPの書籍スレでおすすめしてもらった本に書いてあったものなのですが、
zlib圧縮関数 イメージ関数 などの拡張モジュールです。
たとえばその2つだけに限らず、そういったモジュールを同じサーバスペースにおいて
includeするとかでは使えないですよね。
拡張モジュールはどれがインストールされているかは、phpinfoで調べることが出来ますか?
0224nobodyさん
2005/05/08(日) 22:30:55ID:???イメージ関数ってGD2だと思うけど、これは大体の鯖で入ってるな。
zlibは鯖によりけり。
こういったモジュールをincludeできるかというと無理。
phpinfo()で調べられるかは可能。
0226nobodyさん
2005/05/09(月) 01:58:31ID:???0227nobodyさん
2005/05/09(月) 15:12:56ID:f0YFXCF9よろしくおねがいします。
0228nobodyさん
2005/05/09(月) 17:59:24ID:???0229nobodyさん
2005/05/09(月) 19:12:00ID:???0230nobodyさん
2005/05/09(月) 19:57:54ID:???0231nobodyさん
2005/05/09(月) 20:06:25ID:???$_SERVER から、HTTP_REFERERを取ってきて、ごにょごにょする。
$_SESSION 使って、ユーザをコントロールして、ごにょごにょする。
地味に、自前でクッキー発行して、ごにょごにょする。
0232nobodyさん
2005/05/09(月) 22:24:42ID:???PHPを使ったwebページを右クリックで保存することはできないんでしょうか?
某新聞サイトの記事を保存したかったのですがエラーになるので・・・
調べてみてもそれらしい答えが見つけられませんでした。
どうかご指導お願いいたします。
0233nobodyさん
2005/05/09(月) 22:51:12ID:???0234nobodyさん
2005/05/09(月) 22:53:13ID:???っといってみつテスト
おれもPHP勉強してみようかな・・・
0235232
2005/05/09(月) 23:02:57ID:???ということなんです・・・
URLの末尾がphp3になってるんですが、
そういうページは保存しようとしてもエラーになるんです。
0236nobodyさん
2005/05/09(月) 23:08:07ID:???0237nobodyさん
2005/05/09(月) 23:25:43ID:???or return FALSE;
うう、returnが悪いらしいってことはエラーで分かったのですが、どう修正すればいいのかわかりません。。
どなたがご教授して頂けると嬉しいです。。
0238237
2005/05/09(月) 23:26:45ID:WdisNjWE0239nobodyさん
2005/05/10(火) 04:58:32ID:???0240nobodyさん
2005/05/10(火) 05:43:13ID:???0241nobodyさん
2005/05/10(火) 08:03:25ID:jY6RiK1QTCPソケットで接続できない設定のPostgreSQLに
同サーバ内のphp/apacheから
pg_connect()するには何か方法あるんでしょうか
SQL側の設定は弄れません。
0243241
2005/05/10(火) 08:36:26ID:jY6RiK1Q一通り調べてみたんですが、対処法として見つかるのは皆
SQLのconfでTCPソケットを使用可能にする、というもので…
unixドメインソケットでのpg_connectの構文、
pg_connect("dbname=DBNAME");
で問題ないですよね(コレでも接続できません)。
上記の構文が正しいなら、他の部分に問題があるのかも知れません
どうでしょう
0244nobodyさん
2005/05/10(火) 08:40:43ID:AG0pWcBChttp://nx.eth.jp/hiki.cgi?PHP-Changes-4.3.11
このあたりをインストールするのが安全ですか?
0245nobodyさん
2005/05/10(火) 09:11:03ID:???ユーザ名やパスワードは要らないの?
>>244
4.3.10 から 4.3.11に変わる時に 文字コード判定のエンバグがあった希ガス。
snapshotのは直ってるのかも?
0246nobodyさん
2005/05/10(火) 09:37:23ID:GS/y/2r+普通のPOSTデータの場合は、たとえば'variable=test'などの場合は
$_POST['variable']などを使うことが出来ましたが、
今回送られてくるPOSTデータは、イコールやアンドで連結されていない
ただの文字列'only messages'となっているために、$_POSTが機能しません。
具体的には$_POSTの内容は空Arrayとなってしまっています。
生のPOSTデータを扱うglobal変数を探したのですが、どうやら無いようです。
何とか内容を取得したいのですが、どのようにすればよいでしょうか?
0247nobodyさん
2005/05/10(火) 09:38:15ID:???こうだ
<?
$comment = array(
"ランダム文字列1",
"ランダム文字列2",
"ランダム文字列3",
"ランダム文字列4"
);
$num = array_rand($comment);
echo $comment[$num];
?>
0248nobodyさん
2005/05/10(火) 09:41:41ID:zlviU+dyどこからそれはPOSTされてるんだい?
0249246
2005/05/10(火) 10:03:22ID:???社内LANの相手方のサーバで、私はクライアントのソースコード変更の権限を持っていません。
出来れば書き換えてくれという要望を出したくないのですが、
ほかに良い方法がないならそれも候補のひとつとして考えています。
0250nobodyさん
2005/05/10(火) 10:15:44ID:???例えばnameが君の言うonly messagesになっていた場合
それを取得するには
$_POST['only_messages']になる
空白は_として認識される
print_r($_POST);
を試せばわかると思う
0251nobodyさん
2005/05/10(火) 10:29:13ID:???すみません、言葉が足りませんでした。_POSTは、完全な空配列になってしまっています。
下がPOSTで「message」をポストした時に_POSTをprint_rした結果です。
Array
(
)
0252nobodyさん
2005/05/10(火) 10:53:47ID:F6arxgcNwwwwうはっwwwwwwwwwwwwwww
wwwwwwwwwwww
おkwwwwwwwwwwww
うぇwwwwwwおkwwwwwwうはっwwwwww
0254nobodyさん
2005/05/10(火) 10:55:17ID:???>>ただの文字列'only messages'となっているために、$_POSTが機能しません。
これではない気がする
0256nobodyさん
2005/05/10(火) 11:11:33ID:???0257241, 243
2005/05/10(火) 11:11:57ID:jY6RiK1Qソースには書いてあります。すいません
結局、問題はSQLのconfのように思います。
pg_connectで
ホストを指定しTCP接続
-> confにTCP/IPの許可が無く蹴られる
ホストを指定せずUnixドメインソケット接続
-> identはTCP/IPなので蹴られる
…のジレンマ
上のような認識で良いでしょうか。
また、conf弄る以外に手は無いのでしょうか
スレ違い度々すみません
0260nobodyさん
2005/05/10(火) 11:32:57ID:???お勧めなどありますか?
今は、ttp://mojavi.try-angle.biz/wiki/index.php を参考にして勉強しています。
また、mojaviについて日本語で詳しく書かれている書籍などはあるのでしょうか?
大きな書店(池袋のジュンク堂など)を結構見て回ったのですが、ありませんでした。
0261nobodyさん
2005/05/10(火) 11:35:20ID:???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:???0265nobodyさん
2005/05/10(火) 12:02:10ID:???0267nobodyさん
2005/05/10(火) 12:49:14ID:???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] =>
)
となります。
0269nobodyさん
2005/05/10(火) 13:40:41ID:???<?php
$putdata = fopen("php://stdin","r");
$data = fread($putdata,4096)
fclose($putdata);
echo $data;
?>
これで取得できないか?
0270229
2005/05/10(火) 14:48:04ID:eATLLovc私が思いつくのは
header("Content-Type: image/jpeg");
imagejpg($src);
のようにPHPで出力?する方法しかないのですが、
これだと画像を右クリックで保存しようとするとbmpになってしまいます。
なにか良い方法あるでしょうか?
0271nobodyさん
2005/05/10(火) 15:13:12ID:???どうしたらよいでしょうか?
0272軟式PHP
2005/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っwwwっうぇwwwwwwwwwwwwwwwwwwwwww
wwwwwwっうぇwうぇwwwwwwwwwwwwwwwwww
wwwwっっうぇっうぇwww
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が読込まれるようにするには、どうしたら良いでつか?
よろしくおながいします。
0277nobodyさん
2005/05/10(火) 20:28:03ID:???やってみましたが駄目でした。
fopenはうまく行っているようですが、内容がなく、即EOFでした。
>>276
空文字列でした。
0278267
2005/05/10(火) 20:32:27ID:???皆さんありがとうございました
0279nobodyさん
2005/05/10(火) 20:58:45ID:???スクリプトがおかしいんじゃなくて、画面のフォームが
タグの閉じ忘れなんかでうまく受け取れないのでは?
以前同じようなトラブルがあったもんで。
0280nobodyさん
2005/05/10(火) 20:59:49ID:???0283nobodyさん
2005/05/11(水) 13:42:34ID:AwvRVDab0285nobodyさん
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+HmiPHPはもう終わってるのでは・・・って気がしてきました。
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:???既に卒業しているのであれば広まることはありません
0291nobodyさん
2005/05/11(水) 21:25:39ID:???WHEREのまちがえでないの?
0292nobodyさん
2005/05/11(水) 21:39:41ID:???VERBOSE=1(だっけ)にして詳細ログをみるとなにかわかるかもしれない。
基本中の基本だけど、パーミッション関係は大丈夫なんだろうね。
あとは、、いや、すれ違いだからどっか適当なとこで続けなよ。
0293237
2005/05/11(水) 21:41:13ID:???あ、そうですねありがとうございます(_ _)でも、依然エラーが出るのがなぜか分かりません;;
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 って and とか xor とかの論理演算子じゃないの?
0297237
2005/05/11(水) 22:04:13ID:???すみません、やりたいのは
mysql_query("SELECT * FROM $table WHRER $where;") or return(FALSE);
を正常に動かすことです。dieの場合は正常に動くのですが。。
0298nobodyさん
2005/05/11(水) 22:09:39ID:???$rows = mysql_num_rows($result);
if($rows>0){
return true;
}else{
return false;
}
これでどうだボケェ
0299nobodyさん
2005/05/11(水) 22:09:50ID:???0300nobodyさん
2005/05/11(水) 22:10:24ID:???え?
ORってさ論理和だよね?
a or b だとしたら a または b のどちらかが 真の場合に真になるんだよね?
それとも、PHPでの特殊な処理なの?
あと、左辺の式が偽の時、右辺の式を評価するのがorだとすると、
逆に、左辺の式が真の時、右辺の式を評価するものとかあるの?
0301nobodyさん
2005/05/11(水) 22:17:08ID:???WHRER はキモいので WHERE にしといてくれー
0303nobodyさん
2005/05/11(水) 22:20:17ID:???>逆に、左辺の式が真の時、右辺の式を評価するものとかあるの?
and
左が偽なら偽確定なので右は評価しない
0304nobodyさん
2005/05/11(水) 22:24:07ID:???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:???なるほど、そういうことか。
ORだから左辺が真なら真だから右辺は評価しない。
左辺が偽なら右辺を評価しないと結果が出ないから右辺を評価するって訳か。
0307297
2005/05/11(水) 22:25:15ID:???ありがとうございます。
>>298 そう言う方法もありますね。。なるほど。
>>299 そうしようと思います。
>>302 疑問が一気に解決しました。。
0308nobodyさん
2005/05/11(水) 22:59:06ID:???使わない方がいいかな?でも、使わないと文字化けするんだよね...
ここで、jcode.plを改造しない?もう5年もバージョンうpしてないし、おk?
0309nobodyさん
2005/05/11(水) 23:03:52ID:???0310nobodyさん
2005/05/11(水) 23:04:29ID:???0311nobodyさん
2005/05/11(水) 23:07:03ID:???0312nobodyさん
2005/05/12(木) 00:28:57ID:???正規表現とか使うんだろうか。誰か教えてplz
0313nobodyさん
2005/05/12(木) 08:42:32ID:???という様に、頭に<?っていうカッコワルイヘッダを書かなきゃならないっていう仕様はなんとかならんのか。
せめて
</PHP
とか、なんか工夫がなかったのか? なんでいきなり
?
なんだよ?
そういえば、昔のIBMの端末のキーボードには{っていう記号がなかったので
Cのプログラムでは、 { を ??( って書いていた っていうのを今思い出したぞ。
なんだっけか? トリグラフ表記(trigraph)だっけか?
というわけで、
?>
0315nobodyさん
2005/05/12(木) 09:40:50ID:???excerptの長さに規定はあるのでしょうか?
スパムはしません(--;
0317nobodyさん
2005/05/12(木) 10:16:06ID:???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:???.htaccess でPHPの設定って変わるか?
確かにマニュアルとか書かれてるけど、俺の環境(W2K+PHP4.3.10)じゃ設定変わらないんだけど?
0323nobodyさん
2005/05/12(木) 16:23:40ID:???Apache再起動ってのはチョット的外れだな。
そんな動きだったら、レン鯖とかだと困るだろ?
普通は即時に反映される。
>>321
ひょっとして<IfModule mod_php4.c>でくくってないか?
インターネット上で載ってるサンプルが殆どこの形式だけど、
Windowsだとこれでくくってると動かない。
行き成りphp_value と記述汁。
>>320
御免。
その方法は俺も知らない。
だけど、PEARだと既存の設定を上書きしたいはずだから、問題無いんじゃ?
でも、他に設定されてたら、全部設定するの面倒か・・・
0324nobodyさん
2005/05/12(木) 17:21:07ID:???.htaccessでprepend_fileを指定して、その中でini_setすれば
グローバルに設定が反映されるよ。
0325nobodyさん
2005/05/12(木) 17:47:38ID:???仕事とか趣味でもどっちでもいいんだけど、パーミッションってどうしてる?
よくインターネットで公開されてるようなスクリプトだと
ログ用のファイルのパーミッションはどうしろだの書いてあるけど、
.htaccessつかってアクセスできないようにすれば良いだけじゃないのか?
例えパーミッションが777でも.htaccessで隠せばアクセスされないよな?
何か問題があるのかなぁ・・・(その鯖で.htaccessが使用できないって場合以外で)
0326nobodyさん
2005/05/12(木) 18:55:04ID:???>>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:???設定ミスっていうのはたいてい起きるもんだよ。
777なんて例えば共有サーバーなら他のユーザーに自分の権限を
すべて与えている事になるし、激ヤバすぎる。
0329nobodyさん
2005/05/12(木) 19:28:41ID:???スレタイ嫁
0330nobodyさん
2005/05/12(木) 19:44:22ID:???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でテンポラリファイルを作り、そこに書き出し、
そこから更に元のファイルに一行ずつ書いてゆく。
思い浮かんだのはこれくらいです。
知恵をお貸しください。
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:aoWOUNW7TELNETか何かでログインできれば可能な気がするのですが。
最終的にやりたいことは、WEBのPHPから対象のサーバを選んで、
そのサーバのシェルを実行するということです。
アドバイスよろしくお願いします。
0338nobodyさん
2005/05/14(土) 03:43:26ID:???ローカルテストでmb_send_mail()使って自身のパソコンにメール送るのって、
また別にメールサーバ入れなきゃいけないのかな?
0339nobodyさん
2005/05/14(土) 03:59:02ID:???0340nobodyさん
2005/05/14(土) 06:27:48ID:OEZ8BJ6LPHPを学ぶかPerlを学ぶか迷ってるんです。
最初に学ぶとしたらどちらが良いでしょうか?
Perlはクセがあるとどこかで聞いたのでPHP
のほうが良いのかなぁと思ってるのですが。
0341nobodyさん
2005/05/14(土) 07:32:01ID:IfWBq4ix基礎PHP改訂版のクラスの項ででてきたんだけど何も説明がない
var $hensu と $hensu はどういったときに使い分けるのです?
過去スレPa1にも同じような質問があったけどスルーされてたみたいなんで
くだらねぇのかもしらないけど
たのむ!
0343nobodyさん
2005/05/14(土) 09:05:24ID:???0344nobodyさん
2005/05/14(土) 09:22:33ID:OEZ8BJ6LじゃあPHPにします。�dクス!
0346nobodyさん
2005/05/14(土) 10:07:45ID:???Mojaviを使用したWebアプリでフレームで分割されたページを作るにはどうしたら良いですか?
最初はフレーム部分はHTMLで作って、左右それぞれの部分をMojaviで作った
メニューとコンテンツを表示していました。
ログイン機能をつけようとしていまして、フレームが表示される前にログインさせたいのです。
それと、皆さんはどういう単位でModuleとActionを分けていますか?
例えば、商品の発注システムとかだと、在庫の確認機能なり発注機能、請求書の発行機能、
顧客管理などなど幾つかの機能に別れると思いますが、
その機能別にModuleに分割した方がいいのでしょうか?
それとも、1つのシステムをModuleにして後はActionで分割した方がいいのでしょうか?
0347nobodyさん
2005/05/14(土) 10:38:37ID:???�dクス!
っておい!
VBでググちゃったじゃないか
有効範囲と寿命って感じか?
まあなんとなく理解でき(ry
結果的に
�dクス!
0348nobodyさん
2005/05/14(土) 12:16:52ID:???フレームは普通にデフォルトのアクションとかでフレーム表示させるようにすればいいだけじゃ・・・
ModuleとActionの分け方はその時その時のような気がする。
ただ、俺は○○システムという単位で1つのMojaviを使う形にしてる。
というのはConfigが1つだから、デフォルトの設定を変えられない。
ログインやらデフォルトのモジュールやらエラーやら、
複数のシステムで共有するにはちょっと無理が出てくる。
各Module毎にConfigが設定できれば良いんだけど・・・
ひょっとして出来るのかなぁ・・・そこまでは分からないや。
0349nobodyさん
2005/05/14(土) 13:25:47ID:???0351nobodyさん
2005/05/14(土) 14:41:38ID:???マニュアルより
関数コールの際には、リファレンス記号がないことに注意して下さい。関 数定義にのみリファレンス記号があります。リファレンスで正しく引数を 渡すには、関数定義のみで十分です。
0352nobodyさん
2005/05/14(土) 16:07:01ID:a9dccOHastr_replaceで("\n", "<br>", $com)つーのよく見かけるんだけど
\n=改行は分かるんですが\tや\rってのは何を指してるんでしょう?
0353nobodyさん
2005/05/14(土) 16:12:46ID:???エスケープ文字の扱いは、C言語と一緒。
\tはタブ。
\rは復帰。
ちなみに、OSによって改行は\nだけじゃない。
Windowsなんかは\r\nで改行。
0354nobodyさん
2005/05/14(土) 16:19:48ID:???Windowsも\nに復帰は含まれないぞ
0355352
2005/05/14(土) 16:21:46ID:???とりあえず復帰ってなんぞやw Googleに飛び込んでくるw
0356nobodyさん
2005/05/14(土) 16:27:15ID:???Windowsでメモ帳開いて改行して、そのファイルをバイナリエディタで見てみな。
0x0D 0x0A ってなってるから。
Windowsでの改行は\r\nの2つ使う。
0357nobodyさん
2005/05/14(土) 16:29:26ID:???放っておいてやれよ。
>>354はWebプログラム書く奴にとっての常識を知らないで、この板に居るんだろうから。
0358354
2005/05/14(土) 16:34:28ID:???fputs()で\nしても復帰ははいりませんぞってことが言いたかった
0359nobodyさん
2005/05/14(土) 16:46:27ID:???自分で書いてて、馬鹿だな・・・って思わないのかなぁ・・・
\nしか入れてないなら\rが入る訳無いのに・・・
0360nobodyさん
2005/05/14(土) 16:57:29ID:???0361nobodyさん
2005/05/14(土) 17:23:12ID:???0362nobodyさん
2005/05/14(土) 18:20:54ID:3PEPLp0Fhttp://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:???0365nobodyさん
2005/05/14(土) 20:54:40ID:???たとえば、QRL.jpで圧縮した後のURLって http://qrl.jp/?189637 みたいになる。
ここでは「?189637」が引数だけど、この引数をスクリプトで取得するにはどうすれば…??
「?id=189637」みたいになってれば「$id=$_GET['id']」で取得できるけど、
「?189637」の場合は・・・???
0366nobodyさん
2005/05/14(土) 21:10:27ID:???0367nobodyさん
2005/05/14(土) 21:11:39ID:???その類の質問って、ちょくちょく出て来てるとは思うんだけどね。
phpinfo() だけを実行する PHP ファイルに対して ?189637 付けてリクエスト
してみて、どの環境変数に ?189637 がセットされているか、確認するといい。
0368nobodyさん
2005/05/14(土) 21:14:57ID:???0369nobodyさん
2005/05/14(土) 21:40:36ID:???ありがとうございます!!
そんな確認の仕方があるとは気が付きませんでした。orz
実際にやってみたら理解できました。マジでありがとうございます。
ところで、「?189637」でさらに「?」を抜いた場合は、引数じゃなくて
URLに含まれるディレクトリとしてブラウザが解釈しちゃいますよね?
これを「189637」だけで引数だと解釈させるには、サーバ(Apache)の設定を変更
しないと実現でき・・・ませんよね?
>>368
ありがとうございます。たしかに$_SERVER["QUERY_STRING"] と確認できました!
0371nobodyさん
2005/05/14(土) 22:01:42ID:???画像の容量を下げたいときはどうすればよいのでしょうか?
0372nobodyさん
2005/05/14(土) 22:09:24ID:???画像の容量を減少させるような処理を行いましょう。
画像の縦横サイズ、利用カラーパレット数、画像品質 等々。
0374nobodyさん
2005/05/14(土) 22:34:59ID:jUn5DTgYレスポンスを待たずに次のphpに移行する方法があったと思うんですが
分かりますでしょうか
0376nobodyさん
2005/05/14(土) 22:45:42ID:???処理結果を気にしない場合は、プログラム実行関数 + 各OSでのバックグラウンド実行。
処理結果を気にする(シグナルをどうにかする)場合は、プロセス制御関数。
>>375
mod_rewriteやPATH_INFO
0378nobodyさん
2005/05/14(土) 23:01:48ID:???おおぅ。。。なるほど、「l50」も引数!? 今までディレクトリ名だと思ってた。
でもどうやんだろ?
mod_rewriteはちょっとググったけど相当難しそうだ。。。
サーバーに関する知識がないと実現できなそうね。
あと、これってphpと直接関係ない話。だよね?
0379nobodyさん
2005/05/15(日) 00:27:28ID:???環境変数で取得。
0380nobodyさん
2005/05/15(日) 04:13:16ID:???PHP4とどう違うのかわからないんですけど、PHP4の方にしといた方がよさそうですか
0381nobodyさん
2005/05/15(日) 04:19:22ID:???369も書いてるように、普通の環境で引数が「?」抜きだと
PATH_INFOでも引数の部分がディレクトリ名だとみなされるよね?
たとえば「http://hoge.com/?引数」ならいいけど、
「http://hoge.com/引数」だと最後にスラッシュが足されて
「http://hoge.com/引数/(index.htm)」って感じになるよね。
0382nobodyさん
2005/05/15(日) 08:27:34ID:???http://hoge.com/で呼び出されるindex.htmlを
.htaccessでindex.phpに指定する。
index.phpでPATH_INFOを取得し、URL以降部分を
引数として処理すればいい。
0383nobodyさん
2005/05/15(日) 09:58:55ID:???PHP5とPHP4ではオブジェクト指向の書き方が違う
まあネットで検索したときの情報量はPHP4の方が多いけど
迷うなら4の方が無難
0384nobodyさん
2005/05/15(日) 12:06:12ID:???0385nobodyさん
2005/05/15(日) 12:13:59ID:???0386nobodyさん
2005/05/15(日) 12:34:05ID:???0387nobodyさん
2005/05/15(日) 12:54:17ID:???ごめんなさい
0388nobodyさん
2005/05/15(日) 14:51:14ID:???0389nobodyさん
2005/05/15(日) 15:02:44ID:???隣の浮江お姉さんが優しく教えてくれました。
0390nobodyさん
2005/05/15(日) 19:17:15ID:SkLBQSTLa.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:???0392390
2005/05/15(日) 19:56:40ID:SkLBQSTL僕の勉強不足でした orz
えーと、ということはセッション(session_start())で、複数のスクリプトで
$_SESSION['test']の変数を2種類使い分けるのは無理ということですか?
0393nobodyさん
2005/05/15(日) 20:17:01ID:???複数のスクリプトの間で引き継ぐか、引き継がないか
0394nobodyさん
2005/05/15(日) 20:23:43ID:???そういうのはしたことないけど、多分標準のセッション関数じゃ出来ないんじゃないの。
1つのセッションを名前で分けて使うか($_SESSION['sess1'][test] $_SESSION['sess2'][test)、
pearのライブラリにそういうのがないか探すか、自前でセッションを実装するか。
0395nobodyさん
2005/05/15(日) 22:14:41ID:???"hoge2.com/"を得るためにPATH_INFOでやってみましたが
index.phpで取得しようとすると↓のように"/"を余分につけないと取得できません
http://hoge.com//hoge2.com/
なにか良い案があれば教えてください
0396390
2005/05/15(日) 22:32:13ID:???にしたら出来たっぽいです。
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:dziYZJyDa -> b
c -> d
e -> f
のように複数の変換はできないのでしょうか。
…正規表現はマッチした/しないの2通りしかないから無理かなぁ
0399nobodyさん
2005/05/15(日) 23:19:35ID:???ereg_replaceを使わずにstr_replaceで。
$arr1 = array('a','c','e');
$arr2 = array('b','d','f');
echo str_replace ($arr1,$arr2, $string);
0401398
2005/05/15(日) 23:37:30ID:dziYZJyDありがとうございます
0402nobodyさん
2005/05/15(日) 23:52:16ID:???preg_replace() のところに配列の例があるよ
http://jp2.php.net/manual/ja/function.preg-replace.php
0404nobodyさん
2005/05/16(月) 00:16:27ID:???0406nobodyさん
2005/05/16(月) 00:55:18ID:???どうしたらよいでしょうか
0407nobodyさん
2005/05/16(月) 01:09:56ID:1b4tK92/どっちが推奨なんですかね?
0408nobodyさん
2005/05/16(月) 01:14:25ID:???0409nobodyさん
2005/05/16(月) 01:27:27ID:???どこまで自分でできたのか、ちょいと書いてごらん。
>>407
困った時のハンガリアン。
ム板に、クラス名・変数名に迷ったら書き込むスレもあり。
http://pc8.2ch.net/test/read.cgi/tech/1109330204/
0410406
2005/05/16(月) 01:37:39ID:???<BODY>foreach($text as $str){ echo $text; }</BODY>
みたいな感じで出力してて
echo文の後ろで flush(); 読んでみたけどダメでした
$textの前に、無駄なスペース256バイトとか入れてもダメでした
0411nobodyさん
2005/05/16(月) 01:37:42ID:???助言ください
0412406
2005/05/16(月) 01:39:24ID:???ここを読んでやっているのですが
悪いのがブラウザなのかApacheなのかPHPなのか
切り分けが出来ませんです
切り分ける方法のヒントをください
0415406
2005/05/16(月) 02:12:24ID:???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:???JavaScriptかFLASHでどうぞ。
0418nobodyさん
2005/05/16(月) 04:26:22ID:???0419406
2005/05/16(月) 04:33:11ID:???IE,Opera,Firefoxで確認したのでたぶん大丈夫だと思います
0420nobodyさん
2005/05/16(月) 06:24:36ID:Mf9AQ7/Cどんな感じなんでしょう
0421nobodyさん
2005/05/16(月) 07:35:21ID:???0422421
2005/05/16(月) 07:42:35ID:???0423nobodyさん
2005/05/16(月) 07:43:12ID:???0424nobodyさん
2005/05/16(月) 08:18:07ID:WsRbPHFD例えば、abc.phpってファイルが20kb以上になったときに異常な動きになるとか。
DB操作のところのコードは変更していないにも関わらず、
abc.phpのサイズが25kb過ぎたあたりから、DB操作のところでエラーが起きるようになりました。
試しにファイルを分けてみたら、正しく動作するようになりました。
ひとつのファイルで済ませたいのですが、対処法があれば教えてください。
環境:Apache2、PHP5、Mysql3.23.58、WinXP
0425nobodyさん
2005/05/16(月) 10:10:00ID:???$result = mysql_query("SELECT フィールド FROM テーブル名 WHERE フィールド = $_POST['hogehoge']";
な感じで、$_POSTを使うと何も結果が出てきません。
SQL文で使う場合は、一度変数に入れなければならないのでしょうか?
0426nobodyさん
2005/05/16(月) 10:38:20ID:???0428425
2005/05/16(月) 10:57:41ID:???POSTで取ってきたデータを変数に入れて、
$hogehoge = $_POST["hogehoge"];
$result = mysql_query("SELECT フィールド FROM テーブル名 WHERE フィールド = $hogehoge)";
しか頭に浮かびません。
これでもダメなコードなのでしょうか?
0429nobodyさん
2005/05/16(月) 11:08:32ID:???0430nobodyさん
2005/05/16(月) 11:16:02ID:???とりあえず以下で。
mysql_query("SELECT フィールド FROM テーブル名 WHERE フィールド = " . $_POST['hogehoge']);
>>427 が指摘しているように、$_POSTや$_GETみたいに外部からくる値をチェックせずに、そのまま
使用するのはやめたほうがいい。
SELECTでデータベースが破壊できるかどうかはさておき、外部から来る値は「汚れている」可能性を
考えておかないと危険。
SQLインジェクションあたいりでググってみそ。
0431nobodyさん
2005/05/16(月) 11:17:27ID:???$result = mysql_query($query, $this->Connect) or die ("error:$query");
ってやったらどうだぼけぇ
0432425
2005/05/16(月) 11:22:44ID:???>>430
・・・ググって見て寒気がしました。
こんなやり方があるのですね。
掲示板等にタグ防御があるように、SQLを扱うフォームデータは、
厳重に不要なものを取り除いたり、注意深く扱わなくてはだめなのですね。
勉強になりました、ありがとうございます。
0433nobodyさん
2005/05/16(月) 12:21:00ID:???0435nobodyさん
2005/05/16(月) 15:05:55ID:???データを受け取ったブラウザはそのHTML部をどうやってパースしているか。を考えればおのずと分かること。
0436nobodyさん
2005/05/16(月) 15:41:23ID:2P24wsbpアドバイスあればください。
0438nobodyさん
2005/05/16(月) 15:49:38ID:2P24wsbp0439nobodyさん
2005/05/16(月) 16:11:48ID:???PHPやJavaよりもまず社会人のマナーを学んでこい。
0440nobodyさん
2005/05/16(月) 17:20:52ID:2P24wsbp>>わかる人を雇う。まともな請負に頼む。自分で努力する。
他いろいろ…
アドバイスありがとうございます。ですが、JavaとPHPという側面では
どんなもんでしょうか?
0441nobodyさん
2005/05/16(月) 17:41:38ID:???真面目レスすると、言語だけではなんともいえない。
まずは、そのシステムの規模。
お金はどれぐらい掛けられるのか。(サーバも含む)
周囲(社内や良く使っている外注)などにJavaやPHPの技術者がどれだけいるか。
などなど、色々な要素が絡みます。
例えば客が「絶対にPHP」とか「絶対にJava」と言えば、それで開発するしかないのです。
言語という側面だけで見た場合、中規模までであればどちらでもOK。
小規模ならJavaを使うまでも無いのでPHP。(別にJavaでもいいけど)
大規模ならJava。PHPの技術者が多く、技術力も高いならPHPでもOK。
結局の所、言語レベルでは判断がつきません。
周囲の技術者が多い方。
担当者が得意な方。
そういったもので全然OKです。
技術者が多いとか得意というのはそれだけで強みです。
0442437
2005/05/16(月) 17:59:07ID:???>>437は、物凄いマジレスだったんだけどね。
PHPとJavaの、特徴すら理解できてないんだから、自分を磨くか、人雇うかしかないでしょ。
しかも、その自分を磨くってのを2chに頼るってのは、プロとして確実に問題だぜ。
例えば、上司にどう報告するんだい?
2chで、こう言われたから、PHPでやることにします。とかか?冗談だろ。
付け焼刃じゃなく、実力をつけるしかないんだぞ。
>>441が親切に言ってくれてるが、これも一般論にしかすぎない。
実務になれば、自ずと異なった視点が必要になるんだが、それすら理解できてないんだろ?
こんなとこで時間つぶしてる暇に、やることあるだろ。
0443nobodyさん
2005/05/16(月) 19:20:19ID:???おまけにイイ奴だ。
0444nobodyさん
2005/05/16(月) 23:33:53ID:???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:???0446444
2005/05/16(月) 23:40:45ID:???$fp = @fopen($file,"r");
fpassthru($fp);
で出来ましたなんか文字化けしてますが・・
0447nobodyさん
2005/05/16(月) 23:45:09ID:???というかやはり表示結果を取得したほうが楽そうですね・・。
0448nobodyさん
2005/05/16(月) 23:53:07ID:???等を変えてみるなど。
0449nobodyさん
2005/05/17(火) 00:27:04ID:???を取得する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:???注意: 未定義の定数 shift_jis が使われています。'shift_jis' だと想定します。
mb_internal_encodingの引数は、文字列 あるいは 定義済みの定数。
0451nobodyさん
2005/05/17(火) 00:45:53ID:???0452nobodyさん
2005/05/17(火) 00:59:34ID:???ありがとうございます
なぜか
$encoding = mb_internal_encoding(shift_jis);
でも怒られながらも表示されていたのが不可解でした。
shift_jisを消すと文字エンコードがおかしくてまともに表示出来なかったです。
また
("shift_jis")
( "SJIS" )
どちらでもエラーを吐かずに表示できました。
0453nobodyさん
2005/05/17(火) 01:13:02ID:???マニュアルの定数の部分にも書いてありますが、
> 未定義の定数を使用した場合、ちょうど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:???未定義のものを使ったので、文字列を勝手に入れてくれたのかな・・
まだ私には難しい表現なのでゆっくり噛み砕いてみます。
指定した語句を含む行を抜き出す関数というものはあるでしょうか?
出来ればそのHTMLから該当する語句を含む行を全て抜き出したいのです。
またはある語句からある語句の範囲を削除するというのでも解決出来そうです。
とにかく無駄な部分のほうが多いので・・
0455nobodyさん
2005/05/17(火) 02:42:54ID:???色々とありがとうございました
<(_ _)>
0456nobodyさん
2005/05/17(火) 07:36:39ID:???そこでPHPは、おばかなプログラマが文字列に引用符をつけ忘れたんだなと判断して文字列として扱ってくれる
0457nobodyさん
2005/05/17(火) 07:42:05ID:Ph4M31UZ0460軟式PHP
2005/05/17(火) 10:07:12ID:???リファレンス本て勿体ない。PHPマニュアルで十分やろ。
かなり分かりやすいと思うよ>PHPのマニュアル
本を買うならもっと別の本にしたほうがいいと思われ。
0461nobodyさん
2005/05/17(火) 11:33:51ID:wrsgSSonfor($ii=0;$ii<5;$ii++){
}
}
PHPに限ったことではないのですが、ループが2重になる時、
内側のインクリメント変数はなんて名前にするのがいいですか?
0462軟式PHP
2005/05/17(火) 11:42:59ID:???0463nobodyさん
2005/05/17(火) 11:48:34ID:???最近、老眼で $i $j $l の区別がつきにくい…
マジな話をすると、それぞれのループには意味があるだろうから
外側のループも $i にこだわらず、意味のある名前にしたら?
0464461
2005/05/17(火) 11:51:38ID:???ありがとうございました。
0465nobodyさん
2005/05/17(火) 12:04:08ID:???I, J, K, L, M, N で始まる変数 -> 整数型
A〜H, O〜Z で始まる変数 -> 実数型
になるってやつだね。
ttp://www.hatena.ne.jp/1086523013 あたりに似たような話題が出ていたので参考にどうぞ。
0466nobodyさん
2005/05/17(火) 12:23:25ID:???でも3重のループ構造なんて作ったこと無いからnまでだな。
0468nobodyさん
2005/05/17(火) 13:00:55ID:???for i = 0 to 9 : for j = 1 to 100
みたいな感じだったから今でもループカウンタは i j だ
0469nobodyさん
2005/05/17(火) 13:34:27ID:Apwp1iicpreg_replaceでマッチした結果を、連想配列の添え字に使用できないかな?
----------------------------------------------------
<?php
$hash = array(
"100" => "100_text",
"101" => "101_text",
);
$str = "string101";
echo preg_replace("/.+?([0-9]+)/", $hash['$1'], $str);
exit;
?>
----------------------------------------------------
101_textを期待してるんだけどまったく駄目です。
/eを使うのかと思うんだけどいまいち理解できません。
よろしくお願いします。
0471470
2005/05/17(火) 14:20:01ID:???か
preg_replace_callback + function
0472nobodyさん
2005/05/17(火) 14:48:23ID:???どのメソッドを使えばよいでしょうか?
開くターゲットはhtmlファイルなのですが、
クッキーなどのいくつかのヘッダも出力してやりたいので、
fopenではない専用のAPIがあれば助かります。
よろしくお願いします。
0473nobodyさん
2005/05/17(火) 14:54:33ID:???> /e修飾子は、 preg_replace()が replacementパラメータを
> 適当な置換を行った後、PHP コードとして処理するようにします。
echo preg_replace("/.+?([0-9]+)/e", '$hash["$1"]', $str);
0476nobodyさん
2005/05/17(火) 15:12:01ID:???タグの部分は置き換えで出来るのですが、予期しない文章部分等への対応をどうしたら良いのか困っています。
0478nobodyさん
2005/05/17(火) 16:02:43ID:???$this->hogehoge()使うのと
CLASS::hogehoge()使うのと
どっちが正しいとか早いとかってある?
0479nobodyさん
2005/05/17(火) 16:04:59ID:???だってクラス名変わったらアウトじゃん。
0480nobodyさん
2005/05/17(火) 16:06:23ID:???0481nobodyさん
2005/05/17(火) 16:12:50ID:???再帰ループとかに使うんで自分のクラスです。
親メソッドだったらparent::hogehoge()で呼ぶのが正解だと思っとりますが。
0482nobodyさん
2005/05/17(火) 16:15:28ID:???クラスの作成意図による。
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:???なるほど・・・
インスタンスを必要としないように組んでれば$thisじゃなくても良いわけですな。
とりあえず、>479の言うとおりクラス名変わったら面倒になりそうなので
$thisを使う事にします。
さんくす。
0484nobodyさん
2005/05/17(火) 16:32:22ID:???function hoge(){ echo 'hoge2';}
}
ってしたくなると困るね。
Javaとかでは、なんかセオリーみたいなのあるの?
0485nobodyさん
2005/05/17(火) 16:33:33ID:???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:???明示的にはなっているのですが、それをどう抜き出したら良いのか分かりませぬ・・
抜き出したい行には固有の文字列がありますから、テキストから取り出す方法が分かれば可能だと思いますが、その方法自体が分かってないのです・・。
http://itbtech.itboost.co.jp/man/php_man/manual.html
とかのどこ見ろや!でいいのでおながいします
0488nobodyさん
2005/05/17(火) 18:44:35ID:ceDjCL+B出品途中ではなく終わった出品物の場合、URLデータを引っこ抜く時に
ログインしろ!ときます。
ログインをPHPのスクリプトで行い、ページデータを引っこ抜く手段はあるでしょうか?
お願いします。
0489488
2005/05/17(火) 19:15:06ID:ceDjCL+BURLデータ>ページデータです。
0490nobodyさん
2005/05/17(火) 19:18:06ID:???T_STRINGとか…
0491nobodyさん
2005/05/17(火) 19:30:55ID:???シェルスクリプトでw3mのマクロを書いたほうが簡単なような気が。
0492nobodyさん
2005/05/17(火) 19:46:12ID:???0493nobodyさん
2005/05/17(火) 19:54:12ID:???実際にソースをHPにあげてみたら上手く動かなかった、、
おそらく$_SERVERのところの記述ミスなのですが、検索して調べてみたのですがわからずここで聞くことにしました。
ご教授おねがいします。
ソースファイル↓
http://www.uploda.org/file/uporg101239.zip.html
0494nobodyさん
2005/05/17(火) 20:02:21ID:???0496nobodyさん
2005/05/17(火) 21:34:02ID:???直接 fuga.php にアクセスされたときに
「ぬるぽ」
と表示したいのですが、どの変数があるなしで判断したらいいでしょうか?
GETさせたく無い方法を教えてください。
0497nobodyさん
2005/05/17(火) 21:43:11ID:???0498nobodyさん
2005/05/17(火) 21:43:25ID:???postデータがない場合、引数がない場合、getデータがある場合はぬるぽ。
0499nobodyさん
2005/05/17(火) 21:58:03ID:???if (isset($_SERVER['HTTP_REFERER'])
&& strpos($_SERVER['HTTP_REFERER'], 'hoge.html') !== FALSE) {
//何か処理
} else {
echo 'ぬるぽ';
}
0500nobodyさん
2005/05/17(火) 22:01:32ID:???ユーザー名が入るテキストフィールド(name = username)があるとして、
<?
if (!$_POST["username"]){
print ぬるぽ
}
?>
これだと、ユーザー名を未入力でボタンを押しても「ぬるぽ」と表示されてしまいます。
アクセスされた人が「ぬるぽって何?」って思われたり、または脊髄反射的に「ガッ」っと言う人が言うかもしれません。
$_POST は 連想配列である、とマニュアルに書いていますが、
そもそも $_POST という配列が無いという分岐はできるのでしょうか?
0503nobodyさん
2005/05/17(火) 22:19:42ID:???0504nobodyさん
2005/05/17(火) 22:24:33ID:???0505nobodyさん
2005/05/17(火) 22:31:21ID:???その際、普通は
<img src = "graph.php?param1=<?php echo $param1; ?>">
などのようにimgタグの中からgraph.phpを呼んでついでに引数を渡すのですが、
グラフのデータそのもの(大きい配列)を引数として渡したいので、この方法だとうまくいきません
どうしたら大きい配列を渡すことができるでしょうか?
0506nobodyさん
2005/05/17(火) 22:32:43ID:???0508nobodyさん
2005/05/17(火) 23:15:01ID:???0509505
2005/05/18(水) 00:20:12ID:???うまくいかないというか、サイズが不確定な配列をうまく渡す方法がわからないんです
>>508
serialize()を使う場合、どう記述すればいいでしょうか?
0510nobodyさん
2005/05/18(水) 00:24:58ID:???エラーが出るのですが、いい方法ないですか?
0511nobodyさん
2005/05/18(水) 01:12:05ID:???ほしい機能としては、
1.各携帯から見ることができる
2.RSSを出力できる
こういうものはありますかね?
もし知ってる方いらっしゃいましたらよろしくお願いします。
0512nobodyさん
2005/05/18(水) 01:24:46ID:???graph.php?data=<?php echo serialize($array_data); ?>
--
$array_data = unserialize($_GET['data']);
>>510
Shift_JISだと気をつけないといけない事が多々あるのでEUCで書いてあるのでしょう。
Shift_JISで動くように気をつけて書き直すしかありません。
0514nobodyさん
2005/05/18(水) 01:24:57ID:???0515nobodyさん
2005/05/18(水) 01:27:50ID:???0516nobodyさん
2005/05/18(水) 01:33:05ID:???CGIではみつかったんですが、
PHPではみつからないんですよね・・・
もしよかったら教えていただけませんか?
検索ワードでも構わないのでよろしくお願いします
0518nobodyさん
2005/05/18(水) 09:05:12ID:???>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:???0523nobodyさん
2005/05/18(水) 12:37:42ID:6htWVmYWブラウザの戻るをクリックするとフォームの内容が消えてしまうのですが、
これが消えないようにHTML内で小細工できますでしょうか?
0524nobodyさん
2005/05/18(水) 12:38:31ID:kL0uKaiJ0525nobodyさん
2005/05/18(水) 12:39:48ID:???0526nobodyさん
2005/05/18(水) 13:28:24ID:???フォーム画面のhttpリスポンスヘッダのキャッシュ関係を適切に設定する。
ってHTMLかぁ。<meta>である程度は制御できるんじゃないかな。
つーか消える(=鯖へ再リクエスト)ってのは、既になにかキャッシュ関係を操作しちゃってる気がするんだが。。
HTMLの話が続くようならweb制作板へ。
>>524
エラーの出力レベルをE_NOTICEを含むようにした時の挙動がそれに近いかな。
0527nobodyさん
2005/05/18(水) 16:00:42ID:???をttp://php.s3.to/chat/ch.php(ソース ttp://php.s3.to/chat/ch.php.txt)
の名前の所に組みこむ方法を教えてください≦(._.)≧
0528nobodyさん
2005/05/18(水) 16:34:10ID:???チャット側の方に認証の仕組みを組み込む事になるから、結構めんどくさいと思われ。
自分でスクリプトを書けない人なら丸投げスレで頼めばやってくれる人がいるかも知れず
0530nobodyさん
2005/05/18(水) 17:49:23ID:???0531nobodyさん
2005/05/18(水) 19:11:23ID:???$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を局所変数にするような関数ってありますか?
0533nobodyさん
2005/05/18(水) 23:41:05ID:???でログが現在MAX返信数で設定出来ますが、例えば1000などに設定した場合ログの容量が増えるたレスカウント、参照数をそのまま残して古いレスから消えるようにしたいでのです。
例)MAXログ保存数が例えば500に設定出来ましたら(例:レス300参照数1000などが複数あった場合レスカウントと参照数はそのまま生かして)ログ500未満の古いレスから消えていくという感じです。
ちなみにMySQLは使えないサーバーです。
お願いします<_o_>
0534nobodyさん
2005/05/18(水) 23:47:51ID:???頭小せえな
参照数やレスカウントをどうやって取得してるのかが問題だ。
別ファイルで保存してんなら、古いデータが消えても
値をクリアししなけりゃいいんじゃないの?
0535nobodyさん
2005/05/19(木) 00:18:12ID:???頭小さいです<_o_>
別ファイルで保存してます。
//ログの最大保存数
maxlog = 500
みたいに設定出来ればいいのですが。
やり方教えてください<(_ _)>
0536nobodyさん
2005/05/19(木) 03:05:10ID:HiH0MLZ70537nobodyさん
2005/05/19(木) 03:10:27ID:???ってPHSと携帯のやつ昔あったよな
0539nobodyさん
2005/05/19(木) 12:22:48ID:???頭の大きさが戻った。
いやいやそーでなくて。
設定したって、反映する動作組まなきゃ意味ないだろ。
でもソースがわからなけりゃ、どこをどう改造するか特定できねえよ。
0541nobodyさん
2005/05/19(木) 15:13:14ID:JciC6cGiPostgreSQL7.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:???ありがとうございます。・゚・(ノ∀`)・゚・。
ttp://php365.com/download.php?id=4の中のforum..phpです
お願いします<_o_>
0544nobodyさん
2005/05/19(木) 15:37:32ID:???$abcがセットされていたら1234を代入する、ってことだよね。
オイラは || を論理演算以外に使う事自体が気持ち悪い。。
0545nobodyさん
2005/05/19(木) 16:00:38ID:???0547nobodyさん
2005/05/19(木) 16:11:16ID:???0548nobodyさん
2005/05/19(木) 16:12:51ID:???そうそう。それにPHP5だと以下の書き方は少し予想外の動作をするからなぁ。
isset($abc) || $abc = 1234;
if (!isset($abc)) $abc = 1234;でも良いけどわざわざ!を使うのも好きになれない-;。
どうせ型無し(厳密にはあるけど)言語なんだから初期化なんて気にしなくても良いんだろうけどね。
0549軟式PHP
2005/05/19(木) 16:52:59ID:???0551軟式PHP
2005/05/19(木) 17:21:33ID:???0552nobodyさん
2005/05/19(木) 17:24:38ID:???パフォーマンス?
個人的には人間が理解しやすくってセオリーを支持したい
0553nobodyさん
2005/05/19(木) 17:35:03ID:???一連の流れだけ見て書き直した方が早いと想う事がある。
もしビジネスとかでやるのならその会社なり個人独自の関数があるだろうし、
そうそう汚く書けないでしょ。
0554nobodyさん
2005/05/19(木) 17:42:13ID:???別にPerlの人だけじゃないでしょ。
PHPでよく見る形式だとor。
○○ or die
なんて良く見るでしょ。
やってる事と意味は同じ。
書き方が違うだけ。
0555nobodyさん
2005/05/19(木) 17:49:11ID:???わしもそー思う。
短く書けば書くほどカコイイというのがPerlの文化で
もうそれはどうしようもないけど、PHPは逆の方向でひとつ。
0556nobodyさん
2005/05/19(木) 17:53:16ID:???>しかし、Perl の世界では、短絡演算子とわざわざ名前をつけ、
>一般的なテクニックとして使っています。
だそうです。
0557sage
2005/05/19(木) 18:35:07ID:hR7HdelemetaWeblog.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
一応投稿は成功しているのですが、要の連想配列の解析に失敗しているようなので、
タイトルと本文がない状態です。
すいません、アドバイスください。
0558557
2005/05/19(木) 18:36:42ID:???すんません。
0559557
2005/05/19(木) 19:33:49ID:???1行目のarrayの中身も xmlrpcval を通すんですね。
0560nobodyさん
2005/05/19(木) 19:55:53ID:???しませんか?。どう考えても文字コードの問題が見えないのに文字化けする
場所がある・・・。
0561nobodyさん
2005/05/19(木) 20:37:36ID:???1年放置してもまた弄りたくなるためのプログラムセンスとか秘訣があったら教えてください
0562nobodyさん
2005/05/19(木) 21:11:07ID:???0563nobodyさん
2005/05/19(木) 21:16:19ID:???0565nobodyさん
2005/05/19(木) 21:29:58ID:x+Iui2vHID:???←なんでこうなるのでしょう?
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:49y750EmBE:249941568-###
とかってたまに出てるのが何か知りたい
0568nobodyさん
2005/05/20(金) 03:42:19ID:???0569nobodyさん
2005/05/20(金) 04:12:27ID:vxAEd/3q同一IPでの、複数ノード。
0570nobodyさん
2005/05/20(金) 05:12:27ID:rCvj+1uXif (!($_POST)) { 〜 }
としてみたらうまく動きません。ヘルプメ
0571nobodyさん
2005/05/20(金) 06:19:27ID:???ttp://www.php.net/manual/ja/types.comparisons.php
この表より、$_POST['〜'] が長さ0の文字列の場合
if条件文の中で $_POST['〜'] はfalseとして評価される事が分かる。
また、配列$_POSTは常にfalseと評価される。
0572nobodyさん
2005/05/20(金) 23:37:17ID:p7xt4QDe0573nobodyさん
2005/05/21(土) 00:03:26ID:F35tYXG6flashでは同じフォルダにあるファイルしか読み込むことが出来ません
そこで phpを使って何とかならないでしょうか
他のサーバの htmlを 取得 textに変換後保存とか
出来るのでしょうか?
出来るのでしたらその方法教えて下さいませんか?
0574nobodyさん
2005/05/21(土) 00:29:24ID:nculEuMQ参考になるソースやヒントを頂けないでしょうか
0576nobodyさん
2005/05/21(土) 03:15:19ID:???0577nobodyさん
2005/05/21(土) 03:36:39ID:???正規表現でマッチしたら置換
0578nobodyさん
2005/05/21(土) 07:33:24ID:???> 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:???<img src="<?php echo $imgpath; ?>"hoge.jpg >
の結果がどういう文字列になるかちょいっと考えてみませんか?
0581579
2005/05/21(土) 07:46:37ID:???失礼しました、
<img src="<?php echo $imgpath; ?>hoge.jpg" >
のうち間違いです
もうしわけありません
0582nobodyさん
2005/05/21(土) 07:59:23ID:???http://jp.php.net/define
0583nobodyさん
2005/05/21(土) 09:13:13ID:???0585nobodyさん
2005/05/21(土) 09:25:39ID:???0586nobodyさん
2005/05/21(土) 10:01:18ID:???0588nobodyさん
2005/05/21(土) 12:11:21ID:???aaaaaaaaaa
<!--あいうえお-->
bbbbbbbbbbbbb
ccccccccccccc
dddddddddddddddd
<!--かきくけこ-->
eeeeeeeeeeee
</body></html>
ファイルを読み込んで<!--あいうえお-->から<!--かきくけこ-->
までを読み込もうと思ってるのですが
<!--あいうえお-->以下はstrstrで切り取れたのですが
<!--かきくけこ-->より↑の切り取り方が解りませんorz
何か良い方法無いでしょうか?
0591nobodyさん
2005/05/21(土) 13:46:26ID:???0592nobodyさん
2005/05/21(土) 13:47:20ID:K/dchezAぱれぐまっち
0593nobodyさん
2005/05/21(土) 13:49:36ID:???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:???マニュアルのmb_* のページに、
「mbstringは拡張モジュールです。 configureスクリプトでモジュールを有効にする必要が あります。」とある。
言い換えれば、phpのインストールからやりなおせやゴルァ、って事になる。
鯖の設定を弄る権限が無さそうなので、jcode.php等の変換用のライブラリを使うのがよいと思われ。
0596nobodyさん
2005/05/21(土) 15:17:38ID:9r1mGjdLhttp://***.com/?id
として渡す方法はわかるのですが、さらに『?』を無くして…
http://***.com/id
と渡したいときはどうすれば良いのでしょうか…
いくら探してもわかりません…お願いします。
0598nobodyさん
2005/05/21(土) 16:17:50ID:???0599nobodyさん
2005/05/21(土) 18:26:55ID:???<?php
$hoge = "hoge";
$geho = sprintf("%sguho",$hoge);
echo $geho;
?>
としたのですが、"guho"と出力されるだけで連結されません
%sではないのでしょうか?
0601nobodyさん
2005/05/21(土) 18:36:48ID:???$path = "/root/";
echo $path;
main.phpに
include("./pathlist.php");
echo $path;
と、記述しているのですが
pathlist.phpのechoは表示されるのですが
main.phpのechoは表示されません
読み込んだファイルの中で、作成した変数はローカル変数として扱われるのでしょうか?
それとも、わたしがおかしいのでしょう?
すいませんが、指摘のほどをよろしくお願いいたします
0602nobodyさん
2005/05/21(土) 18:44:10ID:???残念ながら、これもまた希望通りに表示されてしまいました。
マニュアルのincludeのページにも説明がありますが、
main.php側でもpathlist.phpの$pathは有効な変数になるはずです。
0603601
2005/05/21(土) 18:52:04ID:???ありがとうございます
私の環境ではどうしてもうまくいきません。
何か環境依存の関数がありそうなわけでもないですが、
一応、正確に書かせていただきますと
main.phpの
include("./pathlist.php");
と言う行は実際は
include("http://www.--/pathlist.php");
と言う風に、www上から読み込んでいます
wwwからの読み込みは
echoがうまくいっているので ちゃんと行われていると思います
0605nobodyさん
2005/05/21(土) 19:18:23ID:???URL wrapperを経由する場合は、ローカルファイルをincludeする場合と違う挙動をします。
詳しくはマニュアルのincludeのページを参照してください。
0606601
2005/05/21(土) 19:59:30ID:???ありがとうございます
見てみたのですが、上記の現象が起きるような事項に関する記述は
見付けられませんでした
すいませんが、どのようなことがおかしいのか
説明していただけないでしょうか?
0607nobodyさん
2005/05/21(土) 20:17:50ID:???$str = '123ま147府ahf依田ま950まf';
print mb_ereg_replace('ま', '糞', $str);
?>
これで ま→糞 になるはずですが、そのまま$strが出力されてしまいます。どこが間違っていますか?
Apache2.053 + PHP5.03
0608nobodyさん
2005/05/21(土) 20:34:10ID:???> 読み込まれたリモートファイル(ローカルファイルの場合も同様)の出力が、
> 有効なPHPの開始/ 終了タグを有していない限り、
> リモートファイルを読み込む際に値を 取得することはできません
(例)
pathlist.php
$path = '<? $path="/root/"; ?>';
echo $path;
--
main.php
include("http://〜/pathlist.php");
echo $path;
0609nobodyさん
2005/05/21(土) 20:50:54ID:???0610601
2005/05/21(土) 20:51:44ID:???$path = '<? $path="/root/"; ?>';
と言う意味が、理解できないのですが
echo '<? $path="/root/"; ?>';
で、解決できそうです
ありがとうございました
0612nobodyさん
2005/05/21(土) 23:15:20ID:w+2rTsECうまくいきません
リモートの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:???同じエラーを出すためには、menu.phpのinclude先ファイルを存在しないものにするか、
php.iniのallow_url_fopen = Offにするかしないと無理でした。
その場合も原因が推測できるようなwarningが他にも出てましたけど、その辺りはどうですか?
また、path.phpは <?php 〜 ?>が含まれる文字を出力しないと意味無いっす。
0614nobodyさん
2005/05/21(土) 23:38:42ID:w+2rTsECありがとうございます
allow_url_fopenはOnになっています
他のエラーは表示されません
echo '<?php $rootpath = "/"; ?>';
にしたのですが、これも同じエラーでした
0615nobodyさん
2005/05/22(日) 10:17:41ID:84t3TsAEこのたびノートパソコンを買ったのでサーバにでもしようかと思っております。
自分の鯖上でならPHP動いてくれますか?
やっぱりプロバイダが非対応ならその下の自家製鯖も動作不可能ですか?
原理すらわかってないアホですが教えてエロいひと。
0617nobodyさん
2005/05/22(日) 10:39:39ID:???MySQLとかの本で、PHPとMySQLとApacheを一緒に解説した本があるから、
(CDROM付)それを見るとか。
0618nobodyさん
2005/05/22(日) 10:48:46ID:???phpスクリプト経由で書き換えることって出来ますか??
crontab書き換えスクリプトを用意しておいてブラウザでそれにアクセスして、
たとえば「毎日0時にhoge.phpを起動する」となっているのを
「毎日0¥5時にhoge.phpを起動する」と書き換える・・・みたいなことがやりたいのですが。。
0619618
2005/05/22(日) 10:49:55ID:???× 毎日0¥5時に
○ 毎日5時に
0620nobodyさん
2005/05/22(日) 11:34:30ID:???そういう質問をしてるってことは作成し始めてから何か問題に遭遇して困ってるってことだよね?
痛くしないから言ってごらん。
0622nobodyさん
2005/05/22(日) 14:19:51ID:???まずはhttp://www.〜/path.phpにブラウザで
アクセスするとどう表示されるか確認してみたら?
0623nobodyさん
2005/05/22(日) 16:02:21ID:???0624nobodyさん
2005/05/22(日) 17:54:06ID:???array_uniqueは使えないようです。
自分で関数作る以外に何か方法はあるんでしょうか?
0625nobodyさん
2005/05/22(日) 21:37:33ID:???0626618
2005/05/22(日) 22:06:06ID:???まだ問題は起きてません。と言うか、問題が起きる以前に
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:???UNIXユーザそれぞれは自身のcron設定ファイルを持っていて、それを編集することによってcronで処理する内容を変えることが出来る。
だから、PHPスクリプトを実行するユーザ(つまりWEBサーバを起動しているユーザ)を例えばユーザnobodyとすると、PHPで編集できるのはnobodyのcron設定ファイルだけ。
これ以上はサーバの仕様に依存するけど、レンタルサーバなんかだったら、業者から割り当てられたユーザでPHPスクリプトが実行されるようなWEBサーバでなければ、cronをPHPから編集するのは無理だと思う。
また、仮にそういうWEBサーバだったとしても、cron設定ファイルを編集できるかは分からない。特別なコマンドを使わないとダメなOSもあるだろうし。
ただ、業者がレンタルサーバ用に特別なcron設定ファイルを用意している可能性もあるし、なんともいえないけどね。業者に聞いたほうがいい。
0630nobodyさん
2005/05/23(月) 03:17:25ID:???Fatal error: PDFlib error: [2602] PDF_set_info: Code page '932' not supported in
って出てます。
0631618
2005/05/23(月) 03:45:43ID:???丁寧な解説ありがとうございます!
おぼろげですが全体像がつかめてきました。
cronジョブそのもの(.shファイル)は自分で作成してアップするわけですから
当然スクリプトからの内容書き換えも簡単なので、crontabの設定ファイルも
同じように簡単にアクセスできる(たとえばFTPでもアクセス可な場所に置いてある…みたいな)のかと
思っておりましたが、どうやら難しそうな感じですね。
とりあえず出来そうなレンタルサーバーを探してそこに質問するか、
それでも無理そうなら自宅にサーバー立てる努力をしてみようかと思います。
0632nobodyさん
2005/05/23(月) 04:07:24ID:???ttp://www.linux.or.jp/JM/html/cron/man5/crontab.5.html
0633618
2005/05/23(月) 06:06:39ID:???ありがとうございます。crontabについてよく分かりました。
自分でもいろいろググってみた結果、条件さえ合えば、自分のやろうとしてることは
技術的には出来るようです(XREAでは無理そうですが)。
その場合は、phpのsystem関数でcrontabを実行して(実行できる??)、
書き換えたい内容をいったんtxtファイルとかで吐き出したものを
読み込ませればいい、ということでしょうか?
(↑もしかしたら全く見当違いなことを言ってるかもしれませんが…)
0634nobodyさん
2005/05/23(月) 06:17:56ID:???crontabに設定したい内容を適当なファイル(例 /tmp/nullpo)に作成する。
内容はこんな感じ(一口にUNIXと言っても書式が微妙に異なることがあるので注意)。
0 5 * * * 実行したいファイル
作成したファイルをsystem関数でcronに喰わせる。
system ('crontab実行ファイルのパス/crontab /tmp/nullpo');
0636nobodyさん
2005/05/23(月) 08:00:50ID:???その状態で更新すると、ページの内容は表示されるのですが
タイトルが「サーバーが見つかりません」のままでした。
戻るボタンを使ってもページが表示されるようにするためには、どう対処すればよいのですか?
0637618
2005/05/23(月) 08:03:53ID:???自分の頭の中では漠然としたイメージしかありませんでしたが、
おかげさまで具体的なイメージが分かりました! 本当にありがとうございます。
あとはそれ(cronに喰わせる)を実行できる権限があるかどうかの問題だけですよね?
rootとかnobodyとかいう辺りについてはまだほとんど理解してませんが、もうちょっと調べてみます。
ちなみにそのnobodyかどうかは、どうやって調べられるのでしょうか?
phpinfoを試してみましたが、それらしき項目は見つかりませんでした。
(↑また見当違いなこと言ってるかもしれません・・・)
0639618
2005/05/23(月) 09:27:33ID:???あざ〜っす!!!(少し変化をつけてみました)
それはUNIXのコマンドでしょうか? UNIXについてはほとんど知らないので、
調べてみようかと思います。まずは「シェルとは」をググります・・・(utu
0640nobodyさん
2005/05/23(月) 09:39:17ID:???session_nameで、セッション名を設定する場合は、session_startをcallするまえに
設定しろとあります。
$dummy = session_name( "hogehoge" );
session_start( );
っちゅうことだと思います。
が、実際には、
session_start( );
$dummy = session_name( "hogehoge" );
としないと、セッション名が変更されません。
どして?
0641nobodyさん
2005/05/23(月) 10:33:20ID:YeS0S9K1php の CUI なプログラムを作っています(php コマンドから自作スクリ
プトを呼び出すだけ)。
この場合、コーディングミスなどによる実行中の fatal なエラーを自作
スクリプト内でキャッチしたいのですが、何か方法はありますでしょうか。
夜間バッチで動かすので、エラーが発生した時にメールとか飛ばしたいの
です。
0642nobodyさん
2005/05/23(月) 11:22:23ID:???マニュアルの「エラー処理およびログ記録関数」を参照するといいよ
0643nobodyさん
2005/05/23(月) 11:30:42ID:YeS0S9K1ありがとうございます。丁度見ていて試していたところでした。
しかし、うまく行かないのです。
以下のように、存在しない 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:???そんなことは無い
お前の気のせいだ
<?php
session_name("session");
session_start();
echo SID ;
?>
0645nobodyさん
2005/05/23(月) 11:46:18ID:???そういった機能が使いたいのはわかるけど、
>以下のように、存在しない abcdef() 関数をコールして fatal
とか馬鹿だろ。
ちゃんとテストもしない事が前提か?
それに心配なら、function_existsとか使えばいいじゃん・・・
0646nobodyさん
2005/05/23(月) 11:51:00ID:YeS0S9K1ありがとうございます。別に undefined function じゃなくても
よくて、とにかく完全に予期しない fatal なエラーをキャッチし
たいのです。例えば何者かにスクリプトを改竄された場合とか、
オペミスとかで変な文字が入ったとかで php を実行した場合に
fatal なエラーが発生したとします。
そういうエラーをキャッチしたいのです。
何か方法ないでしょうか。
0648643
2005/05/23(月) 12:47:37ID:YeS0S9K1643に書いたコードを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:???値によって処理内容を変えたいわけだから、なんらかの分岐処理が必要になるんだけどなぁ。何が不満なのかしらん。。
ifの代わりにswitchを使うとか。
value=1..n にしておいて、$data = $array_dat[$_POST['select']]; とか。
0652nobodyさん
2005/05/23(月) 13:30:44ID:???その本ね、サンプルコードの何でよ?と思うような間違いがかなり多い。
走らしてチェックしてないんじゃないかな。
全体の構成や解説は悪くないのに非常につまらないところで品質を下げてる。
PHP関連の書籍(但しPHP出版系お断り)
http://pc8.2ch.net/test/read.cgi/php/985315574/l10
0653nobodyさん
2005/05/23(月) 13:32:03ID:???数が少なければ、スクリプトの先頭でハッシュ化してしまえば?
$dat['hoge1'] = 'aaaa';
$dat['hoge2'] = 'bbbb';
$dat['hoge3'] = 'cccc';
$dat['hoge4'] = 'dddd';
echo $dat[$_POST['select']];
0654nobodyさん
2005/05/23(月) 13:53:10ID:???選択した値を書き込むのではなく別の値を書き込みたいのです
中途半端に書いて申し訳けございません(´・ω・`)
>>651
何かいい方法があるのかな?と思いまして(´・ω・`)
switch今見てきました便利そうですね
>>653
そういう方法があるのですか・・・・
検討してみます(´・ω・`)
答えてくださった方有難うございました
0655nobodyさん
2005/05/23(月) 14:46:52ID:???ちょっと前にメーリングリストにもあったけど、Fatal errorの場合ダメなんだよねえ。
エラーログに記録して確認するしかないのかも知れません。
0656643
2005/05/23(月) 14:57:35ID:???どうもありがとうございます。そうなんですか。。
エラーログってのは 2> でリダイレクトして検査するってことですよね。
ちょっと検討してみます。
0657nobodyさん
2005/05/23(月) 19:25:09ID:???postで送信した情報をstripslashes($_POST['aaa'])で¥を取り除いてから
データベースに入れて取り出すと文字が化けるんですけどなんでですか?
エロイ人教えてください
0658nobodyさん
2005/05/23(月) 19:47:33ID:???データベースに入れる前に既に化けてるような希ガス。
送信された情報がシフトJISで、2バイト目に \ が来る漢字("表" 等)から
\ が削除されて化けてるのでは?
外してたらスマソ。
0659軟式PHP
2005/05/23(月) 19:49:05ID:???俺もそんな気がするなぁ。SQL直で叩いてテーブルの中身みれんの?
化けてたら入れる前に化けてる。化けてなければ表示の際に化けてる。
0660nobodyさん
2005/05/23(月) 20:05:06ID:???0661nobodyさん
2005/05/23(月) 20:06:50ID:???mysqli (MySQL 4.1) とかPostgreSQLならクライアント側の文字コードを指定もできるけど。
0662657
2005/05/23(月) 20:07:28ID:???化けたままデタベスに入れて表示すると化ける
stripslashes処理しないで表示するとOK
デタベスに入れて表示するとバケル
なぜに
0664nobodyさん
2005/05/23(月) 20:13:19ID:???0665657
2005/05/23(月) 20:13:52ID:???それはしっとります
ありがとうです
0666657
2005/05/23(月) 20:21:25ID:???そのままデタベスに突っ込んで引っ張って表示させたら問題ありませんですた
0667nobodyさん
2005/05/23(月) 21:21:46ID:???スクリプト側のフォーム値受け取りルーチン(&変数)を汎用化しておいて、
フォーム側のnameやvalueをどのように変更しても
スクリプトをいちいち改造しないで済むようにしたい・・・ってことでは??
もしそうだとしたら、KentWebさんのフォームとかがそうだよね。(あれはPerlだけど)
フォームを自分で自由に改造しても、スクリプト側がちゃんと受け取ってくれてる。
違ってたらスマソ。->>649
0668nobodyさん
2005/05/24(火) 04:35:14ID:QRDQ1Fdh>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:7fZn4wl2cgiの掲示板をjavaスクリプトと併用させて、生IPからアクセス規制をさせる事ってのは
理屈的に可能ですか?
cgiで環境変数を規制しても、匿名串だと素通りするだろうし。
0670nobodyさん
2005/05/24(火) 12:45:30ID:???0671nobodyさん
2005/05/24(火) 12:48:47ID:???| | ∧_∧ / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
ノ__丶(〃´Д`)_ < うぃ〜、生IPってなんすか?
||日||/ .| ¢、 \__________
_ ||本||| | .  ̄丶.)
\ ||酒||L二⊃ . ̄ ̄\
||\`~~´ (<二:彡) \
||\|| ̄ ̄ ̄ ̄ ̄ ̄ ̄|| ̄
. || ̄ ̄ ̄ ̄ ̄ ̄ ̄||
0672nobodyさん
2005/05/24(火) 13:05:34ID:E/H71Uk/作ったが殆ど誰も見ないんだわね。ヤフーは見るの多いんだが商売に使えんので。
有料なら何でも良いの?
0674nobodyさん
2005/05/24(火) 15:11:01ID:???まだ勘違いしてるみたいだけど、
>設定ファイルの配列を編集するだけ
・・・って、それさえもやらないで済む汎用的な方法を尋ねてるんだと思うよ。
つまりスクリプト内で扱う配列のキーに具体的なnameを使わない、ってことだろうな。
実際、KentWebのフォームメールはフォームHTMLをどう変更しようが、
スクリプト側は一切編集する必要がないしな。
0675nobodyさん
2005/05/24(火) 16:26:27ID:???問題ないのでしょうか?。何となくエラーになりそうな感じがしたのですが文字列として
認識しているらしく普通に処理されましたー;。&lt;&amp;とか変換しておくべき
でしょうか?。
0676nobodyさん
2005/05/24(火) 16:46:02ID:???とりあえず、お前日本人じゃないな。
それは(つ´∀`)つ
一般的に、まともに構文解析してればエラーにならないよ。
当然PHPもまともに構文解析してるわけで。
ついでに、<&は<&だぞ。
0677nobodyさん
2005/05/24(火) 17:29:07ID:???データベースと連携して何かやってるのが理想です。
なんで皆さんに聞くかというと、有名所のPHPのサイトって、
データベース関連、排他制御とかロックとか殆どしてないんですよね。
しかも、そんな配布スクリプトが堂々と色々な所で使われてて、正直怖いんですが・・・
0678nobodyさん
2005/05/24(火) 17:35:56ID:???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つの文字列リテラルになっていることが分かる。
0681nobodyさん
2005/05/24(火) 18:07:26ID:???がんがれ
0683nobodyさん
2005/05/24(火) 18:12:20ID:???ん?自分でスクリプト書けばいいじゃん。
新人教育?つう事はプロ?
今まで作ってきたプロとしてのスクリプトを教材にすればいいじゃん。
0684677
2005/05/24(火) 19:40:18ID:???普段の業務しながらだから、自分で研修用にそこまでやってる時間は無く、
今まで作ってきたものを理解させるには、その仕事の仕様まで説明しないといけないから、
教材としてはイマイチなのです。
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:???0690677
2005/05/24(火) 20:46:01ID:???プロですけど、新人は人によってプログラムも知らないような人間です。
日曜プログラマでも理解できないような知識を行き成りつけろと言われても無理です。
プロとは言いますが、教育をするという点に関してはプロではありません。
そこで、日曜プログラマが多い、レベルの低い方でもある程度理解出来るようなものを
期待している訳です。
しかしながら、そういった人たちが良く見るような有名所のサイトでは、
動けばいいや的なものが多く、最初から難しい知識を教えるのはどうかと考えつつも、
最初にこういった問題のあるサイトを教材として使うのはどうしたものかと。
つまり、日曜プログラマの方でも理解でき、ある程度知識をつけた方で、
同じような疑問(今回は排他制御など)を持ち、勉強したときに参考にしたサイトを
教えて下さいというわけです。
現状、新人教育など無視して仕事したい状況であります。
時間さえあれば、こんな質問はいたしません。
0691687
2005/05/24(火) 20:51:36ID:???あのさ…、わかってないみたいだけど…
俺が、君に、教える話をしてるの。別に、君んとこの新人さんなんてどうでも良いの。
プロってのは、君の事を指して言ってるの。
新人教育のプロではない???何言い訳言ってるの?
どの企業でも教育なんてやるわ、新人教育なんて無視して仕事したい???
あふぉか。お前さんの上司は、おまえさんが新人をどう扱うかってのも評価してるんだよ。
あぁ、おっさんは、むかついてきたぞ。うがーうがーうがー!!!
0692軟式PHP
2005/05/24(火) 20:53:05ID:???とりあえず何か作る事を覚えさせたほうがいいんでは?
そんでそれとなく使えるようになってきたら、その時にSQLインジェクションとかクロスサイトスクリプティングの脆弱性とか
プログラムを作る時に気をつける事を教えて、そして上であげたものを教えていけばいいと思うんだが。
0693nobodyさん
2005/05/24(火) 20:58:48ID:???0694677
2005/05/24(火) 21:14:18ID:???こちらも、新人相手にプログラムだけ教えてる訳じゃないんです。
新人に、秋の情報処理試験を合格させるようにもしています。
既に試験を受けた方はご存知でしょうが、DBについての問題も普通に出てきます。
特に排他制御などは定番です。
実際に知識や図などでは既に教えたものですが、
知識で覚えただけよりも実際に使って身をもって体験した方が
試験についても業務につうても有益です。
>とりあえず何か作る事を覚えさせたほうがいいんでは?
これは勿論分かっています。
しかし、それとこれは別問題です。
何も作らせていない訳じゃないです。
まぁ、一番困ってるのは知識も無い人間が遊び半分で作ったスクリプトを
堂々と自慢げに公開している事です。
新人達も実際の業務になれば、こういったサイトを参考にしてプログラムを書くこともあるでしょう。
正直、百害あって一利無しという状態です。
0695軟式PHP
2005/05/24(火) 21:18:32ID:???キチンとチミが教育しないといけないんじゃないの?忙しいってかまけてる場合ではない。
0696nobodyさん
2005/05/24(火) 21:21:44ID:???> 堂々と自慢げに公開している事です。
困ってるのはお前だけだ。
0697nobodyさん
2005/05/24(火) 21:22:01ID:???なんなんだよ、コイツ! 偉そうなこと言っておきながら、全て他力本願。
そんなに文句ばっかり言うなら自分で教材作ればいいのにな。
しかも「自分でやる時間はない」だの「研修なんかやりたくない」だの、
自分の都合ばっかり主張してる。奇跡のバカだな、こいつ。
0698nobodyさん
2005/05/24(火) 21:22:22ID:???君がアフォなの。趣味人が趣味で書いたスクリプトに何期待してるわけ?
つか、いくら出すんだ?金額によっては教育してやるぜ、おまえさん込みで。
0699nobodyさん
2005/05/24(火) 21:26:28ID:???まぁ、一番困ってるのは自分では何の努力もしないクレクレ君が
堂々と自慢げに他人(のスクリプト)にケチをつけている事です。
新人達もこういうバカな上司がいる職場では、プログラムを学ぶ気も失せるでしょう。
正直、百害あって一利無しという人間です。
0700nobodyさん
2005/05/24(火) 21:29:18ID:???スレを荒らすな
0701nobodyさん
2005/05/24(火) 21:29:39ID:???>プロとは言いますが、教育をするという点に関してはプロではありません。
プロレベルの教材を望むなら、まず金を払えバカ。
一般人の趣味のサイトを参考にしてタダで教材にしちゃおうって魂胆からして
まずお前のプロ意識がゼロである。したがって、プロ根性ゼロのお前が
新人たちを「プロ」に育てあげることは原理的に不可能である。
0702nobodyさん
2005/05/24(火) 21:30:50ID:???0704軟式PHP
2005/05/24(火) 21:34:03ID:???これ以上荒れてもアレなんで退散します。
0705nobodyさん
2005/05/24(火) 21:38:10ID:???0706nobodyさん
2005/05/24(火) 21:44:05ID:???0707677
2005/05/24(火) 21:46:22ID:???0709nobodyさん
2005/05/24(火) 21:55:49ID:???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:???0713nobodyさん
2005/05/24(火) 22:39:08ID:???0714nobodyさん
2005/05/25(水) 00:50:40ID:???フォームからPOSTされた「名前・フリガナ・メアド」をMySQLに入れて、
あとついでにそのメアドと自分宛にメールを送る・・・というスクリプトを組んだのですが、
ある人がPOSTした際に自分宛てに来たメールが文字化けしてました。
MySQLに格納されたデータをphpMyAdminで確認したところ、名前は正常に入ってますが
どうやらフリガナのところでおかしくなっているようです(「泙弔箸紊・/td>」となっている)。
メールも文字化け、DBに格納したデータも文字化け、ということで、
POSTされた時点で何か問題がありそうです。
フリガナのところなので半角カナが怪しいのですが、でもしっかり
スクリプト側では $furigana = mb_convert_kana ($furigana, 'KVS'); としてあるのです。
他にどんな原因が考えられるでしょうか??
ちなみにPOSTするための投稿フォームはEUC、スクリプトもEUCで書いています。
0715nobodyさん
2005/05/25(水) 00:54:25ID:???追記ですが、メールの文字化けは、日本語の部分が全て「???」になり、
半角英数字でPOSTされた部分は全く文字化けしていませんでした。
0716nobodyさん
2005/05/25(水) 00:56:16ID:???半角カナの文字化けがmb_convert_kana で対処できると思ってたら甘いよ
0718nobodyさん
2005/05/25(水) 01:05:20ID:???そこもちゃんと指定してみよう
もし文字化けした半角カナ文字が名前から推定できるなら、
入力テストを試してみて、POSTされた段階で文字化けしているのか、
mb_convert_kana()の段階で文字化けしてるのか
DBに記録されたときに文字化けしているのかもう一度自分でチェックしてみよう
0719714
2005/05/25(水) 01:21:07ID:???ご指摘ありがとうございます。
フリガナは推測できたので、自分でも入力テストをしてみましたが、
全く文字化けしません。その他、文字化けの原因になりそうな文字(\/$%&;*'"などなど)を
入れてみたりしていますが、全然問題ありません。
今まで100人以上にそのフォームから投稿してもらいましたが、
このようになったのは初めてです。原因も分からず途方に暮れます・・・
0720nobodyさん
2005/05/25(水) 01:27:18ID:???その文字化けした人の送った文字コードを調べてみては
甘いっていうのはそういうこと
0721nobodyさん
2005/05/25(水) 01:34:32ID:???にもかかわらずSJISでフォームを送ってくるブラウザってことかもね
半角カナの文字列はEUCと判定されるケースが多いし
0722714
2005/05/25(水) 01:37:29ID:???ありがとうございます。
文字化けした人の文字コードを調べたいのですが、
こちらに残っている記録(メールやDBデータ)が既に化けている状態で
調べることは出来るのでしょうか?
ちなみにメールについてはいろいろなエンコードで表示させてみましたが、
どれでも文字化けしてしまいます。
メールの件名や差出人も化けています。
件の「フリガナ」はメールの本文中にしか使っていませんが、
「名前」は件名にも差し込むようにしています。
ということは、その件名が化けているということは、「フリガナ」ではなく
「名前」の時点で既に問題がある可能性が高くなりました。
しかし>>714で書きましたように、phpMyAdmin(もちろんEUCで表示)で確認すると
「名前」は正しく表示されます。「フリガナ」以降からおかしくなっています。
そう考えると、一番アヤシイ可能性は、フォームの「名前」の欄で
名前を入力した「後」(つまり、「フリガナ」の前)に、
何かマズイ文字列を入力されちゃった・・・ということかもしれません。
しかしその肝心の「マズイ文字列」が特定できず、エラーを再現できず困っております。
0723nobodyさん
2005/05/25(水) 01:38:43ID:k3VUWIvk0724nobodyさん
2005/05/25(水) 05:14:31ID:ogiKvRXl> ・・・って、それさえもやらないで済む汎用的な方法を尋ねてるんだと思うよ。
確かにKentWebのそれは便利かもしれないけど
>649のどこを読んでそれを求めてると判断したのさ?
おれにはフォーム送信先でのif文を効率化したいって話にしか見えないんだけど
0725nobodyさん
2005/05/25(水) 08:01:42ID:???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づつずれたと仮定)
名前の読みがフリガナだと期待できるなら、フリガナに入力されるだろう文字が分かるから、
その文字から元のフリガナ入力の文字コードも推定できて、
上記の事と鯖の設定やスクリプトの処理内容を考え合わせれば原因が分かるんじゃないかなぁ。
0726714
2005/05/25(水) 08:42:43ID:???とても詳しい解説ありがとうございます!!!
あなたの書き込みを見て、少し光が見えてきました。
「つ」「と」「ゅ」は、いずれも推測されるフリガナに含まれている文字です。
それら3つの文字の前後にも文字があるはずなので、何文字分か脱落しているという
感じですね。もう少し調べてみます。
0728nobodyさん
2005/05/25(水) 11:03:47ID:???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));
0732nobodyさん
2005/05/25(水) 16:53:16ID:???mb_send_mailが使えませぬ
使えるかどうかってphpinfo();とか見たらわかりますか?
0733nobodyさん
2005/05/25(水) 17:07:05ID:???0734732
2005/05/25(水) 17:07:24ID:???sendmail_from no value
sendmail_path -t -i
だったぽ使えないなショボーン
0735732
2005/05/25(水) 17:09:58ID:???これは実行したらエラーがでますたよ
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:???転送量というのが、レンタルサーバでよくあるようなネットワークの転送量制限の話だとしたら、
(ローカルのファイルに対して)requireやincludeしても一切関係ありません。
0739nobodyさん
2005/05/25(水) 18:13:32ID:???>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:???サーバーの転送量制限が気になってたもので・・ スッキリしました。
汎用性のある自作関数はまだ少ないですが、コードを見やすくするためにも、もっと精進します。
どうもありがとうございました
0743nobodyさん
2005/05/26(木) 01:34:16ID:???0744nobodyさん
2005/05/26(木) 01:34:22ID:???誰か立ててくれませんか?PHPを学び始めたので見てたのですが消えてしまったので。
スレたてできないのでどこで依頼すべきか悩んで結局ここに来ました。お願いします。
0745nobodyさん
2005/05/26(木) 09:08:50ID:???立てた
PHP関連の書籍(但しPHP出版系お断り)第2版
http://pc8.2ch.net/test/read.cgi/php/1117066073/
0746nobodyさん
2005/05/26(木) 14:25:37ID:???0747nobodyさん
2005/05/26(木) 14:27:51ID:jXL9UD+Hグルド!
ジース!
リクーム!
(あと一人は忘れた)
5人揃って、ギニュー特選隊!!!!
0748nobodyさん
2005/05/26(木) 14:30:55ID:???0750nobodyさん
2005/05/26(木) 16:14:25ID:???ロードされているんでしょうか?
例えば、コメントの部分が5MB分あって実際のプログラムは3行で終わってしまう場合、
実際に実行されるのは3行分のみだけどメモリは5MB以上消費するんでしょうか?
0751nobodyさん
2005/05/26(木) 16:16:27ID:???コメントかどうか判断するのに、読み込んでみないと分からない。
つまり、コメントだろうがなんだろうが読み込まれる。
0753nobodyさん
2005/05/26(木) 16:25:02ID:pGokQGSJphp/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:???FFか。
0756nobodyさん
2005/05/26(木) 17:26:43ID:???マニュアルのincludeのページをよく読む。
ワーキングディレクトリの概念を把握する。
getcwd()などを使って上記の事柄を確かめてみる。
日記に自己批判文を書く。
0757nobodyさん
2005/05/26(木) 17:34:41ID:???ini_set("include_path",ini_get("include_path").":./php");
Windowsなので:を;に変えてやったらちゃんと表示された
0758753
2005/05/26(木) 17:35:02ID:???HogeLib/A.php が
HogeLib/A.pm って間違った名前で保存されとった.
直したら動いた
頚動脈にストローさして逝ってきます.
0759nobodyさん
2005/05/26(木) 18:39:38ID:???0760nobodyさん
2005/05/26(木) 19:29:23ID:CDrjkCABWarning: Cannot modify header informationて感じでエラーになって
カートにいれられません。ローカルでためしたらちゃんとカーとにはいって
こういうエラーもでないのですが・・・何がいけないんでしょうか?
おしえてください。お願いします
0761nobodyさん
2005/05/26(木) 19:42:36ID:???0762nobodyさん
2005/05/27(金) 00:37:17ID:???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:???PHPでPDF
http://pc8.2ch.net/test/read.cgi/php/983858078/
0766nobodyさん
2005/05/27(金) 10:13:08ID:???最近 <BR/> ってよく見かけるけど、<BR> とどう違うの??
何かメリットあるのかな?
0767nobodyさん
2005/05/27(金) 10:42:54ID:QDREae0S線が入ってかっこいいってとこかな
0768nobodyさん
2005/05/27(金) 10:53:43ID:???読み出せたのですが新たな問題?が生じました
比較的ソースの長いページを読み込んでみたのですが
半分くらいしか表示されません
flash側の文字数制限かとおもい
phpでタグを取り除いて文字数を減らしたのですが
同じところまでしか読み込みません
php側になにか制限があるのでしょうか?
0770nobodyさん
2005/05/27(金) 10:59:16ID:???XHTML.
ただしXHTMLのタグは小文字でないといけないので<br/>が正しい。
古いブラウザとの互換性のために<br />と、スラッシュの前にスペースを入れることも多い。
0771nobodyさん
2005/05/27(金) 11:04:09ID:???読み込んだソースに&があるとそこで区切られちゃうな
読み込んだソースをPHPでUTF-8(FlashってUTF-8だよね)に変換後にurlencodeして渡したらどうだろう
0772768
2005/05/27(金) 11:04:36ID:???申し訳ないです
ソース内に&があったために起こった現象でした
flashでは &は 変数をつなぐときとかに使うので
別変数として読み込まれていました
phpの話じゃなくてすみません
0773nobodyさん
2005/05/27(金) 11:16:53ID:???なるほど!!
・・・で、何かメリットあるんでしょうか??
nl2br関数でもなぜか勝手に<br/>に変換されちゃうんですが。。。
0774nobodyさん
2005/05/27(金) 11:41:56ID:???0775nobodyさん
2005/05/27(金) 11:59:11ID:???0776nobodyさん
2005/05/27(金) 12:00:19ID:???0777nobodyさん
2005/05/27(金) 12:09:30ID:???人間様にとっては「妥当」であることに意義を見出せるかどうかにかかってると思う。
0778nobodyさん
2005/05/27(金) 13:14:58ID:???ヘッダの確認方法
フーイズみたいなヘッダーイズ
http://simple.or.tp/headeris/
0779nobodyさん
2005/05/27(金) 14:28:37ID:???0780nobodyさん
2005/05/27(金) 17:14:59ID:???このスクリプトに画像もアップロード出来るようにしたいのですが、どうしたらいいですか?
0781nobodyさん
2005/05/27(金) 17:32:24ID:???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:???$dat[0]・・・の内容が展開されてない悪寒。
変数を{}で囲め。
それでもダメなら、挿入する値をそれぞれシングルクォートで囲め。
それでもダメなら、挿入するフィールド名をそれぞれバッククォートで囲め。
それでもダメなら、そのSQL文をphpMyAdminから直接命令してみろ。
そこでエラーになれば、エラーの具体的な理由が表示される。
0783nobodyさん
2005/05/27(金) 17:49:12ID:???0786nobodyさん
2005/05/27(金) 22:52:51ID:???レン鯖だから使えないんだが ..... (つД`)
なんとか使わずに分けられないか?
0787nobodyさん
2005/05/27(金) 23:11:33ID:???Smartyはレン鯖でも使えるぞ。
そして、デザインとロジック分離したいなら、ロジックがわで適当に変数割り当ててデザインをinclude(require)とかでできるぞ
0788786
2005/05/27(金) 23:24:26ID:???>Smartyはレン鯖でも使えるぞ。
そうなのか?うちの鯖では使えないとか言われた。
なるほど、include()か。
関係無いかもしれんが、PerlかなんかでHTML内の
<!-- template_start -->
とかを探してごにょごにょしてるっぽいスクリプトを見たことがあるんだが、似たような事がPHPでもできるってことか?
0789nobodyさん
2005/05/27(金) 23:54:04ID:IA/SnaDdfor ($a = 0; $a<99; $a++ ){
print ("$a");
}
?>
非常に初歩的なな質問でスマソ
あの、上記のように組んだ時
0、1、2、3、・・・・
となるのを
00、01、02、03、・・・
と1桁目の部分を2桁表記にしたいのですが
どのように組めばいいのでしょうか?
0790nobodyさん
2005/05/28(土) 00:08:06ID:???初歩的と分かっててスマソと書くくらいなら
その前にマニュアルくらい読めや
http://jp2.php.net/manual/ja/function.printf.php
0791nobodyさん
2005/05/28(土) 05:19:13ID:3n2nzezn$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:???もしいるなら、どの程度儲けてるんでしょうか?
0793nobodyさん
2005/05/28(土) 07:01:39ID:???>>Smartyはレン鯖でも使えるぞ。
>そうなのか?うちの鯖では使えないとか言われた。
Smartyがレンタル鯖で使えないとしたらPHP自体が使えない限りありえないぞ。
0794nobodyさん
2005/05/28(土) 07:33:59ID:+nfrsZa4SJIS-win=Shift_JISにWindowsが拡張文字を追加したもの…でしょうか?
0797768
2005/05/28(土) 10:28:27ID:???作ってみたのですが うまくいきません
どこに問題があるのでしょうか?
$text=strip_tags($text); //まずタグを取り除いて
$text=str_replace($text, '&',' '); // &をスペースに置換 のつもり
0799nobodyさん
2005/05/28(土) 11:02:19ID:???>SJIS-win=Shift_JISにWindowsが拡張文字を追加したもの
あたり。普通の人がシフトJISというと大抵はSJIS-winの方を指してる。
0800nobodyさん
2005/05/28(土) 11:25:47ID:???0801nobodyさん
2005/05/28(土) 11:28:25ID:???mixed str_replace ( mixed search, mixed replace, mixed subject [, int &count] )
0802nobodyさん
2005/05/28(土) 12:51:34ID:O3+IZd9y実鯖に転送したら作動しないのはWHY?
本のスクリプト使えねえよ・・・10日で覚えるPHP
0806nobodyさん
2005/05/28(土) 13:38:20ID:???[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:???CP932, Windows-31J, MS_Kanjiは、SJIS-winのエイリアス。
それぞれケース依存はしてなかったと思うが、気になるようなら自分で確認してくれ
0808789
2005/05/28(土) 16:17:37ID:???いや初歩的かな〜?と思って前置きとして書いただけです
何が初歩的で何が上級かもわからんので・・・
マニュアルだけじゃ分からなかったのでググって色々な例を見てやっとできますた
(自分的には全然初歩的じゃなかった・・・(;´Д`))
関数を教えてくれてどうもありがとう
0809nobodyさん
2005/05/28(土) 19:38:17ID:???0810797
2005/05/28(土) 19:52:35ID:???>>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:???echo header〜 の行は不要。というか場合によっては有害。
str_replace('&','','$text') とすると、'$text'の部分は単なる文字列(変数とは解釈されない)なので、
str_replaceの結果は 文字列 $text (&が含まれないので元の文字列のまま) になる。
str_replace('&','',$text) が正解。
この場合、' ' が付いていないので、文字列では無く変数として解釈される。
0812810
2005/05/28(土) 20:18:23ID:???できました ありがとうございます
作ってもらって貼り付けるだけでは成長しないですよね
内容を理解できるように努力しようと思います
0813nobodyさん
2005/05/29(日) 09:51:25ID:???別ページへ飛ばすというようなものは、phpではどうやるのですか?
簡単な例をお願いします。
0814nobodyさん
2005/05/29(日) 10:11:43ID:???perlに限らずサブルーチンと呼ばれるものは、そういう挙動の事を意味しませんよ。
簡単な例を出してください。
0815nobodyさん
2005/05/29(日) 10:23:57ID:???画面を変えることなんですけど・・・
ググっても、本を読んでも見当たらないので例すら分からないのです。
0816nobodyさん
2005/05/29(日) 10:48:50ID:???0817nobodyさん
2005/05/29(日) 10:58:18ID:???1個のPHPファイルが全てのリクエストを受け付けるって事かい?
フロント・コントローラーって呼ばれたりするやつか。
自分でif文を使って分岐させてもいいし、
いくつかのフレームワーク(mojaviとか)はそういう呼び出し方を前提に作ってあるよ。
0818nobodyさん
2005/05/29(日) 12:56:43ID:???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:???問題の切り分けをしましょう。
それはPHPの問題ではなくてUserAgentの内容に関する質問です。
したがって、すれ違いです。
0822nobodyさん
2005/05/30(月) 00:01:46ID:???0823nobodyさん
2005/05/30(月) 02:48:10ID:???お前はまずGETメソッドについて勉強しる。
で、それはともかくとしてBASICみたいにGOTO使えたら便利なのに、と考える漏れ。
0824nobodyさん
2005/05/30(月) 03:10:02ID:???0825nobodyさん
2005/05/30(月) 07:44:04ID:???初回のアクセスの際、変数がなく、エラーになります。どうすればよいでしょうか?
0826nobodyさん
2005/05/30(月) 08:20:39ID:???http://www.webmasterworld.com/forum88/4831.htm
0828nobodyさん
2005/05/30(月) 14:11:42ID:???0829nobodyさん
2005/05/30(月) 14:12:42ID:iPZEzWrI0830nobodyさん
2005/05/30(月) 14:14:36ID:???0832nobodyさん
2005/05/30(月) 14:51:47ID:???20 if x=1 then goto 10
死亡
0833nobodyさん
2005/05/30(月) 15:31:27ID:???0834nobodyさん
2005/05/30(月) 16:11:42ID:???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:???0836nobodyさん
2005/05/30(月) 16:34:06ID:???たびたびすいませんがこの方法で後々不具合が出るとかはないでしょうか
0837nobodyさん
2005/05/30(月) 16:58:11ID:???zend様のご気分次第で御座います。
if(isset($idchk[$i]) && $idchk[$i]!=$id){ てな感じで
$idchk[$j]が存在するかチェックすれば気にしなくて済みますが。
0839nobodyさん
2005/05/30(月) 20:10:40ID:???PHPでリッチクライアントはFlash使ったのぐらいしかみないなぁ・・・
俺も仕事だとBiz/Browser使ってるけど、個人で使うには高いしね。
0841nobodyさん
2005/05/31(火) 01:21:02ID:???0842nobodyさん
2005/05/31(火) 01:28:19ID:???照会順序はデータベース、テーブル、フィールドすべてsjis_japanese_ci
phpファイルもsjisです ヘルプ
0843nobodyさん
2005/05/31(火) 03:33:46ID:???環境を書けよ・・・
多分Mysql4.1系だから
$conn = mysql_connect(xxx);
mysql_query("SET NAMES sjis" , $conn);
0844nobodyさん
2005/05/31(火) 04:25:32ID:???「メアド」を書いたりするヤツがたまにいるんですけど、
これをPOST後の入力チェック画面で赤字などで表示して知らせたいんです。
mb_convert_kanaとかだと変換されちゃうけど、変換はせずに、
単に「入力されたのはカタカナではない文字である」と検出するだけの
関数ってありますでしょうか??
0849nobodyさん
2005/05/31(火) 06:26:34ID:???4.1系は駄目なんですよ・・・
スキルあるなら、sjisでコンパイルやり直すぐらいしか対処法はないです。
>>847
本でも買って読んでろボケ
と、心でつぶやいてみる
0851nobodyさん
2005/05/31(火) 07:32:18ID:???英数以外が見つかればそれを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:???>>852の言うように意味無いんだけどこういうのがある
$hoge = preg_replace_callback("/(\W+)/",
create_function(
'$match',
'return urlencode($match[1]);'),
$hoge
);
0855nobodyさん
2005/05/31(火) 08:33:49ID:???それ、サーバ側の設定の所為じゃなくて、
クライアント側(PHPのMySQLエクステンション)の設定の所為だから。
クライアント側をコンパイルし直せばOK。
あとphp.iniで設定できるようなパッチが出回ってた気がするが、
そのままパッチあてるならphpのバージョンにも依存するだろうしな、
コネクション開始する際にSETするようにソフト側で対処するのが無難。
0856nobodyさん
2005/05/31(火) 11:15:59ID:hNG5bdXN0857nobodyさん
2005/05/31(火) 11:21:14ID:???0859nobodyさん
2005/05/31(火) 12:16:58ID:???今までの質問、全部その「環境」が一因じゃん。
PHPは単体で動くものじゃないし
エンジンが何でコンパイルされてるのか
設定ファイルがどうなってるか
ライブラリはそろってるのか
環境変数 動作OS
いろんなものが絡み合って、支えあって生きているんだ。
人という字は、人と人とが支え
0860nobodyさん
2005/05/31(火) 12:22:23ID:???0861nobodyさん
2005/05/31(火) 12:25:12ID:???ログファイルが有るのですが、そのログファイルの i 行目だけを
ユーザーから受けた値で修正したいのです。
そういう場合どういう処理をすればいいのでしょう。
0862nobodyさん
2005/05/31(火) 12:32:54ID:???先頭から1行ずつ読んで別ファイルに書き込んでいく。最後にファイル名を変更
そんなに大きなファイルじゃなければfile()で全体を配列に読み込んで修正して書き込む
0863nobodyさん
2005/05/31(火) 12:41:07ID:???行という概念が、そのOSでの改行コードがファイル中に存在するだけ、ということを頭の中に叩き込む。
そうすれば、ファイル中で i 行目を発見するにはファイルの先頭から読み込んでいくしか無いことが分かる。
1. 各行を配列にぶち込んで、該当の配列要素を弄くり倒し、改竄された配列をファイルにぶち込む
2. 行単位で読み込みながら、該当行が見つかるまでファイルに書き出し、
該当行を発見したら修正したものをファイルに書き出して、ファイルの終わりまでそれを続ける。
3. 適当なサイズのバッファを用意し、それにファイル内容を逐次読み込みながら改行コードをカウントする。
該当行を発見したら修正しつつ、ファイルの終わりまでそれを続ける。
4. 各行が固定長だと限定できると、改行コードの数を数えなくても一気に指定行へ移動(seek)でき、
修正(修正+固定長へのパディング)して上書き保存。固定長制限の見返りに冒頭の話の例外的な扱いになる。
etc.
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等)の横幅と高さの取得はどのようにすればいいでしょうか?
0868nobodyさん
2005/05/31(火) 16:29:55ID:???PHPのみというのがわからない
ApacheのErrorDocumentで特定のPHPスクリプトを実行では駄目なのか
0869nobodyさん
2005/05/31(火) 16:54:29ID:???> 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:???値が空のときの振り分けは無理なのでしょうか?
0871nobodyさん
2005/05/31(火) 17:49:01ID:???0872nobodyさん
2005/05/31(火) 18:03:46ID:???レスありがとうございます。
defaultはdefaultで指定したい動作があります。
空のときとcase 1の時に同じ処理にしたいのですが・・・
同じ内容を2回書かずに、break無しで振り分けられたら良いな、と。
"NULL"とか指定しても無理でした。
ifを使えば簡単なのかもしれないんですけど、
覚えたてなので色んな手段で試してみたいんです。。。
0873nobodyさん
2005/05/31(火) 18:30:01ID:???空というのはGETの変数が指定されていない、という意味だったら
以下でいいんでないかい?
switch (empty($_GET['id']) ? 1 : $_GET['id']) {
case 1:
echo '空 or 1';
break;
...
0874nobodyさん
2005/05/31(火) 18:35:30ID:???言葉足らずでした。
動画のサイズをPHPで取得したいのです。
画像ならサイズを取得できるのですが…
<embed src = "aaa.mpg" width = "ここ" height = "ここ">
という感じで、「ここ」の部分を自動的に取得したいと思っての質問です。
0877nobodyさん
2005/05/31(火) 19:19:20ID:???0879nobodyさん
2005/05/31(火) 21:33:00ID:???dieとかexitで処理を終了した場合
image resourceのメモリ開放やdirでcloseメソッドで閉じるなどは
しなくてもいいのですか?
終了した瞬間にメモリ開放とかならうれしいのですけどねぇ
0880nobodyさん
2005/05/31(火) 21:33:42ID:???ありがとうございます!
出来ました!
caseで指定する値ばかりに気をとられてました。
勉強になりました。
0881nobodyさん
2005/05/31(火) 23:11:13ID:???0882nobodyさん
2005/06/01(水) 03:09:50ID:???よろしくお願いします。
簡単なサイト内検索を作っているところです。
ファイルをゲットして、配列に格納して、正規表現で
フォームから入力された文字と比較して、出力するものなんですが、
なぜか、「ポ」「ー」だけヒットしません・・・。
文字コードが間違ってるのかと、
いろいろ組み合わせてみたのですが、だめでした。
わかる方がいましたら、アドバイス願います。(_ _)
0883nobodyさん
2005/06/01(水) 03:13:38ID:???if(isset($_SESSION['user'])){
echo "sessionが生きている";
} else {
echo "sessionが切れている";
}
0885nobodyさん
2005/06/01(水) 03:33:42ID:???switch($_POST['mode']):
case 'aaa' or 'bbb':
ab();
break;
case 'ccc':
c();
break;
こんなのもある
0886nobodyさん
2005/06/01(水) 05:46:19ID:???うーむ、$_SESSION調べるしかないのか。
必ずセットされるキーが無いかも知れないので、
if (count($_SESSION) == 0) {
echo "sessionが切れている";
}
とでもしてみますわ。
0887nobodyさん
2005/06/01(水) 07:34:27ID:???正規表現じゃなく文字列関数でチェックすればいい。
処理も軽いらしいし。
if (strpos($text, "ポー") !== false) {
echo "ヒット";
}
else echo "アウト";
0888nobodyさん
2005/06/01(水) 09:34:44ID:???こんなんはどう?
if (!empty($_SESSION)) {
print_r($_SESSION);
}
0889nobodyさん
2005/06/01(水) 09:54:21ID:???0890nobodyさん
2005/06/01(水) 13:43:09ID:???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+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:???ってかREADMEかINSTALLに自分で
/usr/src/php-4.3.10/php.ini-dist
をコピーして環境に合わせて編集せいって書いてるだろ。
0895891&892
2005/06/01(水) 15:17:12ID:???>>893
今まで自分ではコピって編集して使ってたので
「ない」という自体に戸惑ってました。
>>894
PHP4からなくてもデフォルト値で動くようになったみたいですね。
ちょっとびびりました
0897nobodyさん
2005/06/01(水) 19:37:39ID:1hihSq3g正常に書き込みが終わります。
このエラーが何であるかを知りたいのですが、どのようにデバッグを行ったらよいですか?
0898軟式PHP
2005/06/01(水) 19:39:16ID:???それを止めてデバッグすればいいのでは。
0899896
2005/06/01(水) 19:52:16ID:1hihSq3gリダイレクトではありません。
ボタンを押した次の瞬間にエラーが表示された後、書き込み終了する感じです。
サーバーを見に行けば分かりますか?
0900nobodyさん
2005/06/01(水) 20:09:21ID:???書き込みの完了(つーか完了の画面を出力)の直前あたりにexit()を入れて、
エラーが画面に残るまでexit()の位置を前にずらしていく。
エラーが表示された部分が勝手に消去されるなんて事は、
リダイレクトやjavascriptでごにょごにょぐらいしか思いつかないけどなぁ。。
マニュアルの「エラー処理およびログ記録関数」にエラーの扱いに関する情報が沢山載ってるよ。
0901896
2005/06/01(水) 21:44:31ID:1hihSq3gexitの位置を変えてデバッグに成功しました!
0902nobodyさん
2005/06/02(木) 00:37:35ID:/+4mKcyBa[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 |
 ̄ ̄ ̄ ̄
↑みたいに一発でするにはどうしたらよいのでしょう(´・ω・`)?
0903902
2005/06/02(木) 01:25:18ID:???foeach($tmp as $tmptmp){
a[] = $tmptmp;
}
0905nobodyさん
2005/06/02(木) 01:40:09ID:???ちなみにsmartyを使用しているのですが
xxx.tplに
{php}include("counter1.php");{/php}
これしか方法はないでしょうか?
0906nobodyさん
2005/06/02(木) 01:43:24ID:???http://php.s3.to/man/function.array-merge.html
0907nobodyさん
2005/06/02(木) 03:23:09ID:4+N137PM表示させるPHPを作っているのですが間違っている箇所を教えて頂けませんでしょうか?
0908907
2005/06/02(木) 03:25:14ID:4+N137PM$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);
?>
0909907
2005/06/02(木) 03:32:00ID:4+N137PM</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>
0910907
2005/06/02(木) 03:33:24ID:4+N137PMみなさん、おながいします。
0911nobodyさん
2005/06/02(木) 03:51:31ID:??????
とても抽出しているようには思えないが
0912nobodyさん
2005/06/02(木) 04:14:06ID:???where 品番 = 'a001'
where 句で指定された品番 a001 のすべての項目を抽出照会します。
------------------------------------------------------------
select 品番, 出庫数 from 商品tbl
where 品番 = 'a001'
品番 a001の 品番と出庫数だけを抽出照会します。
0915nobodyさん
2005/06/02(木) 10:36:34ID:???× $result = mysql_query($query);
○ $result = mysql_query($query,$conn);
0916nobodyさん
2005/06/02(木) 11:45:56ID:RepE9V0nメニューのボタンを、<?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:???counter1.phpをfunction plugin化する
0918nobodyさん
2005/06/02(木) 11:57:56ID:???それは省略できる
>>907
テーブルの構造も何がやりたいのかもわからんから答えようが無い
htmlから想像すると
$query = "SELECT * FROM ryori WHERE key1='".$_POST['key1']."' AND key2='".$_POST['key2']."'";
こんな感じか
0919nobodyさん
2005/06/02(木) 12:02:09ID:???echo 'hogehoge';
が構文
そこへ持ってきて、
echo 'hoge'hage'hoge';
ってやってるから、実際には
echo 'hoge'
で構文は終わってしまって、続く
hage'hoge'
は単なるゴミになるからエラーとなる。
menu.incの中身はヒアドキュメント使えば?
0920nobodyさん
2005/06/02(木) 12:04:10ID:???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>
にする
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:???そういう風になるようにスクリプトを書いてるんスよ。
意図通りに動くようにスクリプトを書くんスよ。
短いスクリプトならココに晒すッスよ
0924nobodyさん
2005/06/02(木) 13:27:40ID:qo0GIZBlいじっていたら解決しました。
0926nobodyさん
2005/06/02(木) 15:13:38ID:???入金されてたら、その金額と振込者の名前を取得してDBに収める・・・って
やりたいけど、それはさすがにどうあがいても100%実現不可能だよね。
銀行のシステムにアクセスできるわけないし。
0928nobodyさん
2005/06/02(木) 15:31:55ID:???http://www.spencernetwork.org/memo/tips-3.php
0929nobodyさん
2005/06/02(木) 15:40:06ID:???サンクス。
でもそのやり方でJNBのメンバーページにログインできるのかなぁ。
仮にメンバーページのトップ画面にまでは行けたとしても、
その後の各種処理(たとえば入金確認)とかはすごく複雑な手順になりそう・・・。
PEARに「JNBログイン」用のクラスないかな。あるわけないか。
0930nobodyさん
2005/06/02(木) 15:40:29ID:???サンクス。
でもそのやり方でJNBのメンバーページにログインできるのかなぁ。
仮にメンバーページのトップ画面にまでは行けたとしても、
その後の各種処理(たとえば入金確認)とかはすごく複雑な手順になりそう・・・。
PEARに「JNBログイン」用のクラスないかな。あるわけないか。
0931nobodyさん
2005/06/02(木) 15:41:15ID:???0932軟式PHP
2005/06/02(木) 16:08:42ID:???0933nobodyさん
2005/06/02(木) 16:10:32ID:RepE9V0nその際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:???どうやってダウンロードするのか分かりません。きっかけを教えてください。
0935nobodyさん
2005/06/02(木) 16:46:58ID:???0936nobodyさん
2005/06/02(木) 16:48:52ID:???0937nobodyさん
2005/06/02(木) 16:53:09ID:???銀行のサイトにログインするのは無理なんじゃね??
だってセキュリティ的に問題あるでしょ。
違うホストのphpからのアクセスは受け付けない気がしる。
0938nobodyさん
2005/06/02(木) 17:15:19ID:???JNBは使ってないので実際の所はどうなのか分からんが、FAQ等を見る限り、
SSL128bitとJavaScriptを扱うことさえできれば単純なhttpクライアントの機能だけでよさげ。
特別な通信手段等も提供してないようなので、できるとすればこの方法しか無いと思われ。
また、コロコロと手順が変わりそうなのでpear等に含まれる事は無いだろうねぇ。
0939nobodyさん
2005/06/02(木) 17:47:03ID:???JNBだけど、普通にブラウザが吐くのと同じように
処理して残高は取れてる。取引明細も多分取れる。
U/Aを128ビットSSL対応のブラウザだと騙すのは忘れるな。
勿論実際に128ビットSSLに対応して処理しないと駄目な訳だが。
>>937
銀行のシステムから見ると、ISPに接続したブラウザも
どこぞのサーバで動いてるPHPも判りはしない。
それこそ自宅サーバなら"ISPに接続"の部分は一緒だし。
マシンの盗難にあう危険性云々を加味した上で、自宅の自サーバという条件で、
取引明細まで取れるレベルの層のアカウントまでかな。
振込みまで出来る鍵カードの内容まで埋め込む気には到底なれない。
0940nobodyさん
2005/06/02(木) 19:19:03ID:MURkPEQSそして俺に未来はあるのかい・・・・
0941nobodyさん
2005/06/02(木) 19:39:28ID:???なるほど、あなたスゴイな。相当できる人と見た。
漏れもやろうと思ってJNBログインフォームのソース解析してみたんだけど、
いきなり「FORM」の「target="_self"」でつまづいた。
どこにPOSTすればいいんだ・・・。selfだとhtmlだぞ・・・。
0942nobodyさん
2005/06/02(木) 19:44:43ID:???にPOSTすればいいよ
0943nobodyさん
2005/06/02(木) 19:45:09ID:???target="_self"
は同じウィンドウでファームを送る
って意味だから送信先は関係ない
0944nobodyさん
2005/06/02(木) 19:45:54ID:???ファームじゃなくてフォーム
日本語勉強してきますorz
0945nobodyさん
2005/06/02(木) 20:01:11ID:???サンクス。それはログイン後の画面の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:???その中にMSIE (ver.) という文字が含まれているから、妥当だと思うが。
0948nobodyさん
2005/06/02(木) 22:54:53ID:???0949nobodyさん
2005/06/02(木) 23:15:33ID:???0951nobodyさん
2005/06/03(金) 04:25:05ID:gwTtQ5CHif(eregi("\.jp",$host)){
echo "日本人イラッシャーイ";
exit;
}else{
echo "外人さんイラッシャーイ";
exit;
}
という風に国内と国外でその後の処理を変えたいのですが
"\.jp"のところを複数指定するにはどう書いたら良いのでしょうか?
bbtec.netとか〜〜.comなどのjpドメインじゃない国内プロバイダもマッチさせたいのです。
0952nobodyさん
2005/06/03(金) 04:48:32ID:???0954nobodyさん
2005/06/03(金) 05:22:37ID:gwTtQ5CHよ、よくわからんとです…
0955nobodyさん
2005/06/03(金) 06:01:52ID:???0956nobodyさん
2005/06/03(金) 06:04:23ID:???$enabled_hosts = array('/^.*\.jp$/');
$remote_host = gethostbyaddr($_SERVER['REMOTE_ADDR']);
if (preg_replace($enabled_hosts, null, $remote_host) == $remote_host)
{
echo 'ここから先は通さん';
exit();
}
0958nobodyさん
2005/06/03(金) 07:17:02ID:???0959nobodyさん
2005/06/03(金) 07:20:24ID:???0960nobodyさん
2005/06/03(金) 07:27:16ID:???phpinfo()のどっか見ればあります?
0961nobodyさん
2005/06/03(金) 09:03:51ID:tphqa5wQApacheのモジュールだったらphpとしては走っていない
0962nobodyさん
2005/06/03(金) 09:24:21ID:3MSa7XCaサーバが一台だったら、環境変数に記録するとか?
0963nobodyさん
2005/06/03(金) 10:03:01ID:???foreach使ってfputs($f,$value)なんてするしかないんでしょうか
まとめていっぺんに書き込めませんか
0964nobodyさん
2005/06/03(金) 11:43:04ID:???あんまりいい考えとは思えないけど。
>>963
たぶん一発でやっつける関数はない。
httpd から動かしている場合、時間のかかる処理の途中でプロセスが
殺されることはよくあるから、そのへんの処理をしっかりね。
0965nobodyさん
2005/06/03(金) 11:48:38ID:???serialize / unserialize
立派なオンラインマニュアルがあるんだから
ちっとは読む努力しないと進歩しねえぞ?
0966nobodyさん
2005/06/04(土) 12:52:35ID:???このスレの454辺りから自称元WEBデザイナーと自称webプログラマーが暴れてるのですが
この板の方々から見て彼等に実務経験があるように見えるのでしょうか?
0967nobodyさん
2005/06/04(土) 13:56:46ID:???0969nobodyさん
2005/06/04(土) 16:41:25ID:???とある中古車販売店に行った時デカイ電卓が置いてあったので
「やっぱりこう言う電卓のほうが使いやすいですよね〜」
なんて適当なこと言ったらExcelで入力したデータに間違いが無いか
電卓で確認することが義務化されてると言ってた。
絶対社員になりたくない会社だと思った。
0970nobodyさん
2005/06/04(土) 16:49:52ID:???普通。
金を扱う場合はそれが普通だという事を知らない?
システム会社でも事務職が普通に居ると思うが、聞いてみればいい。
そして、必ず机の上に電卓あるから。
Excelとかで入力やら計算されたデータ”だけ”を信用する事は絶対にない。
Excelで計算などしても、その後に電卓でチェックし、さらに、それをもう一度、別の人間がチェックする。
これが金を扱う場合の”普通”の業務。
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なのでしょう?
理由があるからこういった違いがあるはずなのですが、
どういった理由でこういった設定になるかが不明です。
0975nobodyさん
2005/06/04(土) 17:59:49ID:???0976nobodyさん
2005/06/04(土) 18:09:41ID:???0977nobodyさん
2005/06/04(土) 18:37:03ID:???俺も上手に説明できないんだけど、
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:???txtファイルに「japanese日本語」と書き込み保存。
おもむろにそのファイルをブラウザにドラッグ&ドロップ。
PHPについては、一生使おうと思わないことを誓う。
0981nobodyさん
2005/06/04(土) 22:44:00ID:???array_count_valuesで$arrの山の数を得るにはどうすればいいでしょうか?
0982nobodyさん
2005/06/04(土) 22:54:15ID:???配列にnull文字があるとエラーが出るみたいですね
よく考えれば解るけど。
0983nobodyさん
2005/06/04(土) 22:55:35ID:???http://www.php.net/manual/ja/function.array-count-values.php
0985nobodyさん
2005/06/05(日) 04:57:18ID:???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:???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
0988nobodyさん
2005/06/05(日) 10:41:23ID:???↑ここ突っ込むところ
0989nobodyさん
2005/06/05(日) 11:05:26ID:???そこはそれ、本家で"配布してない"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:???>「PHPのプログラムでかかれたものに日本語も認識出来るようになるの?」
日本語としても意味が不明。具体的に明瞭に
0994990
2005/06/05(日) 13:01:54ID:???具体的に書きます。
例えば、
print "japanese日本語";
と書くと
「japanese日本語」と表示されるのは、
php.iniの設定がすまされてるからで、jcodeみたいなものを別に読み込んでるわけじゃないの?
0995nobodyさん
2005/06/05(日) 13:08:35ID:???あまり日本語上手くないなお前・・・
php.iniで設定してるのはマルチバイトモジュールの設定。
前提としてはPHPにマルチバイトモジュールが組み込まれてる必要がある。
jcodeのようなものは必要無い。
マルチバイトモジュールは標準で用意されていて、
PHPのインストール時に指定するだけで組み込まれる。
0996nobodyさん
2005/06/05(日) 13:14:07ID:???ただし日本語固有の処理
(例:2バイト文字を一文字として数える等)
マルチバイト拡張モジュール(mbstring)を使用します。
詳しくは↓参照
http://www.php.net/manual/ja/ref.mbstring.php
0997990
2005/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:???10011001
Over 1000Threadもう書けないので、新しいスレッドを立ててくださいです。。。
レス数が1000を超えています。これ以上書き込みはできません。