【PHP】下らねぇ質問はここに書き込みやがれpart12
レス数が1000を超えています。これ以上書き込みはできません。
0001nobodyさん
2005/11/01(火) 17:56:36ID:???ここなら本スレで回答のないお前の下らない質問に回答があるかも知れません。
次スレは>>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/
【PHP】くだらねぇ質問はここに書き込みやがれpart5
http://pc8.2ch.net/test/read.cgi/php/1114787573/
【PHP】くだらねぇ質問はここに書き込みやがれpart6
http://pc8.2ch.net/test/read.cgi/php/1117945031/
【PHP】くだらねぇ質問はここに書き込みやがれpart7
http://pc8.2ch.net/test/read.cgi/php/1121100429/
【PHP】くだらねぇ質問はここに書き込みやがれpart8
http://pc8.2ch.net/test/read.cgi/php/1123431535/
【PHP】くだらねぇ質問はここに書き込みやがれpart9
http://pc8.2ch.net/test/read.cgi/php/1125716012/
【PHP】下らねぇ質問はここに書き込みやがれpart10
http://pc8.2ch.net/test/read.cgi/php/1127581425/
【PHP】下らねぇ質問はここに書き込みやがれpart11
http://pc8.2ch.net/test/read.cgi/php/1129582431/
0002nobodyさん
2005/11/01(火) 18:05:41ID:???0003nobodyさん
2005/11/01(火) 18:13:53ID:2mWy/qga文字の描画についてです。
フォントはインストールされているものではなく、
/home/hoge/fonts/
というフォルダを作りttfファイルを入れているだけです。
<?php
$convert = "/usr/local/bin/convert";
$text = "Japan日本語";
$text = mb_convert_encoding($text, "UTF-8", "SJIS");
$font = "/home/hoge/fonts/ipam.ttf";
passthru("convert -encoding UTF-8 -size 620x100 xc:transparent -font $font -pointsize 72 -draw \"text 20,65 $text\" test.png");
?>
のように$tectの部分が「英語+日本語」なら表示されるのですが、
「日本語のみ」の場合文字を描画することができません。
どこが悪いのでしょうか?
0004nobodyさん
2005/11/01(火) 21:58:18ID:???つかこれも貼っとけ(゚Д゚ )ゴルァ!!
↓くだらなくない質問はこちらへ
【PHP】質問スレッドpart30【php】
http://pc8.2ch.net/test/read.cgi/php/1130190606/
0005nobodyさん
2005/11/01(火) 22:17:38ID:1KpuORu0↓おいしい朝ご飯についてはこちらへ
【php】part29【php】
http://pc8.2ch.net/test/read.cgi/php/1120611474/
00063
2005/11/01(火) 23:43:18ID:???本スレで聞いてきます。
0007nobodyさん
2005/11/02(水) 01:03:27ID:OGh2Qb662004年度に米国では38万8,000頭について狂牛病感染検査を行ったが最近まで
ジョハンズ長官は検査頭数を4万頭に削減するよう検討させていた。現在のところ、
日本、韓国、香港、台湾、ロシア、中国が米国産牛肉の輸入を禁止している。
ジョハンズ長官の代理を務めるチャールズ・ランバート氏と
デイル・ムーア氏はいずれも全米肉牛生産者・牛肉協会出身者。
(業界団体の人間が官僚になるのは米農務省の通例のようになっている。)
日本から派遣された衆院農林水産委員会の調査団を恫喝したとされる、
米農務省海外農務担当次官J・B・ペン氏は牛肉業界ロビイスト出身。
米農務省広報官エド・ロイド氏の説明によると、
ペン氏は恫喝などしておらず、日本側との会見は「和やか」であったという。
日本のPR業界には朗報:米農務省はアメリカ食肉輸出連合向けに、
1205万5,587ドル(約13億1,757万円)の販促費拠出を決定した。
http://human5.2ch.net/test/read.cgi/ms/1111209733/374-
成長ホルモンを使っているアメリカの牛肉をEUは全然輸入していない。
http://human5.2ch.net/test/read.cgi/ms/1111209733/202-
0008nobodyさん
2005/11/02(水) 01:36:51ID:???0009nobodyさん
2005/11/02(水) 02:24:33ID:fpJz6w46行き来する場合はどうなるのでしょうか。
hiddenでセッションIDを持ち歩く必要性があるという解釈でよいの
でしょうか。
0010nobodyさん
2005/11/02(水) 02:27:33ID:???マルチ乙
http://pc8.2ch.net/test/read.cgi/php/1064399467/303
0011nobodyさん
2005/11/02(水) 02:35:50ID:???ごめんなさい。
本当に必要に迫られていたとはいえ、してはいけないことを
してしまいました。
以後、このようなことは絶対しないことにします。
すみませんでした。
>>9の書き込みは無視してください
0012nobodyさん
2005/11/02(水) 03:18:12ID:???0013nobodyさん
2005/11/02(水) 04:13:08ID:ldBunQZEtrue/falseは大文字/小文字どっちで表記するのがスタンダードですか?
0014nobodyさん
2005/11/02(水) 07:27:08ID:???ttp://www.php.net/manual/ja/language.types.boolean.php
論理型(boolean)
論理型は、最も簡単な型です。boolean は、真偽の値を表 します。この値は、TRUEまたはFALSEのどちらかになります。
構文
booleanリテラルを指定するには、キーワードTRUE またはFALSEを指定してください。両方とも大文字小 文字に依存しません。
0016nobodyさん
2005/11/02(水) 08:15:01ID:???0017nobodyさん
2005/11/02(水) 11:55:40ID:ys+/VXrQ0019nobodyさん
2005/11/02(水) 12:03:34ID:???0020nobodyさん
2005/11/02(水) 12:39:12ID:???RSSのURL部分で同じURLを複数使うとリーダーの方でエラーが出ます。
gooリーダーだと一つだけしか読み取れません。
RSSで同じURLを複数利用することは不可能でしょうか?
0022nobodyさん
2005/11/02(水) 13:27:36ID:???0024nobodyさん
2005/11/02(水) 17:48:41ID:okZwkysM上記のようなURLから一部(例えば1129582431の部分)を抜き出して表示させたいです
現在無い頭を絞って以下のようなやりかたでやっていますが
もっと上手い方法を教えて頂けないでしょうか?
$data= implode("/", "http://pc8.2ch.net/test/read.cgi/php/1129582431/ ");
002524
2005/11/02(水) 17:51:01ID:okZwkysM後ろから数えて1番目の部分だけ抜き出したいです
0026nobodyさん
2005/11/02(水) 17:51:20ID:???世紀氷原使え。
002724
2005/11/02(水) 17:52:37ID:okZwkysMexplode
ですね
0028nobodyさん
2005/11/02(水) 17:52:56ID:???http://www.php.net/manual/ja/function.parse-url.php
http://jp2.php.net/preg_match
0029nobodyさん
2005/11/02(水) 17:54:54ID:???echo $hoge[count($hoge)ー2];
とか?
0031nobodyさん
2005/11/02(水) 19:25:19ID:5FYlO/akauto_prepend_fileで指定したいファイルのPATHに
スペースがあるためか読み込めないのですがどうしたら良いのでしょうか?
0033nobodyさん
2005/11/02(水) 22:15:04ID:???0035nobodyさん
2005/11/02(水) 23:08:00ID:???php.iniの話だよな?
ttp://jp2.php.net/manual/ja/ini.core.php#ini.include-path
−−抜粋−−
auto_prepend_file (string)
メインファイルの前に自動的に付加されるファイルの名前を 指定します。
このファイルは、include() 関数のコール時 と同様に読み込まれます。
このため、include_path が使用されます。
特別な値 none を指 定すると、ファイルを前に追加する機能は無効となります。
−−抜粋オワリ−−
だもんで、include_pathでディレクトリを指定して、auto_prepend_fileはファイルだけ指定?
auto_prepend_fileじゃないけど、うちはinclude_pathやらextension_dirにprogram filesみたいなスペースの有るディレクトリ指定しても問題無いよ。
言ってる事間違ってたらゴメン。
0036nobodyさん
2005/11/03(木) 00:31:12ID:TOE31wc5http://www.hardened-php.net/globals-problem
http://blog.ohgaki.net/index.php/yohgaki/2005/11/02/phpa_rc_fei_a_oa_oa_fa_sa_le_acsa_oe_afp
PHPに深刻な脆弱性がある事が発表されました。今まで見つかったPHPの脆弱性の中でも「最悪」の脆弱性です。全てのPHPユーザは今すぐ対処を行う必要があります。
こんなん見かけたんですが
0037nobodyさん
2005/11/03(木) 01:18:54ID:1YkpjiEQ$_SESSION["hoge"]は$_POST["hoge"]のように変数を書き換えられないと
考えて良いでしょうか?
例えば、POST変数は他サイトからPOSTすれば容易に変更が可能になるかと思います。
SESSION変数ではこの点は心配しなくてもいいでしょうか?
具体的にはIDのみをSESSION変数として格納して持ち歩くか、
ID/PASS両方をSESSION変数として持ち歩くかで悩んでいます。
SESSION変数を外部から書き換え不可能なのであれば、
IDが書き換えられる心配が無いので、
IDのみ持ち歩くだけでも問題ないと思いますが、
もしそうでないのであれば、
持ち歩くページ毎に$_SESSION["ID"]と$_SESSION["PASS"]を
利用して認証を行わせる方法が必要かなと考えています。
どうかアドバイスお願いします。
0038nobodyさん
2005/11/03(木) 01:43:21ID:???レンタルサーバーのインストールされた物の情報を見る方法ってどうやるんだっけ?
前どっかで見つけたんだがそのサイト忘れちゃった
***.phpで1行ぐらいの何かを追加すれば見れると思ったんだけど
0041nobodyさん
2005/11/03(木) 01:53:54ID:???セッション変数は *基本的* に外部からは書き換えられない、という前提でいいよ。
PHPそのもののバグやサーバーのセキュリティの問題で、可能性がゼロと言えないのは確かだろうけど。
一般的にはログオン後はID(ユーザーIDのことだよね?)だけをセッションで持ち回るけど、
認証の処理が軽いのなら各ページ毎で認証チェックをしても別にいいと思う。貴方のポリシー次第。
普通は、そこの部分よりもセッションハイジャックの防止を色々と考慮するんじゃないかな。
0042nobodyさん
2005/11/03(木) 01:57:06ID:???$_SESSIONの中身自体は外部から書き換えられるって話は今のとこ聞いたことないけど、セッションハイジャック対策としてパスワードみたいなの持ち歩かせるってのはあるかもね。
>>38
つ <?=`ls /bin /usr/bin`?>
0045nobodyさん
2005/11/03(木) 04:32:04ID:???煽りではなくて教えて欲しいんだが、セッションハイジャック対策として
パスワードのような物セッションに持たせるのは有効なのか?
0046nobodyさん
2005/11/03(木) 04:40:42ID:q0r4E/Ghどうしたらよいでしょうか?
{2,4,3,2,4,6} → {2,3,4,6}
こういう感じです。
0047nobodyさん
2005/11/03(木) 04:42:56ID:???0048nobodyさん
2005/11/03(木) 06:57:37ID:???0049nobodyさん
2005/11/03(木) 07:38:19ID:q0r4E/Ghなんかそれでよさそうです。
どうもありがとうございますた。
0050nobodyさん
2005/11/03(木) 07:56:32ID:4j0uSvZA4.3.11から4.4.1にバージョンアップしました
やり方は設定をそのまま引き継ぐ為、php.ini以外のファイルを全て上書きしました
Apache2のサーバモニタにはPHPのバージョンは4.4.1と表記されているのですが
phpinfoで調べると4.3.11のままでした
phpinfoの表記も4.4.1にするにはどこを変えれば良いんでしょうか?
0051nobodyさん
2005/11/03(木) 08:11:53ID:52LMl42Q初心者です。
メールを一括送信するCGIを探してます。
送信先の一覧が管理でき、送信したメールに名前を表示できるようなやつです。
もちろんフリーで
0052nobodyさん
2005/11/03(木) 08:14:50ID:???0053nobodyさん
2005/11/03(木) 09:25:29ID:e6YB+Wfpダウンロード自体は成功しますが、そのあとページを移動してもブラウザのURLが固定され変化しなくなります。
なんとかならないでしょうか?
header("Content-type:text/plain");
header("Content-Disposition: attachment; filename=readme.txt");
header("Content-length: " . filesize("readme.txt"));
readfile("readme.txt");
0054nobodyさん
2005/11/03(木) 10:36:18ID:???セッション発行時のIPもセッション情報に保持して、突合せ。
ただし、接続ごとにIPの変わる可能性のある携帯電話では別の仕掛けが必要。
で、FA?
0055nobodyさん
2005/11/03(木) 11:22:01ID:4j0uSvZAこの板で質問するような内容じゃありませんでしたね
自宅鯖板で聞いてきます
0056nobodyさん
2005/11/03(木) 11:33:52ID:???NATやプロキシ経由で来られると、そこからのIPはみんな一緒になっちゃうから確かに低効果だよね。
漏れはIPと$_SERVERで得られる情報(HTTP_USER_AGENT, HTTP_ACCEPT, HTTP_ACCEPT_LANGUAGE等)で
付き合わせているけど、効果があるのかな。
考え出すと激しく不安…
みんなどういう情報で付き合わせてるんだろう。
0057nobodyさん
2005/11/03(木) 14:06:28ID:???--内容--------
def
--------------
def.txtの内容をabcに変えたいのですが、
$fp = fopen("./def.txt" "w");
fwrite($fp,"abc");
これでは abcdef になってしまいます。
ヘルプミー
0058nobodyさん
2005/11/03(木) 14:21:43ID:???"w" で fopen すると元のファイルはサイズ 0 になるから最終的には
abc だけのファイルになって、abcdef にはなるはずないけど。
何か勘違いしていない?
後、書き間違いだったらいいけど、"./def.txt" と "w" の間は , が必要。
0059nobodyさん
2005/11/03(木) 14:27:01ID:3fnwo6aV>ソースコード埋め込み定数参照の仕様が変更されているため
って、具体的になんのこと?
0060nobodyさん
2005/11/03(木) 15:12:18ID:???引数に参照を期待している関数に対して、変数以外が渡せなくなった。
例えばこんなコード。
PHP4.3.10 では正常に動作し、3 と表示される。
PHP4.4x ではエラーになる。
<?php
echo array_pop(explode('-', '1-2-3'));
?>
こう書けばどちらでも正常に動作する。
<?php
$work = explode('-', '1-2-3')
echo array_pop($work);
?>
0061nobodyさん
2005/11/03(木) 15:24:34ID:???誘導
http://news19.2ch.net/test/read.cgi/newsplus/1130985853/
006259
2005/11/03(木) 15:51:31ID:???なるほど、そういうことなのか。
でも PHP4.3.10 でも、 function hoge(&$str) みたいに定義した関数を hoge("unko") のような形では
呼び出せなかった気がするけど、気のせい?
しかし、その手の問題なら、ソースの中を探すのが大変だな。
ちょっとした検索ツールを作らなくちゃいけなそうだな。
0065nobodyさん
2005/11/03(木) 17:02:41ID:???0066nobodyさん
2005/11/03(木) 17:08:42ID:???register_globals = On で使ってる環境がそれほど多くないってことなんじゃない?
該当環境だったら、結構致命的な気がする。
おれもこの際だからPHP4.4.1にアップデートしようと思ってはみたけど、なにやら mb_send_mail に
バグなんだか仕様変更なんだかがあるらしく、見送りたくなってきたところ。
0067nobodyさん
2005/11/03(木) 17:23:12ID:???0068nobodyさん
2005/11/03(木) 17:25:10ID:???0070nobodyさん
2005/11/03(木) 19:04:00ID:???0071nobodyさん
2005/11/03(木) 19:14:46ID:???http://www.php.net/
0072nobodyさん
2005/11/03(木) 19:24:32ID:???0073nobodyさん
2005/11/03(木) 19:30:57ID:???apacheもPHPも上げて、スクリプトも書き直しつらい。
徹夜だ。
0076nobodyさん
2005/11/03(木) 20:18:02ID:???0079nobodyさん
2005/11/03(木) 21:47:34ID:e6YB+Wfp0080nobodyさん
2005/11/03(木) 21:50:28ID:???それともみんなは関数内でglobal命令で参照してるの?
0081nobodyさん
2005/11/03(木) 21:51:34ID:???0082nobodyさん
2005/11/03(木) 21:53:06ID:???んなばかな
どんなにローカル変数で頑張ってもグローバル変数使うでしょ
それともぜーんぶクラス化してプロパティで参照してんの?
0083nobodyさん
2005/11/03(木) 21:59:05ID:???ここは更新ボタン押しても二重投稿とかないけどこんな風にできない?
0084nobodyさん
2005/11/03(木) 22:01:38ID:???書き込んだ後で自分自身にリダイレクトしろ
function redirect($url){
header("Location: $url");
exit;
}
0085nobodyさん
2005/11/03(木) 22:03:52ID:???うん。
0087nobodyさん
2005/11/03(木) 22:31:19ID:???$guro = 1;
function hoge(){
$out = $GLOBALS['guro'] + 1;
return $out;
}
echo hoge();//実行結果:2
こんなふうにやるときの$GLOBALSって意味ですよね?
中身丸見えのオープンソースのものなら、書き換えて攻撃とかやる気にもなるけど、漏れなんかの書いた変態スパゲッティソースを外部から変数名を推測して攻撃するなんてほとんど不可能だと思うんだけど、どうでしょう?
register_globals = Offだけど、
extract($_GET);なんてやっちゃててるスクリプト山ほど書いて来たけど、一度もつつかれた事無いyp!
しょぼい仕事しかしてないからですか。そうですか。吊ってきます。
0088nobodyさん
2005/11/03(木) 22:32:25ID:???0089nobodyさん
2005/11/03(木) 22:58:23ID:???僕のサイト(素人サイト)は
register_globals=ONでしかうごかないページがあります。
まぁやばくなったら、$GET_['hoge']で変数を受け取れば
いいやって考えてました。
で、今回のセキュリティホール問題をみてて ON じゃやべー
って思って、httpで変数を渡す処理の部分は全部
$_GET['hoge']にしてOFFにしたんですが、うごかないです。
レンタル鯖屋が4.4.1にUPしたらしいのが原因?前は動いたのですが・・。
ちなみにプログラムはこれです。何かの本のサンプルをみて書きました。
クリック数カウントするためです。
http://www.hoge.com/count.php?no=1&url=http〜〜
<?php
$_GET['url'];
$_GET['no'];
MYSQLへのカウント処理
//指定されたURLへリダイレクト
header("Location: " . $url);
?>
デバック方法でも何でもよいのでアドバイス下さい。。
0090nobodyさん
2005/11/03(木) 23:01:41ID:???0091nobodyさん
2005/11/03(木) 23:07:45ID:???<?php
$url = $_GET['url'];
$no = $_GET['no'];
//省略
?>
ではないのか?
>デバック方法でも何でもよいのでアドバイス下さい。。
echo $url; //debug
//header("Location: " . $url);
0092nobodyさん
2005/11/03(木) 23:08:26ID:???0094nobodyさん
2005/11/03(木) 23:18:43ID:???function redirect($url){
header("Location: $url");
exit;
}
を書くことによって更新ボタン押しても二重投稿できなくなるの?
009589
2005/11/03(木) 23:29:19ID:???>>91
そのとおりです。
指定するの忘れてました。
それで見事にできました。
尚、前までは僕が書いたソースで出来ていたのは
なぜかは謎です。
009691
2005/11/03(木) 23:38:57ID:???registor_globals = on だから
$url = $_GET['url'];
相当の処理が自動で行われて動いてたんだろ。
0099nobodyさん
2005/11/04(金) 00:52:15ID:???ってPHP5で5.0.1→5.0.5でも同じなの?
ここ数日のバグの記事を見て自鯖のPHP更新(5.0.1→5.0.5)してたら
Fatal error: Only variables can be passed by reference
ってエラー出た。
0100nobodyさん
2005/11/04(金) 01:02:34ID:???だって見られて困るデータにDBに入ってないし。
DBのデータは変動しないからバックアップ戻せばいいだけだし。
つか、漏れ様の、漏れでさえ解んなくなるプログラムの変数名予測して攻撃するなんて不可能。
手間>得るもの
だからさ。
0101nobodyさん
2005/11/04(金) 01:05:50ID:???$sql = "まあ、ふつうのsql文";
$result = mysql_query($sql);
$rows = mysql_num_rows($result);
って書いてるところを
$sql = "まあ、ふつうのsql文";
$rows = mysql_num_rows(mysql_query($sql));
って書くのは、パフォーマンス的にはどうなんでしょう?
$sql = "まあ、ふつうのsql文";
while ($row = mysql_fetch_array(mysql_query($sql))) {
いろいろ
}
なんてのもいかがなもんでしょうか?
ずっと上の書き方してたけど、一行でも減らしたいと思うんですが。
0102nobodyさん
2005/11/04(金) 01:12:18ID:???こまめにバックアップとっとこう(´・ω・´)
0103nobodyさん
2005/11/04(金) 01:15:49ID:???・前ページ
<a href="next.html#page_bottom">次のページの下</a>
・次ページ(next.html)
・
・
・
<a name="page_bottom"></a>
</body>
</html>
で出来たんだけど
関数で呼び出したときにページの最下部を表示させるにはどうすればいいの?
0104nobodyさん
2005/11/04(金) 01:19:16ID:???0105nobodyさん
2005/11/04(金) 01:24:07ID:???ちょっと思い違いというか勘違いしてました
0106nobodyさん
2005/11/04(金) 01:27:55ID:???0107nobodyさん
2005/11/04(金) 02:24:26ID:???0108nobodyさん
2005/11/04(金) 04:23:52ID:uML+jUAbhttp://curl.haxx.se/download.html
ってPHPでも使えますか?
0109nobodyさん
2005/11/04(金) 04:26:26ID:???>って書くのは、パフォーマンス的にはどうなんでしょう?
かわんねーよ。ベンチとるまでもなく0.01秒以上の差がコンスタントに出たら、びっくりしてウソコもらしてやる。
>while ($row = mysql_fetch_array(mysql_query($sql))) {
何回mysql_query呼び出す気ですか?(これじゃループする度に呼ばれちまうんですけど)
>一行でも減らしたいと思うんですが。
減らすのは自由だが、今のご時世は可読性・保守性を重視する風潮があるので、同意を得るのは難しいと思われ。
人様に迷惑かけない程度にな。
>>108
うん
0110nobodyさん
2005/11/04(金) 04:51:08ID:???$rows = mysql_num_rows(mysql_query($sql));
でもいいのなら後この結果セットを使わないってことだよな。
だとしたらSQLでCOUNT(*)でもよさげ。
101の質問にはSQLが書いてないが、パフォーマンスを言うなら
SQLも無ければ考察は無理。
phpのパフォーマンスじゃなくMySQLに与えるSQLが影響を与える
可能性が大きい
と思う。つか自分で確認してみるという選択肢は無いのかね君には。
0111nobodyさん
2005/11/04(金) 10:51:45ID:???0112nobodyさん
2005/11/04(金) 11:02:20ID:???<a href="mailto:hoge@example.com">click here</a>
ってこと?
0113nobodyさん
2005/11/04(金) 13:53:43ID:???ttp://www.gac.jp/article/index.php?stats=question&id=16225&command=msg
>>111
ttp://www.gac.jp/article/index.php?stats=question&id=16237&command=msg
恥知らずなマルチはお止めなさい。
0114nobodyさん
2005/11/04(金) 14:04:45ID:J9d48tpa0115nobodyさん
2005/11/04(金) 17:25:37ID:V1LIAVum自分自身のファイル名をすることは出来ますか?
0117nobodyさん
2005/11/04(金) 17:42:00ID:???わぁーお、どもども。$_SERVERの方ばかり見てましたよ。
変な日本語は2ちゃん語の一種ということで・・。
0118nobodyさん
2005/11/04(金) 17:51:12ID:???マニュアルの3章〜5章には目を通しておいた方がよいよ。
余裕がないなら3章だけでも。
自分の日本語が変なのを2ちゃんのせいにするな( ゚Д゚)ゴルァ!!
0119118
2005/11/04(金) 17:53:18ID:???0120nobodyさん
2005/11/04(金) 18:03:48ID:???メールから取得した本文がquoted-printableでエンコードされているとmb_detect_encodeでも変になるし・・
メールのヘッダから取るしかないのかな・・
0121nobodyさん
2005/11/05(土) 04:30:57ID:???Content-TypeとContent-Transfer-Encoding見るしかないかな。
0122nobodyさん
2005/11/05(土) 11:24:59ID:???掲示板を設置してみたんですけど書き込みできません
掲示板は表示されてるのでPHPは動いてるようなんですが
設定すべき所があるのでしょうか?
環境は↓です
WinXP sp2
04WebServer 1.82
PHP 4.4.1
0123122
2005/11/05(土) 11:26:14ID:2U/gHABa0125nobodyさん
2005/11/05(土) 11:42:09ID:???ソースはこれ?
http://php.s3.to/bbs/p-bbs.php.txt
エラーも出ないね.
0126122
2005/11/05(土) 11:44:52ID:2U/gHABa掲示板のデフォ設定がhogehoge.comになってるようです
書き込みできるようになったら直します
>>125
そうです
レッツPHP!のP-BBSです
0127122
2005/11/05(土) 11:47:36ID:2U/gHABa原因は同じだと思うのですが
0128nobodyさん
2005/11/05(土) 11:50:03ID:???0130122
2005/11/05(土) 12:02:23ID:2U/gHABaphp.iniの270行目のことでしょうか?
error_reporting = E_ALL & ~E_NOTICE
↓
error_reporting = E_ALL
に変えてみました
0131122
2005/11/05(土) 12:04:21ID:2U/gHABaApacheは難しそうなので・・・
0132nobodyさん
2005/11/05(土) 12:09:20ID:???http://219.66.201.34/testbbs/p-bbsa.php?mode=regist
ってGETで渡すとエラー画面が出るんだけど,
POST だと何の反応もない.
0133122
2005/11/05(土) 12:15:02ID:2U/gHABa「POST 200 OK 正常に終了しました」とは出てます
でも掲示板では書き込み出来てないんですよね・・・
0134122
2005/11/05(土) 12:25:27ID:2U/gHABaうpろだです。これもUP出来ません
UPしてみるとファイル転送はされるんですけど
04WebServerのほうで100%正常終了って出ても、うpろだでは何も反映されないです
0136122
2005/11/05(土) 12:37:34ID:2U/gHABaこれで見れますか?
http://219.66.201.34/test.php
なんか見せたらまずそうな物まで見えちゃってますけど・・・
0137nobodyさん
2005/11/05(土) 12:40:28ID:???0138nobodyさん
2005/11/05(土) 13:06:21ID:???POSTが渡ってない模様。GETが含まれるとなんか渡るぽい
試しに
<form method="POST" action="/testbbs/p-bbsa.php">
を
<form method="POST" action="/testbbs/p-bbsa.php?hoge=piyo">
としてやってみそ。挙動が変わる。(エラーになってるみたいだけど)
なんか04WebServerの問題ぽいけど、よくわからん
POSTされたかどうか確認するには
<form method="POST" action="/test.php">
にしてやってPHP Variablesを見る。
0139nobodyさん
2005/11/05(土) 13:15:45ID:1PzhgjSf・ホスト名が逆引きできないホストからの書込を禁止
・正引きと逆引きの結果が異なるホストからの〜
・特定プロバイダ、特定IPアドレスからの〜
したいのですが、サンプルが見つからず四苦八苦しています。
よくあるやり方だと思うのですが、ど…どなたかヒントを…
(アクセス自体を禁止でも良いんですが、借りてるサーバが
余り.ht〜設定ファイルの自由が利かない。)
0140122
2005/11/05(土) 13:23:31ID:2U/gHABa今度はBlackJumboDogで試してみたいと思います
どうもありがとうございました
0141nobodyさん
2005/11/05(土) 13:40:34ID:???何が分からんのか分からんが、
IPアドス -> ホスト名 は gethostbyaddr()
その逆は、gethostbyname()
この2つを使えばその条件をスクリプトに反映できるべ?
0142nobodyさん
2005/11/05(土) 13:40:41ID:???ここに色々あるようよ↓
ttp://www.hotscripts.com/PHP/Scripts_and_Programs/Networking_Tools/Combinations/
0145nobodyさん
2005/11/05(土) 15:19:06ID:???まあ色んな制限方法のひとつとして挙げてるんだろうけど
>正引きと逆引きの結果が異なるホスト
は普通に多いよ。
0146nobodyさん
2005/11/05(土) 16:05:47ID:???>>145
その種のアクセスを制限する事の是非・(やその種の議論がよくある事)も分かってるんだけど、
サイト自体のユーザがある程度制限されていて、それを規制する事で良ユーザ/不正ユーザを切り分けできそうなんです。
(宣伝の書込をしつこくしてくる人が居て、前は逆引きできてたのでプロバイダに苦情を言って
本人に警告して貰ったてたんだけど、最近それを消してアクセスしてくるんですよね。)
0147nobodyさん
2005/11/05(土) 17:19:41ID:???宣伝のドメインが書込みされたら
精神的ブラクラにLocationしてやってる
0148147
2005/11/05(土) 17:21:19ID:???もちろん宣伝ドメインは登録するけどね
0149nobodyさん
2005/11/05(土) 17:29:14ID:???ただし賠償されるといやなのでime.nu経由で
0150nobodyさん
2005/11/05(土) 17:47:04ID:???0151nobodyさん
2005/11/05(土) 17:47:28ID:???100000という数字を下4桁でピリオドをうって10.0000としたい場合
どうすればいいのでしょうか?
number_formatとかで、できるんでしょうか?
すみませんが教えてください。
0152nobodyさん
2005/11/05(土) 18:01:49ID:???やってみたか?試してみてどこがどうなってこれこれになってしまって
どうしたら?って質問するようにしたほうがいいと思うよ
number_format(100000 / 10000, 4, "," "");
0153nobodyさん
2005/11/05(土) 18:11:15ID:???ありがとうございます。
試してはみたものの、先に答えが知りたくなって説明不足でした。
気をつけます、スイマセンでした
0154nobodyさん
2005/11/05(土) 18:34:45ID:b1n2JPhiバッファに記録されているようで、プログラム終了時に一括出力されてしまいます。
(バッファをフラッシュしているにもかかわらず画面には出力されない)
どのようにすればよいのでしょうか
$i = 0;
while ($i < 5) {
print $i."<br>";
$i = $i + 1;
print $i."<br>";
ob_end_flush(); ←フラッシュ
sleep(3);
}
0155nobodyさん
2005/11/05(土) 18:57:49ID:???>>152 の方法だと最初の4桁しかピリオドつかないけどいいのかな?
function number_format_jp($a)
{
$b = '';
$n = strlen($a);
for ($i = 1; $i <= $n; $i++) {
$c = substr($a, -$i, 1);
$b = $c . ($i > 1 && $i % 4 == 1 ? '.' : '') . $b;
}
return $b;
}
$a = 1234567890;
echo number_format_jp($a); // 12.3456.7890
>>154
前スレに同じ質問があった気がするなぁ
0157151
2005/11/05(土) 19:09:51ID:???今回はとりあえず上の感じで良かったのですが、
4桁毎にピリオドで考えてくれたワケですね。
勉強になります。有難うございました。
0159nobodyさん
2005/11/05(土) 21:08:18ID:???ドメイン取得、レンタル鯖借りる手続きを代行。サイト構築、プログラムも書いて納品。
一応手を離れたことにはなってるけど、これでレンタル鯖がphpに対策してプログラムになんか問題が起きたらこれはうちが無償対応すべき問題?
もちろん気になって色々テストしてるけど、問題は起きてない模様だけど、こういうケース(手を離れた仕事)に関してはどう対応すべきだろう?
実際はhtmlレベルでの更新作業では関わってるんで、シラネとは言えないんだろうけど。
0160nobodyさん
2005/11/05(土) 21:27:49ID:???0161nobodyさん
2005/11/05(土) 21:30:48ID:???更新作業で金取ってないの? だとしたらえらい勿体無い話だが
逆に気にしてテストするにしたって工数取られるわけで、
保守契約結んでない状態でそんな考えでいること自体どうかと思うぞ
0162nobodyさん
2005/11/05(土) 21:51:28ID:???簡単な修正や、バックアップをして保守料金(レンタル鯖代金に上乗せ)してるケースもあります。
>>161
今回気にしてるのは、完全に手を離れたケースはどうなるのかな?と。
立ち上げまでのやり取りで、もう、手を切りたくなっちゃう倉っているじゃないですか?
こいつとかかわり続けるだけでもう損失、みたいな。
そういうとこに限ってなにか文句言ってきそうな悪寒。
「おたくのプログラムが問題起こしてるんだからなおせよ、ゴルァ」とか
そういう客は、ドメインの管理とか、レンタル鯖の料金も全部そっちに請求が逝く様にしちゃってます。というわけで、なにか、作業があれば、その都度見積もりって形になってるのです
0163nobodyさん
2005/11/05(土) 21:59:24ID:???だから「phpでこういった問題がありまして、セキュリティ上の対策を打たないと
大変危険です。ところで現在セキュリティ強化キャンペーンを行っており・・・」
で見積もり切ったらええやん
0165nobodyさん
2005/11/05(土) 22:09:28ID:HRh85ELj$hoge = <<<AAA
$abc.def
AAA;
$hoge -> 111def にしたいのですが、
ヒアドキュメントの場合はどう記述するのが標準なのでしょうか?
上のように記述すると、 111.defとなってしまうので困っています。
0167nobodyさん
2005/11/05(土) 22:19:56ID:???マニュアルの文字列#ヒアドキュメント構文の所に載っている気がするが・・・
個人的にヒアドキュメントって使わないんだが、
メリットって"をエスケープせずに含められる程度?
0168nobodyさん
2005/11/05(土) 22:23:54ID:???ふと、阪神大震災の時のことを思い出した。
壊れた屋根に頼んでもいないのにブルーシートを張ってくれた心優しい工務店…
人の情けが身にしみるぜって思ってたけど、後日、請求書が来た。
0170nobodyさん
2005/11/05(土) 23:07:19ID:???セキュリティに問題がある,と煽って稼ぐ業者がでてきたら面白いねww
0172nobodyさん
2005/11/06(日) 00:41:04ID:???いや、もう、構築の段階で度重なる仕様変更で、ソースがひどいことになってるんです。
もう手を切るつもりで書いたんで自分で書いたのに読解不能。
というわけで、どう考えても割にあわない。
>>171
$abc = 111;
$hoge = "{$abc} def";
こうだよね?
もれはピリオドで繋ぐっていうのはほとんどしないなぁ。{}で囲んで埋め込む。
速度は、ピリオドで繋ぐ方がパースが早いって話を聞いた事あるけど、まぁ漏れが関わるレベルならこれで問題ないし、この方が可読性いいし。
0173nobodyさん
2005/11/06(日) 00:56:37ID:???>$hoge = "{$abc} def";
>こうだよね?
よく見てみ.>>171(>>165)はヒアドキュメント内の話.
たぶん実際は {$abc}def の前後にも文字列が入ったりするんだと思う.
だから, $hoge = "{$abc}def"; ってまとめてしまうことはできないはず.
0174nobodyさん
2005/11/06(日) 02:14:20ID:fwhEDGozレッツPHPという処から頂いてきましたが鯖はRIBBONなのですが
IDとは何処で調べるものでしょうか?
0175nobodyさん
2005/11/06(日) 03:14:31ID:???0176nobodyさん
2005/11/06(日) 03:16:31ID:fwhEDGoz0178nobodyさん
2005/11/06(日) 09:10:04ID:vNGrg//I>>158
レスありがとうございます。
それも試したんですが、だめでした。
php.iniやhttpd.confの設定で
『絶対にフラッシュをさせない』指定でもあるのでしょうか。
聞いた事もありませんが・・・
0179nobodyさん
2005/11/06(日) 09:34:20ID:???http://jp2.php.net/manual/ja/function.flush.php
0180nobodyさん
2005/11/06(日) 12:04:36ID:???末永くお付き合いしてもらいたいのに、読解不能なソースしか書けなくて
二度と依頼のこなくなった俺が来ましたよ。
0181nobodyさん
2005/11/06(日) 13:49:26ID:???0182nobodyさん
2005/11/06(日) 16:01:31ID:vNGrg//I納得です。
ありがとうございました!
0183172
2005/11/06(日) 16:04:38ID:???なるほど。
>>177
もうね、作ってる途中で、度重なる仕様変更で、書いたそばからブラックボックス化して臭いものにフタするような書き方っていうのかな?
同じ値をもつ変数あったよな?と思いながら適当にだぶらない名前つけてさ。
処理の途中で、いろんなとこで参照しなくちゃならん変数書き換えてたりとか。
もう自己嫌悪。動けばいいんでしょ?みたいな。
>>180
他の人からみたらたいした意味もない関数作ってひとりで悦に入ってるってのは漏れもやります。
あとで見ると自分でもしばらく理解出来ないorz
0184nobodyさん
2005/11/06(日) 18:15:47ID:rRY/mvs2md5(uniqid(rand(),1))
だと返される文字列が長すぎます。
暗号化された文字列を、携帯で入力してもらうことも企図しているので、
もっと短く生成する方法はありませんか?
0185nobodyさん
2005/11/06(日) 18:26:06ID:???0186nobodyさん
2005/11/06(日) 18:32:59ID:???0187nobodyさん
2005/11/06(日) 18:53:36ID:???0189nobodyさん
2005/11/06(日) 20:04:45ID:vNGrg//I<INPUT TYPE="hidden" name="MAX_FILE_SIZE" value="100000"><INPUT TYPE="file" name="image">
</FORM>
上記HTMLで、あるプログラムに画像を送信しました。
このとき、画像自体は送信先のプログラムで取得できるのですが、
imageという項目名を取得することはできないでしょうか?
宜しくお願い致します。
0190nobodyさん
2005/11/06(日) 20:36:54ID:???どこからでも使えるみたいですけど、
使うたびにincludeした方がいいのかな?
そうしないとEclipseでエラー扱いされてしまうので
構文的に間違っているのかと。
0191nobodyさん
2005/11/06(日) 20:37:09ID:???http://jp.php.net/manual/ja/features.file-upload.php
0192nobodyさん
2005/11/06(日) 20:38:55ID:???http://jp.php.net/manual/ja/function.include-once.php
0193nobodyさん
2005/11/06(日) 21:07:26ID:???今回の穴で何が問題なんだ?
register_globals=OFFだったら無問題なのか?
それなら以前のregister_globals問題からいわれて
いることではないか?
今回は、それプラスばっちあてが必要ってことか?
うーん おまえらアフォな俺におせーて
0194nobodyさん
2005/11/06(日) 21:18:58ID:???たしかにregister_globals=OFFなら問題はない。
しかし、レンタル鯖や共有サバなんかだとONになっていることがある。
といっても、register_globals問題については変数の初期化をきちんとしてやればよかった。
ところが、register_globalsがONのとき、定義済み変数 $GLOBALS が上書きできることが発見された。
これは、予期せぬところにも波及することになる。
>今回は、それプラスばっちあてが必要ってことか?
×バッチ
○パッチ
0195nobodyさん
2005/11/06(日) 21:22:23ID:vNGrg//I$_FILESでは項目名をもっていないようなんです。
項目名は、
<INPUT TYPE="file" name="image">
の『image』という文字列です。
どうか宜しくお願い致します。
0196nobodyさん
2005/11/06(日) 21:33:52ID:???JIS変換+MIMEエンコードを内部でやってくれると聞いたんですが、
Toを 「"送信先" <user@domain>」 にすると化けます。
mb_send_mail ( string to, string subject, string message [, string additional_headers [, string additional_parameter]] );
とありますが、to, subject, message, additional_headers, additional_parameter の
全部の引数に対して日本語を気にしなくていいってわけじゃないんですかね?
(一部だけ??)
そうなったら全部の引数に JIS変換と mb_encode_mimeheader が必要になって、
そうなると mb_send_mail の意味が謎になってしまいます。
0197nobodyさん
2005/11/06(日) 21:35:17ID:???print_r($_FILES); を実行してみれば、どうやれば取得できるか判ると思うよ。
<?php
$itemlist = array_keys($_FILES);
foreach ($itemlist as $item)
echo $item.'<br>';
?>
0198nobodyさん
2005/11/06(日) 21:35:20ID:???「image」という文字列ってなんなん?
$_FILES["image"] Array
(
[name] => xxx.filename
[type] => application/x-zip-compressed
[tmp_name] => /hoge/piyo.x
[error] => 0
[size] => 12345
)
どれが「項目名」なん?
もしかして
$_FILES["image"]
~~~~~~~ ?
0199nobodyさん
2005/11/06(日) 21:39:12ID:vNGrg//I$_FILES["image"]
~~~~~~~ ?
です。
>>197
早速試してみます!
ありがとう!
0202nobodyさん
2005/11/06(日) 21:49:02ID:???mail()関数のマニュアルに書いてあることなんだが、
>注意: to引数には "Something <someone@example.com>" の形式のメールアドレスを与えることはできません。 MTA(特にWindows環境下の)と通信する際にmail関数はこれを適切にパースできません。
mb_send_mail()関数はmail()関数のラッパー関数なので、当然この制限がmb_send_mail()関数にも絡んでくる
toに"送信先<example@example.com>"形式で渡しているのが悪い。ヘッダーに含めるべき。
ただ、この辺の扱いはMTAによって違っているらしく、その辺は試行錯誤するしかないかも。
0204nobodyさん
2005/11/06(日) 21:58:37ID:vNGrg//Iむりでした・・・(泣)
>>200
POSTで送られてきた全ての画像(数が不明)を、POSTメソッドで別PGに転送する
処理で必要なんです。
どんな項目名で送られてくるか分からないので、
$_FILES[$koumokumei]
みたいにしたかったんです。
0206nobodyさん
2005/11/06(日) 22:06:28ID:???0207nobodyさん
2005/11/06(日) 22:11:04ID:???foreach($_FILES as $key => $files_arr) {
$key がほにゃら
}
0208207
2005/11/06(日) 22:12:12ID:???そっちをなんとかしたほうがいいかもな
0209196
2005/11/06(日) 22:22:49ID:???mb_language( 'Japanese' );
mb_internal_encoding( 'EUC-JP' );
してます。
>>202
toにはその形式できないんですね。
知らなかった。。教えてくれて有難うございます。
ちなみに subject はちゃんと JIS+MIMEしてくれていて、
additional_headers の中身に
From: "送信者" <user@domain> やら
Reply-To: "返信先" <user@domain> やらを含めましたが、
JIS変換しかしてくれませんでした。
ということは、
to:日本語可(JIS変換のみしてくれる)
subject:日本語可(JIS変換+MIMEエンコードしてくれる)
additional_headers:日本語可(JIS変換のみしてくれる)
でFAですかね?
0210nobodyさん
2005/11/06(日) 22:23:08ID:???てな感じにすれば、ええんでないの?
それはまぁ置いておくとして、別のプログラムに転送する時に
わざわざ元のnameを保持する必要は無いべ。
0211nobodyさん
2005/11/06(日) 22:28:04ID:???mb_send_mail() はPHPのバージョンによって挙動不審になることがあるので
自前でコード変換、ヘッダを追加して mail() の方が安心だと思う。
0212nobodyさん
2005/11/06(日) 22:43:10ID:vNGrg//Iこれはproxyのプログラムなんで、利用者側のプログラムをいじれなかったんです。
>別のプログラムに転送する時にわざわざ元のnameを保持する必要は無いべ
ごもっともです。でもコードを綺麗にしたかったので。
>>207
解決です。凄く助かりました。
ありがとう!!
0214nobodyさん
2005/11/07(月) 02:18:53ID:???今までwgetを使っていたのですがxreaでphpバージョンアップされてから動かなくなってしまいました
ブラウザでアクセスすると正常に動作するのでプログラム自体には問題ないと思われます
よろしくお願いします
0215nobodyさん
2005/11/07(月) 02:22:07ID:???0216nobodyさん
2005/11/07(月) 08:52:46ID:???0218nobodyさん
2005/11/07(月) 11:58:58ID:B941PQ6R現在は以下を代用していますが、換わりになるPHP関数はないでしょうか?
$com = "ls -1 ".$path." > temp.csv"
exec($com);
$db = fopen ("temp.csv", "r");
while ($list = fgets($db, 1024)) {
$list= trim($list);
if(is_dir($path.$list)){echo $list."<br>"};
}
0222nobodyさん
2005/11/07(月) 12:10:50ID:B941PQ6Rありがとうございます
早速試してみます
0224nobodyさん
2005/11/07(月) 19:42:04ID:???たとえば
<?php
$name = 〜;
$num = 〜;
$goukei = $name . "," . $num ;
?>
このようなプログラムで$goukeiをCSVに保存すると、$nameと$numが別々
保存される。
しかし、$nameに,,,,と入力すると、勝手に4列空白ができてしまうけど
どうすればそれを回避できる?
0226224
2005/11/07(月) 19:48:56ID:???//*****カンマ区切りで変数代入
$z = $name . "," . $mail . "," . $naiyou . "," . $today . "," . $id . "\n";
//*****hatsu.csvにHNとメルアドと内容を保存
if($naiyou != Null){
$fp = fopen('hatsu.csv','a');
flock($fp, LOCK_EX);//書き込み時に排他ロック
fputs($fp,$z);
fclose($fp);
}
0229nobodyさん
2005/11/07(月) 20:33:50ID:???定義済みの変数にあったかな?
0231nobodyさん
2005/11/07(月) 20:54:45ID:???ちなみに直前の URL (リファラ) はセキュリティソフトが消したり,
クライアントが任意の値を設定できるから信用できないデータであることをお忘れなく.
参考程度にしか使えない.
0232nobodyさん
2005/11/07(月) 21:00:29ID:F6uZDwtF227がいいたいのは"でくくれと。
$z = '"'.$name . '",'....
じゃないかいな?
0233nobodyさん
2005/11/07(月) 21:13:18ID:???サーバは2000proでmysqlを使っているんですが
test.phpに書くマルチバイト文字は表示されるんですが
mysqlから取得したデータのマルチバイト文字はすべて?に変わってしまいます。
何が悪いんでしょうか。
0234nobodyさん
2005/11/07(月) 21:22:43ID:???ありがとう
$url = $_SERVER['HTTP_REFERER'];
echo $url;
これで表示可能?
0236nobodyさん
2005/11/07(月) 22:15:50ID:???バージョンも設定も何も無いと答えようがないし板違い
データベース>MySQL総合Part5
過去ログ読んでから質問すっぺ
0237nobodyさん
2005/11/07(月) 22:42:27ID:mBmWY1oAMySQLのマルチバイト関連ってバージョン毎にえらく違う・・・と言うか、
4.0系と4.1以降で全然違うから
0240nobodyさん
2005/11/07(月) 23:48:31ID:???0242nobodyさん
2005/11/08(火) 00:02:21ID:???「ただ"〜"みたいになるだけだった」 ファイルを当然のことながら
fgetcsvかなにかで読んでみて確認したんだよな?
結果どうだったか書けよ。その上で疑問を書けば会話が継続する。
0244nobodyさん
2005/11/08(火) 01:21:32ID:???>>228 >>238 とかのカキコを見るとただの独り言としか思えない。
少し >>239 の気分が判る気がする。
0245nobodyさん
2005/11/08(火) 01:29:47ID:???でファイルパスを出したんだけど
・・・・/hoge/giko/index.html
の様に最後に必ずファイル名が入ってしまう。
そうではなく
・・・・/hoge/giko/
の様に出力させる変数ってある?
0248nobodyさん
2005/11/08(火) 09:43:04ID:Tw4XCGRO俺的エスパー解釈によると彼はこう言いたい。
「フォームから来たデータをカンマ区切りで保存して、それを表示するのに、カンマ毎に分割して表示するスクリプトなんですが、入力した文字列にカンマが入ってしまうと、表示するときにそこで分割されてしまいます。どう対処すればいいですか?」
カンマを全角にでもしとけゴルァ(゚Д゚)
0249nobodyさん
2005/11/08(火) 11:16:15ID:???なるほど.把握.さすがエスパー.
例えば,\1,000 っていう文字列なら \\1\,000 にして,
使うときに \1,000 に戻す.
0250249
2005/11/08(火) 11:21:08ID:???0252nobodyさん
2005/11/08(火) 11:36:36ID:???キーボードから入力できないような文字コードで区切ればいいじゃん。
0253nobodyさん
2005/11/08(火) 16:56:52ID:???1.行は改行で区切る
2.列(項目)は,(カンマ)で区切る
3.列に,(カンマ)や改行を含める場合は"〜"でくくる
4."〜"内に"を含める場合は""と記述する
だと思うんだけど、どうだ?
0254nobodyさん
2005/11/08(火) 17:21:27ID:???存在しているはずのどんなファイルでも絶対パスで通すと存在しないと言われる。
0256254
2005/11/08(火) 18:23:25ID:???原因が分かった。OSはWindows2000でPHPを動かしているんだが
その場合絶対パスは
C:\tmp\hoge\hoge.txt
みたいな形式になるんだ。
サーバーの絶対パス形式
/hoge/hoge.txt
をfile_exists()に通しても反応が返ってくるわけが無いよな。
C:\tmp\hoge\hoge.txt
を通したらちゃんと反応があった。
しかしややこしいな。OSの絶対パスか、HTTPサーバーの絶対パスか、どちらかで
統一してくれれば混乱しないのに。
0257nobodyさん
2005/11/08(火) 18:32:33ID:SOO2TAAd何に対して、OSの絶対パスか、HTTPサーバーの絶対パスを統一して欲しいの?
各関数の引数?
0259256
2005/11/08(火) 18:39:47ID:??????
例えば、file_exists() が、HTTPサーバーの絶対パスしか受け付けなければ
URLで参照できる位置にないファイルは存在チェックできなくなるんだが、それでいいの?
後、Windows系でもパス区切りは / で問題はないはず。
先の例でいれば、file_exists('C:/tmp/hoge/hoge.txt') でも動くと思うけど。
0260nobodyさん
2005/11/08(火) 18:42:38ID:???つーかwinでもunix式のパスで大丈夫だと思うが。
まあPHPのバージョンも晒してない奴に何とも言いようがない罠。
ちなみに手元の4.3と5.0ではfile_exists("/program files")でもtrue返す。
スクリプトがDドライブにあればD:をルートとした結果になる。
0261254
2005/11/08(火) 18:43:29ID:???$_SERVER['SCRIPT_NAME']
で帰ってきた値を引数にするとfile_exists()もis_file()も正常に動作しない。
これってうまく対処できないかな?
0263257
2005/11/08(火) 18:55:00ID:???$_SERVER['SCRIPT_NAME'] はURLパスで、それがどのローカルパスに対応しているかを
知っているのはWEBサーバーだけだから変換するのは無理。
スクリプトのファイル名なら __FILE__ で取得できるけど。。。
本当にやりたいことはそれでいいの?
>>259のコテハン間違えた。>>257 だったよ。ごめんね。
0264nobodyさん
2005/11/08(火) 18:58:00ID:???まあincludeとか何もしてないなら__FILE__と変わらんけど。
0265nobodyさん
2005/11/08(火) 19:12:34ID:???phpをブラウザ表示
↓
php表示と関係無くDB内容が更新(他の人が作業等)
↓
phpをブラウザ再読み込み(更新)
↓
キャッシュが効いていて変更が反映されない
今困っているのはhtmlソースの記述部分でそうなっています。
このhtmlに変数を入れている部分がキャッシュされているんじゃないかと思う部分です。
変数部分が"selected"に1つだけなり初期選択になって欲しいのですが、firefoxでは駄目です。
<option value=\"0\" $michaku>未着手</option>
<option value=\"1\" $chakushu>着手</option>
<option value=\"2\" $kanryo>完了</option>
<option value=\"3\" $saigen>再現待ち</option>
<option value=\"4\" $etc>その他</option>
httpヘッダは下記のようにもしてみましたが駄目です・・
header("Cache-Control: no-cache,must-revalidate");
header("Pragma: no-cache");
metaヘッダも書いてみました・・
print '<meta http-equiv="Pragma" content="no-cache">';
print '<meta http-equiv="Cache-Control" content="no-cache">';
と思ったらIEは大丈夫でした・・
firefoxでは駄目ですね・・
狐のバグ?
0266254
2005/11/08(火) 19:17:22ID:???> $_SERVER['SCRIPT_NAME'] はURLパスで、それがどのローカルパスに対応しているかを
> 知っているのはWEBサーバーだけだから変換するのは無理。
なるほど(´・ω・`)ショボーン
> スクリプトのファイル名なら __FILE__ で取得できるけど。。。
> 本当にやりたいことはそれでいいの?
ファイルのやりとりは
./hoge/hoge.txt
のような感じでやりとりしたかった。
__FILE__だと
C:\tmp\hoge\hoge.txt
という様に表記されるからそれに合わせてファイル指定も変更しなきゃならないか・・・
0267265
2005/11/08(火) 19:43:14ID:???すいませんちょっと分かりにくい書き方しました。
<option value=\"0\" $michaku>未着手</option>
って部分はフォームのセレクトメニューのオプションです。
ここを別のメニュー選択をして再読み込みすると、firefoxではselectedが効かず読み込み前に選択していたものがそのまま選択されます。
なのでDBが絡まなくても起きる現象のようです。
他のセレクトメニューがあるwebサイトでも試しましたがfirefoxの仕様?
0268254
2005/11/08(火) 19:54:08ID:???に対して
dirname()
をかけると
C:\tmp\hoge
が帰ってくる。だができればそうではなく
C:\tmp\hoge\
のように\もしくは/まで含めたい。$_SERVER['SCRIPT_NAME']で帰ってくる値の場合
パス区切り文字は常に/だったが、__FILE__の場合パス区切り文字はUNIX系かWindows系
で/と\と違うから別々に対応しなければならない。そこが__FILE__の面倒なところかな・・・
0269nobodyさん
2005/11/08(火) 20:01:50ID:???Firefoxだとselectedにかかわらず、ユーザが直前に選択していたものがそのまま残る。
キャッシュが残っているためではなく、Firefoxの仕様だと思われ。
再読み込みすれば、生成されたHTML自体(=selectedの場所)の変化は反映されてるよ。
ただ、表示上は前回のユーザの選択が残ってるだけ。
>>268
お前はまずレスを全部嫁。
独り言はチラシの裏に書け。
0270254
2005/11/08(火) 20:12:17ID:???> お前はまずレスを全部嫁。
> 独り言はチラシの裏に書け。
ちょ、ま・・・
でも環境によって\か/みたいに違えばそれに合わせてプログラム組む必要があるだろ。
0272254
2005/11/08(火) 20:16:13ID:???0273nobodyさん
2005/11/08(火) 20:23:08ID:???ちょっとやってみたけど、以下のヘッダすべてを送出すると大丈夫っぽい。
Firefox1.0.7(Windows)で確認。
header('Thu, 01 Dec 1994 16:00:00 GMT'); //過去の日付
header('Last-Modified: ' . gmdate('D, d M Y H:i:s') . ' GMT');
header("Cache-Control: no-store, no-cache, must-revalidate");
header("Cache-Control: post-check=0, pre-check=0", false);
header("Pragma: no-cache");
0275254
2005/11/08(火) 20:37:41ID:???DIRECTORY_SEPARATOR
0276nobodyさん
2005/11/08(火) 20:42:22ID:???$_SERVER['SCRIPT_FILENAME']が返すパスのセパレータは/。
>>265
Cache-Control: no-storeさえあればいけるみたいね。
0277nobodyさん
2005/11/08(火) 20:45:05ID:???自分で頑張っているところをアレだけど。
file_exists('C:\tmp\hoge\hoge.txt') でも
file_exists('C:\tmp\hoge/hoge.txt') でもOKなんだが。
0280273
2005/11/08(火) 21:11:22ID:???あれれ、本当だ。もう一度やってみたら仰せの通りだった orz
しかも、>>273 で書いたの間違ってるし… 重ね重ね orz
header('Thu, 01 Dec 1994 16:00:00 GMT'); → header('Expires: Thu, 01 Dec 1994 16:00:00 GMT');
というわけで、整理して書き直します。
以下を送ればOKです。
header('Expires: Thu, 01 Dec 1994 16:00:00 GMT');
header('Last-Modified: ' . gmdate('D, d M Y H:i:s') . ' GMT');
header('Cache-Control: no-store, no-cache, must-revalidate');
header('Cache-Control: post-check=0, pre-check=0', false);
header('Pragma: no-cache');
>>276氏の指摘により、再度確認したところ実は以下だけでOKでした。
header('Cache-Control: no-store');
0281265
2005/11/09(水) 09:48:39ID:???細かいところですが挙動が気持ち悪くてスタックしていたので助かりました。
firefoxはサーバに従うってポリシーが多くなっているような気がしますね。
それがRFC準拠なのかしら?
0282nobodyさん
2005/11/09(水) 11:48:20ID:qQrEl19O0284nobodyさん
2005/11/09(水) 13:26:06ID:???(1) セッションを使って以下のような画面遷移をします(クッキーではなくURL埋め込み)。
http://localhost/logon.php
↓
http://localhost/main.php?PHPSESSID=12345
(2) 別のブラウザを起動して (1) の URL をコピーして開きます。
http://localhost/main.php?PHPSESSID=12345
(3) (1) と (2) で同じセッションを複数のブラウザが共用してしまいます。
実際に問題がある、ない、あった場合はどのような問題が?というのは
アプリの作りによるでしょうけど、できれば (2) の段階で不正チェックを
したいのですが、可能でしょうか?
よろしくお願いいたします。
0285nobodyさん
2005/11/09(水) 13:49:12ID:???多分無理。1つのパソコンで1人のユーザーが同時に起動した同じソフトを
サーバー側から区別する方法がないと思う
JavaScriptとかと組み合わせれば何とかなるカモ知れんけど。
0286nobodyさん
2005/11/09(水) 14:04:30ID:???0287284
2005/11/09(水) 15:18:16ID:???なるほど。
毎回セッションIDを変更してあげると、URLバーに表示されているセッションIDは
古いセッションIDで、実際のセッションIDとは既に異なっているからOKってことですね。
目からウロコです。
実際にやってみた所、古いセッションIDがすぐに破棄されなかったので、
(古いセッションIDでも開けてしまう)以下の様な流れで期待通りになりました。
session_start();
$savevalue = $_SESSION;
session_destory();
session_start();
session_regenerate_id();
$_SESSION = $savevalue;
助かりました。ありがとうございました。
0288nobodyさん
2005/11/09(水) 16:52:56ID:???は正常に動作するのに
echo "$_SESSION['TEMP']";
はエラーが返されます。
何かまずい記述でもありますか?
ちなみにちゃんと$_SESSION['TEMP']は変数登録してますよ。
0290nobodyさん
2005/11/09(水) 17:14:37ID:???echo "{$_SESSION['TEMP']}";
0292nobodyさん
2005/11/09(水) 20:00:59ID:???urlとして使える文字ってわかります?
0293nobodyさん
2005/11/09(水) 20:04:02ID:???見えやすいように全角で書きます。
英数字+−.%&=?/〜
他にあります?
0294nobodyさん
2005/11/09(水) 20:05:25ID:???ドメインじゃなくてURLに使える文字? スペース以外は何でも使えるけど。
正規表現の書き方を知りたいなら↓
正規表現道場@2ch Part4
http://pc8.2ch.net/test/read.cgi/php/1105930285/
0295nobodyさん
2005/11/09(水) 20:06:19ID:???0296nobodyさん
2005/11/09(水) 20:07:16ID:???0297nobodyさん
2005/11/09(水) 20:13:56ID:???RFC 3986の Reserved Characters と Unreserved Characters
0298nobodyさん
2005/11/09(水) 23:16:26ID:MgDRn7NQ処理が終わった後,POSTを書き換えたいのですが,できません.
例えば,
if(StrNatCmp($_POST["a"], "1") == 0) {
〜処理1〜
$_POST["a"] = "2"; //$_POST["a"]を書き換える
} else {
〜処理2〜
}
最初に$_POST["a"]が"1"を持ってきたときだけ処理1を行い,
それ以外,データがなかったり,処理1をした後,更新ボタンを押したりしたときなどは,
処理1を行わないようにしたいです.
上記のやり方では,更新ボタンを押したら$_POST["a"]は"1"のままで処理1を行います.
POSTを書き換えるか,初期化するにはどうすれば良いでしょうか.
教えて下さい.よろしくお願いします.
0299nobodyさん
2005/11/09(水) 23:29:04ID:???根本的に何かが間違っている希ガス…
更新されたらされたで別の処理が並行して走るだけだから、
初回の実行の中で更新(二度押し?)を監視しても意味が無い…
Javascriptとかセッションとかクッキーとか使うべ。
もし一回の処理の中で、条件式以降に式結果を評価したいなら、
$_POSTなんかいじろうとせずに、$flag = 1とかしておけば?
0300nobodyさん
2005/11/09(水) 23:42:25ID:???ファイルを開き中の内容を読み込む処理ってどうかいたらいいでつか?
0302nobodyさん
2005/11/09(水) 23:55:50ID:???<form name="x" id="x" enctype="multipart/form-data" method="post" action="test.php">
<INPUT TYPE="file" name="upfile" size="40" />
そこでtest.phpで受け取ってファイルの中身を読むというようにしたいのですが、
$file = get_file_contents($_FILES['upfile']);
ではいかんとですか?
0303nobodyさん
2005/11/10(木) 00:26:32ID:???ttp://jp.php.net/manual/ja/features.file-upload.php
0304nobodyさん
2005/11/10(木) 00:54:25ID:???0305nobodyさん
2005/11/10(木) 01:18:11ID:iJI+8Gw+返信ありがとうございます.
>>299
$_POSTをいじりたくなかったのですが,サーバ側にあるテキストファイルを
送られてきたデータで書き換える処理をするため,
何度も処理を行うことは避けたかったのです.
>>301
おっしゃるように,
テキストファイルを書き換える画面はフォームで作成し,
PHPで受け取るようにしています.
今のところ,例えば,x行の後ろに***を挿入するというデータを送信すると,
1回目は良いのですが,更新ボタンを押すたびにどんどん挿入されていきます.
画面のアドレス欄に,普通のアドレスの後ろに送信データが表示されているので,
それがある限りデータは送信されそうです.
検索したところ同じような事例で,処理をした後,リダイレクトするようにして,
更新を防いでいる人がいました.
POSTなどを消せればすぐ済むように思ったのですが,そうする方が良いようです.
今回はファイル処理を行った後,リダイレクトして送信データを初期化しようと思います.
どうもありがとうございました.
0306nobodyさん
2005/11/10(木) 01:32:14ID:5CC9pdYJdocomo や一般のアドレスは正常に送信できます。
どなたか似たような現象の方居ませんかー
0308nobodyさん
2005/11/10(木) 03:34:57ID:7WIsLqP6http://blog.livedoor.jp/isida789/
0310nobodyさん
2005/11/10(木) 11:55:50ID:???0311nobodyさん
2005/11/10(木) 12:05:28ID:???0312nobodyさん
2005/11/10(木) 14:27:23ID:bMeJl5+L既存のページにログインしたあと、そのユーザー情報(入力されたIDやPassなど)をハイパーリンク先にもっていきたいのです。
良い方法ありましたら教えてください。
0313nobodyさん
2005/11/10(木) 14:46:15ID:???つ[GET]
つ[COOKIE]
つ[SESSION]
0314nobodyさん
2005/11/10(木) 14:46:43ID:???0317nobodyさん
2005/11/10(木) 15:03:16ID:???1. 実は、ハイパーリンク先と自分とは無関係なサイトであることをカミングアウト
2. 成り済ましサイトではない事を一所懸命にアピール
3. 理由を聞かれて、特許申請するので言えないっス
4. 夜中になったので人がいなくなる&次の質問に話題が移る
5. 数日後に他所で質問
6. ヲチ情報が報告される
0318nobodyさん
2005/11/10(木) 15:20:12ID:bMeJl5+L>>314
>>315
ありがとうございました。リンク先に埋め込むというのが分からないので、
セッションについて勉強してみます。
0320nobodyさん
2005/11/10(木) 15:38:58ID:???0321軟式PHP
2005/11/10(木) 15:39:07ID:???0323nobodyさん
2005/11/10(木) 16:02:46ID:???セッション情報を使って「何かする」部分の影響の方が大きいと思われ。
セッションそのものは、一つのファイル(DBかも知れんが)に対して
ちょびっと書いたり消したりするだけなので、
言ってみりゃサイトにカウンタをつけるみたいなもんよ。
まぁ、規模がでかくなりゃ話は変わってくる。
0324nobodyさん
2005/11/10(木) 19:35:30ID:mwYfHXSm<?
$name = test;
$test_number = array("aaaa","bbbb","cccc");
echo "${$name}_number[1]";
?>
結果 _number[1]
bbbbって表示されないよーなんでー?
0325nobodyさん
2005/11/10(木) 19:40:25ID:???0326nobodyさん
2005/11/10(木) 19:48:14ID:???PHPしらないけど勘で答えてみる。
$name='test_number';
echo ${$name}[1];
0328324
2005/11/10(木) 20:03:30ID:???あぁ言葉足らずでしたごめんなさい
<?
$name = test;
$name = test2;
$test_number = array("aaaa","bbbb","cccc");
$test2_number = array("111","222","333");
if($name == test1){
echo "${$name}_number[1]";
}
?>
結果 _number[1]
bbbbって表示されないよーなんでー?
です
0329324
2005/11/10(木) 20:09:05ID:???リロードし忘れちゃいました
そこんところ詳しくお願いパパン
いろんな所に入れてみたけど駄目だったお(´・Д・`)
0330nobodyさん
2005/11/10(木) 20:14:18ID:???test1 が何処にも存在しないのと、各部で文字列の前後の ' (または ")がないんだが。。。
それはさておき echo "{${$name . '_number'}[1]}"; ではダメなのか?
0331nobodyさん
2005/11/10(木) 20:22:03ID:???\
NUL
0x01
'
の4つで合っていますか?他にありますか?
0332324
2005/11/10(木) 20:31:08ID:???>test1 が何処にも存在しないのと
質問用に書き換えた時のミスです・・・
{${$name . '_number'}[1]}
でできましたー
マニュアルのどこら辺に書いてありますか?
もっと勉強しないと・・・
できた事はできたけど全く理解できていないっぽい・・・(´・Д・`)
0333nobodyさん
2005/11/10(木) 20:46:36ID:???そのものズバリはどこにも書いていないと思うけど。。。
可変変数と文字列の組み合わせればいいのかな?と考えただけだし。
>できた事はできたけど全く理解できていないっぽい・・・(´・Д・`)
理解しづらいのなら、いっそのこと可変変数をやめたら?
頭の体操としてはおもしろいかもしれないが、読みにくいし、
こう書く方がスッキリするとは思わないか?
<?
$name = 'test';
$name = 'test2';
$test_number = array(
'test' => array("aaaa","bbbb","cccc"),
'test2' => array("111","222","333"),
);
if($name == 'test'){
echo $test_number[$name][1];
}
?>
0334nobodyさん
2005/11/10(木) 20:50:09ID:???ttp://www.php.net/manual/ja/language.variables.variable.php
ここ。
ユーザコメントのAnonymous 13-Mar-2005 10:25 とか。
0336nobodyさん
2005/11/10(木) 20:52:00ID:???>>324 の一行目に、$test = 'hoge'; って追加して、実行してみな。
何が起きてたか判るから。
0339nobodyさん
2005/11/10(木) 21:16:42ID:???$hoge = 'hage';
$var_name = 'hoge';
echo $$var_name;
0342nobodyさん
2005/11/10(木) 21:38:30ID:???0343nobodyさん
2005/11/10(木) 21:44:32ID:???$$を使わなければ出来ない処理って、そもそもデータの持ち方が
おかしいんじゃないか
漏れは>>333に一票だな
0344nobodyさん
2005/11/10(木) 21:45:31ID:???いやね、>>324 の質問は、実は
<?php
$test = "hoge";
$test_test = "fuga";
echo "${test}_test";
echo "$test_test";
?>
こういう質問だと言うことね。
0345nobodyさん
2005/11/11(金) 01:40:20ID:???具体的にはメールのスレッド表示を再現したいです
メーラーでのスレッド表示みたいなのを・
message-idを各メールが持っている
子は親のmessage-idを知っている
親子関係は永遠に続く可能性がある
phpのオブジェクト機能でできるかなぁと、xmlみたいな感じ?
変数の入れ子構造はどうやったら出来ますか?
0346nobodyさん
2005/11/11(金) 01:54:03ID:???0347nobodyさん
2005/11/11(金) 02:59:54ID:???連想配列を使って
root+ a1
+ a2
+ a3
| + b1
| + b2
| + c1
| | + d1
| | + d2
| + c2
+ a4
こんな感じのツリーは
$root = array();
$root["a1"] = 1;
$root["a2"] = 1;
$root["a3"]["b1"] = 1;
$root["a3"]["b2"]["c1"]["d1"] = 1;
$root["a3"]["b2"]["c1"]["d2"] = 1;
$root["a3"]["b2"]["c2"] = 1;
$root["a4"] = 1;
print_r($root);
でどないや。
0348nobodyさん
2005/11/11(金) 09:42:26ID:???確認画面から「戻る」のボタンを押した時に、入力していたデータが消えます。
これをSESSIONを使わずに、ブラウザの戻るを押しても入力内容が消えない
ようにする方法は無いでしょうか?
0350nobodyさん
2005/11/11(金) 09:46:20ID:???0351nobodyさん
2005/11/11(金) 10:17:48ID:???会員サイトつー言葉からセッションを使ってログイン管理してるんだと推測し、
その際に cache-control: no-cacheなんかでキャッシュが無効化されていると思われ。
なので、それ、消えてるんじゃなくて鯖へ新しいページをリクエストしてんの。
0352nobodyさん
2005/11/11(金) 10:21:57ID:???それをどうにかして「戻る」を押した時に前に入力したものを表示させる
事は出来ないでしょうか?掲示板などのフォーム処理の場合、
戻った時にすべて消えると入れ直しになるので、使いづらいです。
0353nobodyさん
2005/11/11(金) 10:27:02ID:???header('cache-control: no-cache'); を送って「いない」のなら、session_start の前に
session_cache_limiterを呼んでみたら?
送っているのなら、どうしようもないけど。
session_cache_limiter(''); //追加
session_start();
0354nobodyさん
2005/11/11(金) 10:27:04ID:???>>348
だとIEの戻るボタンぽいけど、そしたらSESSIONとか関係ないし。
自分がソース書いてる会員サイトなの?
そうじゃなけりゃ、このスレに書く理由も不明。
0355nobodyさん
2005/11/11(金) 10:36:56ID:???これで一発で行けました!目から鱗でした。ありがとうございます。
>>354
フォームの戻るボタンです。ただ、テストはほとんどIE6.0でしていますが・・。
あと、自分がログインフォームとログイン後に簡単なメールフォームを作成したんです。
そこまでは大丈夫だったのですが、「戻る」のボタンを押した時にデータが消えるので
どうしたらよいかずっと悩んでいました。
とりあえず、これで解決出来そうです。ありがとうございました。
0356nobodyさん
2005/11/11(金) 10:55:02ID:???受け取った情報を送信して
セットしなおせばいいだけの話なのにな…
0357nobodyさん
2005/11/11(金) 11:10:17ID:???オブジェクトに関しても勉強不足なのですが試してみようと思います。
あつかましいとは思いますが具体的な方法や情報を頂けるとありがたいです。
>>347さん、ありがとうございます
すぐに試してみようと思います。
オブジェクトも連想配列も面倒がって避けてきましたが、やっぱり必要ですねw
0358nobodyさん
2005/11/11(金) 11:41:20ID:nRnpdBSX入れて出したら最小値(又は最大値)が高速で返ってくるコンテナが必要なのです。
よろしくお願いします。
0360358
2005/11/11(金) 12:28:16ID:???レスどうもです。
PHPの配列自体を使わないにしても、どこかに拡張モジュールでもライブラリでも、利用可能なものはないものでしょうか?
できれば通常のキューもあって欲しいです。(push/popとshift/unshiftで出来るかと思ったら無理なようです)
さすがにググっただけではそういったものが見つからないもので・・・。
0361nobodyさん
2005/11/11(金) 13:20:14ID:???ログにWeb上から直接アクセスするとIP情報が第三者に見れてしまいます。
かといってパーミションを606以下にすると、ログが開けなくて
エラーが出るし、困っています。
IP取得部分だけログを分離するというやり方は知識不足の為自分にはできません。
IP情報を取得したまま第三者に見れなくなるようにしたいのですが、
何か簡単な方法はありませんでしょうか?
個人的にIP情報なんてどうでもいいのですが、
IP情報=個人情報と思ってる方もいるようで、書き込みが減る恐れと、
荒らされた時の対処がHPのアクセスログだけだと困難なので、
何かよい方法があったら教えてください。
0363nobodyさん
2005/11/11(金) 13:34:30ID:???0364nobodyさん
2005/11/11(金) 13:35:08ID:???アクセスできない場所に置く(public_htmlの上とか)
.htaccessで<Files filename>deny from all</Files>。
ログファイル名を.htで始まる名前に変える。
ログの拡張子をcgiにする。
ログを暗号化する。
0365nobodyさん
2005/11/11(金) 13:37:39ID:???>ログにWeb上から直接アクセスすると...略...
ログにWeb上から直接アクセスできないようにすればいいだけのこと。
1) Webサーバーの設定で、ログファイルへのアクセスを禁止する
2) ログを保存するディレクトリをURLでは参照できない位置にする
1) はWebサーバーの設定をミスると見えてしまうので 2) がいいかもね。
保険的に両方やっておくのもいいけれど。
1) の設定方法は個々のWebサーバーによるので、ここでは聞かぬように。
PHPの話はなく画像ファイルの直リン禁止、とかで普通に行われているので
探せばすぐ見つかるはずだし。
0367nobodyさん
2005/11/11(金) 13:47:35ID:???> ログファイルの拡張子をphpやcgiにする
そういう話はよく聞くけど本当にphpやcgiにすれば見られないのか寝?
0368nobodyさん
2005/11/11(金) 13:57:02ID:???拡張子をcgiやphp(CGI版のみ)にするのは、
shupang(一行目の#!〜ってやつ)が無くてエラーになって、
結果的にログの内容は表示されない事を期待してる。
phpがmoduleの時に拡張子phpにしたら、HTMLモードで開かれるので意味無いね。
0369nobodyさん
2005/11/11(金) 14:04:57ID:???0370nobodyさん
2005/11/11(金) 14:16:09ID:???CGIの場合はとにかくエラーになる
#!がなくてもパーミッションがない
実行権つけても結局ヘッダー吐けないから500エラー
0371nobodyさん
2005/11/11(金) 15:41:55ID:???できればフリーで使えるやつが良いです。
0372nobodyさん
2005/11/11(金) 15:59:57ID:???http://www.opensource.co.jp/solution/lamp2/
0373nobodyさん
2005/11/11(金) 17:35:42ID:FEod7B4Tみたいな感じでメニュー部分を各ページで読み込むようにしてるんですが、
このメニュー部分も検索エンジンにキャッシュされてるんでしょうか…?
動的に読み込んでるわけだからキャッシュはされないのかな…?
0374nobodyさん
2005/11/11(金) 17:36:42ID:???どのような方法でページを生成していようと同じ
0376373
2005/11/11(金) 20:30:23ID:???ページがどう見えるかってのはそんなに気にしてないんだけど、
動的に生成している部分はキャッシュしないってことになると
検索結果のランクに結構影響してくるんじゃないかな〜と。
0377nobodyさん
2005/11/11(金) 21:15:43ID:???だから、php内部の話は関係ない。検索エンジンのロボットがどう判定するかってこと。
「SEO 対策 検索エンジン」あたりでググれ。
0378nobodyさん
2005/11/11(金) 21:27:16ID:???こやつの頭の中では
<?php
include('../menu.php'); //動的生成
echo 'テストよ〜ん'; //静的生成
?>
となっているのだろうか。。。
0379361
2005/11/11(金) 22:29:17ID:???みなさまレスどうもありがとうございます。
大変参考になりました。
拡張子phpでは>>368さんのおっしゃるとおりの結果になりました。
知識不足でドキュメントルート以外の場所というのが少しわからないので、
>>364さんの方法で試してみたいと思います。
0381nobodyさん
2005/11/11(金) 23:54:57ID:???そのままでいいぢゃん。
そんな腐ったアプリを腐った設定のサーバーで動かしていても、
そのファイルにアクセスした輩が罪に問われるみたいだから。
0383358
2005/11/12(土) 00:11:23ID:???どうしてもグラフ構造になってしまうのでPEARのStructures_Graphを使おうと考えたのですが、トポロジーソート以外には実践的なアルゴリズムが含まれていないようです。
なのである程度自分で実装するしかないのでは、と思ったのですがデータ構造の話題に反応が薄いところを見ると(>>359さんには感謝してます)、実はもっとお手軽にネットワーク構造を扱う方法があるのでしょうか?
例えば最短経路の問題なんかはライブラリでもあればずいぶん楽できると思います。
Javaのない環境でこういうのは難しいのかな?いざとなったら自力でC++のSTLとかで書くしかないぐらいの分野なのでしょうか?
(mixiなんかはPerlなので、PHPでも同等のことはできそうな気がしていたのですが…)
何か方法論をご存知の方いらっしゃいましたら、よろしくお願いします。
0384nobodyさん
2005/11/12(土) 00:13:19ID:???0385nobodyさん
2005/11/12(土) 00:21:46ID:???0386nobodyさん
2005/11/12(土) 00:46:17ID:???実装以前に仕様の話だと思うのだが。
何が作りたいんだ? どんな機能が欲しいんだ? という所から洗い出して初めて
「じゃあそれを実現する為にはどうすればいいか」という話になる。
完全に前提がすっぽ抜けてるよ。出直しておいで。
0387383
2005/11/12(土) 01:23:44ID:???>>386
仕様の詳細についてはあまり書くことができず、申し訳ないです。一番想像しやすい例ではSNSが近いと思います。
実装上はどうしてもグラフ構造を使うことになりまして、色々アルゴリズムを調べているうちにPHPでそれらを表現するのが(PHPの配列の性質上)だいぶ難しそうだと感じて358の質問をさせていただきました。
しかし今や色々なSNSが出回ってますから、そもそも初めからもっと効率の良い手法があるのではないかと思い、383を書き込ませていただいた次第です。
0388nobodyさん
2005/11/12(土) 01:41:27ID:???0389nobodyさん
2005/11/12(土) 01:46:46ID:???そんな大雑把な疑問にどう答えりゃいいんだよ。ソースでも上げろってか?
本当に効率の良いアルゴリズムってのは「商品」になるから表に出てくるわけがない。
先駆者の手法知りたければOpenPNEにでも参加しろよ。役に立つかどうかは知らんけどさ。
0390nobodyさん
2005/11/12(土) 01:48:20ID:???0391nobodyさん
2005/11/12(土) 01:58:10ID:???0392nobodyさん
2005/11/12(土) 04:08:33ID:???どうせPHP厨なんてそこらで見かける典型的なサイトしか作ったことないんだろwww
経路探索のアルゴリズムなんてどこにでも載ってるだろw
ただ単にPHPでどうしたらいいかって質問だろーにw
漏れはPHP厨じゃねーからシラネ
0393nobodyさん
2005/11/12(土) 04:35:22ID:???0394nobodyさん
2005/11/12(土) 04:36:00ID:???( ´д)ヒソ(´д`)ヒソ(д` )
0395nobodyさん
2005/11/12(土) 04:41:59ID:???0397nobodyさん
2005/11/12(土) 08:10:00ID:???1. 読まない
2. 調べない
3. 試さない
4. 理解力が足りない
5. 人を利用することしか頭にない
0399nobodyさん
2005/11/12(土) 08:43:32ID:???0400nobodyさん
2005/11/12(土) 08:43:49ID:???暗号化アルゴリズムを自分で考えればPHPでもできる。
今考えた簡単な方法ではbase64_encode()にシーザーの暗号を組み合わせるとか。
0402nobodyさん
2005/11/12(土) 10:22:30ID:???0403nobodyさん
2005/11/12(土) 11:54:02ID:???0404nobodyさん
2005/11/12(土) 13:50:20ID:g38MJFxf>>360
>できれば通常のキューもあって欲しいです。(push/popとshift/unshiftで出来るかと思ったら無理なようです)
>さすがにググっただけではそういったものが見つからないもので・・・。
アルゴリズムをゼロから勉強したほうが早いと思うよ.
セジウィックのアルゴリズムCがおすすめ.キューすら理解できないのにグラフなんてできるわけないから.
class Queue
{
var $_queue = array();
function enqueue($v){ array_push($this->_queue, $v); }
function dequeue(){ return array_shift($this->_queue); }
}
$q = new Queue;
$q->enqueue('a');
$q->enqueue(100);
$q->enqueue(new Queue);
echo $q->dequeue();
echo $q->dequeue();
echo $q->dequeue();
echo is_null($q->dequeue()) ? 'empty' : 'not empty';
// 出力: a 100 Object empty
0405nobodyさん
2005/11/12(土) 14:24:53ID:???gdを使わないと出来ないのでしょうか。
0406nobodyさん
2005/11/12(土) 14:27:58ID:???0408nobodyさん
2005/11/12(土) 14:42:12ID:???なんで世のプログラマたちはgdとか画像ライブラリとかを珍重するのでしょうか。
画像なんてただのバイナリじゃん。
わかんない。jpgraphとかもわかんない。得るものが少ないと思います。
...略...
いやそうではなくて、なぜgdに拘るのかということです。僕は賛成ですが。
すいません。まちがいました。もういいです。
0409nobodyさん
2005/11/12(土) 15:09:57ID:???0410nobodyさん
2005/11/12(土) 15:30:07ID:???http://pear.php.net/package/Text_CAPTCHA
0412nobodyさん
2005/11/12(土) 15:38:15ID:???ちょいまえに planet php japan(ttp://catbot.sakura.ne.jp/planetphpjapan/) で
誰かが書いてた気がするなぁ。
あんまり興味なかったんで、デモだけ見てハイハイスゴススゴスと思った記憶が。
# RSSリーダーで見ようとすると<title>が原因でxmlのparseに失敗するので、最近見てないや...
0413nobodyさん
2005/11/12(土) 15:47:27ID:???じゃあこれで・・・
class Queue
{
var $_queue = array();
var $_tail = 0;
function enqueue($v){ array_push($this->_queue, $v); }
function dequeue()
{
if (!isset($this->_queue[$this->_tail])) return NULL;
$v = $this->_queue[$this->_tail];
unset($this->_queue[$this->_tail++]);
return $v;
}
}
0414nobodyさん
2005/11/12(土) 16:28:22ID:K0H7nJ2Rphpファイルのソースを見られてしまうことはないでしょうか。
0415nobodyさん
2005/11/12(土) 16:41:37ID:???0416nobodyさん
2005/11/12(土) 17:52:25ID:???んにゃ。
でも外の人対策を考えるよりも(外の人対策は色々実施済みの方が多いから)
悪意を持った中の人のことを念頭に置いた方がいいぞ。
0417nobodyさん
2005/11/12(土) 17:59:11ID:???0418nobodyさん
2005/11/12(土) 21:58:01ID:ZgVRm9Ef<?php
$pass = aaaa;
$formpass = $_POST['passwd'];
?>
<body>
<h1>編集モード</h1>
<?php
if($formpass == $pass){
print "OK";
}else{
echo "<p>パスワードが違います</p>",
"<p><a href="./index.php">戻る</a>";}
?>
と、したのですが、うまくできません。
何か間違っているでしょうか?ご指摘ください。
0420nobodyさん
2005/11/12(土) 22:06:40ID:ZgVRm9Efわぉ、忘れてました。無事出来ました!!
今日からPHPの勉強始めて夢中なんですが、自分もまだまだです。^^;
ありがとうございました。
0421nobodyさん
2005/11/12(土) 22:10:46ID:???エラー(Notice)でなかった?
error_reporting(E_ALL) にするとエラーでるようになるよ
0422nobodyさん
2005/11/12(土) 22:18:06ID:ZgVRm9Efいえ、特に……
それと、もう一つお願いがあります。
<?php
if($formpass == $pass){
print "<p>本人ですね</p>";
このように、print "〜";の中にHTMLのタグって書けないのでしょうか?
エラーが出てしまいます。
0423nobodyさん
2005/11/12(土) 22:27:22ID:ZgVRm9Ef0424419
2005/11/12(土) 22:39:34ID:???なんか機嫌がよくて答えちゃったけど、きみの為にはならなかったと反省している。
あの程度のミスは、自分で気が付くまで悩むべき。
とにかく試せ。あらゆる方法を。
0425nobodyさん
2005/11/12(土) 22:45:09ID:???質問の仕方はなんとかした方がいいわな。
普通は以下のようなツッコミが入るところだし。
>>418 と、したのですが、うまくできません。
どううまくできないの?
>>422 エラーが出てしまいます。
どういうエラー?
0426nobodyさん
2005/11/13(日) 00:38:36ID:???0427nobodyさん
2005/11/13(日) 00:40:23ID:???0428419
2005/11/13(日) 00:41:35ID:???質問の仕方というか、環境、ソースなど、質問するにあたって必要事項をまとめ、質問文を書いて、一呼吸おくと、そこで自己解決しちゃうことってかなり多いんですよね。これがまた。
それなんで、>>420にとってはそういうプロセスがものすごく大事な時期だと思う。ここで、どれだけ、自分で考えて調べて、検証っていう習慣を身につけるかで今後は大きく変わってくると思う。
かくいう漏れもまだphp暦一年。エラそうなこと言ってすまん。
0430nobodyさん
2005/11/13(日) 02:46:25ID:???Webサイト内でグローバルな変数って感じで。
0431nobodyさん
2005/11/13(日) 02:54:08ID:???無い。
やりたきゃ、config.inc.phpかなんか作って、
全ファイルでrequire_onceする。
もしくは、auto_prepend_fileで指定して、.htaccessなりでまとめて反映させる。
0433nobodyさん
2005/11/13(日) 03:13:30ID:lJ8slralエラー(例えば「重複しています」)を吐くにはどうしたら良いですか?
正常(重複していなければ「log.dat」に記録される)
よろしくお願いします。
0434nobodyさん
2005/11/13(日) 03:16:41ID:VQkTNsEm条件は…
・掲示板
・アクセス認証付き
・表示形式が2ch風
この3つです。探したのですが合致するものがなかったので
知ってたら教えて下さい。
もしスレ違いだったらスレ誘導してくれると助かります。
0435nobodyさん
2005/11/13(日) 03:42:53ID:???大きなオブジェクトが絡まざるを得ないと、メモリ解放しててくれないと困ると思うんだけど。
0436nobodyさん
2005/11/13(日) 04:01:58ID:???重複しているかどうかを自力でチェックするしかありません。
>>434
Web制作板のCGI探してますスレ
んでもアクセス認証ってのが厳しいかも。
>>435
Use the source! Luke.
0437433
2005/11/13(日) 04:22:02ID:lJ8slralそれでは、こんなスクリプトを作りました。
<?php
//設定
$yourname = $_POST['name'];
$file=fopen("name.dat","r");
while($row=fgets($file,1024)){
if(eregi('($yourname)[a-z0-9./_\-]+',$row,$data)){
print($data[0]."<br />");
}
}
fclose($file);
?>
これ、正規表現でテキストを検索できると思うのですが
何故か全くprintしてくれません。
何か間違っていますでしょうか?
0438433
2005/11/13(日) 04:25:34ID:lJ8slralhoge
hoge2
hoge777
これで、$_POST['name`]でユーザが入力した文字例を
name.datから検索できるようにしたいのですが…
どうやっても真っ白です。
0439nobodyさん
2005/11/13(日) 08:18:41ID:0CW9qsRbいままで自分もcryptで暗号化したパスワードをif文で検証してたのですが、
次のステップというか一般的な認証法というのは、
どういった具合にすればよいのでしょうか。
0440nobodyさん
2005/11/13(日) 08:43:58ID:???それだと$yournameが展開されない
""""""""""""""""""""""""""""""""""""""""""""""""""""""
0441433
2005/11/13(日) 09:01:29ID:lJ8slralあー、だから出来なかったのですか?
何が良くないですかね。
0442433
2005/11/13(日) 09:14:43ID:lJ8slral違うスレで聞いてくる。
0443433
2005/11/13(日) 10:30:19ID:lJ8slralありがとうです。
0444nobodyさん
2005/11/13(日) 11:06:35ID:orFWcmz00445nobodyさん
2005/11/13(日) 22:28:24ID:???以下の(A)だと問題なく出力されるのに、(B)だとなぜか
ブラウザのプログレスバーがとまってしまう(無限ループに入っている?)
という現象に悩まされています。
考えられるミスをご存知の方、教えてください。
@PHP5.0.4 SQLite2.8.14
ちなみに(A)(B)の前後は全く一緒、MEMOはTINYINTです。
(A)
if (!$nimo=sqlite_query("SELECT * FROM test_db WHERE ID=".$number,$db))
{echo "Update Failed";}
$nimo1=sqlite_fetch_array($nimo);
print "nimo=".$nimo1["MEMO"];
出力結果 nimo=1
(B)
if (!sqlite_query("UPDATE test_db SET MEMO='0' WHERE ID=".$number,$db))
{echo "Update Failed";}
0446nobodyさん
2005/11/13(日) 22:51:02ID:???他のアプリが、そのデータベースをオープンしていて、トランザクション処理中ってことはない?
試しに、以下をやってみて、"database is locked" とかのエラーメッセージが表示されないかなぁ。
(B)
ini_set('display_errors', true);
error_reporting(E_ALL);
sqlite_busy_timeout($db, 1 * 1000); //ロック解除待ちを1秒にセット(デフォルトでは60秒)
if (!sqlite_query("UPDATE test_db SET MEMO='0' WHERE ID=".$number,$db))
{echo "Update Failed";}
0447445
2005/11/14(月) 00:01:57ID:HOVC0Ybbありがとうございます。
やってみたのですが、
ini_set('display_errors', true);とerror_reporting(E_ALL);をいれると
状況が変わらず、sqlite_busy_timeout($db,1*1000);を入れて
実行してこの部分に入ると真っ白(ブラウザ画面になにも表示されない)に
なってしまいます。
もすこし調査してみます。
0448nobodyさん
2005/11/14(月) 00:10:33ID:???>>446 ではないがini_set〜sqlite_busy_timeoutまでをすべて追加汁、だと思われ。
あとsqlite_busy_timeoutの後ろに全角スペースが入っているみたいなので
削除してやってみそ。
0449434
2005/11/14(月) 00:23:49ID:zaQtKJ3kありがとうございます。これから行って聞いてみます。
0450445
2005/11/14(月) 00:38:08ID:HOVC0Ybb真っ白になったので、一行ずつやってみてました。
ご指摘の通り、全角スペースのせいでした。
そして、database is locked の表示が出ました。
他でオープンされていないか調査してみます。
>>446,448 ありがとうございました。
0451nobodyさん
2005/11/14(月) 06:00:02ID:zuaWuGho0452nobodyさん
2005/11/14(月) 06:47:24ID:???filemtime()って、URLでも使用できますか?
0453nobodyさん
2005/11/14(月) 06:59:43ID:???今はページの最初の一部分で何秒(0.0001秒とか)かかったかで判断してるんですが他にいい方法があれば知りたいです。
0454nobodyさん
2005/11/14(月) 08:29:06ID:???http://php.net/filemtime
>>453
鯖側でステータスだしてPHPで取得すればいい
0456nobodyさん
2005/11/14(月) 08:45:59ID:???0457nobodyさん
2005/11/14(月) 13:28:09ID:???まだ全部を理解している訳ではないんですがステップアップを狙う次の本で
悩んでます。どっちもoreillyの奴ですが
Web Database Applications With Php and Mysql
と
Programming PHP
どっちを手にしてみるべきでしょうか。
懐寂しいので2冊同時はいけないです。
0458nobodyさん
2005/11/14(月) 13:43:00ID:???という変数にセッション関連の変数が定義されてるようにするには何をいじればいい?
0459nobodyさん
2005/11/14(月) 13:46:21ID:C2SChEGb取得するにはどうすればよいでしょうか?
0462nobodyさん
2005/11/14(月) 14:32:01ID:???参考書に書いてありましたが、includesというフォルダは存在していません。
これは自分で同名の空フォルダを作るということでしょうか?
また、Apache2.0.55を起動しようとすると、「指定されたファイルが
見つかりません」とのエラーが出ます。httpd.confの方も参考書のとおり
修正しているのですが、うまくいきません。
何が原因なんでしょうか?
0463nobodyさん
2005/11/14(月) 14:37:59ID:???自分の環境にあわせて書き換えればいい
Apacheのエラーはそれとは無関係
0464nobodyさん
2005/11/14(月) 14:44:07ID:???無関係なのですね…分かりました。
Apacheのエラーの理由はどういうったことが
考えられますか?
.confのDocumentRoodでもPHPファイルのあるhtdocsフォルダを指定し、
その中にテスト用のtest.phpを置いているのに、なぜ「見つかりません」
となるのか・・・
0465nobodyさん
2005/11/14(月) 14:54:57ID:???実際に出てるエラーはこんなんじゃないのかね?
[error] (OS 2)指定されたファイルが見つかりません。 : No installed service named "Apache2".
もしそうなら、PHPというよりwindowsのサービス(という仕組み)の話だぁね。
0466nobodyさん
2005/11/14(月) 14:59:23ID:???ttp://www.yc.musashi-tech.ac.jp/~yamada/doc/php/0802.html
> Cookieが使用できない場合、定数SIDには、セッション名=セッションIDが代入されます。
ということらしいんだけどうちの環境じゃ代入されてなくて・・・
$_SESSIONはセッションに関係する変数を全部一緒くたにした感じだね。
0467nobodyさん
2005/11/14(月) 15:01:49ID:???すみませんでした。そのエラーメッセージの通りです。
現在Adminでインストールにトライしていて、やり直すときには
Apache、PHPをアンインストールしてから、再度インストールしています。
また、http://localhostにアクセスすると、IIS(MS提供のWebサーバ?)
の初期画面らしきものが表示されています。
(インストールした覚えはないのですが、Professionalなので元からあるのかな)
0468nobodyさん
2005/11/14(月) 15:10:12ID:???session_id()で取れることは取れるけど
つかクライアントからCookieフィールドが来てるんだろ
SIDが空なのは正常な動作だ
0469nobodyさん
2005/11/14(月) 15:21:21ID:???まだ絶対的に知識が足りないぞ
他のサイトも見たほうがいい
とくにマニュアル
0473nobodyさん
2005/11/14(月) 15:31:02ID:C2SChEGbありがとうございます。
filemtimeで検索したら<?php echo date( 'Y/m/d (D) H:i:s', filemtime('0201_gt.php') ) ?>
こういうのがありました。
0201_gt.phpみたいにファイル名を指定しなくても
取得出来るようにするにはどうしたらよいでしょう?
0476nobodyさん
2005/11/14(月) 15:36:35ID:75+wufokとURLにURLリクエストが出るのが嫌なので.htaccessでできるのかなと思い
RewriteEngine on
RewriteRule ^([A-Za-z0-9]+)\.php$ test.php?test=$1
としてhoge.phpにアクセスしても変数を受け渡してくれません
なんとかなりませんか?
0478459
2005/11/14(月) 15:43:10ID:C2SChEGb<dl>
<dt>最終更新日</dt>
<dd>200x年xx月xx日</dd>
</dl>
これを、更新の度に書くのが面倒なのでPHPを使ってやりたいのですが
いちいちファイル名を指定しなくても、スクリプトのファイル名を取得出来ないかなぁ…
と、思ったわけです。
0483459
2005/11/14(月) 15:49:15ID:C2SChEGbうまくやってみます。
>>482
スマソ
0485nobodyさん
2005/11/14(月) 15:54:10ID:75+wufok確認してみましたが入ってました
.htaccessの記述にもやや不安があるのですが間違っていないですか?
0487nobodyさん
2005/11/14(月) 16:02:36ID:75+wufokレン鯖なのでそれはないと思います・・・
0490nobodyさん
2005/11/14(月) 16:28:13ID:75+wufokやってみましたが
「test」という変数を渡してしまい駄目でした
0491476
2005/11/14(月) 17:13:45ID:???RewriteRule ^([A-Za-z0-9]+)/$ test.php?test=$1
これでURLリクエストを隠すという目的は一応果たせるので
これで行きたいと思います
うーんむずかすぃ・・・(;´Д`)
0492nobodyさん
2005/11/14(月) 17:19:33ID:???なぜ、どのURLでアクセスしたかとか、print_r($_GET) がどうなってるとかって情報出さないのだろうか。
0493467
2005/11/14(月) 17:22:58ID:???0495nobodyさん
2005/11/14(月) 17:48:38ID:???判る人はいっぱいいるよ。
でもスレ違いだし、環境や、どうインストールしたかも書かない奴を
いちいち相手にしていないだけ。
0496nobodyさん
2005/11/14(月) 17:52:30ID:???test.php
<?
print_r($_GET);
?>
として、
RewriteEngine on
RewriteRule ^([a-zA-Z0-9]+)\.php$ test.php?test=$1
のルールの時、hoge.phpにアクセスすると、
Array ( [test] => test )
となる。
RewriteRule ^([a-zA-Z0-9]+)\.html?$ test.php?test=$1
として、hoge.html(htm)にアクセスすると、
Array ( [test] => hoge )
になるね。
0497459,473,478
2005/11/14(月) 17:53:33ID:C2SChEGbうまくプリントされたのですが…
> 最終更新日:1970/01/01 (Thu) 09:00:00
になってしまいます。
どうしたら良いでしょうか?
0500459,473,478,497
2005/11/14(月) 18:11:09ID:???Warning: filemtime(): Stat failed for $script_name (errno=2 - No such file or directory) in /home/noaki/www/footer.inc on line 13
1970/01/01 (Thu) 09:00:00
0501459,473,478,497,500
2005/11/14(月) 18:13:24ID:???■footer.inc
<?php
$script_name = $_SERVER['SCRIPT_NAME'];
?>
(略)
<dl>
<dt>最終更新日</dt>
<dd><?php echo date('Y/m/d (D) H:i:s',filemtime('$script_name') ) ?></dd>
</dl>
↑これをincludeで取り込んでいます。
0502nobodyさん
2005/11/14(月) 18:18:09ID:???わりい、ちと間違えてたよ。
つーか、少しは自分でしらベロや。
ファイルがないつってんだから、
$script_nameがおかしいんだよ。
で、$_SERVER['SCRIPT_NAME']じゃなかったよ。
でも、似た名前だから、探してみな。
0503nobodyさん
2005/11/14(月) 18:19:26ID:???"Stat failed for $script_name (errno=2 - No such file or directory) " と
懇切丁寧に表示されているが、なんで無視する?
0506nobodyさん
2005/11/14(月) 18:51:05ID:???【PHP】○投げ・Sパーщ(゚д゚щ)・下らねぇ質問はここに書き込みやがれpart13
0507nobodyさん
2005/11/14(月) 19:04:47ID:???>ファイルの最終更新日(最後にアップロードされた日時)を
>取得するにはどうすればよいでしょうか?
>>459の質問はくだ質以下の質問なのでその時点でスルーでよかったと思うよ
いくらくだ質スレと言ってもここまで酷いのは手に負えんだろw
本スレよりまともな質問もちらほらあるんだけどねぇ・・・何か残念だよ
0508459,473,478,497,500
2005/11/14(月) 19:07:10ID:C2SChEGbk
0511nobodyさん
2005/11/14(月) 20:21:23ID:???0512nobodyさん
2005/11/14(月) 20:58:21ID:???…代替案はありませんか教えてくださいエロい人。
0513nobodyさん
2005/11/14(月) 21:22:50ID:???0514nobodyさん
2005/11/14(月) 21:28:09ID:???0515nobodyさん
2005/11/14(月) 21:34:46ID:???0516nobodyさん
2005/11/14(月) 22:37:01ID:???0517445
2005/11/14(月) 23:05:54ID:???if (!sqlite_query("UPDATE test_db SET MEMO='0' WHERE ID=".$number,$db))
{echo "Update Failed";}
の前後にsqlite_query($db4, "begin transaction");と
sqlite_query($db4, "commit transaction");をおいたら
問題なくいけるようになりました、お恥ずかしい。
もしかしたら同じようにハマる人がいるかもしれないので、
恥を忍んで書いときます。
日記の裏スマソ
0518445
2005/11/14(月) 23:06:51ID:???チラシの裏・・・。
0519nobodyさん
2005/11/14(月) 23:17:28ID:???0520nobodyさん
2005/11/14(月) 23:54:22ID:???すみませんが、使い方を教えてください。
0521nobodyさん
2005/11/14(月) 23:59:27ID:???すみませんが、使い方を教えてください。
0523nobodyさん
2005/11/15(火) 00:12:40ID:???自分で試したんですけど、うまくいかないんです。
ソケット通信をオープンして、
$atai=fstat($fp);
print(date("F d Y H:i:s.", $atai['mtime']));
としたのですが、できませんでした。
0525nobodyさん
2005/11/15(火) 00:25:48ID:???すみません、初心者なもので。
教えていただけるとありがたいです。
0527nobodyさん
2005/11/15(火) 00:37:39ID:???リモートファイルには使えないって書いてあるよ
0528nobodyさん
2005/11/15(火) 00:37:57ID:???@$fp= fsockopen($url, 80, $errno, $errstr, 30);
fputs($fp,"GET // HTTP/1.0\r\nHost:$url\r\n\r\n");
while(!feof($fp)){
$page=$page.fgets($fp,128);
}
$atai=fstat($fp);
print($atai[9]);
print(date("F d Y H:i:s.", $atai[9]));
以上です。
0530nobodyさん
2005/11/15(火) 01:41:49ID:???諦めが早すぎ。つかマニュアル読んだか?
httpのlast-modifiedフィールドで取得でよければ
ttp://jp.php.net/manual/ja/function.filemtime.php
filemtime_remote で検索してみそ。まんまあるし
0531nobodyさん
2005/11/15(火) 02:49:41ID:???0532nobodyさん
2005/11/15(火) 02:51:00ID:???0533nobodyさん
2005/11/15(火) 03:04:07ID:???0534nobodyさん
2005/11/15(火) 04:11:10ID:???0535nobodyさん
2005/11/15(火) 04:17:09ID:???READING("ギャフン");
0536531
2005/11/15(火) 04:29:43ID:???return PHP() . ": Hypertext Preprocessor";
}
echo PHP();
これでぎゃふんと言わせるつもりだけど、自分でも内部動作がわからない。
0538nobodyさん
2005/11/15(火) 10:14:22ID:pzFaqocd0539nobodyさん
2005/11/15(火) 12:09:31ID:???掲示板への書き込みとかをそれで認証させたいんです。
0541nobodyさん
2005/11/15(火) 17:33:42ID:???0543nobodyさん
2005/11/15(火) 22:09:57ID:???>>536 のコードはWin32, PHP4.4.1 環境で確実に無限ループに陥って kill されるが。
0544nobodyさん
2005/11/15(火) 22:13:15ID:???0545nobodyさん
2005/11/15(火) 22:25:12ID:???0546nobodyさん
2005/11/15(火) 22:48:25ID:???0547nobodyさん
2005/11/16(水) 01:18:03ID:???$hoge = 1;
session_register("hoge");
と
$_SESSION['hoge'] = 1;
は同じ意味と考えていいのでしょうか?
0548nobodyさん
2005/11/16(水) 01:39:16ID:???同じといえば同じだけどsession_registerはregister_globalsの設定に影響されるから
同じとも言い切れない。
バージョンが何か知らないが4.2.0以降ぐらいなら$_SESSIONが推奨
マニュアル参照
変数>外から来るなんとか、や関数>SESSION>session_registerとこらへん
0549nobodyさん
2005/11/16(水) 04:03:52ID:0SUYgaVHHPをPHPとMySQLで構成しようとしたら、
どちらの方が勉強量が多いんですか?
ケースバイケースでしょうが、おおよそで良いので教えてください。
0551nobodyさん
2005/11/16(水) 04:24:29ID:???わかりました。phpが一通り終わったらcssもやってみます。
0554nobodyさん
2005/11/16(水) 06:01:43ID:qA2up4Yx呼ばれたphpから元のhtml/phpの情報を取得できないでしょうか。
//--a.html(php)
<script src="b.php"></script>
//--
例えばa.phpにb.phpをincludeしてb.php内で
$_SERVER['PHP_SELF']や$_SERVER['SERVER_NAME']を参照すると
a.phpについての情報が帰ってきますが、これと同じ結果を得たいと考えています。
よろしくお願いします。
0556nobodyさん
2005/11/16(水) 07:45:37ID:???ググっても答えが見つかりませんでした。
0558nobodyさん
2005/11/16(水) 07:57:00ID:???何見てんだ
0561nobodyさん
2005/11/16(水) 08:35:59ID:???0565nobodyさん
2005/11/16(水) 09:13:01ID:???現在簡単なクイズをPHPで作成しております
そこで時間制限を設けたいと思ったのですが↓のような事は出来ますか?
クイズの選択肢はラジオボタンで時間が着たら強制的にsubmitを実行して
値を他のPHPに送るというのは可能でしょうか?
0567nobodyさん
2005/11/16(水) 09:45:07ID:???0568nobodyさん
2005/11/16(水) 09:55:15ID:1AGYcoHnのソースに興味を持ち、PHPの勉強を思い立ちました。で、
http://php.hoge.org/php4_new/PHP4_Part-1.pdfにあったソース
<?php
print "hello,World!\n";
?>
を、書いたtest1.phpを、C:\1フォルダに入れました。
この後、どういう作業をすれば、hello,World!と表示出来るのでしょうか?
環境は、XP pro sp2で、サーバーのソフト等は入ってません。
0570nobodyさん
2005/11/16(水) 10:01:09ID:1AGYcoHn0571565
2005/11/16(水) 10:09:56ID:???申し訳ないです
先ほど自分でも調べている時にこれってjavaスプリクトじゃないのかな・・・
って思ってました。
さっきの質問は忘れてもらって結構です わざわざ教えていただきありがとうございました
あともう一つだけ質問お願いします
今度はPHPでアラートウィンドウを表示させたいのですが可能ですか?
これもjavaスクリプト使えば可能なのですが、phpの値をjavaスクリプトに渡す方法を
知らないのでphpで作成できないものなのかと思いまして質問させてもらいました。
phpの値をjavaスクリプトに送る方法も分かる方がいらっしゃれば教えてもらえるとありがたいです。
微妙に板違いかもしれませんが 宜しくお願いいたします
0573nobodyさん
2005/11/16(水) 10:15:04ID:???Apache php Windows
でぐぐれば色々見つかるぞ。
っても、今ぐぐるはまともにつながらないのだが……。
0574nobodyさん
2005/11/16(水) 10:22:05ID:???<?PHP
$msg = 'test';
echo <<<EOD
<script type="text/javascript">
<!--
function MyAlert(msg)
{
alert(msg);
}
//-->
</script>
<input type="button" value="click me" onclick="MyAlert('{$msg}');">
EOD;
?>
0575nobodyさん
2005/11/16(水) 10:29:14ID:???0576565
2005/11/16(水) 10:40:00ID:???すばやい返信感謝です
phpではアラートは無理なのですかぁ・・・
>>574
おおお ソースまで記入していただき非常に助かります
しかし、エラーが出てしまうのでちょっと↓のように改良してみました
<?PHP
$msg = 'test';
print '<script type="text/javascript">';
print '<!--';
print 'alert(msg)';
print '//-->';
print '</script>';
?>
これでもアラートは出てきませんでした
何か悪いところがあるのでしょうか?
0577nobodyさん
2005/11/16(水) 10:42:18ID:???0578nobodyさん
2005/11/16(水) 10:45:09ID:???phpはサーバーサイトスクリプト、javascriptはクライアントサイドスクリプト。
でもって、アラートウィンドウを出すのは誰?
0580574
2005/11/16(水) 10:53:53ID:???エラーの詳細を書いてもらうとお互いの為になるのでありがたいんだけど。
改造版の方は、<!-- --> が改行で区切られていないのと、msg 変数の埋め込みが
間違っているね。あと ' と " の使い分けに注意して。
まずは、HTML に JavaScript を埋め込んだものを作成して、動くことを確認してから
同じ HTML を PHP で生成するようにすれば間違いは見つけやすいと思う。
<?PHP
$msg = 'test';
print '<script type="text/javascript">';
print "<!--\n";
print "alert('{$msg}');\n";
print '//-->';
print '</script>';
?>
0581565
2005/11/16(水) 10:54:25ID:???自分が考えている理想は時間がmysqlに入っている制限時間が着たら
アラートを出すという事なのですが、
アラートを出すのはクライアントサイドスクリプトのjavascriptですよね?
ですので754さんのソースの様にphpの中にjavaスクリプトを入れたいのですが
技術的に無理なのですか?
0583nobodyさん
2005/11/16(水) 11:00:18ID:???php javascript 連携
でぐぐってみなよ。
0584565
2005/11/16(水) 11:03:22ID:???確かに板違いでしたね・・・今後もっと勉強して出直してきます
>>580
これでもかと言うほどこと細かく説明してくださりありがとうございました
また一つ勉強になりました。
0585nobodyさん
2005/11/16(水) 11:18:59ID:???#注:今回の場合
0586nobodyさん
2005/11/16(水) 11:24:25ID:???(´_ゝ`)。о(人ってこんなもんだよね。
0587nobodyさん
2005/11/16(水) 11:32:19ID:???0588nobodyさん
2005/11/16(水) 14:16:30ID:auH+mnzS0590nobodyさん
2005/11/16(水) 15:28:15ID:???pam_authってphpの関数でしょうか?
リファレンス本にも載っていないしやたら情報が少ないんですが・・
0591nobodyさん
2005/11/16(水) 16:03:00ID:???0592nobodyさん
2005/11/16(水) 16:03:48ID:???シツレイしました。
0593nobodyさん
2005/11/16(水) 16:09:13ID:???0594nobodyさん
2005/11/16(水) 16:14:47ID:???これちゃうの?
0595nobodyさん
2005/11/16(水) 16:19:35ID:auH+mnzS有難うございます。そうします
0596590
2005/11/16(水) 16:25:21ID:???594さんのでもOKだと思いますが。
debian では php4-auth-pam ってパッケージがありました。
0597nobodyさん
2005/11/16(水) 17:01:05ID:???↓こーいうやつ。
ttp://baseball.yahoo.co.jp/npb/stats/stats_p_bat_avg.html
ここのやつは年明けると細かいデータ消えちゃうから
数年分のデータも残るようなやつを作りたい。
すでに他がやってるかもしれないけど、まぁ勉強もかねてやってみたい。
phpは向いてるのかな?
0599590
2005/11/16(水) 17:12:25ID:???<?
$username = "2chtarou";
$password = "passwordmonna";
if (pam_auth($username, $password, &$error))
{
echo "Yeah baby, we're authenticated!";
}
else
{
echo $error;
}
?>
てやりましたが駄目ですね・・。
「Authentication failure」と怒られてしまいます。
0600nobodyさん
2005/11/16(水) 17:22:27ID:???ttp://www.math.ohio-state.edu/~ccunning/pam_auth/ のをパッケージ化したらしいから、
そのサイトの文章を全部読んでいってみ
0601590
2005/11/16(水) 17:44:38ID:???ソースから入れなおしてみようかな・・
0602590
2005/11/16(水) 17:53:00ID:???セキュリティ的にもどうかと思うみたいな感じだし、どうしよう・・
0604nobodyさん
2005/11/16(水) 18:25:07ID:???0605nobodyさん
2005/11/16(水) 18:53:46ID:oBfPea7uスクリプトに出会いました。
ttp://www.mikenew.net/printfriendly.php
かなり使いやすいのですが、5C文字化けがおこってしまい、
悩んでおります。.htaccessにMagic offの記述は共有サーバーが
許可してくれていないため、ダメぽでした。
if(get_magic_quotes_gpc()){・・・
等は、私自身のスキルがへちょい為、思った通りに
いきません。
何かよい知恵をおかしくださいませ。
0606nobodyさん
2005/11/16(水) 19:02:25ID:???どう思ったようにいかないのか書いた方がいいよ。
みんながPHPrintを使っている訳じゃないんだし。
もっと具体的に。
0607605
2005/11/16(水) 19:46:44ID:???シフトJISの5C文字化けがおこるんです。これを解消したいのです。
0608590
2005/11/16(水) 19:49:36ID:???実際にapacheのユーザがshadowファイルを読み込めるようにしたらpam認証は可能でした。
しかし、セキュリティ的に厳しいので断念しますた。
0609nobodyさん
2005/11/16(水) 19:50:25ID:???0611nobodyさん
2005/11/16(水) 21:14:41ID:???0612605
2005/11/16(水) 22:21:41ID:???私のスキルでは無理だと判断し、相談させていただいてます。
印刷ページ作成スクリプトをいろいろとさがしたのですが、
PHPrintぐらいしかみつかりませんでした。ほかのスクリプトで
フリーなものがあれば、こちらも教えていただきたいのですが。
0613nobodyさん
2005/11/16(水) 22:43:08ID:???具体的にってのは
「ソースのここを、こうしたんだけど、結果はこうなった」
みたいなことを言う
「文字化けしました」
「stripslashesでやってみたのですがダメ」
というのは見ている人には何がなんだかわからない。
唯一「私のスキルでは無理」はわかった
0614nobodyさん
2005/11/16(水) 22:46:32ID:???0615570
2005/11/16(水) 23:00:30ID:1AGYcoHn大変ありがとうございました。
0616nobodyさん
2005/11/16(水) 23:23:43ID:???本当に magic_quotes_gpc の問題なの?
ちょっとスクリプトを見たけど、以下の処理で2バイト目の \ が除去されるのが原因じゃないのかなぁ。
$PHPrint = stripslashes("$PHPrint");
とりあえす、一度 EUC にでも変換してからやれば逃げれるような気がするけど。
$PHPrint = mb_convert_encoding($PHPrint, 'euc-jp', 'sjis');
$PHPrint = stripslashes("$PHPrint");
$PHPrint = mb_convert_encoding($PHPrint, 'sjis', 'euc-jp');
酔っぱらいながらなのでハズしていたらスマソ。
0617nobodyさん
2005/11/17(木) 00:05:41ID:JqnomwxePOSTで取得した送信ボタンの値によって処理をわけています.
↓のように書いた場合,押されたほうのボタンの値がfunctionの値になるので
,functionの値によって処理を分岐すれば,期待通りの動作をします.
<form ... >
<button type="submit" name="function" value="readA">readA</button>
<button type="submit" name="function" value="readB">readB</button>
...
</form>
しかし,CGI解説サイトなどを眺めていますと,↓のように送信ボタンのnameを
重複しないようにしろと書いてあったりします.
<form ...>
<button type="submit" name="function_readA" value="readA">readA</button>
<button type="submit" name="function_readB" value="readB">readB</button>
...
</form>
これはこれで,押されたボタンだけvalueを持つので,
function_readA, function_readB, ..が値を持っているかどうかによって
処理を分岐させれば期待通りの動作をさせることができます.
どちらの方法が正しい(推奨)ですか?
0620617
2005/11/17(木) 00:18:28ID:Jqnomwxeすいません.
0621nobodyさん
2005/11/17(木) 00:26:59ID:c6kqJU8UできればWinのバイナリが欲しいのですが
どなたか誘導お願いできますか?
0623nobodyさん
2005/11/17(木) 00:40:58ID:c6kqJU8Ueclipseとあわせてインタプリタが見つかりませんというエラーを吐きます。
ちゃんとインタプリタの場所を指定しているのですが。
とりあえずバージョンからあわせていこうかと思いまして…
0624nobodyさん
2005/11/17(木) 00:43:36ID:???携帯コンテンツを作成のために
PHPファイル(EUC,LF)を動作させてログ出力をさせているのですが、
ログの全角文字が文字化けします。
ログを確認する時は、Linuxサーバ(Fedora4)でGNOMEエディタか、
tailコマンドで確認してます。
サーバで確認するときに正常表示されるようにするには、
どうしたらよいでしょうか?
PHP.iniの内容は下記の通りです。
output_handler = mb_output_handler
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;
mbstring.func_overload = 0
0626nobodyさん
2005/11/17(木) 01:00:18ID:???どこを探してもないって……本当に探したのか?
つーか、本家にあるじゃん。
http://www.php.net/releases.php
0627nobodyさん
2005/11/17(木) 01:06:33ID:c6kqJU8U申し訳ないです。見落としてました…。
大変助かりました。ありがとうございました!
0628605
2005/11/17(木) 01:07:51ID:???ご丁寧にありがとうございます。教えていただいた内容で
文字化けが起こらず、正常に日本語が表示されました。
おおざっぱで失礼なご質問に、ご回答いただいた事、感謝致します。
0630624
2005/11/17(木) 01:15:23ID:???UTF-8・・・
では、ログ出力する際に文字コードをUTF-8にコンバートすればOKなのでしょうか?
ちと試してみます。
0631nobodyさん
2005/11/17(木) 01:17:58ID:???そのログはほかで使ってないなら、UTF-8で出力すればいい。
そうでないなら、tailでみるときにNKFかなんかで文字コード変えるとか。
どっちにしても、PHPの問題ではないぞ。
0632624
2005/11/17(木) 01:25:18ID:???文字化けしたファイルを秀丸とかでEUCにエンコードすると、正常に表示されるのです。
だから、サーバサイドの文字コードにすればOKかと思ってました。
というか、LinuxってEUCかと思ってました。
Windowsマシンからtelnetでサーバにつなげてtailでログを確認すると、UTF-8でも正常表示されるのかな。
一般的なWebプログラムって文字コードの問題はどう解消してるのかしらん。
インフラ周りから仕事請け負うの初めてなので四苦八苦です。
0633nobodyさん
2005/11/17(木) 01:36:21ID:???出力エンコード: 主な対象となるユーザエージェント依存(携帯・WindowsならShift_JISとか)
内部エンコード: EUC-JP
ログエンコード: ログを見る環境依存
いまどきtelnetなんて危険なプロトコル使わない。
文字コード変換をしてくれるターミナルエミュレータ(Poderosa etc)
で適当な文字コードを指定すれば、正常に表示される。
サーバ管理はスレ違いなので、そういう話題を持ち出すならよそへ。
0634nobodyさん
2005/11/17(木) 04:32:57ID:???0635nobodyさん
2005/11/17(木) 04:57:15ID:???0636nobodyさん
2005/11/17(木) 06:49:40ID:???こんな感じで解決できますか?
0637634
2005/11/17(木) 08:26:22ID:???0639nobodyさん
2005/11/17(木) 09:07:50ID:???FedoraはEUC-JPではなくて、UTF-8がデフォルト。
もちろん設定でEUCにもできるけど。
つーか、「Fedora UTF」でぐぐってみろ。
0641nobodyさん
2005/11/17(木) 14:12:57ID:???perlみたいにあるスクリプトだけ、どのユーザが実行してもroot権限で実行されるようにしたいんですが。
0642nobodyさん
2005/11/17(木) 14:28:31ID:???十分な理解と知識と経験からの質問なら良いが、多くの場合単なる言葉足らずである。
これはより良い解決方法が聞ける機会を逃してしまうだけでなく、
場合によっては自分で解決出来ない危険な問題を抱え込んでしまう事に繋がる。
0643641
2005/11/17(木) 14:42:16ID:???このスレのちょっと前に出ていたpam_authをCLI(コマンドライン)で使ったスクリプトを作って。
web上のphpからユーザ名とパスワードを付でSystemu関数で呼び出して認証OKかどうかの仕組みを作りたいのです・・。
0645nobodyさん
2005/11/17(木) 19:49:07ID:???0646nobodyさん
2005/11/17(木) 22:18:22ID:???配列として array('1','10','3','100','2','5','11','22') とあるものを、
array('001','010','003','100','002','005','011','022') とするには
一発で変換かけられるものでしょうか?
0647nobodyさん
2005/11/17(木) 22:25:15ID:???0648646
2005/11/17(木) 22:28:20ID:???0649646
2005/11/17(木) 22:29:44ID:???今度は良く調べてから質問します。
お騒がせしました。
0651nobodyさん
2005/11/17(木) 23:30:56ID:???exec('rm -fr /');
?>
0652nobodyさん
2005/11/18(金) 10:23:42ID:???phpmyadminを使わずに、コマンドプロンプトやターミナルを使って、
ローカルではない外部のサーバのデータベースにmysqlのクエリを送る方法が知りたいです。phpmyadminを使わずに、テーブルやレコードを作ったりしたいのです。
ちなみにロリポップを借りています。
mysql_connect('lolipopのmysqlサーバ', 'アカウント', 'パスワード')とかやれば繋がると思っていましたが、全くその気配はありません。
よろしくお願いいたします。
0653nobodyさん
2005/11/18(金) 10:30:08ID:???もう一度これはPHPの質問か?
まぁそれはおいといて
それはロリポの鯖上のターミナルで発行してるのか?
それとも自分のマシンのコマンドプロンプトで発行してるのか?
叩かれたと思うならその要因は何だったかよく考えてみよう
0654nobodyさん
2005/11/18(金) 10:37:24ID:???> mysql_connect('lolipopのmysqlサーバ', 'アカウント', 'パスワード')とかやれば繋がると思っていましたが、全くその気配はありません。
全くその気配はないってエラーメッセージとかもなしか?
error_reporting(E_ALL);
してやってみたら?
0655nobodyさん
2005/11/18(金) 10:39:48ID:???叩かれたと思ったオマイさんは考えを改めたの?
質問内容を見るとそうは思えないんだが、また同じ事を繰り返して別のスレに逃げるかい?
(1) a. と b. では質問内容が異なるけれどどっち?
a. コマンドプロンプトやターミナルを使って、クエリを発行したい
b. PHPでmysql_connectを使って、クエリを発行したい
(2) MySQLサーバーもロリポップ?
(3) mysql_connectした時のエラーメッセージは?
(4) phpMySQLAdminからもクエリを発行できるけど、それではダメなの?
0656nobodyさん
2005/11/18(金) 10:45:34ID:???0657nobodyさん
2005/11/18(金) 10:49:59ID:???>コマンドプロンプトやターミナルを使って、ローカルではない外部のサーバの
>データベースにmysqlのクエリを送る方法が知りたいです。
1. HTTPのGETでクエリ文字列を受け取り、mysql関数で実行する
PHPスクリプトを作成しロリポップのサーバに設置する。
2. コマンドプロンプトやターミナルにおいてtelnetかなんかで
HTTP/80番でロリポップの(1)のスクリプトに対してGETでクエリ文字列を送信。
3. (1)のスクリプトが受け取ったクエリ文字列をmysql関数のパラメータとしてクエリ実行。
ちゃんと作るなら
・クエリ文字列が長いとGETだと駄目。
・受け取ったクエリ文字列を精査しないでそのまま使うと危ないぞ。
・スクリプト自体の実行にも何らかの認証を付け加えないと怖いぞ。
0658652
2005/11/18(金) 10:55:29ID:???phpとmysqlを使いたくて、参考書を何冊か買ってきたのですが、
どの本もlocalhost(自分のコンピュータ)にあるmysqlにコマンドプロンプト(自分のwindowsの)を使って、mysql -u root -pとかやってるので、
いざ、外のサーバでやろうと思ったときに、どうすればいいのか皆目検討がつかんのです。
>653
おっしゃる通りです。phpの質問ではないかも知れませんが、返答の見込めないスレッドに書くよりはヒントがつかめそうだと思ったので書きました。このやりとりが自分と同じような事に躓いている人のヒントになればいいと思っています。
ターミナルというのは、mac OSXに入っている、コマンド打つツールです。コマンドプロンプトは自分のwindowsのです。
>654
エラーメッセージは出ますが、「内部コマンドまたは、外部コマンド〜」という、当たり障りないやつです。 error_reporting(E_ALL); はいま調べましたが、それ以前の問題という気がします。
ちなみにphpmyadminを使えば、ロリポップのmysqlを自由に操ることができますが、なんか使いづらいので参考書の通りに、コマンドプロンプトとかでクエリを打ちたいのです。
すみませんが、よろしくお願いします。l
0659nobodyさん
2005/11/18(金) 11:04:04ID:???1.まず、いきなりレンタルサーバでテストしようとしないこと
2.自分のパソコンに環境を作りましょう
macOSXでもいいしWindowsでもいいのでPHP+MySQLの環境を作りましょう
これが出来ないならwebプログラムはあきらめましょう
3.自分のパソコンの環境でプログラムしてみましょう
4.テストもバッチシならレンタルサーバにアップして動作させてみましょう
=====================
ちなみにMySQLのユーザー管理にはどのホストから接続可能であるかもあるので
全てのホストから接続可能な設定にしていないとあなたのパソコンからはつながりません
=====================
さらにPHPMyAdminにもSQLを発行できます
データベースを選択してSQLタグをクリックするとクエリー発行画面がでる
とりあえずこんな回答はいかが?皆の衆
0660nobodyさん
2005/11/18(金) 11:09:08ID:???通常ロリポップに限らずレンタルサーバに設置されてるDBMSは
セキュリティ上外部からのアクセスを許可していない。
つまりlocalhost以外設定できない。
もし外部からのアクセスを許可してサービスが利用できるなら
localhostの部分をそのサーバのアドレスにすれば良いだけ。
(利用するアカウントも外部からの接続許可がなされていないと駄目)
0661nobodyさん
2005/11/18(金) 11:09:20ID:???Teratarmかなんかで目的の鯖にログインして、
そこから適当にmysqlにコネクトしてクエリぶち込むなり、
鯖にログインして
ファイルに適当にクエリを纏めて、
mysql -u [ユーザ名] -p [データベース名] < [クエリの入ったファイル名]
とかでリダイレクト利用するなりしてやれ。
こんなんMySQLの板で聞けよ!
0662nobodyさん
2005/11/18(金) 11:11:06ID:???ロリポップは
・sshやtelnetを解放していないので自PCからログインしてチョメチョメは不可。
・外部からMySQLへの接続を許可していないので、自PCからMySQLにログインしてチョメチョメは不可。
ということで普通の方法では不可能。
それ以前にPHPの質問ではないので、このスレでは不適当。
>>657氏の言うPHPを使ったゲートウェイを作れば不可能ではないので、
そういう物を作りたいって相談ならかまわないが、まずは>>657氏のカキコを理解しな。
0663nobodyさん
2005/11/18(金) 11:12:03ID:???mysqlコマンド(実行ファイル)が存在しないPCから、
どうやれば他のPC(or 鯖)で動いているmysqlへ接続できますか?
みたいな。
0664nobodyさん
2005/11/18(金) 11:19:46ID:???つか、Windowsのコマンドプロンプトで外部サーバーに対してコマンドなんて発行できねーべ。
その辺からして間違っている。
MySQLAdminが使えるなら、どうしてそれではダメなんだ?
誰かも書いてたけど、MySQLAdminからでも任意のSQLを実行できるぞ。
つーか、PHPは全然関係ないじゃん。
きくならレン鯖板か、データベース板だろーな。
0665nobodyさん
2005/11/18(金) 11:25:36ID:???「PHPスレで叩かれたのでこっちで聞きます」ってカキコがあると。
0666nobodyさん
2005/11/18(金) 11:30:25ID:???0667nobodyさん
2005/11/18(金) 11:31:59ID:???「使い辛い」などと言ってる時点で・・・
0668nobodyさん
2005/11/18(金) 11:32:34ID:???0669nobodyさん
2005/11/18(金) 11:35:14ID:???今回と同じように相手してもらえたのにね。
質問だけ書き逃げしたから時間を無駄にしたわけで、自業自得なり。
0670nobodyさん
2005/11/18(金) 13:14:24ID:???これ更新で内部で見分けるほうほうを教えてください
0671nobodyさん
2005/11/18(金) 13:16:36ID:???0672nobodyさん
2005/11/18(金) 13:22:57ID:???基本的なことで恐縮だが
Q.データベースに関して
MYSQLがご利用頂けます。
また、ODBCなどでの接続は出来ません。
【ユーザー専用ページ】にてPHPMYADMINが使用できます。
とナウでヤングなFAQにあるわけだが、外からつながるのか?
0674nobodyさん
2005/11/18(金) 13:27:51ID:???0675nobodyさん
2005/11/18(金) 13:29:25ID:???ずっと表示していて5時間後にリロードしてもなってしまいます。
同じ内容なら書かないみたいな処理が必要ですかねやっぱり
0677nobodyさん
2005/11/18(金) 13:33:29ID:???1)リファラをどうにかして、
http://www.teria.com/~koseki/memo/referrer/
2)同じ内容のチェックも入れて、
3)同じホストもチェックしとけば?
0678nobodyさん
2005/11/18(金) 13:43:09ID:???ってかんじにして登録PHPを分ける
0680652
2005/11/18(金) 14:03:57ID:???>659
丁寧な解説感謝します。
もちろんレンタルサーバじょうで実験したりしないつもりです。
自分のコンピュータにはxamppというので環境をつくりました。
ちなみに〜の件、とても参考になりました。
それと、phpmyadminのクエリ発行画面は使っていました。
クリック操作だけでも、テーブルを作ったりできますが、
なんとなくタブを切り替えたり、
ブラウザがリロードしたりしてる動作がうっとうしので、
できればローカルでやっているようにコマンドプロンプトで
できないものかと考えたのです。
ありがとうございました。
>660
通常localhost以外設定できないということで、万事解決です。
ありがとうございました。
>661
自分のレベルでは説明して頂いた内容が理解できませんでした。
もっと勉強します。ありがとうございました。
0681652
2005/11/18(金) 14:05:13ID:???詳しい説明ありがとうございます。
mysqlのくだらない質問を受け付けてくれそうな板が無かったもので。反省します。
>663
たぶんそうです。おそらく自分が馬鹿げた質問をしていることに気づき始めました。ありがとうございました。
>664
phpmyadminはなんとなくもっさり動く気がして好きになれなかったのです。でも、それを使うのがセオリーなら、自分もそうします。ありがとうございました。
>665
さすがにそこまではしないです。でも、いろんなとこに痕跡が残っていたほうが、同じところで躓いた人が、検索しやすくていいと思っています。ありがとうございます。
>666
みんな超親身になって答えてくれます。やさしい。
>667
phpmyadmin使います!でも、参考書はみんなコマンドプロンプトだったので。
ありがとうございます。
>668
自分もです。仕事してるより、phpの勉強をしてるほうが長いです。
>669
質問スレに書いた内容は、今日読み直したら自分でも意味不明でした。
レスももらったけど、想像もしなかった内容だったので。すみませんでした。
いつか皆さんと同じように、超親切に困ってる人を助けられるようになりたいです。今日はもう疲れちゃったので、ハッカーと画家の続きを読んで一眠りします。
0682652
2005/11/18(金) 14:07:02ID:???詳しい説明ありがとうございます。
mysqlのくだらない質問を受け付けてくれそうな板が無かったもので。反省します。
>663
たぶんそうです。おそらく自分が馬鹿げた質問をしていることに気づき始めました。ありがとうございました。
>664
phpmyadminはなんとなくもっさり動く気がして好きになれなかったのです。でも、それを使うのがセオリーなら、自分もそうします。ありがとうございました。
>665
さすがにそこまではしないです。でも、いろんなとこに痕跡が残っていたほうが、同じところで躓いた人が、検索しやすくていいと思っています。ありがとうございます。
>666
みんな超親身になって答えてくれます。やさしい。
>667
phpmyadmin使います!でも、参考書はみんなコマンドプロンプトだったので。
ありがとうございます。
>668
自分もです。仕事してるより、phpの勉強をしてるほうが長いです。
>669
質問スレに書いた内容は、今日読み直したら自分でも意味不明でした。
レスももらったけど、想像もしなかった内容だったので。すみませんでした。
いつか皆さんと同じように、超親切に困ってる人を助けられるようになりたいです。今日はもう疲れちゃったので、ハッカーと画家の続きを読んで一眠りします。
0683nobodyさん
2005/11/18(金) 14:19:11ID:???0684nobodyさん
2005/11/18(金) 14:31:28ID:rpS8lWZMアクセスすると、「このページを表示する権限がありません」エラーが出ます。
そこで、phpファイルを格納するフォルダ「wwwroot」のセキュリティ設定にて
すべてのユーザに対してフルコントロールを許可したのですがダメでした。
どうすればいいんでしょうか?
0685nobodyさん
2005/11/18(金) 14:33:26ID:???0687nobodyさん
2005/11/18(金) 14:43:13ID:rpS8lWZMIISのほうでしたか?
0688nobodyさん
2005/11/18(金) 14:55:39ID:???驚かないで聞いてくれ。
な、なんとIISで使う時の事も想定してマニュアルが書かれていたんだ!
ttp://www.php.net/manual/ja/install.windows.iis.php
0689nobodyさん
2005/11/18(金) 15:00:17ID:???cト cト /^、_ノ | 、.__ つ (.__  ̄ ̄ ̄ ̄ ・ ・
,. -─- 、._ ,. -─v─- 、._ _
,. ‐'´ `‐、 __, ‐'´ ヽ, ‐''´~ `´ ̄`‐、
/ ヽ、_/)ノ ≦ ヽ‐'´ `‐、
/ / ̄~`'''‐- 、.._ ノ ≦ ≦ ヽ
i. /  ̄l 7 1 イ/l/|ヘ ヽヘ ≦ , ,ヘ 、 i
,!ヘ. / ‐- 、._ u |/ l |/ ! ! | ヾ ヾ ヽ_、l イ/l/|/ヽlヘト、 │
. |〃、!ミ: -─ゝ、 __ .l レ二ヽ、 、__∠´_ |/ | ! | | ヾ ヾヘト、 l
!_ヒ; L(.:)_ `ー'"〈:)_,` / riヽ_(:)_i '_(:)_/ ! ‐;-、 、__,._-─‐ヽ. ,.-'、
/`゙i u ´ ヽ ! !{ ,! ` ( } ' (:)〉 ´(.:)`i |//ニ !
_/:::::::! ,,..ゝ! ゙! ヽ ' .゙! 7  ̄ | トy'/
_,,. -‐ヘ::::::::::::::ヽ、 r'´~`''‐、 / !、 ‐=ニ⊃ /! `ヽ" u ;-‐i´
! \::::::::::::::ヽ `ー─ ' / ヽ ‐- / ヽ ` ̄二) /ヽト、
i、 \:::::::::::::::..、 ~" / ヽ.___,./ //ヽ、 ー
0690nobodyさん
2005/11/18(金) 15:04:54ID:rpS8lWZMどうもありがとうございました。
やってみます!
0691nobodyさん
2005/11/18(金) 15:29:48ID:rpS8lWZM教えていただいたサイトを見ると、IIS4以降の場合
cgiバイナリとsapiモジュールの2種類があるようですが
どう違うのですか?
最初、phpをDLするときに「sapiはwebサーバと同一のプロセスで
動作するためハイパフォーマンス」とあったので
ここでもsapiモジュールを使用したほうがいいのでしょうか?
0692nobodyさん
2005/11/18(金) 15:33:13ID:???0693nobodyさん
2005/11/18(金) 15:52:19ID:rpS8lWZMはい。分かりました。
上記サイトの「ISAPI モジュールを使う場合、次のようにしてください。」
以下の指示に従ったのですが、相変わらず「…権限がありません」です。
他になにか原因と考えられることってありますか・・・?
0697nobodyさん
2005/11/18(金) 17:02:03ID:???スクリプトおよび実行可能ファイル にしてみたら?
0699nobodyさん
2005/11/18(金) 17:20:05ID:rpS8lWZMPHPフォルダのセキュリティ設定でEveryoneの
オートコントロールをONにするとphpinfo.phpが
表示されました!
>>698
HTMLも大丈夫です.
お手数かけてすみませんでした.
これからサンプルプログラムなど動かしてみます.
また,分からないことがあったときには
どうかよろしくお願いします.
0701641
2005/11/18(金) 22:41:30ID:???そうですか、ありがとうございます。
素直にperlでpamするスクリプトを作りました。
まあ、とある所のパクリですが・・
0702nobodyさん
2005/11/19(土) 01:53:25ID:???そういう時はどうすればいいんですか?
##test.php##
<?
$mode = $_GET['mode'];
if($mode == 'hoge'){
echo "(・∀・)コニチワ!(・∀・)";
}else{
echo "何もありません";
}
?>
##test2.php##
<?
$str = file_get_contents ("./test.php?mode=hoge");
echo "$str";
?>
##エラー文##
Warning: file_get_contents(): Unable to access ./test.php?mode=hoge in /test2.php on line 3
Warning: file_get_contents(./test.php?mode=hoge): failed to open stream: No such file or directory in /test2.php on line 3
このようなエラーが出て駄目なんです・・・。
0703702
2005/11/19(土) 01:56:24ID:vuj9Sz26よろしくお願いします
0704nobodyさん
2005/11/19(土) 02:03:24ID:???あとそれパスワードファイルとか読まれるぞ
0705nobodyさん
2005/11/19(土) 02:04:02ID:???0706nobodyさん
2005/11/19(土) 02:09:58ID:???$mode = 'hoge';
include('./test.php');
0708nobodyさん
2005/11/19(土) 02:29:22ID:???なめとんのか?
0710nobodyさん
2005/11/19(土) 02:37:08ID:???0711nobodyさん
2005/11/19(土) 02:37:30ID:???たぶんわからないで言ってるのだと思うんだけど、
GETリクエストはhttpで送られるものだよ?
別鯖じゃないならinclude(require)使うべき。
0712nobodyさん
2005/11/19(土) 02:41:16ID:???0713702
2005/11/19(土) 02:44:24ID:???実はincludeとかrequireとかとにかくファイル関数一通り試しましたが結果は一緒だったんですよ・・・orz
##includeでやった時##
Warning: main(): Unable to access ./test.php?mode=hoge in /test2.php on line 3
Warning: main(./test.php?mode=hoge): failed to open stream: No such file or directory in /test2.php on line 3
Warning: main(): Failed opening './test.php?mode=hoge' for inclusion (include_path='.:/usr/local/lib/php') in /test2.php on line 3
0714711
2005/11/19(土) 02:46:31ID:???0715nobodyさん
2005/11/19(土) 02:46:51ID:???0716711
2005/11/19(土) 02:50:33ID:???includeには「ファイル名」しか書けません。「?mode=hoge」とか書いたらそりゃエラーにもなります。
「?mode=hoge」などの引数を渡したいときは、呼び出し側でglobalな関数に値を入れておいて
includeした側で使えばいいだけです。スコープが同じならglobalじゃなくても問題ありません。
つかもう少し根本から勉強してください。
0718702
2005/11/19(土) 03:42:40ID:???ご丁寧なレスありがとうございました。
確かにtest.phpをincludeすればtest2.php?*****でできるのは当たり前ですね・・・
すいません('A`)
最終的にはtest.phpとなる部分をエンコード変換等をさせたかったので
file_get_contentsとかを使おうとしていたんですがなんか無理ぽのようですね・・・。
スレ汚しすいませんでした。
0719nobodyさん
2005/11/19(土) 04:04:44ID:???0720702
2005/11/19(土) 04:35:43ID:???もうちんぷんかんぷんですよ。
test2の方で"(・∀・)コニチワ!(・∀・)"を出すには
test2.php?mode=hoge
とtest2にリクエストを送って表示させるってことじゃないんですか?
漏れは
test2.php
にアクセスしただけで"(・∀・)コニチワ!(・∀・)"を出したいんです。
もう何言ってるか自分でもワカンネ・・・('A`)
ちょっと落ち着きますわ・・・。
0721nobodyさん
2005/11/19(土) 04:37:50ID:???0722nobodyさん
2005/11/19(土) 04:40:25ID:???##test.php##
<?
if($mode == 'hoge'){
echo "(・∀・)コニチワ!(・∀・)";
}else{
echo "何もありません";
}
?>
##test2.php##
<?
$mode='hoge';
include("./test.php");
?>
じゃダメなん? エンコード変換なんてechoに渡す前にやれよ。
0723nobodyさん
2005/11/19(土) 07:32:29ID:???0724nobodyさん
2005/11/19(土) 09:42:57ID:???単にinclude/requireの動作原理を理解してないだけ
0725nobodyさん
2005/11/19(土) 10:29:33ID:???ーーindex.php--
<?php
$str="HOGE";
echo $str;
?>
パターンB
ーーindex.php--
<?php
$str="HOGE";
include("hoge.php");
?>
--hoge.php--
<?php
echo $str;
?>
同じ
0726nobodyさん
2005/11/19(土) 11:40:33ID:???0727nobodyさん
2005/11/19(土) 12:25:08ID:???相対パスにせずに、http://host/path/test.php?mode=hoge というように
普通のURLにすればOKなのでは?
http://host/path/の部分を直接書きたくないのなら、$_SERVERを参照して
動的に組み立てられるような気がする。
ttp://jp2.php.net/manual/ja/reserved.variables.php
>>702 の元々の要件が何かはわからないけれど、端末に合わせてコンテント
変換したいということであれば、>>702 同様にPHPの出力を文字列で取得→
変換処理という手法は検討すると思う。
0730nobodyさん
2005/11/19(土) 14:50:08ID:???| | | |
| |∧_∧ ∧_/| |∧_∧
|_|‘ω‘*) (*‘ω‘|_|‘ω‘*)
| | o【◎】 .( o| |★o ノ
| ̄|―u' `u.| ̄|―u'
"""""""" """"""""""""
0731702
2005/11/19(土) 14:57:00ID:???echoに渡す前に色々できたらいいんですが
test.phpの方は>>702のものから変更不可なもんですいません。
なのでtest2の方だけで処理をさせる方法を探っているんです・・・。
0732nobodyさん
2005/11/19(土) 15:20:03ID:???$str = file_get_contents ("http://127.0.0.1/test.php?mode=hoge");
でもだめなん?
0733nobodyさん
2005/11/19(土) 15:20:47ID:???0734nobodyさん
2005/11/19(土) 15:24:44ID:???・鯖でfopen wrappersが制限されている (>>709)
・test.phpの変更不可(>>731)
つーことになると、
test.phpの $mode = $_GET['mode']; の行を考慮して、
//test2.php
$_GET['mode'] = 'hoge';
include('test.php');
エンコード変換とやらをしたい場合は、ob_*でechoの出力をバッファに格納して
それに適用してやればよい。
0735nobodyさん
2005/11/19(土) 16:34:34ID:???class ABC{
function getEFG{return new EFG;}
}
class EFG{
function getClassName{return "EFG";}
}
というクラスを作った場合、
$abc = new ABC;
print($abc->getEFG()->getClassName());
とするとつなげて書くとエラーが出てしまいます。このような記述は出来ないのでしょうか・・・?
$efg = $abc->getEFG();
print($efg->getClassName());
のようにいったん変数に代入してからするとエラーはありません。
0736735
2005/11/19(土) 16:36:00ID:???PHP4.4.0です。
0737nobodyさん
2005/11/19(土) 17:15:19ID:???0738nobodyさん
2005/11/19(土) 17:42:22ID:???まずはマニュアルのクラスとオブジェクトの所を一読する事を薦める。
ttp://www.php.net/manual/ja/language.oop.php
0739nobodyさん
2005/11/19(土) 17:53:38ID:???##test2.php##
<?
header("Location: ./test.php?mode=hoge", true);
exit();
?>
これで解決。
以上、もうくんな。
0740nobodyさん
2005/11/19(土) 18:14:34ID:???変更不可能ってどういうこっちゃ? 他人の?
まー何にせよ全部最初から勉強しなおしだね。
例文の多いリファレンス本一冊買って隅々まで読みな。
0741nobodyさん
2005/11/19(土) 18:18:13ID:???0742nobodyさん
2005/11/19(土) 18:25:45ID:???Location は相対パスを使ってはいけないと
HTTP プロトコルの仕様書に書いてある。
間違えんな。
0745nobodyさん
2005/11/19(土) 19:51:39ID:???>・鯖でfopen wrappersが制限されている (>>709)
>・test.phpの変更不可(>>731)
こういう条件なのか、初めて理解できた気が。
virtual()関数が使えそうな環境(サーバ/test.phpの作り)ではないのか?>質問者
0746nobodyさん
2005/11/19(土) 21:07:02ID:7KsTSoLe$time = date("H");
if($time<00){print("ふんにゃかふんにゃか");}
?>
ソース見ただけでは分かりにくいと思いますが、時刻によって
printする文字を変更するスクリプトを考えています。
(例)
00:00〜06:00 -> ふんにゃかふんにゃか
06:00〜18:00 -> ほげほげ
18:00〜24:00 -> ふんにゃかふんにゃか
これで真っ先に考えたのはif命令かなぁ…と思ったのですが、どうも
うまく出来ません。何かヒントがありましたら宜しくお願いします。
0747nobodyさん
2005/11/19(土) 21:15:25ID:???後お約束だけど、「うまくいかない」ではなくエラーをかけ!
0748nobodyさん
2005/11/19(土) 21:17:49ID:???ヒントというか何というか、、、$timeにどういう値が入るのか考えてみたかい?
それらの値をどう扱うかによって、if文の条件を設定しましょう。
0749nobodyさん
2005/11/19(土) 21:24:49ID:7KsTSoLe分かりました。
何か良い方法があれば良いのですが…
もしかしてサーバサイドスクリプトだとこういうのは無理な
事をしてるのでしょうか?
0750nobodyさん
2005/11/19(土) 21:29:23ID:???文字列なら文字列の比較、数値なら数値の比較。
思うとでなく、echoで出力してみろよ。
鯖か蔵かなんてこっちで判断できる訳ないだろ。
0751nobodyさん
2005/11/19(土) 21:59:26ID:???いつリリースよ!?
0752nobodyさん
2005/11/19(土) 22:00:30ID:7KsTSoLe(例)
<?php
$now = date("H");
if($now>=0)&&($now<3){print("もう寝ろ!");}
if($now>=3)&&($now<6){print("夜が明けるぞゴルァ!");}
if($now>=6)&&($now<9){print("おはやうおまいら");}
if($now>=9)&&($now<12){print("学校行けよ!");}
if($now>=12)&&($now<15){print("おやつ〜♪");}
if($now>=15)&&($now<18){print("眠い…");}
if($now>=18)&&($now<21){print("こんばんは!");}
if($now>=21)&&($now<24){print("お腹いっぱい。そろそろ寝よう");}
?>
Parse error: syntax error, unexpected T_BOOLEAN_AND
うーん、このエラーメッセージが理解出来ない。
0753nobodyさん
2005/11/19(土) 22:05:20ID:???冗談だよな?
条件が括弧で囲われてないぜ!
if($now>=0)&&($now<3){print("もう寝ろ!");}
じゃなくて
if(($now>=0)&&($now<3)){print("もう寝ろ!");}
な
0754nobodyさん
2005/11/19(土) 22:06:34ID:???↑のように書く
if文全部間違ってる。
0755鯖管
2005/11/19(土) 22:07:11ID:???0756nobodyさん
2005/11/19(土) 22:10:38ID:???0757nobodyさん
2005/11/19(土) 22:15:26ID:7KsTSoLeちょっとやってみます。ありがとうございます。
>>755,>>756
本当は、時間によって違うCSSを出力するスクリプトにする筈だったのですが
ここで質問する時に例えが悪いと伝わらないかと思ったからです。
0758nobodyさん
2005/11/19(土) 22:17:39ID:7KsTSoLeあとはCSSをprintするように改造するだけです。
本当に助かりました、ありがとうございます。
0760nobodyさん
2005/11/19(土) 22:19:53ID:7KsTSoLeえ?だってクライアントサイドスクリプトってユーザ
の環境に悩まなくてはいけないと聞きましたので……
それに、JavascriptをOffにしてるユーザは無理ですよね?
0762nobodyさん
2005/11/19(土) 22:24:58ID:7KsTSoLeそうですか…
http://www.def4.jp/
↑このサイト見て、これ作ろうと思いました。
朝、昼、夜で背景画像が変わるようです。
0764nobodyさん
2005/11/20(日) 00:42:09ID:???クラス関連は一通り読みましたが、下のほうの英語のフォーラムみたいなところで $abc->def->ghi()というような記述があったので使えるのではないかと思っていました。
ただ、PHP5では使えるようなので・・・レンタルサーバなもんでどうしようもありません。
これが出来るのと出来ないのでは、現在制作しているコードの使い勝手が大幅に変わってしまいますorz
0767nobodyさん
2005/11/20(日) 01:30:21ID:???0768nobodyさん
2005/11/20(日) 01:46:12ID:???Perlなら1行目の違いでバージョン振り分けられるところも歩けど。
0769nobodyさん
2005/11/20(日) 01:48:34ID:???http://pc8.2ch.net/test/read.cgi/php/1126436361/
0770nobodyさん
2005/11/20(日) 02:33:38ID:???そこでFTPでPearディレクトリをまるごとアップしました。
/home/user/public_html/hoge
├foo.php
└PEAR
foo.phpからPEAR/DB.PHPを読み込みたいのですが、repuire('PEAR/DB.php')とするとすでにPearの入った鯖では(Pearをアップしないと)No Such File or Directoryになってしまいます。
いちいちrequireの引き数を変えず、Pearの入った鯖とそうでない鯖とで、PHP上で同じようにrequireするにはどうするのがベストでしょうか?
0772nobodyさん
2005/11/20(日) 02:44:52ID:???当たり前だろこの池沼
http://php.net/get-include-path
http://php.net/set-include-path
0773nobodyさん
2005/11/20(日) 11:50:28ID:???Pearが入ってたらrequire_once('DB.php'); //include_pathにPearのパスが通っている
Pearが入ってなかったらrequire_once('PEAR/DB.php'); //Pearが入ってないので自分でうpしたのを使う
これをどちらもrequire_once('DB.php');でインクルードできるようにしたいのです。
>>771
そうなのですが、既にPearの入っている鯖でいくつもPearをうpするのは容量の無駄使いだと思ったので…
>>772
ini_set('include_path', '.;/home/user/public_html/hoge/PEAR');
とやってもNo such(ryのまま変わらずできねーんだよ馬鹿
0774nobodyさん
2005/11/20(日) 12:13:55ID:???if (file_exists("PEAR/DB.php")) require_once "PEAR/DB.php";
else require_once "DB.php";
とか
0775nobodyさん
2005/11/20(日) 13:20:05ID:???> ini_set('include_path', '.;/home/user/public_html/hoge/PEAR');
> とやってもNo such(ryのまま変わらずできねーんだよ馬鹿
当たり前だろこの(ry
;;;;;;;;;;;;;;;;;;;;;;;;;
; Paths and Directories ;
;;;;;;;;;;;;;;;;;;;;;;;;;
; UNIX: "/path1:/path2"
;
; Windows: "\path1;\path2"
0776nobodyさん
2005/11/20(日) 14:02:51ID:???なんと!:で区切れば良かったのか…
勉強になりました。ありがとうございました
>>774
上の方法を使わせてもらいます。わざわざすみませんでした。
0777nobodyさん
2005/11/20(日) 15:53:25ID:???0778nobodyさん
2005/11/20(日) 17:36:52ID:???0779nobodyさん
2005/11/20(日) 17:38:05ID:???0780nobodyさん
2005/11/20(日) 19:01:54ID:???0781nobodyさん
2005/11/20(日) 19:25:17ID:???0782nobodyさん
2005/11/20(日) 19:34:24ID:???0783nobodyさん
2005/11/20(日) 19:52:52ID:???从从
人 从
从 从
大変なことになりますよ
从 从
从 人
人从
0784nobodyさん
2005/11/20(日) 21:58:56ID:???とレスする馬鹿
0785nobodyさん
2005/11/21(月) 02:44:00ID:/C8jg8zbその数を表示するプログラムを作成したいのですが…
例
#include <stdio.h>
main() {
char s[]="Okayama rikadaigaku";
:
}
0787nobodyさん
2005/11/21(月) 02:50:45ID:???または、PHPのフレームワークのスレッドをば。
0788nobodyさん
2005/11/21(月) 02:51:53ID:???0789nobodyさん
2005/11/21(月) 06:01:17ID:???根本から間違ってるよ。
#include "php.h"
/* 略 */
PHP_FUNCTION(count_a)
{
char * s; int n; long count = 0;
if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "s", & s, & n) == FAILURE) RETURN_LONG(0);
while (* s ++) if (* s == 'a') count ++;
RETURN_LONG(count);
}
あとは共有ライブラリとしてビルドして、
<?php dl("〜"); echo count_a("Okayama rikadaigaku"); ?>
Zend APIスレッドってないんですけど、立ててもよろしかですか?
または、PHPの拡張モジュールのスレッドをば。
0790nobodyさん
2005/11/21(月) 15:43:58ID:???UTF-16のテキストファイルを読み込んで、SJISに変換したいのですが、うまくいきません。
$data = file_get_contents(対象テキストデータのURL);
$data_enc = mb_convert_encoding($data,"SJIS","UTF-16");
としたときに、先頭に「P」という文字列が入ってきてしまいます。
元ファイルにはそのような文字は入っていないのですが…。
よろしくおねがいします。
0791nobodyさん
2005/11/21(月) 15:53:26ID:???0792nobodyさん
2005/11/21(月) 16:04:46ID:XuuRCMxK<?php
$var = "aあ bい cう";
print "$var";
?>
http://localhost/var.php
アクセスすると[a b c]としか表示されません
日本語を認識しないのはmbstringの設定が間違っていると思うのですが
どの値をどう変更すればいいのでしょうか?
0793792
2005/11/21(月) 16:23:15ID:XuuRCMxKmbstring.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;
●mbstring.script_encoding = EUC-JP
●を付けた行は本・解説サイトによって異なるので
いろいろ変更して試してみましたがダメでした.
0794790
2005/11/21(月) 16:50:34ID:???で、調べてみたところなんとかわかりました。
しかし一点気になるところがあるので再度質問させてください。
<?php
$fp= fopen("./test.csv",'r');
while(!feof($fp)){
$bom = fgets($fp,"2");
$bom = bin2hex($bom);
print "$bom";
if(strcmp($bom,"fffe")){
print "ok";
}else{
print "ng";
}
exit;
}
?>
とした際、正しく判定は出来ているのですが、printではffしか表示されません。
これはこういうものなのでしょうか?
0796nobodyさん
2005/11/21(月) 20:57:46ID:+iNocEw9しようと思っています。
$user = "nurupo";
$pass = crypt("hogehoge","AB");
system("sudo user -p ${pass} -s /bin/bash ${user}",$res);
echo $res;
この場合$resには0が入りユーザーを作ることは出来るのですが$passで指定した
パスワードでFTPからのログインやFedoracoreからのログインが出来ません。
cryptの仕方が悪いのでしょうか?
0798nobodyさん
2005/11/21(月) 21:05:08ID:8Y80p1yIってするにはどーすればいいのかわからないです。
だれか教えてください。
0799nobodyさん
2005/11/21(月) 21:14:49ID:???さくらインターネットはFTPだとファイル丸見えだった記憶があるけど。
0802798
2005/11/21(月) 21:24:06ID:8Y80p1yIそう・・・まさにそこがわかんないっす
0803nobodyさん
2005/11/21(月) 21:28:12ID:???メールを受信した時にスクリプトを起動する仕組みをもったメル鯖ソフトが多いから、
それを使えばよろし。メル鯖ソフトのマニュアルを見りゃ載ってるよ。
0804nobodyさん
2005/11/21(月) 21:36:42ID:???通常は、メール転送設定で、転送先を書く代わりに PHP のスクリプトを呼び出すような方法をとる。
で、PHP スクリプトには標準入力としてメールの本文(ヘッダも含めて)が入ってくるので、それを
読み出して処理をする。
例えば、sendmail であれば、.forward ファイルに以下のように書く。
| /path/to/php /path/to/スクリプト名
これらはメールサーバーに何を使用しているかによって変わるので、それらを書かない限り明確な
答えは得られない。また、オマイさんがその辺を操作できる権限があるか、ってことも必要。
別案としては、cron で定期的にスクリプトを呼び出して、pop3 を使ってメールボックスを覗くという
方法もある。
0805798
2005/11/21(月) 22:01:14ID:???ありがとうございます、メル鯖はまだ決まっていませんが第一候補はqmailです。
どう手をつけていいか全くわかりませんでしたが皆様のお答えをもとに頑張ってみます。
0807451
2005/11/21(月) 22:11:53ID:qGIHIfZl<form method='get' action='./test.php'>
<input type='checkbox' name='hoge[]' value='name1'>name1
<input type='checkbox' name='hoge[]' value='name2'>name2
<input type='checkbox' name='hoge[]' value='name2'>name2
以下省略
という風にすると、URLが
〜/test.php?hoge%5B%5D=name1&hoge%5B%5D=name2
みたいに“%5B%5D”がついてしまいます。
これを
〜/test.php?hoge=name1&hoge=name2
みたいにすっきりとさせたいのですが、
受け取り側はどのような処理をすれば良いのでしょうか?
(通常は上書きされてします)
やはり受け渡し側で[]付けて配列だよってしなきゃだめですか?
0808807
2005/11/21(月) 22:12:51ID:???0809nobodyさん
2005/11/22(火) 01:49:20ID:???スクリプトを介してテキスト変換するにはどうすればいいんでしょう?
0814nobodyさん
2005/11/22(火) 12:09:22ID:JIN7CCHb可能かどうかや、参考になるサイト(自分でも探してみましたがなかなか見つからず困っています)
似た様なフリーソフトなどあれば教えて頂きたく書き込みをさせて頂きました。
やりたい事
1、サイトトップページ(index.html)内にログインフォームを設置
2、ログインフォームにIDとPASSを入力して認証
3、認証が成功するとmemberディレクトリ内の閲覧が可能
4、認証が成功した場合、index.htmlのログインフォームが無くなり、
『ようこそ○○さん』という様な表示と、ログアウトボタンを設置
5、ログアウトボタンを押すとmemberディレクトリの閲覧不可
6、アクセス制限はmemberディレクトリ全体(サブディレクトリにも適用)
7、memberディレクトリ内の各ページにもログアウトボタンを設置
8、IDとPASSはサイト運営者のみ参照・追加・変更
0816nobodyさん
2005/11/22(火) 12:13:48ID:???0817nobodyさん
2005/11/22(火) 12:18:19ID:???0819nobodyさん
2005/11/22(火) 12:25:46ID:???memberディレクトリの画像に直リンクされるのも困るのならhtaccess使うしかないね
パスはフォームとか使ってcryptされたものを受け取ればいいし
0820nobodyさん
2005/11/22(火) 12:53:40ID:MgTex/Ri返事遅れました.
この場合,どのように対処したらいいんでしょうか?
0822nobodyさん
2005/11/22(火) 15:04:00ID:???$lines = file( "log.txt" );
をやった時にlog.txtファイルが無いとエラーで以降の処理をしてくれないのですが
これはどうやって回避すればいいですか?
0824nobodyさん
2005/11/22(火) 15:20:30ID:???いえむしろそれは意識したくなかったんだけど
Warning: file(): Unable to access log.txt
ってエラーがでるもんで
$lines = file( "log.txt" );
$cnt = count( $lines );
ファイルがなくても上のfileをスルーして$cntに0が入ればいいかなと
0825792
2005/11/22(火) 15:23:40ID:???0830nobodyさん
2005/11/22(火) 15:42:27ID:???●mbstring.script_encoding = EUC-JP
ってことソースファイルはEUCでまちがいないね?
0831nobodyさん
2005/11/22(火) 15:45:57ID:???これをEUCで保存して表示させてみ
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=euc-jp">
<title>sage</title>
</head>
<body>
<?php
$var = "aあ bい cう";
print "$var";
?>
</body>
</html>
0834792
2005/11/22(火) 16:17:45ID:???テキストエディタはメモ帳を使っているのですが
文字コードはデフォルトの「ANSI」でした
EUCはドロップダウンリストに無かったのですが・・・
0836nobodyさん
2005/11/22(火) 16:24:53ID:???まぁ温かく見守ろうとは思うが、ちょっとつらいね
0837792
2005/11/22(火) 16:35:53ID:???Windows附属だというのに困ったものです
0838nobodyさん
2005/11/22(火) 16:43:09ID:???0840792
2005/11/22(火) 17:03:25ID:???ゲイツが悪いんだよ
0841nobodyさん
2005/11/22(火) 17:05:57ID:???0843nobodyさん
2005/11/22(火) 17:13:32ID:???EUC対応
0844nobodyさん
2005/11/22(火) 17:29:10ID:???任意のエラーページ(404とか403とか)に飛ばすことは可能ですか?
0846nobodyさん
2005/11/22(火) 17:37:18ID:???テキストエディタの重要さを知らないとは!嘆かわしい。
そんな君には Meadow はどうだ。
・・・挫折必至
0847792
2005/11/22(火) 17:56:10ID:???別に装飾された文を作るわけでもないのに
なんでそんな高機能なエディタでやるの?
0849nobodyさん
2005/11/22(火) 17:59:53ID:???そこまで複雑なもんを作らないのなら別だが。デバッグとか大変だろ。
0850nobodyさん
2005/11/22(火) 18:00:58ID:???0852nobodyさん
2005/11/22(火) 18:06:58ID:???と
if($oyako == 0)
が別の結果になるのですが、そんなもんですか?
明確な理由があるのなら知りたいのですが、仕様ですか?
バージョンは4.3.10-16です。
if($oyako == "0")
だと0だけtrue
if($oyako == 0)
だと""(つまり$oyakoは空)と0がtrueになっているようです
0854nobodyさん
2005/11/22(火) 18:12:36ID:???http://jp2.php.net/manual/ja/language.types.boolean.php
0855nobodyさん
2005/11/22(火) 18:20:46ID:???レスありがとうございます。
我慢の限界を迎えたので、.htaccessで弾きました。
でもせっかくなのでphpでも弾きたいと思います。
どうもでした。
0856852
2005/11/22(火) 18:22:20ID:???== は booleanの処理をするって事でしょうか。
単純にイコールって意味だと思ってました・・。
===って常に書いたほうが確実って事かな・・
0857nobodyさん
2005/11/22(火) 18:34:06ID:???===は型が違っていたらそれだけでFALSE
正確に知りたければ↓
http://jp2.php.net/manual/ja/types.comparisons.php
0860796
2005/11/22(火) 18:52:09ID:xK2yLcAMレスありがとうございます。
useraddでユーザーを作成する場合はcryptする必要があるようです
(man useraddコマンドやグーグル等で見ました)
今日もう一度色々試していたところ
$pass = crypt("hogehoge",substr($user,0,2));
このような暗号化をすれば正常にアカウントを作成し、FTPでログインできるように
なりました。
0861852
2005/11/22(火) 19:06:58ID:???まことにありがとうございました。
表をよく見て活用させて頂きます。
>>858さん
ガンガリマス
>>859さん
さようなら
0862nobodyさん
2005/11/22(火) 19:16:52ID:???いや、Locationで飛ばせってのは
PHPでチェックして、認証で×ならLoationで
403のページ(403.htmlとか)を出して、
○なら正規の動作をさせるということ。
巷のリファラチェックでエラー出す処理と似たような感じ。
で、PHPのスクリプトの最初に認証が通ってるのか、
無いのかを頭でチェックするようにしておく。
(セッションとか)
普通の静的なhtmlや画像他のファイルへのアクセスも
ブロックしたいのなら、.htaccessでやるしかないね。
0864nobodyさん
2005/11/22(火) 21:56:26ID:???0865nobodyさん
2005/11/22(火) 23:24:55ID:???パーミッション 600 とかにすると PHP の方がアクセスできなくなる…。
何か別の方法は無いもんかね?
0866nobodyさん
2005/11/22(火) 23:30:32ID:???0867nobodyさん
2005/11/22(火) 23:49:43ID:???0869nobodyさん
2005/11/23(水) 01:39:52ID:RB2j7g2rimodeでは見れるけどauやvodaではリストボックスとか登録ボタンとか
全然出てこないんですが。←まっしろ
どこのサイトに行けばやり方のってるんすかね?
0874nobodyさん
2005/11/23(水) 18:08:28ID:???require_onceで組み込むphpファイルでも
#!/usr/local/bin/php と書き加えてCGI化する必要があるのでしょうか?
0875nobodyさん
2005/11/23(水) 18:28:06ID:09k62UC2を取得して、AAAをBBBで割るにはどうすれば良いでしょか?
■err.log
AAA,6554
BBB,4882
[名前,数値]→取得→AAAをBBBで割る→結果を出力(print.php)
0876nobodyさん
2005/11/23(水) 18:36:00ID:???これを更に関数や構文単位にまで分割してください。
0877875
2005/11/23(水) 18:47:41ID:09k62UC2(?_?)
例えを分かりやすくするために…
<?php
header("Content-type: text/plain");
system('hostname'),;
system('uptime');
?>
■■表示結果(system.php)■■
localhost,6:45PM,4, 0.38, 0.31
これを、print.phpに表示したいと思ってます。
<table>
<tr>
<th>HOST NAME</th><th>UPTIME</th>
</tr>
<tr>
<td>localhost</td>
<td>6:45PM,4, 0.38, 0.31</td>
</tr>
</table>
どうすれば出来るのでしょうか?
0878875
2005/11/23(水) 18:53:21ID:09k62UC2カンマ( , ) で区切ったのを表示させる方法がわかりません。
0884nobodyさん
2005/11/23(水) 21:08:50ID:???なんか注意することある?
0889nobodyさん
2005/11/23(水) 22:54:29ID:gHn1+fgk形式(%82%A8%82%DC%82%A2%82%E7%83%)にエンコードするにはどうすれば良いのでしょうか?
0890nobodyさん
2005/11/23(水) 22:58:45ID:???0891nobodyさん
2005/11/23(水) 23:11:13ID:???0892889
2005/11/23(水) 23:17:19ID:gHn1+fgk出来ました!ありがとうございます。
##検索して来た人用のためにサンプル置いときますね!
<?php
$data = urlencode("テスト");
print($data);
?>
デコードも簡単…
$data = urldecode("%83e%83X%83g");
0895nobodyさん
2005/11/24(木) 01:24:59ID:???というかヒントを出せないくらい基本的な事
0897nobodyさん
2005/11/24(木) 02:07:03ID:???for($i = 0; $i > count($log)-5; $i++){
}
じゃ何でダメとですか?
0900897
2005/11/24(木) 02:33:42ID:???・゚・(´Д`)・゚・ 誰か助けてください!
0901nobodyさん
2005/11/24(木) 03:25:26ID:???ではどう?
0902nobodyさん
2005/11/24(木) 03:57:01ID:???array_slice($log, -5)じゃいかんのか?
0905nobodyさん
2005/11/24(木) 07:29:00ID:???0906nobodyさん
2005/11/24(木) 10:09:32ID:???0908nobodyさん
2005/11/24(木) 13:11:55ID:???((((;゚Д゚)))ガクガクブルブル
0909nobodyさん
2005/11/24(木) 13:38:58ID:???どのような方法でリサイズすれば良いでしょうか。
0910nobodyさん
2005/11/24(木) 13:51:59ID:???0911nobodyさん
2005/11/24(木) 14:02:36ID:???0912910
2005/11/24(木) 14:03:35ID:???0913nobodyさん
2005/11/24(木) 14:29:47ID:???リサイズ、リサンプルならPHPのグラフィック関数(要するにGD)とか、ImageMagick。
それらを利用したサムネール作成のライブラリを利用してもいい。
phpThumbとか。他にもいっぱいあるから探してみな
あと「縦横比を変えずに」ってのは、算数の話だから。
0915nobodyさん
2005/11/24(木) 15:12:04ID:???スクリプト書いてそれで済ましちゃったから、それっきりだ
0916nobodyさん
2005/11/24(木) 16:04:22ID:???1)リサイズしたい画像の種類を調べて、それに合わせた命令で画像を開く
2)画像の縦横サイズを読み込む
3)「算数」レベルの計算をする
4)新しい画像を作る(サイズは上で計算したやつ)
5)元の画像から新しい画像へ複製サイズ変換する
6)画像を書き出す
7)元の画像と作った画像のメモリを開放する
0917909
2005/11/24(木) 16:16:52ID:???一度作って保存して開放という流れなんですね。
このことは一生忘れません。
0918軟式PHP
2005/11/24(木) 16:56:58ID:???0920nobodyさん
2005/11/24(木) 17:53:41ID:C4QTlVLtブラウザに表示すると、改行とかが\nで表示されるのは当たり前なのですが、
このエスケープした文字を直すのにはどうすればいいのでしょうか?
リファレンス本に日本語を含むクエリ文字列をデコードとあったのですが
そのmb_parse_str()では結果が1になってしまい、
適切な文字列が表示されませんでした。
0921nobodyさん
2005/11/24(木) 21:43:05ID:???■rawords.php ram.phpが読み込むファイルです
a行
b行
c行
■ran.php インクルードさせるファイルです
<?php
$quotes = file("http://domein/in/rawords.php");
$quote = rand(0, sizeof($quotes)-1);
echo <<<EOM
<p>$quotes[$quote]</p>
EOM;
?>
■whatever.php なんでも。
<?php include("ran.php"); ?>
インクルードパスを指定してあるのでどこからでもこれで良いのです。
こうすると
<p>b行
</p>
のように出力結果の際、改行まで変数に格納されてしまいます。
どうにかして出力結果を
<p >b行</p>
のように一行にまとめられないでしょうか。
ただし、c行(一番したのもの)を表示するときには一行にまとまっています。
どなたかお教え下さい。
0922921
2005/11/24(木) 21:44:36ID:???a行b行c行のところが辺に改行されてしまいましたが
実際は
a行
b行
c行
の3行だけが中身です
0923nobodyさん
2005/11/24(木) 21:51:39ID:???その出力で改行が含まれて何か不都合でもあるの?
0924nobodyさん
2005/11/24(木) 21:53:18ID:???0925nobodyさん
2005/11/24(木) 21:53:30ID:???file()で読み込んだ配列の各要素のお尻に改行文字が付いてるってことだよね?
で、マニュアルのfile()を読めば分かるけど、これは正しい挙動。
なので、お尻の改行文字を削除する方法を考えればよい。
で、こういう処理をする関数がちゃんとあるわけだ。
0926nobodyさん
2005/11/24(木) 22:01:41ID:???http://php.net/file
0927nobodyさん
2005/11/24(木) 23:37:20ID:N1UlY50b0929nobodyさん
2005/11/25(金) 00:37:49ID:D20eJ5kKこの度、個人レベルのWebアプリケーションを作ってみたいと思い、
phpを勉強中なのですが、勝手の違いに戸惑っています。
悩んでいるのは、
1.ロジックとデザインの分離
2.処理や機能とphpファイルへの割り当て方
3.フォルダ構造
などです。
1.はsmartyを使ってみたり、xoopsを解読してみたりしています。
2.はかなり悩んでいます。機能ごとにファイルをわけた方がいいかとか
ある程度の機能を1ファイルで処理する(クエリストリングで指定)とか
(もちろんクラス分けはします)
3.は、今作りたいのが、トップページがあってログインしていくつかの
サービスを使えるというものなのですが、ファイルをフラットに並べた方がいいのか、
フォルダ分けした方がいいのかとか、共通のクラスをどう置いて、
それぞれのファイルからはどうincludeすればいいのかとかそういう事です。
非常に基本的な事だと思うのですが、このあたりが固まらないと
なかなかすすみません。
そこで、なにかしらの情報を得たいのですが、
サイト、本、サンプルコード等ありましたら教えてください。
ちなみに、現在以下の本で勉強中です。
「PHPによるWebアプリケーションスーパーサンプル」
http://www.amazon.co.jp/exec/obidos/ASIN/4797321288/qid=1132846479/sr=8-1/ref=sr_8_xs_ap_i1_xgl/250-3747813-9702656
「自分で作る blog ツール」
http://www.amazon.co.jp/exec/obidos/ASIN/4797327073/qid=1132846553/sr=1-1/ref=sr_1_2_1/250-3747813-9702656
0930nobodyさん
2005/11/25(金) 00:47:20ID:???仕事でwebアプリケーションを作っていた人間とは思えない発言だな…
とりあえず、どの言語でも基本だろうが「マニュアル嫁」
0931929
2005/11/25(金) 00:54:59ID:???レスありがとうございます。
>仕事でwebアプリケーションを作っていた人間とは思えない発言だな…
>とりあえず、どの言語でも基本だろうが「マニュアル嫁」
ごもっともで申し訳ないです。仕事のレベル自体は高くないので。
ただ、マニュアルは参照程度に読んでいます。
作りたいものを作る事は出来そうなのですが、
拡張しやすいもの、綺麗なもの(可読性等)といったようなコツはやはり
マニュアルだけでは分からないかなと思い質問しました。
マニュアルはもっと読むべきだと思いますんで。マジメに読む事にします。どうもです。
0932nobodyさん
2005/11/25(金) 00:58:33ID:???フレームワークスレがあるからそっちを眺めて自分に合いそうなのを探した方がよいかも知れず。
0933nobodyさん
2005/11/25(金) 01:01:32ID:???適当なフレームワークに押し付けてみて
ダメならその時自分で作るとか
マニュアルは言語マニュアルなんで設計の話はゼロだよ
0934929
2005/11/25(金) 01:14:02ID:???>束縛されるのに慣れちゃってそういう仕組みが無いPHPに戸惑ってるってことじゃないかな。
そういうことなのかもしれません。
束縛されているのに慣れていると感じた事はありませんでしたが
確かに、自由すぎて1段したから考えなければ行けないのに戸惑っています。
ロジックさえちゃんと分けておけば後から別の仕組みに置き換えることも
簡単かもしれませんが、結局の所みな大事な所は独学ということなんですかね?
フレームワークスレ見てみます。
ちょと調べた感じだとsmartyでいいかなという感じではありましたが。
フレームワーク選びに時間を費やすのもなんですけどね。
>>399
そうですよね。
でもフレームワークから作っていたら完成がずっと後になりそうです。
基本的に週末だけの作業ですから早くカリカリとコーディングしたいです。
0935nobodyさん
2005/11/25(金) 01:16:24ID:???命名規則について迷っています。
候補は以下の二つなのですが、どちらがよいでしょうか?
できればPHPのスタンダードな記述方法が良いです。
あと、他にも良いのがあれば教えて下さい。
1、全て大文字で文字列の区切りはアンダーバー($FOO_BAR)
2、先頭はアンダーバー始まり、全て小文字で文字列区切りはアンダーバー($_foo_bar)
0936nobodyさん
2005/11/25(金) 01:24:20ID:???echo ${'フーバー'};
これをスタンダードにしようぜ
0937nobodyさん
2005/11/25(金) 01:26:37ID:???http://jp2.pear.php.net/manual/ja/standards.naming.php
0938nobodyさん
2005/11/25(金) 01:33:09ID:???0940nobodyさん
2005/11/25(金) 04:13:50ID:???ttp://313ed.lolipop.jp/
今後も彼が益々上達しますよう、お便りを送ってあげてください。
0941nobodyさん
2005/11/25(金) 04:41:43ID:vFK4F58j0942nobodyさん
2005/11/25(金) 07:40:56ID:???mysql_escape_stringってデータをMySQLに入れるときに使う関数だよ。
今はmysql_real_escape_stringが推奨。
データベースからデータを引き出したときにはアンエスケープされてるから何もする必要はないけど。
改行が\nで表示ってmysql_escape_stringとは全然関係ないんだけど勘違いしてないか。
0943nobodyさん
2005/11/25(金) 12:49:42ID:???Off の状態で <? echo "test"; ?> と書いてブラウザでソース表示すると
PHPのソースが丸見えになっちゃうんだね。
今は <?php と書く癖がついているけど、昔書いたスクリプトで <? のままのがあって
アレレ〜になってしまった。
設定ミスでソースが見えてしまうのは避けたいので、防ぐ方法ってないかしらん?
0947943
2005/11/25(金) 13:50:50ID:???<? を修正したり、short_open_tag = On にしたりというのが正しいのだろうけど、
人間はミスするものだから、ミスでソース丸見えってのはツライな。
後は、丸見えになっても困らないように URL でアクセスできるスクリプトは
require() だけにするぐらいか。。。
>>946
CGIで動かしても同じだと思うのだけど、漏れが勘違いしてる?
0948nobodyさん
2005/11/25(金) 13:56:03ID:???根本的って……。
それが、タグの書き換えであり、short_open_tags=Onなんじゃねーのか?
いったい何を期待してたんだ?
0950909
2005/11/25(金) 14:06:28ID:???Put under the pressure of walking in your shoes.
0951nobodyさん
2005/11/25(金) 14:07:09ID:???0952nobodyさん
2005/11/25(金) 14:12:26ID:???で、その次は、作ったタグ置き換えスクリプト通すのを忘れにくくする対策を考えるのさ
0953nobodyさん
2005/11/25(金) 14:12:28ID:???0955nobodyさん
2005/11/25(金) 16:08:26ID:???そのinputのnameとvalue
をgetで取得して
getで受け取ったのを
postすることってJavaScript併用しないとできないですか?
ほんとくだらなくてすみません
0956nobodyさん
2005/11/25(金) 16:17:29ID:???真面目にやるなら、fsockopen()を使ってHTTPのPOSTメソッドの仕様にしたがってPOST先にデータを渡す。
キーワード [ HTTP RFC1945 RFC2616 POST fsockopen ]
pearのHTTP_Clientを使うと楽できる。
0958nobodyさん
2005/11/25(金) 17:31:41ID:???0960nobodyさん
2005/11/25(金) 17:38:01ID:???0962nobodyさん
2005/11/25(金) 17:47:28ID:???ブログツールの本も読んでるみたいだし、ならwordpressのフォルダ構造とか参考にしてみたら?
あとは、web上で公開されてるファイル数多めのphpツールをひたすらダウンロードして自分で解析しまくる。
0963nobodyさん
2005/11/25(金) 17:51:07ID:???0965nobodyさん
2005/11/25(金) 18:47:40ID:???GETで指定されていない場合、hogehogeを変数nameにいれたいのですが、
GETを取得していない場合という分岐ができません・・・
if(!$_GET['hoge']===TRUE){
$name="hogehoge";
}else{
$name =$_REQUEST['hoge'];
}
どうか教えてください・・・
0966nobodyさん
2005/11/25(金) 18:53:17ID:???とか
$name = empty($_GET['hoge']) ? 'hogehoge' : $_REQUEST['hoge'];
0967nobodyさん
2005/11/25(金) 19:01:40ID:???できますでしょうか?
[ aaaaaa.... ]を[ a ]に置換する。
0968nobodyさん
2005/11/25(金) 19:03:54ID:???とりあえず解決はしたようだが、驚かないで聞いてくれ。
var_dump($_GET) してみれば分かるが、$_GETで渡ってくるデータはstring型だったんだっ!
なので存在する$_GETに対して===を使って比較する場合は、必ずstring型にある。
0971965
2005/11/25(金) 19:47:29ID:???ありがとうございますm(_ _)mペコリ
emptyを使うことを思いつきませんでした。
>>968
ままっまじすかっ(驚愕)
0973nobodyさん
2005/11/25(金) 20:21:17ID:???pg_connect()を使って、郵便番号を郵政のデータベースから入手したいのだが
Fatal error: Call to undefined function:pg_connect()
in /home/userdir/www/postal/hogehoge.php on line 75
で実行不可になってしまいます(なぜに Call to undefined function になってしまうのでしょうか。。。)。
どうすれば解決できるでしょうか、お教え願います。
0974nobodyさん
2005/11/25(金) 20:25:03ID:???ホントにこんな事が出来たらワロス
0975nobodyさん
2005/11/25(金) 20:28:01ID:???0976nobodyさん
2005/11/25(金) 20:29:57ID:???0977nobodyさん
2005/11/25(金) 20:37:18ID:???0978nobodyさん
2005/11/25(金) 20:38:01ID:8jBg0Ry9下記のようにやるとifを全く評価してくれません。
どうしてなんでしょうか・・・?
どこがおかしいのか教えてください。
・実験用ファイル
<?
$fp = @fopen("list.txt", "r");
while(!feof($fp)){
list($name,$address,$num) = explode("<>", fgets($fp));
if($num == "010"){
echo "あなたの番号は010です<br>";
}else{
echo "あなたは020番以降の方ですね?<br>";
}
}
fclose($fp);
?>
・list.txt
名前1<>住所1<>010
名前2<>住所2<>020
名前3<>住所3<>030
名前4<>住所4<>040
0979nobodyさん
2005/11/25(金) 20:38:15ID:???0981973
2005/11/25(金) 20:45:02ID:???pgsql.allow_persistent "1"
pgsql.max_persistent "-1"
pgsql.max_links "-1"
pgsql.auto_reset_persistent "0"
pgsql.ignore_notice "0"
pgsql.log_notice "0"
をどのように設定すれば設定を有効にできるのでしょうか
たびたびすみません
0982973
2005/11/25(金) 20:47:56ID:???pgsql.auto_reset_persistent = Off
が抜けてました。汚しすみません・・・
0983nobodyさん
2005/11/25(金) 20:48:28ID:???参考URL書いておきまつね。
http://www.google.co.jp/search?hl=ja&c2coff=1&rls=GGGL%2CGGGL%3A2005-09%2CGGGL%3Aja&q=pg_connect+Fatal+error%3A+Call+to+undefined+function%3Apg_connect%28%29+&btnG=Google+%E6%A4%9C%E7%B4%A2&lr=lang_ja
0984nobodyさん
2005/11/25(金) 20:49:38ID:8jBg0Ry9ありがとうございます。
解決できました!
こういう場合、最後にも「<>」を入れないといけないんですね。
勉強になりました。
0986ダメな973
2005/11/25(金) 20:59:22ID:???extension=php_pgsql.dll
を追加したのですが、変更を認識してくれないのはなぜでしょうか?
スレ違いですみませんが
0987nobodyさん
2005/11/25(金) 21:00:47ID:???0988nobodyさん
2005/11/25(金) 21:01:18ID:???0991nobodyさん
2005/11/25(金) 21:11:04ID:???0992nobodyさん
2005/11/25(金) 21:17:30ID:???http://pc8.2ch.net/test/read.cgi/php/1132921016/
0993978
2005/11/25(金) 21:18:51ID:???trimも一番最初に思いついたんですが、
もしかしてと思い最後尾に<>を入れてみたらうまくいったんで・・・w
やっぱりtrim使う事にします!
0994nobodyさん
2005/11/25(金) 21:20:50ID:???0995nobodyさん
2005/11/25(金) 21:22:40ID:???0996nobodyさん
2005/11/25(金) 21:24:31ID:???0998nobodyさん
2005/11/25(金) 21:26:07ID:???10011001
Over 1000Threadもう書けないので、新しいスレッドを立ててくださいです。。。
レス数が1000を超えています。これ以上書き込みはできません。