【PHP】質問スレッド Part4
■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん
02/06/02 15:32ID:f3afNVBG<<参考>>
■本家
http://www.php.net/
■日本 PHP ユーザ会
http://www.php.gr.jp/
■PHP マニュアル
http://www.php.net/manual/ja/
■PEAR マニュアル
http://pear.php.net/manual/ja/
過去スレ, 関連スレは>>2を見よう。
0655nobodyさん
02/08/14 11:28ID:???マチクタビレタ〜
☆ チン 〃 Λ_Λ / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
ヽ ___\(\ `Д´) < 2学期まだーーー? プンプン
\_/⊂ ⊂_ ) \_____________
/ ̄ ̄ ̄ ̄ ̄ ̄ /|
| ̄ ̄ ̄ ̄ ̄ ̄ ̄| |
| . 味噌カツ . |/
0656nobodyさん
02/08/14 11:50ID:qvfibJbsPHPスクリプトでの
時間帯アクセス制限は可能なのでしょうか?
perlではソースがあるんですが
PHP言語に直して利用することは可能なのでしょうか?
@Ti = gmtime(time + 9 * 3600);
$TIME = $Ti[2];
if ($TIME >= 23 || $TIME <=1)
{
print "<P><font style=\"font-size : 22px;color : red;\">表\示制限中</font>";
} else {
通常の処理を記述
}
0657nobodyさん
02/08/14 11:59ID:???0659nobodyさん
02/08/14 18:23ID:???0660nobodyさん
02/08/14 18:57ID:???0662nobodyさん
02/08/15 16:30ID:up7BrQGE$Ti = getdate() ;
$TIME = $Ti['houres'] ;
以下略
0663662
02/08/15 16:33ID:up7BrQGE○hours
です
0664nobodyさん
02/08/17 01:24ID:nYp5D1tn[15-Aug-2002]
0665nobodyさん
02/08/17 03:06ID:13EZV0DN"を入力すると勝手に\"にされちゃいます。
これを回避するにはどうしたらいいでしょうか。mb_convert_encoding
一応、EUCでスクリプトを作って、
入力されたデータはmb_convert_encodingでEUCにしています。
0666nobodyさん
02/08/17 03:21ID:1t+9J4cmmagic_guotes_gpcを調べてみて
0667nobodyさん
02/08/18 02:51ID:???Apacheモジュールとしてのphpの利用は余裕でわかるのですが、
当方これをcgiとして使用したいと思います。
rpmが、--enable-force-cgi-redirect付きでコンパイルされている
ため、直接指定すると、
sercurity Alert! PHP CGI can not be accessed directory
とのエラーが出ます。様々なphpのマニュアル等ではapacheの
httpd.confに
Action php-script /cgi-bin/php
AddHandler php-script .php
との行を加えればよいとのこと。
しかしそれをすると、
http://localhost/cgi-bin/test.php
The requested URL/cgi-bin/cgi-bin/test.php not found
と出てきます。error.logを確認した限りでも、どうやら
存在しない/var/www/cgi-bin/cgi-bin/test.php
宛にアクセスしているようです。
test.phpは/var/www/cgi-bin/test.phpにあります。
どなたかcgi版phpをapacheから用いるための設定方法について
存じている方はいないでしょうか?
0668nobodyさん
02/08/18 04:14ID:???どうしたら取り除けるでしょうか?
0669nobodyさん
02/08/18 10:10ID:???>存在しない/var/www/cgi-bin/cgi-bin/test.php
>宛にアクセスしているようです。
>test.phpは/var/www/cgi-bin/test.phpにあります。
だったら単純に、
Action php-script /php
とするとどうなるよ。
0671667
02/08/18 12:16ID:???エラーがでますね。http://localhost/cgi-bin/test.phpへアクセス
すると、ログには
/var/www/html/php/cgi-bin/test.php does not exist
とのエラーが出ます。
じゃあ、/var/www/html/php/cgi-bin/test.php
ディレクトリを作るとどうなるか試してみたら、
/var/www/html/php/php/cgi-bin/test.php does not exist
だそうだ。
0672nobodyさん
02/08/18 19:19ID:???なんか、Apacheを再起動せずにやってたりしない。667と671の状況が
えらく違うじゃんかよ。
で、ScriptAliasなんかも定義されていたりしないか?
0674nobodyさん
02/08/18 23:44ID:???0675667
02/08/18 23:56ID:???一応、apacheの再起動はしてます。
でないと、反映されませんしね。
Mozillaも定期的に終了ー>再度起動しなおし、という
手順をとっていますし。
(これはキャッシュをクリアしたいからね)
状況が違うのは、ディレクトリ名を変えたりして
なぜディレクトリ階層を追加していくたびに
エラーログのディレクトリ階層が増えていくのか
原因追及のため。
で、現状:
AddType application/x-httpd-php .php
ScriptAlias /php/ "/var/www/php"
action application/x-httpd-php /php
とhttpd.confに追加することで
http://localhost/test.phpとブラウザから実行すると
/var/www/php/test.phpのファイルにcgiとして
アクセスするようになりました。
ところが、今度は別の問題が。
/home/test/public_htmlなどユーザーディレクトリに
おいてあるphpファイルへのアクセスができなく
なってしまった・・・。
他は http://localhost/~test/test.phpなどがエラーとなる。
/var/www/php/~test/test.phpが無いと怒られる始末。
一難さって、また一難。はぁー。
(php.iniはまったく弄ってないからここかもね)
どこかに、Linux版php(cgi)モード+apacheについて実例こみで詳しく
解説したとこはないものかなあ。IBMのサイトもPHPのcgi版は
解説してなかったしなあ。
0676nobodyさん
02/08/19 00:56ID:???>他は http://localhost/~test/test.phpなどがエラーとなる。
>/var/www/php/~test/test.phpが無いと怒られる始末。
だろうな。もうAliasするのやめるとか?
ユーザ分はcgi直置きさせるってのは、
<Directory /home/*/public_html>
の中に、
ScriptAlias /php/ "/home/*/public_html/"
って感じになるのかな?
んなことやった事ないんだけど...って、httpではDSOでしか使わないしな。
0678nobodyさん
02/08/19 14:11ID:R2c3O/O8だとさ、mb関係のエラーでるんですけどRPM版だとどうすればいいの?
0679667
02/08/19 22:48ID:???<Directory>の中ではないけど、
ScriptAlias /php/ "/home/*/public_html/"
はやった。apacheの再起動したらエラーが出たけど。
ちなみに、redhatではOKだったんだが、Laser5 7.2では
駄目だった。(ったくどうなってんだか)
仕方がない。CGIモードは諦めるか。
0680nobodyさん
02/08/19 23:08ID:???このサイトを携帯で閲覧できるようにするにはどうすれば良いのでしょうか?
http://www.segarosso.com/cgi-bin/ranking/record.cgi
上記サイトは以下のようにして正常に動作しています・・(私が作ったのではありません・・)
http://www.marubaku.gr.jp/mty/game/inid/irank.htm
ご教授よろしくお願い致します。
0681680
02/08/19 23:33ID:???タイトルを良く見ずに投稿してしまいました・・
0682nobodyさん
02/08/20 06:07ID:???$hoge_atama と $hoge_saigoに入れたいんだけど、どうやるんだい?
0683nobodyさん
02/08/20 12:15ID:bRp3Fbuoこれは仕様でしょうか?
0686nobodyさん
02/08/20 21:29ID:???0688nobodyさん
02/08/20 21:51ID:???ありがとう〜。>>682みたいな日本語理解してくれてありがと(w
>>687
スマソ、スペースで区切られてる奴を分けて取り込みたかったんで。
0689nobodyさん
02/08/21 01:52ID:???class DQN{
var $msg;
function DQN(){
$this->msg = "キタ━━━━━━(゜∀゜)━━━━━!";
}
function getMsg(){
return $this->msg;
}
}
?>
って書いても
<?php
class DQN{
// var $msg;
function DQN(){
$this->msg = "キタ━━━━━━(゜∀゜)━━━━━!";
}
function getMsg(){
return $this->msg;
}
}
?>
って書いても動くってことは
var $msg;
を定義する意味ってなんですか?
0690nobodyさん
02/08/21 16:50ID:???0691nobodyさん
02/08/21 21:01ID:???PHP離れが進んでいるんかなー
0692nobodyさん
02/08/21 21:07ID:???そりゃ、PHPはロック処理がPerlよりも甘いんだからなぁ。
日/2万のサイトで、アクセスカウンターをPHPにしたら、日に2回も飛んだもん。
しゃあないからPerlなカウンターに戻した。PHPは確実性、信頼性がない。
0693nobodyさん
02/08/21 21:59ID:???へーそんなことがあるんだー。
夏厨ですまんのだけど
「飛ぶ」ってのはどうなっちゃうこと?
Webサーバがかたまっちゃうの?
0694nobodyさん
02/08/21 22:35ID:???カウンタが0に戻る、またはおかしくなったんだろう。
>>692
Perlと比べんなよ。どっちもJSP+Servletと比べたら同じようなもんだ。
0695nobodyさん
02/08/22 00:06ID:???ロックしても飛ぶときは飛ぶ。
0697nobodyさん
02/08/22 01:25ID:???日/2万のサイトで一つのファイルをロックして読み書きする処理を作るというのも分からんな。
0699nobodyさん
02/08/22 02:18ID:???アクセスカウンターが本当にキッチリとカウントしなければいけないのか、
0に戻らなければ多少いいかげんでもいいのか等により違うものだろ。
バックアップファイル作ってもいいし、分散化させてもいいし、その組み合わせでもいい。
0700nobodyさん
02/08/22 02:30ID:CUxInLYA0701
02/08/22 02:48ID:cuMMUn2w初めて先日婦人科検診に行きました。
クリトリスや膣口を念入りに消毒され、先生が指を入れてグニュグニュしてきました。
診察なので別にその時は変な感じはなかったのですが
少し時間が長いかなぁと思っていると、先生の指が微妙にゆっくりと
ピストン運動をしていたのです。
私は恥ずかしいのと気持ちいいのと腹立たしいのとが一緒になり
頭が混乱し、固定されていた足をバタバタ動かしました。
すると先生はすぐに指を抜き「ごめんねぇ、もう少しがまんしてねぇ」
と言いながら、ゼリーのようなものをクリトリスに塗り始めました。
もうその時点で膣口付近は濡れてベトベトだったと思います。
下半身がしびれてしまい、すぐにオナニーをしたいような状況でした。
先生は「ここ痒いでしょ、少しかぶれてるみたいだから薬塗っときますね。」
と言いクリトリスを念入りに指で摘みながら揉んできました。
たしかに最近クリが痒かったので納得したのですが
先生は皮まで剥いて激しく揉んでくるので、私は声を抑えるので必死でした。
かなり濡れているのが自分でもハッキリ分かって、お尻に液が垂れる感じがしたとき
「グボボボボ」と音がして掃除機のようなもので液を看護婦さんが吸い取りました。
自分の状況がとても恥ずかしいと思い「先生、も、もういいです」と言いました。
先生は「はいはい、もうすぐですよ」と淡々と言いながらクリトリスを揉みしだいています。
恥ずかしいので絶対逝ってはいけないとして我慢しました。
やっと診察が終わり、すぐにトイレに駆け込みオナニーをしました。
10秒ほどで逝ってしまいました。
翌日、会社の同僚にこのことを話すと「それ絶対変だよー、そんなことする医者いないよ」
と言われました。あの医者はやはり私で遊んでたのでしょうか、とても悔しいです。
0702nobodyさん
02/08/22 06:24ID:???だから、PerlとPHPとでは、Perlの方がロック処理がしっかりしてるって事なんだよ。
俺はそれが言いたかっただけ。
>>697
日/2万のサイト程度で音を上げるPHPはダメですなぁ、って事。
PerlとPHPでやってるカウント処理は大体一緒なんだけど、PHPはへぼいですなぁ。
>>699
そこまでやらにゃならんのか。めんどいなぁ、PHPは。
Perlなら日/5万のサイトでも飛ぶ確立はPHPよりも格段に低いってのに。
PHPだったら日に10回は飛びそうだね。
アンケート処理でも、Perlの方が飛びにくいし。
DB処理させる程じゃないけどね。
0705nobodyさん
02/08/22 12:18ID:???わかってないなー もう♪ 手マンのほうが、って事。
つまりhotscripts.comもPHPのほうがいっちゃったって事なんだよ。
0706nobodyさん
02/08/22 16:34ID:???0709名無しさん
02/08/22 22:57ID:???なんか変なロック方法してるとしか思えない。
flockが使えない環境なら別だけど。
0710nobodyさん
02/08/22 23:15ID:???0711nobodyさん
02/08/22 23:20ID:???http://www.hotscripts.com みました
スクリプト数 PHPのほが多いですねえ
はー phpかー
perlまだわかってないし・・・ どうしよ
0712nobodyさん
02/08/23 00:09ID:???>PerlとPHPでやってるカウント処理は大体一緒なんだけど、PHPはへぼいですなぁ。
って大体一緒じゃなくて全く一緒にして比べろよ(゚д゚)
702大人気ですな(藁
0713TOPEAK ◆2002ISZo
02/08/23 08:14ID:yUIATWhHfile(thread.at);
とかで読み込むのって
やっぱし負荷大きいですよね・・?
0714TOPEAK ◆2002ISZo
02/08/23 08:34ID:yUIATWhHなるほど・・・
0715662
02/08/23 10:33ID:4aUCdNU7http://pc.2ch.net/php/subject.txt
別ファイル
0716nobodyさん
02/08/23 19:53ID:yUIATWhHスクリプトを書いてるのですが
また質問させてください
指定した行にファイルポインタを移動させようとおもってるのですが
下の関数よりもっと早く,負荷も少なく移動させる方法ってありますでしょうか.
それと下の関数を1つのページで50〜100回ぐらい呼び出すのですが
これってサーバーに対する負荷大きいですか?
//$line_numberで指定した行にファイルポインタを移動させる
function fseek_l($file_pointer,$line_number)
{
rewind($file_pointer);
for($i=0; $i<$line_number-1; $i++) fgets($file_pointer);
}
0718717
02/08/23 23:14ID:???早とちり。スマソ。
0719717
02/08/23 23:22ID:???サイズが大きいファイルをfile関数で全て読み込むのが嫌ならば、
freadで自分の好きな単位ずつ読んで、改行検索すれば
716の関数よりはファイル関連の関数を呼ぶ回数は減らすことができる。
ただし、PHPのファイル関数の内部バッファリングがよく分からないので、
効果があるかどうかは別。気持ちだけの問題なのかもしれない。
0720717
02/08/23 23:28ID:???配列に改行の位置と一行の長さを記憶しておく。
2回目からは、その配列を参照し、fseek→fread
(改行の位置だけ記憶しておき
2回目からは、その配列を参照し、fseek→fgetsでうまくいくかは分かんない)
0721TOPEAK ◆2002ISZo
02/08/23 23:44ID:yUIATWhHううむ
0722TOPEAK ◆2002ISZo
02/08/23 23:50ID:yUIATWhH負荷が高いようなら別の方法でがんばってみよう・・
ありがとうございました.
0723nobodyさん
02/08/24 10:01ID:???別のサーバーにあるjpg画像を取り込みたいんだが、これってどうやるんだい?
0725nobodyさん
02/08/24 14:22ID:???スクリプト内に、print " ";を入れてやるとちゃんとページが表示されるんですが、
それを取るとページが表示できません、となります。
flush();とかやっても意味なかったし、困っています・・・。
0729725
02/08/24 20:19ID:???ぜんぜん知りませんでした。
php.iniの default_mimetype は text/html になってるんですが、
なんでこのような再定義で回避できちゃうんでしょうか?
0730nobodyさん
02/08/25 00:16ID:???これをPHPでやるにはどうすればいいんでしょうか?
実行したいコマンドは e:\utl\ish d:\tmp\hoge.txt /ss です。
0732nobodyさん
02/08/25 09:23ID:KFiWaIrLコマンドラインバージョンも組みこもうとしてmakeしたところ、
/usr/local/src/php-4.2.2/main/main.c:966: undefined reference to `php_startup_sapi_content_types'
/usr/local/src/php-4.2.2/main/main.c:968: undefined reference to `zend_register_stringl_constant'
こういうエラーがズラズラーっと出てインストールできませんでした。
4.0.6と4.2.2の両方のバージョンで試しましたが同じ個所でエラーが出ました。
原因がわかる方いらっしゃいますでしょうか?
configureのオプションはこんな感じです。
--enable-mbstring --enable-mbstr-enc-trans --with-pgsql=/usr/local/pgsql
--enable-track-vars --enable-trans-sid --enable-force-cgi-redirect
いろいろ付け足したり取ったりしてやってるんですが、、、
環境は、RedhatLinux7.1、gcc2.96.81、apache1.3.20 です。
0733732の補足
02/08/25 09:27ID:???ソースレベルの間違いではないと思います。
0735nobodyさん
02/08/25 13:40ID:xbmU3xwwif($flag) { ~~~ }
if(isset($flag)) { ~~~ }
のどっちが正しいの?どっちもちゃんと動くけど、
わざわざissetって書くのも面倒だし。
前者でいいかな?
0736nobodyさん
02/08/25 14:38ID:???$flag=1
で、$flag!=0を知りたいだけなら前者で問題ない。
$flag=0
で、$flag=0を知りたいのなら後者でないと識別がつかない。
0737nobodyさん
02/08/25 14:50ID:???一つのファイル、sort.php(86KB)にいろんな形のスクリプを詰め込むか
分散させてsort1.php(10KB)とかで並び替えをさせるか、どっちがいいんでしょうか。
体感的速度はどっちも変わらない(ような気がする)んですが…。
どなたかご教授下さい。
0738nobodyさん
02/08/25 14:52ID:???>一つのファイル、sort.php(86KB)にいろんな形のスクリプを詰め込むか
一つのファイル、sort.php(86KB)にいろんなパターンに並び替えるスクリプトを詰め込むか
0739nobodyさん
02/08/25 15:04ID:???どちらが正しいかは$flagの扱いによる。
$flagが0または1(0以外)の場合は前者。
$flag自体がある条件の時だけセット(null以外)される場合は後者。
0741nobodyさん
02/08/25 16:49ID:XXk1kvRTはい、make distcleanは行いました。
エラーメッセージに出てくる定義が入っているヘッダファイルは
ソースを見る限りちゃんとインクルードされてるし、
2つのバージョンで同じエラーが出るというのも解せません。
同じ症状に見舞われた方はいらっしゃらないのかな?
もしかして undefined reference 以前に何かエラーが出てるのかな?
makeのエラーってどこかのファイルにまとめて出力されてましたっけ?
linux(unix)はじめてなうえに、cもほとんど使ったこと無いので
そういう基本的な知識もないのが痛いです。
0742nobodyさん
02/08/25 16:49ID:???一気にPOSTの内容をエンコーディングするようなことはできるでしょうか?
0744nobodyさん
02/08/25 23:35ID:???$_POST["title"]=mb_convert_encoding($_POST["title"], "EUC-JP")
とか沢山あるのは何となく嫌なんですよね。仕方がないかなー。
0745nobodyさん
02/08/26 15:23ID:???セッションがPHPSESSID経由なのか
クッキー経由なのか判定したいのですがどうすれば出来るでしょうか?
0748nobodyさん
02/08/26 18:56ID:???0749nobodyさん
02/08/26 19:17ID:ggUoz7FVスレッド毎にテーブルを作成してそこにログを入れることの問題点ってありますか?
スレッドは管理者しか立てられませんが、全部で1000以上あります。
0751nobodyさん
02/08/26 20:14ID:ggUoz7FVどこら辺が問題なんですか?
0752nobodyさん
02/08/26 20:49ID:???問題点は沢山あるけどそれはひとまずおいといて、
実際一つのテーブルに入れてみたら実用に耐えられないほどの
問題が発生したという事なのかな?
まずテーブルを分けようと思うに至った理由を書いてみたら?
0753nobodyさん
02/08/26 21:10ID:???こっちで聞いたら?
PostgreSQL
http://pc.2ch.net/test/read.cgi/php/989375812/l50
0754nobodyさん
02/08/26 21:36ID:???0755nobodyさん
02/08/26 21:37ID:ggUoz7FV1つのカラムに全てログを入れると、ログの追加書き込みがめんどくさいという理由なんですが。
一度全て読み込まなければならないので。
■ このスレッドは過去ログ倉庫に格納されています