【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あたりにきっと誰かが……。
0140nobodyさん
02/09/24 21:09ID:nF3wJ6pk0141nobodyさん
02/09/24 23:44ID:eG+qA3Bk一年くらい稼働しているのですが、そのうち2日間だけ
/tmp/フォルダに、
phpcSCFMZ
のような、php+ランダムな文字列のファイルが
数百個できてました。サイズは0。ファイルオーナーはhttpd。
これは何なのでしょうか?
削除してもいいのでしょうか?
セッションとは別だと思います。session_ランダムな文字列で
一定期間だけ作成されていますので。
どなたか教えてください。
0144nobodyさん
02/09/25 00:43ID:???俺が思うにPHPのフリースクリプトはPerlほどは出てこないんじゃないかな?
だってPerlの奴が腐るほどあるからね。
PHPで作ろうと思っても新しいアイデアもそう簡単には思い浮かばないし。
作っても結局、PHPでわざわざ配布する必要あんのか?って感じ。
0145nobodyさん
02/09/25 01:47ID:???Perl CGIはほとんどの鯖ですぐ使えるが。
フリースクリプトの設置に苦しむレベルの人だと、
PHP+DBのシステムを作るのは敷居が高いでしょう。
0146nobodyさん
02/09/25 08:38ID:???ここにはイパーイ
0147nobodyさん
02/09/25 17:12ID:sj/HLJpa説明書も英語だろうし。
やっぱ、スクリプトから勉強しなきゃダメか・・・。
日本が作った奴ってないのか?
日本人は遅れてるな。実は日本人が作った奴
一個見つけたんだが糞だった。
0148nobodyさん
02/09/25 17:14ID:sj/HLJpa0149nobodyさん
02/09/25 18:46ID:???フリースクリプトの設置に苦しむレベルのひとが
英語のreadmeを忌避するひとが
DB使おうなんて考えることがまずおかしいんじゃないか?
それから
>やっぱ、スクリプトから勉強しなきゃダメか・・・。
などと言っている不勉強な香具師に
>実は日本人が作った奴一個見つけたんだが糞だった。
などと言われてもお前自身糞なことからはじめろ、としかレスしにくいんだが。
0150nobodyさん
02/09/25 21:13ID:???0151nobodyさん
02/09/26 00:02ID:???実際、自分で作ってみれば難しさがわかるべヽ(`Д´)ノ
0153nobodyさん
02/09/26 02:11ID:???自分じゃ作れないくせによくも糞とは言ったもんだ。
しかも日本人は遅れてるだと?
じゃあ何も出来ないお前はどこら辺?
まあ気持ちはわからんでもないが・・・
0154nobodyさん
02/09/26 02:32ID:???0155nobodyさん
02/09/26 03:48ID:???作る側の立場なら>>147は目糞だが、使う側の立場なら>>147は鼻糞。
そして>>147すら満足させられない漏れらは耳糞。
>>147自身、糞だって自覚してるんだよ。
>>147は努力しないひと。勉強できないひと。
そんな>>147に捧げよう。
<?
echo "<META HTTP-EQUIV=\"refresh\" content=\"0;URL=http://tmp.2ch.net/kitchen/\">";
?>
0156nobodyさん
02/09/26 05:07ID:???それをやるならもっとスマートに
<?
header("Location: http://tmp.2ch.net/kitchen/");exit;
?>
と。
0157nobodyさん
02/09/26 09:31ID:FqgYcmGJ他の方法で余りを求める方法があれば教えてくださいm(_ _)m
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");
■ このスレッドは過去ログ倉庫に格納されています