トップページphp
1001コメント351KB

【PHP】下らねぇ質問はここに書き込みやがれ 26

■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん2006/08/07(月) 13:11:50ID:???
PHPに関するくだらねぇ質問用スレです。ここならお前の下らない質問に回答があるかも知れません。

まず読め→【PHP マニュアル】http://www.php.net/manual/ja/
PHPで最良の教本はこの公式マニュアル。市販の書籍は嘘が多いので鵜呑みにしない。
過去スレは>>2-10 関連スレは>>4-10 FAQは>>6-10 辺り

◆質問する場合の注意
1. 自分のIDを表示させること。(メール欄に何も記述しないでください)
2. サーバーのOS、WebサーバーとPHPの種類やバージョン等を明記すること。
3. 己の行った操作、変更などを詳しく明記すること。
4. エラーメッセージはそのまま表記すること。「エラーが出ます」では絶対分かりません。
5. 質問者としても態度をわきまえること。
6. 事前に公式マニュアル、リファレンス本くらいはちゃんと目を通しておくこと。

◆質問後の注意
・質問者は必ずIDを表示させてください。(メール欄に何も記述しないでください。)
・2回目以降は最初に質問した際のレス番号を名前欄に入れてください。
  (逆に回答者は質問者に対して>>(アンカー)をつけて答えてください。)
・解決しなくても回答をもらった場合はお礼を言う。
  (荒らし、煽りは除く。逆に煽られたときも、無闇に反論せずスルーすべし)

【その他諸注意】
・正規表現・PEAR・テンプレート(Smarty等)・フレームワークはそれぞれの該当スレへ
・SQLについての質問はデータベース板(PCカテゴリ)の各スレで
・オブジェクト指向については良スレがないから本を買え。理解できないならムリに使うな。
・速さについては自分でベンチをとってここに書け(違う環境の人も調べてくれるかも)
0002nobodyさん2006/08/07(月) 13:12:33ID:???
【PHP】くだらねぇ質問はここに書き込みやがれ
http://pc5.2ch.net/test/read.cgi/php/1099322141/
【PHP】くだらねぇ質問はここに書き込みやがれpart2
http://pc5.2ch.net/test/read.cgi/php/1105218084/
【PHP】くだらねぇ質問はここに書き込みやがれpart3
http://pc5.2ch.net/test/read.cgi/php/1107780435/
【PHP】くだらねぇ質問はここに書き込みやがれpart4
http://pc8.2ch.net/test/read.cgi/php/1110697712/
【PHP】くだらねぇ質問はここに書き込みやがれpart5
http://pc8.2ch.net/test/read.cgi/php/1114787573/
【PHP】くだらねぇ質問はここに書き込みやがれpart6
http://pc8.2ch.net/test/read.cgi/php/1117945031/
【PHP】くだらねぇ質問はここに書き込みやがれpart7
http://pc8.2ch.net/test/read.cgi/php/1121100429/
【PHP】くだらねぇ質問はここに書き込みやがれpart8
http://pc8.2ch.net/test/read.cgi/php/1123431535/
【PHP】くだらねぇ質問はここに書き込みやがれpart9
http://pc8.2ch.net/test/read.cgi/php/1125716012/
【PHP】下らねぇ質問はここに書き込みやがれpart10
http://pc8.2ch.net/test/read.cgi/php/1127581425/
【PHP】下らねぇ質問はここに書き込みやがれpart11
http://pc8.2ch.net/test/read.cgi/php/1129582431/
【PHP】下らねぇ質問はここに書き込みやがれpart12
http://pc8.2ch.net/test/read.cgi/php/1130835396/
【PHP】下らねぇ質問はここに書き込みやがれpart13
http://pc8.2ch.net/test/read.cgi/php/1132921016/
【PHP】下らねぇ質問はここに書き込みやがれpart14
http://pc8.2ch.net/test/read.cgi/php/1134868212/
【PHP】下らねぇ質問はここに書き込みやがれpart15
http://pc8.2ch.net/test/read.cgi/php/1137236771/
0003nobodyさん2006/08/07(月) 13:12:53ID:???
【PHP】下らねぇ質問はここに書き込みやがれpart16
http://pc8.2ch.net/test/read.cgi/php/1139146534/
【PHP】下らねぇ質問はここに書き込みやがれpart18
http://pc8.2ch.net/test/read.cgi/php/1142417901/
【PHP】下らねぇ質問はここに書き込みやがれ Part19
http://pc8.2ch.net/test/read.cgi/php/1144513878/
【PHP】下らねぇ質問はここに書き込みやがれpart20
http://pc8.2ch.net/test/read.cgi/php/1146165153/
【PHP】下らねぇ質問はここに書き込みやがれpart21
http://pc8.2ch.net/test/read.cgi/php/1148389517/
【PHP】下らねぇ質問はここに書き込みやがれ 22
http://pc8.2ch.net/test/read.cgi/php/1149710968/
【PHP】下らねぇ質問はここに書き込みやがれ 23
http://pc8.2ch.net/test/read.cgi/php/1150995543/
【PHP】下らねぇ質問はここに書き込みやがれ 24
http://pc8.2ch.net/test/read.cgi/php/1152251693/
【PHP】下らねぇ質問はここに書き込みやがれ 25
http://pc8.2ch.net/test/read.cgi/php/1153652403/
0004nobodyさん2006/08/07(月) 13:13:19ID:???
関連リンク
■本家マニュアル   http://www.php.net/manual/ja/
■日本PHPユーザ会 http://www.php.gr.jp/
■PEARマニュアル  http://pear.php.net/manual/ja/
■メーリングリスト   http://ns1.php.gr.jp/mailman/listinfo/

 (以下英語)
■Smarty       http://smarty.php.net/
■Zend本家      http://www.zend.com/
■Zend Framework  http://framework.zend.com/
■php | architect   http://www.phparch.com/
■Smartyマニュアル http://smarty.php.net/manual/en/
■ZFマニュアル    http://framework.zend.com/manual/en/
■PECL本家(英語) http://pecl.php.net/

まだ英語しかないマニュアルも後々/manual/en/を/manual/ja/に変えてみたら日本語があるかもしれません。
0005nobodyさん2006/08/07(月) 13:13:42ID:???
関連スレ
PHP関連の書籍 第3版
http://pc8.2ch.net/test/read.cgi/php/1150558685/
PHP関連サイト
http://pc8.2ch.net/test/read.cgi/php/982694601/
【PHP】PEAR Part2
http://pc8.2ch.net/test/read.cgi/php/1122899232/
【Smarty】PHPのテンプレートエンジン【Flexy】
http://pc8.2ch.net/test/read.cgi/php/1118799352/
[PHP]フレームワークについて語るスレ4[総合]
http://pc8.2ch.net/test/read.cgi/php/1151706907/
Webでオブジェクト指向プログラミング
http://pc8.2ch.net/test/read.cgi/php/1133489897/
【PHP】セッションについて語ろう!【PHP】
http://pc8.2ch.net/test/read.cgi/php/1064399467/
【ZendStudio】PHP統合開発環境 Part2【Eclipse】
http://pc8.2ch.net/test/read.cgi/php/1154082822/
最強のPHPエディタはなに?
http://pc8.2ch.net/test/read.cgi/php/1133785416/

[PHP-users MLヲチ9]丸投げした覚えは全くありません
http://pc8.2ch.net/test/read.cgi/php/1143731062/
中学生がPHPを習得するスレ
http://pc8.2ch.net/test/read.cgi/php/1139746974/
【PHP】Lvうpしたいので宿題ください
http://pc8.2ch.net/test/read.cgi/php/1147830986/
親切な人が初心者にPHPの関数を使い方を教える
http://pc8.2ch.net/test/read.cgi/php/1068190843/
くだすれPHP(超初心者用)
http://pc8.2ch.net/test/read.cgi/php/1150088761/
0006nobodyさん2006/08/07(月) 13:13:59ID:???
【簡易FAQ】
1.文字コードは何を使えばいいの?
 →1.UTF-8 2.EUC-JP のどちらか。迷うようなやつはShift_JISは使っちゃダメ。
2. このスレに書き込むときに自分のサイト名を晒したくない
 → http://example.com/が例文などのために予約されている。hogehoge.comは使っちゃダメ。
3. ブラウザに何も表示されないんだけど・・・
 → Apacheの設定を見直せ。ファイルの拡張子は何にしてて、その拡張子でPHPを呼ぶようになっているか?
4. 記号の意味がわからないけどググりようがない
 → 「@」 エラー表示を抑制、「->」 オブジェクトのメンバにアクセス、「::」 静的なメソッド呼び出し、
  「==」は暗黙の型変換をしてゆるい比較、「===」は型情報も含めた厳密な比較
5. echo "$arr['hoge']['fuga']"; と書いたらエラーになった
 → {おっぱい括弧}でくくって"{$arr['hoge']['fuga']}"にする
6. 一定時間ごとに自動的に何かしたいんだけど
 → cronかタスクスケジューラを使え。
7.extractって危険なの?
 →変数上書き&初期化忘れなどで危険。楽だからという理由だけで安易に使わない。
8. include/requireに「〜.php?a=b&c=d」のようなパラメータをつけたい
 → URL呼び出しなら可能だけど、普通のファイル呼び出しではできません
9.include/requireでURLを指定しても何も起きない
 → .phpの拡張子のファイルをURLで呼び出すと、1度PHPプログラムとして実行された結果になる。
0007nobodyさん2006/08/07(月) 13:14:19ID:???
10. そもそもインストールの時点でうまくいかない
 → 確認すべきはPHPのconfigureの引数、php.iniの内容と置き場所、
  Webサーバの設定(Apacheならhttpd.conf)、起動&再起動あたり
11. SQLの質問はどこで?
 → データベース板に誘導されるのが嫌ならPHPにうまく関連させて質問する
12. 文字列のなかに、英字のみとか数字のみとか記号が入っちゃいやんとかはどうしたらいいの?
 → ctype_〜()が手軽。複雑なパターンはpreg_〜()あたりで正規表現を使う。
13. $a1, $a2, $a3 ... のような変数名をうまく扱いたい
 → 可変変数で実現できるけど、むしろ配列を使って$a[1], $a[2], $a[3]等とするのがベター
14. echoとprintってどう違うの?
 → echoはコンマ区切りで書けるけど関数ではない。printは関数。パフォーマンスは気にするな
15. クッキーの情報をユーザから隠したい
 → セッション使え。ただしクッキーとセッションは仕組みが違うから同じように扱うな
16. strip_tags()で削除しないタグを複数指定したい
 → strip_tags($html, '<a><p><font>'); // htmlspecialchars()も検討すべし
17. CSVやTSVのファイルをスマートに扱いたい
 → まずはfgetcsv()。ただし日本語を含むと正常に動作しない場合があるので注意だ。
18. 値渡しと参照渡し(「&」を使う)のパフォーマンスの違い
 → C言語じゃないので、パフォーマンス目的で使いわけたらダメ。参照渡しにすると逆に遅くなったりする
  参照渡しは引数に戻り値を設定したり引数を関数内で変更するなど、正しい目的に使うこと
19. ファイル入出力関数(fopen等)でリモートファイル(http://〜とか)を扱う際の限界
 → fsockopen()でソケット通信 or PEARのHTTP系 or CURLで解決
  必要ならHTTPをはじめとする各種プロトコル(どんなデータを送受信するか)はRFCなどで調べる
20. PHPからPOSTリクエストしたい
 →19.を参照
21. 画像処理一般 or GDの限界
 → ImageMagick(PECLのやつ or シェルから実行)
22. 画像・音・動画はファイルで保存?DBに保存?
 → 好きにしてください
0008nobodyさん2006/08/07(月) 14:08:49ID:???
おっぱい括弧にワラタ
0009nobodyさん2006/08/07(月) 15:14:11ID:???
>>前スレ997
ttp://wiki.2chx.net/php/
0010nobodyさん2006/08/07(月) 16:53:13ID:2T37Evsi
すいません
自分が頭悪いだけなんですが

2つのUNIXタイムの差を求めて 300秒なら 300

これを、00:05:00 のように 時:分:秒にしたいんです

date() を使ってもうまくできませんでした・・・
0011nobodyさん2006/08/07(月) 16:58:52ID:???
>>10
小学生の算数の問題だな
0012nobodyさん2006/08/07(月) 18:24:32ID:T/kEZdoT
gethostbyname("nifty.com");
↑これが変換できないんですが
どうやったらIPに変換できますか?
0013nobodyさん2006/08/07(月) 18:25:32ID:???
>>12
変換されないんならサーバーで禁止してるんだろ
0014nobodyさん2006/08/07(月) 18:44:22ID:T/kEZdoT
$addr=gethostbyname($host);
$ipaddr=sprintf("%u.%u.%u.%u",unpack("C*",$addr));
↑PHPに書き直すとどうなるんですか?
0015nobodyさん2006/08/07(月) 18:48:41ID:???
>>14
RTFM.
0016nobodyさん2006/08/07(月) 19:12:22ID:???
>>14
$ip_adde = gethostbyname($hostname);
0017nobodyさん2006/08/07(月) 19:17:27ID:???
gethostbyname("nifty.com");
↑これを変換するために
CGI
だと
$addr=gethostbyname($host);
$ipaddr=sprintf("%u.%u.%u.%u",unpack("C*",$addr));
と書いてあるから
PHPに書き直すとどうなるのでしょうか?
0018102006/08/07(月) 19:32:10ID:???
10ですがだれか教えて下さい・・・
頭悪くてすみません・・・
0019nobodyさん2006/08/07(月) 19:37:45ID:???
>>17
その C G I は普通はPerlと呼ばれているものの事だとして…

まずはその C G I で書かれている事が何を意味するのかを考えてみよう。
どういう処理をしているのか理解できたら、
今度は自分で同じ処理をするPHPの書き方を色々考えてみよう。
分からない時にはマニュアルを読むのもお勧めだよ☆
それで、どうしても上手く動かない時は
具体的にどう作ったらダメだったのかを添えてもう一度ここで聞いてみよう。

それじゃ、頑張ってね〜☆
0020nobodyさん2006/08/07(月) 19:45:36ID:???
>>18
一分は60秒、一時間は3600秒
0021nobodyさん2006/08/07(月) 19:52:21ID:???
>>18
date()は時差が入るからむしろややこしくなるな。
多分おまいが引っかかってるのは2桁表示にするところだと思うからヒントをあげよう。

echo sprintf("%02d:%02d:%02d", $hour, $min, $sec);
0022nobodyさん2006/08/07(月) 19:53:28ID:???
>>10
UNIXタイム形式ならstrtotime関数使ってTIMESTAMPを比較すれば良いだろうが
0023nobodyさん2006/08/07(月) 19:54:06ID:???
>>17
俺が>>16に書いたのが見えないのか?
PHPマニュアルぐらい読めよバカが。
0024nobodyさん2006/08/07(月) 20:01:32ID:???
だって夏だし
0025nobodyさん2006/08/07(月) 20:07:48ID:???
23>んなことをきいてんじゃねぇよバカが
0026nobodyさん2006/08/07(月) 20:20:33ID:ReHevUYM
文字列の20060807を日付型に変換するにはどの関数を使えばいいですか?
0027nobodyさん2006/08/07(月) 20:22:46ID:???
日付型なんてない
0028nobodyさん2006/08/07(月) 20:29:07ID:???
あれ?そだったんですか
Mysqlにdate型ってあったから入れるのに変換しないといけないと思ってた
てことはdate型には直接文字列が入ります?
0029nobodyさん2006/08/07(月) 20:33:06ID:???
やってみればいいんじゃないの?
0030nobodyさん2006/08/07(月) 20:35:40ID:???
SELECTしてfetchしたものをvar_dump()してみれば分かる
0031nobodyさん2006/08/07(月) 20:56:48ID:???
>>28
MySQLのデータ型とPHPのデータ型は別物だ
0032nobodyさん2006/08/07(月) 21:14:00ID:???
あ、入ったぽいです。
初歩的な質問すみませんでした。
0033nobodyさん2006/08/07(月) 21:19:46ID:???
32だけ読むとなんかエロいな
0034前スレ9672006/08/07(月) 21:28:16ID:muOt4GfJ
>>968
誘導どうもです。
自作フレームワークに HTML テンプレートを組み込んでいるので。
Smarty 用に書き換えるのも面倒で……

>>969
え、やはり閉鎖してたんですか。
どこかで再配布してないかな……
0035nobodyさん2006/08/07(月) 21:49:23ID:???
>>22
質問を取り違えてるよ。
>>10はすでにUNIX秒同士で差分を求めてて、
その秒数を時:分:秒の形式に変換できないと言ってる。

…昔は中学で勉強する内容だったんだけどな。これ。
0036nobodyさん2006/08/07(月) 21:52:35ID:???
>>17
>>16
0037nobodyさん2006/08/07(月) 21:55:13ID:???
>>25
いやおまえ、そういうことを聞いてるだろう。
0038nobodyさん2006/08/07(月) 22:30:20ID:???
>25
gethostbyname("nifty.com");
これを一回実行してみろハゲ
0039nobodyさん2006/08/07(月) 22:31:12ID:???
>37
間違えた
gethostbyname("nifty.com");
これを一回実行してみろハゲ
0040前スレ9822006/08/07(月) 22:40:47ID:???
>>1さん乙です。

前スレ982なんですが、もう一つ質問させてください。

結局、ディレクトリの中から目的のファイル名にアクセスする事と、
ファイルの中から目的の文字列を検索する事は、
処理速度として差はないのでしょうか?

0041nobodyさん2006/08/07(月) 22:55:36ID:???
ディレクトリの中から目的のファイルを探しだし、その中から目的の文字列を検索する
0042nobodyさん2006/08/07(月) 22:58:52ID:???
>>40
  ヒャークマーミーピートゥーパァー♪
   ゜ *
      ☆ノハヽ  ゜
    + ノノ*゜∀゜)つ
  。   と   /  。
  〜   ⊂  / +
        (_/
0043nobodyさん2006/08/07(月) 22:59:14ID:???
>>40
いや、それは大分違うと思うぞ。

前スレで「差がない」と言われてたのは、ファイルの中から目的の文字列を探す場合でも、
結局は最初にまずその文字列の入ったファイルにアクセスしなきゃいけないわけで、
ってことはファイルにアクセスした時点で、ディレクトリの中からファイルを探すのと
同じだけの時間がすでにかかっちゃってるわけよ。
1)3.logにアクセスする処理
if(file_exists("3.log") $data = file("3.log");
2)3番のデータが入ってるデータファイルを開く
$fp = fopen("data.log", "r"); $line = fgets($fp);
↑ここまででほぼ同じ処理時間

で、後者ではさらにファイルの中から文字列を探す処理を「+α」でやんなきゃいけない分、
圧倒的に遅いのね。
0044前スレ9822006/08/07(月) 23:02:44ID:???
>>41
前スレで頂いた回答の事ですよね。それについては理解できました。

では、単純にディレクトリの中から目的のファイル名にアクセスする事と、
ファイルの中から目的の文字列を検索する事を比べた場合はどうなんでしょうか?

ファイルの中から目的の文字列を検索する際の、ファイルを開くまでの処理は省いて考えた場合です。
0045nobodyさん2006/08/07(月) 23:05:02ID:???
>>43
ただし、この処理がほぼ同等の速度になるのはディレクトリの中のファイル数が
極端に多いわけじゃない場合までで、これが異常に多くなると遅くなる。
ただ、遅くなると言っても、PHPで書いたプログラムがファイルを1行1行探すよりは
ずっと高速な処理なので、よっぽどバカみたいにファイル数が増えない限りは
ファイルの中を探すよりはまだ速いと思うよ。
ファイル検索が遅くなるほど数があれば、1個のデータファイルにした場合も
行数がめちゃくちゃでかくなるからね。これはもうとんでもなく遅い。
多分、PHPで探すくらいならshellでgrepでも呼び出した方がまだ速い。
0046452006/08/07(月) 23:07:13ID:???
あ。リロードすればよかった。

>>44
>>45がほぼその回答になると思う。
PHPのファイル処理なんて大して速くないので、OSがやってくれる
ディレクトリ(iノード)の検索の方がずっと早いです。
数が少なければ大した差じゃないけど、増えれば増えるほどその差は広がる一方かと。
0047前スレ9822006/08/07(月) 23:12:37ID:???
>>46
>>>45がほぼその回答になると思う。

あ、ちょうどなりました(笑
同等ではなく、ファイル名検索の方が早いんですね。

大変参考になりました。回答してくれたみなさんありがとうございました。
0048nobodyさん2006/08/07(月) 23:21:45ID:???
>>47
ただ、ファイル数が1000を超えるようになってくると、iノードの処理も複雑になってくるので
頑張ればファイルの中身を探す方が逆転できる余地も出てくると思う。
もっとも、普通に頭から1行ずつ舐めてって行頭の数字を判別して〜なんてやり方じゃ
絶対に勝てないと思うけどね。
0049nobodyさん2006/08/08(火) 00:02:56ID:???
PHPの質問とは若干ズレてるが、結構意義のある内容になったな。
というか今まで鯖任せでそこまで考えることがあまりなくなってたから初心にかえった気分だ。
0050nobodyさん2006/08/08(火) 01:08:07ID:???
$dir = @scandir('/path')
で存在しないディレクトリを開くと
Warningがでちゃうんだけど、
これって仕方ないの?

仕方なくないとしたらどういう原因が考えられるの?
0051492006/08/08(火) 01:10:39ID:qLlWPezk
OS : fedoracore3
PHP : 5.0.4
HTTP : Apache2.0
です。
0052nobodyさん2006/08/08(火) 02:00:08ID:???
>>49
> 今まで鯖任せでそこまで考えることがあまりなくなってた

今でも初心者のままってことだよ
0053nobodyさん2006/08/08(火) 05:38:32ID:???
>>50
儂のはでないがのう
0054nobodyさん2006/08/08(火) 05:39:33ID:???
iノードってb木でしょ?複雑になるって何?
0055nobodyさん2006/08/08(火) 06:34:51ID:???
>>39
echo gethostbyname("nifty.com"); // nifty.com
echo gethostbyname("www.nifty.com"); // 202.248.239.42
0056nobodyさん2006/08/08(火) 07:49:51ID:???
>>54
ファイル名エントリーはB木だけどinodeは固定長リストのリンク。
数が多くなると拡張inodeリストのリンク数が増えて検索が遅くなる。
0057nobodyさん2006/08/08(火) 08:00:28ID:vPDdJKnB
PHPを見やすく、効率良く書きたいのですが、PHPのプログラミング・スタイル(コーディング・スタイル?)を勉強するには
他人のスクリプトを見て勉強するのが良いのでしょうか?

どこかにコーディングマニュアルらしきものがあった気がするのですが
見つけることが出来ませんでした。マニュアルの言語はなるべく日本語希望。
0058nobodyさん2006/08/08(火) 08:17:02ID:???
>>57
> どこかにコーディングマニュアルらしきものがあった気がするのですが
これ?
ttp://pear.php.net/manual/ja/standards.php
0059nobodyさん2006/08/08(火) 08:25:22ID:vPDdJKnB
>>58
ああ、それです。
PEARにあったのですね。ありがと
0060nobodyさん2006/08/08(火) 08:50:12ID:???
>>48
モダンなOS使おうよ
0061nobodyさん2006/08/08(火) 08:57:09ID:???
ts=3 sw=3でexpandtabしない阿呆は俺だけでいい
0062nobodyさん2006/08/08(火) 09:04:29ID:???
>>57-59
ZFのほうもあるよ
ttp://framework.zend.com/manual/ja/coding-standard.html
0063nobodyさん2006/08/08(火) 09:12:13ID:vPDdJKnB
>>62
どうもです。
0064nobodyさん2006/08/08(火) 09:20:35ID:???
>>50
仕様

もしscandir($dir_name)で$dir_nameが正しくディレクトリであったとしても、オープン出来なければ異常事態。
$dir_nameが存在しないならオープンできることはありえないから常に異常事態。


要するにfile_exists関数でディレクトリの存在確認したのが前提ということ。
0065nobodyさん2006/08/08(火) 09:37:30ID:???
>>50
エラー抑止可能。5.1.4、5.0.5@debianで確認
0066nobodyさん2006/08/08(火) 09:38:49ID:5ybA5K11
すみません、質問です。
/etc/resolv.confの設定を誤って、SSHでの接続が出来なくなってしまいました。
現在アクセスできる方法はApacheモジュールのPHPだけです。

そこで、wwwで実行してるPHPをセキュリティーホールに関係なくrootになれるアカウントにsuして、そのアカウントからrootになることを考えています。
rootになった後はPHPのfputsで編集しようと思っていますが、PHPの実行ユーザーの変更が分かりません。。
system関数でsuを発行しても、次のパスワードの入力が出来ないので‥

サーバーではSSHとApacheしか動いていません。しかし、SSHに接続できるのは、今現在localhostしかいない状態です。。(/etc/hosts)
0067nobodyさん2006/08/08(火) 09:58:12ID:???
>>66
たとえそれが PHP で出来たとして、その PHP ファイルをどうやってサーバに置くのか?
0068nobodyさん2006/08/08(火) 09:59:24ID:5ybA5K11
>>67
FTPがあります。FTPでの接続はできるんです。
0069nobodyさん2006/08/08(火) 10:00:44ID:???
多分、PHPでは無理
expect コマンドをシェルから実行すれば、同じようなことができると思う
0070nobodyさん2006/08/08(火) 10:01:18ID:???
>>68
> サーバーではSSHとApacheしか動いていません。
うそつき。
0071nobodyさん2006/08/08(火) 10:05:27ID:???
1点差キタ━━( `≧´)´〜`)`↓´]・ ゥ・)彡´ー`)´金`)ムΘラ)^亮^ )っ´∀`)ア,_ゝレ)ヽ゚∀゚]っ━━!!!
0072nobodyさん2006/08/08(火) 10:07:24ID:???
>>69
--with-expect 付きで make した PHP なら expect も使えます。
expect コマンドが使えるなら expect なスクリプトを用意して PHP から
system すれば良い。
0073nobodyさん2006/08/08(火) 10:15:39ID:5ybA5K11
expectはコマンド自体入ってないです。。
rootになるにはsuしかだめなのですが‥

FTPでrootになる方法もないし、、

PHPでSSHにつなぐ方法はありますか?
PHPで、localhostのSSHに接続->su root->/etc/resolv.confに>>でやろうと思ったのですが‥
0074nobodyさん2006/08/08(火) 10:16:30ID:???
>>66
> /etc/resolv.confの設定を誤って、SSHでの接続が出来なくなってしまいました。
これ、どういうエラーが出るの?
どういう設定してるか分からないけど、IP アドレス指定で試してみた?
0075nobodyさん2006/08/08(火) 10:23:27ID:5ybA5K11
SSHでタイムアウトしてしまう状況です。。
0076nobodyさん2006/08/08(火) 10:25:00ID:???
>>71
落ち着け! 高校野球の実況板はここじゃない。
0077nobodyさん2006/08/08(火) 10:46:27ID:???
あと、簡単なのは Ruby で expect するか、かなぁ。Ruby が使えればね。
Perl で expect も出来るけど、Expect.pm がないことがあるだろうし。
0078nobodyさん2006/08/08(火) 10:54:10ID:5/p7Z87X
データベースに入れるデータは、
http://jp.php.net/manual/ja/function.mysql-real-escape-string.php の「例3」にある
やり方で一応大丈夫?

addslashes()はしたほうがいいのかなぁ?
0079nobodyさん2006/08/08(火) 11:02:11ID:???
>>78
何らかのDBインターフェースが使えるのなら、それのバインド機能を使うほうがいい。
0080nobodyさん2006/08/08(火) 11:21:35ID:???
>>66
それPHPの質問か?
よくわからんけどPCが壊れたなら、新しいの買ってこればいいんじゃね?
それか修理に出したほうが早いだろ
0081nobodyさん2006/08/08(火) 11:24:45ID:???
>>80
PHP の質問かと言われれば微妙だが、壊れているのとは違う。
で、結局どうなったのかな? Ruby があるなら、さくっと出来るけどなぁ。
0082nobodyさん2006/08/08(火) 13:41:51ID:???
>>78
> addslashes()はしたほうがいいのかなぁ?
何のためにstripslashes()までやってると思ってるんだお前。
0083nobodyさん2006/08/08(火) 18:06:56ID:???
array_merge すると添字番号が0からになってしまうようなのですが、これを回避する方法は
ないでしょうか?

$a = array();
$b[1] = 1;
$a = array_merge($a,$b);
print_r($a);
0084nobodyさん2006/08/08(火) 18:13:38ID:???
>>83
$a += $b;
0085nobodyさん2006/08/08(火) 18:33:58ID:???
>>84
そういう使い方も出来たのですね
ありがとうございます
0086nobodyさん2006/08/08(火) 18:50:03ID:CQRoL3Un
htmlspecialcharsで、改行タグはそのまま残しておきたいのですが、どうすればいいですか?
0087nobodyさん2006/08/08(火) 18:54:59ID:???
無理
0088nobodyさん2006/08/08(火) 19:07:01ID:???
str_replace で、改行タグをあらかじめ任意の文字列に書き換え、
htmlspecialchars 後に改行タグに戻す
0089nobodyさん2006/08/08(火) 19:14:24ID:???
<a href="../test/read.cgi/hogehoge/適当な数値/適当な数値" target="_blank">>>72</a>

これを

>>72

に置き換えたいのですが、どのようにすれば良いのでしょうか?
0090nobodyさん2006/08/08(火) 19:14:47ID:4QDp9Gx3
RSSの生成をしてみようとFeedCreator.class.phpをDLしてみました。
ttp://www.bitfolge.de/rsscreator-en.html
上記URLにサンプルも提示されているので基本的なことはすぐできたんですが
自分なりのアレンジをしようと思うといまいち使い勝手がわかりません。

出力の文字コードをデフォルトのlatin-1からUTF-8にしたいと思い
呼び出し側(自作スクリプト)で指定を試みたんですがうまく反映されません。
逆にソースコード中のその部分を書き換えることでUTF-8で出力できたんですが、
これはそういう使い方でいいんでしょうか?
もし真っ当な指定の仕方が他にあるようでしたらおしえてください。
現在のところUniversalFeedCreatorクラスを用い、createFeedメソッドで出力しようとしています。
お願いします。
0091902006/08/08(火) 19:34:44ID:???
すいませんちょっとわかりにくかったので追記します。

>>ソースコード中のその部分を書き換えることで
と書いたのは、もとのクラスファイルのことです(FeedCreator.class.php)
0092892006/08/08(火) 19:40:57ID:???
『<a』で始まって『_blank">』で終わる部分を消したいんです
0093nobodyさん2006/08/08(火) 19:49:28ID:???
>>89
正規表現で消せると思う
0094892006/08/08(火) 20:19:13ID:???
すみません、説明不足です。
正規表現を使ったやり方が知りたいんです。
0095nobodyさん2006/08/08(火) 20:34:18ID:???
正規表現を勉強すればいいんじゃね?
0096nobodyさん2006/08/08(火) 23:05:16ID:???
>>92
正規表現が分からないなら、strpos使って位置を調べてsubstr_replaceで置換すれば?
その程度のことなら別に正規表現すら要らん。
0097nobodyさん2006/08/08(火) 23:11:11ID:???
>>94
> 説明不足です

失礼だと思わんのか?
0098nobodyさん2006/08/08(火) 23:29:00ID:???
コピペすればすぐ終わるようなバカ親切な回答を期待してるんだろうさ
0099892006/08/09(水) 00:05:28ID:???
すみません、
$comm = preg_replace("/~<a[ \t\n\r\fa-zA-Z0-9_\"=]+blank\">$/", "", $comm);
これじゃうまくいかなくて・・・
0100nobodyさん2006/08/09(水) 00:22:43ID:???
先頭の「〜」はなんだろう
/<a[^>]+blank">/
とかでどうだろうか
0101nobodyさん2006/08/09(水) 00:52:31ID:???
$str = preg_replace("/>>\d{1|2|3}/","<a href=#\\1>\\1</a>",$str);

俺も適当なの試してみた。
アンカにリンクを貼ろうと思ったんだがうまくいかなすwww
正規表現ってむずいな
■ このスレッドは過去ログ倉庫に格納されています