【PHP】下らねぇ質問はここに書き込みやがれ 54
■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん
2007/09/09(日) 12:42:57ID:64tYOx8RPHPで最良の教本はこの公式マニュアル。市販の書籍は嘘が多いので鵜呑みにしない。
過去スレ、関連スレ、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カテゴリ)の各スレで
0412nobodyさん
2007/09/17(月) 18:46:11ID:iCPVuNeRたかぎさんのおっしゃることはわかるのですが・・・う〜ん
0413nobodyさん
2007/09/17(月) 19:31:07ID:???0414nobodyさん
2007/09/17(月) 20:01:55ID:???doxygenあたりでできないかなと思ってやってみたがincludeのグラフは無かった。
クラスのグラフは生成してくれた。
graphvizとPerl等のスクリプトで生成するのはどうよ?
0415nobodyさん
2007/09/17(月) 20:10:35ID:YADbl6mNたかぎさんはWEBプログラマではないと診た
0418nobodyさん
2007/09/17(月) 21:08:35ID:kIYZsn2Kそのとおりです。
最初はbodyの下に入れてて、warningは出なかったのですが(ただし選択項目は不保持)、
何が原因かは分からないのですが、途中からwarningが出た為一度取り外しました。
その後>>409のアドバイスを元に、一番上に挿入した所、warinigがでなくなり選択項目も保持するようになりました。
後は本番に移植して動けば良いのですが、本番はソースが複雑だったので怪しい所ではありますが。
0419nobodyさん
2007/09/17(月) 21:46:41ID:Pxt8ssvbもう比較レベルにならないぐらい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:???SQLなんてものはどうしても必要なとき以外書かないので
どうでもいい。
0421nobodyさん
2007/09/17(月) 22:47:06ID:???0422nobodyさん
2007/09/17(月) 23:09:07ID:???なんでフレームワーク、拡張ライブラリともに利用する気になれない
#私見ですよ、私見。 悪意はありませんです、ハイ。
0423nobodyさん
2007/09/18(火) 03:10:57ID:???とにかく速度重視ならSQL関数べた書き
特に案件さえ通ればおkならPDOやFWのO/Rマッパーで楽をする
洋梨は好かん
0424nobodyさん
2007/09/18(火) 03:21:07ID:???自分のサーバでどちらのモードが有効なのか判断する方法はありますでしょうか?
また、意識的にどちらで動くか設定する方法があれば教えてください。
0425nobodyさん
2007/09/18(火) 05:07:56ID:???つphp_sapi_name()
ttp://www.php.net/manual/ja/function.php-sapi-name.php
0429nobodyさん
2007/09/18(火) 14:04:24ID:FMVGiEK2膨大な量のCSVデータをMySQLに全て格納したいんですが、
何か手っ取り早い方法はないでしょうか。
phpMyAdminのインポートでは、ファイルサイズがオーバーしているらしくて読み込めません。
ちなみに、100MBくらいあります。
0430nobodyさん
2007/09/18(火) 14:09:01ID:???手っ取り早いのはmyimportユーティリティ
>phpMyAdminのインポートでは、ファイルサイズがオーバーしているらしくて
単なるスクリプトの実行タイムアウトでは?
0431nobodyさん
2007/09/18(火) 14:11:24ID:FMVGiEK2phpMyAdminでインポートさせようとすると
「エラー
アップロードしようとしたファイルが大きすぎるようです。対策については ドキュメント をご覧ください」
との表示が出ます。
(ドキュメントが英語でわからないですorz)
0432nobodyさん
2007/09/18(火) 14:15:19ID:FMVGiEK2ttp://www.eshima.info/archives/2006/11/xamppphpmyadmin.php
ちとこの方法でやってみます。有難うございました。
0433nobodyさん
2007/09/18(火) 14:30:50ID:LV1060jKテキストファイルに何か一文字でも入力して保存しておくとOKと表示されました。
このテキストファイルには掲示板のログとして、csv形式で保存するのに利用したいのですが、
空でも読み込んでOKと出すにはどうしたらよろしいでしょうか?
$textfile = "test.txt";
if ($file = file($textfile)){
echo "OK";
} else {
echo "NG";
}
0434nobodyさん
2007/09/18(火) 14:32:44ID:???返り血が読み込めたかどうかではなく、
読み込んだ結果何が入っていたかになる。
つまり、ファイルを開いたが何も入ってないと必然的にFALSE血が返る
0435nobodyさん
2007/09/18(火) 14:43:42ID:LV1060jKファイルが存在してて、ファイルを開けるかどうかって判断だけがしたいのですが、
file関数ではだめでしたね;;
0437nobodyさん
2007/09/18(火) 15:02:03ID:LV1060jK勉強になりました。ありがとうございます。
0438nobodyさん
2007/09/18(火) 15:17:27ID:YODMOTH4理解できないと言うよりそもそも理解の意味も分かってない。
0439nobodyさん
2007/09/18(火) 15:37:22ID:???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]になってしまう
0444443
2007/09/18(火) 16:22:28ID:???0445nobodyさん
2007/09/18(火) 16:31:11ID:FMVGiEK2ループで回してmb_convert_encodingしたほうがいいのかな?
なんとなく気になった・・・
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:???遅れるのは仕方が無いとして、遅れる連絡を早くしろといつも言っているじゃないか!
こっちのスケジュールが空いてしまうんだよ、賠償もんだそ。
0453nobodyさん
2007/09/18(火) 18:13:44ID:???0454nobodyさん
2007/09/18(火) 18:35:05ID:???まぁそうなんだけど・・
Perlで書いてたモジュールをPHPで書いてるんだけどはじめてのPHPはむずいね
やっと変数展開の詳しいサイト見つかったからそこをヒントに解決したよ
みんなありがとよ おっぱいの画像は持ってないから勘弁を
0455nobodyさん
2007/09/18(火) 18:41:17ID:dkyCnIzv今、おみくじ・フォームから入力したものをそのまま出力・なんのエラー処理もしてない一行掲示板
WEBを取り込んで軽く処理をさせて表示する物を作ったんだけど
次何作ればいいかな、MYSQL使った掲示板作ろうかと思ってるんだけどなんか違うんだよね
レベルが一気に上がりすぎてるのが原因か、いいサンプルが無いのか、今更掲示板作っても楽しくないのか
原因かわからないんだけど、どうも、やる気が出ない。
0456nobodyさん
2007/09/18(火) 18:51:02ID:???0457nobodyさん
2007/09/18(火) 18:55:55ID:???0458nobodyさん
2007/09/18(火) 19:10:03ID:???相対パスで記述した場合は読み込めます。
この辺の設定はどこに関係しているのでしょうか?
ドキュメントルートにtest.phpとtest.htmlを設置して、
単純に以下のように読み込ませるだけです。
--
<?php
include_once '/test.html';
?>
--
しかし、以下のエラーが出ます。
--
Warning: include_once(/test.html) [function.include-once]: failed to open stream: No such file or directory in e:\www\html\test.php on line 2
Warning: include_once() [function.include]: Failed opening '/test.html' for inclusion (include_path='.;c:\php\includes;C:\php\pear') in e:\www\html\test.php on line 2
--
環境は以下になります。
--
Windows 2000
Apache 1.3.34
PHP 5.1.2
--
何卒よろしくお願い致します。
0460nobodyさん
2007/09/18(火) 19:16:08ID:???または
include_once './test.html';
つかそれ絶対パスじゃないと思うが絶対パスにしたいなら
include_once 'e:/www/html/test.html';
0461nobodyさん
2007/09/18(火) 19:17:17ID:???ほんとにお前優しいから困る
0462nobodyさん
2007/09/18(火) 21:28:19ID:WeDTSAXgdate("Y-m-d",strtotime("-6 month"));
では駄目でした。
0465nobodyさん
2007/09/18(火) 22:31:54ID:YODMOTH4javaスクリプトがオンとオフで違うページ(内容)を表示したいのですがうまくいきません。
read.phpであくまでもイメージですが、
<noscript>
<?
$script="no";
?>
</noscript>
<?
if($script=="no"){
echo $mainpage_no;
}else{
echo $mainpage;
}
?>
こんな感じでスイッチのようなものが欲しいのですが何か方法ないでしょうか
0466nobodyさん
2007/09/18(火) 22:53:06ID:???<!--
JavaScriptコード
//-->
</script>
<?php
PHPでOnの時のHTMLをうんたらかんたら
?>
<noscript>
<?php
PHPでOffの時のHTMLをうんたらかんたら
?>
</noscript>
0468nobodyさん
2007/09/18(火) 23:00:42ID:WeDTSAXgすみません、できました・・。
別の質問ですが、
$month="06"だった場合、表示する時に"6"としたいのですが、
どうすればよいのでしょうか?
date("n",strtotime($month))としても駄目でした
0469nobodyさん
2007/09/18(火) 23:09:46ID:???echo sprintf('%d', $month);
echo substr($month, 1, 2);
echo (int)$month;
お好きなものを
0470nobodyさん
2007/09/18(火) 23:14:31ID:YODMOTH4どもです。
それもやってみたのですが、ソースを見ると同じ内容が2回も書かれてるのをみて唖然として
それで今スイッチを探してるのです。
ネットで探してもそれらしき情報ないようでPHPの使う人はJAVAスクリプトは使わないんですかね。
0471nobodyさん
2007/09/18(火) 23:15:17ID:???<head>
<script type="text/javascript">
window.onload=function(){
document.getElementById('main').style.display = "";
}
</script>
</head>
<body>
<noscript>
JavaScriptがoffな人のボディ
</noscript>
<div id="main" style="display:none">
JavaScriptがonの人のボディ
</div>
</body>
<html>
JavaScriptで振り分けたいなら、JavaScript使えばよろし。
0472nobodyさん
2007/09/18(火) 23:19:59ID:???0473nobodyさん
2007/09/18(火) 23:23:41ID:???JSが有効か無効かはサーバからは判断できないから
探してもそれらしき情報なんて出る訳が無い。
ソースまで気にするのならどっかにリダイレクトさせるなりするしかないんじゃね?
JSONつかってやるってのもあるだろうけど既存の動的なサイトがあるんなら
それを対応させるのは相当面倒になると思うよ
0474nobodyさん
2007/09/18(火) 23:28:11ID:ZcU0BWXGprint_r($_SESSION);
を記述しておくと下のように表示されました(一部抜粋ですが)。
Array ( [action] => process [timing1] => あ [timing2] => い [comments] => う
ただし、print_r($_SESSION);の後に、
if(isset($_SESSION["○○○"]))を記述してみると(○○○にはtiming1などが該当)、
timing1はfalseに対し、
timing2とcommentsはtrueでした。
timing1もtrueになるようにしたいのですが、思い当たる点があればアドバイスいただければと思います。
0475nobodyさん
2007/09/18(火) 23:53:14ID:YODMOTH4ありがとうございます。
やってみたところ希望してた動作をしてくれています。
感謝感謝です!
0476nobodyさん
2007/09/18(火) 23:57:05ID:dkyCnIzv知らない言葉が沢山ですが
とりあえず、ググって見ようと思いますありがとう!
0477nobodyさん
2007/09/18(火) 23:57:32ID:YODMOTH4>>471をみてオンの人の所で読みに行くphpでオン用オフ用で分けて変数が空なら
オフの内容を、変数に例えば$java="on";と入ってればオン用内容を出すようにしてみました。
かなりいいとこまで出来てきました。
0478nobodyさん
2007/09/19(水) 00:01:08ID:???0479nobodyさん
2007/09/19(水) 00:06:14ID:???アップロードさせたWordやExcelファイルをPDFに変換した上で、
ユーザにPDFファイルを返す、ということをするにはどうすればよいでしょうか?
Webサーバ上にAcrobat8.1はインストールしてあります
Acrobatではムリで
http://www.simplesystems.co.jp/product/pdfutl/pdfutl.html#DocToPDF
↑こういうもの
を使わないとダメでしょうか?
0480nobodyさん
2007/09/19(水) 00:09:15ID:???timeing1が何らかの理由でセットされてない或いはタイポしてるとしか
>>477
クライアントサイドからサーバサイドの変数を操作して引き継げてんの?
本当にいいとこまでできたんなら凄いからぜひコード見せて。振り分け関係の部分だけでいいから。
>>479
http://pear.php.net/package/File_PDF
とかCOMとか。
0481nobodyさん
2007/09/19(水) 00:19:16ID:???ありがとうございます
でもdocumentationらしくものがなく・・・お手上げです
せっかく教えていただいたのにすみませんが私ではムリそうです
0482nobodyさん
2007/09/19(水) 00:24:35ID:???つかどの質問なのか分かんないけど
0483nobodyさん
2007/09/19(水) 00:44:57ID:FnoZX1AEレスありがとうございます。
print_r($_SESSION);で表示されてもセットされないって事があるんですか?
タイプミスは一応気にしてみてみたつもりですが、再度チェックしてみます。
0485nobodyさん
2007/09/19(水) 01:32:59ID:FnoZX1AE申し訳ない。
コードは今手元にないんだ。
明日と言うか今日再チャレンジしてみて、どうしても駄目だったら、
現象が再現する最低限のソースを出せるように準備したいと思います。
0486nobodyさん
2007/09/19(水) 01:35:44ID:???function f(&$arg) {
return $arg['c'];
}
function g(&$arg) {
return $arg;
}
function h(&$arg) {
return isset($arg['c']);
}
$a=array();
f($a); // error
g($a['c']); // not error
h($a['c']); // not error
?>
なんでこの言語設計者はこんなバッドノウハウを埋め込みやがりますか?
0487nobodyさん
2007/09/19(水) 01:43:48ID:gkslbv3Aisset() が関数ではなくステートメント(スペシャルフォーム?) なのは分かった。
0490nobodyさん
2007/09/19(水) 02:01:10ID:gkslbv3A(PHP 4, PHP 5)
isset ― 変数がセットされているかどうかを検査する
$a=array();
isset($a['b']]);
でエラーは出ないので$a['b']は「変数」ということでしょう。驚くべきことに。
んでは、「変数」って$aや$a[index] の他に何があるの?
もうPHPのソース読むしか無い?マニュアルすらアテにならんのだが。
0491nobodyさん
2007/09/19(水) 02:02:35ID:???0492458
2007/09/19(水) 02:02:47ID:RXNedNOk>461
ID表示させず申し訳なかったです。
>459 >460
レスありがとうございます。
勉強不足で申し訳ないですが、
ドキュメントルートを起点にしたインクルードってできないのでしょうか?
0494nobodyさん
2007/09/19(水) 02:10:45ID:???0495nobodyさん
2007/09/19(水) 02:21:09ID:???これ、PHPのプログラムとして誤りではないんですか?
0497458
2007/09/19(水) 03:32:07ID:RXNedNOkもう少しヒントを頂けると嬉しいです、、。
include_pathに設定なんかを行う感じでしょうか?
特別なことをせずにインクルードできるなら是非教えて頂きたいです。
よろしくお願いします!
0498nobodyさん
2007/09/19(水) 04:58:30ID:???エラーが出るのがおかしいと感じてるのか、出ない下2行をおかしいと感じてるのか分からんが、
http://www.php.net/manual/ja/language.references.php
ここ読んでなんとなくリファレンスとはそういうもんかなあと俺は思った。
関数の引数に限らず、
<?php
$a = &$hogehoge['aaaaaa'];
?>
リファレンスの代入でエラーになる事は無いみたい。
まあ俺なら
if (isset($a['c']) g($a['c']);
か、
g($a);
function g(&$arg) {
if (!isset($arg['c')) return;
}
とするけどね。
0499nobodyさん
2007/09/19(水) 05:20:58ID:Y/2cENkk0500nobodyさん
2007/09/19(水) 08:15:46ID:???>>498 のように参照元が未定義でも黙って勝手に定義しちゃうな。
仕様と言われたらしょうがないが、嬉しくない動作だ。
error_reporting(E_ALL | E_STRICT);
unset($a);
$b = &$a[0]; # 沈黙
var_dump($a); # array(1) { [0]=> &NULL }
>>490
変数が定義済みかつ NULL 以外かどうかを bool で返す言語構造だ。
エラーを出すなんてマニュアルのどこに書いてあるのよ。
0501nobodyさん
2007/09/19(水) 09:14:47ID:???まだよくわかんないですが。。
どちらがオカシイというか、
・一貫性がないなぁ
・他のプログラミング言語ではみられないし、直観的でない動作だなぁ
という風に思ってました。
頭がおかしいとか言っちゃってる人?がいますが、この程度のこともハッキリできないって正直怖くね?
と思ってたのでちゃんと分かって有り難かったです。
でも例えば、
$a =& $hogehoge['b'];
return $a['c'];
これはE_NOTICEが出ないのに、
>>486のf($a)でエラーがでるのはなんでだろう。
こんなん、エラーが発生した位置から実際のバグが特定しにくいと思うんだけど…
とにかくPHPの参照と配列が組み合わさると地雷、という風に理解すればいいかねぇ。
0502nobodyさん
2007/09/19(水) 09:18:42ID:gkslbv3A厳密に参照引数と参照変数が同じというわけではなさそう。
<?php
function g() {
$a =& $hogehoge['b'];
return $a['c'];
}
g();
?>
まあとにかく地雷ってことか…
0503nobodyさん
2007/09/19(水) 09:56:38ID:rpyBUC34モジュールの評価をお願いしたいのですが、よろしいでしょうか。
機能としては、文字を整形するものです。
タグが使えない掲示板などでも、きれいな表の状態を維持できるものです。
公開ページになります。
http://penlabo.web.fc2.com/PHP/HTML-AA.html
よろしくおねがいいたします。
0504nobodyさん
2007/09/19(水) 10:53:55ID:Y/2cENkkごめん。
八つ当たりをしてしまった。
気にしないで下さい。
0505nobodyさん
2007/09/19(水) 12:42:37ID:???0506nobodyさん
2007/09/19(水) 12:45:03ID:Ur82wVvy言葉使いに迷っております。
ある機能があるんだけど、
hogehoge機能という言葉を使う代わりに、
hogehogeエンジン、hogehogeシステム、hogehogeプログラム、hogehogeロジック
って書こうと思いますが、どれが一般人に分かりやすいですか?
0507nobodyさん
2007/09/19(水) 12:49:10ID:???PHP Warning: session_start() [<a href='function.session-start'>function.session-start</a>]: Cannot sendsession cache limiter - headers already sent (output started at /foo/bar.php:167) in /foo/bar.php on line 184
session_start()のところでこんなエラーが出てスクリプトが止まってしまいます。
なにが原因でしょうか?
0508nobodyさん
2007/09/19(水) 12:54:48ID:???0509nobodyさん
2007/09/19(水) 12:54:48ID:???一般ユーザって社内?コンシューマ?
社内ならシステムでいいんじゃね。
てか、その辺はお客さんと折衝してるときの
ニュアンスで決めちゃうからなー。
よくわからんわ。
>>507
>>1 IDを表示させてね。
>Cannot sendsession cookie - headers already sent
既にヘッダー文字列が送られている為にセッションを開始することが出来ません。
よくあるのは、空白とかが<?php ?>の前にある時ですかね。
0510nobodyさん
2007/09/19(水) 13:02:09ID:Ur82wVvyレスありがとうございます。紛らわしくてすみません。
一般ユーザーというのは、一般消費者向けです。
マニュアルといっても、電子マニュアルでして、
サイトに載せる予定です。hogehoge機能のhogehogeの部分が横文字なので、
機能じゃなくて別の言葉はないか、とクライアントに言われて困っています。
0511507
2007/09/19(水) 13:07:07ID:qdL49ylmありがとうございます。
確かに先にheaderでというものをやってました。
header("Expires: Mon, 26 Jul 1997 05:00:00 GMT");
header("Last-Modified: " . gmdate("D, d M Y H:i:s") . " GMT");
header("Cache-Control: no-cache, must-revalidate");
header("Pragma: no-cache");
session_start()はこれより前にやらないといけないということですね。
後で確認してみます。
■ このスレッドは過去ログ倉庫に格納されています