【PHP】下らねぇ質問はここに書き込みやがれ 53
■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん
2007/08/25(土) 22:11:08ID:???PHPで最良の教本はこの公式マニュアル。市販の書籍は嘘が多いので鵜呑みにしない。
過去スレ、関連スレ、FAQなどは>>2-10辺り
◆前スレ
【PHP】下らねぇ質問はここに書き込みやがれ 52
http://pc11.2ch.net/test/read.cgi/php/1186794483/
◆質問する時の注意
・ 自分のIDを表示させること。(メール欄に何も記述しないこと。空白も入力しちゃダメ)
・ サーバーのOS(Linux、Windows他)、WebサーバーとPHPの種類やバージョン等を明記すること。
・ 己の行った操作、変更などを詳しく明記すること。
・ エラーメッセージはそのまま表記すること。「エラーが出ます」だけでは回答不可。
・ 質問者として、態度をわきまえること。
・ 事前に公式マニュアル、リファレンス本くらいはちゃんと目を通しておくこと。
◆質問後の注意
・偽者防止に必ずIDを表示させること。(メール欄に何も記述しない)
・2回目以降は最初に質問した際のレス番号を名前欄に入れること。
・解決しなくても回答をもらった場合はお礼を言うこと。
(荒らし、煽りは除く。煽られたときも、無闇に反論せずスルーすること。)
◆回答者への注意
・誰にレスしているのか分からないと困るので、>>(アンカー)をつけて回答すること。
【その他諸注意】
・正規表現・PEAR・テンプレート(Smarty等)・フレームワークは各該当スレへ
・SQLについての質問はデータベース板(PCカテゴリ)の各スレで
0639nobodyさん
2007/09/03(月) 01:18:47ID:KucjbbQWktouroku3.php
はrequireをコメントアウトしないとでてこない。
ほかはでてきます。
0641nobodyさん
2007/09/03(月) 01:20:35ID:???DBのGRANT設定を間違ってるとかいう落ちじゃないだろうな。
ktouroku3.phpの
<a href=./kensaku.php>戻る</a><br>
下記のとおりに登録しました。<br><br>
の下辺りに
<?php echo pg_last_error($con); ?>
って1行入れたら何かエラーメッセージが出てこないか?
0642nobodyさん
2007/09/03(月) 01:23:03ID:???requireをコメントアウトしてちゃDBへの登録は絶対できないだろ…。
ktouroku2.phpの
require('./include/init.inc');
の行を
$con = pg_connect("dbname=touroku");
と差し替えたらどうなる?
0644nobodyさん
2007/09/03(月) 01:27:15ID:KucjbbQWこれの意味がわからんくて。
教えてください。
nobodyとかよくわからないんです。
grant allon kaiin_id to nobodyの意味がわかりません。
入れてないのですが.....
これの説明がなかったんです。
これが原因でしょうか?
0646nobodyさん
2007/09/03(月) 01:32:40ID:KucjbbQWなんにも表示されなかった。
0647nobodyさん
2007/09/03(月) 01:33:19ID:KucjbbQW0649nobodyさん
2007/09/03(月) 01:48:59ID:KucjbbQWでも表示されません。
なんででしょうか?
0650nobodyさん
2007/09/03(月) 01:57:20ID:???まあ自分しか触らない奴だからいいか。
0651nobodyさん
2007/09/03(月) 01:58:50ID:???<html>
<?php
$con = pg_connect("dbname=touroku");
var_dump($con);
$sql = "insert into kaiin_table (kaiin_id,company,name,address,tel,email,password) values('1', '2', '3', '4', '5', '6', '7')";
$res = pg_query($con, $sql);
var_dump($res);
echo pg_last_error($con);
$sql = "select * from kaiin_table";
$res = pg_query($con, $sql);
echo pg_num_rows($res);
?>
これ実行したらどんな内容が表示される?(pg_connectのとこはパスとか直せよ)
0652nobodyさん
2007/09/03(月) 02:15:13ID:KucjbbQWです。
0653nobodyさん
2007/09/03(月) 02:24:44ID:???DBの接続からして失敗してる。
<?php
$con =pg_connect("dbname=touroku");
if($con){
print "DB接続成功"
}else{
print "DB失敗"
}
?>
これで接続成功って出るんじゃなかったのか?
あーもー、最初からやり直し!
<html>
<?php
ini_set('display_errors', 1);
error_reporting(E_ALL);
$con = pg_connect("dbname=touroku");
var_dump($con);
echo pg_last_error($con);
?>
これで何かエラーメッセージは出てこないか?
0654nobodyさん
2007/09/03(月) 02:33:33ID:KucjbbQW0655nobodyさん
2007/09/03(月) 02:35:15ID:???0656nobodyさん
2007/09/03(月) 02:59:45ID:???0657nobodyさん
2007/09/03(月) 03:04:33ID:???pg_connectのパラメータ内容を改めて再考すれ。
っつーか、コマンドラインのクライアントからは接続できてんの?これ。
0658nobodyさん
2007/09/03(月) 03:17:51ID:KucjbbQW接続できてない。
でもDB
<?php
$con =pg_connect("dbname=touroku");
if($con){
print "DB接続成功"
}else{
print "DB失敗"
}
?>
はOKと出る。
なぜだ?
0659nobodyさん
2007/09/03(月) 03:20:58ID:???0660nobodyさん
2007/09/03(月) 03:23:32ID:???var_dumpの結果の方を信用するのが吉。
0661nobodyさん
2007/09/03(月) 03:30:18ID:KucjbbQW$con =pg_connect("dbname=touroku");
if(!$con){
print "DB失敗"
}else{
print "DB成功"
}
?>
を動かすと接続成功って出る
0662nobodyさん
2007/09/03(月) 03:47:03ID:Fj5tywcDこれは放っておいても、有効期限が過ぎれば勝手に消えるものなのでしょうか?
0664nobodyさん
2007/09/03(月) 04:42:03ID:KucjbbQWエラーになった。
DBの根本的にだめなのかもしれないな。
でもまずDBを作る前にモジコードをEUCにして
テーブルを作るinsertで入力していくのだが
invalid byte sequence for encoding "EUC_JP": 0xe988
というエラーが出ます。
0665nobodyさん
2007/09/03(月) 04:53:17ID:???\xe9\x88 == '驤' // SJIS
DBの根本的にだめなのかもしれないことより
自分が何してるか根本的にわかってないことのだめなのかもしれないね。
// 何語なんだ?
0666nobodyさん
2007/09/03(月) 05:37:34ID:KucjbbQWなんだが、それをeucに直してDBを入れていく様式
にしている。
根本的に間違っているのか、どう勉強していけばいいのだろうか?
eucとshiftjisの区別がわからないんだ。
0667nobodyさん
2007/09/03(月) 05:51:43ID:KucjbbQWこうするんだよ。とかあれぜひお願いします。
たぶん全部わかっていないと思うんですが、
ぜひご教授をお願いします。
0669nobodyさん
2007/09/03(月) 06:13:11ID:???だいぶそれてるし
0670nobodyさん
2007/09/03(月) 06:26:48ID:KucjbbQW今から寝ようとおもうので、ここが違うよとか
あれば至急直すので、わかった人コメントください。
0671nobodyさん
2007/09/03(月) 06:45:45ID:KucjbbQW俺のはUTF8でうまく入力できないんだが....
0672nobodyさん
2007/09/03(月) 07:05:20ID:KucjbbQW俺のはUTF8なんだが、
それを無理やり変換してEUCで入力しようとすると、
invalid byte sequence for encoding "EUC_JP"
のエラーがでます。
0673nobodyさん
2007/09/03(月) 07:23:58ID:KucjbbQW方ありがとうございます。
また、意見くれた方もなんとかしたい一身でお礼の言葉
も忘れてしまいました。
立て方等ミスがありましたが、もう少しだけ教えてください。
よろしくお願いします。
0674nobodyさん
2007/09/03(月) 11:44:43ID:???環境変数を使うとき
$ua = $_SERVER['HTTP_USER_AGENT'];
if(!preg_match('/hoge/',$ua))
というように一度$uaなどに代入して使っている場合が多いですが
そのまま
if(!preg_match('/hoge/',$_SERVER['HTTP_USER_AGENT']))
としない理由があるのでしょうか?
0675nobodyさん
2007/09/03(月) 11:46:04ID:ipYR2CKm0676nobodyさん
2007/09/03(月) 11:50:07ID:???多分メンテナンスとかのためじゃないかな。
たとえば、$uaに任意の値を入れてテストしたいときとか、
手間が多少違う
これはスタイルの問題だから、気にくわなければ従わなければいいだけ。
0677nobodyさん
2007/09/03(月) 11:52:17ID:???分かりやすい変数名を
タイピングの減少
くらいか?
特にこうしなければならないってわけじゃないがやると少し幸せになれるかもしれないおまじない
>>675
比較演算子
0678nobodyさん
2007/09/03(月) 12:59:28ID:ipYR2CKm>比較演算子
これって英語にすると?
0679nobodyさん
2007/09/03(月) 13:00:54ID:ipYR2CKm0680nobodyさん
2007/09/03(月) 14:24:38ID:???PHPマニュアルで比較演算子のページを英語にしたら
Comparison Operators
だったよ
PHP5.2.4が出てた
0681nobodyさん
2007/09/03(月) 14:36:42ID:???javascriptを入れるとエラーになります。どうすればいいですか
0682681
2007/09/03(月) 14:53:02ID:???0686nobodyさん
2007/09/03(月) 15:07:30ID:9rbjiygjメールを送り、特定のアドレスに送られたメールをhoge.phpに渡し処理させるというのを
してみたいのですが、Sendmailの設定をどのようにすれば良いのでしょうか?
Sendmailは「/usr/sbin/sendmail」のパスで通っていて使えるようです。
他に何か調べるようなことはありますでしょうか。
0687686
2007/09/03(月) 15:10:03ID:9rbjiygj.forwardが使えないといけないと聞いたのですが、これが使えるかどうか調べる方法はありますか?
0688nobodyさん
2007/09/03(月) 15:27:27ID:5z4DsU1G何か良いライブラリのようなものはありますでしょうか?
同梱したいので、ライセンスフリーのもの(大体そうなのかな?)がいいんですが・・・。
0689nobodyさん
2007/09/03(月) 16:09:28ID:???エラー文にはなんて書いてあるの?
おそらくそれで全て解決するんでない?
>>687
メール受信時の転送先をコマンド実行のPHP書けばOK
.forwardは鯖缶にきくのが一番早い
0690nobodyさん
2007/09/03(月) 16:11:26ID:9rbjiygj使い方は.htaccessと同じような感じでいいのですね
有難うございます
0692nobodyさん
2007/09/03(月) 16:25:27ID:???PHPのページをブラウザ(IE6/火狐)で開くときに、まれに30秒〜60秒待たされます。
サーバの設定が悪いのでしょうか。ご存知の方、お願いします。
-環境-
PHP 5.2.3 ソースからコンパイル
Apache 2.0.54
Oracle xe client 10.2.0.1
OS Debian sarge
設定 ほぼ初期値
0693nobodyさん
2007/09/03(月) 16:30:17ID:???0694nobodyさん
2007/09/03(月) 16:31:17ID:3A8ZdpHH0695nobodyさん
2007/09/03(月) 16:32:15ID:???ttp://sourceforge.jp/projects/mbemulator/
こいつはGPLなのでライセンスフリーじゃないけど。
0696nobodyさん
2007/09/03(月) 16:54:06ID:???while (!@mkdir(DE_LOCKFILE))
mkdirが成功するまでループするという意味らしいことは分かるのですが
@は何ですか。どういう意味があるんですか?
php @ で検索しても要領を得ないので教えてください
0698696
2007/09/03(月) 17:03:28ID:???マニュアルに書いてました
0700nobodyさん
2007/09/03(月) 17:13:26ID:???0701nobodyさん
2007/09/03(月) 17:27:07ID:???0702nobodyさん
2007/09/03(月) 17:43:59ID:???0703nobodyさん
2007/09/03(月) 17:52:32ID:???HTTP_Download あたりで
FTPサーバのデータを
直接ブラウザからダウンロードできるようにできないでしょうか。
現在は、
ftp_get で一旦サーバにダウンロードしてから
それをHTTP_Download で指定してダウンロードしてます。
ファイルを一旦サーバに落として、
ではなく、あくまでPHPはデータを
左(FTPサーバ)から右(ブラウザ)へ受け流す、
という感じでいきたいのです。
0705nobodyさん
2007/09/03(月) 17:54:51ID:???0706nobodyさん
2007/09/03(月) 17:55:43ID:7Ly2K7mTHTTP_Download あたりで
FTPサーバのデータを
直接ブラウザからダウンロードできるようにできないでしょうか。
現在は、
ftp_get で一旦サーバにダウンロードしてから
それをHTTP_Download で指定してダウンロードしてます。
ファイルを一旦サーバに落として、
ではなく、あくまでPHPはデータを
左(FTPサーバ)から右(ブラウザ)へ受け流す、
という感じでいきたいのです。
0707nobodyさん
2007/09/03(月) 18:05:50ID:kOE1ZsUiタイトルと文の2つのフォームがあって、提出ボタンを押すと
自動的に毎回タイトル.txtを作るにはどう書いたらいいんでしょうか?
0708nobodyさん
2007/09/03(月) 18:10:02ID:???とりあえずどの程度まで出来ているのか書け
$name = "自動的に毎回タイトル.txt";
fopen($name, "w");
0709nobodyさん
2007/09/03(月) 18:10:48ID:???0710nobodyさん
2007/09/03(月) 18:20:02ID:9rbjiygj#Smartyクラス用の定義
$smarty->template_dir = "テンプレートフォルダ";
$smarty->compile_dir = "コンパイルフォルダ";
$smarty->cache_dir = "キャッシュフォルダ";
と書いてあるのですが、各フォルダが見つかりません
自分で作成するものなのでしょうか?
0712nobodyさん
2007/09/03(月) 18:27:06ID:kOE1ZsUi今作っているのは、post.phpで、上の2つのフォームがあって
提出すると、タイトル(例:今日の晩御飯)に.txtをつけたファイルが
自動的にサーバーのfilesの中に作られる。
そして、次に作りたいのがメイン画面(index.php)で。それぞれのファイルへのリンクが表示され、
クリックするとその記事のみが表示される(archive.php)。
メイン画面にはその他にも最新の記事10個が上から順番に表示され、その下にはpost.phpへのリンクがある。
post.phpは最初からファイルを作っておけばそこに追加できるんですが、新しいファイルを記事ごとに
作る方法がわかりません。
そして、index.phpはデザインはできるんですが、postへのリンクと、archive.phpへのリンクの作り方が今いち。
結局ほとんどわかってないんですが、海外なもので日本語の本を探せず、困ってます。
0714nobodyさん
2007/09/03(月) 18:30:27ID:???FTP関数じゃムリじゃないかな。
curlならいける。
HTTP_Download を使うのもAPI的にムリっぽい。
でも中身のファイルを読む部分をオーバーライドすりゃいいだけだね。
ていうか、単純にHTMLリンクをつかえばいいと思うが。
0715nobodyさん
2007/09/03(月) 18:38:26ID:???post.phpにフォームがあるんです。
そしてフォーム入力して送信すると、2つあるフォームのうち
タイトルがファイル名の.txtの前に自動的に行くようにしたいんです。
しかも、毎回送信するたびにタイトル.txtは作られます。
0716nobodyさん
2007/09/03(月) 18:40:28ID:???もっと一般化して質問しろ。
0717nobodyさん
2007/09/03(月) 18:41:26ID:???とりあえず質問している間は常にID出しておけ
post.phpからどこにフォームのデータを送信するの?
タイトルがファイル名意外の.txtは作れるの?
ってか、ファイルを作る方法知ってるなら名前自分で決めてるの知ってるよな
0718nobodyさん
2007/09/03(月) 18:42:47ID:EPVlEXdmibase_fetch_object で BLOB を含む SQL を実行すると、
Warning: ibase_fetch_object() [function.ibase-fetch-object]: conversion error from string "BLOB" in hogehoge.php on line 1183
と言われて失敗する。
マジ助けてくれ・・・
ちなみにSQLは単純なSELECT。
0720nobodyさん
2007/09/03(月) 18:46:54ID:???タイトルフォーム
本文フォームがあって
データ送信はできるんですが、タイトルを使ったファイルの作り方がわからないんです。
0721718
2007/09/03(月) 18:52:08ID:EPVlEXdm即レスthx!!
どこで予約語使ってるのかまったく不明・・・
SELECT IDXTEXT FROM HOGETABLE WHERE UPPER(IDXTEXT) LIKE UPPER('%hoge%')
上の IDXTEXT が BLOB(string) なんだけど、もしかして LIKE だめ?
0722nobodyさん
2007/09/03(月) 18:53:34ID:???http://www.hitachi.co.jp/Prod/comp/soft1/manual/pc/d635700/W3570234.HTM
0723nobodyさん
2007/09/03(月) 18:58:34ID:???http://jp.php.net/fopen
で作れる
0724718
2007/09/03(月) 19:01:38ID:EPVlEXdmthx!!
ただ・・・俺は本気で頭が悪いようだ。
何が問題なのかまったくわからん。
IDXTEXT は問題ないみたいだし、LIKE も単純な演算子だし UPPER は関数だし・・・
頼む答えを教えてくれ><
0725nobodyさん
2007/09/03(月) 19:05:01ID:KucjbbQWhttp://pc11.2ch.net/test/read.cgi/php/1188731930/
を削除依頼出しておきました。
もっと勉強をしてわからないところを
きちんとわかってから質問できるようにしたいと思います。
昨日、今日とすいませんでした。
0726nobodyさん
2007/09/03(月) 19:10:21ID:ZgE8wfr0A,
while(file_exists($lf)){
sleep(1);
}
mkdir($lf,0755);
B,
while(mkdir($lf,0755) === false){
sleep(1);
}
0727718
2007/09/03(月) 19:11:41ID:???BLOB に対し UPPER(BLOB) はサポートされてなかった・・・
INSERT 時に UPPER することにした。
スレ汚しスマソ。
0729nobodyさん
2007/09/03(月) 19:34:50ID:LZnRmggrそれだとwで開いた時にデータが空になりますし
r+で開くとゴミに注意しないといけない。
0730nobodyさん
2007/09/03(月) 20:11:16ID:???0733nobodyさん
2007/09/03(月) 20:18:42ID:M+H83k8jmkdirは時間がかかるから使えないだろ
0734nobodyさん
2007/09/03(月) 20:23:24ID:LZnRmggr今はそんな事ないのかな?
0735nobodyさん
2007/09/03(月) 20:34:28ID:???flock()により、(ほとんどのUNIXやWindowsさえ含む) ほとんど全てのプラットフォームで使用可能な簡易な読み手/書き手モデ ルが実現されます。
0736nobodyさん
2007/09/03(月) 20:58:50ID:???基本的には読み書きに関わらずfopenする度にflock($fp, LOCK_EX); とすれば良いのかな。
掲示板などの処理だとそうなりますよね?。
0737nobodyさん
2007/09/03(月) 21:39:44ID:???0738nobodyさん
2007/09/04(火) 00:40:49ID:???返信が遅くなって申し訳ない&レスありがとう
こちらの書き方に問題があったようで、実はそのレベルには達してなかったりしますorz
ただ今後必要になると思うので、参考にさせてもらいます。
セットアップと言うかインストール自体出来てなかったのですが、↓を参考に一応インストールだけは出来たようです。
ttp://www.zend.co.jp/tech/index.php?PHP%A5%A2%A5%D7%A5%EA%A5%B1%A1%BC%A5%B7%A5%E7%A5%F3%2FSmarty%2F002%20%C6%B3%C6%FE
また分からない事があったらご指導ください。
■ このスレッドは過去ログ倉庫に格納されています