トップページphp
1001コメント329KB

【PHP】下らねぇ質問はここに書き込みやがれ 54

■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん2007/09/09(日) 12:42:57ID:64tYOx8R
まず読め→【PHP マニュアル】http://www.php.net/manual/ja/
PHPで最良の教本はこの公式マニュアル。市販の書籍は嘘が多いので鵜呑みにしない。
過去スレ、関連スレ、FAQなどは>>2-10辺り

◆前スレ
【PHP】下らねぇ質問はここに書き込みやがれ 53
http://pc11.2ch.net/test/read.cgi/php/1188047468/

◆質問する時の注意
・ 自分のIDを表示させること。(メール欄に何も記述しないこと。空白も入力しちゃダメ)
・ サーバーのOS(Linux、Windows他)、WebサーバーとPHPの種類やバージョン等を明記すること。
・ 己の行った操作、変更などを詳しく明記すること。
・ エラーメッセージはそのまま表記すること。「エラーが出ます」だけでは回答不可。
・ 質問者として、態度をわきまえること。
・ 事前に公式マニュアル、リファレンス本くらいはちゃんと目を通しておくこと。

◆質問後の注意
・偽者防止に必ずIDを表示させること。(メール欄に何も記述しない)
・2回目以降は最初に質問した際のレス番号を名前欄に入れること。
・解決しなくても回答をもらった場合はお礼を言うこと。
 (荒らし、煽りは除く。煽られたときも、無闇に反論せずスルーすること。)

◆回答者への注意
・誰にレスしているのか分からないと困るので、>>(アンカー)をつけて回答すること。

【その他諸注意】
・正規表現・PEAR・テンプレート(Smarty等)・フレームワークは各該当スレへ
・SQLについての質問はデータベース板(PCカテゴリ)の各スレで
0353nobodyさん2007/09/16(日) 19:21:56ID:???
>>352
それで試してみたところ、「-html」から「-html_end」が一行の場合は正常に出力したのですが、
-html
ああああああ
aaaaaa
-html_end
と、複数行になると、空のまま出力されてしまいます・・・
03543522007/09/16(日) 19:31:09ID:???
じゃあsオプション使えるかな?
pregはPerl互換らしいけどおれ先週末からPHPはじめたからどうだかわからん
/-html(.+?)-html_end/s
0355nobodyさん2007/09/16(日) 19:36:09ID:???
>>354
それでいけました。ありがとうございます
オプションの存在を知りませんでした…orz
03563552007/09/16(日) 19:45:40ID:???
>>354
何度もすみません・・・
まったく私には理解不能な挙動をしているので、お手上げですorz

$str = file_get_contents("test.txt");
preg_match('/-html\n(.+?)\n-html_end/s', $str, $result);

と、テキストをファイルから読み込むと(内容は先ほどと同じです)、何も出力されない状態となってしまいました。
どうかお助けください
03573522007/09/16(日) 20:41:28ID:???
/-html\n(.+?)\n-html_end/sじゃなくて/-html(.+?)-html_end/sでダメ? 挙動がおかしい?
前者でダメならテキストファイルの改行コードが実行環境の改行コードと違うのかな?
もしsオプションが不安定なら
/-html([.\x0a\x0d]+?)-html_end/ とかでどう?
0358nobodyさん2007/09/16(日) 21:07:17ID:???
>>356
テキストファイルとコードをUPして
0359nobodyさん2007/09/16(日) 21:20:08ID:???
>>357 >>358
ありがとうございます。

$str = file_get_contents("test.txt");
preg_match('/-html(.+?)-html_end/s', $str, $result);

これで解決しました。
0360nobodyさん2007/09/16(日) 22:51:54ID:4TCTiZPm
PHPのことを調べてもどうもよくわかるような解説がありません
具体的におしえてください
0361nobodyさん2007/09/16(日) 23:31:26ID:???
>>360
ttp://www.php.net/manual/ja/
他に何が知りたいのさ。
0362nobodyさん2007/09/16(日) 23:44:45ID:oQRqCBGu
メールを送信して、Yahooメールで見てみると、「山本」が「山」になってしまいます。
UTF-8からJISにエンコードすると、一部文字化けしてしまいます。
エスケープしてからエンコードしてエスケープを解除していても同じでした。
なので、件名をJIS、本文をUTF-8、ヘッダーのcharsetをUTF-8にしているのですが、
何か問題はありまs・・・・ありますよねorz
0363nobodyさん2007/09/16(日) 23:52:42ID:???
>>362
UTF-8からJISに変換したものをテキストファイルに書き出したり
HTML上に表示させたりしても、その内容は化けてるの?
変換で化けるのかメール送信で化けるのかは切り分けた方がいいと思うけど。
03643522007/09/17(月) 00:18:42ID:???
JISコードの「本」には\が含まれてるからじゃない?
メールのヘッダ(件名や送信元)に漢字コードが含まれてる場合は普通はJISコードを
BASE64エンコードをして7ビット(アスキー)表現するのが普通
0365nobodyさん2007/09/17(月) 01:12:12ID:???
質問です。
PHPが動作したときにある画像(例えばグーグルのロゴ画像など)
を自分のサーバに保存するようにしたいのですが、
どうしたらよいのでしょうか。
03663652007/09/17(月) 01:22:27ID:???
自己解決しました。
0367nobodyさん2007/09/17(月) 01:28:09ID:???
>>366
まだ解決していないのに勘弁してください…
ダウンロードダイアログを開かずに自動でサーバに保存したいのです。
どなたかよろしくお願いします。
0368nobodyさん2007/09/17(月) 01:34:39ID:AzPlrYBe
>>1
> ◆質問する時の注意
> ・ 自分のIDを表示させること。(メール欄に何も記述しないこと。空白も入力しちゃダメ)
03693652007/09/17(月) 01:53:43ID:H7YfkkRc
すいませんでした。
ID表示させることを忘れていました。
0370nobodyさん2007/09/17(月) 01:59:17ID:???
>>369
php.iniでallow_url_fopenがONに設定されていることが前提だけど、
file_get_contents()で該当URLの出力を読み込んでファイルに保存すればいい。
03713652007/09/17(月) 02:00:06ID:e+n8gM7j
↑は偽者です。
0372nobodyさん2007/09/17(月) 02:01:02ID:???
>>371
一足遅かったなwww
0373nobodyさん2007/09/17(月) 02:14:08ID:???
>>365
cURLによる方法
http://curl.mirrors.cyberservers.net/libcurl/php/examples/resizejpg.html
0374nobodyさん2007/09/17(月) 03:10:54ID:nPCszMjg
参照渡しの値渡しって速度的な違いってありますか?
ほぼないですよね?
0375nobodyさん2007/09/17(月) 03:30:35ID:???
>>374
参照渡し「の」値渡しってなんだ??
0376nobodyさん2007/09/17(月) 03:34:13ID:???
>>374
渡すデータのサイズ次第だとは思うが、
多くの場合、参照渡しは遅い。
0377nobodyさん2007/09/17(月) 03:40:18ID:H7YfkkRc
>>370
ありがとうございます。
おかげで出力できました。
0378nobodyさん2007/09/17(月) 03:41:44ID:???
ちなみにfile_put_contentsで1行でいけるな
0379nobodyさん2007/09/17(月) 04:32:37ID:???
エラーチェックくらいしようよ。
0380nobodyさん2007/09/17(月) 06:33:42ID:JQdZ1nWf
月曜日になってしまいましたがそろそろ
>>300を教えて欲しいのですが。
0381nobodyさん2007/09/17(月) 06:44:26ID:???
>>380
javascriptでなんかの値をセット

サーバに送信

成功したらおk、失敗したら×
0382nobodyさん2007/09/17(月) 07:16:14ID:ySslSBrA
>>376
何言っちゃているの?お前?
オブジェクトのコピーが伴う値渡しが常に遅いに決まってるだろ。
0383nobodyさん2007/09/17(月) 11:06:30ID:???
PHPの場合、単純にそうとも言い切れない
Cのような単純なポインタとは別もんだからな
0384nobodyさん2007/09/17(月) 11:10:11ID:???
PHPは実際に値が変更されるまでは
データがコピーされないしな。
0385nobodyさん2007/09/17(月) 11:32:11ID:???
>>382
もうすこし具体的に説明しないとあなたの負けです
0386nobodyさん2007/09/17(月) 11:39:26ID:???
実際にベンチマーク出せばわかることだろ
どちら側もベンチマークすら出してないでどっちの負けとか言う馬鹿がいるんだな
0387nobodyさん2007/09/17(月) 12:32:21ID:???
ばーかばーか
0388nobodyさん2007/09/17(月) 12:47:59ID:iCPVuNeR
$_SERVER['REMOTE_ADDR']はhtmlspecialcharsをしておくべきでしょうか?
ipはクライアント側で自由に文字列を書き換えられませんよね。
0389nobodyさん2007/09/17(月) 12:49:29ID:???
しておくべき
0390nobodyさん2007/09/17(月) 12:53:10ID:iCPVuNeR
わかりました。date()もやったほうがいいんでしょうか?
0391nobodyさん2007/09/17(月) 12:59:10ID:???
はぁぁぁぁぁぁぁぁぁぁぁぁ?????
0392nobodyさん2007/09/17(月) 13:06:11ID:???
もう全部やっとけよw
0393nobodyさん2007/09/17(月) 13:23:40ID:W3Fsfqr5
>>388
http://takagi-hiromitsu.jp/diary/20051227.html#p02
0394nobodyさん2007/09/17(月) 13:27:31ID:???
>>374
ttp://blog.libssh2.org/index.php?/archives/51-Youre-being-lied-to..html
0395nobodyさん2007/09/17(月) 13:41:38ID:RU4hBw1O
PHP とJavaScriptのちがいはなに?
0396nobodyさん2007/09/17(月) 13:44:23ID:???
(・(ェ)・)
0397nobodyさん2007/09/17(月) 14:02:04ID:???
>>395
1.文法や書式が違う。でも基本がC言語からの発展なので似てるとこは多い。
2.PHPはサーバー側で動作する。JavaScriptはブラウザ側で動作する。
0398nobodyさん2007/09/17(月) 14:06:17ID:???
>>395
PHP 3文字
JavaScript 10文字
0399nobodyさん2007/09/17(月) 14:10:20ID:???
>>395
PHP技術者の平均時給 2,700円(PG)
JavaScript技術者の平均時給 1,100円(PG/DN)
0400nobodyさん2007/09/17(月) 14:19:56ID:???
javascript技術者なんているのか・・・
0401nobodyさん2007/09/17(月) 14:56:44ID:ySslSBrA
>>400
いるだろ普通に、っていうか、それは思っていても言ってはいけないことだろ。

天皇陛下は贅沢三昧の税金どろぼう、とか
長嶋はもう廃人で外にでしゃばって出てくるな、とか
拉致なんかの小さいことにこだわるよりも国益を優先されろ、とか

思っていても言ってはいけないことがある事くらい察しろ。
0402nobodyさん2007/09/17(月) 15:10:50ID:???
酷い釣りだ
0403nobodyさん2007/09/17(月) 15:12:38ID:RU4hBw1O
>>397
PHPだとクライアント側はいっさいさわれないってこと?
0404nobodyさん2007/09/17(月) 15:14:59ID:???
当然です
0405nobodyさん2007/09/17(月) 15:24:49ID:kIYZsn2K
>>346
返信遅くなり申し訳ありません。
作業内容としてはそんな所です。
もっともPHPを勉強してという所はすっ飛ばして、いきなり本番といった所ですが。

あの後、いろいろ調べたのですが、>>332よりはマシになったのですが、
まだ解決していません。

それと、教えていただいたセッションに入っているか確認する方法で、
問題なさそうな事を確認しました。

後は、>>341のアドバイスに従い、テンプレート無しで試してみました。
また>>339>>340のアドバイスを元に、$_SESSIONの情報を元にselected属性を付けてみたつもりです。
上記の状態で、Javascriptで戻った場合は大丈夫なのですが、普通にハイパーリンクで戻ると
設定項目は保持してません。
下記にソースを添付しますので、普通にハイパーリンクでも設定項目が保持できる方法をアドバイスいただけると助かります。
0406nobodyさん2007/09/17(月) 15:25:22ID:kIYZsn2K
mail2.php
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Untitled Document</title>
</head>
<body>
<form action="confirm2.php" method="post">
<select name="toshi">
<option <? if($_SESSION['toshi'] == "あ")echo "selected " ;?>value="あ">あ</option>
<option <? if($_SESSION['toshi'] == "い")echo "selected " ;?>value="い">い</option>
<option <? if($_SESSION['toshi'] == "う")echo "selected " ;?>value="う">う</option>
</select><br /><input type="submit" name="submit" value="送信する" />
</form>
</body>
</html>

confirm2.php
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Untitled Document</title>
</head>
<body>
<?php
$_SESSION['toshi'] = $_POST['toshi'];
print($_SESSION['toshi']);
?>
<br /><a href="mail2.php">普通に戻る(NG)</a><br />
<a href="javascript:history.back()">JavaScriptで戻る(OK)</a>
</body>
</html>
0407nobodyさん2007/09/17(月) 15:46:12ID:???
<?php session_start(); ?>
0408nobodyさん2007/09/17(月) 15:59:15ID:kIYZsn2K
>>407
アドバイスどうもありがとうございます。
最初は使用していたのですが、途中から下記のwarningが出てしまったので取り外しました。

Warning: session_start() [function.session-start]: Cannot send session cookie - headers already sent by

上記ソース内でセッションを切ってないのが原因かとも思いましたが、
切るタイミングがなさそうだったのでそのままにしてました。
なのでsession_start();を入れても設定項目を保持できない事にはかわりなかったりします。
0409nobodyさん2007/09/17(月) 16:00:49ID:???
>>408
英語も読めないのか
0410nobodyさん2007/09/17(月) 16:10:32ID:kIYZsn2K
>>409
すいません、日本語すら怪しかったりします・・・
今試したら、Warningが出なくなっていました。
そして選択項目も保持していました。

アドバイスを頂いた皆様どうもありがとうございました。
また何かありましたらよろしくお願いします。
0411nobodyさん2007/09/17(月) 17:57:19ID:???
インクルードファイルの依存関係を図式化してくれるツールってありますか?
0412nobodyさん2007/09/17(月) 18:46:11ID:iCPVuNeR
>>393
たかぎさんのおっしゃることはわかるのですが・・・う〜ん
0413nobodyさん2007/09/17(月) 19:31:07ID:???
過ぎたるはなんとか
0414nobodyさん2007/09/17(月) 20:01:55ID:???
>>411
doxygenあたりでできないかなと思ってやってみたがincludeのグラフは無かった。
クラスのグラフは生成してくれた。

graphvizとPerl等のスクリプトで生成するのはどうよ?
0415nobodyさん2007/09/17(月) 20:10:35ID:YADbl6mN
>>412
たかぎさんはWEBプログラマではないと診た
0416nobodyさん2007/09/17(月) 20:15:05ID:???
>>393>>412>>415
自演乙
0417nobodyさん2007/09/17(月) 20:21:39ID:???
>>410
挿入する場所が一番上だったり途中だったりしたんですね
0418nobodyさん2007/09/17(月) 21:08:35ID:kIYZsn2K
>>417
そのとおりです。
最初はbodyの下に入れてて、warningは出なかったのですが(ただし選択項目は不保持)、
何が原因かは分からないのですが、途中からwarningが出た為一度取り外しました。

その後>>409のアドバイスを元に、一番上に挿入した所、warinigがでなくなり選択項目も保持するようになりました。

後は本番に移植して動けば良いのですが、本番はソースが複雑だったので怪しい所ではありますが。
0419nobodyさん2007/09/17(月) 21:46:41ID:Pxt8ssvb
PEAR::DB、PEAR::MDB2とPDOを比べると、
もう比較レベルにならないぐらいPDOが速いし、prepareとかすごく便利だお。
でも、PEARライブラリは、PEAR::DB、PEAR::MDB2に対応してるのしかないお。

PHP5に移行考える人はどうした感じ?
1. PERA使いまくり、PDOはまだ封印。
2. PEAR封印、PDOで1から書きまくる。
3. PEARに、PDO用のコンテナ書きまくる。
4. PEAR、PDOなんかいらね。フレームワークと運命共同体
5. MySQL関数やPostgreSQL関数使ってるからどうでもいい
0420nobodyさん2007/09/17(月) 22:01:51ID:???
CakePHPのO/Rマッパーでオブジェクトとして扱って
SQLなんてものはどうしても必要なとき以外書かないので
どうでもいい。
0421nobodyさん2007/09/17(月) 22:47:06ID:???
Zend Framework使ってる人っていないのかね?
0422nobodyさん2007/09/17(月) 23:09:07ID:???
たびたび仕様変更→bugが紛れ込む→年月経てるわりに枯れてない感じ
なんでフレームワーク、拡張ライブラリともに利用する気になれない

#私見ですよ、私見。 悪意はありませんです、ハイ。
0423nobodyさん2007/09/18(火) 03:10:57ID:???
場合による。
とにかく速度重視ならSQL関数べた書き
特に案件さえ通ればおkならPDOやFWのO/Rマッパーで楽をする
洋梨は好かん
0424nobodyさん2007/09/18(火) 03:21:07ID:???
すみません、PHPを動作させる際にCGIモードとモジュールモード(mod_php)があるようなのですが、
自分のサーバでどちらのモードが有効なのか判断する方法はありますでしょうか?

また、意識的にどちらで動くか設定する方法があれば教えてください。
0425nobodyさん2007/09/18(火) 05:07:56ID:???
>>424
つphp_sapi_name()
ttp://www.php.net/manual/ja/function.php-sapi-name.php
0426nobodyさん2007/09/18(火) 07:49:43ID:???
>>424
phpinfo
0427nobodyさん2007/09/18(火) 09:41:18ID:???
>>403
さわれるよ
0428nobodyさん2007/09/18(火) 12:52:45ID:???
>>419
PDO知らないのでPEAR使いまくり
0429nobodyさん2007/09/18(火) 14:04:24ID:FMVGiEK2
DB関係の話大丈夫かな・・・?

膨大な量のCSVデータをMySQLに全て格納したいんですが、
何か手っ取り早い方法はないでしょうか。
phpMyAdminのインポートでは、ファイルサイズがオーバーしているらしくて読み込めません。

ちなみに、100MBくらいあります。
0430nobodyさん2007/09/18(火) 14:09:01ID:???
>>429
手っ取り早いのはmyimportユーティリティ

>phpMyAdminのインポートでは、ファイルサイズがオーバーしているらしくて
単なるスクリプトの実行タイムアウトでは?
0431nobodyさん2007/09/18(火) 14:11:24ID:FMVGiEK2
>>430
phpMyAdminでインポートさせようとすると
「エラー
アップロードしようとしたファイルが大きすぎるようです。対策については ドキュメント をご覧ください」

との表示が出ます。
(ドキュメントが英語でわからないですorz)
0432nobodyさん2007/09/18(火) 14:15:19ID:FMVGiEK2
色々と検索してみた結果いいものを見つけました
ttp://www.eshima.info/archives/2006/11/xamppphpmyadmin.php

ちとこの方法でやってみます。有難うございました。
0433nobodyさん2007/09/18(火) 14:30:50ID:LV1060jK
空のテキストファイルを開こうとすると、以下の文でNGと表示されてしまいます。
テキストファイルに何か一文字でも入力して保存しておくとOKと表示されました。
このテキストファイルには掲示板のログとして、csv形式で保存するのに利用したいのですが、
空でも読み込んでOKと出すにはどうしたらよろしいでしょうか?

$textfile = "test.txt";

if ($file = file($textfile)){
echo "OK";
} else {
echo "NG";
}
0434nobodyさん2007/09/18(火) 14:32:44ID:???
>>433
返り血が読み込めたかどうかではなく、
読み込んだ結果何が入っていたかになる。
つまり、ファイルを開いたが何も入ってないと必然的にFALSE血が返る
0435nobodyさん2007/09/18(火) 14:43:42ID:LV1060jK
そういうことだったんですね。
ファイルが存在してて、ファイルを開けるかどうかって判断だけがしたいのですが、
file関数ではだめでしたね;;
0436nobodyさん2007/09/18(火) 14:50:03ID:???
>>435
is_readableとかどうでしょ
0437nobodyさん2007/09/18(火) 15:02:03ID:LV1060jK
まさしくそれです!
勉強になりました。ありがとうございます。
0438nobodyさん2007/09/18(火) 15:17:27ID:YODMOTH4
ieは、川のほとりで「はしで待ってて」というと普通なら、橋か端で待つのに、箸屋を探しにいって戻ってこない状態。
理解できないと言うよりそもそも理解の意味も分かってない。
0439nobodyさん2007/09/18(火) 15:37:22ID:???
俺のたこ焼きだけたこが入ってなかったのですがどうしてですか?
0440nobodyさん2007/09/18(火) 15:37:49ID:???
>>439
>>1読め、質問するならID出せ
0441nobodyさん2007/09/18(火) 15:43:49ID:???
>>439
嫁のいやがらせ
0442nobodyさん2007/09/18(火) 15:56:54ID:???
たこ入ってないほうが好きなんだけど
0443nobodyさん2007/09/18(火) 16:22:12ID:???
変数展開がうまくいかないので書き方教えてください
$str= "$this->opt['class']"; // -> Array[class]になってしまう
$str= "${this}->opt['class']"; // -> Object->opt[class]になってしまう
04444432007/09/18(火) 16:22:28ID:???
事故解決しました
0445nobodyさん2007/09/18(火) 16:31:11ID:FMVGiEK2
mb_convert_variables結構多様するけど
ループで回してmb_convert_encodingしたほうがいいのかな?

なんとなく気になった・・・
0446nobodyさん2007/09/18(火) 16:34:27ID:???
>>444 真剣に質問してるのでそういうのはやめてください
0447nobodyさん2007/09/18(火) 16:37:34ID:???
真剣なら>>1>>4ぐらい読もう
0448nobodyさん2007/09/18(火) 16:44:48ID:???
真剣なら、おっぱいの画像をアッぷする位の気を使えよ。
0449nobodyさん2007/09/18(火) 17:07:20ID:???
俺は本当に事故解決したことがある。事故って納期延期とかマジわろす
0450nobodyさん2007/09/18(火) 17:24:53ID:???
社会人失格
0451nobodyさん2007/09/18(火) 17:30:52ID:???
>>449
遅れるのは仕方が無いとして、遅れる連絡を早くしろといつも言っているじゃないか!
こっちのスケジュールが空いてしまうんだよ、賠償もんだそ。
0452nobodyさん2007/09/18(火) 18:01:59ID:???
>>443
そのおっぱいカッコの使い方…さてはきさまPerl屋だな?
■ このスレッドは過去ログ倉庫に格納されています