【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/
0488445
2005/10/24(月) 04:17:23ID:up55eUP1【php】part29【php】
http://pc8.2ch.net/test/read.cgi/php/1120611474/
とりあえずこのスレで出た内容適当にまとめました。
FAQや質問テンプレについて、取捨選択しましょう。
0490nobodyさん
2005/10/24(月) 09:49:32ID:???ttp://ns1.php.gr.jp/pipermail/php-users/2004-January/020521.html
0491nobodyさん
2005/10/24(月) 11:16:55ID:???俺の場合はDB接続関数を作って別ファイルに保存。
もちろんパスワードもそのファイルに記述。
それをユーザーがアクセス出来ないディレクトリに置いて include で読み込んでる。
0492nobodyさん
2005/10/24(月) 11:36:13ID:???パスワードファイルに関しては、既に言われているように、
直接参照の出来ないDocument_root上位におくこと。
それよりも、
>ちなみに以前設定が悪かったのか、phpファイルにアクセスしたら
>ダウンロードしますか?みたいなダイアログが出たことがあって超不安です。
こっちはもう大丈夫なのかな?こっちの方が遥かに問題は大きいですぞ。
httpd_confやphp.iniの設定は適切に行わないとね。
0493nobodyさん
2005/10/24(月) 11:37:35ID:QoyBu+Exiはフォームにutn
eとvはprint_r($_サーバー)で出たうちのどれか。
iとvはユーザーの任意。
0495nobodyさん
2005/10/24(月) 11:46:45ID:???0496nobodyさん
2005/10/24(月) 12:07:54ID:???0498nobodyさん
2005/10/24(月) 13:51:01ID:???0499nobodyさん
2005/10/24(月) 13:56:57ID:???0500nobodyさん
2005/10/24(月) 14:43:37ID:???ttp://<?php echo $_SERVER[SERVER_NAME];echo $_SERVER[PHP_SELF]
こんなんできましたが、良いのでしょうか。
<a href='ttp://validator.w3.org/check?uri=" + document.URL + "'>XHTML1.1</a>
のdocument.URL部分に入れて動いたのですが
もしもっとスマートな書き方がありましたらお願いします。
0502nobodyさん
2005/10/24(月) 15:24:19ID:???ありがとうございます。一応エンティティ変換した方が良いのですね。
しかし、いずれにしてもdocument.URLと挙動が違うのが気になります。
document.URLは最後が/で終わるURIすなわちディレクトリ
にアクセスしている場合はディレクトリまでのURIを返します。
http://<?php echo $_SERVER['SERVER_NAME'],htmlspecialchars($_SERVER['PHP_SELF']); ?>
それに対して これだとディレクトリへのアクセスでもDirectoryIndexのパスまで入ってしまいます。
今まではJScriptでdocument.writeを使って
<a href='http://validator.w3.org/check?uri=" + document.URL + "'>XHTML1.1</a>
を表示するという内容の.jsを作って複数のページから呼び出していたのですが、
これをphpのincludeに置き換えたいのです。
DirectoryIndexのファイルのパスを返さずに、
つまりdocument.URLと同じ動作をすることはできないのでしょうか。
0503nobodyさん
2005/10/24(月) 15:35:14ID:???DirectoryIndexが使われた事を知っているのはapacheだけで、
JavaScriptもPHPもその事を知らない。
dirname()やpathinfo()を使ってディレクトリ名を切り出せばええんでないかい?
0504nobodyさん
2005/10/24(月) 15:35:51ID:???クライアントからどう見えてるかをPHPから
特定するのは不可能だが
0505nobodyさん
2005/10/24(月) 16:01:38ID:???> リクエストURI
要するにそういうことなんです。
> DirectoryIndexが使われた事を知っているのはapacheだけで、
> JavaScriptもPHPもその事を知らない。
> クライアントからどう見えてるかをPHPから
> 特定するのは不可能だが
そうか、そうでしたか。JScriptがクライアントサイドだから為せる業だったのですね<リクエストURI
そうなるとなかなか難しそうですね。
諦めて.jsのままでいくことにします。
ありがとうございました。
# ディレクトリだけ切り出すにしてもDirectoryIndexじゃないページからもincludeしたいわけで。
# ごちゃごちゃさせるならこのままで…。
0506nobodyさん
2005/10/24(月) 16:01:41ID:???http://example.com/hoge
http://example.com/hoge/
http://example.com/hoge/index.php
を全部
http://example.com/hoge
として扱うなら,
$dir_index = 'index.php';
$self = htmlspecialchars($_SERVER['PHP_SELF']);
if (strcasecmp(basename($self), $dir_index) == 0) {
$self = dirname($self);
}
こんな感じになると思う.
0507nobodyさん
2005/10/24(月) 16:21:43ID:Ag941LkAhttp://pear.php.net/manual/ja/installation.shared.php
ここを参考に go-pear.php でPEARをインストールする事は出来たのですが、
標準以外のパッケージMail_Mimeなどをインストールする場合はどうすれば良いのでしょうか?
go-pear.phpでインストールしたディレクトリの所有者がApacheのユーザ
nobodyになっていて、FTPでファイルをアップロードできません。
0508nobodyさん
2005/10/24(月) 16:36:13ID:g+BdaTEjhttpsで開いているページからhttpでリンクした先のページで
HTTP_REFERERが取得できません。
こうゆうのってブラウザとかW3Cの使用なのでしょうか?
0509nobodyさん
2005/10/24(月) 16:36:24ID:???あ、入れ違いでしたね、すみません。
実はDirectoryIndexがディレクトリごとに異なっているという、
一般的に見ておかしなことになってまして。
DirectoryIndexの把握だけですでに面倒…。
一応試してみましたがrootディレクトリのindex.phpの場合だと
$selfには\が入ってしまいました…。
これはどうにでもなるので良いのですが。
いろいろありがとうございました。
0511軟式PHP
2005/10/24(月) 16:49:51ID:???PEARをダウンロードしてきて適当なディレクトリにつっこんで、
set_include_path(ディレクトリ名);
で使えると思うよ。
0512nobodyさん
2005/10/24(月) 16:55:32ID:???$pear list package_name-0.1.2.tgz
で,そのパッケージがどの場所にインストールされるか調べられる.
大抵のパッケージは解凍した通りの位置のままで使えるけど,
ものによっては名前が変わったりする.
0514nobodyさん
2005/10/24(月) 17:27:43ID:???ある関数の結果がNGの場合、以降の処理は行いたくないので。
(関数内でしたら、returnとかってできますけど)
以降の処理をif文でくくれば可能ですが、それは最後の手段としたいです。
良い知恵を拝借したく存じます。
0515nobodyさん
2005/10/24(月) 17:31:09ID:???0516nobodyさん
2005/10/24(月) 17:34:18ID:???0519nobodyさん
2005/10/24(月) 17:55:40ID:???以降の処理を全てスルーだったので、
exitかdieで逃げることができました。
助かりました。
0520nobodyさん
2005/10/24(月) 19:06:25ID:???0521nobodyさん
2005/10/24(月) 19:22:15ID:???0522nobodyさん
2005/10/24(月) 19:28:53ID:???0523nobodyさん
2005/10/24(月) 19:34:00ID:???0524nobodyさん
2005/10/24(月) 19:36:55ID:???0525nobodyさん
2005/10/24(月) 20:12:17ID:???0526nobodyさん
2005/10/24(月) 20:51:04ID:???今も熱く燃えて
あなた恋しい あなた恋しい 女の涙
あなた恋しい あなた恋しい 多摩川ブルース
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
■ このスレッドは過去ログ倉庫に格納されています