△▲ WebProg 初心者の質問 Part19 ▼▽
■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん
2009/03/06(金) 00:11:17ID:???質問したいけど、どうしたら良いか分からない。
そんなときは、ここに書き込んでください。
板の住人や、その他が、けなしながら、厳しく教えてくれるかも。
質問する前に、まずはここを読んでね。
【注意事項】
・質問する前にGoogleで検索してみましょう
http://www.google.co.jp/
・環境(ソフトウェアのバージョンなど)は、必ず書いてください。できるだけ詳しく。
後から情報を書き足す、いわゆる情報の小出しは極力避けてください。
・何がしたくて、何ができて何ができないのかを書きましょう
・マルチポスト(複数のスレッドで質問する行為)は絶対に禁止です。
・過去ログは必ず読みましょう。あなたと同じ質問をしてる人がいるかも知れません。
2ch 総合ガイド
http://www.2ch.net/guide/
お願い。
適切な、板、スレ、を発見した場合、誘導してあげましょう。
スレの性質上 age 進行でお願いします。
関連情報は
>>2-3辺り
☆前スレ☆
△▲ WebProg 初心者の質問 Part18 ▼▽
http://pc11.2ch.net/test/read.cgi/php/1219842559/
0544nobodyさん
2009/04/14(火) 16:10:54ID:RH31SnaDこの最初の{if error}〜{endif}にマッチする正規表現を書きたいのですが
'/\{if error\}.*\{endif\}/'
これだと2番目の{endif}までが対象になってしまいます
最初の{endif}までマッチさせるにはどう書けばいいですか?
0546nobodyさん
2009/04/14(火) 16:52:16ID:???「PEARパッケージは、public_htmlなどの
HTTP公開ディレクトリ(HTTPアクセスが
可能なディレクトリ)以外に配置することが推奨されます。」
って書いてあるけど、じゃあ
public_htmlの外にファイルを置けない
サーバーはどうしたらいいの?
0548nobodyさん
2009/04/14(火) 17:00:16ID:???0549nobodyさん
2009/04/14(火) 17:01:39ID:???0550nobodyさん
2009/04/14(火) 17:03:39ID:???【あなたはゆとりですか?】はいorいいえ
0551nobodyさん
2009/04/14(火) 23:52:14ID:???次から追加よろ
0552nobodyさん
2009/04/16(木) 09:34:47ID:???特に、public_htmlの外側に置く方法。
それと、希望のライブラリを依存関係も
含めて、自動でインストールする方法。
0553nobodyさん
2009/04/16(木) 09:45:17ID:???0554nobodyさん
2009/04/16(木) 10:16:27ID:???0556nobodyさん
2009/04/16(木) 10:20:01ID:???0557nobodyさん
2009/04/16(木) 11:01:02ID:???0558nobodyさん
2009/04/16(木) 15:29:05ID:???0559nobodyさん
2009/04/16(木) 15:29:47ID:???自分の希望の場所にインストールするのって
どうやるの?
0560nobodyさん
2009/04/16(木) 16:13:22ID:???0561nobodyさん
2009/04/16(木) 16:51:05ID:???「Connection to `pear.php.net:80' failed: 接続済みの呼び出し先が一定の時間を過ぎても正しく応答しなかった
ため、接続できませんでした。または接続済みのホストが応答しなかったため、確立された接続は失敗しました。」
ってなるんだが?
0562nobodyさん
2009/04/16(木) 16:58:30ID:???0563nobodyさん
2009/04/16(木) 17:07:44ID:???ずーっと調べてたんですけど??
0564nobodyさん
2009/04/16(木) 19:10:52ID:???$a='foo';
$a[0]='b';
print $a;
?>
-------------------
出力結果
boo
これはなんでだ?
0565nobodyさん
2009/04/16(木) 19:13:06ID:???0567nobodyさん
2009/04/17(金) 05:53:45ID:???DBを削除したのだが、installしようとしても
「すでにインストールされています」
と出るのだが?
uninstallコマンドを使ったら、ようやく
本当にアンインストールできたが、、、
0568nobodyさん
2009/04/17(金) 05:56:18ID:???0569nobodyさん
2009/04/17(金) 06:09:28ID:???5分以内に答えなかったらアメリカ人に聞くからな
0570nobodyさん
2009/04/17(金) 20:24:00ID:???支店コードと支店名の対応とか
入力した口座番号が存在するかとか
そういうのを調べる方法ってある?
0571nobodyさん
2009/04/17(金) 20:27:14ID:???0572nobodyさん
2009/04/17(金) 20:29:42ID:???例えばアフィリエイトシステムで売り上げを出したユーザーに振込みを行う場合、どう実装するのが一般的?
やりたくないけど発注元の意向で自前のDBに口座情報を登録して、それで振込みを行う予定なんだけど、
入力された口座情報が間違ってたら面倒だし。
0573nobodyさん
2009/04/17(金) 20:43:47ID:???上二つなら非公式なのがあるかもしれんが、一番下はないわw
ウチが仕事でやっているサイトは、銀行ページにいったんジャンプさせて本人確認を行い、
その銀行ページから戻ってきたデータをDBに突っ込んでいる。
3Dセキュアみたいなかんじね。
振り込めなかったら「振込失敗したぞゴラァ!」メールを送るのが定番だろうね。
そもそも登録時点で口座があっても、振込み時点で口座がある保障はない。
0574nobodyさん
2009/04/17(金) 20:57:48ID:???ジャンプさせて、ってスクレイプサーバーとか?
クレジットならASP的なものを見た事あるけど銀行でもあるの?
0575nobodyさん
2009/04/17(金) 21:56:25ID:???互いに持っている共通鍵を使って暗号化した顧客データをPOSTしあう。
銀行側に専用ページを作ってもらう必要があるぜ?
0576nobodyさん
2009/04/17(金) 22:05:25ID:???銀行・支店コードくらいは公式にWebAPIかDBデータを公開してるとこがあってもいいだろとおもったけど
非公式しかないな・・・
0577nobodyさん
2009/04/18(土) 08:55:30ID:???そこにインストールをしたいのですが、
MS-DOSプロンプトでpear.batを使うと、
xamppのほうのディレクトリに入ってしまいます。
どうしたらaaaに入ってくれるのでしょうか?
0578nobodyさん
2009/04/18(土) 08:58:03ID:???(2)そこのpear.batを実行する
(3)pear install DB と入力
(4)なぜかC:\xampp\php\pearにDBがインストールされてしまう
こういう状況です。なぜxamppに入ってしまうのか??
0579nobodyさん
2009/04/18(土) 09:32:35ID:???レジストリ追加して、Windowsを再起動すると
そっちが有効になるのね。
0580nobodyさん
2009/04/18(土) 14:11:58ID:7woKrGti空のディレクトリを作成し、「猫.JPG」「熊.JPG」「馬.JPG」をアップロードしました。
(画像は同じファイルを3つコピーして名前を変えただけです)
アップロードする際は、FTPクライアントの設定でファイル名の文字コードをEUCにしています。
これでアップロードしたディレクトリのURLを開くと、
ApacheのIndex of〜という画面が出てきてアップロードしたファイルがリスト表示されるのですが、
ファイルのリンクをクリックしたところ、「熊.JPG」「馬.JPG」が404になってしまいました。
一方、なぜか「猫.JPG」は画像が表示されます。
文字コードの問題かと思ったので、同じファイルをUTF-8でアップロードしたところ、
全てのファイルが表示されるようになりました。
また、Shift-JISで試したところ、全てリンク切れになりました。
今回はEUCの日本語ファイル名を使用したいのですが、
EUCでもリンク切れを起こさないようにするには何を設定すればよいのでしょうか?
また、EUCの場合、猫はOKで馬と熊が駄目な理由は何なのでしょうか?
どなたかご教示下さい。
0581nobodyさん
2009/04/18(土) 14:26:07ID:???0582580
2009/04/18(土) 14:40:59ID:7woKrGtiEUCの場合、「猫.JPG」は「%c7%ad.JPG」、「馬.JPG」は「%c7%cf.JPG」でアクセスしています。
しかし、猫は表示されるのに馬は404です。熊も同様にやってますが、やはり404です。
先ほど別のサーバー(Apache/2.2.8 (Ubuntu))で試してみたのですが、
そちらではEUCでも猫・馬・熊ともうまく表示されました。
となると最初のサーバー(Apache/2.0.51 (Turbolinux))で
何か設定が違うのだと思うのですが、見当が付かずに困っています。
何か心当たりがあればアドバイス頂けると助かります。
0583nobodyさん
2009/04/18(土) 14:52:40ID:???0584nobodyさん
2009/04/18(土) 15:03:10ID:???0585580
2009/04/18(土) 15:12:09ID:???ファイルアップロードのプログラムを使うので、日本語も通したいと思います。
>>584
404なので、エラーログはFile does not existと出るだけです。
0586nobodyさん
2009/04/18(土) 15:31:09ID:???ls -1 *.jpg | od -cx とかしてファイル名のバイナリが期待どおりか
このへんは確認済み?
0587nobodyさん
2009/04/18(土) 15:31:21ID:???0588nobodyさん
2009/04/18(土) 15:31:43ID:???SetServerEncoding EUC-JP
てしたらどうだ?
0589nobodyさん
2009/04/18(土) 15:41:54ID:???0590nobodyさん
2009/04/18(土) 17:30:59ID:???0591nobodyさん
2009/04/18(土) 18:23:14ID:???URLエンコードって入門書読むとたまに
出てくるんだけど、別に無視しても
動くんだけど、もしかしてPHPの古いバージョンでだけ
気にしなければならない設定?
0592nobodyさん
2009/04/18(土) 18:26:53ID:???0593nobodyさん
2009/04/18(土) 18:32:25ID:???アップローダが出来上がらないことを祈る。
0595580
2009/04/19(日) 00:41:36ID:4BUZ2qormod_encodingを設定しても状況は変わりませんでした。
色々試したところ、どうもApacheが常にUTF-8でファイルを探しにいっているようです。
「馬.JPG」をEUCでURLエンコードし、「%c7%cf.JPG」としてアクセスした場合、
サーバー上に、ファイル名の文字コードをEUCとして保存した「馬.JPG」があっても404になります。
しかし、UTF-8で保存した「馬.JPG」がある場合、画像が表示されました。
EUCでURLエンコードしてアクセスしているにもかかわらず、
UTF-8で名前が付けられたファイルが呼び出されていることになるので、
Apacheが内部で勝手に変換しているようです。
この変換をさせないためには、Apacheのどの設定を変えればよいでしょうか?
0598580
2009/04/19(日) 15:52:32ID:???文字コードを変更するなら、>>580で書いてる通りUTF-8が通るのでそれを使います。
ただ、今回はEUCの日本語ファイル名を使用したいので、
UnicodeもUTF-8も使用できません。あくまでEUCが対象なのです。
0599nobodyさん
2009/04/19(日) 16:10:07ID:???0601nobodyさん
2009/04/19(日) 20:00:48ID:???jcode.plとかいうものがひんぱんに
出てきていたのですが、
PHPを学びはじめてから
まったく出てきません。
なぜでしょうか?
0604nobodyさん
2009/04/19(日) 23:03:19ID:???ちうか、perl界隈でもjcode.plを使わないのがトレンド。だいたい2000年ごろくらいまでか、使われてたのは。
jcode.plが出て来たら、問答無用で時代遅れと見なしていい。コードが古いのか書いてる奴が古いのかは知らんが。
Perlのライブラリであるjcode.plがPHPに登場しないのは当然の話だな。
お前が今まで書いたPerlのコードだって、PHPで動かそうとしたって動かないだろ。
0605nobodyさん
2009/04/19(日) 23:21:40ID:???0608nobodyさん
2009/04/19(日) 23:39:16ID:???0609nobodyさん
2009/04/19(日) 23:53:28ID:???「クエリーストリング」
という用語がしつこく出てきましたが、
PHPの教科書にはほとんど出てきません。
なぜでしょうか?
0610nobodyさん
2009/04/20(月) 00:20:53ID:???感謝されるやつと感謝されないやつがいるっていう現実がすべてだろ。
悔しかったら感謝されるようなレスしろよ。
0611nobodyさん
2009/04/20(月) 01:01:45ID:???fileテーブル
id,name,type,size,blob
こんなかんじのテーブルなのですが、
select id,name,type,size from file
のように、取得するフィールドを指定すれば無駄にblobがselectされるのを防げるのでしょうか?
それとも、
file_bin
id,file_id,blob
のように、blob型だけ別テーブルに分けたほうが良いのでしょうか?
よろしくお願いします。
0612nobodyさん
2009/04/20(月) 01:15:49ID:???0613nobodyさん
2009/04/20(月) 01:32:34ID:???後者のように分割する意味はほとんどないし、無駄にJoinが必要になる
ファイルが何GBもあるようなときはInsert/Update中にFileテーブルがロックされるのを防げることがあるかも?ないかも
0614nobodyさん
2009/04/20(月) 03:13:26ID:???そもそも板違いだな。DB関係の板で質問してみたら?
0615611
2009/04/20(月) 11:51:13ID:???>>612-613
きちんとselectで指定すれば、無駄に読み込まれることはないようですね。
>>ファイルが何GBもあるようなときはInsert/Update中にFileテーブルがロックされるのを防げることがあるかも?ないかも
これは気がつきませんでしたが、
今回はそこまでアップロードに時間がかかるようなファイルはアップロードしないと思うので、問題ないと思います。
OpenPNE3などのテーブル構造を見てみたら、
fileとfile_binなどに分けられていたので、
なにか意味があるのかなと思い質問したのですが、
それほどメリットはないという認識でよいのでしょうか?
>>614
処理系というのは、ここではデータベースのことでしょうか?
書き忘れてしまったのですが、今回使っているのはMySQLです。
板違いということについては申し訳なく思っています。
しかし、WebProgに関係ないわけでもないので、どうかご容赦ください・・・
0616nobodyさん
2009/04/20(月) 21:04:45ID:???どこのBlogでもそうですが、以下のような形式で、ユーザIDを含むURLにアクセスすると、そのユーザのページにアクセスできます。
例)
http://<ユーザID>.example.com/index.html
http://example.com/<ユーザID>/index.html
新規登録で、ユーザを作成、DBに格納→DBにあるユーザIDを上記形式でそのユーザのページにアクセスできるようにするテクニックを教えていただけませんか?
0618nobodyさん
2009/04/20(月) 21:14:01ID:???0619616
2009/04/20(月) 21:35:07ID:???web.xmlからどうにかできないか考えていたんですが、やりかたが思い浮かばないですし、
まず、これを実現するにあたる基となる何かが必要だと思うのですが、
今のところ、考えてみたのは、
ユーザ登録後、OSレベルでDir(ユーザID)掘って、
Request側) 指定Dir配下を検索→ヒット
Response側) http://<ユーザID>.example.com/→アクセス可
たぶんできると思うのですが、これ以外にやりかたあるのでしょうか?
上記のやり方は格好わるいし。
0620nobodyさん
2009/04/20(月) 21:38:34ID:???ほい
http://httpd.apache.org/docs/2.2/ja/mod/mod_userdir.html
0621nobodyさん
2009/04/20(月) 21:56:38ID:???0622616
2009/04/20(月) 22:02:49ID:???ありがとう。
全くその通りです。
Apache modにこんなのあるんですね。(常識?
大変助かります。
やっぱり、ユーザ登録後、mkdirしないとダメかな。
希望としては、ユーザ毎のDirectory無しで。。。(・ω・`)
0623nobodyさん
2009/04/20(月) 22:05:20ID:???0624nobodyさん
2009/04/20(月) 22:18:05ID:???www.example.com/hoge/username/fuga.html
hoge.cgiとかを動かして、拡張子をmultiviewとかで隠蔽すれば、上記のURLでアクセスさせられる。
username/fuga.htmlはPATH_INFOで受け取ってアプリケーション側でなんとかする。
やった事無いけど、DirectoryIndexも併用すればexample.com/username/でアクセスさせられると思う。
mod_rewriteを使っていいなら、パスはなんでもアリになる。
リクエストURLを正規表現で書き換えられるから、事実上なんだってできる。
独自ドメインは流石にDNSとかバーチャルホストをどうにかしないといけないと思うのだが、その辺は良く分からん。
0625nobodyさん
2009/04/21(火) 04:55:48ID:TMA0XNZYわざわざ上書きせずに、最初からhttpヘッダに書いておいた方がよくないですか?
何でわざわざmetaタグを書かなければいけないのですか?
0626nobodyさん
2009/04/21(火) 05:33:53ID:???ローカルに保存された場合とかProxyに削られちゃ場合とかには役に立つかもってことかな
また、コンテンツ内のスクリプトタイプ等をデーモンが調べてヘッダを生成するってのは、
やってできないことはないが100人いたら100人にやめろと言われる実装だと思う
で、metaタグとはその名の通りコンテンツのメタレベルに言及するためのタグだから
コンテンツがやり取りされた状況(HTTPなりなんなり)について干渉する方法があることに
特に不思議な点はないと思う
UAに対する通知の仕組みをあたらしく作らずにHTTPヘッダを流用したのは
俺は悪くない選択だと思うけど、その辺どういう議論があったんだろうね
0627nobodyさん
2009/04/21(火) 05:55:10ID:???$a[0]=2;
どっちが正式な書き方?
0628nobodyさん
2009/04/21(火) 06:03:59ID:???あと言語は何?
0630nobodyさん
2009/04/21(火) 07:39:04ID:???0631nobodyさん
2009/04/21(火) 11:00:11ID:???0632nobodyさん
2009/04/21(火) 11:18:14ID:???0633nobodyさん
2009/04/21(火) 12:16:37ID:???example($sample, $sample2, $sample3);
function example($sample, $sample2, $sample3){
require_once 'test.php';
}
test.phpの中に同様に$sample 〜 $sample3があるのでtest.phpに引数として
渡したいのですが上記をどのようにすればtest.phpに$sample〜$sample3を渡すことで出来ますか?
functionに引数として渡せていることは確認しているのですが、そこから先のtest.phpへの引き渡し方が分かりません。
ご存じの方いらた是非ともアドバイスいただきたいです。
0634nobodyさん
2009/04/21(火) 12:29:51ID:???変数名のバッティングは検出しづらいバグの温床だからかぶらないようにするべきだとおもうけど
0635nobodyさん
2009/04/21(火) 12:33:02ID:???0637nobodyさん
2009/04/21(火) 15:57:53ID:???インスタンスなしの場合
test::hogehoge( $sample, $sample2, $sample3 );
インスタンスのコンストラクタに渡す場合
$test = new Test( $sample, $sample2, $sample3 );
インスタンスのメソッドに渡す場合
$test = new Test();
$test->hogehoge( $sample, $sample2, $sample3 );
0638nobodyさん
2009/04/21(火) 16:09:32ID:???0639nobodyさん
2009/04/21(火) 18:42:48ID:???0640nobodyさん
2009/04/21(火) 19:59:49ID:???(1)PHP
(2)javascript
(3)MySQL
の3つ?
0641nobodyさん
2009/04/21(火) 20:04:34ID:???0643nobodyさん
2009/04/21(火) 22:59:06ID:???PHPはウンコだから文字列と数値を区別できない。同じ意味なので、どちらが正しいという事も無い。
PHPでそう書くと、前者の代入結果は後者で上書きされ、なかった事になる。
常識的な他の言語では、両者は別のものなので、どちらが正しいという事は無い。
$a['0']=1;
$a[0]=2;
echo $a['0']; // PHPだと2。ふつうは1。
echo $a[0]; // 2
echo count($a); //PHPだと1。ふつうは2。
>640
PHPで何をしたいかによる。
■ このスレッドは過去ログ倉庫に格納されています