【PHP】下らねぇ質問はここに書き込みやがれpart11
■ このスレッドは過去ログ倉庫に格納されています
ここなら本スレで回答のないお前の下らない質問に回答があるかも知れません。
次スレは>>970あたりが建てて下さい
・過去スレ
【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/
0527nobodyさん
2005/10/24(月) 21:33:30ID:???以下のようにやると「120.27」のようにおかしな整数部分が表示されてしまいます。
(整数部分は不要でピリオド以降だけ欲しい)
どしたらよいでしょうか?
echo number_format(getmicrotime(),2);
function getmicrotime(){
list($msec, $sec) = explode(" ", microtime());
return (float)$msec;
}
用途はログ出力の際のタイムスタンプであり、マイクロ秒まで出力したいのです。
もっとスマートなやり方があると思うのですが、
有識者の方、教えて頂ければ幸いです。
0528nobodyさん
2005/10/24(月) 21:36:16ID:???0529nobodyさん
2005/10/24(月) 21:55:03ID:???0530nobodyさん
2005/10/24(月) 22:07:22ID:/DDxE1pe何もセットされてないか(!isset)、何も入ってないか(=="")の場合エラーを出したいんですけど、
if((!isset($_POST['id'])) or (($id = $_POST['id']) == "")) { return "!IDが入力されていません"; }
みたいな事はできないんですか?
わざわざ、
・issetのif書いて
・代入して
・もう1回 =="" のif書いて、、、
ってしなくちゃダメですか?
それと、こういうノウハウというかCGIの知識はどこで学ぶんでしょうか?
他人のプログラムから学ぶのかな・・
0531nobodyさん
2005/10/24(月) 22:12:38ID:GXm9iY9G販売することを考えています。
そこで、いくつか質問があります。
phpで作った市販のWebアプリってありますでしょうか?
スクリプト言語なので、体験版として試用して頂きたくても、
ソースが流出してしまい体験版としての意味をなさないと思います。
また、DBを使用する場合、納品形体としてはDBの設置まで込めたものが一般的なのでしょうか?
DBは用意してもらい、webアプリ部分のみの配布でもありなのでしょうか?
movable typeのように企業で使用する場合は有料みたいなのが理想なのですが、
ソース流出の点はどう対処できるのでしょうか?
また、このような情報を得ることができる本、サイトってございますでしょうか?
0532nobodyさん
2005/10/24(月) 22:13:23ID:???何をしたいのか理解できない.
12.345678 秒っていう時間を取得したとして,
それの 34 だけ出力したいの?
小数点第二位までだったらマイクロ秒じゃなくてミリ秒だよなぁ..
0533見習い ◆DVsUJRCU3g
2005/10/24(月) 22:14:07ID:???or ではなくて ||
あと1個で済ませるなら
if(!is_string($_POST['id'])) { return "!IDが入力されていません"; }
または
if(!is_numeric($_POST['id'])) { return "!IDが入力されていません"; }
0534nobodyさん
2005/10/24(月) 22:18:21ID:???sprintf('%d', substr(round(getmicrotime() * 100) / 100, 2))
とか
つーか秒以下だけとったらタイムスタンプの意味ないじゃん
0だったらNULLだし。整数すててポイント残す意味も分からん
0535nobodyさん
2005/10/24(月) 22:19:44ID:???はいどうぞ
http://www.gnu.org/copyleft/gpl.html
0536527
2005/10/24(月) 22:20:11ID:???>>小数点第二位までだったらマイクロ秒じゃなくてミリ秒だよなぁ..
う、たしかにそうですね。
小数点第四位までとればマイクロミリ秒かな。
"2005.10.24 22:14:07.1234"
みたいな感じで時刻を取得したいのです。
小数点第四位が無理なら小数点第二位まででも構いません。
0537nobodyさん
2005/10/24(月) 22:22:44ID:???0538527
2005/10/24(月) 22:22:59ID:???date("Y.m.d H:i:s")
0539nobodyさん
2005/10/24(月) 22:24:15ID:???PHPから別のPHPを呼ぶときに、非同期に呼びたいのですが可能でしょうか?
目的は、A.phpからB.phpを呼び、B.phpはSleep(10);してから何かを行うことによってタイマーを実装することです。
このスレをざっと検索したところ、PHPのみでタイマーチックなことはできそうになかったもので…。
0540nobodyさん
2005/10/24(月) 22:28:47ID:PCKmF9zIプログラムがインターネット上にあるファイルにアクセスするのに、プロキシサーバを経由しなければならない環境にあります。
PHPでプロキシサーバを経由するようにするにはどのようにすればいいのでしょうか。
0541nobodyさん
2005/10/24(月) 22:30:43ID:???もひとつよく判らんのだが、こういうこと?
list($msec, $sec) = explode(" ", microtime());
echo date('Y.m.d H:i:s.', $sec) . substr($msec, 2, 4);
0542nobodyさん
2005/10/24(月) 22:32:47ID:???$usec = substr($usec, 2);
echo date("Y.m.d H:i:s.$usec");
2005.10.24 22:31:36.91787800
こうかな?
0545nobodyさん
2005/10/24(月) 22:36:20ID:???┌|(⌒ヽ :|| ..:⌒: |┐ / ̄ ̄ ̄ ̄ ̄ ̄ ̄
|::|::ヽ.__:):||(___ノ ::|::| │
|:|: .. :|| .. |:| │
:|: .. || ..|| < >>540 HTTPでおk
:\ [_ ̄] /::| │
:: |\|_|_|_|_/:::| \________
__| | / / :|___
0546nobodyさん
2005/10/24(月) 22:36:27ID:???どうやってログを保存するのか知らないけど,
西暦とか月ごとに保存するディレクトリを分けたりすれば
毎回出力する必要ないような・・・
0549nobodyさん
2005/10/24(月) 22:39:25ID:???fsockopenでプロキシに接続して、
GET http://〜 てな感じのリクエストをする。
細かい所はRFC2616あたりを参照。
0550527
2005/10/24(月) 22:40:31ID:???ビンゴです。
ありがとうございます。
結局、文字列操作関数を使わないといけないんですね。
フォーマット関数でなんとかしようとふんばってたのが間違いでした。
0551nobodyさん
2005/10/24(月) 22:46:27ID:???0554nobodyさん
2005/10/24(月) 22:52:02ID:???if文は簡潔に。
if (empty($_POST['id'])) {
die('param err');
}
0555nobodyさん
2005/10/24(月) 22:52:53ID:???0556nobodyさん
2005/10/24(月) 22:54:12ID:???0557531
2005/10/24(月) 22:57:10ID:GXm9iY9Gレスありがとうございます。
こういうのあるんですね。
逆に言うとこういうの使わないとやはり無理なのでしょうか?
0559540
2005/10/24(月) 23:13:35ID:???>>549
fsocketopenは
ttp://www.php.net/manual/ja/function.fsockopen.php
をみて何となく理解したのですが、
>GET http://〜 てな感じのリクエストをする。
これがよく分からないのですが・・・
0560541
2005/10/24(月) 23:18:01ID:???>>543
PHPにはフォークが無かったかなと思います。
>543 >>547
別プロセスという手で解決されているのですが、レンタルサーバーのため、純粋にPHP以外は動かないようです。
>>552
コマンドラインからPHPを使用するというページが発見できました。早速試してみます。
0562nobodyさん
2005/10/24(月) 23:23:59ID:???そのまま答えだしそのページにもProxyアクセスのサンプルあるしググればいくらでも引っかかるしPHPと関係ねーし
0564nobodyさん
2005/10/24(月) 23:28:04ID:RXos/FpnWBMPは違う形式のようですし。
扱えるライブラリあったら教えてください。
GDのバージョンは2.0.28です。
0565nobodyさん
2005/10/24(月) 23:29:57ID:???0566nobodyさん
2005/10/24(月) 23:31:25ID:???Proxyサーバーにfsockopenで接続して
"GET http://www.yahoo.co.jp HTTP/1.0\r\n\r\n" とか送ってやるとProxyサーバーが良きに計らってくれる。
>>549 氏が RFC2616 を見れ、って言ってくれているんだが読んでみたのかな…
読む気がないのならwget辺りをインスコしてsystem()で呼び出した方が早いんヂャマイカ。
0567nobodyさん
2005/10/24(月) 23:38:48ID:???ありがとうございました。
リクエストの送り方がよく分からなかったのですが、サンプルがそのままリクエストを送っているんですね、
勘違いというか思い違いをしていました。
0568nobodyさん
2005/10/24(月) 23:40:59ID:???これは使える!!
0569nobodyさん
2005/10/24(月) 23:44:35ID:???0570539
2005/10/25(火) 00:14:51ID:???タイマー代わりに使おうと思います。ありがとうございました。
一応同種の質問がきた時用に
<?php
system("/usr/local/bin/php timer.php > /dev/null &");
echo "OK.";
?>
/usr/local/bin/php がコマンドラインでphpを動かすための実行ファイル
timer.php が動かしたいPHPファイル。
> /dev/null は、echoなどの出力結果を無視する。
& は非同期で動かす。
0571nobodyさん
2005/10/25(火) 00:27:57ID:???RSSのtitle部分に日本語が含まれるため、EUCを
UTF-8に変換しようとmb_convert_encoding($str,'UTF-8');と記述したところ、
RSSのtitleが文字化けしてしまいました。対処法を教えてください。
0572nobodyさん
2005/10/25(火) 00:29:09ID:???でどうよ
0573nobodyさん
2005/10/25(火) 01:17:59ID:???関数名を教えてください<(_ _)>
0575nobodyさん
2005/10/25(火) 02:45:01ID:???BMPをページに貼り付けることはないが、WINユーザからうpされたBMPをJPEGかPNGに変換して貼るために、GDの関数を必死こいて模索したことはあったな。
ImageMagickで解決なわけだが、GDでも扱えたほうがよさげな気もする。
(内部構造が単純なだけに実装自体は楽なはず。ファイル形式の互換性に関してはよく知らんが)
0576軟式PHP
2005/10/25(火) 03:20:48ID:???0577nobodyさん
2005/10/25(火) 03:27:17ID:???0578nobodyさん
2005/10/25(火) 04:50:04ID:???関係ないけど
0579nobodyさん
2005/10/25(火) 10:37:26ID:???他言語含めて初心者で、PHPを勉強したいなーと思っています。
当面の目標として、スレッドやツリーなどのない、
シンプルな掲示板を作る事を目指そうと思っています。
MySQLなどは使わないものです。
そこで、お勧めの参考書や参考になるサイト、
お手本としてお勧めの配付されているPHPのソースなどありましたら、
教えていただけませんでしょうか。
ほんと下らない質問ですいませんが、お願いします。
m(_ _)m
0580nobodyさん
2005/10/25(火) 10:52:03ID:???PHP関連の書籍(但しPHP出版系お断り)第2版
http://pc8.2ch.net/test/read.cgi/php/1117066073/l50
ここで見つかるかもしれない.
0581nobodyさん
2005/10/25(火) 11:35:30ID:???0582nobodyさん
2005/10/25(火) 11:44:39ID:????
0584nobodyさん
2005/10/25(火) 13:04:11ID:YHtqjGPcどうやればいいのでしょうか?
やはり一度全てを配列に読み込ませ、配列番号で指定するしか
ないのでしょうか?
0585nobodyさん
2005/10/25(火) 14:29:48ID:kvUtXjYL0587nobodyさん
2005/10/25(火) 14:44:51ID:???PHPのイメージ関数、imagecreateのユーザノートの中に
BMPを操作するユーザ関数が載ってる。
ttp://jp.php.net/manual/ja/function.imagecreate.php
0588nobodyさん
2005/10/25(火) 14:47:14ID:YHtqjGPcちがいます。
一行ずつの読み込み方法は知っています
私が聞きたかったのは例えば
1万行あるCSVファイルから5320行目のみをよみこみたいのです
0589nobodyさん
2005/10/25(火) 14:49:51ID:???fgetcsvを指定した回数呼び出せ。
1行ずつをメモリに読み込むのが嫌なほど1行1行が長いならDBの使用を検討。
fseekも候補としてはありうるかも。
0590nobodyさん
2005/10/25(火) 14:54:55ID:???そんな香具師がいたのかw
ユーザ関数でその手の処理やると概してクソ遅いんだが、まあニーズはあるかもしれんな。
0591nobodyさん
2005/10/25(火) 14:56:22ID:???「&lt;」を「<」に戻したいのですが。
0593nobodyさん
2005/10/25(火) 15:00:30ID:???0594nobodyさん
2005/10/25(火) 15:01:24ID:YHtqjGPcやはりfgetcsvで回数呼び出すしかないですか・・・
>>591
これじゃだめ?
$text = str_replace("<","<",$text);
0595nobodyさん
2005/10/25(火) 15:02:13ID:???http://jp.php.net/manual/ja/function.html-entity-decode.php
0596nobodyさん
2005/10/25(火) 15:02:42ID:YHtqjGPc$text = str_replace("<","<",$text);
0599nobodyさん
2005/10/25(火) 15:11:40ID:???$text = str_replace("<","<",$text);
0600nobodyさん
2005/10/25(火) 15:11:45ID:???594じゃないけど、fgetcsv()はSJIS通らなくて
Excelのcsv読めねぇってうるさいから、自分でハンドリングすることも多い。
0601nobodyさん
2005/10/25(火) 15:12:14ID:???0603nobodyさん
2005/10/25(火) 15:15:09ID:???$text = str_replace("<","<",$text);
0604nobodyさん
2005/10/25(火) 15:25:09ID:YHtqjGPcカバーありがとうです
>>602
こうでしたねorz
$text = str_replace("<","<",$text);
0605nobodyさん
2005/10/25(火) 15:25:32ID:???>(>)はいいのか?
$trans = array (">" => ">", "<" => "<");
$text = strtr($text, $trans);
こんなんいらないって?
0606604
2005/10/25(火) 15:26:22ID:YHtqjGPcごめんよ
0607nobodyさん
2005/10/25(火) 15:28:28ID:???$trans = array (">" => ">", "<" => "<");
$text = strtr($text, $trans);
0609nobodyさん
2005/10/25(火) 15:32:44ID:???SJIS通らないってどゆこと?
つーかExcelってプレーンなcsv/tsv吐けないの?
>>604 >>607
すでに>>595で>>591へのそのものズバリな答が出てる。
頼むからそれ以上やらないでくれ。
0610nobodyさん
2005/10/25(火) 15:45:16ID:???0611nobodyさん
2005/10/25(火) 15:51:08ID:???&lt;と書くには&amp;lt;と書けばよい
・
・
・
以下続く
0613nobodyさん
2005/10/25(火) 16:20:07ID:???fgetcsvでSJISが読めないとか、結構問題ありそうだから実験してみた。
一応、SJISの全ての文字をカンマ区切りで並べて(16個ごとに改行)、fgetcsvで読み込んでみたが、問題なかったけど。
具体的にどうしたら問題あるの?
(改行の境界部分に化ける可能性のある文字があったのかな?)
ちなみにPHP5.0.4で実験
0615nobodyさん
2005/10/25(火) 16:26:48ID:???$nからカッコを取るかっこいい方法を教えてなさい!
おながいします
str_replaceで一個ずつ"<"と">"を取る方法しか思いつきません。
0618615
2005/10/25(火) 16:41:22ID:???ありがとうございます、かっこいいです
>>616
正規表現もかっこいいですが書けません ;-;
で、出来るだけ正規表現使わないで済ましてしまう悪循環・・
0619nobodyさん
2005/10/25(火) 16:46:33ID:???このスレッドあたり
http://ns1.php.gr.jp/pipermail/php-users/2004-June/022870.html
(原因については小泉さんが明確に解説してる)
まあ今時のバージョンは問題ないかも知れないけど、
一旦自前でやるようにしたら、別段元に戻す必要も差し迫ってないからね。
#あとダブルクォートのエスケープ(""")なんかは、fgetcsvは問題ないんだっけ?
0622nobodyさん
2005/10/25(火) 19:58:19ID:???デバッグモードの切り替えを簡単にやりたいのですが。
0623nobodyさん
2005/10/25(火) 20:16:02ID:???Cのプリプロッセサと違って、条件にマッチしない部分もパースされてしまうけど…
define('DEBUG', '');
if (defined('DEBUG')) echo 'debug mode';
0624nobodyさん
2005/10/25(火) 21:04:40ID:lSoYCV0H$a[1] = "いいい,5,12,4";
$a[2] = "ううう,7,3,3";
$a[3] = "えええ,5,1,8";
という配列の12,5,7,5の部分でソートして
$a[0] = "あああ,12,10,2";
$a[1] = "ううう,7,3,3";
$a[2] = "いいい,5,12,4";
$a[3] = "えええ,5,1,8";
としたいです。
(3,4行目の順番は気にしません)
自分では
$b[12] = "あああ,10,2";
$b[5] = "いいい,12,4";
$b[7] = "ううう,3,3";
$b[5] = "えええ,1,8";
と新しい配列を作りキーでソートしてみましたが
二つ目の$b[5]が出て来た時点で一つ目の$b[5]が上書(代入?)されてしまいます。
どうかいい方法をご教授下さい。
0625nobodyさん
2005/10/25(火) 21:14:22ID:???function cmp($a, $b)
{
$ta = explode(',', $a);
$tb = explode(',', $b);
if ($ta[1] == $tb[1]) return 0;
return $ta[1] > $tb[1] ? -1 : 1;
}
usort($a, 'cmp');
0626624
2005/10/25(火) 22:25:50ID:???ありがとうございます。
こういう時にusortを使うんですね。
まだ使い方がわかっていないのですが、マニュアルを見ながらじっくり試してみたいと思います。
0627nobodyさん
2005/10/26(水) 03:00:05ID:???■ このスレッドは過去ログ倉庫に格納されています