【PHP】下らねぇ質問はここに書き込みやがれ 30
■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん
2006/10/05(木) 01:38:25ID:y1WWhz/pまず読め→【PHP マニュアル】http://www.php.net/manual/ja/
PHPで最良の教本はこの公式マニュアル。市販の書籍は嘘が多いので鵜呑みにしない。
過去スレ、関連スレ、FAQなどは>>2-10辺り
◆質問する場合の注意
1. 自分のIDを表示させること。(メール欄に何も記述しないでください)
2. サーバーのOS、WebサーバーとPHPの種類やバージョン等を明記すること。
3. 己の行った操作、変更などを詳しく明記すること。
4. エラーメッセージはそのまま表記すること。「エラーが出ます」では絶対分かりません。
5. 質問者としても態度をわきまえること。
6. 事前に公式マニュアル、リファレンス本くらいはちゃんと目を通しておくこと。
◆質問後の注意
・質問者は必ずIDを表示させてください。(メール欄に何も記述しないでください。)
・2回目以降は最初に質問した際のレス番号を名前欄に入れてください。
(逆に回答者は質問者に対して>>(アンカー)をつけて答えてください。)
・解決しなくても回答をもらった場合はお礼を言う。
(荒らし、煽りは除く。逆に煽られたときも、無闇に反論せずスルーすべし)
【その他諸注意】
・正規表現・PEAR・テンプレート(Smarty等)・フレームワークはそれぞれの該当スレへ
・SQLについての質問はデータベース板(PCカテゴリ)の各スレで
・オブジェクト指向については良スレがないから本を買え。理解できないならムリに使うな。
・速さについては自分でベンチをとってここに書け(違う環境の人も調べてくれるかも)
0031nobodyさん
2006/10/05(木) 14:17:10ID:???関数はありませんか?
003328
2006/10/05(木) 14:34:59ID:???そんな本もあるんですね。早速アマゾンで探してみます。
>>30
参考サイトありがとうございます。
早速拝見しましたが逆引きもあって便利そうですね。
紹介してもらったサイトを参考に勉強したいと思います。
お互い経験積んで頑張りましょう!
0034nobodyさん
2006/10/05(木) 16:29:07ID:???0035nobodyさん
2006/10/05(木) 16:43:54ID:???softbankは無理
0036nobodyさん
2006/10/05(木) 16:45:40ID:???0037nobodyさん
2006/10/05(木) 17:46:18ID:???公式デベロッパーサイトってなんですか??
公式デベロッパーサイト KDDIとかで検索してみましたが良く分かりませんでした。
SoftBank無理ですか(=д=#)...
0038nobodyさん
2006/10/05(木) 17:55:52ID:FhS4/x3O手持ちの本を読んでもWebでも見つけられなかったので、質問させて頂きます。
$i=~$i;
ってどういう意味なんでしょうか?
あと、
$i=$i&0xFFFF;
の「&」の意味も教えて頂ければと思います。
よろしくお願い致します。
0040nobodyさん
2006/10/05(木) 18:05:58ID:???0041nobodyさん
2006/10/05(木) 20:19:53ID:???ビット演算子
・「~」はビット反転。
(例えば1をビット反転すると-2になるのは、2の補数で調べるとイイ)
・「&」は論理積。
詳細はビット演算で検索すると大量に見付かるからそっちに任せた。
0042nobodyさん
2006/10/05(木) 21:23:40ID:Mc2eGKeJ$f = fopen("test.txt", "w+");
で新規作成しようとしてもうまくいきません。
ローカルテスト(Ver4.4.4)ではうまくいくのですが、サーバ(ver4.3.1)に
アップすると必ずfopenの行で、
Warning: fopen(): Unable to access test.txt
Warning: fopen(test.txt): failed to open stream: No such file or directory
というエラーが返ってきます。事前に対象のファイルを用意してやれば読み書き共に
オープンできるようです。ちなみに試してみたところ、copy()も通りませんでした。
サーバ上の権限がないからでしょうか?
0043nobodyさん
2006/10/05(木) 21:35:58ID:???あとセーフモードになってるとか、open_basedirで制限されてるとかも
ないわけではない。
0045nobodyさん
2006/10/05(木) 22:17:20ID:BOdiPOMCphp.iniでSMTPサーバを指定したいんですけど、[For Win32 only.]の文字を見つけちゃいました。
SMTPの設定値って、WindowsOSしか対象とならないのでしょうか?
ちなみに、SMTP = <メールサーバのIP>を指定したんですけど、
mail()で指定したメールサーバを経由してメール送信を実施する事が出来ませんでした。
[mail function]
; For Win32 only.
SMTP = localhost
smtp_port = 25
0046nobodyさん
2006/10/05(木) 23:00:05ID:q9Uny2VW0047nobodyさん
2006/10/05(木) 23:37:09ID:???マニュアルにあるとおり。
>SMTP string
> Windows 環境のみで使用されます: mail() 関数でメールを送信する際に使用する SMTP サーバのホスト名または IP アドレス。
SMTPで送信したいのであれば、phpmailerとかPEARのMailつかうとか。
0048nobodyさん
2006/10/05(木) 23:46:35ID:BOdiPOMCありがとうございます。
自分もそのマニュアルを見てました。
便利なのにWinだけなんて残念ですね。
仕様について考え直してみます。
0049nobodyさん
2006/10/06(金) 00:11:09ID:???たぶん、インスタンスを参照してる変数すべてについて、別のものを指すようにする
またはunsetするとかの方法しかない。
0050nobodyさん
2006/10/06(金) 01:14:09ID:en5ikSuV0051nobodyさん
2006/10/06(金) 01:25:55ID:???よっとしてAPIって言葉の意味自体分からないとか?
0052nobodyさん
2006/10/06(金) 01:33:36ID:???アプリケーション開発における内部プログラムと外部プログラマをつなぐもの(つまり「ム」と「マ」をつなぐものw)ってくらいの意味をみんな好き勝手に使いすぎなんだよな。
ライブラリのことをAPIって言ってみたり、開発者向けドキュメントのことをAPIって言ってみたり、もう何が何だかわかりません><
0053nobodyさん
2006/10/06(金) 01:45:11ID:en5ikSuVffmpegをダウソしてサーバーに上げてみたんだがそんなライブラリはないみたいなエラーが出やがるorz
0054nobodyさん
2006/10/06(金) 01:49:15ID:???サーバーに上げた後、指定されたソースディレクトリにffmpegを置いて、phpのconfigureオプションにffmpegを追加してコンパイルしなおし、php.iniのextensionを追加しないと動かないよ。
0055nobodyさん
2006/10/06(金) 01:55:26ID:en5ikSuVが頭の悪いオレにはわかんねー。 orz
ちなみにサーバーはSAKURA使ってます。
0056nobodyさん
2006/10/06(金) 02:01:22ID:???サーバー管理者に直接問い合わせてインストールしてくれ、と交渉してください。
0057nobodyさん
2006/10/06(金) 02:03:31ID:en5ikSuVどうにかして動画からサムネイルを作らせてくれ orz
0058nobodyさん
2006/10/06(金) 02:11:46ID:???0059nobodyさん
2006/10/06(金) 02:43:17ID:en5ikSuVでもSAKURAのサーバーに投稿されたときに自宅サーバーが
PHPを使ってサムネイルを生成するように操作することってできるの?
素人ですまん。
0060nobodyさん
2006/10/06(金) 02:45:50ID:???0061nobodyさん
2006/10/06(金) 02:48:36ID:en5ikSuV0062nobodyさん
2006/10/06(金) 02:50:47ID:???>C、C++はあらかじめコンパイルしてアップロードしてください。
だそうだ。
0063nobodyさん
2006/10/06(金) 02:54:13ID:???さくらもできる
ただ負荷が強烈にかかる
0064nobodyさん
2006/10/06(金) 02:58:03ID:???ffmpegってphpのconfigure、makeし直して、サーバー再起動しなきゃ無理なんじゃないの?
xreaってそこまでできるの?
0065nobodyさん
2006/10/06(金) 03:05:52ID:en5ikSuVでも、私の技術では無理なようです。
PHP6くらいで動画関数ができることを祈って待ってます。
ちなみにこんな感じのYouTube動画からサムネイルを作るAPIなるものが
あるらしいのですがそれは簡単ですか?
http://023.gamushara.net/bbs/ytsports/
0066nobodyさん
2006/10/06(金) 03:33:33ID:???検索するって事を学んだ方がいいと思うが?
とりあえず、安心確実な公式ドキュメント
Developer APIs
http://www.youtube.com/dev
007042
2006/10/06(金) 04:48:10ID:???ありがとうございます。調べてみたら思いっきりセーフモードで動いてました。
perlだったら何とか通ったっぽいので、ファイル作成だけはperlで組むことにします。
0071nobodyさん
2006/10/06(金) 08:02:44ID:???PHPからデータソース名を指定してSQL Serverに接続したいのですが、
データソースの定義ってどこで行うんでしょう。
Java + Tomcatだと、Tomcatの設定に書いておきますが・・・
0072nobodyさん
2006/10/06(金) 08:14:15ID:???0073nobodyさん
2006/10/06(金) 08:15:14ID:???JavaでいうデータソースはPHPではコネクションを取得するスクリプト中に直接記述する。
コネクションの取得方法はDBMSごとに違うけど、ある程度統一的な方法を使うにはpearかpdoを使う。
後はマニュアル読めば全部載ってる。
0075nobodyさん
2006/10/06(金) 08:47:28ID:???実際どう使えばいいのかわからん。
実例みたいな紹介しているサイトありませんか?
0076nobodyさん
2006/10/06(金) 08:49:39ID:???でも独学ならそんなに無理して使う必要ないけどね。
最初からオブジェクト指向でやってる人なら無いとやってらんないだろうけど。
0078nobodyさん
2006/10/06(金) 10:23:12ID:???フレームワークを使ってみるとか。
今はsymfony、cakephp、zend frameworkが有力らしいです。某スレによると。
0079nobodyさん
2006/10/06(金) 10:43:47ID:???0080nobodyさん
2006/10/06(金) 11:00:41ID:???受け取ります。迷惑メールにならない方法ってありますか?
0083nobodyさん
2006/10/06(金) 12:14:24ID:???PHPのsession使うのはセキュリティの関係上DBにしてたのですが、
PHPをCGIとして動作させる場合、同様に共用レンタルサーバーでの
sessionの管理方法として、
DB、ファイル、どちらか優劣を決めることはできるでしょうか?
0085nobodyさん
2006/10/06(金) 14:09:59ID:???下のだと、たまに4文字しか抜き出せなかったりします。
何かお薦めの方法を教えてください。
$mictime = microtime();
$registdate = substr($mictime,2,5);
0086nobodyさん
2006/10/06(金) 14:15:50ID:???var_dump(microtime());
とかやって、どんな出力するのか確認してごらん。
で、マニュアルを読む。
http://www.php.net/manual/ja/function.microtime.php
0087nobodyさん
2006/10/06(金) 14:43:00ID:???5文字ってことは英数字でもいいの?
だったら
$microtime = md5($microtime());
$registdate = substr($mictime,0,5);
とかが簡単
008887
2006/10/06(金) 14:44:24ID:???$microtime = md5($microtime());
じゃなくて
$mictime = md5(microtime());
ね
0089nobodyさん
2006/10/06(金) 14:45:12ID:???http://www.thinkit.co.jp/free/news/0610/6/
0090nobodyさん
2006/10/06(金) 14:59:52ID:???ありがとうございます!
数字で取得したかったので、87さん、すいません。
substr($mictime,2,5)で取り出しても、最初の数が0だと抜き出す数字は
4桁になるのを、前に数字をつけて解決することにしました。下の
ような感じで取得することにしました。
$registdate="5".substr($mictime,2,5)
0091nobodyさん
2006/10/06(金) 15:02:26ID:???押したことになってしまいますが、これを無効にする方法ってありますか?
0093nobodyさん
2006/10/06(金) 17:19:11ID:???データ量が多くなるとパフォーマンスは落ちますでしょうか?
0094nobodyさん
2006/10/06(金) 18:22:26ID:???0095nobodyさん
2006/10/06(金) 18:46:31ID:???そうなの?
$_SESSION['hoge']とかで呼び出したときに、
その部分だけファイルからメモリに読み込まれるんだと思ったが・・・
0097nobodyさん
2006/10/06(金) 23:15:41ID:???効率も良かったりするけどな。(その代わりディスク容量食うけど)
残念ながらPHPのはファイルに$_SESSION配列を丸ごとシリアライズで格納、
って方式だから$_SESSIONの中身が太るとパフォーマンス落ちるよ。
0099nobodyさん
2006/10/07(土) 00:19:55ID:prmnYVal検索結果が配列の先頭にしか格納されません。
全ての検索結果を格納するにはどうすれば良いでしょうか?
お力添え、宜しくお願い致します。
環境 Win XP, PHP 5.1.4, Apache 2.0
$str ="2004 2005 2006";
$ary = array();
if (mb_ereg("[0-9]{4}", $str, $ary)) {
echo "[0]".$ary[0]."<br />";
echo "[1]".$ary[1]."<br />";
echo "[2]".$ary[2];
}
実行結果
[0]2004
[1]
[2]
0101nobodyさん
2006/10/07(土) 00:58:51ID:???$str ="2004 2005 2006";
$ary = array();
if (mb_ereg("[0-9]{4}", $str, $ary)) {
print_r($ary);
}
// ereg()は1回マッチしたら検索を止める。
// だから$aryに"2004"だけ入れてTRUE返して終わり。
// >>99の方法では$ary[1]や$ary[2]は存在しないので未定義としてエラーが出ているはず。
// 結果:
// Array ( [0] => 2004 )
echo "<br />\n";
// マッチするものを全部出す場合はpreg_match_all()とかを使う。
preg_match_all("/[0-9]{4}/", $str, $ary);
print_r($ary[0]); // $ary[0]は正規表現全体(この場合は4桁の数字)にマッチした部分でできた配列である。
// 結果:
// Array ( [0] => 2004 [1] => 2005 [2] => 2006 )
0102nobodyさん
2006/10/07(土) 01:11:32ID:???ありがとうございます、お陰さまで期待通りに動きました。
eregは1回しか検索してくれないのですね./ ,' 3 `ヽーっ
0104nobodyさん
2006/10/07(土) 01:26:37ID:???0105nobodyさん
2006/10/07(土) 02:05:48ID:JIECxGar解説サイトはありますか?
0106nobodyさん
2006/10/07(土) 02:23:27ID:???0107nobodyさん
2006/10/07(土) 02:27:00ID:JIECxGarごめんなさい、CSVファイルからでした ^^;
0108nobodyさん
2006/10/07(土) 03:03:47ID:???0109nobodyさん
2006/10/07(土) 03:13:54ID:???0110nobodyさん
2006/10/07(土) 03:15:01ID:JIECxGar日本語含みます。EUC-JPです。
0111nobodyさん
2006/10/07(土) 03:26:17ID:???0112nobodyさん
2006/10/07(土) 12:35:56ID:2Dg2VxQNそこでsessionについて質問があります。
例えば、idとパスワードで認証が行われるとします。
それが、DBに存在するものと一致すればログイン成功
その時にsession_idがクライアント側に渡される
次にsession_idがなければアクセスできないページがあると
isset()で確かめて認証するとします。
この場合だとsession_idを持っている=会員というところまではわかるのだと思いますが
どの会員かは、わからりませんよね?
ひとりひとり個人として認証する場合にはsession_idを渡すときに同時に
DBにもsession_idを登録しておきそれと一致するものを探すと言う作業をしなければ
ならないのでしょうか?
よくわからない日本語となっていますがよろしくお願いします。
0113nobodyさん
2006/10/07(土) 12:56:43ID:???0114nobodyさん
2006/10/07(土) 14:11:31ID:???いつも
$i =0;
while($i < count($hoge)){
}
としているのですが、
もっと簡単な記述方法ないでしょうか?
whileのなかで、さらに繰り返すとき
$i2 = 0;
とかしなければならなくていつもゲッソリするです
0115(^ω^)
2006/10/07(土) 14:21:43ID:???0116nobodyさん
2006/10/07(土) 16:31:02ID:???$i
ときたら次は
$j
だろう。
0117nobodyさん
2006/10/07(土) 17:05:05ID:???できないんでしょうかね?
エクセルに貼り付けるような感覚で。
できたらすごい便利だと思いませんか?
0118nobodyさん
2006/10/07(土) 17:26:46ID:???それが便利かどうかはともかく、可能か不可能かと言われれば余裕で可能です。
そしてそれを自動化したものの一種がいわゆる『きんたま』と呼ばれるものです。
0119nobodyさん
2006/10/07(土) 17:27:52ID:???PHPだけで実現するとなるとちょっと難しいかも知れんね。
0120nobodyさん
2006/10/07(土) 17:35:03ID:???URLに日本語がそのまま表示されたり、その語が削除されたりします。
日本語で検索をするときは、urlencodeを使うべきなのでしょうか?
解決策を教えてください。
0121nobodyさん
2006/10/07(土) 17:52:29ID:???0122nobodyさん
2006/10/07(土) 18:03:58ID:???RFCで調べても、わからないです。もう少しヒントを下さい
0123nobodyさん
2006/10/07(土) 18:36:40ID:???0124nobodyさん
2006/10/07(土) 19:22:02ID:???受け取った値をmysql_real_escape_stringをしないとセキュリティは危険なのでしょうか?
$keyword = $_GET[keyword];
if (get_magic_quotes_gpc()) {
$keyword = stripslashes($keyword);
}
$keyword = mysql_real_escape_string($keyword);
0125nobodyさん
2006/10/07(土) 19:40:28ID:???それで十分な場合もあるし、不十分な場合もあるし、十分すぎる場合もある
0126nobodyさん
2006/10/07(土) 19:44:56ID:???0127117
2006/10/07(土) 20:15:12ID:+DkGqdImそれってウィルスのことですか?
詳しく教えてくださいな。
0128nobodyさん
2006/10/07(土) 20:56:36ID:???ありがとうございます。その後の使い方は、WHERE comment = $keywordみたいに
使って、当てはまるものを抽出して、HTML上に表示させています。
この場合は平気でしょうか?
■ このスレッドは過去ログ倉庫に格納されています