くだすれPHP(超初心者用)
■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん
2006/06/12(月) 14:06:01ID:???もしくは質問者自身何が何だが分からない質問を勇気を持って書き込むスレッドです。
PHP使いが優しくコメントを返しますが、
お礼はPHPの布教と初心者の救済をお願いします。
PHP Home Page
http://www.php.net/
0363355
2006/09/10(日) 18:49:47ID:???>メンバ変数を作ってそれを使えばいいんじゃないか?
ファイルパス(メンバ変数)をglobalにする必要がないと思ったので
newもしくはread時に渡すようにしています。
0365363
2006/09/10(日) 22:43:21ID:???class Hoge
{
public $filePath;
/*コンストラクタは省略*/
public function read()
{
/*$this->filePathのファイルを読む*/
return;
}
}
$hoge = new Hoge();
$hoge->filePath = 'data.txt';
$hoge->read();
メンバ変数=$filePathのことで、パブリックな$filePathにパスをセットして
read()を呼べば引数にパス渡さなくてすむって意味だと思った。。
0366363
2006/09/10(日) 22:47:54ID:???globalじゃない…publicですたorz
0367nobodyさん
2006/09/10(日) 23:49:52ID:???んじゃprivateにすれば?
・・・というのは置いといて、
コンストラクタで引数で渡してメンバ変数に代入したり
あるいはファイル名登録用のメソッドを作ったりしてもいいよね。
というか355の方法じゃクラスにしてる意味が全く無くない?
0368366
2006/09/11(月) 00:35:35ID:???>んじゃprivateにすれば?
情報の後出しのようでもうしわけありません。
エラーの確認用のHogeクラスでは省略していますが実際使おうとしている
クラスではprivate $filePathを持たせています。
引数無しでread()を呼んだ場合に$this->filePathのファイルを読み直します。
>コンストラクタで引数で渡してメンバ変数に代入したり
コンストラクタのなかでreadまでやるからreadのなかでメンバ変数に
代入するようにしているのですが、、コンストラクタ(ファイルパスのセット)と
read()は分けた方がいいのでしょうか。
>あるいはファイル名登録用のメソッドを作ったりしてもいいよね。
read()とファイルパスのセットを分けた方が良いのであればそうします。
どちらがよいのでしょうか。
0369nobodyさん
2006/09/11(月) 15:31:35ID:9vOMCYca$_POST["hoge"]=$_SESSION["mofu"]; みたいに直接代入という
方法ってプログラム上アリですか?無しですか?
この方法で確かにちゃんと動くけど明らかに使い方は間違ってるような
気がする($_POSTはformからのデータを貰う為のものと思っているから)
のです。
なぜこんなことをしたのかと言うと、前画面で入力したデータを
ターゲットのフォームに初めから入れておきたいが、ターゲット画面で
入力エラーを検知した場合は、そのエラーの箇所を空白にし、他の入力
箇所は保持したいのです。
ターゲット画面でsubmitをしたとき、呼び出される画面はターゲット画面で、
入力にエラーが無い場合はHeaderで次画面に飛ばすのです。
分かりにくい表現で恐縮ですが皆様の考えを教えてください。
0370nobodyさん
2006/09/11(月) 16:05:42ID:???0371nobodyさん
2006/09/11(月) 17:08:12ID:???$_POSTに代入っていうのは気持ち悪いね
動くんだろうけど確かに使い方は間違ってる
他の変数に代入するんじゃだめなの?
どうせサニタイズするんだったら$_POSTそのまま使うんじゃないし
0372nobodyさん
2006/09/11(月) 18:08:47ID:qCpJYXXZ$img = file_get_contents('画像のURL.jpg');
echo imagesx($img);
としてもエラーが出てしまいます。
0373nobodyさん
2006/09/11(月) 18:30:00ID:???0374nobodyさん
2006/09/11(月) 21:31:19ID:9vOMCYcaif(ereg("[^0-9ア-ンー0-9]",$_POST["kanaName"])){
echo "全角カタカナと数字以外禁止";
}
しかしこれだとヤ以降(50音順)がカタカナと認識されません。
よい方法があったら御教授願います。
0375nobodyさん
2006/09/11(月) 22:12:57ID:???0376nobodyさん
2006/09/12(火) 07:22:51ID:???設計を根本的に見直そう。
$_POSTで受け取った値は必ずスクリプト内で
別の変数に代入してから計算なりアウトプットなりするクセをつける。
そんで、エラーを検知した場合は、最初の画面に戻して、
どういうエラーがあったのかを表示して再入力させるべき。
もちろんこの時、エラーがなかった項目については値を保持して、
フォームに既に入力されてる状態にしてあげること。
0377374
2006/09/12(火) 14:25:02ID:FIxGk3KG何か問題でも?
教授=プロフェッサーだけじゃなくて知識等を与える事って意味もあるはず
だから知識を与えて欲しいと願うのはダメ?
それはさておき正規表現の問題が解決できません。
ア-ンーとしてあるのにガ等の濁点やァ等の拗音(だっけ)がマッチしたりしてます。
どうやったら解決できるでしょうか?
0378nobodyさん
2006/09/12(火) 14:50:15ID:???自分のレベルが糞より低い位置にあるんだから、バカに徹して頭を垂れているべきだ。
それが世渡りつーものだ。
で、そんなもん正規表現じゃねー!!恥ずかし過ぎ!つか、笑った。
もし、sjisなら片仮名文字は
\x83[\x40-\x96]
バカだから文字コードの事も考えていないよね?
仮名文字を使って正規表現とか言うのだから。
0380nobodyさん
2006/09/12(火) 15:07:49ID:???そこでmb_eregですよ!
0381374
2006/09/12(火) 15:10:12ID:FIxGk3KGなるほど サンクス 今度からそうするよ。
0382nobodyさん
2006/09/12(火) 15:19:09ID:???0384374
2006/09/12(火) 15:57:14ID:FIxGk3KG実際に組むとき\x83[\x40-\x96]はカタカナだから
if(!(ereg("^\x83[\x40-\x96]",$_POST["kanaName"]))){
echo "全角カタカナと数字以外禁止";
}
としてみました。
全角カタカナ以外はこれで入力できなくなりました(数字も入らなくなっちゃったけど)
その後mb_eregを使ってみました。
if(!(mb_ereg("^[0-9ア-ンー0-9]",$_POST["kanaName"]))){
echo "全角カタカナと数字以外禁止";
}
こうすると数字も弾かれないので後者を使うことにしましたがァィゥェォとヴが弾かれるので
if(!(mb_ereg("^[0-9ア-ンーヴァ-ォ0-9]",$_POST["kanaName"]))){
echo "全角カタカナと数字以外禁止";
}
これでテストした結果、今のところは期待通りになっていると思います。
ありがとうございました。
>>382 手ぇ遅いので試すまで待って・・・
>>383 正解。
0386nobodyさん
2006/09/12(火) 16:18:19ID:???オマエ、本物のバカだな基礎とか基本とか全部飛ばしているな
仮名文字を使うなつーてるのにバカだから使うし
$baka = $_POST["kanaName"];
if(!ereg("\x83[\x40-\x96]",$baka) || !ereg("\x82[\x4F-\x58]",$baka)|| !ereg("[0-9]",$baka)) echo '全角カタカナと数字以外禁止';
0387nobodyさん
2006/09/12(火) 16:30:22ID:???> 仮名文字を使うなつーてるのにバカだから使うし
http://www.php.net/manual/ja/function.mb-ereg.php
調べもしないで偉そうだなおい
0389nobodyさん
2006/09/12(火) 16:35:02ID:???俺も宗教的な理由で仮名文字は使わないな
別におかしくないし、sjis環境なら使わないほうがいいし
それ以前にmbって・・・まーいいや。
0391nobodyさん
2006/09/12(火) 17:26:25ID:???そこが大事だろ!
おれみたいな初心者に教えてくれよ
0392nobodyさん
2006/09/12(火) 17:45:06ID:???本当に宗教的な理由としか言い表せないだろう
mdで仮名文字(2バイト文字)が使えるからと安易にいたければ使えばいいかと
もし、自分が宗教的な物に気付けばどこかで仮名文字は捨て去る事となるから
但し、生涯教えて君や初心者を通すなら気付かず使うことととなるだろう
それはそれで良いと思う。
0393nobodyさん
2006/09/12(火) 17:47:41ID:???0394391
2006/09/12(火) 17:59:17ID:???プログラムコードには極力日本語を含まないようにしてる
理由は単純に気持ち悪いからだ
でも実際にどんな問題がはらんでるかが知りたい
・「マルチバイト」そのものがあまり信用できないからアスキーコードを使う
・PHPのmbまわりが信用ならない
・環境設定によって左右されるようなコードを書くべきでない
いろいろ考えてみた あたってたらそう言ってくれ
あたってなかったら調べてみたりするから
0395nobodyさん
2006/09/12(火) 23:13:17ID:???日本語を含んだパスを指定して「ファイルが読めない。」と悩む私が昔
いました。
0396nobodyさん
2006/09/13(水) 02:23:45ID:???RFCとかが統一すりゃいいんだ!
そしたら「宗教的」なヲタたちが啓蒙普及活動をしてくれる。
そしてプログラミングにおける日本語の問題も全て解決する。
0397nobodyさん
2006/09/13(水) 04:18:32ID:???0398nobodyさん
2006/09/13(水) 14:35:51ID:???0399nobodyさん
2006/09/13(水) 18:06:28ID:fd+xBvUi参考にしたサイト
http://www.y2sunlight.com/ground/?PHP5.0%2F6.PEAR%A4%CE%A5%A4%A5%F3%A5%B9%A5%C8%A1%BC%A5%EB
OSはWindowsXP Pro PHPは5
このサイトに従ってインストールしていたらpearのバージョンが1.3.1になっていました。
しかしサイトの画像で見るとバージョンは1.4.6、最新は1.4.11なので、
pear install pear としてみるとインストール済と言うことでスキップされました。
アンインストールしてからならインストールできるだろうと思い、
pear uninstall pear としたら、pear.bat自体がなくなってしまいました。
最新バージョンの1.4.11をインストールする方法を教えてください。
//pear download-allとするとXML error at line 1, check URL
Invalid return payload: enabling debugging to examine incoming payloadと出るのは仕様ですか?
0400399
2006/09/13(水) 18:40:21ID:fd+xBvUi騒がせて巣万個
0401nobodyさん
2006/09/13(水) 19:37:08ID:ny0rhUNk0402nobodyさん
2006/09/13(水) 19:38:45ID:???0403nobodyさん
2006/09/13(水) 19:40:07ID:???0404nobodyさん
2006/09/13(水) 20:15:13ID:qvwVE6Hq例えば
$a が 2ちゃんねる だったら、
あいうえお
かきくけこ
さしすせそ
$b が 3ちゃんねる だったら
いろはに
ほへと
ちりぬる
って表示するようにして、
$a=2ちゃんねる $b=3ちゃんねる だったら
あいうえお いろはに
かきくけこ ほへと
さしすせそ ちりぬる
と表示するようにしたいんですが、
どのようにすればいいでしょうか?
0405nobodyさん
2006/09/13(水) 20:47:12ID:???if ($a == "2ちゃんねる" && $b == "3ちゃんねる") {
echo "あいうえお いろはに" . "<br />\n";
echo "かきくけこ ほへと" . "<br />\n";
echo "さしすせそ ちりぬる" . "<br />\n";
} elseif ($a == "2ちゃんねる") { // A
echo "あいうえお" . "<br />\n";
echo "かきくけこ" . "<br />\n";
echo "さしすせそ" . "<br />\n";
} elseif ($b == "3ちゃんねる") { // B
echo "いろはに" . "<br />\n";
echo "ほへと" . "<br />\n";
echo "ちりぬる" . "<br />\n";
}
こうではなくてAの出力とBの出力を合成して表示したいという意味であれば、
$str['a'] = array("あいうえお", "かきくけこ", "さしすせそ");
$str['b'] = array("いろはに", "ほへと", "ちりぬる");
if ($a == "2ちゃんねる" && $b == "3ちゃんねる") {
for ($n = 0; $n < 3; $n++) { echo $str['a'][$n] . " " . $str['b'][$n] . "<br />\n"; }
} elseif ($a == "2ちゃんねる") {
for ($n = 0; $n < 3; $n++) { echo $str['b'][$n] . "<br />\n"; }
} elseif ($b == "3ちゃんねる") {
for ($n = 0; $n < 3; $n++) { echo $str['a'][$n] . "<br />\n"; }
}
といった感じに配列でも使わないと多少メンドイことになる。
0406nobodyさん
2006/09/14(木) 04:55:29ID:w1P9D6Nk0407nobodyさん
2006/09/14(木) 13:39:34ID:RcWvZ0xRPHP5.0.2
pear1.3.1を使っています。
<?
include_once "Mail.php";
echo "メール送信テスト<br>";
$recipients = 'XXX@XXX.jp';
$headers['From'] = 'test@test.test';
$headers['To'] = 'XXXa@XXX.jp';
$headers['Subject'] = 'テストサブジェクト';
$body = "ようこそバーボンハウスへ\n この1杯は奢りだからまず飲んで落ち着いて欲しい\n ごめん、またなんだ。\n";
$mail_object =& Mail::factory('mail');
$result = $mail_object->send($recipients, $headers, $body);
if (PEAR::isError($result)) {
echo"DEAD END";
die($result->getMessage());
}
echo $result;
?>
としたところ、メールは送受信できるのですが、$headers['From']と$headers['Subject']の内容が表示
されません。
メール送信が出来るならPEARやPHP、Apacheの設定ではないと思うのですが・・・。
どうやったら$headers['From']と$headers['Subject']の内容が表示できるでしょうか?
0408nobodyさん
2006/09/14(木) 13:41:58ID:RcWvZ0xR$bodyは表示できます。
PHP5.1だとちゃんと表示できるのですがPHP.iniのExtensionのMySQLコメントアウトをはずしても
PHP.infoでMySQLが使えるようになってないので断念しました。
0409nobodyさん
2006/09/14(木) 13:46:31ID:???探しているのですが、見あたらなくて
0410nobodyさん
2006/09/14(木) 17:45:56ID:pPxPgU+d<?php
$cmd=$_POST['cmd'];
if($cmd!=null)
echo $cmd;
?>
こんなPHPのソースがあって、
ここにtelnetで接続し
POST /index.php HTTP/1.0
Content-Length: 5
cmd=1
と言うテキストファイルを送信しました。
確かに200OKと正常にヘッダが返ってきたのですが、
帰ってきて欲しいのは、1と言う文字です。
それが帰ってこないのですが、どうしてでしょうか?
HTTP関連も調べたのですが、何が原因かわかりません。
0411nobodyさん
2006/09/14(木) 17:59:41ID:iFbFyD2f自動的にSQL文を組み立ててくれる機能はありますか?
0412nobodyさん
2006/09/14(木) 20:07:25ID:???if($cmd!==null)
0413nobodyさん
2006/09/14(木) 21:18:02ID:???PEAR::Mailを使ったことがないので内部で処理してないとは言い切れないけど、
マルチバイト文字列(日本語とか)突っ込むときは、エンコーディングが必要なのでは?
あと、PEARに関する質問は
【PHP】PEAR Part2
http://pc8.2ch.net/test/read.cgi/php/1122899232/
がいいかな。
0416nobodyさん
2006/09/15(金) 18:42:11ID:???ちなみに、それは、
Lengthだけじゃなくて
ContentType: application/x-www-form-urlencoded
を送信してないから。
これで、とりあえずは1と帰ってくるよ。
0418帰ってきた42歳
2006/09/16(土) 01:15:26ID:yXjwnh9nm01 => array(label => 'お名前', formtype => 'text', opt => array('size' => '40', 'maxlength' => '220', 'style' => 'ime-mode:inactive')),
という感じであるのですが、ここを自動的に日本語入力に指定することはできないものですか?
テンプレートでいじるのでしょうか?
0419帰ってきた42歳
2006/09/16(土) 01:16:27ID:yXjwnh9n今、冷静に見て… すみません。 ime-mode が i-modeに見えていました
0420nobodyさん
2006/09/16(土) 19:47:58ID:???うまくアップロードできません。
$handle = fopen ("fugahoge.tgz", "r");
while (!feof ($handle)) {
$buffer = fgets($handle, 4096);
$dataf.= $buffer;
}
fclose ($handle);
$curl = curl_init ($posturl);
curl_setopt ($curl, CURLOPT_POST, 1);
curl_setopt ($curl, CURLOPT_POSTFIELDS,"&filename=".urlencode($dataf));
curl_exec ($curl);
curl_close ($curl);
0421nobodyさん
2006/09/16(土) 19:56:59ID:???こう書いたのですがうまくいきません。
おしえてください
0423nobodyさん
2006/09/17(日) 04:45:08ID:7OIeS9Or$fp = fopen('aaa.txt','w');
fwrite($fp,$f_raw);
fclose($fp);
こんな単純な書き込みなのですが、
何故かaaa.txtと言うファイルが書き出されません。
ルートディレクトリにもカレントディレクトリにもありません。
なにかphp.iniに設定すべき所があるのでしょうか?
それとも、プログラムミスなのでしょうか?
0424nobodyさん
2006/09/17(日) 04:56:14ID:???0425nobodyさん
2006/09/17(日) 05:48:32ID:???とある理由でPOSTで数M(10M以下)のデータを送り
fopen、fwriteで書き出しするプログラムなんですが・・・。
完了に2分以上掛かる上、UNIXマシンでtopコマンドうつとCPUは80%くらいを食っています。。。
こんなもんなんでしょうか?
転送自体はローカルでテストしてるんで、問題ないんですが・・・・。
それとも、メモリが少ない設定になってる為等でしょうか?
どちらにせよ。POSTされた数Mのデータを高速にファイルに書き出す方法を探しています。
よろしくお願いします。
0426nobodyさん
2006/09/17(日) 06:07:51ID:???確かにたまにこういう書き込みを見る。
PHPのfopen()やfwrite()が遅いのは、やっぱしょうがないのかな・・・
#にしても、遅すぎだとは思うけど
0427えがみボンバイエイ
2006/09/17(日) 07:08:51ID:???require_once("XML/RSS.php");
$rss=new XML_RSS("http://manabekawori.cocolog-nifty.com/blog/index.rdf");
$rss->parse();
?>
<h2><?php print(mb_convert_encoding( $rss->channels['title'],"EUC-JP","auto")); ?>
</h2>
<?php foreach($rss->items as $item){ ?>
<?php print(date(($item['dc:date']))) ?> <a href="<?php print($item['link']); ?>" target="_blank">
<?php print(mb_convert_encoding($item['title'],"EUC-JP","auto")); ?>
</a><br>
<?php }
?>
と書くと
2006-09-17JST00:41:11+09:00 夫婦別姓制度はまだなのか
2006-09-13JST22:46:23+09:00 おやすみ投稿か
2006-09-08JST00:08:49+09:00 カッチカチやぞ
2006-08-31JST22:40:11+09:00 エロかわ…?
言う風に表示されるのですが、
JST00:41:11+09:00の部分を削りたいのですが、
どうすれば宜しいか分かる方いらっしゃいましたら宜しければ教えていただけると幸いです。
0428nobodyさん
2006/09/17(日) 13:55:08ID:???0429nobodyさん
2006/09/17(日) 15:59:12ID:X/s21ZZr行頭に#!/usr/bin/php5を一括挿入するスクリプトを
作成したいと思いますが、どのように書けばよろしいでしょうか?
--スクリプト(パイプで渡せばいいと考えましたがこの先はどうした方がよいでしょうか?)
find * -name *.php |
0430nobodyさん
2006/09/17(日) 17:19:12ID:???出来なかったらゴメン
% php < `find * name php `
0431nobodyさん
2006/09/18(月) 02:05:26ID:???ギガとかになるので、バイト単位だと
1073741824B=1Gなので、INTEGERだと格納出来ません。
こういう用途だと、どうすればいいのでしょうか?
SQiteは型非依存だと聞いたのですが、型を指定しなければ良いと言う事でしょうか?
0432nobodyさん
2006/09/18(月) 02:18:16ID:???バイト単位でだと、扱うのはあまり好ましくないから。
どうせギガレベルなら、メガ単位で管理すれば?
0433nobodyさん
2006/09/18(月) 03:03:17ID:???class DataSize{
private digitGigaByte;
private digitMegaByte;
private digitKiloByte;
private digitByte;
/* 以下メソッド定義 */
};
とかやって自前のクラスと操作メソッド作ったほうがいいんでない?
0434nobodyさん
2006/09/18(月) 05:50:35ID:0wioqDk7mkdir('dir', '0600');
など、パーミッションを指定できるメソッドで作成したファイルやディレクトリが、この設定が反映されません。
具体的には、上の例の場合、411のパーミッションのdirと言うディレクトリが出来上がります。
何か設定すべきところがあるのでしょうか?
一切の書き込みが出来ないので、何も出来ません。。。
0435nobodyさん
2006/09/18(月) 14:19:10ID:???だめだったらごめんね
0436nobodyさん
2006/09/19(火) 01:37:52ID:???$fi = file("aaa.dat");
で読み込んでから、
空行を抜いて表示したりしたいのですが、
やりかたがわかりません。
for ($i=0;$i<9;$i++) {
if ($fi[$i] != "" ) { print "$fi[$i]<br>";}
}
「""」のところを「\n」で試したりしましたがだめでした。
どうすれば良いのでしょうか。
0437nobodyさん
2006/09/19(火) 01:51:17ID:???$fi = array_map('rtrim',file('aaa.dat'));
for ($i=0;$i<9;$i++) {
if ($fi[$i] != "" ) { print "$fi[$i]<br>";}
}
0438nobodyさん
2006/09/19(火) 05:24:38ID:???0439nobodyさん
2006/09/19(火) 05:45:57ID:???$fi = file('aaa.dat');
foreach($fi as $value){
if(trim($fi) == '') continue;
出力処理
}
>>438
一々突っ込むほどのことではないかも知らんが、メソッドは一般にクラスのメンバ関数のことだと思うぞ。
0440nobodyさん
2006/09/19(火) 05:46:44ID:???な、勿論。
0441nobodyさん
2006/09/20(水) 09:19:03ID:HL0PU+OlMySQLに予め登録したテキストを呼び出してmb_send_mailで配信というのを
やりたいんですが、改行なしになってしまいます。
改行を入れたい所に\nを入れてDBに登録したんですが、うまくいきません。
何を使えば改行が入るでしょうか?
0443nobodyさん
2006/09/20(水) 14:42:19ID:HL0PU+OlPHPスクリプトの改行コードはLFに統一してるんですが、MySQLにも何か改行コードを
指定するんでしょうか?
0444442
2006/09/20(水) 15:00:36ID:???以下のコードをmb_send_mailの直前に入れて試してごらん。
$bodyってのはメール本文ね。MySQLから取り出したテキストを$bodyに入れて。
$body = str_replace("\r\n", "\n", $body);
$body = str_replace("\r", "\n", $body);
0445nobodyさん
2006/09/21(木) 14:53:07ID:???掲示板を作るとして書き込むときに fwrite($datafile, "<pre>".$_POST['message']."</pre>");
としてみたらJAVASCRIPTも無効化されてるしいいような気がするんですが、<pre>で囲んだ程度ではやはり駄目でしょうか?
0446nobodyさん
2006/09/21(木) 17:29:08ID:JVGPXujgsession_start();
と宣言しているページがあります。
ユーザにデータを入力させ、action=""としています。
$_POSTの内容は保持されて$_SESSIONの内容だけ削除というのは
標準の動きなのでしょうか?
確かに$_POSTの内容は残り、$_SESSIONの内容はクリアされているような
挙動はしているのですが、別の環境(作成はWinで稼動はLunuxとか)に持っていっても
同じように動くのでしょうか?
日本語が不自由っぽくて恐縮ですが教えてください。
0448nobodyさん
2006/09/21(木) 23:39:17ID:???XSSというのは実際にHTMLとして出力するときに問題になるのであって、
fwriteにはまったく関係ない。
そして専用の関数(htmlspecialcharsなど)があるんだからそれを使え。
0449nobodyさん
2006/09/22(金) 00:25:57ID:???環境変えても問題ないと思う
(Lunuxでググったら10,300件・・みんなtypoしまくってるんだなぁ・・・。)
0450nobodyさん
2006/09/22(金) 00:35:07ID:7CvFXbdSsqlite_escape_stringで"などクエリの作成時に問題の出る文字を\"に置き換えられているのですが
文字列をSQLiteで取り出す時も残ったままなので、\"の文字が表示されてしまいます。(出力先はブラウザではないので・・・)
これを戻そうと$res=str_replace('\"', '"', $res);こんな事をやりましたが、うまく行きません。
残ったままです。
どうにか戻す方法はないのでしょうか?
0452nobodyさん
2006/09/22(金) 00:47:03ID:???以下のエラーが出ています。
Fatal error: Call to undefined function mysql_connect() in /usr/local/www/data-dist/index.php on line 9
このエラーは、おそらくmysqlで提供しているphp向けの関数mysql_connnectが
認識できていないのではないかと考えていまして、
おそらく、php側の設定の追加が必要だと思うのですが、
具体的に何をやればいいのでしょうか?
ちなみに環境は以下の通りです。
■OS
FreeBSD 5.4
■phpのバージョン
$ pkg_info | grep php
php5-5.0.3_2 PHP Scripting Language (Apache Module and CLI)
■mysqlのバージョン
$ pkg_info | grep mysql
mysql-client-4.1.10a Multithreaded SQL database (client)
mysql-server-4.1.10a Multithreaded SQL database (server)
よろしくお願い致します。
0454nobodyさん
2006/09/22(金) 05:28:38ID:???PHPのmail関数使うのに、ポート空ける必要ないよね?
昔Linuxでやった時は要らなかったはず・・・
何故か外部にメール遅れない・・・
ググったらその手の質問は多いのに、どこも解決策が書いてませんでした・・・。
0455nobodyさん
2006/09/22(金) 05:30:35ID:???あるあるwww
横槍ばっかになるんだよな、mail使うヤツだとおせっかいが沸くからw
ちなみに、ググったなら気づいてると思うがsendmailの問題であってPHPの問題じゃないから
解決したいなら、該当スレ当たれ。
あと、メールサーバーへ接続しての送信なんだからポート開放は不要
厳密にはサーバーといっても、サーバークライアントモデルのクライアントの相当する機能だから。
0456nobodyさん
2006/09/23(土) 01:39:07ID:???その後、送信ボタンでメール送信します。
確認ページでは、$_postデータにforeachでhtmlspecialchrasをかませ、
&などの文字がエンティティ化されるのはいいのですが、
メールで送った文字も&と表示されてしまいます。
メールでは&に戻して送りたいのですがどうすればよろしいでしょうか?
0457nobodyさん
2006/09/23(土) 02:02:39ID:???0458nobodyさん
2006/09/23(土) 06:26:47ID:???バカかお前は。
$_POST変数をそのまま丸ごとforeachでエスケープかけてるんなら
メールでもエスケープされたままになるのは当たり前だろ。
HTML表示用変数とメール原稿用変数を分けて、それぞれ$_POSTから格納しろ。
そしてそれぞれ適切な処理を施せ。
0459nobodyさん
2006/09/23(土) 11:27:14ID:???同じスペック、同じバージョンのサーバーなのに、レンタルサーバーでは8Mのファイルの受信に8秒
一方自宅やその他の自分の設定したサーバーでは1分の状況です。
ローカルホストで実験しているので、回線の速度の問題ではないと思うので、何か設定でもあるのかと疑っています。
ApacheやLighttpdなど色んなサーバーに変えたりしても同じなので、PHP側の設定を疑っています。
0460nobodyさん
2006/09/23(土) 11:30:56ID:???ちなみにfopen()などファイルオープンではなく、POSTである。
ためしにPHP4にしてみ。
多分片方の速いってサーバーは4だろ。
うちもファイルのアップロード数十倍伸びて唖然としたクチ
0462nobodyさん
2006/09/23(土) 19:49:02ID:???POSTで、次のページに送って表示させると文字化けが。
両方のページをEUC-JPで保存してるのに何でですか?
mb_detect_encodingで、その送られた値を見ると、SJISになってしまっています。
教えてください。
■ このスレッドは過去ログ倉庫に格納されています