【PHP】くだらねぇ質問はここに書き込みやがれpart6
レス数が1000を超えています。これ以上書き込みはできません。
0001nobodyさん
2005/06/05(日) 13:17:11ID:xiGnsMS4ここなら本スレで回答のないお前の下らない質問に回答があるかも知れません。
次スレは>>970あたりが建てて下さい
・過去スレ
【PHP】くだらねぇ質問はここに書き込みやがれ
http://pc5.2ch.net/test/read.cgi/php/1099322141/
【PHP】くだらねぇ質問はここに書き込みやがれpart2
http://pc5.2ch.net/test/read.cgi/php/1105218084/
【PHP】くだらねぇ質問はここに書き込みやがれpart3
http://pc5.2ch.net/test/read.cgi/php/1107780435/
【PHP】くだらねぇ質問はここに書き込みやがれpart4
http://pc8.2ch.net/test/read.cgi/php/1110697712/
【PHP】くだらねぇ質問はここに書き込みやがれpart5
http://pc8.2ch.net/test/read.cgi/php/1114787573/
0002nobodyさん
2005/06/05(日) 13:34:35ID:???0003nobodyさん
2005/06/05(日) 13:47:42ID:D/68BBaZテキサスホールデムっていうの?
やってたわけ
で"scream(叫ぶ)"って単語覚えたばっかで
ゲームのチャットで"I scream 'icecream'!"ってやったったわけよ
そしてらさ、ゲームから追い出されてやんのwwwww
青春の1ページだっぺ?
0004nobodyさん
2005/06/05(日) 13:51:02ID:???0006nobodyさん
2005/06/05(日) 21:55:36ID:???無けりゃ4
0007nobodyさん
2005/06/05(日) 22:10:24ID:???class test
{
const ERROR = -1;
private result = self::ERROR; //エラー
public function __construct()
{
result = self::ERROR; //こっちは問題なし
}
}
0008nobodyさん
2005/06/06(月) 06:06:24ID:???self::使うなら当面はコンストラクタで初期化の方向性で。
ちなみに$ついてなかったりするけど2番目のresultは$this->resultだよね?
いやローカル変数だったらいいんだけどさ。
00097
2005/06/06(月) 08:38:11ID:???あ、ほんとだ。クラス名::定数名だといけますね。気がつかなかった。
わけわからん仕様だ。。。
>2番目のresultは$this->resultだよね?
です。上のをコピった時にミスりました。はずぃ。
0010nobodyさん
2005/06/06(月) 12:48:54ID:???<?php
$str = '123ま147府ahf依田ま950まf';
print mb_ereg_replace('ま', 'み', $str);
?>
これで全ての ま が み になるはずですが、そのまま$strが出力されてしまいます。
どこが間違っていますか?
Apache2.053(WinXP/Gentoo) + PHP5.04
0012nobodyさん
2005/06/06(月) 14:27:01ID:???PEARのDB/Pagerなのですが、良く分かりません。(バージョン0.7)
ソースコードを見ると、
require_once 'DB/Pager.php';
$db = DB::connect('your DSN string');
$from = 0;
$limit = 10; // The number of results per page
$maxpages = 10; // The number of pages for displaying in the pager (optional)
$res = $db->limitQuery($sql, $from, $limit);
$nrows = 0; // Alternative you could use $res->numRows()
while ($row = $res->fetchrow()) {
$nrows++;
}
$data = DB_Pager::getData($from, $limit, $nrows, $maxpages);
このようなサンプル?が書かれていますが、動作いたしません。
結果的にはgetDataに何件目からのデータか、何件取得するのか、全レコード数は幾つかを
渡してあげれば良い?という事はなんとかわかりました。
しかし、このサンプル?はこれでいいのでしょうか?
取得するSQL分は無いし、最初にSQLを作ったとしても、次にはLIMITされてしまい、
常に1ページ分のデータしか作成されないような気が・・・
それと、DB/Pagerって結局はデータベースからデータは表示できない?
単純にページ数などを計算するだけなのでしょうか?
該当するページのデータぐらい自動で取って来てくれて配列などに格納されているという風に
イメージしていたのですが・・・
0013nobodyさん
2005/06/06(月) 14:51:02ID:???001412
2005/06/06(月) 16:22:01ID:???とりあえず、バージョンが違いましたが、何とか表示させる事ができました。
ただ1つだけ不明な点があります。
教えていただいたサンプルを修正して表示すると、
ページ番号が全データ件数と1ページあたりの件数で算出された
全ページ番号が表示されます。
これを制御するのはgetDataの最後の引数である$maxpagesだと思うのですが、
build無いから呼び出されるgetDataには最後の引数を省略している為に、
全ページ番号が表示されていると思います。
これを制御するためにはどうしたらいいのでしょうか?
もう一度、getDataを呼び出して、そのときにmaxpagesを指定するのでしょうか?(2度手間?)
001514
2005/06/06(月) 17:18:57ID:???更なる疑問が・・・
よーくソースコード見てみると、教えていただいたサンプルって、
全レコードを取得してからページャを作成している?
なんというか・・・凄くパフォーマンス悪そうですね・・・
getDataだけ使って後は独自にLIMITで必要な部分だけデータ取ってきた方が
良いような気がしてきました。
そうすれば、>>14で書いたようなmaxpagesの問題も解決しそうだし。
0016nobodyさん
2005/06/06(月) 20:25:53ID:HIsAE+v7くだらねぇ質問かどうかさえよくわからないんですが、
ユニコード(ビッグエンディアン)で書いたテキストファイルを、
うまく読み込ませることって出来るんでしょうか?
mbstringでもダメだし・・・。
ご高配よろしくお願い申し上げます。
0017nobodyさん
2005/06/07(火) 07:32:20ID:???自分の環境ではできる
$text = mb_convert_encoding($text, "sjis", "utf-16be");
0018nobodyさん
2005/06/07(火) 20:41:16ID:???私の会社だと、ついにJavaプロジェクトが完全撤退になり、
Web系の仕事は.NETとPHPの2択になりました。
Javaの仕事が来ない訳じゃないのですが、会社として採算が合わないのが撤退の理由です。
私も、一時期Javaプロジェクトに居たのですが、なんともいえない状況でした。
一言でいうならば、収集がつかない。
色々な機能のモジュールが色々な所から出ているため、
プロジェクト毎に、同様の機能でも違ったモジュールをつかったりと
結局、過去にモジュール化した部品の再利用が出来ないために開発効率が上がらない。
そして、修正だ改善だと、モジュールのバージョンアップなども行い、もうバラバラ・・・
しかも赤字になるプロジェクトは殆どJava案件。
.NETやPHPは利益が薄くても赤字になる事は無いし、
PHPはそもそもの値段自体が安くても利益率は結構高い。
0019nobodyさん
2005/06/07(火) 23:25:00ID:kfATXNgN>>18の会社がどの程度の規模の開発やってるのかにもよるけど。
0020nobodyさん
2005/06/07(火) 23:41:21ID:???>プロジェクト毎に、同様の機能でも違ったモジュールをつかったりと
>結局、過去にモジュール化した部品の再利用が出来ないために開発効率が上がらない。
>そして、修正だ改善だと、モジュールのバージョンアップなども行い、もうバラバラ・・・
そりゃ、単にお宅の会社のマネージャーが糞なだけ。
0021nobodyさん
2005/06/08(水) 00:09:02ID:???0022nobodyさん
2005/06/08(水) 10:07:16ID:???DB(EUC-JP)の内容からメール本文を生成してます。
その中に「ア」や「梶vのような機種依存文字がある場合、
sjisにコンバートしてmb_send_mail()すると「?」になってしまいます。
UTF-8にすればイイとググッて得た知識を元にやってみたのですが
今度は空白になってしまいます。
$subject = "タイトル";
$body = base64_encode($text);
mb_language("uni");
mb_send_mail("hoge@example.com",$subject,$body,"From: hogehoge@example.com");
うまく変換できる方法をお教え下さい。
PHP Ver. 4.2.2
0023nobodyさん
2005/06/08(水) 10:59:28ID:???どう検索したら良いかでもいいので教えてください。
0025nobodyさん
2005/06/08(水) 12:02:11ID:???なぜに本文を base64 エンコードするんか判らんのだが。
普通に JIS に変換でいけると思う。
"EUC-JP" の部分は PHP ソースの文字コードに合わせてね。
$subject = "=?ISO-2022-JP?B?" . base64_encode(mb_convert_encoding($subject, "JIS", "EUC-JP")) . "?=";
$body = mb_convert_encoding($text, "JIS", "EUC-JP");
mb_language("ja");
mb_send_mail("hoge@example.com",$subject,$body,"From: hogehoge@example.com");
0026nobodyさん
2005/06/08(水) 12:02:14ID:???http://www.eucaly.net/
http://www.eucaly.net/
http://www.eucaly.net/
http://www.eucaly.net/
http://www.eucaly.net/
http://www.eucaly.net/
http://www.eucaly.net/
http://www.eucaly.net/
http://www.eucaly.net/
http://www.eucaly.net/
002725
2005/06/08(水) 13:02:49ID:???ごめん。今確認したら「ア」はダメだった。「ア」ってEUCに存在しないような。。。
画面にはちゃんと表示できてる?
正しく表示できてるのならPHPの文字コードはSJISと思うので、変換せずに
mb_send_mail の代わりに mail でいけそう。
$subject = "=?ISO-2022-JP?B?" . base64_encode(mb_convert_encoding($subject, "JIS", "SJIS")) . "?=";
$body = $text;
mail("hoge@example.com",$subject,$body,"From: hogehoge@example.com\r\nContent-Type: text/plain; charset=Shift_JIS");
0028nobodyさん
2005/06/08(水) 13:31:51ID:2ouVAjO/簡潔に教えていただけませんでしょうか・・
一般的にはどちらが使われているのでしょうか・
0029nobodyさん
2005/06/08(水) 13:42:52ID:???split 置換パターンに正規表現が使える
explode 使えない
大は小を兼ねるので、常に split を使っても問題はない
正規表現が使える分、多少遅くなるので、置換パターンに正規表現を
使わないのであれば explode を使用した方が良いけど
003022
2005/06/08(水) 14:14:32ID:???「ア」は画面には表示されてます。
DBにPostgreSQL使用してますが、EncodingはEUC_JPで、
PHPもEUCで書いてるんですけど、表示されてるっておかしいですかね??
当初はmailを使用してましたが、文字化け報告が多くて(Mac、Lotus使いから)
「ア」などをすててmb_send_mailに逃げてました。
mailで再度送信するようにしてみます。
0031nobodyさん
2005/06/08(水) 15:43:37ID:Gb/twTZb自分のマシン上で127.0.0.1とかlocalhostおよび192.168.x.xではきちんと動いています。
LAN内およびWANからアクセスすると、すぐに読み込みがとまってしまい、まともに表示ができません。
思うに、ホスト名のlocalhostという部分が悪い気がするんですが、この部分はどのようにwebアプリ側でどのように設定するのがよいのでしょうか?
Apacheの設定なのかphpの設定なのか、webアプリの設定なのかまったく見当もつきません。
Mac OS 10.3.9
PHP Version 4.3.10
Apache/1.3.33 (Darwin)
MySQL 4.0.20-standard
0034nobodyさん
2005/06/08(水) 17:46:54ID:sDM4PuH6送信したらチェックがはいっていませんという処理をしたいのですが
うまくできませんどこを修正したらいいんでしょうか?
<?php
for($i=0;$i<sizeof($checkbox);$i++)
{
if($_REQUEST["checkbox"][$i]=="")
{
echo("入力してください");
}
}
?>
<html><head></head>
<body>
<form action="<?php echo($_SERVER["PHP_SELF"])?>" method="post">
<input type="checkbox" name="checkbox[]" value="1" size="50" >1
<input type="checkbox" name="checkbox[]" value="2" size="50" >2
<input type="checkbox" name="checkbox[]" value="3" size="50" >3
<input type="submit" name="submit" value="送信">
</form></body></html>
0035nobodyさん
2005/06/08(水) 17:49:31ID:???この程度、自分でどうにかしないと後々大変だぞ。
print_rつかって送信後にどんな値が渡ってくるのか見てみる。
チェックボックスにチェックがつけた場合、つけなかった場合、
見比べるとどうなってるのかが良く分かる。
それさえわかれば、後は簡単。(これが分からないならPHPやめろ)
0036nobodyさん
2005/06/08(水) 18:09:29ID:???チェックボックスはチェックついてるやつだけ送信。チェックついてないやつは送信しない。
あとは自分自身のためにprint_r($_POST)などで確認。
003728
2005/06/08(水) 19:04:57ID:2ouVAjO/わかりやすい説明ありがとうございました。
0038nobodyさん
2005/06/08(水) 20:46:50ID:2dKZZRT0チェックがはいっていないと値が送られないということをためして
わかりました、となるとチェックが入っていないときに
はいっていませんと表示させる方法はどうすればよいのでしょうか?
0039nobodyさん
2005/06/08(水) 20:48:10ID:???0040nobodyさん
2005/06/08(水) 20:53:29ID:???0041nobodyさん
2005/06/08(水) 21:07:33ID:2dKZZRT0配列ができないんだよ$checkBox["submit"]="送信”
ていうわけわからん配列しか。
すべての項目にチェックいれないで送信したときに
チェックがはいっていませんからいてくださいという
メッセージを表示したいの・・・
だれか簡単なソースプリーズ・・・お願いプリーズ
0042nobodyさん
2005/06/08(水) 21:16:01ID:???0044nobodyさん
2005/06/08(水) 22:52:09ID:3IRWVK3O初歩的なことかもしれませんが、自分で見つけられなかったので…
以下のような
http://www.test.jp/test.php?id=hogehoge
(URLエンコード済み)
の様なURLでGETメソッドを使ってデータを送った場合
$_GET['id'] に入るデータは自動的にデコードされていますか?
それともrawurldecode($_GET['id'])
しないとだめですか?
よろしくお願い致します。
004531
2005/06/08(水) 22:52:26ID:QAkoL1Aaこんなすれ違いのとこに来てしまうほど解ってないのです。
答えを教えてくれとは言いません。自分でぐぐりますので検索キーワードなどを教えてくれませんか?
0046nobodyさん
2005/06/08(水) 23:15:54ID:???URLをhttp://〜/index.php?pos=50
にして
<?php print $pos; ?>
と書いているのだが
何も表示されねええええ
0048nobodyさん
2005/06/08(水) 23:24:43ID:???004946
2005/06/08(水) 23:26:21ID:???サンクス
0050nobodyさん
2005/06/08(水) 23:28:16ID:???0052nobodyさん
2005/06/08(水) 23:29:44ID:G0+i0xLW>>32で出てるでしょ。あとは自分で書いてる
「自分で サーバ localhost」とかで結果を絞っていけばいいではないか。
"自分で"は"自宅で"にした方がいいと思うけどな。
0054nobodyさん
2005/06/09(木) 00:01:24ID:???変数で
N135.664.772.441E456.789.123.369
とかあるんだが
数字3桁ごとに区切りたいんだがどうすればいいか教えてえろいひとwww
0055nobodyさん
2005/06/09(木) 00:09:29ID:???変数で
N135.664.772.441E456.789.123.369
とかあるんだが
数字3桁ごとに区切りたいんだがどうすればいいか教えてえろいひとwww
0057nobodyさん
2005/06/09(木) 01:42:50ID:???0058nobodyさん
2005/06/09(木) 03:00:06ID:???それが分かったら次は
緯度経度の計算教えれか?藁
0061nobodyさん
2005/06/09(木) 21:08:20ID:???0062nobodyさん
2005/06/09(木) 22:30:45ID:???これのPHP版ってありますか?
0063nobodyさん
2005/06/10(金) 08:23:49ID:P1AHG4LhBLOGの画像うp機能でファイル名を現在時間にリネームしてごにょごにょしてる部分で
$pathname = pathinfo($dest);
$dest = PICDIR.gmdate("YmdHis",time() + TIMEZONE).$pathname['extension'];
となってるんですが、これだと「200506100818jpg」みたいに
拡張子があるようで無いファイル名になってしまいます。(jpgの前にドットがない)
ちゃんと表示されてはいるので事実上、何も問題はないのですが、なんだか気持ちが悪いので
「200506100818.jpg」という風にドットを付けるにはどう書き変えたらいいですか?
#「ドットを付ける」というより「)と$の間のドットを有効にする」って言った方が正しいのかな…
0064nobodyさん
2005/06/10(金) 08:33:21ID:???ドット三連星
$dest = PICDIR.gmdate("YmdHis",time() + TIMEZONE).".".$pathname['extension'];
0065nobodyさん
2005/06/10(金) 08:42:13ID:???うは!すごくスッキリした!ありがとう!愛してる!
0066nobodyさん
2005/06/10(金) 11:04:19ID:???CGI版とモジュール版ていうのが
あるそうなんだけど
モノを作る上で違いというか気をつけなければ
ならないことってありますか?
0068nobodyさん
2005/06/10(金) 11:42:59ID:???http://www.php.net/manual/ja/
0069nobodyさん
2005/06/10(金) 13:23:26ID:???単なるCGIとして運用されてる場合は、余り違いは無いのだが
今時、多くの場合CGIはsuExecと組み合わせて動かされている。
その場合CGIは所有者の権限で実行されるので、サーバモジュール版で
スクリプトがサーバの権限で実行されてるのと異なるため注意が必要。
具体的にはディレクトリ/ファイルの読み書き、新設、削除とかね。
まあ、他にも相違が結構あるのでマニュアル参照
0070nobodyさん
2005/06/10(金) 13:29:41ID:???くだ質コーナーなんだから
ちゃんとこたえてやれよー
あるかないかって聞いてるんだから
「ない」でいいじゃない。
0071nobodyさん
2005/06/10(金) 19:50:21ID:zc8ejILuクッションページ以外にimgタグによる不正投票を防ぐにはどうすればよいでしょうか。
ご存知の方がおられましたら教えてください。
0072nobodyさん
2005/06/10(金) 19:55:11ID:???0073nobodyさん
2005/06/10(金) 23:45:36ID:oNM+WEuuこの画像掲示板を、画像だけほかの鯖に飛ばせるようにできませんかね?
画像様の鯖借りてそこに画像をUPさせるみたいな
0074nobodyさん
2005/06/11(土) 00:23:22ID:???結構面倒。必要な機能が鯖によってはoffにされている場合がある。
オイラならそんな面倒&不確実な事をするより、素直に別の鯖に設置するな。
007573
2005/06/11(土) 00:33:06ID:Yzuy6L1g有料のCGI作成の依頼をした場合結構金かかりますかね?
0076nobodyさん
2005/06/11(土) 01:26:40ID:???0077nobodyさん
2005/06/11(土) 04:07:27ID:wjIS0kuwSocketでデータ送信やFTPでアップロードぐらいしか自分には思いつかないのですが、
どなたかご教授して頂けると嬉しいです。
0078nobodyさん
2005/06/11(土) 09:22:20ID:JxmTPzAIすかしたら、具がでて、ぱにくってトイレいってさ
そしたらPHPの本トイレにわすれちまって
とりにいったらなかったよ・・・俺の本持っていったのおまえらか?
0079nobodyさん
2005/06/11(土) 09:44:35ID:???0080nobodyさん
2005/06/11(土) 10:59:13ID:???0082nobodyさん
2005/06/11(土) 16:44:34ID:g5OnHelk0083nobodyさん
2005/06/11(土) 18:53:31ID:KxymZ9Ms0085nobodyさん
2005/06/12(日) 06:08:46ID:???ま た ノ ー エ ア ー う ん こ か
0086nobodyさん
2005/06/12(日) 15:17:59ID:???0087nobodyさん
2005/06/12(日) 15:48:43ID:???var $man = '';
var $woman = '';
function setName($manName, $womanName) {
$this->man = $manName; //自分のインスタンスのメンバ変数manに代入
$this->woman = $womanName; //自分のインスタンスのメンバ変数manに代入
}
function doKoubi() {
print 'はぁはぁあんあん';
}
}
$sex = new Sex(); //Sexクラスのインスタンスを生成、$sexに代入
$sex->setName('切込隊長', 'ひろゆこ'); //SexのsetName()を呼び出す
$sex->doKoubi();
0089nobodyさん
2005/06/12(日) 16:12:08ID:???とりあえず、レスサンクス
で、質問
setNameは何してるの?
class Sex {
function doKoubi() {
print 'はぁはぁあんあん';
}
}
$sex = new Sex();//Sexクラスのインスタンスを生成、$sexに代入
$sex->doKoubi();
これにした時と出力に違いが見えないから、
どういう風に動いてるのかがよくわからない…
0090nobodyさん
2005/06/12(日) 16:50:25ID:???仕方ないから表紙を使ったよ。硬くて痛かった。
0091nobodyさん
2005/06/12(日) 16:53:03ID:094WCNrp各種用語(インスタンスだのコンストラクタだの)の概念が
そもそも理解できない&それらを詳しく説明してる本やサイトが少ないので
クラスを勉強する気が2分で萎えます。
なんかそういう難しい専門用語・概念が当然のように使われてるけど、
初心者にとってはまったく意味不明。ついでに言えばクラスの必要性もよく分からない。
0092nobodyさん
2005/06/12(日) 17:04:17ID:???単なる関数の集合体とでも思って実際に作っていけばそのうち分かってくる。
0093nobodyさん
2005/06/12(日) 17:05:18ID:???0095nobodyさん
2005/06/12(日) 17:07:46ID:???これで納得していただけるだろうか
class Sex {
var $man = '';
var $woman = '';
function setName($manName, $womanName) {
$this->man = $manName; //自分のインスタンスのメンバ変数manに代入
$this->woman = $womanName; //自分のインスタンスのメンバ変数manに代入
}
function doKoubi() {
print "{$this->man}: ええか?ええか?ええのんか?\n";
print "{$this->woman}: はぁはぁあんあん\n";
}
}
$sex = new Sex(); //Sexクラスのインスタンスを生成、$sexに代入
$sex->setName('切込隊長', 'ひろゆこ'); //SexのsetName()を呼び出す
$sex->doKoubi();
0096nobodyさん
2005/06/12(日) 17:17:45ID:???わざわざどもです。
わかりやすくて助かりました。
色んなページを探してるんですがなかなか見つからなくて、
->を使っていてもそれについての解説が無かったもので…
「->」 は 「の」 と解釈すればOKみたいですね
0097nobodyさん
2005/06/12(日) 17:23:47ID:???書店のオブジェクト指向の本って使える?
いや、オブジェクト指向そのものについての理解は得られるのは間違いない。
だけど、それを実際の仕事に適用しようとすると壁にぶつかる。
というのは実際の業務やら仕事をどういった単位でオブジェクトにしていいかが分からない。
0098nobodyさん
2005/06/12(日) 17:37:26ID:???XFR 2 NS 207.46.0.41:1863 0 207.46.104.20:1863 という文字列から「207.46.0.41」という
文字列(はじめに表示されているIPアドレスの部分)のみを取り出したいと思っています。
この値はランダムで変化するので正規表現を使うべきだと考え、以下のスクリプトを書きました。
preg_match("/XFR 2 NS ([0-9]{1,2,3}\.[0-9]{1,2,3}\.[0-9]{1,2,3}\.[0-9]{1,2,3})/", 'XFR 2 NS 207.46.0.41:1863 0 207.46.104.20:1863', $matches);
ところが、matchesに値が代入されていませんでした。何が悪いのか、教えて頂けますか?
0099nobodyさん
2005/06/12(日) 18:08:18ID:???反復指定子 { } はパラメータを2つだけ取るから。
{1,2,3} -> {1,3}
正規表現のエラーのならないのはなんでかシラネ
0101nobodyさん
2005/06/12(日) 22:40:04ID:IlkizvUK自宅サーバーに貰い物のPHPプログラムを入れてみようとしているのですが、
perlやPHPに関して勉強不足のため、自力で解決できませんでした。
環境はRH9.0 apache1.3 posatgreSQL7.3 php4.3 qmail1.03
全てソースからコンパイルしてのインストールです。
メールを受信してデータベースに保存するphpプログラムなのですが、
qmail > php実行ファイル > pear > mimeDecode.php > PostgreSQL
という動きのようです(自己判断)
PHP(CLI版)実行ファイルでのパスの指定先の判断に迷っています。
#!/usr/bin/php -q
ini_set('include_path','/home/user/public_html/lib:/usr/share/pear');
include_once 'Mail/mimeDecode.php';
phpとpearはデフォルト記述のパスには存在しなかったので修正する必要があるようなのですが、
自分なりに修正しても正常に働きませんでした。
which php と which pear で両方とも/usr/local/bin/以下にある事を確認しました。
ただ、phpは/usr/local/lib/php/というディレクトリも存在しています。
果たしてphp(cli版)のパスとはどちらの事なのでしょう?
pearも/usr/local/lib/php/PEAR/というディレクトリが存在しますが、こちらは
大文字なので違うだろうなぁと判断しました。
mimeDecode.phpは/usr/local/lib/php/Mail/の中にはいっていました。
フルパスで指定しなくても大丈夫なのかな?
プログラム固有の指定かもしれないのですが、もし一般的な指定方法があるのでしたら
教えて頂ければと思います。
0102nobodyさん
2005/06/13(月) 00:35:07ID:???Windows環境でPHP5を使っているのですが、マルチスレッドプログラミングをするにはどうしたら
いいのでしょうか?
0103nobodyさん
2005/06/13(月) 01:07:36ID:???0104nobodyさん
2005/06/13(月) 01:28:26ID:JEep+xPl上記APNICの国別IP範囲一覧をもとに、中国・韓国のIPを全てブロックしたいんですが、
CIDR欄にあるネットマスク(?)表記をそのまま.htaccessに利用できますか?
0105nobodyさん
2005/06/13(月) 01:29:31ID:???ディストリビューションのbinディレクトリ以下にあるのがcli版PHP
同じ場所にあるpearという実行ファイルはpearのパッケージをインストールするためのソフト。
pearのinclude先は /usr/local/lib/php/PEAR/の方
ちなみに、/ur/local/lib/php/はphpが利用するライブラリ類を突っ込むところ。
0107104
2005/06/13(月) 01:31:00ID:JEep+xPlhttp://cgi.apnic.net/apnic-bin/ipv4-by-country.pl?country=kr
上記APNICの国別IP範囲一覧をもとに、中国・韓国のIPの場合、特定ページに
飛ばしたいんですが、.htaccessじゃなく、PHP内の処理で行いたいです。
外部テキストファイルに上記データベースにあるIPネットマスクを記述して、
PHPでそれを読み込ませて処理したいんですが、どんなルーチンを作ればいいでしょうか。
0110104
2005/06/13(月) 01:45:35ID:JEep+xPlどこにもネットマスク関連はなかったです。。前々スレでしょうか?
0111nobodyさん
2005/06/13(月) 07:05:37ID:???その中の記事で、クレジットカードなどの機密情報は暗号化してから
データベースに入れろ、と書いてありました。(p.145)
でも、MD5で暗号化しちゃったら、不可逆なので、データベースに
入れた情報を取り出せなくなる(復号化できない)と思うのですが…??
あと、そもそもMD5関数はどんな場面で使う意味があるのでしょうか??
復号化できない暗号化なら、前述のように意味がない気がするのですが。
(おそらく皆さんからすれば超初心者的な間抜け発言だと思います。すみません)
0112nobodyさん
2005/06/13(月) 09:51:02ID:X5R6PEXU今までは$bad_hostsにヒットしたユーザーには403ではなく偽装404を見せてたんですが
ホストチェックだけでなくリンク元もチェックする必要が出て来ました。
$bad_hosts = array('/^.*\.xx$/','/^.*\.xx.net$/','/^.*\.xx.net$/','/^.*\.xx.com$/');
$remote_host = gethostbyaddr($_SERVER['REMOTE_ADDR']);
$bad_ref = array(「yahoo」とか「google」とか「^http://ime\.st/*」);
$referer = $_SERVER['HTTP_REFERER'];
if( $bad_refが含まれてたら〜 ){
include("404.php"); #偽装
exit();
}elseif (preg_replace($bad_hosts, null, $remote_host) == $remote_host)
{
include("403ok.php"); #普通の403
exit();
}else{
include("404.php"); #偽装
exit;
}
$bad_refのarrayの書き方も去る事ながら、一回目のifの式の書き方もようわからんです。
ボスケテ。
0113101
2005/06/13(月) 11:22:20ID:???ありがとうございます。
そうすると、一行目の「#!/usr/bin/php -q」は
「#!/usr/local/bin/php -q」とパス指定するのが正しいようですね。
pearのほうは、/usr/local/bin/pearだと、pearコマンドを実行するファイル
を呼び出す事になってしまいますね。
そうすると、/usr/local/lib/php/PEARが正しいようですね。
3行目のincludeはフルパスで記述してみます。
実際のところ、pearがどうような働きをするのか理解していません。
なんとなく、PHPとDBを繋ぐインターフェイスみたいなもの?と感じています。
さて、無事動くといいのですが・・・ちょっとやってきます。
0114nobodyさん
2005/06/13(月) 14:58:32ID:???復元する必要のある情報をMD5かけてはだめ。
パスワードなどの直接値が必要ないものを照合するときにMD5する。
データベースの暗号化するかしないかはむずかしい。
どのみちKeyをPHP内に書かなければいけないのでその工夫次第。
どうせばれるなら、とそのまま書くのも悪くないとは思うけど。
やっぱりKeyの格納方法次第だね
0115nobodyさん
2005/06/13(月) 15:07:00ID:???require文とinclude文の使い分けが理解できましぇん。
どのような場面で使い分けるのが賢いやり方でしょうか?
0117nobodyさん
2005/06/13(月) 20:58:51ID:S8y0i9cb△の部分のものはfunctionで設定した部分を表示させるにはどうしたら良いでしょうか?
0118nobodyさん
2005/06/13(月) 20:59:26ID:???ひとつ聞いてみたいんだけど、何で(どこで)PHP覚えたの?
>115さんだけじゃないけど、○○○って関数は知ってるけど、
どういう時に使えばいいのか分かりません、って質問多いよね。
マニュアル読んでれば、普通に書いてあることなんだが・・・。
純粋にどうやって覚えていってるのか(いくつもりなのか)、すごい気になる。
0120nobodyさん
2005/06/13(月) 21:09:22ID:???function ***(){
○○○
}
URLはhttp://〜?mode=***
という感じで、そこにアクセスすると、function内で設定した
○○○の部分だけが表示される
という、掲示板とかで見かけるもののやり方がいまいち分からないのです。
0121nobodyさん
2005/06/13(月) 21:13:47ID:???test();
}
こう?
0122nobodyさん
2005/06/13(月) 21:15:59ID:???function外のものも表示されてしまって。。
0123nobodyさん
2005/06/13(月) 21:20:24ID:???0124nobodyさん
2005/06/13(月) 21:27:02ID:???これで良いのでしょうか
if ($_GET['mode'] == 'test1') {
test1();
}
elseif ($_GET['mode'] == 'test2') {
test2();
}
else{
print "<a href=\"$PHP_SELF?mode=test1\">テスト1</a>\n";
print "<a href=\"$PHP_SELF?mode=test2\">テスト2</a>";
}
function test1() {
print "テスト3\n";
}
function test2() {
print "テスト4\n";
}
0126nobodyさん
2005/06/14(火) 01:47:12ID:???いいんじゃないかな。
そのサンプルだと必要部分だけ書いたファイルをつくって
includeするとかでもいけそうだが。
0129nobodyさん
2005/06/14(火) 05:47:19ID:???みんながみんなオンラインマニュアルを
読みながらやってるわけじゃないってことですよ。
いちいち質問してくるやつが嫌なら答えなければいい。
自分なりに調べてみたがわからなかった、調べ方自体がわからない、
というような人間も存在するわけで、
そういう人間のためにこの場があると、俺は解釈しております。
0130124
2005/06/14(火) 06:49:06ID:???やはり勉強が足りなかったようですね。
勉強します。
0131nobodyさん
2005/06/14(火) 07:32:02ID:???>>118じゃあないが、マニュアルも見ずに質問っていうのは
フォローしきれないよ。
あのマニュアル見て「調べ方がわからない」と言える事がすごいね。
あんな親切なマニュアルなんて滅多にないと思うが。多言語と比べて。
0132nobodyさん
2005/06/14(火) 08:40:50ID:???エディタのヘルプに指定すればキーワードダブルクリック+F1キーで一発参照できるし。
0133nobodyさん
2005/06/14(火) 08:57:11ID:???使い分けが面倒。。。
変数を展開せず、エスケープシーケンスは認識してくれるってのが
ありがたいんだけど。
皆さんはどうされてます?
0134nobodyさん
2005/06/14(火) 09:04:11ID:???マニュアルの存在自体を知らないやつもいるだろう。
問題なのは、このスレの>>1-5あたりに
オンラインマニュアルみてから質問しろというような趣旨の
書き込みがないことだ。
次スレから
>>1にオンラインマニュアル読んでから質問すること(URLつき)とか
付け加えたほうがいいと思うんだがね。
0135nobodyさん
2005/06/14(火) 09:30:45ID:???0137nobodyさん
2005/06/14(火) 09:50:43ID:???いや、職業柄、いろんなヤシを見てるが、
調べ方が本当にわからない奴がいるのは事実。
だけど人材が少ないので、お前、プログラマ辞めたら?
とは言えない。。。
0138nobodyさん
2005/06/14(火) 10:06:01ID:???気軽にこたえてやろーぜ
0141nobodyさん
2005/06/14(火) 10:23:45ID:???例えば、"php include require"でぐぐってみれ
先頭のリンクだけでも、十分2つの違いは理解出来るはず
調べ方が分からないって、上に書いたみたいなことすらも出来ないもんかね
だとしたら、PHP以前に根本的なとこでかなりやばいと思うぞ
それとも、2chは知ってるけど、Googleは知らないっていうのか?
もっと向上心(上に書いたようなことは向上心とかいうレベルじゃないが)を
持たないと、Hello worldから先には進めんぞw
0143nobodyさん
2005/06/14(火) 12:37:57ID:???Googleは知ってるだろうけど、
検索の正しい仕方がわからないっていうやつもいるもんだよ。
"php include require"というように、
ワードを区切るのがあたり前と思ってるんだろうが、
"includeとrequireの使い分け"とか一文で検索しようとするやつもいる。
キーワードが長文になるほど、HITする数が少なくなるわけだが、
調べてる本人にとっては、こんなもんしか資料がないのかと思うわけだ。
それで行き着く先はこのような質問系の板。
0144nobodyさん
2005/06/14(火) 13:09:57ID:???0146nobodyさん
2005/06/14(火) 16:14:31ID:???んなこと言ってたらキリが無いわけだが。
そもそも暇人が暇な時に暇つぶし程度に教えるこのスレに何を期待しているのか。
そこまで言うならば自分が理想の答え方をしてやればいい。
その為のスレなんだろ。
> >>1にオンラインマニュアル読んでから質問すること(URLつき)とか
> 付け加えたほうがいいと思うんだがね。
【PHP】質問スレッドpart28【php】
http://pc8.2ch.net/test/read.cgi/php/1115281031/l50
0147nobodyさん
2005/06/14(火) 16:44:06ID:???iniの問題だと思いますがどこを直せばいいのかわかりません ヘルプ!
0148nobodyさん
2005/06/14(火) 16:54:07ID:???session.use_only_cookies
session.use_trans_sid
を関数などで変更できますか?
0149148
2005/06/14(火) 16:56:21ID:???実際のphp.iniの設定ではなくて
トランザクション内での変更です。
念のため。
0151nobodyさん
2005/06/14(火) 17:10:12ID:???忘れてました
Parse error: parse error, expecting `')'' in ...
0154nobodyさん
2005/06/14(火) 17:21:35ID:???5.0.4 から 4.3.11
php.ini見たらallow_call_time_pass_referenceはOnになってました
0155nobodyさん
2005/06/14(火) 17:36:20ID:???一応の目的はこれで達成できると思われ。
function foo($bar="hoge"){
$bar = $bar."hoge";
}
$bar = 'huge';
foo(&$bar);
print $bar;
0156nobodyさん
2005/06/14(火) 18:11:50ID:???調べ方もわからない奴が戦力になるとは思えないんだけど、
どうだろう?
育て中って事?
パソコン初心者でプログラム初心者だからって事ならまぁわかる。
で、ここで質問->マニュアル読めって流れで
マニュアル読むことを覚えていいじゃないか。
0157nobodyさん
2005/06/14(火) 18:26:50ID:???0158nobodyさん
2005/06/15(水) 01:38:17ID:???関数化する前ちゃんと動いてたんだけど
関数化したら動かなくなって(つД`)
因みに必要と思われる変数はglobalしてます
0159nobodyさん
2005/06/15(水) 02:28:05ID:???0160nobodyさん
2005/06/15(水) 03:06:11ID:???グローバル変数なんかめったやたらに使うなドアホ。
バグの原因じゃボケ。
>>159
なにが自己解決したのか言え。ドアホ。
0161nobodyさん
2005/06/15(水) 03:42:55ID:???>>160のいうようにglobalを使うのは避けた方がいい。
関数内で変更する必要のない変数は値渡しをして、変更する変数はリファレンスで渡すようにする。
こうする事で、何が変更されるのかが明確になるし、デバッグ時にも注目する部分が減るというメリットもある。
globalを使うと、極端な話、コードのあらゆる個所で変更される可能性がある事になる。
0162nobodyさん
2005/06/15(水) 08:23:11ID:???たしかにglobalを普段使うのは危険だけどさ、usortとかに指定する比較関数に値を渡したくても渡せないときってどうしてる?漏れはglobalしか思い浮かばなかった。
なんていうか、ソートしている間はずっと値が変わらないけど比較には使う値をどう渡すかってこと。
staticも考えたけど、ソート時に内部で何度も呼び出される関数に、func_get_*()とかで無駄に場合分け増やしたくないってのはわがまま?
0163nobodyさん
2005/06/15(水) 11:27:46ID:???0164nobodyさん
2005/06/15(水) 11:48:13ID:???めったやたらに使うなということで必要なら使ってかまわないでしょう
グローバルな設定値とかを$cfg['hoge']とかの配列に入れて関数内でglobal $cfgとか普通に使ってる
0165nobodyさん
2005/06/15(水) 13:19:32ID:???連想配列として
$item[$_GET['mode']] = '2get';
ってやったときに$itemから連想文字を
取得したいときはどうすればいいの?
0168nobodyさん
2005/06/15(水) 14:02:25ID:???ありがと。
>>166
PHPは昨日から始めたばっかりで・・・かたじけない。
配列の操作に関してはarray_なんたら関数を調べれば
いいのねってことが分ったので・・・ありがと。
0169nobodyさん
2005/06/15(水) 14:05:00ID:???<?php
extract($_POST);
if($jsh<>''){
mysql_connect(localhost,root,pppppp);
mysql_select_db(db01);
$sql = "insert into kojindata values('$jsh', '$sim', $nen, $shk, 0)";
mysql_query($sql);
$jsh = '';
echo "データを登録しました<br />";
echo "登録を続けますか <a href=\"kojin.php\">続行</a>";
exit;
}
?>
以下に続きます。
0170nobodyさん
2005/06/15(水) 14:05:19ID:???<form action="kojin.php" method="post" >
<p>住所:<input type="text" name="jsh" size="40"></p>
<p>氏名:<input type="text" name="sim" size="40"></p>
<p>年齢:<input type="text" name="nen" size="40"></p>
<p>職業:<input type="text" name="shk" size="40"></p>
<input type="submit" value="登録">
<input type="reset" value="リセット">
</form>
「kojin.php」内のスクリプトです。
まず「住所」「氏名」などのフォームが現れ、そこに入力されたデータを
テーブル「kojindata」に送りレコードを追加、その後に登録を続けるかと
メッセージが出ます。
if文の$jsh(冒頭から4行目)は、17行目の"jsh"の事を言っているのでしょうか。
そして意味としては「もし$jshが空白で無かった場合」でいいんですよね?
9行目の「$jsh = '';」は「$jshに空白を代入する」と言う意味でいいんですか?
流れが良く分かりません。度素人なんです。よろしくどうぞ。
0171nobodyさん
2005/06/15(水) 14:28:05ID:???別に配列がらみはarray_なんたら関数だけではない。
マニュアルとかで配列の項をみたら?
あとは、「php 配列」でぐぐればいくらでもでてくるし。
本だっていっぱいあるんだから、入門書を一冊ぐらい買ってみたら?
0173nobodyさん
2005/06/15(水) 15:38:26ID:???暇だから解説しよう
formからmethod post で送られたデータはPHPで$_POST['フォームのネーム']という配列に代入される
$_POST['jsh'} に住所の項目で入力された値が入るってことだね
そのスクリプトは$_POSTをextractで展開している
これで$_POST['jsh'} の値が$jshにもコピーされる。
住所さえ入力してあればデータベースに登録される
9行目の$jsh = '';は無くても問題ないはず
あとデータベースにクエリ投げる前に$jsh = mysql_escape_string($jsh); //他の項目も
0174nobodyさん
2005/06/15(水) 16:55:39ID:???else if (($i >= 10) and ($i < 20)) {...}
else if (($i >= 20) and ($i < 30)) {...}....
のようなのをswitch等で見やすく書くことはできないでしょうか。
switch ($i) {
case 1..9 : ...; break;のような感じだと見やすいと思うのですが…。
0175nobodyさん
2005/06/15(水) 17:10:23ID:???多分こんな感じでいけんじゃね?
switch ($i){
case 1: case 2: case 3: 〜 case 9:
処理;
break;
}
0177nobodyさん
2005/06/15(水) 17:17:19ID:???ありがとうございます。$iが1〜250あるんです。泣。
分岐としては【ほぼ】10番単位でいけるという。号泣。
0178nobodyさん
2005/06/15(水) 17:19:22ID:???0179nobodyさん
2005/06/15(水) 17:20:44ID:???0180nobodyさん
2005/06/15(水) 17:31:10ID:???>>179
【ほぼ】なんで、1例外として何番と何番はこうで
何番と何番はこうなって…で、残りを10で割って…
せめて1から順に、上から並べれば見やすくなるかなという気持ちです。
>>178
ループ処理といいますと?私が思いつくのは結局
for ($i = 1; $i < 251; $i++) {
if ($i < 10) {...}
else if (($i >= 10) and ($i < 20) {...}
else if ......
と結局、なんのためにforしてるのかわかんなくなっちゃいます。
0182nobodyさん
2005/06/15(水) 17:36:32ID:???ただ単にSQL文の組み立てなのですが、その$iに応じて、検索対象の
項目や値が変わってくるというありがちといえばありがちな…
前段と末尾は共通なのですけれど。
0184nobodyさん
2005/06/15(水) 17:57:08ID:???switch (method_for_value($i)) {
case METHOD_A: ...;
case METHOD_B ...;
}
function method_for_value($i){
$result=METHOD_UNDEF;
if (($i > 0) and ($i < 10)) $result=METHOD_A;
else if (($i >= 10) and ($i < 20)) $result=METHOD_B;
else if (($i >= 20) and ($i < 30)) $result=METHOD_C;
return $result;
}
保守性は上がると思ふ
0185nobodyさん
2005/06/15(水) 18:00:16ID:???そう思います。if文の羅列をコメント入りで書いてあります。
見やすくする意味で、switch(もしくはそんなようなの)を使えないかなという質問です。
0186nobodyさん
2005/06/15(水) 18:09:18ID:???なるほど、ループを使って省略というのは、そういうことですか。
確かに流れとして(という言い方でいいのかな)見通しが
よくなりますね。試してみます。ありがとうございます。
0187nobodyさん
2005/06/15(水) 18:41:32ID:???結局、25通りの何かの組み合わせなんでしょ。
だったら、予め配列に25個の項目名でも何でもぶち込んでおいて、
$num = int($i/10ゴニョゴニョ);
$select_table_name[$num];
とかで良いんでねぇの?
0188nobodyさん
2005/06/15(水) 19:32:10ID:???大した量じゃないなら>>187の配列を用意しておく方式もいいと思う。
0190nobodyさん
2005/06/15(水) 23:44:25ID:???おおよそ80通りです。好みといってしまえばそれまでなのですが
配列にするのであれば、ループで省略の方が見やすいように思います。
また、DBは別の方の管理のため、大事になりそうで…。
否定ではないです。アイデアとして当然ありの方法論と思います。
ありがとうございました。
0191nobodyさん
2005/06/16(木) 00:08:15ID:???>おおよそ80通りです。
>>177で言ってることとぜんぜん違うじゃネェか(w
250を【ほぼ】10で割って、どうやったら80になるんだ。
0192nobodyさん
2005/06/16(木) 07:36:20ID:???そのテーブルと同じ構造の(空の)テーブルを生成するためのSQL文を
作ることはphpスクリプトで出来ますでしょうか??
つまり、現在のテーブル構造を解析したいのです。
たとえばnameという名前でvarchar(10)のフィールドが1個、
furiganaという名前でvarchar(20)のフィールドが1個ある・・・みたいな
テーブル情報をスクリプトで取得して、それを元に、同じ構造の別のテーブルを作る
SQL文を自動生成したいのですが…)
0193nobodyさん
2005/06/16(木) 07:47:15ID:???マルチポスト
【PHP】質問スレッドpart28【php】
http://pc8.2ch.net/test/read.cgi/php/1115281031/663
0194nobodyさん
2005/06/16(木) 08:55:37ID:???不快に思ったらごめんなさい。【ほぼ】10で割るというのは
例えば、1-10の内、2と3が例外、11-20の内、15と18が例外という感じで
ほどんど10で割ってですが、例外が(実際はまちまちなんですが)2づつある。
10で割った25+2つづつの例外(25*2)で、これだけで75パタンになりますが。
ぜんぜん違いましたでしょうか。日本語が下手ですみません。
>>192
構造をひっぱってこれる関数があればできそうですが…。
DBによってあったり無かったりしたんじゃないかな。
MySQLとかpostgresならあったと思いますが、使ってないので
うろ覚えです。
0195nobodyさん
2005/06/16(木) 09:36:04ID:???で、結局何が訊きたかったの?
80通りの分岐があって、その処理を個別に記述したいんなら、
if〜elseif〜・・・でも、switch...case...case...でも何でもいいじゃん。
ってか、80パターンを全て記述した時点で、美しく無いと思うがな(w
0196nobodyさん
2005/06/16(木) 11:02:55ID:???微妙な設計のDBに出合った時はずらずら列挙するに限る。
if ($i < 1 || $i > 250) { 値おかしい }
switch ($i) {
// 例外1
case A1:
case A2:
case A3:
例外処理1;
break;
// 例外2
case B1:
例外処理2;
break;
// 通常手続き。ひとつのフィールドにいろんな意味持たせるんじゃねボケ
default:
switch (floor($i / 10)) {
case 0: 通常処理1; break;
case 1: 通常処理2; break;
case 2: 通常処理3; break;
}
}
0197nobodyさん
2005/06/16(木) 12:32:05ID:???$functable = array(
1 => "func_A",
2 => "func_A",
3 => "func_B",
4 => "func_C",
:
:
);
$func = $functable[$i];
$func();
みたいなん。
0198nobodyさん
2005/06/16(木) 12:48:44ID:???まぁそういうことなのでしょうね。
随所に
//ここにもマジックナンバー
とかの遠慮がちな批判コメントを見るとほほえましく思えます。
ありがとうございました。
0199nobodyさん
2005/06/16(木) 13:04:52ID:???0200ドラゴン
2005/06/16(木) 14:06:43ID:???と言う感じで読み込んだら、以下のエラーが出て困っています。
Warning: Cannot modify header information - headers already sent by (output started at ./index.php:11) in ./lib/common.php on line 57
./lib/common.phpの中には
function header()
{
header('Content-Type: text/html; charset=euc-jp');
}
があるんですが、どうすればエラーが出ないようにするのかわかりません。
もしよければご回答お願いします…。
0201nobodyさん
2005/06/16(木) 14:21:14ID:???0202ドラゴン
2005/06/16(木) 14:27:13ID:???ファイル名:test.php
<html>
<head>
<title>test</title>
<meta http-equiv="Content-Type" content="text/html; charset=euc-jp">
</head>
<body>
<table width="200" border="1">
<tr>
<td> <?php include("index.php"); ?> </td>
</tr>
</table>
</body>
</html>
0203nobodyさん
2005/06/16(木) 14:29:27ID:???0204nobodyさん
2005/06/16(木) 14:40:35ID:???ひょっとしたら
test.phpを
<?php include("index.php"); ?>
だけにしたら実行できないか?
0205ドラゴン
2005/06/16(木) 14:49:23ID:???0206ドラゴン
2005/06/16(木) 14:52:29ID:???function header()
{
header();
Warning: header() expects at least 1 parameter, 0 given
と警告が出ました…。
0207nobodyさん
2005/06/16(木) 15:00:59ID:???header関数を実行する前には、何も出力してはいけないのだよ。
だから、index.phpをインクルードした時点では、
すでに
<html>
<head>
<title>test</title>
<meta http-equiv="Content-Type" content="text/html; charset=euc-jp">
</head>
<body>
<table width="200" border="1">
<tr>
までが出力されているから、エラーになる。
index.phpの中身はどうなっているんだ?
0208nobodyさん
2005/06/16(木) 15:20:11ID:???マニュアルのheaderのページを見てごらん。
ttp://jp.php.net/manual/ja/function.header.php
headerを使う前にhtml要素(空白や改行でさえも)を出力してはいけない事や、
その制限を回避する方法(出力のバッファリング)の事が書いてあるから。
なにかの本・サイトに載っていたスクリプトがindex.phpで、
それに手を加えるために第一歩としてtest.phpの中で
そのままindex.phpをincludeしようとしたら、いきなりコケたって所かな?
0209nobodyさん
2005/06/16(木) 16:11:21ID:???{
header('Content-Type: text/html; charset=euc-jp');
}
???
PHPでは関数のオーバーロードはできないはずだが
0212nobodyさん
2005/06/16(木) 16:31:21ID:???mssql_fetch_arrayした時のdatetime型カラムの値が変なんだけど。。。
例えば 2005/06/16 11:12:13 だと 2005 6 16 11 12 と返ってくる。
フォーマットが違うのは対応できるけど、秒が落ちてしまっていて
使いもんになんねぇ。
0213nobodyさん
2005/06/16(木) 16:55:26ID:???header('Content-Type: text/html; charset=euc-jp');
ヘッダーが来る前に、多分どっかでなんかの文字が出力されてる気がする。
0214nobodyさん
2005/06/16(木) 16:55:48ID:???0215ドラゴン
2005/06/16(木) 16:56:41ID:???function header()
{
header('Content-Type: text/html; charset=euc-jp');
}
を消して、表示されるテンプレファイルに直接ヘッダを書いたらOKでした。
実際は、問題から逃げただけなんですが・・・(^^;
PHP難しいッス・・・。
どうもお騒がせしました
0216nobodyさん
2005/06/16(木) 16:57:50ID:???出力されたHTMLソースをみて、先頭の方にテスト残骸の「a」とかBOMとか怪しいものが無いかないかチェック
0217nobodyさん
2005/06/16(木) 16:59:52ID:???エラーメッセージがそういってますから間違いないでしょう
どっかでじゃなくてindex.phpの11行目で出力されてることもわかってます。
0218nobodyさん
2005/06/16(木) 17:03:05ID:???あのさ、index.phpの中でheader出力してて、
それをインクルードしているtest.phpが既にhtmlはいてるんだよ。
0221nobodyさん
2005/06/16(木) 17:12:08ID:???$hoge = hogehoge()[0]とかするやり方ってありませんか?
今は、
$hoge = hogehoge();
$hoge = $hoge[0];
ってやってるのですが、もっと簡単に書くやり方あったら教えてください。
0224nobodyさん
2005/06/16(木) 19:29:59ID:???0225nobodyさん
2005/06/16(木) 23:20:32ID:???ssiでincludeして表示する負荷は同じですか?
0226nobodyさん
2005/06/16(木) 23:55:37ID:???0227nobodyさん
2005/06/17(金) 00:15:38ID:???0228nobodyさん
2005/06/17(金) 00:40:43ID:???ログインページと認証後のメインページがあって
認証後のメインページにはログインページでセッション発行してる人しかこれないようにしたいんです。
URL直打ちとかでメインページに来た人でセッション発行されてなければ
強制的にログインページに飛ばしたいのですが。
ログインページ.php
<?php
session_start();
$_SESSION['user'] = 'お客様';
?>
メインページ.php
<?php
session_start();
if ($_SESSION['user'] = false){
}
if文のところで値のない(ヌル値)人は別ページに飛ばす場合のif文の書き方などがいまいちわかりません。
わかりにくいかもしれないですが、教えてエロイ人!
0229nobodyさん
2005/06/17(金) 00:48:09ID:???if文には条件式を書きます。代入式ではありません。
変数が存在するかどうかを確認するには、isset()を使うとよいでしょう。
0230nobodyさん
2005/06/17(金) 00:57:58ID:x3OuW/uyこれを/index.phpの中にincludeしたとします。
この場合、index.phpが基準になってしまうんですが、
これでは、階層レベルの違うところから/code/funcs.phpを利用すると内部のパスがおかしくなってしまうんですが、なんかうまい方法(関数)はないのでしょうか?
funcs.phpと同一階層にあるdatというディレクトリの中のdata.datを常に参照したいです。
0231nobodyさん
2005/06/17(金) 00:59:41ID:???計ってないけどおそらくSSI。
CGI版PHPとなら間違いなくSSI。
>>228
if($_SESSION['user'] == 'お客様')
header()でRedirectするなり、エラーページをだすなり。
細かいけど、セッションはサーバーとクライアントのやり取りのことだから、「セッションを発行」というのはおかしい。クッキーとごっちゃになってない?
0232nobodyさん
2005/06/17(金) 01:11:27ID:???ありがとうございました。
色々勘違いしてましたが isset にて目的達成できました。
参考までに。
<?php
if (isset($_SESSION['user'])) {
echo '既に認証しています。';
} else {
echo '認証していません。';
}
?>
0233nobodyさん
2005/06/17(金) 01:14:04ID:???言い方がおかしかったですね。
また、セッションとクッキーの違いについても正しく認識してないと思います。
お手数おかけしました。
0235nobodyさん
2005/06/17(金) 04:56:10ID:???1文字ずつ配列に入れていくのは文字が多いので大変です。
なのでアスキー文字から日本語に変換したいのですが、chr()では無理でした。
上手い方法ってありますか?
0236nobodyさん
2005/06/17(金) 05:31:21ID:???上位バイト・下位バイトに分けた時にそれぞれ特定のbit列(いいかえれば数値)しかもたないから、
それぞれにランダムな数値を割り振ってpackあたりで引っ付けて出力すればいいんじゃないかな。
0237nobodyさん
2005/06/17(金) 05:52:56ID:???getのように〜?hoge=hugaと簡単にはいきませんか
0238nobodyさん
2005/06/17(金) 06:22:41ID:???function post($url,$postdata) {
require_once "HTTP/Request.php";
$req =& new HTTP_Request($url);
$req->setMethod(HTTP_REQUEST_METHOD_POST);
foreach ($postdata as $key => $value) {
$req->addPostData($key, $value);
}
if (! PEAR::isError($req->sendRequest())) {
$response = $req->getResponseBody();
} else {
$response = "";
}
return $response;
}
0239238
2005/06/17(金) 08:01:53ID:???どういう方法でやれば書き込めるのかお知恵を拝借したい
0240nobodyさん
2005/06/17(金) 08:09:32ID:???0241nobodyさん
2005/06/17(金) 08:56:22ID:???スクリプトが実行されるのですが、
htmとしたときはスクリプトは実行されず
<?php・・・・・?>のコードごとブラウザに送信されます。
どうも拡張子によって展開できないようなのですが
これはどこの設定により変えることができるのでしょうか?
0245nobodyさん
2005/06/17(金) 12:02:47ID:???よくよんでないけど、ここ参考にならんか?
【p2】PHPでつくった2ch viewer【part26】
http://pc8.2ch.net/test/read.cgi/software/1118476501/
0246192
2005/06/17(金) 13:42:51ID:WoohunCDDBはMySQLですが、スクリプトから操作したいのです。。。
そういう関数って無いですよね? テーブル構造を分析するような関数。。。
0248nobodyさん
2005/06/17(金) 13:49:28ID:???試してないけど、
mysql_list_tables、mysql_field_flags、mysql_field_len、mysql_field_name、mysql_field_type
辺りの関数でなんとかなるんぢゃないの?
0250nobodyさん
2005/06/17(金) 14:15:28ID:???使い方が分からなければ、phpMyAdminのソースでも読むとか
0251nobodyさん
2005/06/17(金) 15:57:01ID:???http://dev.mysql.com/doc/mysql/ja/show-create-table.html
0253nobodyさん
2005/06/17(金) 16:34:15ID:???http://dev.mysql.com/doc/mysql/ja/getting-information.html
構造の分析は自前で汁
0254nobodyさん
2005/06/17(金) 17:14:59ID:???// ランダム表示設定(表示コメント|URL)
$banner = array(
'【コメント(タグ可)】|【URL】',
);
function rnd_banner($banner){
mt_srand((double)microtime()*1000000);
$num = mt_rand(0,(count($banner)-1));
//コメント,URL分割
list($comment,$url) = explode("|",$banner[$num]);
//タグ生成
$display_banner01 = '<a href="'.$url.'">'.$comment.'</a>';
return $display_banner01;
}
$display_banner01 = rnd_banner($banner);
?>
----------------------------------------
これを「コメント|URL」の区切りでなく、「コメント(タグ可)」のみの
ランダム表示スクリプトにしてください。お願いします。
0256nobodyさん
2005/06/17(金) 18:35:55ID:j6Wl64CO0257nobodyさん
2005/06/17(金) 18:45:23ID:???0258nobodyさん
2005/06/17(金) 18:53:46ID:???echo "ああああ {$_POST['hoge']} あああ";
{}で囲ってるのは変数ですよって意味
でもこっちの方が多少速い
echo "ああああ ".$_POST['hoge']." あああ";
まちがいかもしれないっすけど
0259nobodyさん
2005/06/17(金) 20:10:53ID:???echo 'ああああ '.$_POST['hoge'].' あああ';
の方がいい。
””だと中に変数があるか探すから。
0260nobodyさん
2005/06/17(金) 20:12:59ID:???0261nobodyさん
2005/06/17(金) 20:30:40ID:???PHPから'を含むSQLをMySQLに投げたいんだが、
<?
$test = "what's";
$test = Mb_Ereg_Replace("'","\'",$test);
$sql = "select * from tb where aa = '{$test}'";
MySql_Query($sql);
echo MySql_Num_Rows($sql);
?>
みたいな感じで書いても0しか返ってこないんだ。
何が悪いんだろう…
スレ違いだったら謝る。
0262nobodyさん
2005/06/17(金) 20:36:45ID:Y+HIW1Mt0263nobodyさん
2005/06/17(金) 20:44:34ID:???0が表示されているっつーのも変な気が。。。コピペミスかのぅ。
'のエスケープ以前に、MySQL関数の使い方が間違ってるので、
マニュアルのmysql_queryとmysql_num_rowsのページを良く見てみ。
つーか、SQL文に突っ込むと困る文字をエスケープするための関数もある。
0264nobodyさん
2005/06/17(金) 20:49:25ID:???int result = mysql_query ( string query, int [link_identifier])
int value = mysql_num_rows ( int result)
0265261
2005/06/17(金) 20:55:42ID:Y+HIW1Mtサンプル打ってて間違えたー。
$result = MySql_Query($sql);
echo MySql_Num_Rows($result);
の間違い。
AddSlashesの存在はさっき気付いた。
でも変更しても解決しないよー
0266nobodyさん
2005/06/17(金) 21:00:24ID:???一度、素直にベタのSQLを走らせて切り分けてみたら?
what's を what''s(シングルクォート2つ)にするのを忘れないように。
$sql = "select * from tb where aa = 'what''s'";
$result = MySql_Query($sql);
echo MySql_Num_Rows($result);
0267261
2005/06/17(金) 21:07:20ID:Y+HIW1Mt駄目でした。
因みに
$sql = "select * from tb where aa = \"what\'s\"";
$sql = "select * from tb where aa = \"what''s\"";
でも駄目
もう何が悪いのか微塵も解らないよorz
0268nobodyさん
2005/06/17(金) 22:38:37ID:???そもそもクエリ自体が成功してるのか、mysql_errno()とかmysql_error()で確認汁。
またPHPからだけじゃなくて、mysqlのプロンプトで同じSQL打ってみ。
あとmagic_quote_runtimeがOffになってるのか再確認。
0270261
2005/06/17(金) 23:39:41ID:Y+HIW1Mt該当件数無しで帰ってきました。
該当レコードは間違いなく存在する状態で、です。
magic_quote_runtimeはOFFでした。
これ以上はDB板の方で利いた方がいい内容でしょうか…。
0271261
2005/06/17(金) 23:50:01ID:???何故か普通に動作しました。
結局原因は不明ですが、解決いたしましたのでご報告。
アドバイス有難うございました。
それと、ごめんなさい。
0272nobodyさん
2005/06/18(土) 00:05:18ID:???原因不明で解決つう余り望ましくない結果で収束したが、
(原因不明だと、根本的に解決したわけじゃないから)
プロンプトから直に投げても望まない動作だとわかった時点で、
ここを切り上げて、DB板のMySQLスレに移る。
本当は最初からPHPなのかDBMSなのか自分で切り分けるのが良いんだけど、
まあ自分で切り分けが最初に出来なければ、それはそれで仕方がない。
0273nobodyさん
2005/06/18(土) 01:30:43ID:???知識が無くても天と地の差が・・・
0274nobodyさん
2005/06/18(土) 01:37:31ID:QW3Qffbrぐぐっても出てこないです
0275nobodyさん
2005/06/18(土) 01:42:17ID:QW3Qffbrスマソ
0277nobodyさん
2005/06/18(土) 05:48:57ID:???0278nobodyさん
2005/06/18(土) 08:47:57ID:???0280nobodyさん
2005/06/18(土) 10:50:07ID:???0283nobodyさん
2005/06/18(土) 12:25:26ID:???文字列 12 から翌月の 01 を求めたいんだが..
誰か教えて下さい。
0284nobodyさん
2005/06/18(土) 12:39:01ID:???0285nobodyさん
2005/06/18(土) 12:50:31ID:???お前にはマニュアルの見方を教えてやろう。
まずお前が探しているのは日付関数だ。
ということでとりあえず
http://www.php.net/manual/ja/ref.datetime.php
を開く。つぎにこの中を全部見る勢いで読みふける。この程度なら読めるだろ。日本語だし。
で
http://www.php.net/manual/ja/ref.datetime.php
にたどり着くわけだ。
0286nobodyさん
2005/06/18(土) 13:06:14ID:???0288nobodyさん
2005/06/18(土) 13:29:04ID:hdLIfWAD借りているサーバーではサブドメインでのPHPが利用できないのですが
サブドメインで表示できるようにしたいのですが方法はありますか?
0289nobodyさん
2005/06/18(土) 13:50:12ID:???0290nobodyさん
2005/06/18(土) 13:53:45ID:???0291nobodyさん
2005/06/18(土) 13:58:16ID:???1. 俺がこれから指定する銀行口座に1000円入金する。
2. 小一時間待つ
3. このスレに希望のソースコードが貼られる。
0293nobodyさん
2005/06/18(土) 14:24:51ID:???以前はそれでやってたんだが
偽装パケット攻撃かなんか?の問題で急に
に本ドメインのphp自体を停止された(鯖側は一切否定)
サーバー側では一切弄ってませんとか言ってたけど
他のPHPがすべて使えなくなったから鯖側でいじったのは間違いない
0296nobodyさん
2005/06/18(土) 16:32:43ID:ify5TbYf検索してもなかなか見つからなくてorz
0297nobodyさん
2005/06/18(土) 16:39:00ID:???echo $row["abcde"];
echo "\"> ほげ </a>";
これを一行にはできないのでしょうか?
echo "<a href=\"aiueo.php?id=$row["abcde"]\"> ほげ </a>";
上記ではだめでした。分かってなくて済みません。
0298nobodyさん
2005/06/18(土) 16:42:03ID:???0299nobodyさん
2005/06/18(土) 16:53:19ID:???すごい、一発で出来た・・。ありがとうございます。
$row["abcde"] を" .と. "で囲んでいますね。これの意味は
どういう事でしょうか。echoの次にHTML文以外の言語を用いるときに
使うとか?
0300nobodyさん
2005/06/18(土) 17:16:43ID:???"(クオーテーション)は文字列の開始・終了。
.(ピリオド)は連結演算子。
echo "<a href=\"aiueo.php?id={$row['abcde']}\"> ほげ </a>";
でも良い >>256-260 参照
0301nobodyさん
2005/06/18(土) 17:46:38ID:???aありがとうございます。
>>256-260見ました。リンク先も見たのですが、私にはサッパリ・・・。
echo文に変数を入れるときには" .と. "で({と}で)囲む、と覚えることに
します。
0303nobodyさん
2005/06/18(土) 20:06:43ID:???UNIX時間にしてから比較しかないのかな
0304nobodyさん
2005/06/18(土) 21:17:30ID:???そうじゃない時は、必要な処理だけを自分で実装します(数値に分解して比較処理等)。
0306nobodyさん
2005/06/18(土) 23:31:14ID:???0307nobodyさん
2005/06/18(土) 23:50:39ID:???0308nobodyさん
2005/06/19(日) 00:45:05ID:TIL6O4MF0309nobodyさん
2005/06/19(日) 00:50:19ID:???0310nobodyさん
2005/06/19(日) 00:55:24ID:???0311nobodyさん
2005/06/19(日) 01:03:29ID:???10分でかける
>一定間隔
cronでまわせ。
0314312
2005/06/19(日) 03:14:15ID:L/EHa1/f0317nobodyさん
2005/06/19(日) 11:08:03ID:???0318nobodyさん
2005/06/19(日) 11:28:42ID:???0319nobodyさん
2005/06/19(日) 11:34:22ID:???0321nobodyさん
2005/06/19(日) 12:33:41ID:???0322nobodyさん
2005/06/19(日) 12:42:55ID:???0323308
2005/06/19(日) 13:27:19ID:TIL6O4MF>>315
該当スレを探したんですけど、それらしいスレを見つけることができませんでした
誘導してもらえると助かります
0324nobodyさん
2005/06/19(日) 13:28:17ID:???0325nobodyさん
2005/06/19(日) 13:35:56ID:???0326nobodyさん
2005/06/19(日) 13:36:55ID:???特定のサイトが他人のサイトだったら、
負荷がかかるだろうし、迷惑かかるんじゃないか?
コンテンツが多いサイトならなおさら。
一定感覚が毎日とかだと、アク禁される恐れもあるかもね。
0327nobodyさん
2005/06/19(日) 13:41:33ID:???0328nobodyさん
2005/06/19(日) 14:09:44ID:???$UPTIME = <CMD>;
close (CMD);
このPerlスクリプトをPHPスクリプトにしたいのですが、
どのように書けば良いか教えていtだけませんか?
0329nobodyさん
2005/06/19(日) 14:10:09ID:???open (CMD, "uptime |");
0330nobodyさん
2005/06/19(日) 16:33:03ID:???もしくはpopen参照。
ttp://www.php.net/manual/ja/function.popen.php
0331nobodyさん
2005/06/19(日) 17:27:22ID:???ありがとうございました
0332nobodyさん
2005/06/19(日) 17:30:09ID:???phpではこういったものはありませんか?
0335332
2005/06/19(日) 18:51:28ID:???0336nobodyさん
2005/06/19(日) 20:26:26ID:???スクリプトって既にありますか?
例:ヤフーhttp://dailynews.yahoo.co.jp/fc/
のとある部分の更新を自サイトにも反映させる
0337nobodyさん
2005/06/19(日) 20:28:50ID:???0339nobodyさん
2005/06/19(日) 20:53:47ID:???0341nobodyさん
2005/06/19(日) 21:49:29ID:???0343nobodyさん
2005/06/20(月) 01:14:32ID:???http://php-compiler.net/
0344336
2005/06/20(月) 08:25:49ID:???今月号のウェブデザイニングかなんかでRSSをPHPでごにょごにょして
自サイトに表示させよう!ってコラムを発見したので
やってみまーす。
0345nobodyさん
2005/06/20(月) 13:07:37ID:???普通は表示されるはずのエラー表示が全くされません。
正しいコードを書いてみて実行させたときには正常に表示されましたので、
今度はわざとコードを間違えて記入し実行させてみたところ、全くエラー表示が出ず、
ページには何も表示されていませんでした。
何か設定がおかしいのでしょうか?
0347345
2005/06/20(月) 14:00:59ID:???php.ini の display_errors の箇所をOffにしたままという超あほな原因でした。
お騒がせ致しました。。
0348nobodyさん
2005/06/20(月) 22:48:03ID:0mb4CR9X<meta http-equiv="Content-Type" content="text/html; charset=Shift_JIS">
のせいらしく、文字が化けたり、おかしなことになってしまっています。
よく考えたらフォームからphpで、それもEUCでしか書いた事がなかったんで初めてのケース。
Shift_JISのhtmlのフォームからEUCのphpにちゃんと値を受け渡すのって、面倒なことなんでしょうか?
あんまり面倒なら、元のフォームから作らせてもらおうと思ってます。
0349nobodyさん
2005/06/20(月) 23:52:51ID:???0350nobodyさん
2005/06/20(月) 23:53:43ID:???すごく簡単だよ。
Shift_JIS(HTML) → EUC-JP(PHP)
ってことは、PHPにはPOSTされたデータはShift_JISで渡ってくるよね?
だから、POSTされたデータをPHP側でShift_JISからEUC-JPに変換してから処理すればいい。
0351344
2005/06/21(火) 00:02:08ID:???すんません。
−RSSブロガー−■ 概要
特定サイトのRSSを表示します
ブログの右ブロックとかに置くとか。
シンプル。件数指定可能
0352348
2005/06/21(火) 00:02:31ID:8+GyN4cKいろいろぐぐって見るのですがなかなか。
なんと言う関数を見ればよいんでしょうか?
無難なことしかやったことがないもんで・・・情けないです
0353nobodyさん
2005/06/21(火) 00:03:28ID:???コンテンツのエンコーディングと同じエンコーディングでGET/POSTされるとは限らない。
ちゃんと受け取り時にチェックするように作るのが吉。
0355nobodyさん
2005/06/21(火) 00:11:46ID:???mb_convert_encoding()関数で変換できるよ。
詳細はマニュアルを参照↓
ttp://jp.php.net/manual/ja/function.mb-convert-encoding.php
0356nobodyさん
2005/06/21(火) 00:18:09ID:???簡単なのは、mbstring.encoding_translation機能で
HTTP入力のエンコーディングを変換させてしまう。
但しmbstring.http_inputをautoに設定した場合、エンコーディングの
自動判定は完璧ではないことに注意すること。判定に使われる文字数が
少なかったり、特殊なものだったりすると誤判定となる場合がある。
確実なのは自動判定にはせず、hiddenで出力に判定用の文字列(非ASCII)を
埋め込み、それを利用して適正な変換を掛けること。
0357
2005/06/21(火) 07:12:10ID:lHQtHO0nttp://halpal.net/xoops/modules/auth/buy_list.html
のように検索→選択→.vcs .csv .pdbなどで出力というのは
どうやっているのでしょうか?
ずーぷすでないと無理なのでしょうか?
0358nobodyさん
2005/06/21(火) 11:30:35ID:t9cWxmD/サンプル・プログラムの画面遷移は以下のようになっています。
-----------------------------------------------
+----------------+
| |
V |
login.php --> do.login.php --> top.php
-----------------------------------------------
do.login.php では、POST されたパラメータを使い認証を行います・
成功すれば、$_SESSION["username"] にユーザ名をセットし・
トップ画面にリダイレクトしています。
-----------------------------------------------
:
snipping
:
$username = $_POST["username"];
$password = $_POST["password"];
if (User::isExist($username, $password)) {
$_SESSION = array();
$_SESSION["username"] = $username;
// トップ画面へ
}
else {
// ログイン画面へ
}
-----------------------------------------------
0359358
2005/06/21(火) 11:31:25ID:t9cWxmD/セッション・データを格納するフィールドを確認すると、
username|s:"anonymous"; とシリアライズされた文字列が
格納できているのですが、top.php にて $_SESSION["username"] の
値を参照しても値を取得することが出来ません・
ちなみに、do.login.php および top.php の先頭では、
以下の関数を実行しています。
-----------------------------------------------
function createSession() {
$session_handler =& SessionHandler::getInstance();
session_set_save_handler(
array(&$session_handler, "open"),
array(&$session_handler, "close"),
array(&$session_handler, "read"),
array(&$session_handler, "write"),
array(&$session_handler, "destroy"),
array(&$session_handler, "gc"));
session_start();
}
-----------------------------------------------
php のバージョンは、4.1.2 です。
マヌケなミスをしているかもしれませんが、アドバイスでもいただければ
助かります。
0360nobodyさん
2005/06/21(火) 16:24:54ID:???<input type="submit" name="aaa" value="登録">
で、hoge.phpへ飛ばされたname属性"aaa"とvalue属性"登録"の扱われ方が
よく分かりません。
とある例題のhoge.phpを見ると
if($aaa == "登録"){ 処理内容 }
となっています。name属性が突然変数として扱われ、value属性"登録"が
その条件の対象として扱われています。
そう言ったものだと言われればそれまでですが、どうも釈然としません。
うまく説明していただけませんでしょうか。
Web製作板でも聞き、「ブラウザは"aaa=登録"というフォームデータ集合を送る」
までは教えていただきましたが、あとはこちらへ誘導されました。
よろしくお願いします。
0361nobodyさん
2005/06/21(火) 16:38:39ID:???それは昔のバージョンの場合。
ま、今のでもregister_globalがonだとできるのかな。でも、off推奨です。
あとは、
http://php.s3.to/man/language.variables.external.html
でも読んで下さい。
簡単に書くとPOSTで送信されたデータは、$_POSTという配列にはいります。
で、name属性aaaは$_POST['aaa']にはいり、その値が「登録」になります。
0362nobodyさん
2005/06/21(火) 16:44:02ID:QobDAUu/sybase_connectに、どのように書けばいいのでしょうか・・・
servernameにはinterfacesのDB名なのはわかったんですが
ホスト名はどこで指定するんでしょうか
0363nobodyさん
2005/06/21(火) 16:54:23ID:???ありがとうございます。難しいですが、なんとか理解できそうです。
残念ながらご紹介のサイトはリンク切れ(サーバ落ち?)のようでした。
自分でももうちょっとあれこれ探してみます。
どうもでした!
0364nobodyさん
2005/06/21(火) 16:58:44ID:???つけたし。
[登録]ボタンを押したら $_POST['aaa'] に '登録' という文字列がセットされる。
エンターボタンを押すなどして[登録]ボタンを押さずに送信した場合はセットされない。
これでもためしとけ。
<pre>
<form action="<?=$_SERVER['PHP_SELF']?>" method="POST">
<input type="text" name="bbb" value="">
<input type="submit" name="aaa" value="登録">
</form>
<?php if ($_POST) print_r($_POST) ?>
</pre>
0366nobodyさん
2005/06/21(火) 17:02:02ID:???別にリンク切れではなく、ちゃんと見られるのだが。
では、
http://jp2.php.net/manual/ja/language.variables.external.php
0367nobodyさん
2005/06/21(火) 17:03:11ID:???あとは、
http://jp2.php.net/manual/ja/tutorial.forms.php
これも。
0368nobodyさん
2005/06/21(火) 17:09:35ID:???漏れはsybase使ったことないが、マニュアルのUser Contributed Notesにこんなのあったよ。
http://www.php.net/manual/ja/function.sybase-connect.php
> Set the appname using the 5th optional parameter:
> http://lxr.php.net/source/php-src/ext/sybase_ct/php_sybase_ct.c#713
>
> sybase_connect(
> $host= 'host',
> $user= 'user',
> $pass= 'pass',
> $charset= NULL,
> $appname= 'myapp'
> );
一個目の引数がホスト名なんじゃないの?
で、DB名の指定はマニュアルには正式に書いてないが5個めの引数ってことだと思うけど。
違ってたらスマソ。
0369nobodyさん
2005/06/21(火) 17:37:23ID:???このライブラリを使って画像の減色は可能でしょうか?
ImageMagickのコマンドだとconvert -colorsオプションで色数を指定することできますが、
PHPスクリプト上で同様のことを行いたいと考えています。
ご存知の方がいらっしゃいましたら、ご教授よろしくお願いいたします。
0370363
2005/06/21(火) 20:08:21ID:???レスをプリントし、マイテキストとしました。感謝します。
遅まきながら、ただ今オンラインマニュアルのご紹介頂いたページを
見ています。
0371nobodyさん
2005/06/21(火) 20:16:19ID:???Imagickのソースで
http://sourdough.phpee.com/api//__filesource/fsource_sourdough_image_Sd_ImageSd_Image_peclim.class.php.html#a65
の_doConvert関数のコメント部分によると、quality and/or border option には今のところ使えるものはないらしい。
たぶんImagickじゃ無理なんじゃないかと推測。(わからんけど)
execなりGDなりで頑張りましょう。
0372nobodyさん
2005/06/21(火) 20:34:57ID:???やはり無理ですか・・。
execでコマンド叩くしかなさそうですね。
ご回答ありがとうございました!!助かりました。
0373348
2005/06/21(火) 22:35:21ID:8+GyN4cKサンクスです。これだけヒントもらえれば大丈夫、がんばってみます!
0374nobodyさん
2005/06/22(水) 02:43:23ID:BzQc8psAやってもらえるもの? って具体的じゃないからくだれねえ質問なんだが
0375nobodyさん
2005/06/22(水) 03:27:18ID:???なんの処理もなく呼び出してぶちまけるだけなら1万円。
見た目の調整とか
呼び出すだけじゃなくて入力もしろとか
検索とか、一定の条件での抽出とか
要求が増えるたびに1項目数万〜数十万のオーダーで金額が上がる。
どこかのスレで要求を全部晒せば
暇な誰かが作ってくれるかもしれないけど。
0376nobodyさん
2005/06/22(水) 10:37:07ID:???風俗のオプションみたいに考えればいいんですね。
数年契約なら、初年度10万とか言われたもので、びびりました。
0377nobodyさん
2005/06/22(水) 16:47:32ID:+cNtc3On0378nobodyさん
2005/06/22(水) 17:01:12ID:???0379nobodyさん
2005/06/22(水) 17:01:33ID:???バイナリデータを文字列にするなら
$hex = "\xF9\x42";
$str = bin2hex($hex);
echo $str;
0380nobodyさん
2005/06/22(水) 17:01:43ID:???str_replace("0x","","0xF90x42");
0382nobodyさん
2005/06/22(水) 17:07:27ID:???0383377
2005/06/22(水) 18:51:27ID:???0384nobodyさん
2005/06/22(水) 18:56:43ID:W6A/DjUIどうやってもちゃんと動きません。
当方初心者のためお手上げです。
どこが悪いんでしょうか?
<?php
$hour = date('H'); //現在の時刻から時間のみを取得
if (3 <= $hour < 10) { //午前3時から午前10時
$greeting = 'おはようございます! ';
} else if (10 <= $hour < 18) { //午前10時から午後6時
$greeting = 'こんにちは! ';
} else { // 午前3時から午後6時以外の時間
$greeting = 'こんばんは! ';
}
echo $greeting."現在の時間は".date('H時i分s秒')."です。";
?>
0386nobodyさん
2005/06/22(水) 19:00:02ID:W6A/DjUIという本です。
最初の方で紹介されているサンプルです。
0387nobodyさん
2005/06/22(水) 19:08:20ID:???$hour = date('H'); //現在の時刻から時間のみを取得
if (3 <= $hour && $hour < 10) { //午前3時から午前10時
$greeting = 'おはようございます! ';
} else if (10 <= $hour && $hour < 18) { //午前10時から午後6時
$greeting = 'こんにちは! ';
} else { // 午前3時から午後6時以外の時間
$greeting = 'こんばんは! ';
}
echo $greeting."現在の時間は".date('H時i分s秒')."です。";
?>
0388nobodyさん
2005/06/22(水) 19:11:02ID:W6A/DjUIやはりサンプルは間違いなんですかねぇ。
ありがとうございました。
0389387
2005/06/22(水) 19:12:56ID:???中に含まれる全角スペースは削除汁
0390nobodyさん
2005/06/22(水) 20:22:06ID:???別スレの前スレだから、既に落ちてる
で、P31のhenkan2.phpでまたハマるのかな(w
(returnのところな)>>386
そろそろ正誤表を載せるべきかと思う>技評
http://www.gihyo.co.jp/list/list_support.phpにないし。
0391384
2005/06/22(水) 21:07:27ID:1AW0Sutd0392nobodyさん
2005/06/22(水) 21:29:09ID:???0393nobodyさん
2005/06/22(水) 23:11:45ID:???uptimeても漬かってるんじゃないの。
0394nobodyさん
2005/06/22(水) 23:26:50ID:???LAN内のPCからはhttp://hoge/でアクセスします。
特にドメインは設定していません。
このサーバーでクライアントにcookieを食わせるため、
setcookie('foo','hoge',time()+3600)
とかやってみるんですが、
http://hoge/cookie.php
とホスト名のみでアクセスした場合はうまくいきません。
http://192.168.0.x/cookie.php
とかIPアドレス直打ちだとうまくいきます。
setcookieにドメイン名を設定するといいのかと思いましたが、
hogeというのはホスト名なので
どうやったらうまくいくのか見当がつきません。
setcookieの制約とかあるのでしょうか。
0395nobodyさん
2005/06/22(水) 23:58:20ID:???調べてみましたが、
print `uptime`
しても何も出力されないんです。(FreeBSD)
これは鯖が禁止しているということですか?そうなら代替手段を教えていただけませんか?
0397nobodyさん
2005/06/23(木) 01:51:49ID:???実はよく知らないのですが、調べたところ、UNIXでは普通はロードアベレージをさすようなので、ロードアベレージを取得したいです。
0399nobodyさん
2005/06/23(木) 02:45:22ID:???じゃあ、>>393の言ってることがそう。
でも多くの場合PHPはCGIとしてじゃなくて
サーバモジュールを介して実行されてるから
難しい、というか困難だよ。
0400nobodyさん
2005/06/23(木) 02:58:40ID:???shell_exec関数を使うのですね。ありがとうございました。
>>399
鯖はXREAでCGI版PHP5を使っています。
どうも昨日仕様変更があり、uptimeがとれなくなったようです。今回は残念ですが諦めようと思います。ありがとうございました。
0401nobodyさん
2005/06/23(木) 10:27:31ID:F1hyqq8Iやってる人いたら活用法を教えてください。
0402nobodyさん
2005/06/23(木) 15:25:08ID:???0403nobodyさん
2005/06/23(木) 15:37:10ID:???Mojaviって重いの?
0404nobodyさん
2005/06/23(木) 15:39:41ID:???APIマニュアルはサクサクなのに。
0406nobodyさん
2005/06/23(木) 16:03:40ID:???使えねえな。
0407nobodyさん
2005/06/23(木) 16:40:05ID:???普通にcontent-type でcharset=EUC-JPってヘッダー送ってるから文字化けするのはおかしいよ
0408nobodyさん
2005/06/23(木) 16:50:20ID:???PHPで呼び出して「○○○○年○○月○○日」って表示させたいんだけど…
なんぼ探しても分からんです…、
0409nobodyさん
2005/06/23(木) 16:55:04ID:???これでもあかんのか
0410408
2005/06/23(木) 17:06:51ID:???あっさり出来た…。そっか。strtotime()でタイムスタンプに変換しなきゃいかんのね。
ありがとー。チョー感謝。
0411nobodyさん
2005/06/23(木) 17:59:24ID:???個人の方に依頼する場合幾ら位掛かるものでしょうか?
業者のサイトを見てみましたが、40000〜100000と少し厳しめで( ´Д⊂ヽ
かなりの数のblogやNucleus等のスクリプトが配布されていますが、
どれもベストなものが無く、カスタムもしましたが自分の考えているモノに出来なくて。
このスレでも誰か仕事として請け負って頂けないかな…。
0413nobodyさん
2005/06/23(木) 18:08:10ID:???自作はしたいのですが、自分で作れるほどスキルが無くて…。
請負をされている方も殆ど見つからず、こっちに書かせてもらいました。
0415nobodyさん
2005/06/23(木) 18:25:51ID:???>かなりの数のblogやNucleus等のスクリプトが配布されていますが、
それだけじゃわからんだろ。
希望でなかったものはどれで、
どんな風にしたいのかが分からないとなぁ。
0416nobodyさん
2005/06/23(木) 18:31:28ID:J1stG/Y370万リクエスト/日程度の規模のサイトの場合、PHPはCGI/DSO
どちらの方が安定して稼動するのでしょうか、検索してみると
今はモジュールで回してるほうが安定するといった書き込みが散見
されるのですが、データがない為不安を感じているところです。
--------以下構成------------
OS:Windows Server 2003 + IIS6&PHP4.3.9 + SQL Server 2000
0417nobodyさん
2005/06/23(木) 18:46:32ID:???出来れば1ファイルのみで動くものが希望でした。
自分の考えている構成としては、
index.php
インデックスページ(blog風)
ページ1
ページ2
ページ3... (switchで切り替え?)
このような感じです。インデックスページのスクリプトが作れずにいました。
機能としては、
1記事毎に1logfile生成(ttp://host/index.php?a=001 等で表示されるように)
カテゴリー分類
記事毎にコメント可能
各ページ共通のheader footer navimenu
ページ部分はincludeで読み込ませる
DBやトラックバック等は不要
この様な感じで考えています。
0418nobodyさん
2005/06/23(木) 19:10:09ID:???各種Wikiは試してみた?
Wikiといっても、それぞれ特色も仕様の違いもある。
カレンダーを目次としたナビゲーションも可能。
コンテンツの構成も希望するものに近いと思う。
0419nobodyさん
2005/06/23(木) 19:11:26ID:???3,1,0,に、,http://www.n/,め
2,1,0,いれ,http://www.i/,ぱ
1,3,0,たい,http://www.r/,げ
のようなテキストファイルから、
カンマで区切って4つ目と5つ目をセットにしてそれぞれ変数に入れたいんです。
ランダムに。
一番最初の桁は1,2,3,4,5,6…と順に増えていくので、その数字をランダムに取得して、その行の4つ目と5つ目を変数に入れるにはどうやればいいのでしょうか。
0421nobodyさん
2005/06/23(木) 19:49:56ID:???一行目ならなんとかできるんですが、、、
0422nobodyさん
2005/06/23(木) 19:51:42ID:???全部読みこんだらshuffle()かましとけばOK。
それぞれのフィールドの長さが固定で、かつファイルを全部読むのが嫌ならfseek()で無理やりやりますか。
0424nobodyさん
2005/06/23(木) 20:29:59ID:???$hand=fgetcsv($fp,100);
うーん、、、
shuffle()は配列全部の順番を変えてしまうので4つ目と5つ目だけを取得出来ないような。
今やってみたらfgetcsv()でも一行目しか取得できてないのですが。てか説明が下手でごめんなさい。
やりたいことはdat.txtからphpにランダムで表示するリンクを作りたいんです。
アクセスするたびに違うサイトへのリンク(ひとつ)が表示されるやつです。
1行に1サイト登録してあって、区切りの4つ目がサイト名で5つ目がURIなんです。
どうやるのがいいんでしょうか
0425nobodyさん
2005/06/23(木) 20:43:38ID:???while ($line = fgetcsv($fp, 100))
$data[] = $line;
srand(time());
list($num, $nazo1, $nazo2, $yottsume, $itsutsume, $nazo3)
= $data[rand(0, count($data)-1)];
echo "$num <a href=\"$itsutsume\">$yottsume</a>\n";
0426nobodyさん
2005/06/23(木) 20:44:29ID:n/yDCgXVPHPでサイトを作りたいのですが、PHPの専門書を見ると
Webを作るためというより、最初からPHPプログラミングの解説
のような本ばかりに思えます。まず何をしていいのか・・・
HTMLの初心者向け解説のように、一つ一つ段階を追って
基本的なところから「Webサイト」制作を支援するような
本かサイトをご存知ありませんか。
テンプレートのようなものがあるとうれしいのですが。
作りたいのはブログのような見た目のサイトです。
(あと簡単なアンケートをつけたりです)
細かいことは追って勉強して付け加えるような感じで・・・
簡単なPerl、CGIが書ける程度のプログラミングの基礎はあります。
どなたかアドバイスお願いできませんか。
0427nobodyさん
2005/06/23(木) 20:47:30ID:???0428初心者
2005/06/23(木) 21:12:37ID:x16cC/Vqスレ違いだと思いますが、IPアドレスについて教えていただけませんか?
0429nobodyさん
2005/06/23(木) 21:13:39ID:???http://e-words.jp/w/IPE382A2E38389E383ACE382B9.html
0430初心者
2005/06/23(木) 21:16:23ID:x16cC/Vqリンク、ありがとうございます。
ちょっと読んできます。
3つのIPアドレスから、同一人物もしくは同一PCからの
書き込みかを判断出来るのでしょうか?
0431nobodyさん
2005/06/23(木) 21:21:12ID:bxtJrr+Sたしかに>>426みたいな人もたくさんいるんだよ。
そんな人に>>427を教えても仕方ない。
マニュアルのstr strとかいきなり出ても意味分かんないもん。
結局hello worldで行き止まりってパターンが多いと思う。
漏れはperl全然理解出来なかったけどphpはなんだかとっつきやすかった。
phpで色々やって、久々にやったらperlもjavascriptも前分からなかった事がすんなりと分かった。
>>426
hello worldからアフォくさがらずにやる。かならず、実行。
読んで分かった気になるのとやってみるのは何倍も違う。
それから、自分のやりたいことを調べながら作る。
調べるのがうまくいかないのは、やりたい事が明確じゃないから。
探し物をするうちに、いろんな知識が頭の片隅に残る。
たしか、あんな関数あったよな、とか。
苦労してやりたい事が自分の力で出来たら面白くて夜も眠れなくなる。
そんなことしてるうちに、これが仕事になってたよ。
ここのとこ、寝てても半覚醒で脳内でルーチンを考えてがばっと起きて
やってみたらずっと出来なかったことがうまく逝ったり、
パソコンの前で一人で、ぶつぶつ言ってたら、朝、出社してきた同僚が
びっくりしたり、けっこうやばい人になってきたみたい。
0432nobodyさん
2005/06/23(木) 21:26:22ID:???CSNET時代より公益者や私益管理者が、ドメインの領有を宣言する意味も含め
ドメインを引くためのアドレスとしたことに由来するといわれるが、
IPアドレスのみを使用する例もあり、ドメイン名とIPアドレスのいずれが早いかは
鶏と卵のような議論となって判然としない場合が多い。しかしドメイン名を所有していたのは
古くは社会的な裕福層(経営者)であり、そのものたちは常に財力でブランドの威勢を誇示していたので
必然的にドメイン名はブランドの名誉を象徴し、余人の僭称を許さない特権的色彩が濃くなっていたものと考えられる。
0433nobodyさん
2005/06/23(木) 21:32:11ID:???>3つのIPアドレスから、同一人物もしくは同一PCからの
>書き込みかを判断出来るのでしょうか?
判断できません。その瞬間において"誰"または"どの端末(機器)"に
割り当てられていた(使用されていた)かのデータが必要です。
そのようなデータは個人の通信の秘密にも関わることなので、
法律上の強制力がない限り、第三者に漏洩することは処罰の対象にもなります。
0434nobodyさん
2005/06/23(木) 21:37:48ID:???レス遅れましたがありがとうございました。
動作に何の問題もなかったです。
さらに弄って使わせていただきます。
while (〜) $data[] = $line;
の発想がないんだよな〜
0435nobodyさん
2005/06/23(木) 21:54:37ID:???0436nobodyさん
2005/06/23(木) 21:59:38ID:???PHPやっててJavascript久しぶりに触るってのも珍しい気がする。
俺もHelloWorldから実際にやってみるのは有効だと思うね。
全くもって同意見!んで、ぶつぶつ言ってるのも同じだねw
最初先輩らの独り言がうるせーなーと思ってたけど、1年も経つと
自分もやっぱり歩きながら「あ〜、あれをこうして・・・」とか思わず口に
だしてるね・・・。
0437427
2005/06/23(木) 22:03:27ID:???ちょっと待て。
漏れは初心者の間ずーっと、PHP本家のマニュアルが一番役にたってたぞ。
今もリファレンスは役に立ってるし。
最初は何もわからなくて色んな入門サイトを回ったけど、行き着いたところは本家のマニュアルだった。
I.はじめに から始まって V.機能 までは初学者にとってもためになる内容が多いと思う。
難しい内容も少しはあるかもしれないけど、まさに>>426の言うように一つ一つ段階を追って基本的なところから説明してくれている。
0438nobodyさん
2005/06/23(木) 22:25:17ID:???便乗質問。
ipをdigなりlookupすればドメインは解るけど、ipの何番から何番は、どこのプロバイダで・・・というリストみたいな物はあるんでしょうか?
>>436
あ、ほとんど使うJavascriptは使い回しで事足りてたから。新たに書いてみようと思ったときに昔が嘘のように、自分の思った事が書けたんだ。
それに他人のソースを見て意味がわかってすぐに応用出来た。やりたい事が明確になって構造的な思考が出来ると、あとはリファレンスを見るだけだもん。
あと、ほんと、読んで「わかった気になる」ってのは大きな落とし穴。
最初は意味がわからんから、セミコロンとコロンを間違えていきなり嫌になったりとかw
ブツブツいうのはホントにやばいね。嫁も「やめさせなきゃと思うけど、途中で話しかけると怒るじゃん」と。まだオブジェクト指向もわかってないのにキチガイ一歩手前でつ。寝ながら夢の中でひらめいちゃったりっていうのはない?
>>437
あくまで、漏れはそうした、っていうことを>>426に言いたかったんだ。
いきなり、膨大なマニュアルを突きつけられると引いてしまうひともいるんだよ。
>>426
きつい事をいうとその段階でこんなとこで質問してるのでは先が思いやられる。
>基本的なところから「Webサイト」制作を支援
>テンプレート云々
ここらへんから、なんか焦ってるなぁ、と感じたんだよね。
焦るな。とにかくもちつけ。
>簡単なPerl、CGIが書ける程度のプログラミングの基礎はあります。
これだけ書けてるなら、phpはもっと解りやすいはずだ。
とりあえず、この辺はどう?
離れPHP島
ttp://masago.kir.jp/
レッツPHP!
ttp://php.s3.to/
0439nobodyさん
2005/06/23(木) 22:37:29ID:???0441nobodyさん
2005/06/23(木) 23:00:56ID:???(\ ∞ ノ
ぱんつぅヽ、ヽ(゚∀゚) /ぱんつぅ!
`(ノ)__ノつ
U U
0442nobodyさん
2005/06/24(金) 00:00:24ID:???文系理系どっちが優れてるかっていう話でなく、
質問する側は答える側に多いと予想できる
理系の人間に解りやすい文章を書いた方がいいぞ。
郷に入れば郷に従えですよ
0443nobodyさん
2005/06/24(金) 00:12:01ID:???0444nobodyさん
2005/06/24(金) 00:14:57ID:???0445nobodyさん
2005/06/24(金) 00:31:16ID:???m9(^Д^)プギャーなら、
はっはっは。おかしくて腹がよじれそうだよ。
と言う。
0446nobodyさん
2005/06/24(金) 00:32:22ID:???0447nobodyさん
2005/06/24(金) 00:36:03ID:???0449nobodyさん
2005/06/24(金) 06:50:57ID:???その辺の話は難しすぎてよく分からん。
マニュアルのマニュアルが欲しい。
0450nobodyさん
2005/06/24(金) 08:12:29ID:???PHPでPOSTを送る
-> PHP言語を使って、HTTP/1.0 or HTTP/1.1で定義されているPOSTリクエストを実行したい
PHPでそれをするにはどういう関数がある?
-> ネットワーク関数のfsockopenでソケット通信をすればできそう。
処理手順はHTTPの事が書いてあるRFCを見れば分かるかな。
GETの時には便利だったファイルシステム関数はPOSTには使えないみたい。ショボーン
誰かが便利な関数を作ってないかな?
-> pearのHTTP_Clientクラスが使えそう。(今、pearのDBdj。。)
で、レスには 「 つ [fsockopen] 」と書くっと。
そうすると、「使い方が分かりません」とかレスがあって、
「RFC嫁」とかレスされて、カウンターや掲示板を作る時には不要だった知識が存在する事を知る。
それらの知識を吸収するにつれて、彼女からのackが返ってきませんとかRSTされますた、
とかいうレスをたてるようになる。
0451nobodyさん
2005/06/24(金) 08:54:46ID:???あっ、ネタたんだ
にゃーにゃー!ネコたんだぞー
ねこたんかわいいいいーー
0452nobodyさん
2005/06/24(金) 10:08:18ID:???> 大抵の人はこういう思考手順になるんじゃないかな?
けっこう同意。漏れもそういう流れだった。
WebProgやってるとHTTPに触る機会が何だかんだで出てくる罠。
でPHPマニュアルだけでは情報が網羅されていないことに気づき、RFCを読みに行くと。
http://www5d.biglobe.ne.jp/~stssk/rfcjlist.html
↑ここかなり助かってる。
> 彼女からのackが返ってきませんとかRSTされますた
実体験済みですね?
0453nobodyさん
2005/06/24(金) 10:14:45ID:???なんか笑った。
ぶっきらぼうに見えて意外と親切だな、喪前。
でも漏れはド素人なので、「RFC嫁」の段階で挫折してる厨房だけどな。
ところでackとかRSTって何??
0455nobodyさん
2005/06/24(金) 12:02:51ID:???0456nobodyさん
2005/06/24(金) 12:09:47ID:???0457nobodyさん
2005/06/24(金) 13:45:10ID:???./configure のオプションに
--with-pdo-pgsql=/usr/local/pgsql
付けただけじゃPDOでPostgreSQL使えないの?
なんか画面に
could not find driver
って出るし
0458nobodyさん
2005/06/24(金) 14:31:03ID:???0459nobodyさん
2005/06/24(金) 14:40:13ID:USyl7tNvグローバル変数になるんでしょうか?
スコープの概念は無い?
0460nobodyさん
2005/06/24(金) 14:46:53ID:???0461nobodyさん
2005/06/24(金) 15:10:24ID:???globalとか$GLOBALSでアクセス「できてしまう」点にこだわるならそうは言い切れないけど。
なるべく関数やクラスを使ってグローバル変数を少なくするのも意味があるけど、メインルーチンでさらっとかけるのもPHPの利点だな。
その辺はサイトの規模に応じて適度にやるべしってことで。
0462nobodyさん
2005/06/24(金) 17:31:55ID:???レンタル鯖にデフォルトでMySQL、PostgreSQL6・7があるのですが、
PHPからDBを呼び出すことができません。
■PostgreSQL6に接続する場合
$conn = pg_connect("host=localhost port=5432 dbname=ユーザID user=ユーザID");
■PostgreSQL7に接続する場合
$conn = pg_connect ("host=localhost port = 5433 dbname=ユーザID user=ユーザID password=パスワード");
上記をPHPファイルに記述して、読み込みを試みると
Parse error: parse error in /usr/home/ユーザID/html/ファイル名.php on line 行
となり、おもいっきり入口で足踏み状態です。
どなたかおわかりになられる方がおられましたら、解決方法をお教えください。
0463nobodyさん
2005/06/24(金) 17:34:15ID:???0464462
2005/06/24(金) 18:46:19ID:???レスありがとうございます。
マニュアルもなく悪戦苦闘しています。
呼び出しができないことには何もできず、
あの手この手でいじり倒している最中です。
0465nobodyさん
2005/06/24(金) 19:39:34ID:???つ http://jp.php.net/manual/ja/function.pg-connect.php
0467426
2005/06/24(金) 22:30:19ID:???皆さんありがとうございました。
>>431
大変参考になりますた。やっぱりHello Worldから始めることなんですね。
参考書は、関数一覧とか、PHPではこういう書き方をしますとか、まずそういうのが
飛び込んできて、サイトらしいものがどのような構造で作られてるのか
全体像が見えなかったんです。まず形になっているもの、テンプレートというか
初心者にやさしいシンプルなPHPがあって、それをいじりながら勉強・・・みたいなものを
勝手に思い描いてたんですけど、改めます。。 時間かかりそうです。
>>437
ブクマに入ってるんですけど、自分はまだこれを参考にする段階じゃない
とか思ってますた。よんでみます・・・
>>438
そうですね焦ってるというか、本当に普及してきていて
似た見た目(機能)のPHPサイトを度々見るので、きっとテンプレも
あるはずだと思っちゃったんですよね 近道思考というか、大昔初めてサイト
作ったときにそんなやり方でHTML勉強したのを思い出して・・・
Perlを勉強したときのよーに1からやります、ハイ。
オラわくわくしてきますた。
0470nobodyさん
2005/06/24(金) 23:39:42ID:???0471nobodyさん
2005/06/25(土) 01:44:42ID:???buildconfが実行されるんだけど、buildconfを実行するとどうなるんでしょうか
0472nobodyさん
2005/06/25(土) 02:32:16ID:n/Krloyt0473nobodyさん
2005/06/25(土) 02:42:46ID:???ここはPHPというプログラム言語のスレなのでそれ以外はスレ違いになるけど。
・何から手をつけていいか分からない -> オイラもどこに誘導していいか分からない
・webサーバ等の一般的な鯖を構築したい -> 各OS板か自宅鯖板
・サーバ・クライアント プログラムを作成したい -> プログラム板
etc.
0474472
2005/06/25(土) 04:48:00ID:6Ztw8aQ70475nobodyさん
2005/06/25(土) 08:39:15ID:YtxstrO50476nobodyさん
2005/06/25(土) 10:28:15ID:???10〜32ぐらいの範囲で表示させたいんですが
0477nobodyさん
2005/06/25(土) 10:29:09ID:???ここのしかないかな。
0479nobodyさん
2005/06/25(土) 18:11:23ID:???乱数を発生させる時の、
srand()とかで種を植えるってどういう事ですか?
しなかった場合とどう違うのでしょうか?
# php4.2以降は自動になって不要なのですね
0480nobodyさん
2005/06/25(土) 18:36:00ID:???種を蒔かなけりゃ、まともな実(乱数)は得られません。
工業物のように同じ生産物が欲しければ同じ種を、
ひとつひとつの異なる味わいが欲しければ、
それぞれ蒔く種にも違いを与えます。
0481nobodyさん
2005/06/25(土) 18:41:25ID:???意図的にランダムな種を植えてやらないと、コンピュータはアフォなので、randが毎回同じ値を返してしまう。
srandの引数には、その瞬間の時刻などのランダムになりやすい要素を与えてやる。
(プログラムは人間のきまぐれで実行されるので、まず間違いなく時刻は実質上ランダムになる)
0482nobodyさん
2005/06/25(土) 20:03:43ID:???いちいちsrandする必要は無い。
あえてsrandするのは・・・
例えば、100件のリストをシャッフルしたりする場合、
リスト値の頭に個々に乱数値を付けてからソートし、
そのリストをページ分けしたりする場合。
まぁ、普通はそんな事しなくてももっと簡単な方方があるけど。
0483nobodyさん
2005/06/25(土) 20:31:05ID:???書いてありましたが、
echo "<p>番号 $bango1 と $bango2 </p>";
でも希望通りに表示されます。でもこの書き方って良くないのでしょうか?
0484nobodyさん
2005/06/25(土) 20:37:30ID:???0485nobodyさん
2005/06/25(土) 20:40:36ID:???お返事感謝します。
0486nobodyさん
2005/06/25(土) 20:44:44ID:???0487nobodyさん
2005/06/25(土) 20:45:35ID:???お返事感謝します。
0491nobodyさん
2005/06/25(土) 22:19:55ID:???0493nobodyさん
2005/06/26(日) 00:25:14ID:???DOCTYPE以下HTMLのヘッダだけ header.incに書いておいて
mainのphpでincludeしようとしてるのですが
titleタグに変数を書いておけば動的に指定できると思うとそうはいかず
($hogeと変数名がそのまま出力される)
じゃあheader.incの中身をヒアドキュメントで囲んだphp文に変えると
変な挙動を起こします(ブラウザから表示されたソース見るとincludeされてない)
逆にCのincludeみたいに「ただそこに入れるだけ」だと思うと
<?php - ?>でかこったphp文の中にいきなりDOCTYPEなんかが入ってきて
まともに動作するのが妙です。
PHPのincludeはいったい何してんでしょうか。
ちなみにわざわざhtmlヘッダを用意するのは、あとで静的HTMLファイルを作成する時使う予定だからです。
0495nobodyさん
2005/06/26(日) 00:44:53ID:???> mainのphpでincludeしようとしてるのですが
>titleタグに変数を書いておけば動的に指定できると思うとそうはいかず
これ、やってるけど普通にできるよ。
どっかでparseミスしてない?
0496493
2005/06/26(日) 01:13:46ID:???----header.inc
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>$title</title>
<meta http-equiv="content-type" content="text/html; charset=euc-jp">
</head>
<body>
----ここまで
----main.php
<?php
$title = "おらのぺーじ";
include("header.inc");
?>
本文だじぇ
</body></html>
----ここまで
これで main.phpをブラウザで開くと、タイトルが$titleとして表示される。
ページのソース見ても $titleまんま表示された。なんでだろ?という話です。
0497nobodyさん
2005/06/26(日) 01:29:07ID:???0498493
2005/06/26(日) 01:34:02ID:???$titleを<?php echo $title; ?>としたら出ました。
と書こうとしたら<==というのもあるのか。。。
includeされた部分が自動的にphp外である、というのは
まあ仕様って思ってればよいのですね?
まんず失礼すますた。
0499nobodyさん
2005/06/26(日) 01:42:32ID:???⊂⌒( ´・ω・)くぜんぶマニュアルに書いてあったでつ
`ヽ_っ⌒/⌒c ttp://www.php.net/manual/ja/function.include.php
0501nobodyさん
2005/06/26(日) 03:48:10ID:???$mail = '<a href="mailto:hoge@hoge.jp">E-Mail</a>';
echo "メールは $mail まで<br>";
?>
↑のように$mailの周りにスペース入れないと
「メールは」
で終わってしまうんですけど、そういうものなんでしょうか。
スペースを詰める何かいい方法ありますでしょうか。
0502nobodyさん
2005/06/26(日) 03:57:27ID:???PHPの中の人は、" "内で$を発見すると、できるだけ長くなるような変数名を探そうとする。
$mailまで = '<a href="mailto:hoge@hoge.jp">E-Mail</a>';
echo "メールは$mailまで<br>";
または、
echo "メールは${mail}まで<br>";
のように、どこまでが変数名なのか{ }を使って教えてやればよい。
文字列演算子 . を使って文字列の結合をするのも手やね
0504nobodyさん
2005/06/26(日) 04:16:26ID:???0505nobodyさん
2005/06/26(日) 04:47:26ID:???0506nobodyさん
2005/06/26(日) 08:33:14ID:???きりぎりすはぱぱ。
0507nobodyさん
2005/06/26(日) 09:56:01ID:???の内容をPOSTで送り、受け取ったデータを一行ごと別々の変数に入れたいのですが、
どうすればいいのでしょうか?
0512nobodyさん
2005/06/26(日) 13:31:02ID:???確か配列として渡すって奴でしょ。
0513nobodyさん
2005/06/26(日) 14:08:27ID:???なんの話でつか?
ちなみに
・printには戻り値がある。echoにはない。
・printには1つしか引数を渡せない。echoにはいくつでも渡せる。
違いと言う違いはこのくらいだけど、
PHPが内部で素直に動いているなら>>484の言うようにコンマのほうが早いかも。
ピリオドでつなぐと文字列の結合をしてから出力するはめになるから。
0514nobodyさん
2005/06/26(日) 15:21:10ID:???<? php
if (mode=='sample') {
include("./formsample3.php");
} else {
echo "ここに表示されます";
}
?>
Ifの行でエラーが出てしまいます。。
?mode=で渡してページを切り替えたいです。おねがいします
0516nobodyさん
2005/06/26(日) 15:39:14ID:???ttp://jp.php.net/manual/ja/language.variables.php
ttp://jp.php.net/manual/ja/language.variables.predefined.php#language.variables.superglobals
0518514
2005/06/26(日) 16:57:26ID:???よくわかりませんでした。
$_GET['mode']== でもダメdes
>>517
http://jp.php.net/manual/ja/function.phpversion.php
ここのコピペして実行したんですけど、エラーが出ます・・・
一応PHP Version 5.0.4です
0519nobodyさん
2005/06/26(日) 17:36:59ID:???(つд⊂)ゴシゴシ
(;゚д゚) 半角スペースある?
(つд⊂)ゴシゴシ
_, ._
(;゚ Д゚) 半角スペース入ってるよね
0520nobodyさん
2005/06/26(日) 18:21:21ID:???0521nobodyさん
2005/06/26(日) 18:24:47ID:???0523nobodyさん
2005/06/26(日) 18:36:54ID:???$ip = getenv('REMOTE_ADDR');
でリモートアドレスが
$ref = getenv('HTTP_REFERER');
でリンク元が取得できますが、
さらに閲覧しているブラウザの種類、OSの種類を調べるには
どうしたらいいでしょうか?
0525nobodyさん
2005/06/26(日) 18:48:29ID:???0529523
2005/06/26(日) 20:48:58ID:???> print_r($_SERVER);
$_SERVERで調べてみましたら、
$_SERVER['REMOTE_ADDR'] …… ユーザのIPアドレス
という用法がありました。
> $ip = getenv('REMOTE_ADDR');
getenvは使わなくても済むんですね。
0531nobodyさん
2005/06/26(日) 21:13:01ID:???0533nobodyさん
2005/06/27(月) 01:26:11ID:???漏れもわからん、それ初めて見たけど、どういう風に使うんだろう?
>>502
${mail}と{$mail}どっちでもいいんだよね?
漏れはとくに意味もなう{$mail}という書き方に統一してるけど、どっちがいいとかあるのかな?
0534nobodyさん
2005/06/27(月) 01:32:57ID:???と
function ???? (&$a, &$b, &$c)
は違いますか?
0535nobodyさん
2005/06/27(月) 01:54:31ID:???===、<==、>==は型を区別する
(型は整数型、文字型など)
(0 == FALSE)はTRUE
(0 === FALSE)はFALSE
("0" == 0)はTRUE
("0" === 0)はFALSE
0536nobodyさん
2005/06/27(月) 02:46:06ID:???PHPのマニュアルと見ると、
戻り値に配列を返す(失敗時はfalse)という関数が多いけど、
そういう場合は、!==か===で戻り値を判定しないとうまくいかないことがある。
例えば、こういう場合。
$lines = file("sample.txt");
if($files == false) {
echo "読み込み失敗";
}
sample.txtが空のファイルの場合、読み込み自体は失敗していないので、
本当は空の配列が返って来てるのにfalseと判定されてしまう。
なので、こうする。
$lines = file("sample.txt");
if($files === false) {
echo "読み込み失敗";
}
これなら、正しく動作する。
0537536
2005/06/27(月) 02:48:15ID:???×:if($files == false) {
○:if($lines == false) {
×:if($files === false) {
○:if($lines === false) {
0539nobodyさん
2005/06/27(月) 09:08:21ID:???文字列の長さがムチャクチャ長ければ>>513は歴然と差がでる。
ま、通常のシチュエーションでは気にする必要ないだろうが。
それと、>>533は速度を気にしているわけではないと思われ。
>>533
漏れも意味もなく{$mail}だけど、敢えて${mail}に変える必要性は今のとこ感じたことない。
というわけで結論
お 前 ら そ ん な こ と 気 に す ん な
0540nobodyさん
2005/06/27(月) 13:29:35ID:2NmU8YuH0541nobodyさん
2005/06/27(月) 13:42:55ID:???0542nobodyさん
2005/06/27(月) 14:07:28ID:???いや、全然分かりません。全く分かりません。
例えば、自分で作ったサイトに検索フォームを設置し、入力された語句をGoogleで検索し、
その結果を受信して、加工して、自分のサイトに表示する、みたいなことをしたいんですけど。
って友達に言ったら「ソケット通信で出来るんじゃね?」と言われた。
マニュアル見てもちんぷんかんぷん。レベル不足なのは分かっているけどレベルアップしたい。
だから教えて下さい。
0543nobodyさん
2005/06/27(月) 14:17:21ID:???google検索ならWebサービスが使える。
コードもわんさか転がってる。
それと、例みても理解出来ない無能さを少しは恥じろ
0545nobodyさん
2005/06/27(月) 15:03:21ID:???$keyword = "すけべ";
$result = file_get_contents( "http://www.google.co.jp/search?q=$keyword" );
慣れてきたらfsockopenとかいじってみたり、HTTPの勉強してみたり。
言っとくけどHTTPの詳細はPHPマニュアルには載っていない。
HTTPをかじった後には友達の「ソケット通信で出来るんじゃね?」の意味がわかる。
その次はXMLの勉強。
SOAPというものがわかってきたら、ようやくGoogle Web APIの登場。
これが>>543のいうWebサービス。
道のりは短くはないぞ。
0546nobodyさん
2005/06/27(月) 15:10:27ID:???俺はPHP4でも満足だがおまいらもそうだろ?
0547nobodyさん
2005/06/27(月) 15:14:59ID:???アンチPHP5なのって結局は移行に手間かけられないとかPHP5ありの鯖が少ないとかそういう理由でしょ。
0548nobodyさん
2005/06/27(月) 15:15:04ID:???$sql="insert into tableA values ('$aaa','$bbb','$ccc')";
$result=mysql_query($sql);
$sql="select * from tableA where aaa='$aaa'";
$result=mysql_query($sql);
while($row = mysql_fetch_array($result)){
$xxx = $row["bbb"];
}
echo "$xxx";
echo "$bbb";
exit;
}
・
・
insertはどの行で実行されるのでしょうか。
またselectはどの行で実行されるのでしょうか。(なんとなく
echo "$xxx"; のような気もしますが)
はじめに変数sqlにインサート文を代入し、続けて同名の変数sql
に今度はセレクト文を代入しています。
mysql_fetch_arrayの$resultはどちらの結果を代入されたのか
混乱しないのでしょうか。
よろしくお願いします。
0549nobodyさん
2005/06/27(月) 15:23:18ID:???0550nobodyさん
2005/06/27(月) 15:54:17ID:???最近PHP初めたばかりで5と4の違いもわからないんですけど
5の環境で開発すると、4の鯖で動かないとかあるんですか?
5で追加されたような新しい書き方してなければOKなんですよね?
(といってもどれが新しいのかもわからないけど)
0551548
2005/06/27(月) 16:34:21ID:???上書きってことは、$resultには
mysql_query(select * from tableA where aaa='$aaa');
しか代入されないってことですか?
0552nobodyさん
2005/06/27(月) 16:45:48ID:???insertがどの行で実行されるかつーのも、マニュアルのmysql_queryのページに書いてあるんだしさ。
もうちょっと頭使おうよ。
0553nobodyさん
2005/06/27(月) 16:53:33ID:???何のために while ループ内で $xxx に代入してるんだ?
最後の echo "$bbb" って何なんだ?
さっぱり理解できませぬ。。。
0554548
2005/06/27(月) 17:06:34ID:???echo $xxx;
echo $bbb; の間違いでした。(ダブルコーテーションで囲んでいました)
省略していましたが、>>548の続きには自分自身にポストする入力フォーム
があります。入力されたデータをレコードに登録し、その後登録したものを
表示する、といったものです。
0555nobodyさん
2005/06/27(月) 17:12:28ID:???上書きするまでは、ちゃんと最初のmysql_query()の結果が入ってるよ。
>insertはどの行で実行されるのでしょうか。
>またselectはどの行で実行されるのでしょうか。(なんとなく
>echo "$xxx"; のような気もしますが)
この辺の理解が明らかにオカシイ。
mysql_query()のリファレンス(というかMySQLの項全部)を嫁
0556nobodyさん
2005/06/27(月) 17:16:05ID:???0557nobodyさん
2005/06/27(月) 17:32:04ID:???別にダブルクォートで囲っていても問題ないけど >> echo $bbb;
レコードに登録した直後なんだから、登録したデータは手元の
変数($aaa,$bbb,$ccc)にあるわけで、それを表示すればいいような。
わざわざSELECTする必要性があるの?
もしかしてINSERTが正常に行われたかどうかをチェックする意味で
SELECTし直してるの?
0558nobodyさん
2005/06/27(月) 17:34:29ID:???我がPHPもデュアルコアに対応すべくなにか効率的な記述方法は無いだろうか?
0559nobodyさん
2005/06/27(月) 17:35:30ID:???0561nobodyさん
2005/06/27(月) 17:43:05ID:???漏れの生きている間にはムリポ
0562548
2005/06/27(月) 18:03:00ID:???>この辺の理解が明らかにオカシイ。
ハイ、いまいち理解していません。今読んでいる参考書がその辺
をすっ飛ばしていたもので・・。マニュアルをよく読むことにします。
>>557
その参考書の例で載っていたんです。(変数名などは変えていますが)
度素人の私は「う〜ん、そんなものなんだろう」と鵜呑みにしていました。
0565548
2005/06/27(月) 20:18:58ID:???あれから関連サイトを眺めてみてなんとなく理解できました。
その後に皆さんのカキコムを改めて読んでみて、納得。
>>551の発言が赤面デス。忘れてください。
0568nobodyさん
2005/06/27(月) 20:32:50ID:???0570nobodyさん
2005/06/27(月) 21:11:40ID:???$str = '?&&&';
$arr = array(
0x0000,0xFFFF,0,0xFFFF,
);
$str = mb_decode_numericentity($str, $arr, 'utf-8');
echo $str;
↓
!&&
(&が一つ消える)
0572nobodyさん
2005/06/28(火) 00:19:16ID:???/subdir/sub.php
/common/inc.inc
/img/hoge.jpg
inc.incの中に
<img src="../img/hoge.jpg">
と書いておいて
inc.phpを
main.phpとsub.php両方にincludeすると、当然ですがsub.phpでしかhoge.jpgを参照出来ません
/から始まるルート相対パスを使わずにhtmlの外部cssファイルのように、inc.inc自身を基準にして、ほかの階層にあるファイルを参照ってする方法がないんでしょうか?
0573nobodyさん
2005/06/28(火) 02:03:31ID:???0574nobodyさん
2005/06/28(火) 02:06:56ID:???0575nobodyさん
2005/06/28(火) 02:14:43ID:???日本語が表示できない!どうすれば良いですか?
<?php echo "日本語"; ?> 実行すると→ ??{?
<?php header('Content-Type: text/html; charset=euc-jp');
echo "日本語"; ?> 実行すると→ ??{?
Shift-JIS、SJISにしても同じ
・VineLinux3.1、Apche2、PHP4.3.11
#apt-get install php-apacheで入れました
[mbstring]
mbstring.detect_order auto auto
mbstring.encoding_translation Off Off
mbstring.func_overload 0 0
mbstring.http_input auto auto
mbstring.http_output SJIS SJIS
mbstring.internal_encoding EUC-JP EUC-JP
mbstring.language Japanese Japanese
mbstring.script_encoding no value no value
mbstring.substitute_character no value no value
・エディタ・送信ソフトはDreamWeaver(WINDOWS)、送ったファイルをcat等で見ると日本語で見れる
・pukiwikiでは完全に日本語使えてます
0576nobodyさん
2005/06/28(火) 02:17:33ID:???<base href="http://domain/common/">
>>575
mb_http_output()
0577575
2005/06/28(火) 02:36:00ID:???理解できなくてゴメン
・mbstring.http_output をEUC-JP にしてみた →かわらず
・以下のページを表示
<?php
mb_http_output("EUC-JP");
echo mb_http_output();
echo "<br>日本語";
?>
↓結果
EUC-JP
??{?
イキテテスマン
0578nobodyさん
2005/06/28(火) 03:31:51ID:???php.iniの設定のどこか。
もれもさっきインスコしたら文字化けしたから、
php.iniのどこかが悪いと思って現在調べ中。
今までレン鯖においてテストしてたから(;´ω`)
0579nobodyさん
2005/06/28(火) 03:35:48ID:???0580578
2005/06/28(火) 05:04:14ID:???反省してます。ゴメンナサイゴメンナサイ・・・
で、報告ですが、やはりphp.iniの設定が問題ですた。
>>576さんのおっしゃるとおり、mbstringまわりが怪しいかと。
結局自力じゃ無理と判断し、『php.ini 設定』でググって設定しますた。
3つ目のサイトぐらいのphp.iniの設定でようやく文字化けがなおった・・・
ということで>>575さんもガンバッテ
0581nobodyさん
2005/06/28(火) 10:12:50ID:???$rndphp[0] = '<?php require("test.php"); ?>';
$rndphp[1] = '<?php require("test2.php"); ?>';
$length = count($rndphp) - 1;
srand( (double)microtime()*1000000 );
$num=round( rand(0,$length) );
print("$rndphp[$num]");
?>
これでHTMLにtest.phpかtest2.phpのどちらかを
ランダムに出力したいんだけど上手くいかない…どなたかご助力お願い
0582nobodyさん
2005/06/28(火) 10:26:17ID:???test.php と test2.php の中身と目的があいまいだが、
<?php
$rndphp = array( 'test.php', 'test2.php' );
$filename = $rndphp[rand(0, count($rndphp) - 1)];
// test.phpとかをテキストデータとしてそのまま出力
readfile($filename);
// もしくはtest.phpとかをPHPファイルとしてインクルード
require($filename);
?>
漏れは今日readfile()を初めて使ったw
0584nobodyさん
2005/06/28(火) 10:35:51ID:???一応、こんな方法もあるよ。
$rndphp[0] = 'require("test.php");';
$rndphp[1] = 'require("test2.php");';
$length = count($rndphp) - 1;
srand( (double)microtime()*1000000 );
$num=round( rand(0,$length) );
eval($rndphp[$num]);
0585nobodyさん
2005/06/28(火) 10:42:14ID:???phpマニュアル読み直してきます _/ ̄|○ ホントアリガト…
0586nobodyさん
2005/06/28(火) 11:34:29ID:NOgQf4l5txt→php→swfの順にダイナミックテキストを使用して読み込むようにしています。
apacheとphpは動いています。MX2004を使用しています。
現在txt→phpやtxt→swfで表示はされるのですがtxt→php→swfとやると、何も表示されないのです。
変数やスクリプトを確認しても間違いっていません。
apacheやphpでフラッシュと連動させるときは何か他に設定などが必要なのでしょうか?よろしければ教えていただきたいです。
0587nobodyさん
2005/06/28(火) 11:35:00ID:NOgQf4l5下記にtxt、php、swfの中身を書いておきます。いずれも同じファイルの中にあります。
・・・・・・・・・・・・・・・・・
txtの中(ファイル名はsamPHP01.txtです)
テストです。
・・・・・・・・・・・・・・・・・
phpの中(ファイル名はsam02a.phpです)
<?php
if (!($fileTxt = fopen ("samPHP01.txt", "r"))) {
die("ファイルが開けません。");
}
while (!feof($fileTxt)) {
$vTxt = fgets ($fileTxt, 4096);
}
fclose($fileTxt);
echo "txtIn=".$vTxt;
?>
・・・・・・・・・・・・・・・・・・・
swfの中(ダイナミックテキストのインスタンス名はphpTxt1です)
varsData2 = new LoadVars();
varsData2.onLoad = function () {
phpTxt1.text=this.txtIn;
}
varsData2.load("sam02a.php");
・・・・・・・・・・・・・・・・・
よろしくお願いいたしますm(_ _)m
0589nobodyさん
2005/06/28(火) 12:36:20ID:???ヘッダは?
header("Content-type: text/plain; charset=UTF-8");
って感じで。
コンテントタイプはtext/plainにしなきゃダメだよ。
漏れの知る限りではFlashで文字コードはUTF-8しか対応してなかった気がするが、けっこう以前の話なので自信なし。
0591587です
2005/06/28(火) 12:59:35ID:NOgQf4l5返信ありがとうございます。
localhostでphpを動作すると
txtIn=テストです。
と出てきます。
0592587です
2005/06/28(火) 13:04:27ID:NOgQf4l5589さん返信ありがとうございます。
すいません初心者なのでヘッダの設定はどうやるかわかりません。
header("Content-type: text/plain; charset=UTF-8");
をphpでechoを使って表示させるのでしょうか?
よろしければ教えていただきたいですm(_ _)m
0593587です
2005/06/28(火) 13:08:54ID:NOgQf4l5動きましたか・・・・。
なぜ私のでは動かないのか本当に困っていますorz
onLoad に trace(this.txtIn)を入れても何も表示されないのです・・・。
わざわざ確認までしていただいて申し訳ないですm(_ _)m
0594nobodyさん
2005/06/28(火) 13:24:34ID:???sam02a.php
はUTF-8になってる?
0595587です
2005/06/28(火) 13:28:43ID:NOgQf4l5初心者のためUTF-8のやり方がわかりません。
今ヤフーで調べていますが、よろしければ教えていただきたいです。
お願いしますm(_ _)m
0596nobodyさん
2005/06/28(火) 13:33:48ID:???0597587です
2005/06/28(火) 13:57:37ID:NOgQf4l5TeraPadでUTF-8にしてみましたがだめでした・・。
phpで echo "txtIn=テストです。"
とやってtxtを使わないでやってみたところこれはできました。
txtで txtIn=テストです。
とやってphpを使わないでやってみたところこれもできました。
txt→swf php→swfの二つができるのになぜ txt→php→swfはできないのでしょうか?
ホントに困ります・・・orz
0598587です
2005/06/28(火) 14:11:04ID:NOgQf4l5と入れてみたらできました。
親切なみなさん本当にどうもありがとうございましたm(_ _)m
0599nobodyさん
2005/06/28(火) 15:36:35ID:???0600nobodyさん
2005/06/28(火) 15:39:59ID:???0602nobodyさん
2005/06/28(火) 16:23:21ID:???つ [http://www.php.net/manual/ja/introduction.php]
といいたいとこだがマジレス。
P: PHP (←「再帰的」だそうです)
H: Hypertext
P: Preprocessor
PHPの一文字目Pが表すPHPはPersonal Home Pageかなんかの略だった気がする。
ということは全部広げて書くと
Personal Home Page Hypertext Preprocessor
かな?
0604nobodyさん
2005/06/28(火) 16:44:53ID:???つ http://jp.php.net/manual/ja/history.php
0605nobodyさん
2005/06/28(火) 17:38:47ID:???for($i=0;$i<10;$i++){
print $_POST['$i'];
}
のような処理をやりたいのですが、これって不可なんですか?
どうも出力されないようなので。
$val = sprintf("$_POST['%d']",$i);
みたいな処理かませばいけますか?
どうぞご教授ください。
0606nobodyさん
2005/06/28(火) 17:53:23ID:???print $_POST[$i];
}
' で囲った変数は無視されるよ
答えは$_POST[$i]か$_POST["$i"]
0607nobodyさん
2005/06/28(火) 17:54:05ID:???どのようにすればいいんでしょうか・・・
0609nobodyさん
2005/06/28(火) 22:04:01ID:???function & ???? ($a, $b, $c)
と
function ???? (&$a, &$b, &$c)
は違いますか?
0610nobodyさん
2005/06/28(火) 22:36:15ID:???0611nobodyさん
2005/06/28(火) 22:53:38ID:???0612nobodyさん
2005/06/28(火) 22:56:17ID:???上が値渡しで下が参照渡しだよ。
http://www.php.net/manual/ja/language.variables.php
0613nobodyさん
2005/06/29(水) 03:47:27ID:???上のは関数の戻り値(言わば関数からの出力)が参照渡しされる。
下のは関数の引数(言わば関数への入力)が参照渡しされる。
0614nobodyさん
2005/06/29(水) 03:56:28ID:???「再帰的」なんだからこういうことじゃないか?
PHP
= PHP Hypertext Preprocessor
= PHP Hypertext Preprocessor Hypertext Processor
= PHP Hypertext Preprocessor Hypertext Processor Hypertext Processor
= ... (無限ループ)
>>603
日本で一般的に使われる単語を用いてで表記すると
PHPハイパーテキストプリプロセッサ
0615nobodyさん
2005/06/29(水) 04:51:44ID:???0618616
2005/06/29(水) 07:45:14ID:???↑ここへのつっこみなんで。
0619nobodyさん
2005/06/29(水) 11:13:11ID:???書き込み処理時のidの振り方がイマイチ分かりません。
現在は下記の様に日時でidを作っていますが、
$id = date("ymdHis");
if(! fwrite($handle,
$id. "\t" .$_POST['date']. "\t" .$_POST['title']. "\t" .$_POST['article']. "\t". "\n" ))
これを古い順番から 0001 0002 0003 .... 1256 1257 .... というようにidを振るにはどうすれば良いでしょうか?
0620nobodyさん
2005/06/29(水) 11:38:26ID:???行単位で格納しているみたいなので行数をカウントして、得た行数+1をIDとする。
または別のファイルに最新のIDを保管しておいて、掲示板書き込み毎に+1していく。
どちらにしても同時書き込みが発生することを考えてロックしておかないと重複する恐れあり。
どういう用途でIDを使用するのかは判らないけど、ファイルにはIDを格納せずに
表示時(読み出し時)に画面上で連番を振っても良いような気もする。
0621nobodyさん
2005/06/29(水) 11:38:36ID:???$records = file($logfile);
$id = count($records);
$fp = fopen($logfile, 'a');
fwrite($fp, "$id\t$_POST['date']\t$_POST['title']\t$_POST['article']\t\n");
fclose($fp);
こんなんでいいのか?
っていうか何をどうしたいのかよくわかんないんですが。
ファイルを全部読み込むのが嫌ならレコード数は別のデータファイルに保存しといたら?
あれ、日時で$id作ったのにはなにか別の目的があった?
0623nobodyさん
2005/06/29(水) 11:40:21ID:???$new_str = sprintf("%04d",$number); で、0で隙間を埋めた4文字の数値になる。
新しいidを決定する方法は幾つかあるけど、他ファイルに数字を保持しておいたり、
ファイルを全部読み直して一番大きな数値を探したり、ファイルポインタを最後に移(略)。
0626nobodyさん
2005/06/29(水) 11:51:24ID:???トランザクション→ロールバックするとAutoincrementでは
飛んで空き番が発生するよ。
掲示板ぐらいなら、トランザクションを使用することもないかもしれんが。。。
0628nobodyさん
2005/06/29(水) 12:24:59ID:???function & ???? ($a, $b, $c)
^^^^
0629nobodyさん
2005/06/29(水) 12:38:53ID:???ん?あなたは>>609ですか?
>>612、>>613、>>616、>>617、>>618に色々レス来てるが。
0630619
2005/06/29(水) 13:50:38ID:???phpに手を出したばかりで、何か作ってみたくて掲示板を作ってみてます。
idの用途ですが、ページの何処かにタイトルのみ書き出しして記事ごとにリンクをすれば楽かなと思いまして。
日時指定は暫定処置でしています。
データベースも使えたら楽そうですが、まだそんな段階ではなく…。
>>620 621
行数カウントですが、ポインタの位置でカウントのようなので、fopenでaを指定しないと動かないですよね
自分は表示の都合上、wを指定していたのでうまく動作しませんでした。
wのままで動作する方法等ありますでしょうか
>>623
その方法も知りたかったので助かりました。
0631nobodyさん
2005/06/29(水) 14:08:56ID:???fopenでモードwを指定すると既存ファイルの中身は
捨てられてしまうんだけど。。
ひょっとして1記事=1ファイルって形態にしてるの?
だったら行数は意味ないよね。
別ファイルにidを持たせるか、ファイル数をカウントするしか
ないんぢゃないかな。
0632nobodyさん
2005/06/29(水) 14:19:46ID:???リンク先のページで扱うのってどうやればいいですか?
GETならば?の後に書けばいいのはわかるんですが、POSTの場合は
どのようにすればいいのかわかりませんでした。
0633nobodyさん
2005/06/29(水) 14:28:52ID:???フォームを通すしかないんじゃん?
JavaScriptでonclickか<a href="javascript:〜">でformのsubmit()。
0635619
2005/06/29(水) 15:26:55ID:???1記事=1ファイルではなく、すべての記事を1つのlogに格納しています。
そのlogを先頭から順番に読み込み、表示としているので、
カウントしてidを振り分けて書き込み・・・という流れはfopenのmodeだけじゃ無理ですよね。。。
別ファイルにid保持させるというのは全く見当がつかないのですが、どういった感じでしょうか・・・
0636nobodyさん
2005/06/29(水) 16:45:27ID:???う〜ん。話が見えない。。。長くなるけど少し整理してみる。
元発言(>>619)からすると、全記事=1ファイルの追記方式と
思われるので、こんな方法はどうか?と >>621 のレス
>>630 で fopenのモードwを使っているため、その方法は使用できない
fopenのモードwを使うと、記事ファイルのサイズは0にされて、
常に最新の記事「しか」ファイルに書かれていないことになる。
それは変だから、1記事=1ファイル?という趣旨が >>631 のレス
・id云々以前にモードwを使用して全記事=1ファイルに正しくできてるの?
・どういう理由でモードwに拘るの?
記事の書き込み部分と読み出し部分をすべて出してもらった方が
話は早いかもしれない。
0637nobodyさん
2005/06/29(水) 17:20:36ID:???mysql_queryなどでSQLのWHERE句に変数を使う場合は
直接SQL文を編集しなければダメでしょうか?
それともバインドする方法があるのでしょうか?
0638nobodyさん
2005/06/29(水) 17:29:01ID:???ちょっと意味が分からんのだが、SQL文に変数使っても問題ない。
$sql = "select * from TABLE where status = $hensu";
見たいな形で俺は使ってる。意味が違ってたらスマンコ
0639nobodyさん
2005/06/29(水) 17:41:55ID:???PHP5ならmysqliクラスのmysqli_prepare,mysqli_stmt_bind_paramが
使用できると思うけど・・・
あまりメリットは感じないな。>>638の方法でいいんぢゃないの。
0640nobodyさん
2005/06/29(水) 21:54:49ID:???下記のようなエラーが帰ってきたのですが
Warning: mail() [function.mail]: SAFE MODE Restriction in effect. The fifth parameter is disabled in SAFE MODE. in /home/*****/mail.php on line 9
コレはサーバの仕様上設定できないと思ってよろしいでしょうか?
ちなみに$returnpathを外したり、
関数をmb_send_mail()に切り替えれば問題なく送信できます。
以下ソースです
$to = "**@**com";
$subject = "test";
$msg = "yes";
$from = "**@**com";
$returnpath = "-f**@**com";
mail($to,$subject,$msg,$from,$returnpath); //←line 9
0641nobodyさん
2005/06/29(水) 22:01:45ID:???0642nobodyさん
2005/06/29(水) 22:07:15ID:???0643nobodyさん
2005/06/29(水) 22:10:35ID:???0644nobodyさん
2005/06/29(水) 22:30:08ID:???入門書に「処理内容によってはセッション変数を強制的に破棄したい場合もある」ので
session_unset()やsession_destroy()を使え、とありますが、
どういう状況で必要になってくるのでしょうか?
いろいろぐぐってhttp://www.stackasterisk.jp/tech/php/php03_06.jspとかを見てみたのですが、
ここのログイン処理用のloginExe.phpのスクリプトを見ると
アカウントあるいはパスワードを間違えた場合にsession_destroy()を実行しています。
これがなぜ必要なのかがわかりません。
セッションIDって、同一ユーザーが継続して接続していることをサーバーが判断するためのものですよね?
わざわざパスワードを間違えたからって破棄する必要があるのでしょうか?
どなたかおしえてください。
0645nobodyさん
2005/06/30(木) 00:12:24ID:???入力されたデータが正しいかどうかを判断するのはセッション変数ではないので、
間違ったデータがセッション変数に格納された場合、それを破棄するようにしておかないと
以後正しいデータをセッション変数に書き込むことが出来なくなるから。
多くのセッション変数を扱う場合、session_unset()だと不都合な場合もあるのでunset()もよく使う。
0646nobodyさん
2005/06/30(木) 00:45:09ID:YDSMxdfrPascalを扱った事があるのですが、Pascalでは
if (hoge1='あsdf') and (hoge2='おちんちん') then
begin
end;
というように指定できました。PHPで同じように書きたいのですがどのように書くのが
最適なのでしょうか?
0648644
2005/06/30(木) 01:16:58ID:???レスありがとうございます。
自分でも間違ったパスワードを入力してみたりはしたのですが、
ログイン時にユーザー名とパスワードが一致した場合のみセッション変数に格納するように記述したので
間違ったデータがセッション変数に格納されるという状況が想定できません。
たとえばどのような状況で間違ったデータが格納されてしまうということが起こるのでしょうか?
0650nobodyさん
2005/06/30(木) 02:20:17ID:???自分で条件を付け足して
質問の意味を実質的に変えるような真似は
やめたほうが良いと思う。
おまえさんがどういうときに
セッション変数に格納するようにしたかなんて
回答する人間が説明されずに分かるわけがないのだから。
いらないと思うなら、つかわなきゃ良いのだ。
人間は失敗して成長する。
0651nobodyさん
2005/06/30(木) 03:28:18ID:Xb073jdm以下のようにしてるんですが他にもっとうまいやり方ないでしょうか?
例
$ser = 123abc;
$arr = array(abc, def, ghi);
$chk = false;
foreach ($arr as $arrs) {
if(stristr($ser, $arrs) !== "false") {
$chk = true;
break;
}
}
if ($chk) echo "exist";
0654nobodyさん
2005/06/30(木) 06:42:04ID:???難しい問題だな
$ser = 'abcdef';
$arr = array('abc', 'def', 'ghi');
// かってに'abc'って書いたけどabcとかって文字列リテラルのつもりだよね?
↑の場合もただ単にtrueって考えればいいわけ?
とりあえず今の通りにforeach使うしか方法ないね。
コールバック関数を指定する系のarray_*()関数使うって手もありそうだけど、それだったらforeachごと含んだ部分を関数化するのがベストだと思う。
0655nobodyさん
2005/06/30(木) 07:00:03ID:???ちょっとトリッキーだけど。
$ser = '123abc';
$arr = array('abc', 'def', 'ghi');
if (str_replace($arr, '', $ser) != $ser)
echo "exist";
0657651
2005/06/30(木) 13:55:30ID:???(;´Д`)
0658nobodyさん
2005/06/30(木) 16:45:33ID:???0659nobodyさん
2005/06/30(木) 18:18:52ID:???でIPもしくはhostをログに取得するにはどうすればいいでしょうか?
教えてください
0660nobodyさん
2005/06/30(木) 18:26:19ID:???0661nobodyさん
2005/06/30(木) 18:28:50ID:???DLするのマンドクセ
phpinfo()すれば IPアドレスを取得できる環境変数名が分かるから、
それ或いはgethostbyaddr()を使って取得したホスト名をログ書き込み部分に追加する。
0662nobodyさん
2005/06/30(木) 20:13:41ID:???ありがとうございます!表示されました!
しかし本体(掲示板)の方にもIPが表示されてしまいます。
ログにだけ保存したいのですが簡単にできますか?
0663651
2005/06/30(木) 20:49:56ID:Xb073jdm以下の文字列"123xyz"でも"exist"になってしまいます。
何がまずいんでしょうか。。。
例
$ser = '123xyz';
$arr = array('abc', 'def', 'ghi');
$chk = 'false';
foreach ($arr as $arrs) {
if(stristr($ser, $arrs) !== "false") {
$chk = 'true';
break;
}
}
if ($chk){
echo "exist";
}else{
echo "no exist";
}
0664nobodyさん
2005/06/30(木) 21:57:06ID:???0665651
2005/06/30(木) 22:41:04ID:Xb073jdmtrue や false を文字列にしなければうまく動くんでしょうか?
どうやってもうまくいきません。
ヒントでもいただけませんでしょうか?
0666nobodyさん
2005/06/30(木) 22:43:50ID:???if ($chk)
が真になってるんだよ。
"で括るなよ。
0668651
2005/06/30(木) 23:09:30ID:Xb073jdmありがとうございました。できました。
勉強不測なようで恥ずかしいです。
0669nobodyさん
2005/06/30(木) 23:15:28ID:???そんな大きなシステム作るの?
だったらJavaで作ればいいのにって思うんだけど。
Apache+phpに比べてアプリケーションサーバーは重いから
それようのサーバーも無いし、購入する余裕も無くてphpって選択肢になってるの?
0674nobodyさん
2005/07/01(金) 00:27:41ID:???phpは最近触り始めたばかりなんだけど、すごい手軽に作れちゃう
のがphpの良いところだと思っていて、MVCなんか持ち出すなと。。。
phpで大規模は作れないなんて思わないけど、セッションの異なる
ユーザー間でのデータ共有がファイルかDBしかないって、ちょっと
パフォーマンス的にきつく感じる。
JavaならServletのオブジェクト変数にスレッド間で共有したいデータを
入れておけばよいだけだから。
0676nobodyさん
2005/07/01(金) 00:55:32ID:???673じゃないけど。
漏れの客の中には業務時間中は許可なくシステムやプロセスの再起動を
禁じるとのおふれを出してくれるDQNな顧客がいるので
再起動がないPHPはありがたい。
0678nobodyさん
2005/07/01(金) 02:25:21ID:???AppServerが必要な点で、条件が厳しいと感じる。
MVCはJavaだろうがPHPだろうが、Webアプリ作るなら
それに沿った方がトータルでは簡単(楽)だと思うけどね。
素のStruts&支援ツール未使用では少々使いづらいと思ったけど。
0679646
2005/07/01(金) 02:58:07ID:UlstNgahどうもありがとうございますた!
0680nobodyさん
2005/07/01(金) 08:30:53ID:???個人的にはそこが利点だと思うんだけど。
0681nobodyさん
2005/07/01(金) 08:47:29ID:???1つのファイルで複数のページを作りたいのですが
どのように行ったらいいでしょうか?
0682nobodyさん
2005/07/01(金) 08:51:16ID:???0683nobodyさん
2005/07/01(金) 10:01:11ID:???0685nobodyさん
2005/07/01(金) 13:29:04ID:???直すのってどうやるのですか?
0686nobodyさん
2005/07/01(金) 13:30:17ID:???0687685
2005/07/01(金) 13:39:56ID:???0688nobodyさん
2005/07/01(金) 14:27:34ID:???<?php
extract($_POST);
echo "<form action=\"menu.php\" method=\"post\">\n";
echo "<p>タイトル <br><input type=\"text\" name=\"t\" value='$t' size=45></p>\n";
echo "<p>本 文 <br><input type=\"text\" name=\"h\" value='$h' size=45></p>\n";
echo "<input type=\"hidden\" name=\"sig\" value=\"kb\">\n";
echo "<input type=\"submit\" value=\"検索\">\n";
echo "<input type=\"reset\" value=\"クリア\">\n";
echo "</form><hr>\n";
//データ検索結果の実行部分
if($sig == "kb") {
mysql_connect("localhost","root","xxxxxx");
mysql_select_db('database1');
$wt =="";
$wh =="";
$wk =="";
//検査区分の分解(タイトル)
if($t <>"") {
$xt = str_replace(" " , " " ,$t);
$gt = explode(" ",$xt);
$wt = "title like '%$gt[0]%'";
$i = 1;
$n = count($gt) - 1;
while ($i <= $n) {
$wt = $wt . " and title like '%$gt[$i]%'";
$i++;
}}
//検査区分の分解(本文)
(上の”タイトル”と似たようなコード。$t が $hに、$xt が $xhに、等)
0689nobodyさん
2005/07/01(金) 14:30:27ID:???$sql = "select * from table1 where ";
if($wt<>"") {$sql = $sql . $wt;}
if($wh<>"") {
if($wt<>"") {$sql = $sql . " and ";}
$sql = $sql . $wh;
}
//ここからが本検索
$result = mysql_query($sql);
$rows = mysql_num_rows($result);
if($rows == 0) {
print "検索データが見つかりませんでした。";
exit;
}
else {
echo "<font color=\"red\">" , $rows, "件のデータがヒット<br></font>\n";
echo "<a href=\"zemken.php?s=", $sql ,"\" target=\"main\">全検索</a><br>\n";
while($row=mysql_fetch_array($result)) {
echo $row["title"];
}}}
?>
以上です。フォーム(「タイトル」と「本文」)に入力された文字列を自身へポストし、
検索をかけ表示するというものです。
「//データ検索結果の実行部分」の「if($sig == "kb") {」と、その数行前の「echo "<input
type=\"hidden\" name=\"sig\" value=\"kb\">\n";」の意図が分かりません。
「if($t <> "") {」だとecho文の一行もいりませんよね? またその後の
$wt ==""; $wh ==""; $wk =="";
が何のためにあるのかも良くわかりません。試しに削ってみましたが、ちゃんと機能するようです。
0690nobodyさん
2005/07/01(金) 15:00:48ID:???$wt ==""; $wh ==""; $wk =="";
は
$wt =""; $wh =""; $wk ="";
としたかったんだと思う
formからpostされたときだけ
if($sig == "kb") { 以下の処理を行うということでしょう
(タイトルや本文などの他の項目は任意でこの値だけは必ずセットされている)
0691nobodyさん
2005/07/01(金) 15:04:03ID:???で、質問書いてからコード引用しろよ。
0692690
2005/07/01(金) 15:06:18ID:???にしたら$sigはいらないかな
入力値が無いときの動作についての仕様しだいだけど
0693689
2005/07/01(金) 15:36:24ID:???>(タイトルや本文などの他の項目は任意でこの値だけは必ずセットされている)
あぁ、そういうことか。フォームは2つ有るんですもんね(´・ω・`)
でも
$wt =""; $wh =""; $wk ="";
はいまだに?です。なんか要らないような・・。
0696695
2005/07/01(金) 15:44:57ID:???です
0698nobodyさん
2005/07/01(金) 16:20:28ID:???感じとしては
print hogehote.txt
でhogehoge.txtの内容をそのまま表示してくれるような・・。
分かりにくかったらごめんなさい
0700nobodyさん
2005/07/01(金) 16:28:01ID:???0702nobodyさん
2005/07/01(金) 16:45:45ID:uNU+fZm1ファイルオープン
flock($fp,LOCK_EX);
fputs
ファイルクルーズ
としてるのが多いんですが
flock($fp,LOCK_UN);は書かなくても勝手に解除されるんでしょうか?
0703nobodyさん
2005/07/01(金) 16:55:57ID:???0705nobodyさん
2005/07/01(金) 17:07:49ID:???ありがとうございます
readfile("./test.txt")
で表示するだけは出来ました。
ちょっと
$fp = readfile("./test.txt"):
print "$fp";
としてみたんですが結果が
----------------
hoghoge.com
hogyohogyo.com
87
----------------
となりキャラクター数が最後に付いてしまっているようです。
えーと変数をテキストだよって宣言する作業をすればいいのかな・・
0707nobodyさん
2005/07/01(金) 17:17:12ID:uNU+fZm1ありがとうございます。
レッツのカウンタを使ってたら壊れたのでロック関係の処理を検索してました。
wでなくでr+で開いてftrancate($fp,0);でファイルサイズ0にして書き込み
に変更すれば大丈夫でしょうか?
0708nobodyさん
2005/07/01(金) 17:17:29ID:???また違う方法を探さないと駄目なんですね・・
0711707
2005/07/01(金) 17:34:29ID:???$fp = fopen($file,"w");
flock($fp,LOCK_EX);
fputs($fp,$data);
fclose($fp);
を
$fp = fopen($file,"r+");
flock($fp,LOCK_EX);
ftruncate($fp,0);
fputs($fp,$data);
flock($fp,LOCK_UN);
fclose($fp);
にしたら大丈夫でしょうか?
ディレクトリとかを使いたくありません。
0712nobodyさん
2005/07/01(金) 17:52:40ID:???0713nobodyさん
2005/07/01(金) 18:13:36ID:???なるほどでも
readfile("./test.txt");
だけだとファイルの中身だけが表示されるのは何故?
もと分かって無いと怒られそうかな・・ ;-;
で
<a href=http://hogehoge.com>hogehoge</a>
ってurlが羅列されているテキストをHPの色んなページにチョコっとリンクとして表示させたかったので。
$lines = file("./test.txt");
foreach ( $lines as $val){
print $val . "<br>";
}
って感じにしてみました。
今後は元テキストが
http://hogehoge.com<>hogehoge
urlとリンク先HPのみを自動でリンクにとして表示するようにしようかなぁと
0714nobodyさん
2005/07/01(金) 19:11:14ID:???0716nobodyさん
2005/07/01(金) 19:24:23ID:???つ[http://jp2.php.net/manual/ja/function.readfile.php]
0717nobodyさん
2005/07/01(金) 19:52:51ID:???何回も読みました・・w
動作は分かったのでひとまずいいです
動けばいい趣味スクリプトなんで
プログラムの基礎が無いので読んでも大まかにしか分かって無いようです。
0718nobodyさん
2005/07/01(金) 19:57:19ID:???0719717
2005/07/01(金) 20:03:10ID:???ありがとうございました <(_ _)>
分かりたいんですが、何が分かって無いのか分からないので。
phpいじくりながら勉強します
0720nobodyさん
2005/07/01(金) 20:58:06ID:???0721nobodyさん
2005/07/01(金) 22:33:46ID:???閲覧者が検索ワードを入力し結果を表示させるだけのものををphpとmysqlで
作りたいんですけど、やはりセキュリティと言うものに気を配らなければ
ならないのでしょうか。全く気を配らなかったとして、どのような被害が
考えられますか?
0722nobodyさん
2005/07/01(金) 22:45:17ID:???0723nobodyさん
2005/07/01(金) 23:02:28ID:???0724721
2005/07/01(金) 23:16:38ID:???急に自身が無くなって来ました。最低限これだけはやっとけって事にどんなもの
がありますか?答えづらい質問で申し訳ない。
0727nobodyさん
2005/07/01(金) 23:58:56ID:???fopen( "hogehoge.log" , "w" )
などで作成されたファイルの文字コードは何になるのでしょうか。
0728721
2005/07/02(土) 00:10:50ID:???回答ありがとうございます。
XSSでググって見たらジャンジャンひっかかりますね。これだけでも進歩です。
これを足がかりに勉強します。
0729nobodyさん
2005/07/02(土) 00:14:54ID:???hogehoge.logが画像だったとして、それがchmodやfopenで左右されると思う?
書き込もうとする内容が文字コード(さらに言えばテキストに限らず画像のようなものまで)を決定します。
そしてその内容は、phpへの入力・php.iniの設定・スクリプト内のコード変換等 いろいろな場所で文字コードを変換される可能性があります。
0732nobodyさん
2005/07/02(土) 18:04:14ID:???下記でエラー(T_ECHO)になります。何処がいけないのでしょうか。
<?php
extract($_GET);
mysql_connect('localhost','root','xxxxxx');
mysql_select_db('lesson');
if($i<>"") {
$sql = "select * from tbl where id=$i";
$result = mysql_query($sql);
$row = mysql_fetch_array($result)
echo $row["id"];
}
?>
『$rows = ・・・』以下を下記のように直せば大丈夫なんですが。
while($row = mysql_fetch_array($result)){
echo $row["id"];
0735nobodyさん
2005/07/03(日) 00:40:30ID:???flock($file,LOCK_EX);
$line =date("Y年 m月 d日 H:i:s")."\t";
fputs($file,$line."\n");
flock($file,LOCK_UN);
fclose($file);
複数のファイル名で保存するにはどうしたらいいですか?
(aaa.dat , bbb.dat , ccc.datで保存)
0737nobodyさん
2005/07/03(日) 01:34:54ID:???このPHP版JoyfulNoteで新規投稿が着たら
メールで知らせてくれる機能使ってるんですが、
なぜか???だらけのメールが着ます。
このメールを普通の文体のメールに変えるためにはどうしたら良いですか?
ちなみにサーバーはXREAのs151鯖です。
よろしくお願いします。
0739nobodyさん
2005/07/03(日) 10:19:30ID:???0740nobodyさん
2005/07/03(日) 13:07:47ID:???文字コードをいじるためにはどこを弄ればいいんですかね?
Joyful.phpのメール発射するらへんを見てみたんですが、
イマイチわかりませんでしたorz
0741nobodyさん
2005/07/03(日) 18:10:19ID:???mb_language ("ja");
mb_internal_encoding("sjis"); //この行を追加
mb_send_mail($mailto,$MailSub,$MailBody,"From: $email");
0743nobodyさん
2005/07/03(日) 19:23:17ID:sGU6ge/dfunction & hoge()
と、
受け取り側の参照受け取り指定
$moge =& hoge()
の関係がいまいち分かりません。
・両方とも記述しなければいけない
・関数側だけでも同じ結果
・受け取り側だけでも同じ結果
どうなっているのでしょうか?
0744nobodyさん
2005/07/03(日) 19:45:27ID:6wIeYBytたとえばベースとなるフォームをPDFや画像を用意しておき、
そのフォームの特定位置に対応する情報を出力する
差込印刷のようなことは可能なのでしょうか?
それともすべてをPHPで出力するか、
あるいはこういう差込印刷をしようと思ったらOpenOfficeなりを利用するほかはないのでしょうか?
0745nobodyさん
2005/07/03(日) 20:11:28ID:???たとえば、fpdf+fpdiのような外部ライブラリを使えば、差込印刷っぽいことはできる。
んでも、細かな調整等は自分で実装しなきゃいけないよ。
0747nobodyさん
2005/07/03(日) 21:56:45ID:6wIeYBytひとつのFORMにsubmitボタンを複数設置することは可能なのでしょうか?
具体的には、掲示板を表示するphpにおいて各書き込みに「編集」「削除」のボタンを設置し、
共通のphpで処理したいのです。
例えば
<TR><TD>774:nanashitaso</TD>
<TD>本文:ちょっと1聞いて(ry</TD>
<TD><FORM method='POST' action='sakujonin.php'>
<INPUT type='submit' value='編集' name='editflg'>
<INPUT type='submit' value='削除' name='editflg'>
<INPUT type='hidden' value='774' name='kakikoid'>
</FORM>
</TD></TR>
このような記述をしておき、sakujonin.phpではeditflgの内容によって処理を切りかえることが可能か?という疑問です。
あるいはsubmitボタンそれぞれのnameを変えておき、セットされている変数(name)によって処理を変えるのでもよいのですが。
よろしくおねがいします。
0749nobodyさん
2005/07/03(日) 22:09:58ID:???sakujonin.php を以下のようにして実験してみたらすぐ判ることを
なぜワザワザ聞くんだ?
友達が居なくてかまって欲しいのか?
<?php
echo $_POST['editflg'];
?>
0750nobodyさん
2005/07/03(日) 23:38:09ID:???編集と削除、それぞれを違うnameに汁。
それから、それぞれのボタンを押した際の$_POSTの中身を見比べて見る
0751747
2005/07/04(月) 00:50:43ID:???どうもありがとうございました。
0752nobodyさん
2005/07/04(月) 04:27:21ID:???たまに4000とか14feといった、4桁の数字だけで構成された行を受け取ってしまいます。
場所も不特定で、このせいでタグが分断されてページが乱れたりしてしまいます。
fgetsのバッファを大きくしたり、socket_set_blocking()を使って非ブロックモードにしたり、
漢字コードまわりをいじったりしましたが、一向に改善されません。
fsockopenのかわりにpopenでwget -O -を実行するようにしたら、この現象がぴたりと止まったので、
fsockopen()の例では、なんらかのエラー処理がかけているのではないかと思われるのですが、
原因のわかる方はいらっしゃいますか?
<?php
$fp = fsockopen("www.example.com", 80, $errno, $errstr, 30);
if (!$fp) {
echo "$errstr ($errno)<br />\n";
} else {
$out = "GET / HTTP/1.1\r\n";
$out .= "Host: www.example.com\r\n";
$out .= "Connection: Close\r\n\r\n";
fwrite($fp, $out);
while (!feof($fp)) {
echo fgets($fp, 128);
}
fclose($fp);
}
?>
0753nobodyさん
2005/07/04(月) 08:57:15ID:???chunkっぽいので、
HTTP/1.1に拘る必要がなければHTTP/1.0にするとか。
マニュアルのuser notesの所にあるスクリプトの方を参考にするとか。
0754nobodyさん
2005/07/04(月) 11:58:45ID:???よそからGETメソッドで飛んできた「$i」により、レコードがセレクトされ内容を表示。
その後フォームによりそのレコードを削除します。
はじめはそのまま$iで削除しようとしましたが、サブミット後は$iの値が何故か消えて
しまうので削除できず。
上記のように<input type=\"hidden\"〜で新たに「$id」を定義したら無事できました。
何故サブミット後に$iの値が消えてしまうのでしょうか。
0755nobodyさん
2005/07/04(月) 11:59:04ID:???extract($_POST);
extract($_GET);
mysql_connect('localhost','root','pass');
mysql_select_db('db1');
if($ok == "おk") {
$sql = "delete from hoge where id=$id";
mysql_query($sql);
echo "レコードを削除しますた。";
echo $i; //サブミットした後は何故か値が消えてしまう
exit;
}
if($i<>"") {
$sql = "select * from nandemo where id=$i";
$result = mysql_query($sql);
$row = mysql_fetch_array($result);
echo "<p>" , "以下のレコードをマジで削除しますか?" , "</p>\n";
echo "<p>" , "●ID" , "<br>\n";
echo $row["id"] , "</p>\n";
echo "<p>" , "●タイトル" , "<br>\n";
echo $row["title"] , "</p>\n";
echo $i; //ちゃんと表示されるのでここまでは$iに値は入っているようだ
}
echo "<form action=\"delete.php\" method=\"POST\">";
echo "<input type=\"hidden\" name=\"id\" value=\"{$row["id"]}\">";
echo "<input type=\"submit\" name=\"ok\" value=\"おk\">";
echo "</form>";
?>
0756754
2005/07/04(月) 12:12:50ID:???下記のように○
0757nobodyさん
2005/07/04(月) 12:22:02ID:???セッション張ってないんだから持ち回せなくて当たり前。
で、そのコードはSQLインジェクションやXSSといった脆弱性を持っている危険なコードだ。
0758nobodyさん
2005/07/04(月) 12:24:40ID:???セッション利用すればいいんじゃないかな。
0759nobodyさん
2005/07/04(月) 12:38:00ID:???webprogの特徴として、ページを表示するごとに接続が切れる、
そのため前のページで何をやったか覚えてない、っていう事があります。
この辺りの話は、webprogの本やサイトでは基礎の基礎として取り上げられている筈なのでそれらを参照。
要するに、次のページで必要なデータがあるならきちんと渡してやらなきゃいけない。
確認ページ
入力 : $i
出力(formの部分、次の画面での入力) : id=$raw['id'] ok=おk
実行ページ
入力 : id=$raw['id'] ok=おk
0760nobodyさん
2005/07/04(月) 13:07:57ID:???0761nobodyさん
2005/07/04(月) 13:10:57ID:???0762754
2005/07/04(月) 13:41:05ID:???セッションですか。勉強不足でした。
>>760
$idを料理ってなんですか?クッキング?
>>761
消毒って何ですか?毒を消すこととは違いますゆね・・。
0763nobodyさん
2005/07/04(月) 15:14:23ID:70zY79R6newする前に調べたいと考えているのですが
その為には、文字列でCを指定しなくてはならないのですが
instanceof & is_a ← 文字列を指定できない (objectのみ)
('C' instanceof I) is_a('C', 'I') // 必ずfalse
is_subclass_of ← PHP5.3以上なら文字列を指定できるもののinterfaceには使えない
is_subclass_of('C', 'I') // interfaceでは必ずfalse
get_parent_class ← 文字列を指定できるもののinterfaceには使えない
get_parent_class('C') // interfaceでは必ずfalse
と思いついた方法を試してみたのですが、どれも上手くいかずに行き詰ってしまいました。
どなたか上手い方法をご存知の方がいらっしゃいましたらよろしくお願い致します
0764nobodyさん
2005/07/04(月) 15:49:25ID:LXfnoi1ZHTMLファイルを読み込んで、そのHTMLファイルのコメント部1(<!-- コメント1 -->)〜コメント部2(<!-- /コメント -->)までを
変数$hensu に代入する方法を教えて下さい。
0767nobodyさん
2005/07/04(月) 16:19:40ID:???文字列の切り取り関数とかあるのかと思ったのですけど…。
0768軟式PHP
2005/07/04(月) 16:35:17ID:???切り取り関数(substr等)はあるちゃーあるけど、
君の要望を満たすには765や766が書いてるように正規表現が必要かと思われ。
正規表現スレのほうでも何回か出てきた質問だから見てみては。
≫正規表現スレ
http://pc8.2ch.net/test/read.cgi/php/1105930285/
0769nobodyさん
2005/07/04(月) 16:40:05ID:???本当にわがままだな。
$pattern = "/<!-- コメント1 -->.*?<!-- コメント2 -->/s";
preg_match( $pattern, $html, $matches );
$hensu = $matches[0];
0771nobodyさん
2005/07/04(月) 16:42:28ID:???ありがとうございます。ではそちらのスレで聞いてみます。
そしてこれを機に正規表現を勉強してみたいと思います。
0773nobodyさん
2005/07/04(月) 18:43:09ID:???PHPでこんなデータベース作ろうと思ったらどれくらいの技量が必要なんだろう。
0774nobodyさん
2005/07/04(月) 18:48:34ID:???0776nobodyさん
2005/07/04(月) 19:16:23ID:???0777nobodyさん
2005/07/04(月) 20:33:20ID:???$hogeがfooかbarでなければ、の処理をもうちょっとスマートに書けませんか
0778nobodyさん
2005/07/04(月) 20:38:14ID:???0779nobodyさん
2005/07/04(月) 20:46:48ID:???0780nobodyさん
2005/07/04(月) 20:53:11ID:???if ( ($hoge != 'foo') and ($hoge != 'bar') ) { ... }
ではないかと。。。
オラに思いつくのはこんな感じか。あまりスマートではないか。
if (!in_array($hoge, array('foo', 'bar'))) {
0782nobodyさん
2005/07/04(月) 20:55:24ID:???0783nobodyさん
2005/07/04(月) 20:56:34ID:???ですが、いまいち「トラックバック」の意味がよくわかりません。
相手のURLを自分のブログの記事に登録して+相手のブログに
PNG送信すると言う事でしょうか?
何か開発する上でわかりやすいサイトはありませんでしょうか?
0784nobodyさん
2005/07/04(月) 20:57:30ID:???はandだべさ。
つかあれをorで結んだら100%真になるべ。
0787nobodyさん
2005/07/04(月) 21:09:56ID:???0788nobodyさん
2005/07/04(月) 21:10:41ID:???0789nobodyさん
2005/07/04(月) 21:32:38ID:???ありがとうございました。
fsockopenのuser notesにあるrichardaburton at hotmail dot comの方のサンプルコードが
ずばりそれらしいものでした。
0790nobodyさん
2005/07/04(月) 22:01:08ID:v9+48Ieq今日○人 合計で○人と表示できる物はあるでしょうか?
携帯対応で始める数字を最初から設定できる物があれば嬉しいです。
誰か知っていれば教えて下さい。
0791nobodyさん
2005/07/04(月) 22:07:17ID:a2/wuPFvずばり、HTMLはダウンロードできるが全くレンダリングされない症状が出ました。
たまにレンダリングされたりされなかったりするページもあれば、絶対にレンダリングされないページもあります。
ソース表示を行うとしっかりとhtmlがダウンロードできているようでソースは普通に見れますが
ブラウザに全くなにも壱文字も表示されません。
何故かは不明ですが、Windows上のInternetExplorer6でのみ発生します。
Mozilla Firefoxではこの問題が発生するページでも全く問題なく、普通に表示されます。
サーバーの問題かと思い、いくつかのレンタルサーバーで試しましたが同じでした。
htmlを出力しているのはphpファイルです。
知ってる方いらしましたらお願いします。
0793791
2005/07/04(月) 22:19:08ID:a2/wuPFv文字コードで苦労していた頃もありますが、
今回はもっとわけのわからないエラーが発生しています。
この問題で不思議なのはソースが見れるのに画面は完全に白紙になることです。(IEのみ)
原因不明です。このページではmod_rewriteなどは一切行っていませんので引数のエラーなどではないようです。
http headerもしっかりとtext/htmlでアクセスしているようで文字コードも問題ありません
また たまに表示されることがある という意味不明の現象を繰り返しています。
0795nobodyさん
2005/07/04(月) 22:30:53ID:???0796nobodyさん
2005/07/04(月) 22:32:16ID:???0797nobodyさん
2005/07/04(月) 22:46:20ID:???(<?php〜?>が含まれるソース)がダウンロードされてしまう可能性ってあるんでしょうか?
0798nobodyさん
2005/07/04(月) 22:51:57ID:???0799nobodyさん
2005/07/04(月) 22:54:17ID:???あとはサーバの設定トチったり、セキュリティホールがなきゃ可能性は無い。
0800791
2005/07/04(月) 23:22:25ID:a2/wuPFv神、ゴッド
HTMLであるのにXHTML用のタグが一行だけ入っていました
ただ単に タグの後方に / が入っている単純な間違いでした(それもひとつだけ)
いつもならこの程度はお得意の無理矢理レンダリングで表示してくれるieなんですが
今回は何故かレンダリングしてくれませんでした・・・
InternetExplorerの完成度の低さを痛感する今日この頃です
私も完成度低いですね
出直してきます
0801nobodyさん
2005/07/04(月) 23:28:18ID:???リスポンスのmessage-body部分。
Status-Line
*(( general-header response-header entity-header ) CRLF)
CRLF
[ message-body ]
0802nobodyさん
2005/07/04(月) 23:28:36ID:???0803nobodyさん
2005/07/05(火) 00:33:57ID:???switch($hoge){
case 'foo':
case 'bar':
break;
default:
/* ここに処理 */
}
0804nobodyさん
2005/07/05(火) 02:39:15ID:???http://www.php.net/manual/en/function.class-implements.php
0805804
2005/07/05(火) 02:45:52ID:???0806nobodyさん
2005/07/05(火) 04:10:51ID:???>>> 任意のIDとあります。
同じPHP内に、2つ以上のヒアドキュメントを用いる場合、
この任意のIDも別々じゃなきゃいけないのでしょうか?
それとも同じIDでもいいのでしょうか?
0807nobodyさん
2005/07/05(火) 07:32:51ID:???0808nobodyさん
2005/07/05(火) 08:02:52ID:???数で取得したいんですが、どのようにやればいいでしょうか・・・?
<img src="?">
0812637
2005/07/05(火) 14:22:01ID:???>>639
おそれすスンマソン
別の案件やってたら質問入れたこと忘れてた。
さっき再開したときに同じことで疑問に思って思い出した。
どうもありがとう。
0813806
2005/07/05(火) 15:11:33ID:???同じPHP内に、2つ以上ヒアドキュメントを使う場合、
一般的には別々のIDにするものなのでしょうか?
同じIDでも大丈夫のようですが、皆さんはどうなされてますか?
0814nobodyさん
2005/07/05(火) 15:18:37ID:???ヒアドキュメント自体使わないからなー
使うとしたらそのときの気分しだいかな
でも文字列考えるのがめんどいから多分全部同じにするかな
0815nobodyさん
2005/07/05(火) 15:24:42ID:???つか赤の他人の事気にしてどうする
0816nobodyさん
2005/07/05(火) 16:03:15ID:KqOBtHLW<?php
$title = "表";
?>
これがエラーになるんですが、何でですか?
"表1"とかだとOKなんですが。
0818nobodyさん
2005/07/05(火) 16:27:08ID:KqOBtHLWありがとう。
どっさり出てきました。
とりあえず
"表\"
でいいかな。
プロはみんなeucで書いてるんでしょうか?
0819nobodyさん
2005/07/05(火) 17:03:19ID:sbJyhs1Rいろいろなサイトを見ながらセットアップ作業を行っていて、
phpファイルを試しに動かせるのではないか、という段階まできたのですが、
サンプル用のphpファイルをどこに置けばいいのでしょうか。
どのサイトもホームディレクトリに置いて、とかルートディレクトリに置いてとか
書いてあるんですが、じゃホームってどこ?という疑問のまま先に進めていません。
あまりにもくだらない質問で恐縮ですが、どなたか教えてください・・・。
せっかく目前まで来てるのに・・・(´・ω・`)
0820nobodyさん
2005/07/05(火) 17:11:04ID:???Web鯖立ててブラウザなどで実行したいのなら鯖の設定だ。
0821nobodyさん
2005/07/05(火) 17:12:28ID:sbJyhs1Rレスどうもありがとうございます。
鯖の設定いうことはApacheの設定ファイルであるhttpd.confで
記述してやればいいということですか?
0822nobodyさん
2005/07/05(火) 17:13:25ID:???0823nobodyさん
2005/07/05(火) 17:26:45ID:???56481001←見たいに出力したいのですが
エロイ人教えてください
0824nobodyさん
2005/07/05(火) 18:11:04ID:???使い時の注意事項はマニュアルを参考に。
0825nobodyさん
2005/07/05(火) 18:13:32ID:sbJyhs1Rhttpd.confのServerRootを "/etc/httpd/" に指定して、
test.phpファイルをこのディレクトリに配置しました。
ブラウザで http://192.168.1.185:80/test.php と入力しても
ページが見つかりません、と表示されました。
ちなみにtest.phpの中身は<?phpinfo();?>だけです。
なにかまだ設定が足りないんでしょうか・・・?
原因が分からなくて困っています。
どなたかヒントだけでもいただけないでしょうか?
0826824
2005/07/05(火) 18:14:48ID:???0827nobodyさん
2005/07/05(火) 18:17:02ID:???0828nobodyさん
2005/07/05(火) 18:19:18ID:???httpd.confにも(英語だけど)書いてあるように、
ServerRootは鯖の設定やログ等を保持するディレクトリの指定っす。
(個々の設定(例えばErrorLog設定)とかは、ServerRootからの相対ディレクトリを指定する)
0829nobodyさん
2005/07/05(火) 18:23:51ID:???レスありがとうございました。
見事にちゃんと動きましたですよ!
親切なレス本当にありがとうございました 。・゚・(ノ∀`)・゚・。
0830nobodyさん
2005/07/05(火) 21:23:39ID:???HandleCheat('Hit_Proxy');
}
if(!isset($_SERVER{'HTTP_ACCEPT'}) || !isset($_SERVER{'HTTP_USER_AGENT'})){
HandleCheat('Hit_Browser');
}
これってどういう意味ですか?
$_SERVERうんたらってやつが詳しく分かりやすくかいてあるサイトも教えてください
0831nobodyさん
2005/07/05(火) 21:30:17ID:???0832nobodyさん
2005/07/05(火) 23:08:14ID:???0833nobodyさん
2005/07/06(水) 01:52:15ID:???var $hoge;
function sup () {
$this->hoge = 'hoge';
}
}
class sub extends sup {
function sub () {
echo $this->hoge;
}
}
$sub = new sub();
親のコンストラクタは働かないの?
0834833
2005/07/06(水) 02:48:28ID:???自分でうまくやりくりせんといかんのか
0835nobodyさん
2005/07/06(水) 04:46:48ID:???例えば全角の "ABCDE" を半角の "ABCDE" に変換したい時ってどうすればいいですか?
mb_convert_case() だと "abcde" 、全角のままだし、
mb_strtolower() も同じっぽい。
0836nobodyさん
2005/07/06(水) 06:40:42ID:???このスレと比べて質問内容も大差なくなってきてるから、こっちが本スレ化しても大して問題なさげ?
0839nobodyさん
2005/07/06(水) 09:15:21ID:???思いまして、str_word_count というのを見つけました。
http://jp2.php.net/manual/ja/function.str-word-count.php
アルファベットに関しては期待した動作をしてくれますが数字は
無視され、数字を含む単語は分割されます。
そこで上記のマニュアルにある通り[string charlist]を使って、「fri3nd」
のような文字列もそのまま単語として扱いたいのですが、ご覧の通り
肝心の[string charlist]部分が文字化けしています。str_word_countは
日本語の情報がほとんど出てこないし途方に暮れています。
ご存知の方いらっしゃいましたら、ご教示お願いいたします。
あるいはまったく別の方法がよろしいんでしょうか。
効率的で負荷が低ければ他の関数でも採用したいと思います。
0841nobodyさん
2005/07/06(水) 11:13:23ID:???a`a'a~c,3を文字として扱いますよってことだと思うけど(未確認)
0842nobodyさん
2005/07/06(水) 11:31:06ID:???同意
ドイツ語、フランス語対応って感じでしょう
$list = str_word_count( $str, 1, '3');
を実行したら
PHP5.0.4
Warning: Wrong parameter count for str_word_count() in C:\home\php\test.php on line 3
PHP5.1.0b2
3を含む文字列使えた
0843839
2005/07/06(水) 11:34:32ID:???見落としてました(汗
サーバが5.0.4なのでこの便利そうな機能は使えないんですね。
>>841,842
なるほど、文字化けじゃなくてラテン文字と数字の3なんですね。
だから「fri3nd」もひとつの単語ですよ、と。ありがとうございます。
>>839のような場合はどんな関数が使えるんでしょうか?
需要はありそうなんですが。引き続きお願いいたします。
0844nobodyさん
2005/07/06(水) 11:45:20ID:???単語ってスペースで区切られてるんですよね
preg_splitで空白文字、記号で分割するのはどう
preg_split("/[\s,.?!]+/", $str);
0846nobodyさん
2005/07/06(水) 14:49:26ID:+dzX+yc7hetmlで色々書いたり変数を差し込んだりしてる(略)の部分の中で
functionを実行したりって出来ないもんなんでしょうか?
functionで行っている一連の手続きの結果を変数におさめることが出来ればそれでもいいんですが。
$cont =<<<hoge
(略)
hoge;
質問2
相対パスでファイルパス($imgpath = "imge/hoge.jpg";とか$datadir = "himitsu/data";)などが
書かれたconfig.phpとか、これに類する(パスがからんだもの)ファイルを、
違うレベルの階層のファイルからちゃんとインクルードって不可能でしょうか?
めんどくさくて、インクルードする側とされる側のファイルを同じディレクトリに置いちゃってるんですが
結構細かくファイルを分けてるもんで、どこかのディレクトリにまとめておいて、どんな階層からでも参照したいんですが。
0847nobodyさん
2005/07/06(水) 15:09:43ID:???1.
ヒアドキュメントの中で関数を使うのは無理。
関数の結果(return)を変数に代入して、その変数をヒアドキュメントの中で使うのはあり。
というかそれが正しい使い方。
2.
呼び出しの大元のスクリプトの場所がワーキングディレクトリとなり、
相対パスを使った場合はここからのパス指定になる。
ワーキングディレクトリの変更はchdir()で行えるが、更なる混乱を招くので止めた方がいいと思う。
オイラは defineで基準となるディレクトリ名(s)を設定して、それを使うようにしている。
0848nobodyさん
2005/07/06(水) 15:25:09ID:???include("hoge.inc")が使いのでphp.iniをみてwin用の例(include_path = ".;c:\php\includes")を
そのままコピペしてアンコメントしたのですがインクルード出来ずに
failed to open stream: No such file or directory in XXXXXXXXとエラーを吐きます。
また、include("c:\php\includes\hoge.inc")とすると正常に読めます。
winでもinclude_pathの指定は可能なんでしょうか?
0849nobodyさん
2005/07/06(水) 15:32:30ID:???とりあえずphpinfoでも見てphp.iniが読み込まれてるかとか、include_pathがどうなっているかとか見れ
0850nobodyさん
2005/07/06(水) 15:46:33ID:???コメントアウトされてたので行頭の;をはずしました > アンコメント
phpinfo確認した所
include_path.;c:\php\includes.;c:\php\includes
期待通りです。
ちなみに再起動しなくてもphp.iniは再読み込みされるんですね、
Redhatでphp使ったことがあったんですが再起動しないとダメだった気が…。
0853nobodyさん
2005/07/06(水) 16:15:05ID:???そのスクリプトと同じディレクトリにhoge.incが存在していて
そのhoge.incの中でエラーが出てるってことはないよね。
0854nobodyさん
2005/07/06(水) 17:25:35ID:???このディレクトリにはファイル一つしかおいてないっす
hoge.incを同フォルダにおくとincludeに成功します。
0855nobodyさん
2005/07/06(水) 18:20:10ID:VUICn4NH↑
芸能裏モノニュースさんみたいな更新情報が流れてくるやつをブログ内に設置したいんですが
サクラかXREAにサーバーを借りたあとどうしたたらいいんでしょうか?
やり方を書いてるサイトとかあったら教えてください
0857nobodyさん
2005/07/06(水) 18:46:15ID:???0860nobodyさん
2005/07/06(水) 19:09:51ID:???まあ、スレ住人的には
「こんなくだらない質問するのはなあ…でも分かんないしなあ…ちょっとなあ…」
と悩める子羊に対して
「いいからウダウダ言わずに持ってこいやあ( ゚Д゚)カムーン」
と後押しする意味の「くだらない」であって、
何でもかんでも聞いていいっつー仏さんのような人間を求める香具師には
ハナからこうしてなじられちまうわけだがな
自分で頭痛くなるまで考えない香具師はいつまで経っても前進は無理
0861859
2005/07/06(水) 19:10:11ID:???×>857
○>855
0862nobodyさん
2005/07/06(水) 19:13:03ID:???バッチ処理と差分の取り方がネックになるのかな。
0863846
2005/07/06(水) 19:14:53ID:???function testtest($aaa){
global $kekka;
$kekka = $aaaを使ったいろんな処理;
return $kekka;
}
ってやっておいて
$cont =<<<hoge
(htmlとかいろいろ)
{$kekka}
(htmlとかいろいろ)
hoge;
って感じでしょうか?
defineか、なるほど。研究してみます。
defineを記述するphp内でルート相対パスを取得、
それを基準パスとしてdefineで宣言してしまうわけですね。参考になりますた。
0864855
2005/07/06(水) 20:30:37ID:VUICn4NH板違いですか?
どこで質問すればいいのか教えてください
0865nobodyさん
2005/07/06(水) 20:32:58ID:VUICn4NH受信です
0866nobodyさん
2005/07/06(水) 21:09:39ID:???板違いではない。話題的にはこの場所で合ってる(はず)。
ただ、俺もこのスレの住人も他のサイトの人間も、
ぐぐって調べてひっくりがえして、それこそバファリンの世話になるまで
考えまくったわけで、それでようやく理解できた「概念」は、
他人に聞いてもポンと理解できるような簡単なものではない。
そうでもしないと理解なんぞ出来ない。丸投げして人に聞いてる時点で無理ってこと。
具体的に言えば「どうすればいいですか」じゃなくて
まずプログラムという努力の成果を持ってきた上で「どこがおかしいですか」。
「まずやってみよう」「意地でも理解してみせる」
って気概の感じられない人間はプログラムの世界じゃ誰にも相手にされない。
厳しいが這い上がって来い。
0867nobodyさん
2005/07/06(水) 21:12:03ID:???0868nobodyさん
2005/07/06(水) 21:34:04ID:VUICn4NHそれは十分承知してるつもりなのですけども、他のブロガーさんも何個か全く同じヤツ作ってて簡単に作れるものなのかと思いまして聞いたんです
そもそも更新情報的なんなんかはPHPであってるんでしょうか?
もう何から勉強したらいいのかわからなくて
0869nobodyさん
2005/07/06(水) 22:05:03ID:???板違い
0870nobodyさん
2005/07/06(水) 22:17:13ID:???質問に答えたところであなたがそれを実行できるのに最低限知識があるとは思えない
0871nobodyさん
2005/07/06(水) 23:04:12ID:IFWSTCJy/var/spool/cronにapacheユーザーが実行したcronfile(?)がで
きるのにfedoracore3ではできない。
なぜ?
ちなみに「system("echo $PATH");」でcrontabのパスが
とおっているのは確認したし、ログインしてcrontab -u apache filename
ではできました。
0872nobodyさん
2005/07/06(水) 23:49:02ID:???0873nobodyさん
2005/07/06(水) 23:57:25ID:???で○○の文字を保存されていくように↓つくったんだが
ある鯖ではうまく動いて、インフォシークではうまく動かないんだがなんで で?
#!/usr/local/bin/perl
$mes=$ENV{'QUERY_STRING'};
chomp($mes);
open(FILE,">>s.dat")||die("Error!");
flock(FILE,2);
print FILE $mes."";
flock(FILE,8);
close(FILE);
0875nobodyさん
2005/07/07(木) 01:36:27ID:OHtTbw4o0877nobodyさん
2005/07/07(木) 02:17:33ID:???mod_limitipconnあたりでできるけど、スレ違い。
調べてみて分からない所があればapache関係のスレへ。
0878nobodyさん
2005/07/07(木) 03:45:43ID:???ポストしたボタンに以下の様な感じでvalueを付けて
get_0
get_1
get_2
get_3
get_4
と下一桁だけが違うデータを拾う場合に
preg_match('{^get_}', $_POST)
のような感じで纏めて一つで拾うって事は可能ですか?
宜しくお願いします。
0879nobodyさん
2005/07/07(木) 03:59:03ID:???$before = ("get_*" を含んだ配列);
$after = str_replace("get_","",$before);
print_r($after); # 内容を確認
0880868
2005/07/07(木) 03:59:53ID:sHuTjmyqつか教えてくれたら知識がなくてもいろいろ調べて実行するのに!!!
もうこねえよウワーン!!!
0881nobodyさん
2005/07/07(木) 04:35:01ID:???どうも。
それは処理を取得した後の話ですよね。
私の書き方がアホ過ぎた。
if ( isset($_POST["get_1"]) )
sele if( isset($_POST["get_2"]) )
sele if( isset($_POST["get_3"]) )
・・・
と沢山書かなくては面倒なので
if ( preg_match('{^get_}', $_POST) )
のような感じ引っ掛けたいのですか可能ですか?
0882nobodyさん
2005/07/07(木) 05:54:07ID:???ダサいけど配列を分解して検証しました。
0883nobodyさん
2005/07/07(木) 07:32:06ID:???<input type="submit" name="button[0]" value="ボタン0" />
<input type="submit" name="button[1]" value="ボタン1" />
<input type="submit" name="button[2]" value="ボタン2" />
<?php
if (array_key_exists('button', $_POST))
{
$button = $_REQUEST['button'];
print_r($button);
}
?>
0884nobodyさん
2005/07/07(木) 08:08:03ID:55WSE5MUPHPを使って、FTPのアカウントを管理する(追加したり削除したり)ことはできますか?
FTPサーバはWebと同じホスト上で動いてて、cPanel(レンサバさんにインストールされた、Webベースの管理画面ツール)から手入力でFTPアカウントをいじることはできるのです。
これをPHPを用いたWeb上のログインと関連付けて自動的に管理したいと思っています。
まだ申し込みをする前なので具体的な環境は提示できないのですが、「環境による」という場合は、Pure-FTPdの場合を想定してもらえると助かります。
一応、OSはUnix系、WebサーバはApacheというのは間違いないと思います。
0885nobodyさん
2005/07/07(木) 08:11:37ID:/h0r6Ir6require_once 'db.php';
//-------------------------------------------------------------------------------
// データベースに接続する
$conn = mysql_connect($sv, $user, $pass) or die("接続エラー");
mysql_select_db($dbname) or die("接続エラー");
//-------------------------------------------------------------------------------
id_get();
echo $id;
//-------------------------------------------------------------------------------
// 接続を解除する
mysql_close($conn);
?>
db.php内には
function id_get(){
$sql = "SELECT id FROM data ORDER BY id DESC LIMIT 1;";
$res = mysql_query($sql, $conn) or die("抽出エラー");
$row = mysql_fetch_array($res, MYSQL_ASSOC);
$id = $row["id"];
}
があります。
これでなぜかdb.phpの抽出エラーが出ます。接続のUser,Passなどは合ってます。
includeやrequireで別ファイルにSQLの部分だけ記述し呼び出すとエラーになるようなのですが対処法が分かりません…。
よく使う部分なので別ファイルにして呼び出したいのですがいかがすればよろしいでしょうか?
0886nobodyさん
2005/07/07(木) 08:16:14ID:55WSE5MUfunction id_get() 内の $conn が空っぽですね。
引数で渡してやりましょう。
0887nobodyさん
2005/07/07(木) 08:41:31ID:???変数のスコープ(有効範囲)を理解しましょう
id_get()内の$connと$idは外の$conn,$idとは別物です
あなたがやっているのは
function id_get(){
$sql = "SELECT id FROM data ORDER BY id DESC LIMIT 1;";
$res = mysql_query($sql, $未定義の変数) or die("抽出エラー");
$row = mysql_fetch_array($res, MYSQL_ASSOC);
$使えない変数 = $row["id"];
}
と同じことです
0888nobodyさん
2005/07/07(木) 11:35:31ID:???$_POST の button が有るかを見ておいて、$_REQUEST で拾うのって気持ち悪くない?
少なくとも、俺にとっては耐えられない。
>>878
<input type="checkbox" name="hoge[]" value="get_1">
<input type="checkbox" name="hoge[]" value="get_2">
<input type="checkbox" name="hoge[]" value="get_3">
<?php
if(array_key_exists("hoge",$_POST)){
if($foo = preg_grep("/^get_(\d)+$/",$_POST['hoge'])){
print_r($foo); # 又は、処理続行
}
else{
die("送信されたデータの形式が正しくありません");
}
}
?>
0889nobodyさん
2005/07/07(木) 13:30:00ID:???貴方がレンタルサーバ屋なら直接弄るのは可能だけど、
cPanel使ってるってことは、そのサーバ屋さんですらリセラーに過ぎず
貴方は更にその顧客に過ぎない予感。元々あるWebの管理ツールI/Fを
cURLか何かで叩くような自作のスクリプトで対応するしかないでしょう。
0890nobodyさん
2005/07/07(木) 14:29:00ID:55WSE5MU情報ありがとうございます。
もしかしてcPanelとソケット通信してなんとかするってことでしょうか?
それは今まで考えつかなかったのでやってみようと思います。
(FTPコマンドとかでできてしまえばなぁ・・・と思ったりしてたのですが)
cURLっていうツールは初めて知りました。
manで調べたらずいぶん豊富な機能満載ですねw
基本的にcPanelはHTTPでアクセスできるので(ポート違いで)、HTMLを正規表現で地道に弄るしかなさそうですかね。
もしかしてcURLでもっと簡単にできたりとかするのでしょうか?
あ、Cookie絡みとかうまく処理してくれそうですね。
どうもありがとうございました。
0891nobodyさん
2005/07/07(木) 16:24:59ID:???例えば
・二十歳で親の同意なく結婚できる
・男は18歳以上、女は16歳以上でも結婚できるが、親の同意がなければ結婚できない。
これを「$tosi」「$seibetu」「$doui」を使って実現させるには皆さんどう書きますか?
0892nobodyさん
2005/07/07(木) 16:54:13ID:???個人的には工夫して短く書くよりも条件が理解しやすいように書く(書きたい)けど。
例題だと漏れならこんな感じで書くかな。実際には関数化するだろうけど。
$ok = false;
if ($tosi >= 20) {
$ok = true;
} else {
if ($seibetu == '男' && $tosi >= 18 && $doui == true)
$ok = true;
if ($seibetu == '女' && $tosi >= 16 && $doui == true)
$ok = true;
}
echo $ok ? '結婚OK' : '結婚NG';
0893nobodyさん
2005/07/07(木) 16:56:27ID:???{
ケコーン
}
0894nobodyさん
2005/07/07(木) 16:58:46ID:???0896nobodyさん
2005/07/07(木) 17:03:31ID:???0897891
2005/07/07(木) 19:12:36ID:???>>892
短っ、と思ったら
>>893
!!
マジデスカ・・・もっと勉強します。
0898nobodyさん
2005/07/07(木) 20:27:14ID:???case "hoge" || "fuga" :
とか
0899nobodyさん
2005/07/07(木) 21:10:42ID:???0901nobodyさん
2005/07/07(木) 21:45:51ID:???case "hoge":
case "fuga":
なんか処理
break;
つーか普通に式が使えるみたい
http://www.php.net/manual/ja/control-structures.switch.php
お恥ずかしい、吊ってきま
0902nobodyさん
2005/07/08(金) 01:16:27ID:??????
0903nobodyさん
2005/07/08(金) 02:39:12ID:???0905nobodyさん
2005/07/08(金) 10:11:17ID:???0906nobodyさん
2005/07/08(金) 11:17:14ID:Kz6PELZi0907nobodyさん
2005/07/08(金) 11:39:33ID:???全角-半角の変換は
mb_convert_kana
だが記号のみの変換は出来ない
mb_ereg_replaceで変換したらどう
0908nobodyさん
2005/07/08(金) 12:09:46ID:???mb_ereg_replaceで頑張ってみます
0909nobodyさん
2005/07/08(金) 12:34:27ID:52zXDpeiとりあえず、なにもわからない状態で適当に書いたもの
<form method="POST" enctype="multipart/form-data" action="henkan.php"><br>
変換したい文をいれてください<INPUT type="text" name="henkan" size="5"><br>
<INPUT type="submit" name="submit" value="変換"><br>
</form>
<FORM METHOD="post">
ここに変換結果が出ますj<INPUT NAME="time" SIZE="12" value="
<?php
if [$henkan=('こんにちは');
print ('Hello');
]
else [
]
?>
">
</FORM>
どうすればいいのでしょうか・・・orz
0910nobodyさん
2005/07/08(金) 12:38:34ID:???0911nobodyさん
2005/07/08(金) 12:39:21ID:???0912nobodyさん
2005/07/08(金) 12:54:41ID:???何もわからない状態で、動く文字変換のスクリプトが書けるほどPHPは甘くは無い。
マニュアルの基本構文から読みはじめなさい。
0913nobodyさん
2005/07/08(金) 12:58:25ID:???なんかむちゃくちゃすぎてどこから答えて良いのやら。。
とりあえず入力部と変換・出力部の2つに分けて、こんな感じかな。
なるべく元のソースを変更しないようにしたのでツッコミ所満載だけどね。
でも、たのむからもう少し基礎勉強をやってくださいな。
入力部(input.html)
<html><body>
<form method="POST" enctype="multipart/form-data" action="henkan.php"><br>
変換したい文をいれてください<INPUT type="text" name="henkan" size="5"><br>
<INPUT type="submit" name="submit" value="変換"><br>
</form>
</body></html>
変換・出力部(henkan.php)
<html><body><FORM METHOD="post">
<?php
if ($_POST['henkan'] == 'こんにちは') {
$value = 'Hello';
} else {
$value = '';
}
print <<<END
ここに変換結果が出ますj<INPUT NAME="time" SIZE="12" value="{$value}">
END;
?>
</FORM></body></html>
0914nobodyさん
2005/07/08(金) 13:36:32ID:52zXDpeiマニュアルとかで勉強するの苦手なので、とにかくいろいろ見たり書いたりしてみようと・・orz
>>913
なるほど
Parse error: parse error, unexpected '@' in henkan.php on line 4
これなんですか?
0916913
2005/07/08(金) 14:10:19ID:???世の中には色んなヤツがいるもんだ。。
答えてやるんぢゃなかったよ。
以降、スルーしたいんで、コテハンでカキコしてちょーだい。
0918nobodyさん
2005/07/08(金) 14:45:36ID:???ィ`
世の中色んなアホがいるもんだ
何でも聞けばいいと思ってる香具師とか何でも聞けばいいと思ってる香具師とか
>>914とか何でも聞けばいいと思ってる阿呆な香具師とかな
これからもPHPを 真 面 目 に勉強する香具師のために回答してやってくれ
0919nobodyさん
2005/07/08(金) 14:47:48ID:???0920nobodyさん
2005/07/08(金) 15:07:23ID:???くだらない奴の質問に答えなければいけないスレではないんだよ
0922nobodyさん
2005/07/08(金) 18:38:58ID:???そうやって勉強すると決めたからには人に聞いてはいけない。
0923nobodyさん
2005/07/08(金) 18:41:50ID:???htmlでいえば「とほほ」みたいな感じの
phpのサイトはありますか。
0924nobodyさん
2005/07/08(金) 19:13:57ID:???マニュアルで良いと思うけど。
日本語版もあるし、機能でまとまってるし。
0925nobodyさん
2005/07/08(金) 19:32:37ID:???個人運営のやさしい解説ページみたいなのを探してるんだと思うけど、>>924も言うとおり本家のマニュアルが一番。
http://www.php.net/manual/ja/
その中でも以下のページは「勉強」に適してる。
・言語リファレンス http://www.php.net/manual/ja/langref.php
・セキュリティ http://www.php.net/manual/ja/security.php
・機能 http://www.php.net/manual/ja/features.php
あとは
・関数リファレンス http://www.php.net/manual/ja/funcref.php
を小まめに参照するべし。
ページ上部についてる検索も使うべし。
「勉強」ページを探してるなら「とほほみたいな感じ」とか言わないほうがいいかもよ。
「リファレンス」ページ探してるならOK。
0926nobodyさん
2005/07/08(金) 19:50:48ID:???こことか
ttp://homepage2.nifty.com/sak/w_sak3/doc/sysbrd/sak3php.htm
0927923
2005/07/08(金) 20:27:33ID:???たくさん勉強して、今度は教える側として
ここに戻ってきます!
0928nobodyさん
2005/07/08(金) 22:33:04ID:???0929nobodyさん
2005/07/08(金) 22:36:13ID:???0930nobodyさん
2005/07/08(金) 22:53:02ID:???0932nobodyさん
2005/07/09(土) 11:50:33ID:???よく、Shift-JISは特別な理由が無い限り、使うべきでは無いという事が
色々なPHPなどのサイトで書かれています。
しかし、php.iniやMySQLを使う場合のmy.iniなどをShift-JISとしてちゃんと設定した場合、
文字化けされると言われている漢字など、一切文字化けが起こりません。
一体、何故Shift-JISを使うべきではないのでしょうか?
0933nobodyさん
2005/07/09(土) 12:04:30ID:???サーバ(Linux系)の文字コードがEUC-JPだからかな。
まぁ別に文字化け起こさないならそれでいいだろうし。
そこまで気にしなくてもいいと思う。
ちゃんとそれ用の関数もあるしね。
とかいう漏れはUTF-8が好きだけど。
0934nobodyさん
2005/07/09(土) 12:12:47ID:???mb使わないとね。
0937nobodyさん
2005/07/09(土) 12:39:28ID:qBG5b/jyループ処理でSQL文を多数連続して発行するというのはサーバーにとって問題ないのでしょうか?
数十件とか数百件の処理を行うphpをネットワーク上で複数人が同時に行ったらどれほど負荷がかかるものなのでしょうか?
また、どの処理がどの程度負荷がかかるという知識はどこで学べるものなのでしょうか?
0938nobodyさん
2005/07/09(土) 12:42:32ID:???こんなことやっても化けません?
$value = mysql_escape_string('表示表示');
$sql = "INSERT INTO xxx(xxx) VALUES('{$value}')";
mysql_query($sql);
0939nobodyさん
2005/07/09(土) 12:55:10ID:???PHPでMySQL繋いで、そのSQLをInsertした後に、
レコードを表示させてみましたが、全く問題無いですよ?
0940932
2005/07/09(土) 12:56:22ID:???ちなみに、PHPは4.3.10、MySQLは4.0.24です。
Windowsのローカル環境でテストしてます。
0941938
2005/07/09(土) 13:05:31ID:???あれぇ。そうなんですか。
PHP 4.3.10、MySQL 4.1.12だと化けますです(表示表\示となっちゃう)。
MySQL4.0系と4.1系の違い or ウチのphp.ini周りが変なのかな。。。
元質問の方に逆質問しちゃいましたね。スマソ。
0942nobodyさん
2005/07/09(土) 13:12:07ID:???0943nobodyさん
2005/07/09(土) 13:26:14ID:???0944nobodyさん
2005/07/09(土) 13:41:19ID:???0945nobodyさん
2005/07/09(土) 13:58:09ID:???少し待ってみます
0946nobodyさん
2005/07/09(土) 18:01:54ID:???>ループ処理でSQL文を多数連続して発行するというのはサーバーにとって問題ないのでしょうか?
それは、アルゴリズムがおかしいんだと思う。ループの中でやるのはfetchくらいが普通。
SELECTだのUPDATEだのをループ中で連発するってのは、多分SQLの書き方か、
データベースの構成そのものが変。
>数十件とか数百件の処理を行うphpをネットワーク上で複数人が同時に行ったらどれほど負荷がかかるものなのでしょうか?
気にする事はまるで無いレベル。
もしローカルでやって遅いとか思うなら、やっぱりSQLがおかしいんだと思う。JOINが変とか…
>また、どの処理がどの程度負荷がかかるという知識はどこで学べるものなのでしょうか?
MySQLのマニュアルに最適化の項があるけど、もうちょっと勉強してからでも良いんじゃないかね。
というか、データベース板で聞いたほうが良い話題かもね。
0947nobodyさん
2005/07/09(土) 18:19:20ID:???php_w32api.dllが見つからないんだが・・・
0948937
2005/07/09(土) 18:29:29ID:???レスありがとうございます。
最適化についてはもう少し勉強してからマニュアルを見てみることにします。
ループ処理でupdateとかinsertするのは何か他に問題があるのでしょうか?
ブラウザに入力した複数のレコードのデータを全部insert,updateしたかったりするのですが。
このような場合に、PHPでSQL文を連続して発行するのにSQL処理が追いつかなかったりすることはありえるのでしょうか?
0949nobodyさん
2005/07/09(土) 19:02:15ID:XiYWtJZE$str = system("/usr/bin/nslookup google.com");
print "$str";
nslookupの結果を表示したいのですが、
上のようにすると、$str が、表示されません。
しかしながら、IPは表示されるので、
system関数だけで、表示までしてしまっているようです。
コマンドの結果が、$strに代入するには、
どのようにすれば良いでしょうか。<(_ _)>
0951949
2005/07/09(土) 19:16:02ID:???nslookupコマンドの結果を、$strに代入したいです。
よろしくお願いします。<(_ _)>
0952950
2005/07/09(土) 19:31:30ID:???back-tick演算子を使いなされ。
http://jp2.php.net/manual/ja/language.operators.execution.php
0954nobodyさん
2005/07/09(土) 21:42:57ID:5B+sqzqadreamweaverからlocalhostのMYSQLにつなげられません。
MYSQLの設定がよろしくないからということまではわかったんですが
どこを変えればいいんでしょうか・・・phpmyadmin
からはそれらしい項目が見つからず、困ってます
お助けを・・・
0955954
2005/07/10(日) 00:01:59ID:???━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
HTTPエラーコード 404ファイルが見つかりません。考えられる原因はつぎのとおりです:
1)サーバーマシン上でテストサーバーが動作していません。
2)このサイトに対して指定されたテストサーバーが
http//localhost/_mmServerScripts/MMHTTPDB.php URLに対してマップしていません。
URL 接頭辞がサイトのルートにマップしていることを確認してください。
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
0956nobodyさん
2005/07/10(日) 00:07:14ID:???0957nobodyさん
2005/07/10(日) 11:18:54ID:???↑ん
0958nobodyさん
2005/07/10(日) 13:47:44ID:???0959nobodyさん
2005/07/10(日) 18:34:56ID:???どうもexec関数が実行されないようなので質問させてください。
例えば
$message=exec ( 'ls ', $directory , $ret );
このようなことをやってファイルの一覧を取得しようとしても、$ret,$messageともに空です。
$directory はフルパスで指定したり、変数ではなく'ls /path' というような指定をしてもだめでした
lsの方をフルパス指定しても同じです。
しかしこれらの問題はブラウザの方から実行した時の問題で、
コンソールからは問題なく実行できます。
フォルダに対してapacheのアクセス権はもちろんあります。
セーフモードの解除もしてあります
PHP 4.3.9
0961960
2005/07/10(日) 18:48:04ID:???$message = shell_exec("ls ".$directory);
0962959
2005/07/10(日) 21:51:09ID:???プログラムのほうではドットになっています。
それからまた、プログラムの中で直接ディレクトリを書いても exec('ls /path' );
だめです
また、shell_execも使ってみましたがやはりだめでした。
0963960
2005/07/10(日) 22:49:40ID:???そのスクリプトの動作確認に使っているのは Internet Explorer ?
もしかして、一番始めに表示確認して失敗した状態 (何の出力も無し) のままを
ブラウザがキャッシュし続けている、という可能性は無いのかしら?
一度、明示的にキャッシュを破棄するヘッダ (Cache-Control:no-cache) を追加
するか、ファイル名そのものを変更してみるというのは如何かしら。
<?php
exec("ls",&$exe);
die(print_r($exe));
?>
私の環境では、これだけのものでも正常に動作するのに。おかしなものね。
0964959
2005/07/11(月) 00:08:57ID:???色々試してみたところ、ブラウザで結果を取れないディレクトリは、このマウントしたディレクトリだけでした。
他のディレクトリではブラウザからでもちゃんと一覧が取れます。
もちろんコンソールからの実行結果は依然として期待通りのものです。
マウントしたディレクトリに対しても、ちゃんとlsでファイルを取ってこれます。
どうしてもこのディレクトリに対してコマンドで操作を行いたいのですが、
なにかアドバイスなどいただけませんか
0965960
2005/07/11(月) 01:06:13ID:???情報は小出しだった上に、原因は大方「環境依存でした」だけでも片付きそうね。
力になれそうになくて悪いけれど、私も自分自身で試してみた事以外は答えられ
ないのだわ。そもそも、PHP の範囲内で収まる内容なのかしら。
0966nobodyさん
2005/07/11(月) 11:04:48ID:L4oNazwt上の奴から始まるものを文中から抜き出してURLを自動リンクするようにしたいのだけれど、
<?php
function autolink($url) {
$url = preg_replace("/(https?||ftp|news)(\:[\w\.\~\-\/\?\&\+\=\;\@\%\:\#\%]+)/","<a href=\"\\1\\2\" title=\"\\1\\2\">\\1\\2</a>",$url);
return $url;
}
?>
ここまでは良いとして2chブラウザみたいにttpもしくはttpsで始まるものを自動リンクにする方法が思いつきません。
それとwwwのも同じ方法でやったんですが何故か出来ませんでした。
条件分岐など使って上手くURLを全部自動リンクするよう出来ませんかね?
0968966
2005/07/11(月) 11:59:55ID:???この場合どのようにするべきでしょうか?
0969nobodyさん
2005/07/11(月) 12:23:13ID:???>それとwwwのも同じ方法でやったんですが何故か出来ませんでした。
意味がよく判らない
0970nobodyさん
2005/07/11(月) 12:27:21ID:???0972nobodyさん
2005/07/11(月) 12:58:10ID:???0973954
2005/07/11(月) 13:00:32ID:???すいません、手書きだったんで抜けてました。
実際はF12をおしてIEでプレビューが動きますから(PHP文も動作)
url関係の問題ではない気がします。
あれから、xamppを入れた状態で
mysqlを別途インストーラから普通にインストール
してDWから動的テーブル作成してみると、うまく動きました。
ただ、データフォルダが変わった(c:\mysql\data)ので
xampp上(c:\xammp\htdocs\xoops)で構築してたxoopsのデータと生き別れに・・・
たぶん、mysqlの設定(my.iniかmy.confの記述)の問題だと思うんですが、どの行か
がわかりません・・・
0974969
2005/07/11(月) 13:20:42ID:???preg_replace_callbackを使えばいいのかな。
テストしてないけど。。。
<?php
function maketag($matches) {
$proto = $matches[1];
if ($proto == 'ttp' || $proto == 'ttps')
$proto = 'h' . $proto;
$url = "<a href=\"{$proto}{$matches[2]}\" title=\"{$matches[1]}{$matches[2]}\">{$matches[1]}{$matches[2]}</a>";
return $url;
}
function autolink($url) {
$url = preg_replace_callback("/(ttps?|https?|ftp|news)(\:[\w\.\~\-\/\?\&\+\=\;\@\%\:\#\%]+)/","makelink", $url);
return $url;
}
0975969
2005/07/11(月) 13:22:02ID:???関数名間違えた。
function maketag → function makelink
0976966
2005/07/11(月) 13:51:13ID:???しかし>>974のだとttpの場合<a href="ttp://〜〜〜〜〜"></a>みたいになると思うので実際にはリンク貼れないのではないでしょうか。
だからと言って
$url = "<a href=\"h{$proto}{$matches[2]}\" title=\"h{$matches[1]}{$matches[2]}\">{$matches[1]}{$matches[2]}</a>";
こうしてもttp以外の場合には余計なhが先頭についてハイパーリンクにはなりませんし……。
>>969
wwwのは以下のようにしてみたんですが上手くいきませんでした。
<?php
function autolink($url) {
$url = preg_replace("/(www)(\.[\w\.\~\-\/\?\&\+\=\;\@\%\:\#\%]+)/","<a href=\"\\1\\2\" title=\"\\1\\2\">\\1\\2</a>",$url);
return $url;
}
?>
これら全部をやるには条件分岐しかないと思うんですが、httpとttpのところでどうしても引っかかってしまいます。
0977966
2005/07/11(月) 13:57:00ID:???ちゃんとttpでもhが最初についてhttpになりますね。
一応試して見ましたがParse error: syntax error, unexpected T_VARIABLE on line 3と出ました。
0978nobodyさん
2005/07/11(月) 14:46:56ID:???0979nobodyさん
2005/07/11(月) 15:32:27ID:???んなもんググレばいくらでも出るだろ。
0980nobodyさん
2005/07/11(月) 16:00:14ID:???0981nobodyさん
2005/07/11(月) 16:01:48ID:???ttp://www.din.or.jp/~ohzaki/perl.htm
0982nobodyさん
2005/07/11(月) 16:05:58ID:???0983nobodyさん
2005/07/11(月) 17:08:21ID:???perlだし何の問題解決にもなってない
http, https, ttp, ttps, ftp, news, www, ついでメアドのURL自動リンクを作るのが目的だろ
まあ漏れは>>974にwwwとメアドのを足せば良いと思うがエラーが出る
0987954
2005/07/11(月) 19:01:28ID:???1.xampp解凍
2.mysqlを別途ダウンロード、インストール
3.winmysqladmin(c:\mysql\bin\)で、my.iniを以下のように編集
[mysqld]
basedir=C:/xampp/mysql
datadir=C:/xampp/mysql/data
です。
これでDWからスクリプトうたずにサクサク入力フォームとか作れてしあわせ〜っす
XOOPSのデータもよびだせるようになりました。
レスくれた人ありがとうございました
0990nobodyさん
2005/07/11(月) 20:53:15ID:???下のような感じになりました。
function get_dir_list( $Dir ){
$dh = opendir ( $Dir ) ;
while ( false !== ( $filename = readdir( $dh ) ) ) {
if( $filename !== "." && $filename !== ".." ){
$files[] = $filename;
}
}
}
get_dir_list( "./test/" );
print_r( $files );
しかし、何も表示されません。なぜなのでしょうか?
0992966
2005/07/11(月) 21:45:56ID:???<?php
function autolink($url) {
$url = preg_replace("/(www)(\.[\w\.\~\-\/\?\&\+\=\;\@\%\:\#\%]+)/","<a href=\"http\:\/\/\\1\\2\" title=\"\\1\\2\">\\1\\2</a>",$url);
return $url;
}
?>
でwwwから始まるURLがリンクされないのでしょうか?
これだけよく分からなくて……どなたかご教授お願いします。
0993nobodyさん
2005/07/11(月) 22:01:31ID:???ありがたいんだけど、パッと見た感じでは
<a href=\"http\:\/\/\\1\\2\"。。。
↓
<a href=\"http://\\1\\2\"。。。
のような希ガス
0994990
2005/07/11(月) 22:04:46ID:???どのように修正すれば良いのでしょうか?
0995nobodyさん
2005/07/11(月) 22:12:51ID:???2箇所、追加。
PHP 変数 スコープあたりをキーワードにしてググッてみるとよいよ。
$files = array(); //*** 追加
function get_dir_list( $Dir ){
global $files; //*** 追加
$dh = opendir ( $Dir ) ;
while ( false !== ( $filename = readdir( $dh ) ) ) {
if( $filename !== "." && $filename !== ".." ){
$files[] = $filename;
}
}
}
get_dir_list( "./test/" );
print_r( $files );
0996990
2005/07/11(月) 22:21:38ID:???なるほど・・・。functionの外で$filesを設定しないといけないのですね。
詳しく教えてくださり、ありがとうございました。
0997995
2005/07/11(月) 22:21:55ID:???get_dir_listの仕様を変更して、ファイルリスト配列を返すようにしたほうが
スッキリすると思う。がんがれ。
function get_dir_list( $Dir ){
$files = array(); //*** 追加
$dh = opendir ( $Dir ) ;
while ( false !== ( $filename = readdir( $dh ) ) ) {
if( $filename !== "." && $filename !== ".." ){
$files[] = $filename;
}
}
return $files; //*** 追加
}
$files = get_dir_list( "./test/" ); //*** 変更
print_r( $files );
0998nobodyさん
2005/07/11(月) 23:34:57ID:???| | e・)じー
|_と )
|豆| ノ
| ̄|
0999nobodyさん
2005/07/11(月) 23:35:43ID:???|
| = n n さゆがもらうの
| = ( ノハヽ
| = ヽっ・ 。.・)っ
 ̄ ̄ ̄ ̄ ̄ ̄ ̄
1000nobodyさん
2005/07/11(月) 23:36:09ID:???∋oノハヽo∈
♪ ( ´D`) やったー、1000なのれす
= ⊂ )
= ミ三三彡 タッタッタ・・
10011001
Over 1000Threadもう書けないので、新しいスレッドを立ててくださいです。。。
レス数が1000を超えています。これ以上書き込みはできません。