【PHP】下らねぇ質問はID出して書き込みやがれ 88
■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん
2009/09/16(水) 09:39:37ID:???過去スレ、関連スレ、FAQなどは>>2-10辺り
次スレは>>980が立てる。10分以内に立たない場合、宣言してから立てたい人が立てること。
◆前スレ
【PHP】下らねぇ質問はID出して書き込みやがれ 87
http://pc11.2ch.net/test/read.cgi/php/1251447028/
◆質問用テンプレ
【OS名】vine linux
【PHPのバージョン】php5.26
【連携ソフトウェア】mysql
【質問内容】
◆質問する時の注意
・ スレを上げて自分のIDを表示させること。(メール欄に何も記述しない。専ブラのsageチェックを外す)
・ 己の行った操作、変更などを詳しく明記すること。
・ エラーメッセージはそのまま表記すること。「エラーが出ます」だけでは回答不可。
・ 質問者として、態度をわきまえること。
・ 事前に関連リンクの公式マニュアル、リファレンス本くらいはちゃんと目を通しておくこと。
(PHPで最良の教本はこの公式マニュアル。市販の書籍は嘘が多いので鵜呑みにしない。)
◆質問後の注意
・2回目以降は最初に質問した際のレス番号を入れて、偽者防止に必ずIDを表示させること。
・解決しなくても回答をもらった場合はお礼を言うこと。
(荒らし、煽りは除く。煽られたときも、無闇に反論せずスルーすること。)
◆回答者への注意
・誰にレスしているのか分からないと困るので、>>(アンカー)をつけて回答すること。
【その他諸注意】
・SQL・正規表現・PEAR・テンプレート(Smarty等)・フレームワークは各該当スレへ
0751nobodyさん
2009/10/05(月) 10:00:19ID:OAxwPoQMよく見るのは、(システム名・略語)_(機能名)と言うのです。
例えば、Zend_Mailとか。
他には機能名だけ書く場合もありますが、毎回どういう名前にすれば
後々わかりやすいだろうかと悩みます。何か法則とかあるのでしょうか?
0752nobodyさん
2009/10/05(月) 10:30:55ID:???愛称にしない。
スペル間違えない。
0753nobodyさん
2009/10/05(月) 10:44:37ID:???0755nobodyさん
2009/10/05(月) 10:46:43ID:???0756nobodyさん
2009/10/05(月) 11:46:32ID:X54Rskkj現場ごとにルールがあったりするよ。
なければあなたの言うようなのが一般的かと
0757749
2009/10/05(月) 12:56:00ID:KN+hGN3yありがとうございます。
string(17) "obj::offsetExists"
string(14) "obj::offsetGet"
という順番から推測しますと
offsetExists の var_dump(__METHOD__); が実行された「後」の if ($var == "foobar") で
offsetGet が呼ばれてfoobarからvalueに変更され、
最後はoffsetExistsがfalseを返すんですね。
すみません、それを踏まえてもう一つ質問です。
var_dump(empty($obj["foobaz"]));
にした場合、結果が
string(17) "obj::offsetExists"
bool(true)
になるんですけど、これがoffsetGetを呼ばない理由が分かりません。
しかも($var == "foobaz")じゃないのに、結果はtrueです。
分かりますでしょうか?
0758749
2009/10/05(月) 13:00:35ID:KN+hGN3y($var == "foobaz")じゃないのに、結果はtrueです。
↓
実際は ($var == "foobaz") で
($var ≠ "foobar") なので
評価式は偽となってfalseが返されるだろうはずなのに結果はtrueです。
0759nobodyさん
2009/10/05(月) 13:28:36ID:???0761nobodyさん
2009/10/05(月) 14:54:27ID:???0762nobodyさん
2009/10/05(月) 15:43:53ID:???俺はJava風につけてる
FileNotFoundExceptionみたいに
単語別に先頭に大文字をつける感じで
0763nobodyさん
2009/10/05(月) 16:31:42ID:???empty($obj["foobaz"]);
ってのは
!$obj->offsetExists('foobaz') || !(bool)$obj->offsetGet('foobaz')
と等価
0764749,750,757
2009/10/05(月) 18:40:09ID:KN+hGN3yいえいえ、でも、為になりました。
>>763
なるほど、この炉利ORは短絡評価が適用されるので
!$obj->offsetExists('foobaz') が true であれば
!(bool)$obj->offsetGet('foobaz') の評価がなんであろうが
全体の評価は true になるんですね。
では、前回の問題に戻りますが、
var_dump(empty($obj["foobar"]));
の結果が
string(17) "obj::offsetExists"
string(14) "obj::offsetGet"
bool(false)
になるというのは、まず、!$obj->offsetExists('foobar') が false になるので
短絡評価にならずに !(bool)$obj->offsetGet('foobar') の評価が必要となるんですね。
!(bool)$obj->offsetGet('foobar') は (bool) に型変換されてますが
""以外の文字列はすべて true と評価されるので
ここの返り値 'value' も true と評価されるんですね。
それが ! で反転して false ということですね。
false || false = false
ということで bool(false) ですね。
ありがとうございました!
0765nobodyさん
2009/10/05(月) 18:49:30ID:qMw9OmRLどのような手順で見れば、ソースが分かるでしょうか?
例えば、substringの関数のソースを見るための手順を教えて頂けないでしょうか?
宜しくお願いします。
0766nobodyさん
2009/10/05(月) 18:50:44ID:qMw9OmRL失礼しました。宜しくお願いします。
0767nobodyさん
2009/10/05(月) 18:51:11ID:yHTqrIVVHTTPヘッダーを送信するタイミングで、手動でクッキーを設定したいと思い、質問しました。
0768nobodyさん
2009/10/05(月) 18:55:19ID:???hook 系の処理はない。出力内容は、PHP側で、echo された
文字列やheader関数、cookie 系の関数または、session 系
の関数などの結果を常にバッファしており、必要なときに、
PHP側で出力順序を判断してから送信される。
ヘッダ出力直前に処理を行いたいのであれば、処理の最後に
関連の処理を記述することだと思う。
0769nobodyさん
2009/10/05(月) 19:41:05ID:???ガーン。残念。
> ヘッダ出力直前に処理を行いたいのであれば、処理の最後に
> 関連の処理を記述することだと思う。
これって難しくないですか?
MVCがきれいに分離できていて、フロントコントローラパターンをちゃんと使っていれば、簡単にできるんでしょうけど。
PHP4の時代から残っているようなごちゃごちゃしたソースだと、難しいです。
0770nobodyさん
2009/10/05(月) 19:43:25ID:???0771nobodyさん
2009/10/05(月) 22:59:39ID:???ob_start();
require("unko.php");
header("Set-Cookie云々");
ob_end_flush();
0772nobodyさん
2009/10/05(月) 23:14:52ID:cxXnIhTs【PHPのバージョン】PHP Version 5.2.9
【連携ソフトウェア】
【質問内容】
blogの背景画像をランダムに表示させたく思い、phpを勉強しています。
とりあえず画像を表示させてみようと、以下の文を書きました。
<?php
$imgpath="img/common/header.jpg";
readfile($imgpath);
?>
これで画像は表示されたのですが
header('Content-Type: image/jpeg');などの表記もしたほうがいいのでしょうか?
0773nobodyさん
2009/10/05(月) 23:31:32ID:IP5avodC画像だけを出力するならあったほうがよい
0774nobodyさん
2009/10/05(月) 23:38:29ID:cxXnIhTsなるほど、ありがとうございます
0775nobodyさん
2009/10/06(火) 00:09:14ID:???どっちにしてもContent-Typeは必ず要るぞ
0776772
2009/10/06(火) 00:33:26ID:xjSaXbC3ありがとうございます
header('Content-Type: image/jpeg');の挿入位置ですが、readfile()の直前で問題ないでしょうか?
<?php
$headimgdir='img/header/';
$dn=opendir($headimgdir);
while($file=readdir($dn)){if($file!='.' && $file!='..'){$files[]=$file;
// echo "ファイル名:$file<br>";}}
closedir($dn);
$imgnum= array_rand($files);
$imgpath=$files[$imgnum];
header('Content-Type: image/jpeg');
readfile($headimgdir.'/'.$imgpath);
?>
0777nobodyさん
2009/10/06(火) 00:33:28ID:AOFtA4fUってのがあって、それを再評価するってのはどうやるんだっけ?
eval以外にやり方ありましたっけ?
0779772
2009/10/06(火) 00:56:55ID:xjSaXbC3ありがとうございます、助かりました。
0780nobodyさん
2009/10/06(火) 02:21:00ID:BEe+JBrPそこで相談です。
Pagerって、最初に対象の検索結果rowを全部取得して、その行数を指定した一ページ当たりのアイテム数で割って
リンク部分を出力し、以降のページでは最初にとった全アイテムの連想配列を元にリストをつくったりしてるんだと思いますが、
最初に全部取得するのが気に入らないです。なので、
1)ページリンクを作るために全体の件数は欲しい
2)でも、全部の行を取得するなんて無駄はしたくない、最低限のrowの実データだけ取得したい
各ページでそれぞれ必要なアイテムをその都度取得したい
1ページ10アイテムでpageId=2なら where itemId>$pageId*10 and itemId<$pageId*10+10 みたいな…
という要望を満たそうと思ったら、アイテムの実データを用意したテーブルとは別に、数だけをカウントするテーブルを
別に作らないといけないんでしょうか?
それだと単純にデータベースの話になっていまいますが、PHPのプログラム的に解決する方法はありますか?
それとも、こんな試み自体、意味ないでしょうか? 全部のデータを取得するなんて負荷になりそうだなぁという考えからですが。。
環境はPHP5.2.8 MySql5です
0781nobodyさん
2009/10/06(火) 02:48:02ID:???0782nobodyさん
2009/10/06(火) 03:00:16ID:BEe+JBrPそれってmysql関数って言うんでしょうか? 全くそっち系はわからないので。。
なるほどー 確かにそれを使えば簡単ですね! ありがとうございました
0783nobodyさん
2009/10/06(火) 08:52:12ID:ldSI1eNeブラウザで解釈できるからgif,jpgはなくてもおk
ただ書いておいたほうがまし
0784nobodyさん
2009/10/06(火) 09:45:06ID:???PEAR::Pagerつかってるけど、全件取得しないよ。
全件数を取得するのにselect count(*)はするけど
個々のレコードはlimit使ってページ毎にそのページに表示する分しか取得しない
0785nobodyさん
2009/10/06(火) 10:25:01ID:kghRGofU使い方が分からずググったら、こういう感じで設定すれば良いとあり
$matrix = array(array(-1, -1, -1), array(-1, 16, -1), array(-1, -1, -1));
imageconvolution($img, $matrix, 8, 0);
実際シャープはかかったのですが、もう少し弱くかけたいのです
それで値を変更してみると真っ黒になってしまいます
どのように調整すればよいのでしょうか?
0787nobodyさん
2009/10/06(火) 12:12:24ID:BEe+JBrPあ、そうなんですか?
ありがとうございます、解決しましたw
0790nobodyさん
2009/10/06(火) 13:31:23ID:FPrhzfOJ<table>
<?php
foreach($_POST as $key=>$var) {
echo "<tr><td>".$key."</td><td>".$var."</td></tr>\n";
}
?>
</table>
のようにフォームから受け取ったnameとvalueの一覧を表示させるのはできるのですが、
それを下記のようにmysqlに挿入するのに良い方法はないでしょうか?
$sql="INSERT INTO `database`.`table` (`name1`, `name2`,…`, `namen`) VALUES ('value1', value2',…, 'valuen');";
$result = mysql_query($sql, $con) or die("クエリの送信に失敗しました。<br />SQL:".$sql);
いちいち$a=$_POST["name1"];$b=$_POST["name2"];って書いてVALUES ('$a', $b',…を手書き入力してましたが
もっとスマートな方法ないかな…と
0791nobodyさん
2009/10/06(火) 13:46:57ID:???0792786
2009/10/06(火) 13:57:30ID:???人にテストやらせんじゃねぇよ、死ね!
と思ったら俺の間違いじゃねぇか!
済みませんでした
省略したらapplication/octet-streamで扱うんじゃねぇの…
>>786訂正
header('Content-Type: ...') を指定しないと default_mimetype (デフォでtext/html) が
送信されるからContent-Typeを無視するIE以外で表示できません
0793nobodyさん
2009/10/06(火) 14:16:53ID:FPrhzfOJこんな便利なものが…
ありがとうございますorz
0794nobodyさん
2009/10/06(火) 17:33:25ID:BEe+JBrP$this->_db->fetchAll("
SELECT * FROM `hogeTBL`
WHERE
`hoge1`=?
AND
`hoge2` like %?%
AND
`hoge3`=?
",
array($hoge1,$hoge2,$hoge3)
);
hoge1,hoge2,hoge3の全てが「あってもなくても良い」条件の場合、どう書けば良いんでしょうか?
条件の変数があるかないかで全パターン書き分けしてたらかなり面倒で、上で動くと思ったんですが動かないし
どうして良いのかわからなくて質問しました。
よろしくお願いします
0795nobodyさん
2009/10/06(火) 17:41:15ID:???$sql = <<<EOS
select * from xxxx where 1
EOS;
if($name){
$sql .= "and name like '%%%s%%'";
sprintf($sql,mysql_real_escape_string($name));
}
if($age){
$sql .= "and age = %d ";
sprintf($sql,mysql_real_escape_string($age));
}
とか書くかも
0796nobodyさん
2009/10/06(火) 17:59:44ID:BEe+JBrPなるほど、ありがとうございます
「%%%s%%」と、%がたくさんあるのはなんなんでしょうか?
0797nobodyさん
2009/10/06(火) 18:34:38ID:???0798nobodyさん
2009/10/06(火) 18:36:11ID:BEe+JBrPどうもです、ありがとう
0799nobodyさん
2009/10/06(火) 18:40:11ID:y7QUP1JZajaxでは、
XMLHttpRequestを用いて「必要なデータをxml文書として返すphpプログラム」をコールしましが、
このphpプログラム内でauthによる認証を行う事は可能でしょうか。
以下のような動作にしたいと思っています。
1.特定の条件で(例えばボタンを押す等)javascriptプログラムが実行
XMLHttpRequestによる通信開始、指定のphpプログラムが実行。
↓
2.phpプログラム内でauth認証開始、
認証成功の場合⇒データベースに書き込み、
認証失敗の場合⇒書き込みは行わない。
3.phpプログラムは認証結果をxmlとして出力
ブラウザは認証結果に応じて動作を変える
こんな感じでふ。
これが可能なのか、可能でないのかわからずにいます。
苦労との皆様、宜しくお願いいたします。
0800nobodyさん
2009/10/06(火) 21:25:37ID:???は判断できるだろうしできないのはどうかと思う。
0801nobodyさん
2009/10/06(火) 21:39:17ID:???0802799
2009/10/06(火) 21:52:47ID:62gXteWjauthを利用できるかどうかという事は
XMLHttpRequestによって実行されたphpプログラムが
クライアントのクッキーを参照できるか??という事のような気はするのですが・・
(間違っていたらすみません)
これが実際どうなのか、何を調べたらよいのか、
できたとしても環境によって動作が大きく変わってしまうのか、
分からない状況になっています。
後学の為に詳しく教えていただけたらうれしいです。
とりあえずHTTPについて復習してキマシ(*`・ω・)ゞ
0803nobodyさん
2009/10/06(火) 22:07:14ID:???→結果をレスポンスとして返す、というだけの処理なら、普通に考えてできるんじゃないの?
もちろん、リクエストする時にCookieなりクエリなりPOSTなりで認証情報を渡す必要
はあるだろうけど。むしろ何故不可能だと思うんだろう
0804799
2009/10/06(火) 22:31:43ID:???ありがとうございます。
更にauthで既に認証済みのユーザがあえて、POST等でIDとパスを渡すことなくとも、
XMLHttpRequestによって実行されたphpプログラムでセッション情報を元に認証する事ができるか
というと、どうでしょうか。。
やはりphpプログラムがクライアントのクッキーを参照できるか??という事になると思うんですが、、、
0806799
2009/10/06(火) 22:37:04ID:???⇒phpプログラムはブラウザが保存していたクッキーを使用する事ができる。
という認識なんですが、
XMLHttpRequestによってphpプログラムを実行した場合、
⇒XMLHttpRequestを実行したブラウザのクッキーをphpプログラムは使用する事ができるのか??
これが分からないのが問題なのかもしれません。
ぐるぐるしてすみません。
0807nobodyさん
2009/10/06(火) 22:43:39ID:???まぁここはくだ質だから嫌味な奴は気にするな
BASIC認証は感じ
<?php
if (!isset($_SERVER['PHP_AUTH_USER'])
|| $_SERVER['PHP_AUTH_USER'] != 'namae'
|| $_SERVER['PHP_AUTH_USER'] != 'himitsu')
{
header('HTTP/1.0 401 Unauthorized');
header('WWW-Authenticate: Basic realm="sample"');
exit;
}
header('Content-Type: text/plain');
echo 'ok';
?>
これを
var request = new XMLHttpRequest();
request.open("GET", "a.php", false, 'HOGE', 'FUGA');
request.send(null);
alert(request.status);
で試してみるといい
あとはこっちを見る
http://jp.php.net/manual/ja/features.http-auth.php
0808nobodyさん
2009/10/06(火) 22:43:42ID:???ためしもせずガタガタ抜かすな。
LiveHTTPHeaderかFirebugでも入れて、Ajax通信の中身を実際に覗けや。
www.example.comへのリクエストであれば、ブラウザのアドレスバーからだろうがリンクからだろうが<img src=>だろうがAjaxだろうがクッキーは送信される。
0809nobodyさん
2009/10/06(火) 22:49:41ID:???何でも良いけど、実際にどんなHTTPリクエストが飛んでレスポンスが
返ってくるのか一度見てみた方が多分勉強になるし、HTTPの知識無しで
ajaxはちょっと心許ないと思う
0810799
2009/10/06(火) 23:08:09ID:???ありがとうございます。
なんだかふわふわして、自分が何でわかんないのかもわかんない違和感、
その原因がHTTPなんだと気づかせてもらいました。HTTPリクエスト、レスポンスを
目で見てみたいと思います。
>>807さん
ソースまで提供していただいて、もう涙出ます。
ためさせていただきます!勉強させていただきます!
ありがとうございます!
皆さんありがとうございました!
0811nobodyさん
2009/10/06(火) 23:18:46ID:RPLcbD5Pどうしたらよいでしょうか?イメージ的にはExecuteのような感じです。
0812nobodyさん
2009/10/06(火) 23:27:12ID:???ごめん嘘書いてた、ifの条件式を置き換えてくれ
|| $_SERVER['PHP_AUTH_USER'] != 'namae'
|| $_SERVER['PHP_AUTH_PW'] != 'himitsu')
0814nobodyさん
2009/10/06(火) 23:31:14ID:???system("/usr/bin/php xxx.php") とか、 file_get_contents("http://example.com/xxx.php")とか。
どういうことをやりたいの?
0815811
2009/10/06(火) 23:36:14ID:???inc.phpは他のファイルからも実行させたいのですが、呼び出し元の変数に
万が一影響しても困るので、includeやrequireは避けたかったのです。
>>814さんのsystem("")でできました。ありがとうございますー
0816nobodyさん
2009/10/07(水) 17:41:32ID:UWu9xUOcif(($_POST["mati"]==1))$count++;
else if(($_POST["mati"]==0))$count--;
if(($_POST["eiga"]==1))$count++;
else (($_POST["eiga"]==0))$count--;
if(($_POST["ame"]==1))$count++;
else if(($_POST["ame"]==0))$count--;
if (count==3) <META HTTP-EQUIV="REFRESH" CONTENT = "5; URL=kikubari.html">;
else if (count==2) <META HTTP-EQUIV="REFRESH" CONTENT = "5; URL=roman.html">;
else if (count==1) <META HTTP-EQUIV="REFRESH" CONTENT = "5; URL=roman.html">;
else if (count==0) <META HTTP-EQUIV="REFRESH" CONTENT = "5; URL=kensin.html">;
else if (count==-1) <META HTTP-EQUIV="REFRESH" CONTENT = "5; URL=kensin.html">;
else if (count==-2) <META HTTP-EQUIV="REFRESH" CONTENT = "5; URL=zibun.html">;
else if (count==-3) <META HTTP-EQUIV="REFRESH" CONTENT = "5; URL=zibun.html">;
?>
これでリンク先を振り分けられないんだがどうしてか教えて欲しい
何回やっても一番したのリンクへしか飛ばないんだ・・・
0817nobodyさん
2009/10/07(水) 17:47:39ID:???0818nobodyさん
2009/10/07(水) 17:52:07ID:UWu9xUOc必死なんだ
0819nobodyさん
2009/10/07(水) 18:03:28ID:???ttp://works.xworks.org/script/01php/xfile-access-counter/
これの非公開バージョンb090909
http://kissho.xii.jp/1/src/1jyou93396.zip.html
・DBにSQLiteを用いているのが特徴。
・ベータ版のため、簡単に使える状態では無い。
誰か、使用方法、教えて下さい・・・。
0823nobodyさん
2009/10/07(水) 20:45:45ID:???0824nobodyさん
2009/10/07(水) 20:46:21ID:???0825nobodyさん
2009/10/07(水) 20:49:58ID:???0826nobodyさん
2009/10/07(水) 21:03:59ID:???それ、そもそもパースエラーが出る。
実際に動かしてるものをコピペしないと、
転載するときに間違ったのかソースが間違ってるのか分からないよー。
0827nobodyさん
2009/10/07(水) 21:06:33ID:???動くには動くんだがどんなふうにやっても必ず一番下のリンクへ飛ぶんだ
0828nobodyさん
2009/10/07(水) 21:07:00ID:???先頭で
var_dump( $_POST ) ;
0831nobodyさん
2009/10/07(水) 21:12:26ID:???いつから条件式中で略せるようになったの?
0832nobodyさん
2009/10/07(水) 21:12:33ID:???え?それで動く??
if (count==3) <META HTTP-EQUIV="REFRESH" CONTENT = "5; URL=kikubari.html">;
count は$countだろうし
HTML部分は echoなり、php抜けるなりしないとダメだと思うんだけどなー。
ロジックがおかしくて動かないんじゃなくて
そもそも、まったく動いてないんじゃ?
0833nobodyさん
2009/10/07(水) 21:13:21ID:???、ネ、、、ヲス?ュケ?、゚、ャネッテシ、ネ、ハ、遙「ツ賈?ワカ盻?、ヒ、マ・ウ・�チテ・ア、ャ、ト、ュ、筅ホ、ネ
、ハ、テ、ソ。」2、チ、网?ヘ、・?ヒ。ヨ・ウ・�チア。ラ、ネ、篆?ォ、・・」
、ウ、ホネト、ネ、マ、「、゙、・リキク、ハ、ッ。「・ヒ・蝪シ・ケ
0834nobodyさん
2009/10/07(水) 21:14:34ID:???<?php
if(($_POST["mati"]==1))$count++;
else if(($_POST["mati"]==0))$count--;
if(($_POST["eiga"]==1))$count++;
else if(($_POST["eiga"]==0))$count--;
if(($_POST["ame"]==1))$count++;
else if(($_POST["ame"]==0))$count--;
if ($count==3) print'<META HTTP-EQUIV="REFRESH" CONTENT = "5; URL=kikubari.html">';
else if ($count==2) print'<META HTTP-EQUIV="REFRESH" CONTENT = "5; URL=roman.html">';
else if ($count==1) print'<META HTTP-EQUIV="REFRESH" CONTENT = "5; URL=roman.html">';
else if ($count==0) print'<META HTTP-EQUIV="REFRESH" CONTENT = "5; URL=kensin.html">';
else if ($count==-1) print'<META HTTP-EQUIV="REFRESH" CONTENT = "5; URL=kensin.html">';
else if ($count==-2) print'<META HTTP-EQUIV="REFRESH" CONTENT = "5; URL=zibun.html">';
else if ($count==-3) print'<META HTTP-EQUIV="REFRESH" CONTENT = "5; URL=zibun.html">';
?>
0835nobodyさん
2009/10/07(水) 21:16:54ID:???最初にそのページを読み込むときは、絶対一番下の処理になるけど。
0836nobodyさん
2009/10/07(水) 21:20:35ID:???これなんとかしてページを振り分ける方法ない?
0837nobodyさん
2009/10/07(水) 21:29:08ID:???0839nobodyさん
2009/10/07(水) 21:31:38ID:???if(isset($_POST["mati"],$_POST["eiga"],$_POST["ame"])){
$count = 0;
function count_post($str){
if($str == "1"){
return 1;
}else if($str == "0"){
return -1;
}else{
return 0;
}
}
$count = (count_post($_POST["mati"]) + count_post($_POST["eiga"]) + count_post($_POST["ame"]));
header('Status: 301 Moved Permanently');
switch($count){
case 3:
header('Location: kikubari.html');
break;
case 2: case 1:
header('Location: roman.html');
break;
case 0: case -1:
header('Location: kensin.html');
break;
case -2: case -3:
header('Location: zibun.html');
break;
}
}else{
echo "必要なパラメータがPOSTされてない";
}
0842nobodyさん
2009/10/07(水) 22:44:35ID:IEM8qI680843nobodyさん
2009/10/07(水) 22:53:13ID:???相対パスも可
headerがどうとかは関係ない
ttp://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html
0844nobodyさん
2009/10/07(水) 23:02:39ID:???0845nobodyさん
2009/10/07(水) 23:09:40ID:???俺はしないけど。
0846nobodyさん
2009/10/07(水) 23:10:39ID:???The Location response-header field is used to redirect the recipient to a location other than the
Request-URI for completion of the request or identification of a new resource. For 201 (Created)
responses, the Location is that of the new resource which was created by the request. For 3xx
responses, the location SHOULD indicate the server's preferred URI for automatic redirection to
the resource. The field value consists of a single absolute URI.
Location = "Location" ":" absoluteURI
An example is:
Location: http://www.w3.org/pub/WWW/People.html
Note: The Content-Location header field (section 14.14) differs
from Location in that the Content-Location identifies the original
location of the entity enclosed in the request. It is therefore
possible for a response to contain header fields for both Location
and Content-Location. Also see section 13.10 for cache
requirements of some methods.
0848nobodyさん
2009/10/08(木) 00:39:37ID:???case -2: case -3:
header('Location: zibun.html');
break;
↓↓↓
case -2: case -3:
header('Location: zibun.html');
break;
default:
header('Location: countgaokashii.html?count='.$count);
break;
0849nobodyさん
2009/10/08(木) 09:11:12ID:???UPありがとう。
とりあえず、こんな流れで動きましたよ。
1行目が<?xmlで始まるPHP(複数個)
<?をPHPと認識して処理されてしまうのが問題なので、
<?php echo '<?xml version="1.0" encoding="utf-8"?>'; ?> に書き換える。
PHP5環境の場合、ファイルの初回ダウンロード時に
db.inc.phpの「if($date != date('Ymd', $lastact))」部分でエラーが出るので、
前に、if($lastact == ""){$lastact = 0;}; を挿入。
ツールを使ってSQLiteのDBを作成し、db.inc.php内記載のSQL文3つ
「CREATE TABLE BASE、CREATE TABLE RECENT、CREATE TABLE NOTE」を使って、
テーブルを作成。
filesフォルダにダウンロードさせたいファイルを入れる。
あとはアップロードして、/xfm/ファイル名 にアクセスすれば、
ダウンロードページが表示されます。
軽く触ってみて思ったこと。
config.inc.phpで、「ログ管理モード」の記載があるが、
どうやって「ログ管理モード」に入るのか不明。
集計結果の表示にパスワード認証をかける設定にしても、
パスワードを聞いてこず、集計結果が表示される。
0850nobodyさん
2009/10/08(木) 09:17:54ID:???noticeじゃなくて?
■ このスレッドは過去ログ倉庫に格納されています