【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あたりに
0696nobodyさん
03/03/21 18:54ID:???意味はわかるがそれくらい自分で勉強できないでプログラムを趣味や仕事にするのは危険だと思われ。
安易に答えを提示する「初心者つぶし」からの回答でも待ってください。
0697PHP長所新車
03/03/21 19:03ID:F7U+UqHW正直言うと、694自身も今作成中のスクリプトの一部で
これに関してはまったく作ってないです。
3が特に分からないです。
PHPをかいてるのが今日が初めてなんで、
695さん696さんが思っている以上にかなりの知識のなさです。
コンピュータ関係のバイトで、あるスクリプトを作って
くるように言われてて、試行錯誤いろいろ調べ、本も見たのですが、
上記の部分は現時点ではどうすればいいのか結局
わからなかったので、ここに書かせていただきました。
0698デブおた山崎渉
03/03/21 19:05ID:???( ´;^;ё;^;)<これからも僕を殺して下さいね( ´;^;ё;^;)。
=〔~∪ ̄ ̄〕
= ◎――◎ デブおた山崎渉
0699PHP長所新車
03/03/21 19:19ID:F7U+UqHW0701nobodyさん
03/03/21 19:25ID:???マニュアル ( http://www.php.net/manual/ja/ )
のファイルシステム関数あたりを読んで下さい
それで分からなかったら諦めて下さい
0702nobodyさん
03/03/21 19:25ID:???最初にこの辺を参考に、htmlのformからphpスクリプトへの
入力データの受け渡し方法の基本を学び、
http://www.php.net/manual/ja/tutorial.forms.php
次に、fopen()で生成したnantoka.txtというファイルに対して
http://www.php.net/manual/ja/function.fopen.php
fputs()でformから受け取った入力データの実際に書き込む。
http://www.php.net/manual/ja/function.fputs.php
あとはスクリプトが終了すると、自動的にクローズされるのだが
fclose()でファイルポインタを明示的に閉じるのが筋であろう。
基本的なことなのでgoogleでPHPと検索語を組み合わせると
丁寧なチュートリアルが多分どっかに転がってると思います。
0703702
03/03/21 19:29ID:???>694自身も今作成中のスクリプトの一部で
その書き方だとニヤッとする香具師が折り以外にも多数いると思う(笑
まあ、さっきの関数の使い方を調べて見れ
0705PHP長所新車
03/03/21 19:32ID:F7U+UqHWなるほど。丁寧にありがとうございます。
おっしゃもうひとふん張りするか。
本当にどうもでした!!
>>703
なんででしょ?
0706nobodyさん
03/03/21 19:41ID:5jNBqUYZ0708nobodyさん
03/03/21 20:39ID:wEEgu7v2Perlではこんな風にやってたんだけど、PHPではどないにするんだ?
$tmpl =~m[<loop>(.*?)</loop>]si;
$head = $`;
$loop = $1;
$foot = $';
0709nobodyさん
03/03/21 21:00ID:???http://www.php.net/manual/ja/function.preg-match.php
0710初心者
03/03/21 23:26ID:???加工する事ってできる?
$msg = "結果:test1";
$msg = mb_ereg_replace(':test[^<>[:space:]]+[[:alnum:]]{0,2}',"<a href=\"\\0\">\\0</a>",$msg);
print($msg);
結果<a href=":test1">:test1</a>
本当は以下の様にしたい。
結果<a href="1">:test1</a>
0711nobodyさん
03/03/22 02:08ID:ezlaWtaqそのファイル全体を文字列に格納するにはどのようにすればいいのでしょうか?
0713nobodyさん
03/03/22 02:24ID:???普通にuploadしたファイルを開いて読んで変数に代入してください。
んなもん質問する事ではないよ。
0714初心者
03/03/22 02:30ID:???分かりやすく説明出来る方います?
http://www.php.net/manual/ja/function.ereg-replace.php
>例 1ereg_replace()の例
>$string = "This is a test";
>echo ereg_replace (" is", " was", $string);
>echo ereg_replace ("( )is", "\\1was", $string);
>echo ereg_replace ("(( )is)", "\\2was", $string);
これじゃ訳わかんねーよ(´・ω・`)ショボーン。
なぜ故に\0なのか? なんか勘違いしていないかい。
もう少しマニュアルを嫁
$msg = mb_ereg_replace(':test[^<>[:space:]]+([[:alnum:]]{0,2})',"<a href=\"\\1\">\\0</a>",$msg);
これでいける筈。
0716nobodyさん
03/03/22 02:39ID:???>>716
要点が絞られていれば、俺的には許せる範囲なんだけどな。
よくみりゃ間違っている。マッチさせる意図がいまいち不明なのだが、
$msg = mb_ereg_replace(':test([^<>[:space:]]+[[:alnum:]]{0,2})',"<a href=\"\\1\">\\0</a>",$msg);
かな。
0720711
03/03/22 03:18ID:ezlaWtaqファイル選択のためのブラウザからローカルフォルダの
ファイルを選択するということです。
フォームを使って、ファイルを選択すると、フルパスが得られますが、
そのまま、file_get_contents()に引き渡していいのでしょうか?
まぁね。
先程MLにも HELP! と書かれた投稿があったけど、
なんかかまってクレクレ金正日的瀬戸際投稿みたいだしなぁ。(w
0722commiter
03/03/22 03:29ID:???それをnobodyで書く香具師も同じレベルだ罠
0723nobodyさん
03/03/22 03:35ID:???>ファイル選択のためのブラウザからローカルフォルダの
「ファイル選択のためのブラウザ」って?
>そのまま、file_get_contents()に引き渡していいのでしょうか?
やってミレ、どうなる?phpがどういう場面で使われる言語かを理解し
ていれば聞くまでもない質問と思われ。
0724nobodyさん
03/03/22 04:00ID:???fsockopenが妙に遅いので並列化したいのですけれど。
0725711
03/03/22 04:02ID:ezlaWtaqうまく言えませんが、たとえば、フォームで、
<input type="file" name="doc_file"/>
とすることによって、ファイルを選択できるようにすることです。
0726nobodyさん
03/03/22 04:29ID:???$_FILES['doc_file']['name']でアップロードされたファイル名が取得できるから
それにphp.iniで設定してるテンポラリパスでフルパス保管してfile_get_contents()に渡せばok。
0727nobodyさん
03/03/22 09:41ID:???http://itb-tech.itboost.co.jp/phptips/view.php?fCID=21#71
こんなんでいいかな
0728PHP長所新車
03/03/22 11:18ID:p2AmiiWsさて、昨日はあれから上手くできて非常にハッピー気分で
家路についたのですが、
今日、またバイト先でテンヤわんやになっています。
はっきり言います。
.forwardを自動作成するスクリプトを作ろうと思っていました。
んで、昨日の方法で.forwardを自動作成するのには成功しました。
ただ、それをホームディレクトリに移すのに非常に困っています。
単純にパーミッションを777にすりゃいいやと思っていましたが、
ホームディレクトリを777にするのはセキュリティとかの面から非常に厳しいものなんでしょうか?
そこらへんの概念がまだよく分からなくて。
スクリプトの流れを説明すると、
フォーム入力(メールアドレス)
↓
ファイルオープン
↓
ファイル書き込み(フォームで入力したメールアドレス)
↓
ファイル閉じ
↓
ファイルを.forwardという名でコピー
こんな感じで考えてたんですが、
みなさんから見て、このスクリプトはどうなんでしょう。
クソなのは自分でも分かりますが汗
だれかご返答お願いします。
0729682
03/03/22 11:35ID:crW9s9K2ありがとうございます。成功しました。
$_FILES['doc_file']['name']を全く知りませんでした。
勉強不足ですね。
0731PHP長所新車
03/03/22 12:22ID:p2AmiiWs私です
0733PHP長所新車
03/03/22 12:28ID:p2AmiiWsすんません、質問の意味はきちがえてるかもしれません。
ていうか質問の意味がよくわからなかったりするような気がします。
いや、マジ初心者ですんません。」
0734PHP長所新車
03/03/22 12:38ID:p2AmiiWs0735nobodyさん
03/03/22 12:39ID:???0736nobodyさん
03/03/22 12:52ID:???0737PHP長所新車
03/03/22 13:01ID:p2AmiiWs0738PHP長所新車
03/03/22 13:37ID:p2AmiiWsお〜〜これつかったらいけそうですね。
0741PHP長所新車
03/03/22 14:24ID:p2AmiiWsホームディレクトリのパーミッションを変更するしかないですよね?
0742PHP長所新車
03/03/22 14:28ID:p2AmiiWsパーミッション変更できない場合も多々ありますよね。
そこんところどうなんでしょう。
0743nobodyさん
03/03/22 15:34ID:???0744PHP長所新車
03/03/22 15:41ID:p2AmiiWsなるへそ!!
頭イイ!!
0745PHP長所新車
03/03/22 15:44ID:p2AmiiWsディレクトリのパーティションが700でも
その下のファイルが777だったら
そのファイルを書き換えることができるのですか?
0746PHP長所新車
03/03/22 15:45ID:p2AmiiWsパーティション→パーミッション
0748PHP長所新車
03/03/22 15:47ID:p2AmiiWsそれもそうじゃん!!ってか俺はあぽですか?
0749nobodyさん
03/03/22 15:49ID:???教えて下さい。たのんまっす!
no int, hougaku varchar
テーブル名 hoge
no|hougaku
--|------
10|higasi
20|nisi
30|minami
40|kita
こんなテーブルがあったとします。
$houi = "kita"←仮にテーブルにある文字を設定します。
$sql = "select hougaku from hoge where hougaku = 'houi' ;";
$result = pg_query($sql) ;
if num_rows($result) !=1{
print ("そんな方角はありません。") ;
}
ここまで、$houi に代入された文字がテーブルに有るか無いか分かると思います
もしここで正しく$houiにkitaという文字がセットされたとしたら
noの40という数字が導きたいのだがどうしたらいいかわかりません。
続きのプログラムはどう書いていいのか分かりません。
教えて下さい。
0750nobodyさん
03/03/22 15:53ID:???こんちわっす、2ch学園web板幼稚園の質問ですけど
こんちわっす、2ch学園web板幼稚園の質問ですけど
こんちわっす、2ch学園web板幼稚園の質問ですけど
こんちわっす、2ch学園web板幼稚園の質問ですけど
こんちわっす、2ch学園web板幼稚園の質問ですけど
こんちわっす、2ch学園web板幼稚園の質問ですけど
こんちわっす、2ch学園web板幼稚園の質問ですけど
こんちわっす、2ch学園web板幼稚園の質問ですけど
こんちわっす、2ch学園web板幼稚園の質問ですけど
0751nobodyさん
03/03/22 15:54ID:???ですた,すまそ。
0753nobodyさん
03/03/22 15:57ID:???マルチしてんじゃねえよ
SQLの問題。
select no,hougaku from hoge where hougaku = 'houi'
>>750
ウザイ
0754nobodyさん
03/03/22 16:01ID:???書き込み宣言を与える
.forwardの編集
書き込み宣言をなくす
でいいような。
chmodが使えればだけど…
0756nobodyさん
03/03/22 16:09ID:???select id,ってのがちょっと分かんないんだけど?
Ssql = (" select no,hougaku from hoge where hougaku = 'houi'");
こうでいいっすか?
0758nobodyさん
03/03/22 16:16ID:A41eVY2R↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓
http://www.pink-angel.jp/betu/linkvp2/linkvp.html
0759nobodyさん
03/03/22 16:23ID:vlHFEXy6フォームタグや直接URLに付加したパラメータを取得して表示できません。
printでもechoでも駄目だったんですがどうしてなんでしょう?
取得して表示は単にprint $test; てな1行でいいんですよね?
anHttpdと組み合わせています。
0760nobodyさん
03/03/22 16:23ID:???0761PHP長所新車
03/03/22 16:25ID:p2AmiiWs.forwardって空白にしておいたら転送はされずに
.forwardファイルがない状態として扱われるんですかね?
0764nobodyさん
03/03/22 17:10ID:???0766nobodyさん
03/03/22 18:45ID:???0768nobodyさん
03/03/23 15:23ID:Cga2txVh#!/usr/bin/php を削除して
$ php index.php
だときちんと HTTP ヘッダを書き出してくれるのですが。
何が問題なのでしょうか?
0769nobodyさん
03/03/23 16:38ID:y8MzfBLqC++とかのクラスだと、privateなどの制限された空間があるから
インターフェースであるメンバ関数の実装の必要性はあると思います。
一方でPHPは保護された空間がクラスには存在しないので、
メンバ関数の必要性はC++などよりも薄まるような気がします。
ここにおられる方はかなりPHPを使ってらっしゃると思いますが、
クラスにメンバ関数を実装するポリシーはどのように持ってますか?
メンバ変数への単純な代入にもメンバ関数を実装しますか?
それとも一定の操作を行った後にメンバ変数に代入を行う必要がある場合のみ、
メンバ関数を実装しますか?
自分は少し悩んでたりします。
今後の参考にしたいので、ご意見をお聞かせください。
マニュアルを読んだ限りクラスにprivateなどの保護が無かったようなので、こんな質問です。
もしかしたらクラスに保護の概念はありますか…?
あったら、全くもって見当違いの質問です。スミマセン。
0771nobodyさん
03/03/23 18:24ID:YYgYrLyX変換したい文字は「連邦」です。
困ってます。
0776773
03/03/23 20:23ID:YYgYrLyXSJISがどう関係してくるのですか?
「表」(UTF-8)がクエリで来て、
$query = mb_convert_encoding($query, "eucjp-win", "UTF-8");
結果は「表」(UTF-8)のままです。
「表示」だと文字化けせずに「表示」(EUC-JP)と変換されます。
しくしく。
0777nobodyさん
03/03/23 20:30ID:YYgYrLyX0778nobodyさん
03/03/23 20:36ID:YYgYrLyXこんにちは。
SOAPが原因じゃなくてmb_convert_encodingに何かあるんじゃないかと。
ひょっとして私は激しく既出な質問をしているのでしょうか。。。
mb_detect_encodingが判定をミスってるということもあるのかもしれませんが…
0780nobodyさん
03/03/23 22:02ID:???0781nobodyさん
03/03/24 00:16ID:???とかしてみたら?
0782nobodyさん
03/03/24 01:36ID:x7gONe4m1.UTF-8 → eucjp-win → UTF-8
2.UTF-8 → EUC-JP → UTF-8
3.ISO-8859-1 → eucjp-win → ISO-8859-1
4.ISO-8859-1 → EUC-JP → ISO-8859-1
5.mb_internal_encoding("UTF-8");エンコードなし
あいうえお
1.オケ
2.オケ
3.ダメ
4.ダメ
5.オケ
連邦
1.ダメ
2.ダメ
3.ダメ
4.ダメ
5.オケ
何か根本的に見忘れがある予感。。。
>>781
たしかにいいんですが、
DBがEUCだった場合同じ問題に出くわすはめになるです。
もう寝よ。
しかし、意外(?)と延びないのでこちらにも貼っておきます。
【特許】今では一般的なCookieによるセッション管理に関する特許が成立していた
http://book.2ch.net/test/read.cgi/bizplus/1048507777/
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:???けど、' を含めないようにするべきかと。
■ このスレッドは過去ログ倉庫に格納されています