【PHP】ID出さなくても質問OKなスレ【初心者歓迎】
レス数が900を超えています。1000を超えると表示できなくなるよ。
0001nobodyさん
2009/02/03(火) 01:09:36ID:???PHPで最良の教本はこの公式マニュアル。市販の書籍は嘘が多いので鵜呑みにしない。
過去スレ、関連スレ、FAQなどは>>2-10辺り
次スレは>>980が立てる。10分以内に立たない場合、宣言してから立てたい人が立てること。
0810nobodyさん
2009/08/12(水) 21:21:14ID:???phpとtplの文字コードはEUC-JPで、tplの出だしは
<HTML lang="ja">
<HEAD>
<META HTTP-EQUIV="Content-type" CONTENT="text/html; charset=EUC-JP">
となっています。
そいやphpで書いてた時も同じものをprintしたんじゃだめで、
header( "Content-Type: text/html;charset=EUC-JP" );
と書かないと文字化けしたんですけど、関係あるでしょうか?どうやって解決すればいいんでしょう。
0811nobodyさん
2009/08/12(水) 21:23:16ID:???mbstring.internal_encoding = EUC-JP
になっています。
0812nobodyさん
2009/08/12(水) 21:27:49ID:???ブラウザでエンコーディングを日本語:EUC-JPに指定すると文字化けが直ります
日本語:自動判別にすると文字化けします
0813nobodyさん
2009/08/12(水) 21:56:23ID:???0814nobodyさん
2009/08/12(水) 22:01:02ID:???ブラウザに送られるHTTPヘッダの情報に異なった文字コード宣言が入っているため
FirefoxはHTTPヘッダとHTML文書に異なる文字コードが宣言されている場合、HTTPヘッダを優先する
header()はHTTPヘッダを送信する関数のため、header()を利用した場合は再現しない
0815nobodyさん
2009/08/13(木) 01:01:40ID:???0816nobodyさん
2009/08/13(木) 10:20:29ID:???0817nobodyさん
2009/08/13(木) 21:55:45ID:???バージョンによってはないものなんでしょうか?追加するとしたらどこにすればいいんでしょう。
ぐぐって出てくる解説では最初から入っていることが前提となってるっぽいですが。
0818nobodyさん
2009/08/13(木) 21:59:48ID:???こりゃあきらめるしかないか。
0819nobodyさん
2009/08/15(土) 14:05:38ID:???「○○さんから届いたよ」っていうメッセージが
デスクトップに表示されるっていうプログラムを作りたいんですが、
「メッセージを受け取った時に実行する」にはどうしたらいいんでしょう?
0820nobodyさん
2009/08/15(土) 14:22:52ID:???マルチ?
0821nobodyさん
2009/08/17(月) 17:42:19ID:YF5t01fc0822nobodyさん
2009/08/17(月) 17:47:12ID:???ぼく18歳未満なのでこれ以上調査できません><
0823nobodyさん
2009/08/18(火) 10:55:27ID:4md56gGq<?php
$test="てすと";
?>
<html><body>
<?=$test?>
</body></html>
これが表示されるサーバーと表示されないサーバがあるのですが、
どういう理由で違いが出るのでしょうか?
どこかサーバー側の設定が違うのでしょうか?
宜しくお願いします。
0825nobodyさん
2009/08/18(火) 11:14:03ID:4md56gGqありがとうございました。
無事、表示できるようになりました。
0826nobodyさん
2009/08/18(火) 15:33:36ID:???オフにしたほうがいい。
もし開発環境で、オンで、
そのまま開発して、
それでもし本番がオフだったら、
書いたコードがPHPとして
実行されずに、ソースが丸見えになる。
0827nobodyさん
2009/08/18(火) 15:36:44ID:???連れとか中間と、いっしょに、連合組んで
関東を統一することである。
学校出たら、トオルんとこの溶接、手伝って
金ためてアストロか、シーマを、迷ってるが買って、
単車も改造して、バリバリいい音出して走る。
俺は、ずっと将来現役で、走り続ける事が、夢である。
これ思い出した
0828nobodyさん
2009/08/18(火) 19:47:38ID:???こういう場合php.ini全文をupするものなのか、それとも変えたい部分だけを
log_errors = On
みたく書いてそれだけをphp.iniの名前でupするものなんでしょうか
0830nobodyさん
2009/08/19(水) 13:19:33ID:rHPCm5Kh【OS名】 linux
【PHPのバージョン】php5.1.6
【WEBサーバ】 Apache
【質問内容】
function send_to_smart($data1, $data2 ,$mode){
//パターン1
if($mode+0 == 0){
$request = "GET /aaaaa/?data1=".$data1."&data2=".$data2."HTTP/1.0\r\n\r\n";
send_request($request);
//パターン2
}elseif($mode+0 == 1){
$request = "GET /bbbbb/?data1=".$data1."&data2=".$data2."HTTP/1.0\r\n\r\n";
send_request($request);
}
$fp = fsockopen("*****.jp",80);
fputs($fp, $request);
while (!feof($fp)) {
$line .= fgets ($fp,128)."\n";
}
fclose ($fp);
}
上記の感じでソケット送信のプログラムを作ってます。
・パターン1と2で別々にデータを送信してる
・2回とも情報送ってるはずなのに、受け取り側ではパターン1しか受け取れてない。
・パターン2はデータが入っていないのではなく、リクエスト自体が来ていない。
・2回ともレスポンスは取れている。ソケットオープンも問題なし。
パターン2で送れない理由がさっぱりわかりません。
これで、なんか原因や解決策判ったりしますか?
0831nobodyさん
2009/08/19(水) 13:22:35ID:???0832nobodyさん
2009/08/19(水) 13:24:22ID:???0833nobodyさん
2009/08/19(水) 14:29:22ID:???$mes ="
<html>
<head><title>aaa</title></head>
<body>aaa</body></html>";
echo $mes;
?>
たったこれだけのスクリプトがFirefoxでだけエラー起こす鯖があるんだけどなんでだろう
アドオンは当然全部切った
↓エラーメッセージ
501 Method Not Implemented
GET to /test.php not supported.
Additionally, a 404 Not Found error was encountered while trying to use an ErrorDocument to handle the request.
0834nobodyさん
2009/08/19(水) 14:36:00ID:???0835nobodyさん
2009/08/19(水) 14:38:06ID:???0836nobodyさん
2009/08/19(水) 14:57:27ID:???クッキー消したらうまくいった
クッキーなんて使ってないスクリプトなのになんでだろ・・・
0837nobodyさん
2009/08/20(木) 01:28:48ID:???相手から302が返ってくると遷移先にGETで送ってくれやがります
POSTで再送できないの?
0838nobodyさん
2009/08/20(木) 09:59:34ID:???0839nobodyさん
2009/08/20(木) 23:15:54ID:???「POSTして302が返ってきたら遷移先にもPOSTで送れって書いてあるのに
誰も守ってくれなかったから仕方なく303と307作った」
って読めるんだが違うの?
その本来の302の動作をさせたかったんだが。
とりあえずZend_Httpのstrictredirectsでできるのはわかったんだが、できれば標準関数で行いたかった。
0840nobodyさん
2009/08/21(金) 15:54:18ID:???それで、どのPHPファイルが読み込まれるのかを調べたいんですけど、そのような機能はPHPにありますか。
つまり require_once() した時にそのファイル名をログファイルに出力させたりとか、そういうかんじの機能です。
よろしくお願いします。
0841nobodyさん
2009/08/22(土) 03:08:28ID:???・配列のぐろーばる変数をつくる
・あらゆるPHPファイルの戦闘でグローバル変数に自分のファイル名を追加させる
・最後辺りで print_r する
0842770
2009/08/22(土) 03:44:58ID:???使ったこと無いけど、inclued_get_dataはどう?
マニュアル見た感じ、取得出来そうなきがする
http://jp.php.net/manual/ja/intro.inclued.php
0843nobodyさん
2009/08/22(土) 12:27:40ID:???全ファイルの先頭に追加するならそんなことしなくてもecho __FILE__すればいいだけじゃないのか・・・
0844nobodyさん
2009/08/24(月) 00:53:18ID:???画面からファイル(画像)がアップロードされた場合に
http://test/img/test.jpg
という風にファイルを保存しています。
また、ファイルがアップロードされたタイミングでファイルの権限を640に設定し
そのままでは外部からアクセス出来ない様に設定しています。
ここで質問なのですが、A.phpのページにパスワードを入力しそのパスワードが
正しい場合のみそのクライアントからは、アップロードされたファイル(ここでは、 test.jpg )に
アクセス出来る様にしたいのですが何か良い方法はありますか?
0845nobodyさん
2009/08/24(月) 01:29:01ID:???コード上の認証と絡めるなら、画像のURLをPHPにして、
パラメータでどの画像か判別させればいいのでは。
PHPからは、image なんちゃらの content-type ヘッダを
吐き出して、そのあとバイナリを送ればいいだけ。
0847nobodyさん
2009/08/24(月) 06:22:07ID:???0848nobodyさん
2009/08/25(火) 00:24:14ID:???test.jpg を、ブラウザからはアクセスできないフォルダに置く。
(できないサーバーもある)
それで、phpから、そのjpgを呼び出して表示するように
すればよい。
1.phpにアクセスすると、
その1.phpが、test.jpgを呼び出す感じ。
直接test.jpgにブラウザからはアクセスできない。
それで、1.phpに、パスワード認証をかけておいて、
パスワードが一致したら、ログイン成功、にして、
セッションでその情報をもちまわせばよい。
0849nobodyさん
2009/08/25(火) 14:05:57ID:???プログラミングはvbとhtmlしか経験ありません
0850nobodyさん
2009/08/25(火) 14:11:57ID:???技術的にはCometとかになるだろうから
インフラ的に無理
自鯖使うならいいけど
難易度的には難しくはないしその辺にサンプルも転がってるだろう
0851nobodyさん
2009/08/25(火) 14:22:31ID:???0852nobodyさん
2009/08/25(火) 14:26:06ID:???0853nobodyさん
2009/08/25(火) 14:31:29ID:???ありがとうございます
インフラなら問題ありません
vbでLAN上のチャットなら作ったことがあるので
ほかの言語で作り直すのはどのくらい難しいのか
経験者の方からみてやめておいたほうがいいのかをご助言いただけるとうれしいです
0854nobodyさん
2009/08/25(火) 14:40:32ID:???PHPでデータ受けて返すのを作れば
完成なんじゃないか
0856nobodyさん
2009/08/26(水) 00:56:09ID:???0857nobodyさん
2009/08/26(水) 05:55:55ID:???やりたいこと: 自分のホームページ上からヤフオクへログイン。
現状: mixiへのログインは出来たのですが、ヤフオクが出来ずに躓いてます。
mixiへログインすると正常にcookieも書き出してくれるのですが、
ヤフオクへアクセスを試みると Empty reply from server というエラーを
吐いてしまいます。もちろんcookieも書き出してくれません。
何かアドバイスを頂けると非常に助かります。m(__)m
(長くなるのでスクリプトは次レスで。)
0858857
2009/08/26(水) 05:57:44ID:???スクリプト:
<?php
// POSTデータ準備 hiddenで送ってるデータが非常に多いので視認性のため一部割愛
$post_data[".u"] = "2c2vi55595i07";
$post_data[".v"] = "0";
$post_data[".challenge"] = "bwDQLWdW58F9ZAsaWVZwpkkumuzc";
$post_data["hasMsgr"] = "0";
$post_data[".chkP"] = "Y";
$post_data[".done"] = "http://auctions.yahoo.co.jp/jp";
$post_data[".protoctl"] = "" ;
$post_data["login"] = "MYID";
$post_data["passwd"] = "MYPASSWORD";
$post_data[".persistent"] = "y" ;
0859857
2009/08/26(水) 05:59:10ID:???$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, "https://login.yahoo.co.jp/config/login?");
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, FALSE);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $post_data);
curl_setopt($ch, CURLOPT_COOKIEFILE, "cookie.txt");
curl_setopt($ch, CURLOPT_COOKIEJAR, "cookie.txt");
$result = curl_exec($ch);
if ($result === false) {
// エラーが発生した場合の処理(現在ここでエラーを吐きだして終了する。)
print curl_error($ch);
exit();
}
// ログインが成功してたらトップページへ接続
curl_setopt($ch, CURLOPT_URL, "http://auctions.yahoo.co.jp/jp/");
$result = curl_exec($ch);
curl_close($ch);
//取得結果を出力する。
echo $result;
?>
以上です。
0860nobodyさん
2009/08/26(水) 06:10:12ID:???0862nobodyさん
2009/08/27(木) 16:53:40ID:pMvyOdS/$_SERVERや$_GETに入ってますか?
$_SERVER['PHP_SELF']や$_SERVER['QUERY_STRING']では取得できなかったのですが
他に何かあれば教えてください;;
0863nobodyさん
2009/08/27(木) 16:56:20ID:???0864nobodyさん
2009/08/27(木) 16:58:32ID:lv8pbWG8REQUEST_URIとか
つか$_SERVERとか$_GETとか定義されてるもの全部確認してから質問しろよ
http://www.php.net/manual/ja/reserved.variables.server.php
0865nobodyさん
2009/08/28(金) 15:57:06ID:???取り出した元ハッシュからは、その一番目のデータを取り除きたいです。
ベタに書くとこんな感じですが、
もっとかっこよく書けないでしょうか。
$array = array(
'a'=>'100',
'b'=>'200',
'c'=>'300',
);
list($data, $array) = foo($array);
print_r($data); // array('a'=>100)
print_r($array); // array('b'=>200, 'c'=>300)
function foo($array) {
$new_array = array();
$line = 0;
foreach ($array as $key=>$value) {
if ($line == 0) {
$data[$key] = $value;
$line++;
continue;
}
$new_array[$key] = $value;
}
return array($data, $new_array);
}
0867865
2009/08/28(金) 16:10:54ID:???function hash_shift($array) {
list($key) = array_keys($array);
$data[$key] = $array[$key];
unset($array[$key]);
return array($data, $array);
}
>>866
4点。
0868nobodyさん
2009/08/28(金) 16:13:02ID:???$array = array_slice($array, 1);
0870名無しさん@そうだ選挙に行こう
2009/08/30(日) 16:02:47ID:???日本語フォルダに対応してくれる神はいませんか?
http://popilol.lolipop.jp/NiconicoPHP/pipipiga.html
http://popilol.lolipop.jp/NiconicoPHP/faq/body.php?no=4
どうもmb_convert_encodingを使えばできるらしいのですが、
PHP作ったことないのでさっぱり。
0871名無しさん@そうだ選挙に行こう
2009/08/30(日) 16:15:21ID:???にすればおk
0872nobodyさん
2009/08/31(月) 14:00:08ID:???厳密に言うとPHPではないのかもしれませんが、<a name="〜〜">でのアンカーリンクが上手く動作しません。
header("Location:〜〜")でページをジャンプさせるのですが、その際にPHPSESSIDと共に#でページ内アンカーに飛ばしています。
ところが、まったく同じURLにジャンプさせているのにもかかわらず、機種やジャンプさせるボタンによってページ内アンカーに
飛んだり飛ばなかったりで、条件がよく分かりません。
飛ばしたいところのソースは、
<a name="face" id="face"></a>
となっていて、ジャンプさせるコードは、
header("Location:hogehoge.php?guid=ON&SSID=〜〜&".SID."#face");
となっています。
header("Location:")は、aタグのページ内アンカーに対応していないのかとも思いましたが、
場所によっては飛んでくれるところもあるので、そうではないようです。
ちなみにXHTMLで組んでいるので<div id="face">とやってみましたが、これでもジャンプしてくれませんでした。
一体何が原因なのでしょうか?
0873nobodyさん
2009/08/31(月) 14:01:41ID:???ドコモで試したところ、header("Location:")内の#以降がスッパリとなくなっていました。
ドコモでは対応していないようですね・・・。
0874nobodyさん
2009/08/31(月) 14:02:28ID:???0875nobodyさん
2009/08/31(月) 14:21:09ID:???auでは#以降はキチンと転送されているものの、ジャンプしてくれません。
0876nobodyさん
2009/08/31(月) 14:34:02ID:???0877nobodyさん
2009/08/31(月) 14:34:29ID:???0879nobodyさん
2009/08/31(月) 14:40:52ID:???0880nobodyさん
2009/09/01(火) 12:42:16ID:???0882nobodyさん
2009/09/02(水) 10:09:20ID:???で、今PHPのインストール設定のところで迷っているのですが、php-5.2.10-Win32.zipをダウンロードし、C:\phpに展開しました
その後php.ini-distをphp.iniに名前変更してWindowsディレクトリに入れました
その次の事が良く分からないのですが、このphp.iniの内容を書き換えろというのは、例えば自分でメモ帳やらTeraPadで書き換えろという事なのでしょうか?
それと、本に「extension_dir="c:/php/ext"」と書かれているのですが、コレはphp.ini内で検索して出てくる「extension_dir = "./" 」という部分を書き換えればいいのでしょうか?
また、自分は「独習PHP」を参照にしているのですが、このサイト(http://y-kit.jp/saba/xp/phpsetup.htm#down)やこのサイト(http://www.phpbook.jp/install/phpini/index.html)で、書かれている事などが違います
いったいどれを参考にし、どういうような書き換えをするべきなのでしょうか?
教えていただければ幸いです
0883nobodyさん
2009/09/02(水) 10:16:57ID:???俺が初心者にPHPを伝授する
http://pc11.2ch.net/test/read.cgi/php/1167984858/
0885nobodyさん
2009/09/02(水) 10:24:27ID:???他のサイトのは貴方の環境には合いませんから違います。
0886nobodyさん
2009/09/02(水) 10:31:33ID:???返答ありがとうございます
思っていたよりもPHP導入って難しいんですね
PHP学習するよりも何か導入の方が時間かかっている気がします(苦笑)
第1章がなかなか先に進みません・・・
0887nobodyさん
2009/09/02(水) 11:57:26ID:???上記のスレの>>1から続く設定方法を見てやってみたのですが、
>>13のPHPの設定で、Apachewo再起動したところ、httpd.confの「LoadModule php5_module C:/php/php5apache2.dll」がEroorになり、
「php5apache2.dll」がload出来ないと出ました
色々とやってみたのですが出来ません
いったいどこの設定が間違っているのでしょうか?
教えてください
0888887
2009/09/02(水) 12:10:26ID:???0889nobodyさん
2009/09/02(水) 12:17:27ID:???0891nobodyさん
2009/09/02(水) 19:44:10ID:???を実行しても、/usr/local/bin/php がインストールされません。
(--prefixはちゃんと/usr/localになっています。)
以前はこれでうまくいっていたはずなのに。
何が原因かわからないのですが、心当たりのあるひとがいたら教えてください。
PHP5.2.10, MacOS X Snow Leopard
0892nobodyさん
2009/09/03(木) 01:24:57ID:???基本的すぎて?解説書に書いてない
0893nobodyさん
2009/09/03(木) 01:39:12ID:???print "1 $hoge";
print '2 $hoge';
->出力
1 ほげ
2 $hoge
-----------------------------------------
速度的には ""の中に変数を書くのではなく、
print "1 ". $hoge;
とするのが早いらしい。
0894nobodyさん
2009/09/03(木) 02:39:30ID:???まあソースを追えばわかるんだろうけど。
0895nobodyさん
2009/09/03(木) 02:53:32ID:???�d
すみません、質問の仕方が不適切でした。
その違いはわかるのですが、シングルでもダブルでも動作に違いがない場合
どちらを使うかは全くどうでも良いことなのでしょうか?
具体的には、
$hoge['name']と書くか
$hoge["name"]と書くか悩んでる。現在統一されてなくてバラバラなので気になって。
0896nobodyさん
2009/09/03(木) 03:41:35ID:???書き方が悪かった、
print "1 ". $hoge;
print '2 '. $hoge;
とやった際のスピードは殆ど変わらない
ダブルで変数が書かれていた場合、変数を呼び出す際に遅いということ。
>>895
シングル・ダブル、どちらでもかまわないが、文字+変数などでキーを指定する場合は
$hoge[ "As$num" ] ではなく、
$hoge[ "As".$num ] とやった方がいい
0897nobodyさん
2009/09/03(木) 04:58:16ID:???PERLだとシングルで囲むと不具合の出る日本語(カタカナのソとかだったような)があったけど、
PHPではその心配はしなくて良いのでしょうか?
0898nobodyさん
2009/09/03(木) 15:35:06ID:???これtwitterAPIがかなり不完全で辛いのだけど、他に使えそうなのないだろうか。
自作したほうがかゆいとこに手が届くのは確かだけど
既存のがあるのならそっち流用したほうが手間省けるし。
twitterのbotやツール関連スレないかと探してみたもののないっぽいね。
0899nobodyさん
2009/09/03(木) 21:13:27ID:???1.7.2
MySQLを起動しているのに、
XAMPPの「ステータス」の画面では、
MySQL 起動していない
って表示されます。なんで?
起動していることの検出に
失敗している?
0900nobodyさん
2009/09/03(木) 21:14:46ID:???0901nobodyさん
2009/09/03(木) 21:27:49ID:???0902nobodyさん
2009/09/03(木) 21:43:26ID:???0903nobodyさん
2009/09/03(木) 21:52:33ID:???チュートリアルどおりに正常にインストールが完了していれば
問題なく使えるようになっているはずだが
なんか余計なことした?
0904nobodyさん
2009/09/03(木) 21:55:43ID:???ってのに、遭遇したんだが、
これってどこから設定するの?
0905nobodyさん
2009/09/03(木) 21:59:37ID:???1.phpinfoのタイプミス
2.PHP不可のサーバー使っている
3.その他こっち参照ttp://74.125.153.132/search?q=cache:GpgepT72DysJ:sakaguch.com/pastbbs/0033/B0016626.html+php.info&cd=1&hl=ja&ct=clnk&lr=lang_ja
0906nobodyさん
2009/09/03(木) 22:07:05ID:???それは使えません」
って英語で出てきた。
0907nobodyさん
2009/09/03(木) 22:11:20ID:???これってphpだとダメなんだね。
0908nobodyさん
2009/09/03(木) 22:16:03ID:???レス数が900を超えています。1000を超えると表示できなくなるよ。