【PHP】質問スレッド Part7
■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん
03/02/06 05:56ID:???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-10あたりに
0784nobodyさん
03/03/25 13:24ID:???0785nobodyさん
03/03/25 13:37ID:CVcoKJbJ>クラスにメンバ関数を実装するポリシーはどのように持ってますか?
>メンバ変数への単純な代入にもメンバ関数を実装しますか?
インターフェースになるメンバ関数とは getter, setter メソッドのことでいいのかな?
自分の場合ですが、(他の言語でもそうなのだけど)
そのクラスを利用する人がメンバ変数を参照する必要があるかどうかを基準に判断しています。
public なメンバ変数へのアクセスのみ実装しています。
クラスのインスタンスから直接メンバ変数にアクセスするようなコードはさけるため。
private なメンバ変数へは、外部から参照する機会少ないはずなので、
実装するメリットはあまりないと思います。
0786nobodyさん
03/03/25 14:34ID:???0787nobodyさん
03/03/25 14:46ID:???0788nobodyさん
03/03/25 18:37ID:???hogehoge.php?a=0123
とすると
$aに0123がセットされますよね
某所で
hogehoge.php?=0123
となっているのを発見したのですが
0123は何処にセットされるのですか?
0790nobodyさん
03/03/25 22:21ID:uCxA2hMQ書きたいのですが、PHPをサポートしているプロバイダを
教えていただきたいと思います。
(プロバイダとの契約は個人ではなく企業向け契約です)
よろしくお願いします。
0791nobodyさん
03/03/25 22:23ID:???$_SERVER["QUERY_STRING"]
#うーん、自前でパースしないで済むので最近のプログラマは恵まれとるのぅ
もともとGETでURLに続けて送った文字列はサーバの環境変数(QUERY_STRING)に
そのまま放り込まれ、スクリプトの変数とかに代入したかったら自前で
パースするしかなかったんよ。
それがPHPとかは、Webプログラミング向きに変数への代入が楽なように
システム側が面倒見てくれるようになっている。
件の例だと$_SERVER["QUERY_STRING"]に、=0123という文字列が入ってる。
phpinfoを出力するスクリプト書いて、phpinfo.php?=0&a=1&b=2 とかして
どうなってるか見てみそ。
0793nobodyさん
03/03/25 22:29ID:???0795nobodyさん
03/03/25 23:25ID:H32QaIGhname に ' が含まれていると \' に変換されてしまいます。
これって去れないようにできないんでしょうか?
0796nobodyさん
03/03/25 23:31ID:???けど、' を含めないようにするべきかと。
0797795
03/03/25 23:37ID:???<input type = "text" name = "name" value = "hoge'hoge">
というときに $_POST['name'] に含まれている ' のことです。
実際に避けるにはどうしたらよいのでしょうか?
0799795
03/03/25 23:46ID:???ありがとうございました。
0800●かろりーたさん ◆JwU5Ac6TK2
03/03/25 23:47ID:BTZxooJl0801nobodyさん
03/03/26 00:58ID:+RBAHMCa正に同じところでぶつかったのでちょっと調べてみた。
php.iniのmagic_quotes_gpcをonにしてると自動的にそうなる。
元に戻すにはstripslashesでok。
0802nobodyさん
03/03/26 01:46ID:???POSTでもGET渡しでも、確かに要URLエンコードだけど
POSTなら多くの場合(大抵は797とかhiddenのパターンで、UAも普通のWebブラウザ)
は勝手にエンコードしてる筈だから、そこは余り気にしないでも良いかと。
技術者ならば裏の動作は知っとけ、には同意
0803nobodyさん
03/03/26 02:22ID:???回答、ありがとうございます。
>>private なメンバ変数へは、外部から参照する機会少ないはず
確かにそうですね。
言われてみればそういう機会はなかなか無いですね…。
0804nobodyさん
03/03/26 06:09ID:tPbaW3mFPERL→PHPみたいに変換できるソフトやサイトありませんか?
そもそもPERLにできてPHPにできないなどそういったことがあるのはわかるんですが
アル程度できるものあったら教えてください、お願いします。
0805nobodyさん
03/03/26 06:33ID:l1CVp/e0> ありますよ。
どこがPHP使えるのでつか?
0807nobodyさん
03/03/26 07:39ID:tPbaW3mFぐぐってみたんだけどみつからないでつ。。。
0810nobodyさん
03/03/26 09:59ID:???0811nobodyさん
03/03/26 12:26ID:tPbaW3mFはい。
それらしきとこは404じゃないでつか?
0812nobodyさん
03/03/26 22:06ID:???0813nobodyさん
03/03/27 00:38ID:???あとWebARENAとか。
法人契約といっても客に勧めるもんじゃなくて、自分で使うところなら
ちゃんと探せばいくらでもあるでよ。
0815nobodyさん
03/03/27 04:22ID:Ya09dI5Izru17.hoge.com
このような文字列があります。それを
zru2d.hoge.com
zru17d.hoge.com
このように数字の後ろにdをつけるにはどうすればよいのでしょうか?
0816nobodyさん
03/03/27 04:36ID:???.hoge.com を d.hoge.com に置き換え。いっつしんぷる
0817nobodyさん
03/03/27 04:49ID:Ya09dI5I言われてみれば確かに
0818nobodyさん
03/03/27 09:48ID:Ya09dI5I$server = preg_replace(".hoge.com","d.hoge.com",$server);
なんかうまくいかない。
Warning: Unknown modifier 'n'
0820nobodyさん
03/03/27 10:27ID:???Yahoo!メールと同様のwebブラウザで複数ユーザーが
メール(添付ファイル)を操作できるPHPスクリプトを
考えております。
サンプルスクリプト等から有る程度考えているのですが、
添付ファイルの操作と、メールの削除等が難しい・・・
なんか、良いものご存じでしたら、(サンプルスクリプト等)
ご指導ご鞭撻お願いできますでしょうか。
すいません。
0824nobodyさん
03/03/27 12:02ID:xjuAgYTi0825nobodyさん
03/03/27 12:14ID:???正規表現使わないのならstr_replaceの方が早いよ。
$server = str_replace(".hoge.com","d.hoge.com",$server);
0826nobodyさん
03/03/27 12:45ID:6KhWGPqwレンタルサーバのPHPを使ってるのですが
1行目に #!/usr/local/bin/php4
と書く必要があります。
このPHPファイルをうちのローカルLINUXでも
動かすためにはどうしたらいいでしょう?
現状だと、1行目がそのまま出力されてしまうので
この1行目を無視するようにしたいのですが。。。
0827sage
03/03/27 13:01ID:xjuAgYTi一行目を消すか、CGI版PHPインスコする。
0828nobodyさん
03/03/27 15:09ID:xLIju/DK0829nobodyさん
03/03/27 15:17ID:???こういう風に渡されたglobal値をphp内で取得するには
どうやればいいの?
$_arg[''] とかは無いみたいだけど・・。
0830nobodyさん
03/03/27 16:17ID:pa6AxLeC<?php
list($x,$y)=explode(",", $_SERVER[QUERY_STRING]);
echo "X=".$x."Y=".$y;
?>
0831nobodyさん
03/03/27 16:26ID:cW0HAJJz↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓
http://www.pink-angel.jp/betu/index.html
0832nobodyさん
03/03/27 16:47ID:???mOmさんくす
0834826
03/03/27 22:33ID:???ありがとー、おかげであきらめがついて
CGI版つくったよ。かなりはまったけど。。。TT
>>828
ん? 4.2.3だったんだけど。。。
0836nobodyさん
03/03/28 01:53ID:XXU+wfsi$post["msg"] = preg_replace("/((\x0D\x0A)|(\x0D)|(\x0A))/","\n",$post["msg"]);
という改行文字の置換の部分で、エスケープシーケンスを用いずに直接文字コードを
指定していました。
たいていの他のスクリプトは、/(\r\n|\r|\n)/ のような処理を行っていると思いますが、
これにはどういった場合が想定されているんでしょうか?
0837nobodyさん
03/03/28 02:12ID:???ほれ
http://www.din.or.jp/~ohzaki/perl.htm#CRLF_Unify
ほぉ、なるほど!
俺も勉強になった。
0840nobodyさん
03/03/28 03:04ID:???0841nobodyさん
03/03/28 08:40ID:???ウム エラー処理もしておかないとな。
if(!rename("php","html")){ echo "ダメポ"; exit; }
0842nobodyさん
03/03/28 09:40ID:???print mb_convert_encoding( file("euc.txt"), "UTF-8", "EUC");
とやっても、Arrayと出力されるだけです。
どうすればutf-8でファイルの内容を出力できますか?
>>840
php.exe -q < hoge.php > hoge.html
0844a
03/03/28 12:06ID:D9J6JSJg0845a
03/03/28 12:12ID:D9J6JSJg自分は今、マイクロソフトアクセスでデータベースを、PHPで出力など
を制作しているものです。そこで、一つ問題が出てきてしまったのですが、
ローカルホストでは日本語が完璧に表示されるのですが、サーバーに載せ
ると、日本語がすべて「?」になってしまいます。UNIコードとしても
表示されません。海外のサーバーを使っているからだと思うのですが、
何か解決策はないでしょうか。
よろしくお願いいたします。
0846nobodyさん
03/03/28 12:21ID:???こんにちは。
自分は今、マイクロソフトアクセスでデータベースを、PHPで出力など を制作しているものです。
そこで、一つ問題が出てきてしまったのですが、 ローカルホストでは日本語が完璧に表示されるのですが、サーバーに載せると、日本語がすべて「?」になってしまいます。
UNIコードとしても 表示されません。海外のサーバーを使っているからだと思うのですが、 何か解決策はないでしょうか。
よろしくお願いいたします。
0847nobodyさん
03/03/28 12:48ID:???とりあえず、ローカルサーバとリモートサーバの詳細キボン。
#大方スクリプトとDB内のデータの文字コードの問題だろうがな。
0848nobodyさん
03/03/28 15:10ID:???なふうに呼び出したときの「/php/1044478561/」の部分を
取得する方法はありますか?
普通はmod_rewrite
0852nobodyさん
03/03/28 17:33ID:???@sortdata = sort { (split(/\,/,$a))[2] <=> (split(/\,/,$b))[2] } @hogehoge;
みたいに、splitかexplodeを使って、配列をソートすることはできますか?
0854nobodyさん
03/03/28 22:09ID:???GetImageSize()の画像種類はどっちも1(gif)が返ってきます。
0856nobodyさん
03/03/28 23:53ID:???function cmp ($a,$b){
$arr_a = explode(",",$a); $arr_b = explode(",",$b);
if($arr_a[2] == $arr_b[2]) return 0;
if($arr_a[2] > $arr_b[2]) return 1;
if($arr_a[2] < $arr_b[2]) return -1;
}
usort($arr,"cmp");
0859nobodyさん
03/03/29 13:20ID:???ヘッダからはGIF87aか89aの情報ぐらいしか取れないから駄目でしょ。
GIF87aなら否アニメGIFだけど、89aだからだけではアニメGIFかどうかまでは判らない
中身読めば勿論判るけど…そんなことしなくて良い方法がありそうな、なさそうな。
0860nobodyさん
03/03/29 13:28ID:???>なさそうな。
無いでしょう。gifファイル以外から任意のgifファイルがアニメgifか否か判断するなんて。
目隠しして信号の色を当てるようなもの。
0861nobodyさん
03/03/29 13:30ID:???http://tohoho.wakusei.ne.jp/wwwgif.htm
サイズ付きのチャンクみたいだから解析はそんなに難しくない。
Applicationブロックを覗けばOK。
0863nobodyさん
03/03/30 01:12ID:???さすがに秀丸は疲れてきたのでC++builderのエディタでやってるんですが補完機能が欲しいです.
0864nobodyさん
03/03/30 01:32ID:???てか本家のIDEは補完機能なかったっけ?
オイラはemacs好きなのでmeadow+補完lispか、WebStudio使ってるけど。
0865nobodyさん
03/03/30 01:33ID:???xyzzy + php-mode はどう?
php-modeのphp-completion関数を使えるようにして、
適当なキーにバインドしてやるとほぼ望みの環境になるかと。
0866863
03/03/30 02:55ID:???>>864
秀丸のマクロ探してみたら簡単にみつかりました.
.mac見て,秀丸のマクロは結構簡単に自分で定義することも出来そうなことに初めて気付く…
>>865
xyzzyのfundation(?)をphp-modeにして早速使ってみたんですが完璧です(てゆうかxyzzy自体初使用
縦割りと横割りもできるし,emacsとキー操作似てるのがまた(特にC^x C^fが嬉しい
しばらくこれが標準になりそうです..
0867865
03/03/30 03:14ID:???browserex.l(別途調べてみてください) を利用して以下のような設定にすると、
さらに幸せになれるかも。
;;; browserex.l 設定
(load-library "browserex")
(setq bx:*browser-width* 800) ; デフォルトの表示幅
;; browser.l 互換関数定義
(defun navigate (url)
(interactive "sURL: ")
(bx:navigate url))
(defun close-browser ()
(interactive)
(bx:close-browser))
(define-key *global-keymap* #\C-End 'close-browser) ; Ctrl+Endで閉じるように
;; php-mode
(load-library "php-mode/php-mode")
(load-library "php-mode/php-misc")
(push '("\\.php$" . php-mode) *auto-mode-alist*)
; デフォルトでは、*.htmlを読みに行ってるので*.phpを読みに行くようにする
(defun ed::php-doc-function-open (func)
(let ((path (concat *php-doc-base-path*
(format nil "function.~A.php" (substitute-string func "_" "-"))))
(navigate path)))
(define-key ed::*php-mode-map* #\F1 'ed::php-doc-function)
これで、オンラインであれば関数名入力後にF1を押すと php.netの関数リファレンスが読めます。
細かい設定は長くなりすぎるのと、板&スレ違いなので割愛。
0868865
03/03/30 03:18ID:???上記は~/.xyzzyかsiteinit.l内への記述で、
(load-library "php-mode/php-mode")
とかの辺りは各自環境によって異なります。
私の場合 "site-lisp/php-mode/php-mode.l" と置いてるので、
上記記述になっています。
本格的な説明が必要ならば、xyzzy質問スレで。
http://pc2.2ch.net/test/read.cgi/software/1041326960/
0869nobodyさん
03/03/30 04:07ID:???php-modeインストールってどうやんの?
0870nobodyさん
03/03/30 17:52ID:???俺は普段は、HTML Help版のマニュアル呼ぶようにして使ってる。
その方が速いし検索とかも便利だから。
>>869
秀丸使っとけ
0871865
03/03/30 23:37ID:???HTML Help版って、.chmのやつですよね?
そっちを使うのも試してみたんですが、
別ウィンドウで開くのが性に合わなかったので。
(この辺は好みの問題ですね)
オフラインの.html版を使うのもありですが、
情報が古くなってると嫌なので、家ではオンラインで使っています。
0872nobodyさん
03/03/31 19:52ID:D6ukRZiwこれのPHP版はありませんかねぇ。
探しても見つからないモノで...
0873nobodyさん
03/03/31 20:35ID:GvJTx+Hi別に問題なく動いてますが、
CONFIGURATIONに書かれている内容が気になります。
今デフォルトのままですが、/tmp にコンパイル後のファイル?が保存されてます。
ちゃんとメモリーにキャッシュされてるんでしょうか?
ちなみに入れたのは
php_accelerator-1.3.3r2_php-4.2.1_linux_i686-glibc2.1.3
0876rwxr---wx ◆jTWOZwTY1g
03/04/01 02:02ID:???っていうか、あのおっさん誰?
0877nobodyさん
03/04/01 02:12ID:???システム時計を弄れば何時でも見れた訳だが…書き込み見て思い出した。
確かに「犬」だな。前の「顔」がインパクトあり過ぎだったのでイマイチ。
ま、毎年MLネタになってますね。今年も投稿あるかな(w
あのおっさんは開発者(Thies)?
[PHP-users 6570] Re: phpinfo() で男の顔が
0879nobodyさん
03/04/01 02:33ID:???Apache PHP Version 4.2.2 で自鯖にphpタイプのアプロダ置いてるんだけど
設定で50MBまでおけーになってるんだが
500kb以上になったら404が返ってくる
どっかphp自体の設定変えないといけない?
404ってのは妙だな。
ひょっとしてhttpdの設定だったり...
,'⌒,ー、 _ ,,.. X
〈∨⌒ /\__,,.. -‐ '' " _,,. ‐''´
〈\ _,,r'" 〉 // // . ‐''"
,ゝ `</ / 〉 / ∧_,. r ''"
- - - -_,,.. ‐''" _,.〉 / / . {'⌒) ∠二二> - - - - - - -
_,.. ‐''" _,,,.. -{(⌒)、 r'`ー''‐‐^‐'ヾ{} +
'-‐ '' " _,,. ‐''"`ー‐ヘj^‐' ;; ‐ -‐ _- 腹減ったコンビニ逝ってこよ
- ‐_+ ;'" ,;'' ,'' ,;゙ ‐- ー_- ‐
______,''___,;;"_;;__,,___________
///////////////////////
0881nobodyさん
03/04/01 04:23ID:diwdGVyzスマソ 404じゃなくてページを表示できませんだった。。。
php.iniで変えた部分は
memory_limit 128M post_max_size 100M upload_max_filesize 80M
このように値を決めました・・・
Apache version 2.0.40 PHP Version 4.2.2 です。
500kb以下だとすぐアップすぐできるんだけど
500kbより上になるとすぐにページが表示できませんってなるの・・・
どこか他にありますかね?
0882nobodyさん
03/04/01 04:24ID:???こんな感じです・・・
エラーログは
エラーを見る限りにおいてはファイルサイズが512kbよりでかいよ。
って、そのものなんだけどな。
phpinfo()で設定が反映されているか確認汁。
#Apache2は使ったこと無いので知らんが。
■ このスレッドは過去ログ倉庫に格納されています