【PHP】下らねぇ質問はここに書き込みやがれ 47
■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん
2007/05/26(土) 21:03:53ID:???PHPで最良の教本はこの公式マニュアル。市販の書籍は嘘が多いので鵜呑みにしない。
過去スレ、関連スレ、FAQなどは>>2-10辺り
◆前スレ
【PHP】下らねぇ質問はここに書き込みやがれ 45
http://pc11.2ch.net/test/read.cgi/php/1177635762/
◆質問する時の注意
・ 自分のIDを表示させること。(メール欄に何も記述しないこと。空白も入力しちゃダメ)
・ サーバーのOS(Linux、Windows他)、WebサーバーとPHPの種類やバージョン等を明記すること。
・ 己の行った操作、変更などを詳しく明記すること。
・ エラーメッセージはそのまま表記すること。「エラーが出ます」だけでは回答不可。
・ 質問者として、態度をわきまえること。
・ 事前に公式マニュアル、リファレンス本くらいはちゃんと目を通しておくこと。
◆質問後の注意
・偽者防止に必ずIDを表示させること。(メール欄に何も記述しない)
・2回目以降は最初に質問した際のレス番号を名前欄に入れること。
・解決しなくても回答をもらった場合はお礼を言うこと。
(荒らし、煽りは除く。煽られたときも、無闇に反論せずスルーすること。)
◆回答者への注意
・誰にレスしているのか分からないと困るので、>>(アンカー)をつけて回答すること。
【その他諸注意】
・正規表現・PEAR・テンプレート(Smarty等)・フレームワークは各該当スレへ
・SQLについての質問はデータベース板(PCカテゴリ)の各スレで
0363nobodyさん
2007/06/14(木) 21:52:36ID:???0365nobodyさん
2007/06/14(木) 22:28:45ID:j9Jtt3wM受け取り方これであってる?
value="<?php echo"".$_POST["year"]."".$_POST["month"]."".$_POST["date"].""?>"
うぉぉおお、わかんねぇ〜
0366nobodyさん
2007/06/14(木) 22:39:03ID:???0367nobodyさん
2007/06/14(木) 22:42:57ID:j9Jtt3wMつめたいなぁ。。。
0368nobodyさん
2007/06/14(木) 22:43:22ID:VQlJQbes0370nobodyさん
2007/06/14(木) 23:20:55ID:???0371nobodyさん
2007/06/14(木) 23:46:57ID:???0372nobodyさん
2007/06/14(木) 23:58:18ID:???今その場で動くコードをほいっと誰かがここに書いたとしても、基礎が理解できていないんだから同じ所でまた躓く
そんなのは解決にも何にもなってないし、やさしさでも何でも無い
0373ガチャ
2007/06/15(金) 00:32:40ID:kklso08G問題は翌月ボタンを作って7月、8月、9月としていきたいんですけど色々考えて、$_SERVER['PHP_SELF']
を使ってphp内で<a href>を使っているコードがあって(多分これが近道なのでは?)
参考にしたんですけどエラーがおきます。
<a href>ってphpではphpのやり方みたいなものがあるんですか?
ちなみに参考にしたサイトはhttp://aineko.com/php/program/calender.php
です。
0376ガチャ
2007/06/15(金) 01:13:32ID:kklso08G0377nobodyさん
2007/06/15(金) 01:27:29ID:???0378nobodyさん
2007/06/15(金) 01:30:25ID:PvN9n9zj作りたいのですが 簡単に 説明してるHPとかないでしょうか
0379nobodyさん
2007/06/15(金) 01:43:42ID:???もしくは本人に聞けば?
0380nobodyさん
2007/06/15(金) 01:49:27ID:???http://myhost.mydomain/aaa/bbb/xxx/
のようにxxxというCMSプログラム本体が入っているのですが、
http://myhost.mydomain/ddd/index.phpにアクセスしたときに、
このxxxCMSプログラムにアクセスするにはどうすればいいでしょうか?
・・・/ddd/index.phpのなかにrequire_once("../aaa/bbb/xxx/index.php");
とでも書けばいいのかと思ったのですが、xxxCMSの中でrequireしている
箇所があり、うまく動いてくれません。
参照先のCMSプログラムは改変不可能です。
0381nobodyさん
2007/06/15(金) 01:54:03ID:???0382nobodyさん
2007/06/15(金) 02:00:21ID:???多分、選挙が近いから又日本共産党員が暴れているんだろうな。
この荒らし方は、赤の常套手段。
建設的な意見を出さず、ただイデオロギーをごり押しする共産党の典型。
こんな、非国民政党は絶対許せない。
やっぱり、こういうときは正面から戦いを挑んでいる公明党しかないなぁ。
0384380
2007/06/15(金) 04:39:22ID:???requireで指定したファイルが存在しないエラーが消えました。
cms側のrequireはパス指定が相対です。
前回の条件に書いていなかったのですが、
URLはそのまま
http://myhost.mydomain/ddd/index.phpを維持したいのです。
locationだと画面が遷移してしまいました。
0386nobodyさん
2007/06/15(金) 06:32:19ID:???http://myhost.mydomain/ddd/index.phpの中で、include.("./../aaa/bbb/xxx/index.php")
とすれば良いんじゃね?そういう問題とは違うの?違ったらゴメン。
0387nobodyさん
2007/06/15(金) 06:35:49ID:???すまん。
include("../../aaa/bbb/xxx/index.php")
こっちね。どうせ違うだろうけど。
0389nobodyさん
2007/06/15(金) 09:09:51ID:???つ[ include_once(dirname(dirname(__FILE__))."/aaa/bbb/xxx/*.php"); ]
0390nobodyさん
2007/06/15(金) 09:42:20ID:qoKVBQPo0391nobodyさん
2007/06/15(金) 10:10:48ID:CO1xLFzN0392nobodyさん
2007/06/15(金) 10:22:31ID:???0394nobodyさん
2007/06/15(金) 10:35:10ID:???ここは下らない質問を書き込むすれだからな
0395nobodyさん
2007/06/15(金) 10:39:29ID:???普通そういう場合は、
mod_rewriteあたりを併用してxxxという「CMSプログラム」側でルーティング(URLマッピング)
してやるか、curlでもソケットでも使ってxxxという「CMSプログラム」がユーザエージェント
として振舞うようにスクリプト書くかだろう。locationとかrequireとかという問題じゃない。
0396nobodyさん
2007/06/15(金) 11:06:01ID:???>・・・/ddd/index.phpのなかにrequire_once("../aaa/bbb/xxx/index.php");
>とでも書けばいいのかと思ったのですが、xxxCMSの中でrequireしている
>箇所があり、うまく動いてくれません。
どううまくいかないんだ?エラーメッセージは?
>>395
初心者をまどわせるのが目的?ルーティングとかソケットとか用語むちゃくちゃ。
0397nobodyさん
2007/06/15(金) 11:46:35ID:???プログラム中に
"/aaa/bbb/xxx/"
とか入ってないよな?リンクとかで。
入ってたらもう無理だろ。
http://myhost.mydomain/ddd/
を
http://myhost.mydomain/aaa/bbb/xxx/
のシンボリックリンクにしてみたらどうだろ。
0398nobodyさん
2007/06/15(金) 11:57:39ID:CO1xLFzNお前は一生レスするな
0399380
2007/06/15(金) 12:43:22ID:???requireやincludeでaaa/bbb/xxx/index.phpを指定すると
cms側のrequireのパスが存在しないとなるエラーになります。
frame,シンボリックリンクで前回条件クリアできそうです。
とりあえず、↑まで可能なのかということで、条件をひとつ控えておいたのですが、
http://myhost.mydomain/ddd/index.php?u=user1
の場合
http://myhost.mydomain/aaa/bbb/user1/
http://myhost.mydomain/ddd/index.php?u=yu-za2
の場合
http://myhost.mydomain/aaa/bbb/yu-za2/
のようにパラメータの値を取得して読込先を指定したいのです。
できますでしょうか?
これだとフレームでシンボリックリンクでも、requireでも無理だと思います。
>httpd.confなり.htaccessなりでmod_rewrite使えばいいんじゃん
調べてみます。
0400nobodyさん
2007/06/15(金) 13:31:14ID:???そんなんならmod_rewrite使えで一発なのに。
質問者として最悪な行動だと思うぞ。
0401nobodyさん
2007/06/15(金) 13:44:12ID:???つ[ シンボリックリンクはやめれ… ]
つ[ seo対策が気にならんならframeがベター ]
つ[ ベストはmod_rewrite…後はがんばれ ]
0402nobodyさん
2007/06/15(金) 13:49:11ID:???偉そうなこと言っているんじゃねーぞ!
0403nobodyさん
2007/06/15(金) 14:00:57ID:???function test($way, $inc , $math){
$result = $way + $inc + $math;
return $result;
}
}
class word{
function word($string, $string2){
$result = $string.$string2;
return $result;
}
}
$calc = new math;
$result = $calc->test(1,2,3);
echo "math : ".$result; // 6
$word = new word;
$words = $word->word('men','bou');
echo "words : ".$words; // ERROR: MISSING ARGUMENTS
上のMathではエラーはでないのですが
下のWordクラスでは Missing Arguments 1 for word::word()とか出てくるんですが、どうしてですか?
PHP5.10です。
0404nobodyさん
2007/06/15(金) 14:15:47ID:???0405nobodyさん
2007/06/15(金) 14:21:42ID:???つ[ wordがコンストラクタなのに引数がないからどうしてもやりたいなら ]
class word{
function word($string="", $string2=""){
$result = $string.$string2;
return $result;
}
}
0406nobodyさん
2007/06/15(金) 14:27:45ID:1n6QxpIgユーザーがフォームより文字列を送信、$_POST['text']に文字列が入りました。
以下のコードで文字列を表示させたいのですが、
test();
function test() {
echo $_POST['text'];
}
↑
このままでも文字列を表示することができました
test($_POST['text']);
function test($srt){}とかみたいな書き方をしなくても入ったんですけどユーザー定義関数内に値を
わたす記述をしなくてもはいったんですけどなんでですかね?
0407nobodyさん
2007/06/15(金) 14:28:13ID:???class word{
var $result;
function word($string="", $string2=""){
$this->result = $string.$string2;
}
function re(){
return $this->result;
}
}
$word = new word('men','bou');
echo "words : ".$word->re(); // ERROR: MISSING ARGUMENTS
0409nobodyさん
2007/06/15(金) 14:31:04ID:???つ[ ttp://search.net-newbie.com/php/reserved.variables.html ]
0410nobodyさん
2007/06/15(金) 14:33:56ID:XHx+Mhrp["row:protected"]に入っている配列を連想配列として取り出したいです。
aggregate_infoや(環境がPHP5なので使えなかった)
get_object_varsでは取り出せなかったのですが、どうすれば良いのでしょうか。
object(Hoge)#14 (5) {
["pdo:protected"]=>
object(PDO)#2 (0) {
}
["table:protected"]=>
string(4) "hoge"
["row:protected"]=>
array(4) {
["id"]=>
string(6) "100000"
["test"]=>
string(4) "aaaa"
["number"]=>
string(2) "80"
["check"]=>
string(0) ""
}
["constraints:protected"]=>
array(1) { ["id"]=>string(6) "100000" }
["children:protected"]=>
array(0) {
}
}
こうしたい↓
$val =array(["id"] => "100000", ["test"] => "aaaa", ["number"] =>"80", ["check"] => "",);
0411nobodyさん
2007/06/15(金) 14:48:28ID:???0412nobodyさん
2007/06/15(金) 14:53:09ID:???あっそうか。。PHP5はコンストラクタ関数があるから大丈夫なのかと思っていました。
PHP4ではコンストラクタはクラスと同じ名前にしてたんですね。互換性のためかな。
用例も見せてくれて有難う(´・ω・`) この場合 new word ですでに引数がなかったために
MissingArgumentエラーが出てたんですね。なるほど。しっかり理解できました!
0413nobodyさん
2007/06/15(金) 16:10:58ID:???先輩から日本語のファイル名の表示が文字化けするのを修正するように言われました。
どうせ文字コードの問題だろうと簡単に考えていたのですが、
うまくいかなくて困っています。
状況ですが、日本語ファイル名.pdfというファイルをアップロードすると、
ファイル名が 楔譽侫.ぅ詭?.pdf と表示されてしまいます。
これの文字コードを mb_detect_encoding で調べると SJIS となっていましたので、
ページ内容の出力の文字コードと同じ EUC-JP になるよう mb_convert_encoding で変換してみたのですが、
ワク?ユ・。・、・?セ.pdf となり、文字化けを解消できません。
また、あ.pdfというファイルの場合は、
日本語の部分がすべてなくなり、.pdf というファイル名になってしまいます。
根拠はないのですが、phpに渡った時点で、すでにファイル名がおかしくなっているように思っています。
この現象の原因や解決策を教えていただけないでしょうか。
phpは php-5.2.1 を --enable-mbstring で make したもの、
apache は 2.2.4 です。
0414410
2007/06/15(金) 16:12:09ID:XHx+Mhrpオブジェクトは$rowにもう入っていて
$row->fetchAll()とかしても、メソッドがありませんといわれるのです。
$row->idとかやればidの値は取れるのですが、カラム数が多かったりすると大変なので
0415413
2007/06/15(金) 16:13:11ID:kZwLm+ij0418nobodyさん
2007/06/15(金) 16:45:19ID:???なんか数スレ前にも同じような質問があったな。
get_object_varsとかマニュアルのUser Contributed Notesに乗ってたような気がする
0419nobodyさん
2007/06/15(金) 17:01:07ID:???キーボードについた精子を綺麗にふき取るような関数ってありますか?
0420410
2007/06/15(金) 17:08:35ID:XHx+Mhrpget_object_varsのマニュアルのUser Contributed Notesの中にあった
obj2arrayを使って、取り出すことができました!ありがとうございます。
このやり方ってすごいですね…。
強引というか何というか。
0421nobodyさん
2007/06/15(金) 17:09:29ID:???ディスプレイも庭に出して水でジャバジャバ洗って完全乾燥。
0422nobodyさん
2007/06/15(金) 17:17:19ID:???文字コードは両方ともEUC
先頭の3バイトが抜けるとそうなる
日本語ファイル名
C6 FC CB DC B8 EC A5 D5 A5 A1 A5 A4 A5 EB CC BE
楔譽侫.ぅ詭?
DC B8 EC A5 D5 A5 A1 A5 A4 A5 EB CC BE
なんで抜け落ちるのかは知らない
0423nobodyさん
2007/06/15(金) 17:20:24ID:???3fe0
とかの文字列ってなんなんだ?
0424nobodyさん
2007/06/15(金) 17:22:36ID:???取得の仕方間違ってるんじゃないか?
オブジェクトでしか見れない(しかもprotected)になってるなんて有得ない
http://jp2.php.net/manual/ja/ref.pdo.php
http://jp2.php.net/manual/ja/function.PDOStatement-fetch.php
もっかいPDOクラスの使い方ちゃんと見とき
0425nobodyさん
2007/06/15(金) 17:31:30ID:???0427nobodyさん
2007/06/15(金) 17:40:24ID:???0429nobodyさん
2007/06/15(金) 18:26:37ID:???0430nobodyさん
2007/06/15(金) 18:43:48ID:???一概には言えない
0431nobodyさん
2007/06/15(金) 18:44:23ID:???0432nobodyさん
2007/06/15(金) 18:56:49ID:???0433虚弱PHP
2007/06/15(金) 18:58:10ID:???サーバーOSは?
Fedoraとかなら日本語はUTF-8じゃない?
変換すべき文字コードはページの文字コードとは無関係だと思う。
0434nobodyさん
2007/06/15(金) 19:30:22ID:???まずjsでブラウザサイズを取得したらサーバーに送信すりゃいいだろクズ
0436nobodyさん
2007/06/15(金) 19:46:29ID:???onloadかなんかでサイズとってhiddenにでも投げとけばいいだけじゃん
0437nobodyさん
2007/06/15(金) 19:52:05ID:???0438nobodyさん
2007/06/15(金) 19:54:26ID:???0439nobodyさん
2007/06/15(金) 20:12:18ID:???こういう一方的に自己主張だけして、混乱に陥れようとしているところは、
将に日本共産党員の典型。赤は死ね。
お前らは、国家の屑だ!!!
0440nobodyさん
2007/06/15(金) 20:45:08ID:???0441nobodyさん
2007/06/15(金) 20:57:12ID:FDraLFra# (例)テーブル名に fuss を指定した場合に
# バイナリが、http://www.***.com/~user/fussbbs/fuss/bin/bin000.jpg の場合は
# $BinUrl = "http://www.***.com/~user/fussbbs/"; と指定します。
# テーブル・ディレクトリ(sample)以降は指定しません。
# → パスの最後は / で終わること
$BinUrl = "http://www.***.com/~user/fussbbs/";
↓ここをHPアドレスに書き換えるのですか
$BinUrl = "http://www.***.com/~user/fussbbs/";
0442nobodyさん
2007/06/15(金) 21:04:49ID:FDraLFra投稿するとbinってディレクトリに画像が格納されてるんですが
HPには 画像は映ってません
$BinUrl = "HPアドレス/~bin/fussbbs/"; こんな風にしてるのですが
アドバイス宜しくお願いします
0443nobodyさん
2007/06/15(金) 21:10:32ID:???0444nobodyさん
2007/06/15(金) 21:29:50ID:???0445nobodyさん
2007/06/15(金) 21:37:58ID:nxdNazxTパスの指定が間違っているのだろう
普通のHTMLでイメージが表示されるか試してみろよ
0446nobodyさん
2007/06/15(金) 21:39:02ID:FDraLFra画像が Xで写らないので 教えてほしいです
サイトはここからDLしました。詳しい人教えて下さい。。。
http://www.hero.ne.jp/~db/calmbbs.shtml
0447nobodyさん
2007/06/15(金) 21:43:34ID:FDraLFraレス式のこちらでした。
0449nobodyさん
2007/06/15(金) 21:50:32ID:FDraLFraパスの間違いですね>< すいません
0450nobodyさん
2007/06/15(金) 21:52:50ID:FDraLFraありがとう ございます。
まだ 解決してないですけど いじってみます。
また わからなかったら ここに 書き込みますので
その時は 皆さん宜しくお願いします。
0451nobodyさん
2007/06/15(金) 22:06:34ID:???え
ど う
い た し
ま
し
て
。
0453nobodyさん
2007/06/15(金) 22:27:29ID:FDraLFraありがとうございましたーーーーーー
(● ̄(エ) ̄●)(● ̄(エ) ̄●)(● ̄(エ) ̄●)(● ̄(エ) ̄●)
0454nobodyさん
2007/06/15(金) 22:27:37ID:???ねーけど
0455nobodyさん
2007/06/15(金) 22:46:24ID:???>>422
どうすればいいのかは分からないけど、basename()で同じことが起きたことがある。
/のコードで…とも思ったが、そう言う訳でもない。
理由は分からない。
あとは詳しい人お願い。
0457nobodyさん
2007/06/15(金) 23:07:22ID:???phpだけでメール送信できたりする?
0458nobodyさん
2007/06/15(金) 23:37:50ID:ZskjeWslどこかに載ってますか?
0459nobodyさん
2007/06/16(土) 00:05:39ID:???解決法じゃないけどこれ?
http://bugs.php.net/bug.php?id=37738
0460nobodyさん
2007/06/16(土) 00:05:55ID:???たくさんあるぞ
http://phpspot.net/php/man/php/ref.mbstring.html#mbstring.supported-encodings
0461nobodyさん
2007/06/16(土) 00:10:24ID:MziDa52yUTF-8ってないんですか?
0462nobodyさん
2007/06/16(土) 00:21:46ID:???そんな糞サイト参考にしちゃダメ
http://jp.php.net/manual/ja/ref.mbstring.php#mbstring.supported-encodings
■ このスレッドは過去ログ倉庫に格納されています