【PHP】下らねぇ質問はここに書き込みやがれ 64
■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん
2008/02/09(土) 14:51:11ID:???PHPで最良の教本はこの公式マニュアル。市販の書籍は嘘が多いので鵜呑みにしない。
過去スレ、関連スレ、FAQなどは>>2-10辺り
◆前スレ
【PHP】下らねぇ質問はここに書き込みやがれ 61
http://pc11.2ch.net/test/read.cgi/php/1201425479/
◆質問する時の注意
・ サーバーのOS(Linux、Windows他)、WebサーバーとPHPの種類やバージョン等を必ず明記すること。
・ 己の行った操作、変更などを詳しく明記すること。
・ エラーメッセージはそのまま表記すること。「エラーが出ます」だけでは回答不可。
・ 質問者として、態度をわきまえること。
・ 事前に公式マニュアル、リファレンス本くらいはちゃんと目を通しておくこと。
◆質問後の注意
・偽者防止に必ずIDを表示(メール欄に何も記述しない)、若しくはトリップをつける事。
・2回目以降は最初に質問した際のレス番号を名前欄に入れること。
・解決しなくても回答をもらった場合はお礼を言うこと。
(荒らし、煽りは除く。煽られたときも、無闇に反論せずスルーすること。)
◆回答者への注意
・誰にレスしているのか分からないと困るので、>>(アンカー)をつけて回答すること。
【その他諸注意】
・正規表現・PEAR・テンプレート(Smarty等)・フレームワークは各該当スレへ
・SQLについての質問はデータベース板(PCカテゴリ)の各スレで
0313nobodyさん
2008/02/15(金) 20:51:58ID:???ダブルはSQLでたまに使うくらい(最近は直接書くことすくないけど)
コーディング規約、クセなどなどで自由やけど
>>309みたいなやつにはとりあえずシングルメインで使えって言いたい
0314nobodyさん
2008/02/15(金) 20:57:14ID:???0315nobodyさん
2008/02/15(金) 21:05:57ID:???http://framework.zend.com/manual/ja/coding-standard.coding-style.html#coding-standard.coding-style.strings
0317nobodyさん
2008/02/15(金) 23:08:11ID:???0319nobodyさん
2008/02/15(金) 23:16:19ID:???パスワード付きのファイルを直リンのURLでダウンロードできないようにしたいのですがどうすればいいのでしょうか
ネットで無料サンプル探していろいろためしてみたのですが
DLパスワード機能付きのやつでも直接ファイルのURLをいれれば普通にダウンロードできてしまうもんで・・・
0320nobodyさん
2008/02/15(金) 23:19:38ID:???0321nobodyさん
2008/02/15(金) 23:20:04ID:???0322317
2008/02/15(金) 23:20:46ID:???0323321
2008/02/15(金) 23:21:07ID:???そんなことしたら、ダウンロードができなくなる。
スマソ。
0324nobodyさん
2008/02/15(金) 23:21:59ID:???まあそこまでいくと本末転倒だが
0325nobodyさん
2008/02/15(金) 23:22:36ID:???> DLパスワード機能付きのやつでも直接ファイルのURLをいれれば普通にダウンロードできてしまうもんで・・・
そんなの作って公開しているやつのレベルは所詮その程度だなw
0326nobodyさん
2008/02/15(金) 23:23:36ID:???0327nobodyさん
2008/02/15(金) 23:25:14ID:???てきとーにつくってやった
条件満たしてるかはしらんw
<?php
if (isset($_POST['hoge']) && $_POST['hoge'] != '') {
$filename = uniqid();
$data = '<html><head><title>'.$filename.'のページ</title></head><body>'.
htmlspecialchars($_POST['hoge']).'</body></html>';
$ret = file_put_contents($filename.'.html',$data);
if ($ret == false) {
echo '作成失敗';
exit;
}
echo $filename.'.htmlというページを作成';
exit;
}
?>
<form method="post">
<input type="text" name="hoge">
</form>
0328nobodyさん
2008/02/15(金) 23:25:26ID:???phpからストリームで返してやるとかどう?
0329nobodyさん
2008/02/15(金) 23:43:21ID:BJFOhqEp以下のようにしたのですが、削除されません。どこがおかしいのでしょうか?
$file = file_get_contents("test.html");
$file = str_replace("\t","","$file");
0331nobodyさん
2008/02/16(土) 00:39:28ID:???何かと"$file"んな感じに意味なくクヲートしていたことがよくあった。
間違いじゃないけど、見ると恥ずかしい
0332nobodyさん
2008/02/16(土) 01:18:58ID:???>>329 もうちょい具体的に。特に読み込んだデータと変換後のデータの内容。
0334nobodyさん
2008/02/16(土) 02:36:00ID:???クォートで括ったらそれは新しい文字列を生成するってことだ。
変数の内容を展開するオーバーヘッドも発生するし、
何よりそれは文字列リテラルになってしまう為に
参照渡しが必要な場合にはエラーになる。
間違いだし、好みの問題ではない。
0336nobodyさん
2008/02/16(土) 02:52:38ID:???0337nobodyさん
2008/02/16(土) 03:51:29ID:???それが成り立つほど、ゴロっと変わるものですか??
PHP4も、途中で大きく仕様が変わったみたいですが
今PHPで作っても、2〜3年で大規模な修正(=費用)が必要になる??
0338失礼しました。
2008/02/16(土) 03:52:17ID:mhfR9vmNそれが成り立つほど、ゴロっと変わるものですか??
PHP4も、途中で大きく仕様が変わったみたいですが
今PHPで作っても、2〜3年で大規模な修正(=費用)が必要になる??
0339nobodyさん
2008/02/16(土) 04:03:35ID:???0340nobodyさん
2008/02/16(土) 04:09:50ID:???PHPってHTMLに埋め込めますよね?
埋め込んだ場合 通常 index.html なのを index.php にする必要がありますね。
それで index.phpにした奴のソースを覗いてみると、 PHPのスクリプトが消えています。
仕様でしょうか?
0343nobodyさん
2008/02/16(土) 04:24:28ID:???ありがとうございます。
PHP4がサポート終了&既にPHP6が開発中(さらに仕様が変わる)
というのを見まして不安になった次第です。
そういったものを見越す力のある開発会社を見極める必要があるのでしょうが
なかなか難しいです。
機能追加を除けば、最低、2〜3年程度は手を入れずにいたいのですが。。
0344nobodyさん
2008/02/16(土) 04:36:02ID:???あんまり気にしないでいいと思うけどな。
0345nobodyさん
2008/02/16(土) 04:38:06ID:???0346nobodyさん
2008/02/16(土) 04:39:49ID:???0347nobodyさん
2008/02/16(土) 04:47:06ID:???0348340
2008/02/16(土) 05:29:23ID:???0349nobodyさん
2008/02/16(土) 05:39:11ID:???0350nobodyさん
2008/02/16(土) 09:14:28ID:???0351nobodyさん
2008/02/16(土) 09:57:27ID:???0352nobodyさん
2008/02/16(土) 10:35:14ID:???http://php.webmeister-jp.com/archives/2005/08/null.php
0353nobodyさん
2008/02/16(土) 10:59:48ID:???0354nobodyさん
2008/02/16(土) 11:03:18ID:???0356nobodyさん
2008/02/16(土) 11:44:19ID:???0357nobodyさん
2008/02/16(土) 11:48:39ID:???function gohan() {}
function ofuro() {}
function watashi() {}
}
0358nobodyさん
2008/02/16(土) 12:03:10ID:???0359nobodyさん
2008/02/16(土) 12:17:52ID:???0360nobodyさん
2008/02/16(土) 12:57:12ID:???0361nobodyさん
2008/02/16(土) 13:05:52ID:???0362nobodyさん
2008/02/16(土) 13:13:26ID:???function watashi($condom=false) {}
0363nobodyさん
2008/02/16(土) 13:25:20ID:???0364nobodyさん
2008/02/16(土) 15:25:08ID:K3pH787p$num = file("num.txt");としています。
別のファイルで
require("config.php");
$num1 = 〜$numの中に入っているデータの一つ〜
$key = arraysearch($num1,$num);
$title = $item[$key];
こう書いたのですが、$keyがうまく取得できてなくて、
$titleがうまく対応できてません。
どうすれば取得できるのでしょうか?
もしくはもっと良いコードがありますか?
-item.txt-
夏目漱石
樋口一葉
・・・
-num.txt-
natsume
higuchi
・・・
0365nobodyさん
2008/02/16(土) 15:39:40ID:???http://jp2.php.net/manual/ja/function.file.php
FILE_IGNORE_NEW_LINES でどう?
0367nobodyさん
2008/02/16(土) 16:23:15ID:a5LZnn6H0369364
2008/02/16(土) 16:37:33ID:Jf9OUGaE>>365
ローカルにあるPHPマニュアルにはそんなオプション無かった・・・
ありがとうございます。
オプション付けたそのままでは機能しませんでしたが、Emeditorで改行をCR+LFからLFに
変えたところ、うまく動作しました。
>>368
重ねてありがとうございます。
0370nobodyさん
2008/02/16(土) 17:00:04ID:???>このフラグは FILE_BINARY と同時に使用することはできません。 このフラグは PHP 6 以降でのみ使用可能です。
いやいいんだけど、なら早く出してよ!!
0371nobodyさん
2008/02/16(土) 17:08:47ID:???確かにいらないんだけど、PHP5ではデフォルトで onの機能がなくなるというのは、かなり衝撃的。
ほかにもこう言うのあるの?
0373nobodyさん
2008/02/16(土) 17:37:04ID:???0374nobodyさん
2008/02/16(土) 17:42:35ID:???http://jp2.php.net/manual/ja/ref.info.php
magic_quotes_gpc "1" PHP_INI_PERDIR PHP <= 4.2.3 では PHP_INI_ALL。PHP 6.0.0 で削除されました
PHP5.2の php.ini-distも
; Magic quotes for incoming GET/POST/Cookie data.
magic_quotes_gpc = On
ってなってるし。
0375nobodyさん
2008/02/16(土) 17:45:02ID:???0377nobodyさん
2008/02/16(土) 19:38:40ID:???0378nobodyさん
2008/02/16(土) 19:49:35ID:???コンストラクタで入れれば?
class hoge {
var $a;
function __construct() {
$this->hoge();
}
function hoge() {
$this->a = 10*10;
}
}
0380nobodyさん
2008/02/16(土) 21:08:53ID:???クラス外で普通に変数定義するときは演算もできるのに
0381nobodyさん
2008/02/16(土) 21:11:33ID:???0384nobodyさん
2008/02/16(土) 21:28:30ID:???PHP5では__constructが定義されてる場合、クラスと同名のはコンストラクタとは扱われない。
PHP4ではクラスと同名ののみコンストラクタとしてあつかわれる。
0386nobodyさん
2008/02/16(土) 21:37:41ID:???http://jp.php.net/manual/ja/migration4.initializers.php
0388nobodyさん
2008/02/16(土) 21:43:57ID:???PC2Mというスクリプトにあるr.phpにリンクする先のサイズを表示したいのですが、ネット上にあるWebpageに限らずなんでもファイルのサイズをゲットする方法が分かりません。
教えて下さいお願いします。
0390388
2008/02/16(土) 22:34:32ID:???$ary = get_headers($_url,1);
$size = $ary[Content-Length];
こんなかんじですか?
ありがとうございます。
0391nobodyさん
2008/02/16(土) 22:59:31ID:???php_value memory_limit 5M
php_value post_max_size 5M
php_value upload_max_filesize 5M
と書いてphpプログラムがあるフォルダにあげてプログラムを実行したら
サーバーエラー500になるのですが
この鯖ではこの設定はできないってことでしょうか?
0392nobodyさん
2008/02/16(土) 23:01:09ID:???↓
$size = $ary["Content-Length"];
だった。orz
0394nobodyさん
2008/02/16(土) 23:17:22ID:???0395nobodyさん
2008/02/16(土) 23:19:35ID:???無料のレンタルサーバーなんですが
0397nobodyさん
2008/02/16(土) 23:26:12ID:???0398nobodyさん
2008/02/16(土) 23:59:31ID:???$authobj = new("DB", $params, "funcLogin");
とした場合、
$authobj -> start();
でセッション管理&未認証ならfuncLogin()に適切な引数が与えられてログインフォームが表示されますが、
$authobj->start();
をhtmlの出力前に入れないとログイン時に当然ながら、ヘッダ弄れなかったよーってWarningが出るし、
出力後に書いたら書いたで、フォームの表示が<html>の前になり構造としておかしくなるので困ってます。
このため、start()でセッション管理のみ行い、メタタグなどの出力後に好きな場所でフォームを表示したいなーって思ってます。
0400nobodyさん
2008/02/17(日) 00:08:46ID:???> 出力後に書いたら書いたで、フォームの表示が<html>の前になり
ごめ、意味わからん・・・
どんなソース書いてるのよ?
0402nobodyさん
2008/02/17(日) 00:19:22ID:???「フォームの表示が<html>の前にな」るアナタの書き方が悪いだけじゃん。
PEAR::Authもstart()も関係ない。
0404398
2008/02/17(日) 00:53:47ID:???うぇwwまじすか。
<?php
print "<html> ・・・(略)・・・<body>";
$authobj->start();
・
・
・
?>
・・・
</html>
ってすれば表示自体は問題ないんですが、>>398に書いたようなheader already sentのWarningが出ちゃいます。
スマートな書き方があれば教えてください。。。
0405nobodyさん
2008/02/17(日) 01:00:42ID:???function funcLogin(){
echo '<form>〜</form>';
}
$authobj->start();
echo '<html>〜</html>';
て流れになって悩んでるのか?
function funcLogin(){
$flag_login = true;
}
$authobj->start();
echo '<html>〜';
if($flag_login) echo '<form>〜</form>';
echo '〜<html>';
で解決だと思うんだが?
0406nobodyさん
2008/02/17(日) 01:07:15ID:???要は なにもfuncLogin内でHTML出力する必要はない ってこと
0407398
2008/02/17(日) 01:16:07ID:???今のところ(Warningが出るほう)こんなかんじです
$authobj = new Auth("DB", $params ,"funcLogin");print "<html>・・・<body>";
$authobj->start();
if($authobj->getAuth){
$user = $authobj->getAuth();
print "ようこそ{$user}さん"
}
function funcLogin($username, $status) {
if ($status == AUTH_WRONG_LOGIN)
print "パスワード違うよー<br />";
print "<form ・・・ ユーザー名とパスワードフォーム・・・</form>";
}
こんな感じのサンプルでよくある感じのです。
0408398
2008/02/17(日) 01:22:04ID:???たびたび入れ違いになって申し訳ないです(´・ω・)
うぉ、まさにそれです!!
確かに関数内でフォーム出力する必要は無かったですね・・・
サンプルで凝り固まってました。この数時間は何だったんだぁ・・・!
本当にありがとうございます。
0409nobodyさん
2008/02/17(日) 01:32:21ID:???0411nobodyさん
2008/02/17(日) 04:11:57ID:yKIXzCES$ php -v
PHP 5.2.5 (cli) (built: Feb 16 2008 02:53:14)
Copyright (c) 1997-2007 The PHP Group
Zend Engine v2.2.0, Copyright (c) 1998-2007 Zend Technologies
$ php -a
Interactive shell
php > foo();
PHP Fatal error: Call to undefined function foo() in php shell code on line 1
$
0413nobodyさん
2008/02/17(日) 04:21:14ID:yKIXzCESエラーはわかるよ。
それですぐ終了するのが嫌なの。
■ このスレッドは過去ログ倉庫に格納されています