【PHP】くだらねぇ質問はここに書き込みやがれpart4
レス数が950を超えています。1000を超えると書き込みができなくなります。
0001nobodyさん
05/03/13 16:08:32ID:???ここなら本スレで回答のないお前の下らない質問に回答があるかも知れません。
次スレは>>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/
0851850
2005/04/23(土) 13:52:21ID:???0852848
2005/04/23(土) 13:57:17ID:???0853nobodyさん
2005/04/23(土) 14:49:17ID:???0854nobodyさん
2005/04/24(日) 08:43:41ID:???$com = eregi_replace("(^|>)(>[^<]*)", "¥¥1<font color=#ff9166>¥¥2</font>", $com);
他に、$comに">>"が入ってたら違う色に変えたいのですが正規表現の書き方が分かりません。
どなたか教えて下さい。m(_ _)m
0855nobodyさん
2005/04/24(日) 13:52:09ID:ztU9/Bmhちなみに既にあるプログラムは全く弄ることはできません。
インターフェース用のプログラムを作って、
元プログラムの処理結果を抜き取ってくる、みたいな感じになると
思うのですが。
単純に静的なウェブページの表示を切り替えるのなら、
そう難しいことではないと思うのですが、
元が動的なウェブページになりますので、そこが色々厄介かなと。
ちなみにphp経験は書籍読みながらなら、なんとか掲示板等を作れる
レベルで、はっきりいって、素人レベルだと思います。
アドバイスどうか宜しくお願いします。
0857nobodyさん
2005/04/24(日) 14:06:33ID:???1行を1つの要素とした配列でforeach($hoge as $com)として回しているんであれば
正規表現を使わなくとも可能。
if(substr($com,0,1)=='>'){
if(substr($com,0,2)=='>>')[
}else{
}
0858857
2005/04/24(日) 14:07:42ID:???インデントにtab使う癖が・・・。
if(substr($com,0,1)=='>'){
if(substr($com,0,2)=='>>')[
//行頭が">>"の場合
}else{
//行頭が">"の場合
}
}
0859854
2005/04/24(日) 14:10:43ID:ztU9/Bmh既にあるプログラムの表示方法のみを切り替えることは可能でしょうか?
の間違いでした、スマソdesu
0862nobodyさん
2005/04/24(日) 21:10:44ID:W++2BwUoそこで自宅サーバーに踏み切ろうと思うんですが、現在パソコンが1台しかないんです。
この場合は新たに1台用意しなければなりませんか?
それとも今ある1台でサーバーとしても、HP編集の用途としても、趣味でのゲーム等にも使えますかね?
教えて下さいお願いします。
0863nobodyさん
2005/04/24(日) 21:35:51ID:???真面目に答えるけど、そのていどの知識では
鯖立ては止めた方が良いよ。
0864nobodyさん
2005/04/24(日) 21:36:03ID:???Linuxで動くゲームなら良いけどな・・・
それに、色々な所からアクセスが来るのに、
裏でゲームやってたら、ゲームのCPU占有率が高くてHPが遅くなるだろうな。
また、逆の場合もあって、HPアクセスが多いと、ゲームが途中で止まるかも。
まぁ、悪いことは言わないからもう1台用意する事をお勧めする。
サーバだから、高価なグラフィックカードとか不要だし、ディスプレイすら要らない。
ディスプレイ必要なら、既存のディスプレイ繋げば良いし、
OSがLinuxならその他のスペックもそれ程高くなくても良い。
秋葉でパーツ探して組み立てたり、ショップのBTOかなんかで5万も出せば十分なPCが買える。
0866nobodyさん
2005/04/24(日) 21:44:21ID:???PHP「言語」とは全く関係ない話だと思うんだが。。。
可能だけど、当然サーバの機能を果たすためのリソース(CPUやらメモリやら回線やら)を食いつぶすから、
確実に今より使い勝手が悪くなりますよ。
それ以外にも運用のための知識等も必要になりますし、懐状態と頭の中身との相談になるんじゃないですかねぇ。
自宅鯖板があるので話が続く場合はそちらへ。 ttp://pc8.2ch.net/mysv/
0867854
2005/04/24(日) 22:19:11ID:ztU9/BmhPHPでは不可能でしょうか?
0868nobodyさん
2005/04/24(日) 22:24:40ID:ZdX9oQv/自宅サーバってのはマシンをもう一台用意するとかそんな話じゃなくて、
回線をもう一本用意するとか、そういう話になるもんだけど。
要するに普通は外に置いてあるものを自宅に持ってくるだけなんだから。
とはいえ、自宅で自分が使ってる間はサーバが消えて無くなっててもいいのであれば
マシンも回線も共通にして、切り替えて使ったら?
0869nobodyさん
2005/04/24(日) 22:33:24ID:???0870nobodyさん
2005/04/24(日) 22:41:30ID:???>>855の質問だよね?
できるだろうけど、難易度は 既にあるというプログラムの出力内容次第だろうね。
それに、他人の物を掠め取るつー事だと相手の了承も得なきゃいけないし。
0871854
2005/04/24(日) 23:35:16ID:ztU9/Bmh利用することは既に了承を得ていますが
どのような関数を使うかなど、全く想像がつかないので
ヒントでも与えて頂ければ、と思うのですが。
どうか宜しくお願いします。
0872nobodyさん
2005/04/24(日) 23:43:23ID:cJjvrVZL多少誤差が出てしまいます。
IPチェックを行い、カウンターの設定を重複アクセスはカウントしない様にしてます。
以下がソースです。どこが悪いのでしょうか?
0873872
2005/04/24(日) 23:43:52ID:???$yes_date = gmdate("Ymd", time()-15*3600); //-24h
$dat = file(COUNT_LOG_PATH); //カウントファイルを配列に
list($key, $all, $tod, $yes) = explode("|", $dat[0]); //データを分解
$ip = getenv('REMOTE_ADDR'); //アクセス者のIP取得
$regip = file(IP_LOG_PATH); //IPファイルを配列に
$countflag = false;
if(IP_CHECK && array_search($ip . "\n", $regip) === false){ //IPチェックON
if($key == $now_date){ $fp = fopen(IP_LOG_PATH, "a"); } //今日のログ保存中ならIP追加
else{ $fp = fopen(IP_LOG_PATH, "w"); } //日付が変わったらファイル上書き
flock($fp, 2);
fputs($fp, "$ip\n");
fclose($fp);
$countflag = true;
}elseif(!IP_CHECK){ //IPチェックOFF
$countflag = true;
}
if($countflag){ //書き込みフラグONなら
if($key == $now_date){ $tod++; } //キーが今日なら今日をアップ
else{ $yes = ($key == $yes_date) ? $tod : 0; $tod = 1;} //キーが昨日なら昨日に今日カウント格納それ以外は0
$all++; //合計をカウントアップ
$new = implode("|", array($now_date, $all, $tod, $yes)); //データ連結
$fp = fopen(COUNT_LOG_PATH, "w"); //ファイルに保存
flock($fp,2);
fputs($fp, $new);
fclose($fp);
}
0874nobodyさん
2005/04/24(日) 23:45:58ID:???状況がよく掴めていないんだけど、こんな感じかな。
(a)対象がリモートの場合、
1. fopen(),file(),fsockopen()辺りの関数を使ってリモートファイルを取得。
2. 取得したものから(または取得しつつ)、必要なデータ部分を抜き出す。
3. データを飾り立てる。
最悪、htmlをパースするスクリプトを書くことになるかと。
(b)対象がローカル
対象のプログラムの組み方次第だけど、最悪(a)と同じ事をしなきゃいけないかと。
0876854
2005/04/25(月) 00:16:35ID:7+40Al/Q例えば、変数を入力して演算するスクリプトがあるとして、
そのスクリプト自体はまったくいじらずに、
別のスクリプトで表示、外観を組み立てる、ということが目的です。
一つだけいいでしょうか?
「パースする」ってどういう意味でしょうか?
辞書で調べたら、
アメリカの哲学者の名前と出てきました。orz
パースペクティブの略でしょうか?
0877854
2005/04/25(月) 00:17:54ID:???JavaScript で「ドム」るとはどういう意味でしょうか?
ぐぐっても分かりませんでしたorz
0878nobodyさん
2005/04/25(月) 00:39:49ID:0O36XnJZ0879nobodyさん
2005/04/25(月) 00:52:08ID:???サーバー、DBについてはどのくらいのレベルまでカバーすれば良いでしょうか?
たとえばDBにしても、MYSQLとORACLとでは、知識に格差がある
と思うんです。よろしくお願いいたします。
0880879
2005/04/25(月) 01:01:02ID:???JAVAプログラミングには、アプリケーションの作成くらいしか用途が
思い浮かばないのですが、WEB製作時になんの役割として使用される
のでしょうか?
0881nobodyさん
2005/04/25(月) 01:15:57ID:???Javaはappletやiアプリの他にも、JSP servletといったサーバサイドプログラムにも使われる。
で、これが一番重要なことなんだが、サーバサイドプログラムを作るのに使われる言語に
PHPという言語も含まれていて、ここはその言語のためのスレなのだ。
0882nobodyさん
2005/04/25(月) 01:17:29ID:???echo $fp;
なら問題ないのですが、
$fp = file_get_contents('http://hogehoge.jp:80/');
echo $fp;
のようにポート番号を含むと正常に表示できません。
Warning: file_get_contents(
http://hogehoge.jp:80/): failed to open stream: No such file or directory
ポート経由のデータをfile_get_contentsしたいのですが、
この場合どう対応すれば良いでしょうか?
0883nobodyさん
2005/04/25(月) 01:25:58ID:???0884nobodyさん
2005/04/25(月) 01:37:04ID:???"独立"なら技術よりも人脈や営業力の方を重要視しろ。
仕事の幅で要する技術のレベルも変わってくる。
一般的なフリーランスなら広く&浅く(ても良い)。
0885872
2005/04/25(月) 01:51:49ID:0QyGkIUaもう一度だけageさせて下さい。
0886ファイルロッカー
2005/04/25(月) 02:15:53ID:0O36XnJZfopenで上記のそれぞれのモードで開いた時、
flockで、LOCK_SHを指定するのは最初の「r」だけで、それ以外の5つはLOCK_EX
ということでいいの?
0887886訂正
2005/04/25(月) 02:20:08ID:0O36XnJZfopenで上記のそれぞれのモードで開いた時、
flockで、LOCK_SHを指定するのは最初の「r」だけで、それ以外の7つはLOCK_EX
ということでいいの?
0888nobodyさん
2005/04/25(月) 05:31:40ID:???スレッド式掲示板のスクリプトを探しているんですが、どこかにオススメはありませんでしょうか?
0889888
2005/04/25(月) 05:45:41ID:???0890nobodyさん
2005/04/25(月) 08:09:23ID:HSj72Zbp0892nobodyさん
2005/04/25(月) 09:25:38ID:HSj72Zbp0893nobodyさん
2005/04/25(月) 09:49:46ID:IAqctJnu0896895
2005/04/25(月) 14:14:02ID:???0897nobodyさん
2005/04/25(月) 15:40:21ID:???http://kasarfa.com/
0899nobodyさん
2005/04/25(月) 19:22:11ID:???リンク集スクリプトを探していて引っかかったんですが
こんなスクリプトはないでしょうか?
0900nobodyさん
2005/04/25(月) 19:42:28ID:???0901882
2005/04/25(月) 21:44:07ID:???0902nobodyさん
2005/04/25(月) 22:04:57ID:???オイラの環境(php4.3.5@win2k)では問題なく動作した。
yahooの80に対してと、8080でググって適当な8080ポートを使っている鯖に対してテストを実行した。
0903nobodyさん
2005/04/26(火) 00:18:14ID:???↑リネームしようとしたらbbs.txtが存在するから
だめとかいうエラーが出てしまいます。
Warning: rename(tmp.txt,bbs.txt) [function.rename]: File exists in〜
bbs.txtはリネームの前に絶対必要であり、リネームで上書きしたいんですが、
どうにかしてできますか?
0904nobodyさん
2005/04/26(火) 01:35:33ID:???$a = $_SERVER[REMOTE_ADDR];
$b = gethostbyaddr($a);
print "$a<br>\n$b";
このスクリプトに漏れがアクセスすると
$bの出力は自分のPC名が表示されてしまう。
プロバイダのホスト名が表示されるようにしたいんだが。
ちなみに携帯(DoCoMo)からアクセスしたら
ちゃんとDoCoMoのホスト名が表示された。
0907904
2005/04/26(火) 08:24:24ID:???$aに入っているIPはちゃんとプロバイダのIPなんですよ!
それをgethostbyaddrによって変換しているはずなのに
$bではPC名が表示されます。
0909882
2005/04/26(火) 14:31:20ID:???スクリプトはこれで問題ないでしょうか?
$fp = file_get_contents('http://www.yahoo.co.jp:80/');
echo $fp;
同か宜しくお願いします
0911902
2005/04/26(火) 14:50:40ID:???オイラが召還されたのかな?
テストは、それとまったく同じもの(www.yahoo.co.jp:80)と、
ポート番号が無視されているわけではない事を確認するために
80以外のポート番号で公開しているサーバに対して行いました。
結果としてポート番号は適切に扱われました。
>>882にあるような failed to 〜のwarningを出そうとして
試しにFirewallでパケットを叩き落とした所、見事に同じwarningが出ましたが、
そちらでは80を指定しない時はうまく行ってるみたいなんで状況が違うかも知れませんね。
0912nobodyさん
2005/04/26(火) 15:16:17ID:???http://******.co.jp/nandemo/test.php?cmd=view&option=1
というアクセスを、
http://******.co.jp/nandemo/test/cmd=view/option=1
というアドレスで表示させたいのですが(amazonみたいに)
どのようにすれば良いのでしょうか。
0916nobodyさん
2005/04/26(火) 16:21:46ID:???調査してみたところ、マニュアルにも載っている下記コードを
実行すると、latin1になってしまいます。
これは何処を設定すれば、utf8になりますか?
<?php
/* 接続のオープン */
$link = mysqli_connect("localhost", "root", "hoge");
/* カレントの文字コードセットを表示 */
$charset = mysqli_character_set_name($link);
printf ("Current character set is %s\n",$charset);
?>
ちなみに、localhostでmysqlクライアントだと、\sでみればちゃんと
Server characterset: utf8
Db characterset: utf8
Client characterset: utf8
Conn. characterset: utf8
となっとります。
0917nobodyさん
2005/04/26(火) 17:05:46ID:???いちいちINSTALLでパッケージ指定しないと行けないのか?
upgrade-allだとインストールされてるやつを全部アップグレードしてくれるけど、
インストールしてないパッケージをコマンド1つでインストールする方法ないかな?
0918nobodyさん
2005/04/26(火) 17:42:48ID:???PHPのmysqli関数で使ってるMySQLクライアントライブラリが
latin1でビルドされてるものなんじゃないの。
接続後に毎回エンコードSETしといたら?
0919nobodyさん
2005/04/26(火) 17:46:37ID:???$dom = domxml_open_file('http://example.com/example.xml'); ←UTF-8
$xsldoc = domxml_xslt_stylesheet_file('http://example.com/example.xsl');
$result = $xsldoc->process($dom);
$xsldoc->result_dump_file($result, 'example.html'); ←EUC-JP
print $xsldoc->result_dump_mem($result); ←EUC-JP
?>
今DOMXMLの練習をしてまして
UTF-8のXML文書をEUC-JPに変換して表示&保存したいのですが
どこでmb_convert_encodingをかければいいんでしょうか?
0920801
2005/04/26(火) 18:52:44ID:???http://bugs.php.net/bug.php?id=32553
0921nobodyさん
2005/04/26(火) 23:46:06ID:???phpMyadminを別のポートで立ち上げたいんですけど
どうやってやるんでしょうか。
0922nobodyさん
2005/04/26(火) 23:54:33ID:???phpMyAdminではなく、phpMyAdminを呼び出してるWEBサーバーを
設定しなくちゃいけない。
phpMyAdminを呼び出してるWEBサーバーが何か判らないと
答えようがない。
0923nobodyさん
2005/04/27(水) 01:05:42ID:???2個起動するんでしょうか
0924nobodyさん
2005/04/27(水) 01:35:59ID:???apacheの場合、単体でポート番号を複数使うことができるよ。
Listen VirtualHostディレクティブを組み合わせると希望する動きになるんじゃないかなぁ。
PHPとは全然関係ない話になるので、続くようなら適切なOSの板か自宅鯖あたりで。
0926nobodyさん
2005/04/27(水) 02:14:13ID:???2個起動しても良いけど、Apache2ならSSLと同じようにバーチャルドメインの
機能を使うのが良いだろう。どっちにせよ明らかにPHPの話じゃないので、
別の適切なドキュメントあたれ。
0927919
2005/04/27(水) 02:32:29ID:???スレ汚しすいませんでした
0928301
2005/04/27(水) 05:57:01ID:???という4つのテキストデータがありまして
読み込む度にランダムで違う配列にしたいです。
phpを使って並び替える方法を教えてください。
『 hoge3、hoge1、hoge2、hoge4 』とか
『 hoge1、hoge4、hoge3、hoge2 』とか
こんな感じにランダムで並び替える方法を教えてください。
0930301
2005/04/27(水) 11:38:24ID:ZOjS30sy0931nobodyさん
2005/04/27(水) 11:52:21ID:ZDoIiicSファイルの日付けを検索して、その日付けをトップページに表示
したいのですがどのようにすればよいですか?
0932nobodyさん
2005/04/27(水) 12:01:27ID:???0934nobodyさん
2005/04/27(水) 16:29:28ID:???0936nobodyさん
2005/04/27(水) 17:02:45ID:???0937nobodyさん
2005/04/27(水) 17:12:23ID:???PHPと各種DBのバージョンの対応表など、どこかに情報は無いでしょうか?
MySQLやPostgreSQLだけでなくOracleなどを含めて、
細かいリビジョン毎に対応表があるといいのですが。
正直、自分の使ってるPHPのバージョンで
どのデータベースどのバージョンまで使うことが出来るのか、
こういった情報って少ない気がするのですが、
皆さんはどうやって調べてるのでしょうか?
0938nobodyさん
2005/04/27(水) 20:58:23ID:???クライアントの接続下位互換性を持ってないDBMSというのは珍しいと思うけど?
例えDBサーバ側の設定が必要だとしても。
---
組み込む接続ライブラリに依存するから、
個々のDB接続性がPHPでどうなってるかは環境による。
0939nobodyさん
2005/04/27(水) 22:08:47ID:FF8E+B0xそのままでは化けてしまいます。
どうしたらいいのでしょうか?
0941nobodyさん
2005/04/27(水) 22:43:03ID:???ページと同じにsubjectをEUCで書けばいいだけ。
ああ、リンクをメールで開いたときに"化ける"なんて言うなよ。
そこに日本語は使えないんだから。"化けない"のは偶々。
0942mizinko
2005/04/28(木) 10:11:48ID:???fopenとかfeofなんかが使えない…(´・ω・`)
0943931
2005/04/28(木) 11:45:14ID:???レスありがとうございます
どのファイルが最新の日付けかを探し出すには
どういう構文を書けばいいのですか?
0944nobodyさん
2005/04/28(木) 12:15:29ID:???比較用に最新の日付とそのファイルの組み合わせを持っておいて、
すべてのファイルと逐次比較して、比較したものの方が最新だったら
手持ちの組み合わせをそれと入れ替えて、さらに逐次比較を継続する。
これが一番単純なやりかた。
構文は自分で考えろ。
0945nobodyさん
2005/04/28(木) 20:47:43ID:BVIDeapOというアドレスにアクセスがあったときに、index.phpで、
"mode=normal&price=500&number=1"
という文字列を取得するにはどのようにすれば良いでしょうか。
0947945
2005/04/28(木) 20:57:13ID:???無事解決いたしました。
0948nobodyさん
2005/04/28(木) 21:34:43ID:???アフォか
>944
全ファイル舐めまわしながらファイル名をキーに更新日時を配列に格納
後はソート…
0950944
2005/04/28(木) 22:02:19ID:???全ファイル舐めるなら、配列にいれてソートするなんて2度手間する必要あるのか?
変数1つ用意して、最初、変数は空だから最初に見つかったファイルの更新日時を入れて、
ファイルを舐める段階で順次ファイルの更新日付と比較して、
最新の日付だったら変数に入れるだけじゃないか。
ファイル全部舐めたときには最新の更新日付が取れてるよ。
なんで、わざわざ、全部舐めた後にソートなんてするんだよ、馬鹿らしい。
レス数が950を超えています。1000を超えると書き込みができなくなります。