【PHP】質問スレッド Part5
■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん
02/09/11 14:15ID:FWA0CpdU■本家
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あたりにきっと誰かが……。
0159157
02/09/26 09:57ID:FqgYcmGJできました!
ありがとうございましたm(_ _)m
0160nobodyさん
02/09/26 10:30ID:???PHPでMYSQLのフィールドカーソルを操作したいのですが、よくわかりませんでした。
簡単な操作方法がありましたら教えてください。
0161nobodyさん
02/09/26 20:33ID:v/eI/U7Rそれは「PHP」の問題か?
0163nobodyさん
02/09/26 23:04ID:???mysql_fetch_field
0164nobodyさん
02/09/28 00:40ID:???http://pc.2ch.net/test/read.cgi/php/983250751/l50
0165nobodyさん
02/09/28 23:08ID:???0166nobodyさん
02/09/28 23:58ID:???cron以外ということはUnix系OSなんですな。
気軽な方法ではcorn以外思いつかないけど、
Unix板かLinux板で聞いてみるとか。
レンタル鯖はcronを使わせてくれない、もしくは有償だったりしますが、
自宅や会社のPCを使って、定期的にwgetさせる手は使ってます。
0167nobodyさん
02/09/29 00:07ID:???0168nobodyさん
02/09/29 00:09ID:???ども。レンタルというこで当然cron使えず、
やぱしcron使わずには無理なんでしょうね。
だと、訪問者に踏ますようにするしかないかな?
どなたか良法知てたら教えてください。
0169nobodyさん
02/09/29 00:12ID:???ありがとうございます。
そうですね。でも付けっ放しは無理だなー。
ツウ事で、訪問者がらみでMETAが有効になりそうですね。
どうなんでしょう?
0170hmk
02/09/29 00:14ID:0Sel5nEd最後に踏んだ時間をサーバ上のファイルに記録しておけばいいやろ。
0171nobodyさん
02/09/29 01:51ID:Y4MVE/IQどういう処理をするものなのか解らないけど、
誰もアクセスしてなきゃ動かす意味ないんだろ?
んじゃ、設定した時間以降一回目のアクセスで動くようにしたら?
0172nobodyさん
02/09/29 02:33ID:???0173nobodyさん
02/09/29 02:59ID:DMNuaTqBとっても不恰好だけど、とにかく安上がりに作りたいなら、こんな手もあるということで。
ついでに、自宅のルーターとしてもつかったら?
そもそも、なにを目的として、定期的に .php を実行したいのかによって解は変わるかも。
不定期でもいいなら、誰かがアクセスしに来たときに現在時刻を定数で割って、1時間おき
とかに所定のファイルが実行させるようにしてもいいのでは?
0174173
02/09/29 03:02ID:???170さんが書いているように最終アクセス時刻をファイルに保存しておいて、現在時刻との
差が1時間以上経過していたら実行するとかは?
0175nobodyさん
02/09/29 03:20ID:D5u5GxKuzlib,libjpeg,FreeType 等インストールしてpngで表示させるのは
成功したのですが、jpegだとNGです。
phpinfo()をみると
PNG SUPPORT enabledとなっていても、JPEGについては記述がないので
PHPのconfigureのログをチェックしたらこんな感じでした。(jpeg関連のみ抜粋)
checking for the location of libjpeg... yes
checking for jpeg_read_header in -ljpeg... (cached) yes
checking for gdImageCreateFromJpeg in -lgd... (cached) no
gdImageCreateFromJpegがyesなら問題ないと思うのですが。
誰か同じような問題に当たった人いたら教えて下さい。
0176175
02/09/29 03:24ID:D5u5GxKuGDのMakefileにはこんな変更を加えました。これでpngはOKでした。
CFLAGS=-O -DHAVE_LIBPNG -DHAVE_LIBJPEG -DJISX0208 -DHAVE_LIBTTF
LIBS=-lgd -lpng -lz -ljpeg -lm -lttf
INCLUDEDIRS=-I. -I/usr/include/freetype -I/usr/include
jpegライブラリ関係が機能してないのかなとも思ったのですが
チェックする方法とかないでしょうか。
0177nobodyさん
02/09/29 03:32ID:???用途はただのデータ集計なんです。できれば定刻がベストですが無理ですね。
おっしゃるように最後に踏んだ時間を記録して、
時間差を確認して起動する方法を考えていきます。
ありがとうございました。
>>172
すれ違いなりました。 もうしわけない。
0178nobodyさん
02/09/29 03:36ID:???まったく解らないのだが、
>checking for the location of libjpeg... yes
は、libjpegにロケーション出来てるかどうか?
>checking for jpeg_read_header in -ljpeg... (cached) yes
は、readだから読み込み?
でも、
>checking for gdImageCreateFromJpeg in -lgd... (cached) no
は、Createって単語が入ってるから、「作る」に関係がるんだろう。
ってことは、JPEGを作るための物が欠けてるんだねってカンジがするけど・・・
あくまでも、エラーを見たカンジで言ってるだけですけどw
0179175
02/09/29 03:41ID:D5u5GxKujpeg関係は jpegsrc.v6b.tar.gzからインストールしてます。
../configure --enable-shared
make install
ログを見た感じではjpegライブラリの場所はわかってるみたいなので、
確かに「作る」に関係してものが足りないんだろうけど。
それがなにか、わからないんですよね(半泣)
0180178
02/09/29 03:44ID:???http://www.google.co.jp/search?sourceid=navclient&hl=ja&q=gdImageCreateFromJpeg
見た?
0181175
02/09/29 04:07ID:D5u5GxKuみました。が、わからず。
他に例がないってことは自分の環境に問題があると考えた方がよいかも。
とりあえず。ねます。レスサンクス。
0182nobodyさん
02/09/29 06:37ID:YD0GxPMW言わずもがなのこととは思いますが・・・
クライアントからのアクセスをトリガにしてPHPを実行している真っ最中、
つまり、ファイルに保存している最終実行時刻を更新する前に、
もう一発クライアントからのアクセスがあると、2重にスクリプトを実行して
厄介なことになる可能性がありますので、ファイルのロックなどで適切に調停
して下さいね。
0184nobodyさん
02/09/29 23:01ID:WutRk6vF0185hmk
02/09/30 02:35ID:???$HTTP_GET_VARSは配列で、スクリプトに渡された変数と値が、この配列のキーと要素になりまそ。
例 x=1,y=2が渡された場合
$HTTP_GET_VARS["x"] が 1
$HTTP_GET_VARS["y"] が 2
になりまそ。たぶんね。
0186nobodyさん
02/09/30 02:46ID:???0187nobodyさん
02/09/30 03:07ID:???ガイシュツかどうか分からないけど
PHP4.1.0以降だったかな?では
$HTTP_GET_VARS -> $_GET
$HTTP_POST_VARS -> $_POST
に変わったから注意ね
0188187
02/09/30 03:17ID:???スクリプト配布サイトにとっては厄介な変更だけどね
http://www.php.gr.jp/history/release_4_1_0.html
http://www.php.gr.jp/history/release_4_2_0.html
0189nobodyさん
02/09/30 11:15ID:???と
if($ID = 'a|b|c')
の書き方は一緒なんでしょうか?
0190nobodyさん
02/09/30 11:52ID:???0191nobodyさん
02/09/30 12:20ID:P9mskQboPHPの./configureで
lib/libjpeg.soのあるディレクトリ(--with-jpeg-dir=/usrまたは--with-jpeg-dir=/usr/local)
を指定した方がいいんじゃない。
0192nobodyさん
02/09/30 12:22ID:P9mskQbo"|"と"||"はまったく違うって
0193nobodyさん
02/09/30 12:36ID:???if($ID == 'a' || 'b' || 'c')
0194nobodyさん
02/09/30 13:03ID:???ちがうんちゃうんか?
$ID = "c";if($ID == 'a' || $ID == 'b' || $ID == 'c'){echo "ID:含";}
$ID2 = "c";if($ID2 == 'a|b|c'){echo "ID2:含";}
0195名無しさん
02/09/30 13:05ID:???0196nobodyさん
02/09/30 15:05ID:???0197nobodyさん
02/09/30 18:01ID:???その内の # から始まる行を削除したいのですが、
どのようにすれば良いでしょうか?
# から始まる行数は場合によって異なります。
0198hmk
02/09/30 18:25ID:???$str = ereg_replace("\n#[^\n]*\n", $str);
$str = ereg_replace("^#[^\n]*\n", $str);
$str = ereg_replace("\n#[^\n]*$", $str);
$str = ereg_replace("^#[^\n]*$", $str);
こんなんで出来るかなぁ。。。
きちんと書けば、正規表現一発でできるはずなんだけど。。。
上のが無理なら、文字列を改行でexplode()してからループさせる方法もある。
0199nobodyさん
02/09/30 22:27ID:p1yTd7ExBASICにあったMID、(部分文字列コピー)関数のようなものは無いでしょうか…。
スマソ
0200nobodyさん
02/09/30 22:32ID:???あるよ
http://www.php.net/manual/ja/manual.php
0201名無しさん
02/09/30 22:41ID:???あるよ
http://www.php.net/manual/ja/manual.php
0202199
02/09/30 22:48ID:p1yTd7Exhttp://www.php.net/manual/ja/ref.strings.php
0203nobodyさん
02/09/30 22:53ID:???strtoupper--文字列を大文字にする
strtr--特定の文字を変換する
substr_count--副文字列の出現関数を数える
substr_replace--文字列の一部を置換する
substr--文字列の一部分を返す
trim-- 文字列の先頭および末尾にあるホワイトスペースを取り除く
ucfirst--文字列の最初の文字を大文字にする
ucwords-- 文字列の各単語の最初の文字を大文字にする
vprintf--フォーマットされた文字列を出力する
0204nobodyさん
02/09/30 22:56ID:???http://jp2.php.net/manual/ja/ref.strings.php
http://jp2.php.net/manual/ja/function.substr.php
0205nobodyさん
02/09/30 22:59ID:???0206199
02/09/30 22:59ID:p1yTd7Exありがとうございます。
0207nobodyさん
02/09/30 23:16ID:???ミ*゚∀゚彡 < 先生!猿か小学生にも教えてあげて下ださい。
.__ミミ_ ミ_ \______________________
.\ ∪ \
||\_____.\
||\|| ̄ ̄ ̄ ̄||
. || ̄ ̄ ̄ ̄||
0208nobodyさん
02/09/30 23:25ID:???ミ*゚∀゚彡 < 先生!猿がブラインドタッチでPHP書いてる姿、想像しちゃいました!
.__ミミ_ ミ_ \______________________
.\ ∪ \
||\_____.\
||\|| ̄ ̄ ̄ ̄||
. || ̄ ̄ ̄ ̄||
0209nobodyさん
02/09/30 23:38ID:???ミ*゚∀゚彡 < 先生!208さんがオモシロスギデス。こんにゃろ。
.__ミミ_ ミ_ \______________________
.\ ∪ \
||\_____.\
||\|| ̄ ̄ ̄ ̄||
. || ̄ ̄ ̄ ̄||
0210nobodyさん
02/10/01 01:06ID:???ミ*゚∀゚彡 < 先生!>>208が「こんにゃろ」とか言って可愛過ぎます!
.__ミミ_ ミ_ \______________________
.\ ∪ \
||\_____.\
||\|| ̄ ̄ ̄ ̄||
. || ̄ ̄ ̄ ̄||
0211nobodyさん
02/10/01 02:05ID:???ミ*゚∀゚彡 < 先生!そろそろPHPの授業をはじめてください。
.__ミミ_ ミ_ \______________________
.\ ∪ \
||\_____.\
||\|| ̄ ̄ ̄ ̄||
. || ̄ ̄ ̄ ̄||
0212nobodyさん
02/10/01 07:41ID:qB96ooZo> きちんと書けば、正規表現一発でできるはずなんだけど。。。
一発じゃマッチング順の問題で失敗する条件があるみたいです。2回に分ければ正しく動く置換が組み立てられます。
$str=preg_replace('/^\s*#[^\n]*\n?/', '',
preg_replace('/\n\s*#[^\n]*/', '', $str));
---
俺的ポータルサイトを作ろう
http://mysite.ddo.jp/
0213nobodyさん
02/10/01 08:01ID:qB96ooZo>.phpを設定時間がきたら起動さす方法はありますか? cron以外なので無理かな・・・。
pcntl_fork して後は寝て (sleep) 待つ、という方法ではいかが。つまり、cron 相当の作業を PHP で書いちゃえば良いってことですな。
0214nobodyさん
02/10/01 09:39ID:2iQ2koto<!--banner-->
というタグが、某ディレクトリ内にある画像に、ランダムで置き換わる際の
PHPスクリプトを教えて頂けないでしょうか。
0215nobodyさん
02/10/01 11:06ID:2iQ2koto$rand = ???????????????
$pic01='<img src=$rand width="468" height="60">';
echo ereg_replace ("<!--banner-->",$pic01,$pic01);
のようになると思うんですが
特定の画像が出た時に特定のリンクがうまく行かなくて
0216nobodyさん
02/10/01 13:20ID:???つかこの文章で動すか?特定のリンクの変数は?よくわからないす。ゴメソ
0217nobodyさん
02/10/01 13:33ID:???> echo ereg_replace ("<!--banner-->",$pic01,$pic01);
これって、意味あるんか?
ereg_replace(string pattern, string replacement, string string)だから
$pic1に<!--banner-->が含まれていとすると置き換えようがない
仮に$randが"??<!--banner-->???"だったりすると、
結果は、
<img src=??<image src=??<!--banner-->??? with="468" height="60">??? with="468" height="60">
みたいに変にならんか。
やりたいことは間違いなく違うだろうが。
0218nobodyさん
02/10/01 14:20ID:q/Y1XH55???????は変数
よく分からないのでもうやめときます
0220nobodyさん
02/10/01 15:07ID:???うきゃ?うききき、うーきうきうきー!
うきぃぃ・・・・。
0221hmk
02/10/01 15:18ID:???文字列に変数が含まれている場合には、ダブルクォートでくくらないと駄目でした。
$pic01 = "<img src=\"${rand}\" width=\"468\" height=\"60\">";
0224222
02/10/01 15:44ID:???だから、
$a = '"';
は有効で、
$b = """;
はNGになるから、
$b = "\"";
となる。
http://pc.2ch.net/test/read.cgi/php/1011550860/l50
の方がいいかも。
0225名無しさん
02/10/01 15:53ID:???ウザすぎ。
0229nobodyさん
02/10/01 15:56ID:ITTNSseG0230nobodyさん
02/10/01 15:57ID:2aPoU4IE0231hmk
02/10/01 15:58ID:???儂がいいたかったのは、
$name = "内山怜也";
$te_1 = 'I love ${name}.';
$te_2 = "I love ${name}.";
echo $te_1; // I love ${name}.
echo $te_2; // I love 内山怜也.
ちゅーこった。
0232nobodyさん
02/10/01 16:03ID:???このレベルで引っかかっているようでは
PHPだろうがPerlだろうがASPだろうが
何やってもダメなものは駄目。
0233nobodyさん
02/10/01 16:05ID:???から勉強しないと >>232 の言う通りだね。
とりあえずこのスレはブックマークから外します。
役にたつ質問無さすぎ。
0234nobodyさん
02/10/01 16:13ID:???0235名無しさん
02/10/01 16:16ID:???あるよ
http://www.php.net/manual/ja/manual.php
0238nobodyさん
02/10/01 16:49ID:???$hoge=str_replace("1","1",$hoge");
$hoge=str_replace("2","2",$hoge");
$hoge=str_replace("3","3",$hoge");
$hoge=str_replace("4","4",$hoge");
$hoge=str_replace("5","5",$hoge");
$hoge=str_replace("6","6",$hoge");
$hoge=str_replace("7","7",$hoge");
$hoge=str_replace("8","8",$hoge");
$hoge=str_replace("9","9",$hoge");
0240hmk
02/10/01 16:59ID:???「何かよい関数あります?」だから、ある/ないで答えればいいじゃん。
あるとわかれば、234は自分で調べるだろ。
0241nobodyさん
02/10/01 17:02ID:???それでもいいけど、
$str = "123456789";
$str_from = array("0","1","2","3","4","5","6","7","8","9");
$str_to = array("0","1","2","3","4","5","6","7","8","9");
$str = str_replace($str_from, $str_to, $str);
のほうがスマートかも。
$str = mb_convert_kana($str, "n");
が一番楽だけど。
0242234
02/10/01 17:04ID:???うまく逝かなかったので、別の方法があれば聞こうと思って、てっとりばやく1行質問してみたんです
$str = mb_conver_kana($var, 'AKHV');
|_ r 全角英字を半角に
R 半角英字を全角に
n 全角数字を半角に
N 半角数字を全角に
a 全角英数字記号を半角に
A 半角英数字記号を全角に
s 全角空白を半角に
S 半角空白を全角に
k 全角カタカナを半角に
K 半角カタカナを全角に
h 全角ひらがなを半角に
H 半角ひらがなを全角に
c 全角カタカナを全角ひらがなに
C 全角ひらがなを全角カタカナに
V 濁点を 1 文字全角に(K、H と一緒に使用)
この関数はPHPの標準ではないですよね?
0243名無しさん
02/10/01 17:05ID:???0247hmk
02/10/01 17:17ID:???なにか特別なエラーがでないのなら、あとは文字コードの問題くらいかなぁ。
儂はPHP3しかつかったことないので詳しく知らんが。
0250nobodyさん
02/10/01 17:41ID:???0251234
02/10/01 17:43ID:???○→mb_convert_kana
×→mb_conver_kana
http://homepage2.nifty.com/sak/w_sak3/doc/sysbrd/php_k05.htm
ここのHP参考にしてたんだけど、「t」がなかった・・・
やられたヽ(`Д´)ノ ウワァァァン
いろいろとご迷惑を(略
0253nobodyさん
02/10/01 17:47ID:???云々と出ただろうに。。。
0254nobodyさん
02/10/01 17:49ID:???レッツPHPのスクリプトの改造で悩んでいます。
同一ホストからの連続投稿に時間制限を設けたいのですが(例えば一度書き込んだら
その後30分は書き込みできないようにする)、どこに何を書き込めば解決するでしょうか。
ソースは下記のものになります。
ちなみにPHPのバージョンは4.2です。
http://php.s3.to/simple/#short
0256hmk
02/10/01 18:05ID:???掲示板のデータファイルに、ホストのIPを一緒に書き込んでおけ。
そして、同ホストが前回書き込んだ時刻を参照しろ。
これが分からなかったら、再度、改造工房にageることですな。
0258login:Penguin
02/10/01 22:00ID:???IPでの制御はお勧めできない。
やっぱCOOKIEがBEST。
■ このスレッドは過去ログ倉庫に格納されています