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

【PHP】質問スレッドpart23【php】

■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん04/10/05 17:36:38ID:???
・PHP全般の質問スレです。
・新規質問の方は上げてください。age進行でお願いします。
・質問する際には環境も明記。
・正しい日本語で分かりやすく。
・レスがつかないからって逆切れする厨お断り。
・解決しなくてもこたえてもらったら礼を。


■本家
 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-4
0266nobodyさん04/10/11 05:43:24ID:???
>>261
エラーログは見てみた?
0267nobodyさん04/10/11 05:53:20ID:???
>>262-263
天然だ
0268nobodyさん04/10/11 06:00:16ID:???
おお天然じゃ。ありがたやありがたや
0269nobodyさん04/10/11 06:45:52ID:CqR/mj9n
>>264
ありがとうございます。
リンク先の3番目の方法を試しましたがうまくいきません。

<Directory "C:/Program Files/Apache Group/Apache2/cgi-bin">
AllowOverride None
Options None
Order allow,deny
Allow from all
AddHandler image/gif .gif
AddHandler image/jpeg .jpeg .jpg .jpe
AddHandler image/png .png
</Directory>

どうしてでしょうか?
0270nobodyさん04/10/11 07:28:34ID:???
「上手くいかない」んだとよ>>264
どうしてかって聞かれてるぞ>>264
027126904/10/11 07:29:54ID:CqR/mj9n
http://localhost/にimg-boxというディレクトリを作ってCGIの参照
URLも変更しましたがダメでした。
$img_dir_url='http://localhost/img-box/';
PHPスクリプトはちゃんと画像が投稿、表示ができるのになぜでしょうか?
027226904/10/11 07:58:55ID:CqR/mj9n
これが自宅サーバの画像掲示板です。
http://moelove.sytes.net/cgi-bin/clip/clip.cgi
pngアクセスカウンタはログもちゃんと動くのですが、スクリプトと
アパッチなどの相性が悪いのでしょうか?
いろんなサイトの画像掲示板を使っても画像が表示されませんでした。
http://moelove.sytes.net/cgi-bin/pngcntr/pngcntr.cgi?logfile
0273nobodyさん04/10/11 08:31:01ID:???
>>272
画像だけにアクセスしてもInternal Server Errorがでてるよ。
http://moelove.sytes.net/cgi-bin/clip/img/soon.gif

あとソースみたらさ、
http://localhost/って画像のパス指定してるから、外部から
ローカル参照させて見えるわけない。
相対パスで指定するとかしないと。
027427304/10/11 08:31:45ID:???
こうなってる

<dd>
<p><img src="http://localhost/cgi-bin/clip/img/soon.gif"><p>
<font color="">test</font><br><br clear=all>
<dt><hr>[<b>2</b>] <font color="#008040"><b>テスト</b></font> 投稿者:<b>ななし</b> 投稿日:2004/10/11(Mon) 04:41 [<a href="./clip.cgi?res=2">返信</a>]   <br><br>
<dd>
0275nobodyさん04/10/11 08:39:00ID:???
Apache 使ったこともないなら黙ってろ
027627304/10/11 08:46:51ID:???
>>275
すまん。

一応使ったことはあるんだけど・・・。
02774504/10/11 08:47:01ID:???
>>273
だから、自宅ではそれでいいのです。
CGIをネットで見せる時は、ドメインサーバによってttp://localhostが
ttp://moelove.sytes.netに自動変換されるのです。
0278nobodyさん04/10/11 08:48:25ID:???
>>277
ソース見たら変換されていないわけだが。

逆に変換されるとしたら串通さないと自分のPCからは画像は見えないはず。
0279nobodyさん04/10/11 08:49:36ID:???
あ、下のほうはドメインサーバが判断してくれるのか。
028027304/10/11 08:51:28ID:???
>>277
おれが言ってるソースはPHPのソースじゃなくて
PHPが吐いてるHTMLのソースなんだけど・・・
02814504/10/11 09:06:51ID:???
>>278
でも、画像を直リンしてもcgi-binディレクトリの下では
ローカルでもネット上でも見れないのです。
http://moelove.sytes.net/cgi-bin/clip/img/soon.gif

localhostディレクトリに直接置けば見れますが、
アパッチのhttpd.confでcgi-binディレクトリ以下で
CGIが動くようになってますので、localhostディレクトリ
に直にフォルダを置いて、下のようにCGIの設定をしても、
$img_dir = '/localhost/img-box';
$img_url ='/localhost/img-box';
HTMLを吐き出す時に、
http://localhost/cgi-bin/img-box/img20041010232143.jpg
のように、cgi-bin/が余計に付いてきます。
0282nobodyさん04/10/11 09:11:50ID:???
すみません。
PHPがCGIでサーバにインストールされているときは
モジュールの時と同様にPEARがつかえますか?
02834504/10/11 09:13:29ID:???
>>282
マイコンピュータの環境変数をいじると使えるらしいよ。
0284nobodyさん04/10/11 09:15:44ID:???
>>281
なぜに絶対パスにこだわる?
0285nobodyさん04/10/11 09:18:09ID:???
つーかそもそも500で見れないんだから>264の話だと思うんだがなぁ。
とりあえず directry 指定は最後にスラッシュ入れた方がいいとして、
リスタートしてないとかそういう話じゃないよな?
0286nobodyさん04/10/11 09:21:21ID:???
>>285
リロードに一票
02874504/10/11 09:24:33ID:???
>>284
絶対パス以前に、普通に画像に直リンしても見れないんです。
ローカル、ネット上を問わず。
画像自体は決して見れない設定になってませんし、アパッチと
パールの設定の問題だと思うのですが。
>>285
リスタートはちゃんとしてます。
0288nobodyさん04/10/11 09:30:22ID:???
>>287
画像をそのフォルダにcgi通さずに置いてもみれないの?
だとしたらapacheの問題。もしくは両方悪い場合もあるかもだけど。

もしそれで見えるならcgiの問題
028928804/10/11 09:56:22ID:???
>>288
直接コピーして置いても見れません。
http://moelove.sytes.net/cgi-bin/clip/img/8a2b5a5e24fd380f22.jpg

PHPは問題なく画像が表示できるのですが、CGIをやりたいので。。
http://moelove.sytes.net/home/futaba.php
0290nobodyさん04/10/11 10:02:43ID:???
>>289
画像以外のファイルだとどう?
0291nobodyさん04/10/11 10:03:54ID:???
どう考えても
>>275=>>289
だよな・・。
ひど・・。
0292nobodyさん04/10/11 10:10:10ID:???
>>282
dl('php_win32std');
win_message_box('試せよ。エラーが出たなら書けよ。使えないと思うなら理由を書けよ。');
0293nobodyさん04/10/11 10:30:09ID:???
┌───────────────┐
|   PHP.                 |
├───────────────┤
|試せよエラーが出たなら書けよ   ..|
|使えないと思うなら理由を書けよ  ..|
|分かったらOKを押してもいいぞ   .|
| ┌───┐               |
| | OK..  |               |
| └───┘               |
|                       |
└───────────────┘      
                     || ̄ Λ_Λ
                     ||_(Д`; ) 「キビスィ・・・」
                     \⊂´   )
                       (  ┳'
0294nobodyさん04/10/11 10:51:08ID:???
つまるところ>>267な訳だ
0295nobodyさん04/10/11 12:58:59ID:???
>>272-281,284-290
天然もこれだけあると効用が下がる
0296nobodyさん04/10/11 13:05:57ID:???
なに言ってんねん!
0297nobodyさん04/10/11 15:55:41ID:???
完全に板違いだなw
余所でやってくれ
0298nobodyさん04/10/11 17:28:46ID:???
PHPのgrepって処理用の関数を作って
その関数名を文字列で渡さないといけないんだね。
ぶっちゃけ屑だな。
0299nobodyさん04/10/11 17:37:26ID:???
( ´,_ゝ`) ヘェーヘェー
0300nobodyさん04/10/11 18:42:33ID:???
>>298
grepに渡す関数でスコープ内の変数参照したいとか?
それだったらcreate_functionで無名関数作れるけど。
0301nobodyさん04/10/11 23:37:57ID:???
初歩的で行き詰まりました。


echo "<table><tr>";
if($dh = opendir($dir)){
while(($file = readdir($dh)) !== false){
$link = $dir.$file;
$size = @getimagesize($link);
if(eregi("\.(gif|jpe?g|png|bmp)$",$link)) echo "<td><img src=$link width=".$size[0]." height=".$size[1]."></td>";
}
closedir($dh);
}
echo "</tr></table>";


これだと $link をすべて一行で表示してしまうので
10個単位(もしくは $link 全数が割り切れる数)で行を追加したい。

けどできない・・・

count() で除算しても何故か一つのセルで一行になってしまうのです。
やり方が悪いのか、思惑通りにならないよ〜〜〜

(´・ω・`)ヘルプミ
0302nobodyさん04/10/11 23:44:44ID:???
>>301
てか、HTMLがわかってないやんw
0303nobodyさん04/10/12 00:01:47ID:4ikvnffT
WindowsでPHPを使う場合なんでActivePerlみたいに
手軽にできないのかね?インストールした後にPath設定したり
PHPファイルの関連付けとかしたり、すげぇ面倒なんですけど。
0304nobodyさん04/10/12 00:12:49ID:koXfXZjL
>301

$count=0;
echo "<table><tr>";
if($dh = opendir($dir)){
while(($file = readdir($dh)) !== false){
$link = $dir.$file;
$size = @getimagesize($link);
if(eregi("\.(gif|jpe?g|png|bmp)$",$link)) echo "<td><img src=$link width=".$size[0]." height=".$size[1]."></td>";
$count++;
if($count%10 == 0) echo"</tr><tr>";
}
closedir($dh);
}
echo "</tr></table>";
0305nobodyさん04/10/12 00:25:11ID:???
>>303
厨除けでつ
0306nobodyさん04/10/12 00:56:23ID:???
>>303
手軽にインストールできる物もあるけどな。
あんたが知らないだけで。
0307nobodyさん04/10/12 00:58:27ID:???
>>303
窓鯖だけどそんなことやったことないんですけど
0308nobodyさん04/10/12 01:08:07ID:???
>>305
もう少し徹底して頂きたく

>>303
PHPDEVとか色んなのが一括してWindowsインストールできるやつあるやん。
0309nobodyさん04/10/12 02:12:45ID:???
>>304
死ねよ
0310nobodyさん04/10/12 03:07:39ID:bZlbaUCT
php.iniは、output_buffering = 4096
[mbstring]
mbstring.internal_encoding = EUC-JP
mbstring.http_input = auto
mbstring.http_output = SJIS
mbstring.detect_order = auto
mbstring.substitute_character = none
なのですが、
<form method="post" action="https://www.example.com/admin/example.php">
<input type="text" name="categorytitle" value="Outlook トピックス" />
(中略)</form>
をsubmitすると、
/admin/example.php
の中で、

$categorytitle = addslashes(getParam('categorytitle'));
print $categorytitle;
exit;
//-------------------------------------
function getParam( $name )
{
    $val = $_GET[$name];
    if( $val == "" ){
        $val = $_POST[$name];
    }
    return( $val );
}
の結果が、
「Outlook gsbNX」と表示されてしまいます。(本来は「Outlook トピックス」と表示されるはず)
こんな文字化けの仕方は初めてみたので、どこが悪いのかちょっと検討がつきません。
どなたか解決方法ご存じのかた、教えて頂ければ幸いです
031131004/10/12 03:09:03ID:???
すいません、言い忘れましたが、PHP5.0.2です。
0312nobodyさん04/10/12 03:38:30ID:???
>>310
Apacheの設定はどうなのよ?
031331004/10/12 04:26:44ID:???
>>312
えと、apacheの設定ですか。
普通に、
LoadModule php5_module libexec/libphp5.so

<IfModule mod_php5.c>
 AddType application/x-httpd-php .php
 AddType application/x-httpd-php-source .phps
</IfModule>
と書いてますが・・・ごめんなさい、回答、はずしてます?
031430104/10/12 05:47:58ID:???
>>304 (・A・)イクナイ
031530104/10/12 06:48:29ID:???
if($file % 10 == 1) echo"<tr>";
if($file % 10 == 0) echo"</tr>";

これで解決しますた!
0316nobodyさん04/10/12 11:28:18ID:scXqgxmN
おいお前らちょっと教えてください。

任意の秒数($sec)を時間、分、秒に換算したいのだけど
これをスッキリとコーディングするにはどうするの?
今は下のように書いています。

<?php
$hour = floor($sec/3600);
$amari_hour = $sec%3600;
$min = floor($amari_hour/60);
$amari_min = $amari_hour%60;

echo $hour."時間".$min."分".$amari_min."秒";
?>

こんな計算に4行もつかうのは嫌です。
誰か何とかして。
0317nobodyさん04/10/12 11:40:31ID:???
ちょっと質問。

当方、仕事ではASP.NET使ってるんだが、PHPでも同じ動作をするように
色々試してるんだが、正直ちょっと・・・

例えば、SQLを発行してTABLEに検索結果を一覧表示した場合、
業務系だとテーブルの列名の部分などをクリックしてソートさせたいなどの需要がある。
ASP.NETだとグリッドコントロールですぐに出来るがPHPだとこの部分は自前で実装しないといけない。

自前で実装するには、その列が昇順降順のどれでソートされてるのか保持しておき
クリックされた列でSQLを発行してソートの方法を変えれば良いので、実装自体に問題は無い。(面倒だけど)

そこで問題というかこだわりなんだが、ASP.NETではグリッドでソートを変更した場合は、
別途DBなどに接続は行われれず、ADO.NETの仕組みで取得済みのデータで勝手にソートしてくれる。
対してPHPだとソートさせるだけで再度SQLを発行してDBに接続しなければならずに、
レスポンス等の面から見てもちょっと不満を感じる。

俺のPHP技術が未熟なのは認めるが、PHPでもASP.NETと同じような挙動のプログラムは書けるのだろうか?
また、どのようにして実装すればよいのだろうか?
0318nobodyさん04/10/12 11:43:07ID:???
>>316
その$secにはどういう値が入るの?
time()を入れれるなら、そのようにすりゃdate()関数で楽に処理できるが、
仕様的に無理なのか?
0319nobodyさん04/10/12 11:44:58ID:???
>>317
XML+XSLT
0320nobodyさん04/10/12 11:45:00ID:???
>>317
例えばMySQLならmysql_pconnect()なんてのがあるが、そういう意味ではない?
032131604/10/12 11:49:17ID:???
>>318
UNIXtimeは入らないんです(´・ω・`)
10〜100000秒くらいの任意の秒が入るんです。
0322nobodyさん04/10/12 11:51:59ID:???
>>317
DOM
0323nobodyさん04/10/12 12:00:07ID:???
>>316
時間だけ普通に計算して、後は date() に任せるとか?
本当に正しいか調べてないけど。

echo floor($sec/3600) . "時間" . date(" i分 s秒", $sec);
032431604/10/12 12:12:58ID:???
>>323
うわ、いい感じです。
少し調べてみて、良ければ使ってみたいと思います。
ありがとうございました。
0325nobodyさん04/10/12 12:33:18ID:???
>>310
mbstring.http_input = auto
をautoじゃなくて決めうちにしたら?

ttp://ns1.php.gr.jp/pipermail/php-users/2004-June/022966.html
のスレッドを参照
0326nobodyさん04/10/12 14:27:41ID:???
>>317
a. クライアント側でdata binding < XML/XSLT, DOM ...etc
b. 自前で実装する場合、ソートの可能性があるクエリーの結果のキャッシュを追加。
c. 使ったことないけど PEAR の Structures_DataGrid
.Net frameworkのDataGridと同じようなコンセプトのライブラリ.
さっとソース眺めてみた所、クエリの結果のキャッシュまでは現状では面倒みてくれないみたい
それどころか、DB使ってる場合はソートはDB側で済ませた方が早いからこのメソッドは使うな
とコメントに書かれている.
d. Zend Performance Suite (引用: 不要なDBアクセスを含むPHPスクリプトの実行が抑止されます。)
e. http://jp2.php.net/dotnet
0327nobodyさん04/10/12 15:54:49ID:???
何でもかんでもDBに繋ぎに行くのはアレだよな・・・

俺が担当したシステムだと、船舶とかで使用するWebシステムで、
航行計画書やら、港についたときに備品など購入するための備品搬入の管理システム作ったけど、
何せ海の上だから船舶電話だと金掛かるし通信速度遅いし、回線切れるし・・・
だから、衛星対応の携帯で通信するシステムにしたんだけ、
やっぱりパケット量とかの問題で通信費やら実行速度遅くなるから、
ASP.NETみたいな仕組みは楽だったなぁ。

PHPでも確かに同じようなこと実装できるけど、そういうのって業務ロジックじゃないしな。
正直、そんなものにお金も時間も掛けたくない。
0328nobodyさん04/10/12 16:38:42ID:seDWSO57
質問させてください。

同一サイトでユーザ別にブログを立ち上げさせたいと思っています。

たとえば、http://hoge.jp/username/を開いたとき
http://hoge.jp/hoge.phpを叩くようにしたいと思っています。

このとき、ブラウザのアドレス表記上では
常に、http://hoge.jp/username/hoge.php
という形で表示させたいのですが、この方法がわかりません。

(要は、ユーザ別にアドレスを綺麗に分けたいのです)

どうすればよいか教えてください。m(_ _)mペコリ
0329nobodyさん04/10/12 16:46:26ID:???
>>328
mod_rewrite
0330nobodyさん04/10/12 17:01:33ID:seDWSO57
>>329
ありがとうございました。
助かりました。
0331nobodyさん04/10/12 17:38:47ID:???
↓これを実装しようと思ってるんだけど、関数の一覧ってどうやったら出せる?
(defun php-complete-function ()
"Complete the function name at the point from known PHP functions."
(interactive)
(message "php-complete-function not implemented yet")
;; how to read the list of functions from a separate file?
)
0332nobodyさん04/10/12 18:06:22ID:???
>>331
get_defined_functions()
0333nobodyさん04/10/12 18:18:54ID:???
>>332
(゚Д゚)ハァ?
0334nobodyさん04/10/12 19:14:06ID:???
> how to read the list of functions from a separate file?
do it yourself with get_defined_functions() ってことじゃねえの?
0335nobodyさん04/10/12 20:02:40ID:iIJDed89
携帯サイト向けに、アップロードした画像をgifとpngで90×60ぐらいに
縮小して別のフォルダに保存するスクリプトを作りました。imagegifて
やっただけなのです。しかしファイルサイズが5KB以上になってしまうものが
多く、pngでは10KBにもなるものがありました。
jpegだとクオリティを指定しながら2KB程度に収められるのですが、gifや
pngの場合、関数で簡単に色数を落としたりしてサイズをさげることは
できないのでしょうか?
0336nobodyさん04/10/12 21:23:54ID:???
>>335
とりあえず、基本情報技術者試験でも受けなはれ
0337nobodyさん04/10/12 21:33:17ID:???
>>317
糞のような思いつきなんだけどセッション変数にブチ込むのはどうだ?
とりあえずリザルトセットがどこかしらPHPから簡単に操作できるリソースに
保存されればいいんだろ?
0338nobodyさん04/10/12 22:38:39ID:???
>>316
本題からはずれるけど、おれはこっちのほうが好き。

(1)
$h=floor($sec/3600);
$m=floor(($sec-($h*3600))/60);
$s=$sec-($h*3600)-($m*60);
echo sprintf("%02d時%02d分%02d秒",$h,$m,$s);

ちなみに、
(2)dateだけ版
echo sprintf("%02d時%02d分%02d秒",date("H",$sec)-date("H",0),date("i",$sec),date("s",$sec));

(3)>>323版変形
echo sprintf("%02d時%02d分%02d秒",floor($sec/3600),date("i",$sec),date("s",$sec));

この3つをそれぞれ1000回実行するのにかかった平均時間は
(1)0.008534
(2)0.033852
(3)0.02452
date関数がいかに遅いかよくわかった。
0339nobodyさん04/10/12 22:53:12ID:???
dateって遅いんだ…
0340nobodyさん04/10/12 23:37:03ID:4ikvnffT
変数をダブルコーテーションで括ると変数が展開されますが、
$str = "this is $foo['bar']";
このようにするとエラーになります。
どうすればよいでしょうか?
0341 ◆.jC7ANgFY. 04/10/12 23:41:01ID:???
>>338
echo gmdate('H時i分s秒', $sec);
これも試してみて。
# 本来ならgmdate("H\\\x8e\\\x9ei\\\x95\\\xaas\\\x95\\\x62", $sec);
# とちゃんとエスケープして書くべきかもしれない。(これはSJIS
0342 ◆.jC7ANgFY. 04/10/12 23:41:58ID:???
>>340
そのままこのように書けばよいのですよ
$str = "this is $foo[bar]";
0343nobodyさん04/10/12 23:42:07ID:???
>>340
$str = "this is {$foo['bar']}";
0344nobodyさん04/10/13 00:01:07ID:???
>>341
>>338の(2)もそうだけど、それでは24時間以上は調べられないから意味がない。
>>321では10から100000秒まで範囲という話だから、24時間以上の数値が入ることが
あり得る。
0345 ◆.jC7ANgFY. 04/10/13 00:03:26ID:???
ついでに独自調査。338と同速度になるよう調整済み。

// 25.8μs
$s = $sec % 60;
$m = ($sec / 60) % 60;
$h = floor($sec / 3600);
"{$h}時{$m}分{$s}秒";

// 9.8μs
gmdate('H時i分s秒', $sec);

// 10.3μs
sprintf("%02d時%02d分%02d秒",$sec/3600,($sec/60)%60,$sec%60);

// 35.6μs(338と同実験により1割ほどこちらのほうが低速)
echo sprintf("%02d時%02d分%02d秒",date("H",$sec)-date("H",0),date("i",$sec),date("s",$sec));
0346 ◆.jC7ANgFY. 04/10/13 00:05:57ID:???
一行目の、"338と同速度になるよう調整済み。"は間違い。
調整しようと思ったがミスがあったので一番下から再度計算してください。

こちらの結論としては24時間分までしか計算できないものの、
gmdate('H時i分s秒', $sec);が一番高速。
0347nobodyさん04/10/13 00:14:48ID:???
>>340
>>343の方をお勧めしとく。
取り合えず{ }でくくれば良い。
他にも $str = 'this is ' . $foo['bar'];
という書き方もあり、速度的にはこっちの方が早いというデータをどっかで見た気がする
が、分かりやすさからいって{ }でくくるのが一番かと思う。
0348nobodyさん04/10/13 00:29:46ID:???
>>331 マジレスして欲しいのか?
「スレ違い。elispスレに池」
あるいは
「a separete fileの仕様も出さずにどう答えろというのだ」

まあここに張り付いている連中にはelispなんぞ分からんっちゅうことはよく分かったろ?
0349 ◆.jC7ANgFY. 04/10/13 00:33:06ID:???
資料2
// 7.9 μs 7.9 μs "this is $foo[bar]";
// 14.4μs 14.3μs "this is {$foo[bar]}";
// 8.1 μs 8.2 μs "this is {$foo['bar']}";
// 5.5 μs 5.6 μs 'this is ' . $foo['bar'];
0350nobodyさん04/10/13 05:59:21ID:I9UFXdzG
なんかスレ違いかもしれませんが許してください。

今、私2chの過去ログを保管するサイトを運営しているのですが、
スレの進行が結構速くて正直更新が大変です
それで、phpで、技術的には
この作業を全自動化することなんかはできますかね・・?

2chのスレ一覧を読み込み、そのスレだと思われるものを特定してログの取得を開始
↓
1001まで行ったらそれを鯖側に出力 同時に次スレのログの取得も開始
↓
出力されたスレへのリンクをhtmlに書き込む

こんな感じで・・・
Readだけだったら、2chは外部からの規制してませんし、いけそうな気がするんです
あ、「こういうPHPをください」っていってるわけではないので・・あくまでできるかどうかききたいんです
もしできるようでありましたら、ちょっと本買って本気でPHPの勉強しようかと思ってます
ちょっと来年あたりから現実が忙しくなるから、少しでも更新を楽にしようかと思いまして

ではよろしくおねがいします
0351nobodyさん04/10/13 06:23:21ID:???
>>350
出来るよ。

但し、php"だけ"では無理だった希ガス。
・phpだけでやる場合
→何かトリガーになるページを置いてそこにアクセスするたびにスクリプト実行
但し、タイムアウトになる可能性がある。(マニュアルにそうならない方法は書いてあるけど)
・そうでない場合
→cronが使えるならそっちの方が確実だしタイムアウトもない。
0352nobodyさん04/10/13 09:19:32ID:???
>>350
ログの取得を全自動にするつもりならPHPで作る意味はない。
Perl, Python, Rubyあたりでやるほうがいろいろな意味で楽。

それと過去ログ収集サイトはけっこうあるからどんな仕組みなのか
ひととおり見て回ったほうが吉。
0353nobodyさん04/10/13 09:47:04ID:???
やっぱりPHPでGD使うやつって馬鹿ですか?
普通FlashやSVGとの連携でやりくりしますよね?
0354nobodyさん04/10/13 10:10:27ID:???
じゃあそれ使ってろや坊主
035525004/10/13 10:40:33ID:???
GD使ったっぽい鯖ログのグラフとかってよく見かけるから
別に馬鹿ではないんじゃない?
0356nobodyさん04/10/13 10:49:41ID:???
>>353
その根拠はなんだよ
0357nobodyさん04/10/13 10:58:22ID:???
>>350
鯖の制約やプログラミングの経験がどんなもんかわからねーと何ともイエネ。
Subject.txtを取得して適当な単語を含むDatを選んでローカルと比較、更新されてるか初物なら取得、
デコードしてHtml化して保存、1000ならHtmlも更新、程度なら超簡単。HTTPの知識がネックか。
データ取得しっかりやると面倒だけど、最悪 $data = file('thread url'); でOK。この手軽さは泣ける。

リスト化したり人手を偽装したり検索なんかの活用も考えてスレタイの変更にも耐えて
間違ったの取得したら削除して、Html化待ちならログインしてテンプレートエンジンつかって
コメント受け付けてレスアンカー書き換えてJavascriptでポップアップしたりimu.nu置換したり
Htmlに改行つけたり〜みたいなことやりだすと糞面倒。

あとread.cgiから読み出すのは公衆道徳上よろしくないし、Htmlをパースすんのは面倒くさいと思う。
datはtransfer/contentエンコしたものしか取れないとかphp以外に2chの特殊な仕様の知識も必要に。
0358nobodyさん04/10/13 11:07:11ID:???
MacromediaFlashが立地クライアントとしてブレイクするつーのは完全にガセだったな。
カールと比べてアレだけ普及しているにもかかわらずだから救えない。ColdFusionは専用言語を除いて悪くない製品だが。
はい手を引くのが遅かった負け組みですが何か。
0359nobodyさん04/10/13 11:15:13ID:???
とりあえず松屋の牛めし食べてくるよ。
0360nobodyさん04/10/13 13:21:56ID:???
ちょうどGDの話題なんで聞きたいんですが、
GDで円グラフとか折れ線グラフって描けます?
そもそもドロー描画できるんでしょうか?
0361nobodyさん04/10/13 13:42:06ID:qHQqzIaw
パラメータがAだったら1 Bだったら2という風に変換したいんですが
if文やswitch文で一つずつ書く以外に簡単な方法ってないでしょうか?
0362nobodyさん04/10/13 13:44:49ID:???
>>361
3項演算子
0363nobodyさん04/10/13 13:48:55ID:???
>>360
jpgraphでも使ったほうがいいんじゃないの?
0364nobodyさん04/10/13 14:14:22ID:???
jpgraはgdだね
0365nobodyさん04/10/13 14:15:17ID:???
結構すじばってて歯ごたえあった。
0366 04/10/13 15:48:11ID:???
php5のデフォではmysqlに接続できない仕様みたいですが、
接続する方法が分かりません。

教えてください。お願いします。
■ このスレッドは過去ログ倉庫に格納されています