【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あたりに
0656nobodyさん
03/03/19 16:55ID:D5YXXQfRPerlでは
while($text =~ /($mail_regex)/go){
push(@data,$1);
}
とすると@dataに$mail_regexにマッチするデーターが一括して入りますがこれと同じことをPHPでしたいのです。
0657nobodyさん
03/03/19 17:23ID:???パソコンの知識はギリギリ2ちゃんねるに来れたぐらいです。
0658nobodyさん
03/03/19 17:29ID:D5YXXQfR0659nobodyさん
03/03/19 17:29ID:D5YXXQfR0661nobodyさん
03/03/19 20:04ID:???ギリギリってどんな状態だ(w
0663nobodyさん
03/03/19 22:40ID:???0665nobodyさん
03/03/20 20:26ID:4HfAvm7S例えば、www.hoge.com/curl.php にアクセスして以下のスクリプトを実行させると
<?php
$ch = curl_init();
curl_setopt ($ch, CURLOPT_URL, "http://www.google.co.jp/");
curl_setopt ($ch, CURLOPT_HEADER, 0);
curl_exec ($ch);
curl_close ($ch);
?>
画像が相対指定の場合表示されなくなるんだけど
相対指定の場合でも、うまく表示させる方法ってありますか?
0666nobodyさん
03/03/20 22:29ID:I/iiqEJgもちろん人によると思うけど、平均的に。
0667nobodyさん
03/03/20 22:31ID:???0670nobodyさん
03/03/20 23:53ID:???私は元々Perlが出来たので、
1日程度で掲示板ぐらいは作れるようになりました。
DBはまだ勉強中だけど。
www.hoge.com/curl.php?url=http://www.example.jp
みたいにアクセスすると想定して言うけど。
読み込んだHTMLを解析してimgとかで貼られてる画像を
<img src="./ayaya.png">
↓
<img src="http://www.example.jp/curl.php?url=http://www.example.jp/ayaya.jpg">
みたいに置き換える仕組みを作るしか無いかと。
でないと、絶対パス(じゃないか。http://から始まってるフルパス)で
書かれている時は見えていても直接アクセスしてしまっている罠。
(それでいいならいいんですが)
ところで、curlが必要な理由ってなんでしょう?
>666
どの程度のスキルを「覚えた」と言うかによる。
あと、他の言語(C言語とか)を少しでもさわってるなら
それこそ一週間くらいで結構使えるようになると思われ。
0672nobodyさん
03/03/21 01:27ID:WHiz79q/でファイルの読み込みをしているのですが、ファイル名をブラウザから任意に
選択可能にしたいと考えています。
ブラウザからパスをポストして、$hogehogeに格納して、
file_get_contents($hogehoge);
としてもうまくいきません。
file_get_contentsの使い方を調べてみたのですが、
file_get_contents(string filename [, int use_include_path])の
int以下の記述の仕方がよくわかりません。
素人な質問で恐縮ですが、アドバイスなどいただけますと幸いです。
0673nobodyさん
03/03/21 02:00ID:???何が「どうもうまく」いかないのか書けよ。
ちなみにこの関数はPHP4.3.0以降でないと使えんよ。
use_include_path は 1にすると、include pathも検索するようになる。
0675nobodyさん
03/03/21 13:31ID:sQQisTRy---
$query = "select * from tb_bibliography where \'$search_c\' like \'$search_t\'";
$result = mysql_query($query);
$num = mysql_num_rows($result);
----
次のような、エラーが出てしまいます。
Warning: mysql_num_rows(): supplied argument is not a valid MySQL
おそらく、$queryの書き方がまずいと思うのですが、どのように
修正すればいいのでしょうか?また、「%」をつかった場合は
どのように記述すればいいのでしょうか?
質問ばかりで恐縮ですが、よろしくお願いいたします。
なんか微妙に勘違いしてるっぽい…。
$query = "select * from tablename where fieldname like '%search%'";
こんな感じかと。
テーブルやフィールドの名前がmysqlの予約語に含まれてるなら
`tablename`
みたいにする。
0677nobodyさん
03/03/21 13:59ID:???( ´∀`)/<先生!こんなのがありました!
_ / / / \___________
\⊂ノ ̄ ̄ ̄ ̄\
||\ \
||\|| ̄ ̄ ̄ ̄ ̄||
|| || ̄ ̄ ̄ ̄ ̄||
http://saitama.gasuki.com/hiroyuki/
0678nobodyさん
03/03/21 14:04ID:???$str = str_replace(" ", " ",$str);
に変換すると同じように
ダブルクォーテーションを文字コードに変換したいのですが、
$str = str_replace(""", "?",$str);
だとエラーが出ます。どう記述したらいいのでしょうか?
0679nobodyさん
03/03/21 14:11ID:sQQisTRy$query = "select * from tablename where $fieldname like '%$search%'";
fieldnameとsearchを変数にして試せあせていただいたのですが、やはりエラーがでます。
まだ、どこか間違っているのでしょうか?
0682nobodyさん
03/03/21 15:00ID:sQQisTRy$query = "select * from tablename where $fieldname like '%$search%'";
やはり、これでもだめなんでしょうか。。
0683nobodyさん
03/03/21 15:17ID:???ぱっと見期待できそうだ。でも次の仕事にゃ間に合わないなあ。
匿名で情報の交換ができるという意味では
ここはなかなかいい場所だと思うんだが、
いかんせんおれにはノイズがきつすぎる。
撤退することにするよ。
0685nobodyさん
03/03/21 15:48ID:???返答次第では私が開発した全30種類の「ポニーちゃんの大冒険ライブラリ」すべてのスレッドを立てる所存です。
あー、フォローサンクス。
実行部分気にしてなかった(苦笑
あらかじめmysql_select_dbしていれば指定いらないんだっけ?
最近の小発見。
PHP4.3.0で
var_dump(parse_url("http://example.jp?hoge=ayaya"));
としたら
["host"] => "example.jp?hoge=ayaya"
だったのがcvs版だとちゃんと
["host"] => "example.jp"
["query"] => "hoge=ayaya"
になってた。
この違い(バグ?)に気がつかず、かなり長時間はまっちゃったよ…。
0687nobodyさん
03/03/21 15:54ID:???VBから入ってくるとそうなる。>"""
この間ASP(VBS)で作る羽目になったが、細かい部分の違いの方が気になって
ちょっと体質に合わんな。JScriptだとそうでもないかも知れんが。
件の部分はエスケープは「¥」ということだけだが、
678は他でもポカすると思われるので、マニュアルをちゃんと読むこと。
0688nobodyさん
03/03/21 16:01ID:???>あらかじめmysql_select_dbしていれば指定いらないんだっけ?
>>687
VBから入ってくるとそうなる。>"""
ふたつまとめて
へ ー そ ー な ん だ ! (^^;
しかし、"""してなんともおもわないのなら、諦めた方がいいと思うよ。
で、'"'もありだよ。
0691メンテのし易さ
03/03/21 17:27ID:pOguTMzcPHPでやろうか検討中です。
処理速度や言語の学習時間は気にしません。
また、PHPでもDB接続やアプリケーションセッションの管理、表示処理と
ビジネスロジックの分離はできるものと思っています(違うかな?)
開発工数の短縮と出来上がったコードのメンテのし易さ(スクリプト
の可読性)を主眼に、PerlとPHPの良し悪しを教えてください。
0692682
03/03/21 17:56ID:sQQisTRy本題とは関係のない私のミスでした。おかげさまで、動くようになりました。
0694PHP長所新車
03/03/21 18:34ID:F7U+UqHWフォームにTESTという文字を入力して決定ボタンを押したら、
内容がTESTと書いてあるnantoka.txtというtxtファイルを
作成するPHPはどのように作ればいいのでしょうか?
説明めちゃくちゃ下手糞でごめんなさい。
要はフォームに「なんじゃこりゃ」と入力したら
nantoka.txtが作られ、それを開くと「なんじゃこりゃ」
と書いてあるようにしたいんです。
まじでだれか教えてください。
なんかわけのわからない質問ですいません。
0695nobodyさん
03/03/21 18:53ID:???どこまで作ってどこで詰まったのか書くよろし。
1. フォームデータ受け取り
2. ファイルオープン
3. ファイル書き込み
4. ファイルクローズ
5. 画面表示
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が使えればだけど…
■ このスレッドは過去ログ倉庫に格納されています