08/05/27 18:08:24
【簡易FAQ】
1.文字コードは何を使えばいいの?
→1.UTF-8 2.EUC-JP のどちらか。迷うようなやつはShift_JISは使っちゃダメ。
2. このスレに書き込むときに自分のサイト名を晒したくない
→ URLリンク(example.com)が例文などのために予約されている。hogehoge.comは使っちゃダメ。
3. ブラウザに何も表示されないんだけど・・・
→ Apacheの設定を見直せ。ファイルの拡張子は何にしてて、その拡張子でPHPを呼ぶようになっているか?
4. 記号の意味がわからないけどググりようがない
→ 「@」 エラー表示を抑制、「->」 オブジェクトのメンバにアクセス、「::」 静的なメソッド呼び出し、
「==」は暗黙の型変換をしてゆるい比較、「===」は型情報も含めた厳密な比較
5. echo "$arr['hoge']['fuga']"; と書いたらエラーになった
→ {おっぱい括弧}でくくって"{$arr['hoge']['fuga']}"にする
6. 一定時間ごとに自動的に何かしたいんだけど
→ cronかタスクスケジューラを使え。
7.extractって危険なの?
→変数上書き&初期化忘れなどで危険。楽だからという理由だけで安易に使わない。
8. include/requireに「~.php?a=b&c=d」のようなパラメータをつけたい
→ URL呼び出しなら可能だけど、普通のファイル呼び出しではできません
9.include/requireでURLを指定しても何も起きない
→ .phpの拡張子のファイルをURLで呼び出すと、1度PHPプログラムとして実行された結果になる。
5:nobodyさん
08/05/27 18:08:46
10. そもそもインストールの時点でうまくいかない
→ 確認すべきはPHPのconfigureの引数、php.iniの内容と置き場所、
Webサーバの設定(Apacheならhttpd.conf)、起動&再起動あたり
11. SQLの質問はどこで?
→ データベース板に誘導されるのが嫌ならPHPにうまく関連させて質問する
12. 文字列のなかに、英字のみとか数字のみとか記号が入っちゃいやんとかはどうしたらいいの?
→ ctype_~()が手軽。複雑なパターンはpreg_~()あたりで正規表現を使う。
13. $a1, $a2, $a3 ... のような変数名をうまく扱いたい
→ 可変変数で実現できるけど、むしろ配列を使って$a[1], $a[2], $a[3]等とするのがベター
14. echoとprintってどう違うの?
→ よく議論される話題であるが基本的に両者とも同じ。 以下ちょっとした議論。
URLリンク(www.faqts.com)
15. クッキーの情報をユーザから隠したい
→ セッション使え。ただしクッキーとセッションは仕組みが違うから同じように扱うな
16. strip_tags()で削除しないタグを複数指定したい
→ strip_tags($html, '<a><p><font>'); // htmlspecialchars()も検討すべし
17. CSVやTSVのファイルをスマートに扱いたい
→ まずはfgetcsv()。ただし日本語を含むと正常に動作しない場合があるので注意だ。
18. 値渡しと参照渡し(「&」を使う)のパフォーマンスの違い
→ C言語じゃないので、パフォーマンス目的で使いわけたらダメ。参照渡しにすると逆に遅くなったりする
参照渡しは引数に戻り値を設定したり引数を関数内で変更するなど、正しい目的に使うこと
19. ファイル入出力関数(fopen等)でリモートファイル(http://~とか)を扱う際の限界
→ fsockopen()でソケット通信 or PEARのHTTP系 or CURLで解決
必要ならHTTPをはじめとする各種プロトコル(どんなデータを送受信するか)はRFCなどで調べる
20. PHPからPOSTリクエストしたい
→19.を参照
21. 画像処理一般 or GDの限界
→ ImageMagick(PECLのやつ or シェルから実行)
22. 画像・音・動画はファイルで保存?DBに保存?
→ 好きにしてください
6:(><)
08/05/27 18:57:07
以前
前すれの>>947
の質問をさせていただきました。
独自タグで
#DO#コメント#/DO#
とすれば、コメントと言う文字がドコモだけ表示させ、
#AU#コメント#/AU#
としたら、AUだけが表示させられる独自タグを正規表現で表すならばどうすればよいでしょうか?
という質問にこのようなレスをもらいました。
前すれ954:nobodyさん :2008/05/26(月) 11:04:01 ID:??? [sage]
前すれ>>947
$template = 'あなたの携帯は#AU#AU#/AU##DO#ドコモ#/DO#です。';
function filter($m) { return $m[1] == 'DO' ? $m[2] : ''; }
echo preg_replace_callback('@#([A-Z]+)#(.*?)#/\\1#@', 'filter', $template);
後は filter() 内を好きなように変えな
=========
実際にこれをホストがドコモであれば表示させるようにしたいのですが、どうしたらよいのでしょうか?
よろしくお願いします。
7:nobodyさん
08/05/27 19:09:37
USER_AGENTでキャリア判別して
条件で振り分ければいいだけだろ
8:(><)
08/05/27 19:13:26
実際に作ってもらえませんか?
よろしくお願いします。
9:nobodyさん
08/05/27 19:50:10
丸投げは受け付けておりません
作ってくださいはスレ違い
ていうか自分でできないならカスタムタグとかややこしいのやめなよ
10:nobodyさん
08/05/27 22:19:12
マルチマルナゲ小僧ウゼ
11:nobodyさん
08/05/27 22:32:31 aRsYQ2ls
教えてください。
WEB上で商品管理のデータベースを作成したいと思います。
DBは件数も500件以下でDB自体使用不可のサーバなのでCSVファイルで何とかしたいと思っています。
テーブル数は2個
商品マスタと商品販売履歴の2つです。
2つのCSVをキーで連結した内容をHTML表示をしたいのですが何か良いサンプルのあるページがありますでしょうか?
12:nobodyさん
08/05/27 22:40:29
$rireki['syouhin_name'] = $syouhin[$rireki['syouhin_id']]
13:nobodyさん
08/05/27 22:47:39
実際に作ってもらえませんか?
実際に作ってもらえませんか?
実際に作ってもらえませんか?
実際に作ってもらえませんか?
実際に作ってもらえませんか?
14:nobodyさん
08/05/27 22:52:30 aRsYQ2ls
>>12さん
ありがとうございます。
早速回答いただいたのですが、CGIのド素人なもんでわかりません。汗
これからCGIの勉強も兼ねているので何か良いサンプルがと思って。。。
すみません。
15:nobodyさん
08/05/27 22:57:22
>>14
SQLがわかるなら
php text-DB
とかでぐぐってみれ
CSVじゃないけど
16:nobodyさん
08/05/27 23:15:25 aRsYQ2ls
>>14さん
ありがとうございます。
そう言う手もあるんですね。
ちょっと調べてみます。
17:nobodyさん
08/05/27 23:49:57
php5ならMySQLiteが使えるんじゃ?
18:nobodyさん
08/05/28 00:09:43
>>11
SQLiteも使えないの?
19:nobodyさん
08/05/28 00:35:28
>>14
ふ~ん。ネット知識(笑)?
20:nobodyさん
08/05/28 12:46:54 go49LsrY
>>17
なんですかそれは
21:nobodyさん
08/05/28 13:35:28
MySQL + SQLite = MySQLite
22:nobodyさん
08/05/28 13:57:55
ポスグレもまぜてやれよ
23:nobodyさん
08/05/28 14:28:29 RqPfU0bI
メールフォームで、ファイルをアップロードしてもらって
それを添付ファイルとして受け取るものを作っているのですが
悪意のあるユーザがウイルスファイル等をアップして送信してきた場合
それを確かめる方法はあるのでしょうか?
24:nobodyさん
08/05/28 14:35:11
つノートン先生
25:nobodyさん
08/05/28 16:50:27
>>23
URLリンク(www.phppro.jp)
26:nobodyさん
08/05/28 17:00:38
>>25
>>23 じゃないけど、これは便利かも。
だけど、これライセンスがGPLなんだな。ちょっと残念。
27:nobodyさん
08/05/28 17:03:01
送られたときにサーバにインストールされてるウイルスソフトをコマンドから起動オプションつけてチェックすりゃいいんじゃないの?
どういうコマンドかわからないといけないが、それならexecとかでできるでそ?
28:nobodyさん
08/05/28 17:30:11 xPg3d+eW
PHP Version 5.2.4
Apache1.33 (Release 10337100/API Version 19990320)
$_SERVER["HTTP_REQUEST"] が
プロトコル+ドメイン(URLリンク(*****)) を含む場合があるのですが、
どういった場合にそうなるのか、
ご存知の方いらっしゃいましたらご教授ください。
Vista + IE7のマシンでアクセスした場合に発生するようなのですが、
自分の環境では発生しません。(Vista, XP, 2000 + IE7, IE6)
29:nobodyさん
08/05/28 17:41:01
>>28
そもそも HTTP_REQUEST なんてあったっけ?
30:28です
08/05/28 17:56:48 xPg3d+eW
すいません間違いました。
REQUEST_URIでした (汗
31:nobodyさん
08/05/28 19:13:53
簡易データベースご存知じゃないですか?
フリーのを希望です よろしくお願いします
32:nobodyさん
08/05/28 19:15:12
データベース板に行ってください
33:nobodyさん
08/05/28 19:15:23
SQLite
34:nobodyさん
08/05/28 19:17:53
>>31
Access
35:nobodyさん
08/05/28 21:05:23 WhRd6kiT
ほい!
「にっこっこ掲示板」ヤフーで検索してみ!「にっこっこ」でOK
新しいの誕生したよ
まだ規制ないし、色々貼れる
36:nobodyさん
08/05/28 23:00:08 Atkwe23P
php内にてファイルの内容を表示させようと考えています
test.txtの内容が
echo 'test';
となっていて、別ファイルにて
<?php
readfile("test.txt");
?>
と記述すると画面上には
echo 'test';
と表示されます。これを
test
と表示、つまりファイル内に記載してあるphpを出力したいのですがどうすればよろしいでしょうか?
ご教授よろしくお願い致します
37:nobodyさん
08/05/28 23:01:04
eval
38:nobodyさん
08/05/28 23:01:37
include
39:nobodyさん
08/05/28 23:04:10
require
40:36
08/05/28 23:23:55 Atkwe23P
>>37さん
ありがとうございました。期待する動作ができました
41:28
08/05/28 23:35:57 brAZ0jIa
自己解決しました。
GET **** HTTP/1.0 の **** の部分が
$_SERVER['REQUEST_URI'] にそのまま入ってきてるだけでした。
なぜ同じような環境で、リクエストの仕方が変わってくるのかはまだ解明していませんが。
それでは失礼しました。
42:nobodyさん
08/05/28 23:48:19
XMLファイルへの書き込みをしてるんですが、
<data>
<log>
<date>2008/05/27</date>
<name>hoge1</name>
</log>
<log>
<date>2008/05/28</date>
<name>hoge2</name>
</log>
</data>
こんな感じの中に三つ目の<log>を入れるにはどうしたらいいのでしょうか。
今までは.logとか.datに書き込みだったのでfputs()だったのですが、
XMLにfputsするとXMLがおかしくなるみたいです・・・;
43:nobodyさん
08/05/29 00:34:19
>>42
おまえ質問へたすぐる
44:nobodyさん
08/05/29 00:51:09
>>42
どうおかしくなるのか詳しく
45:nobodyさん
08/05/29 02:41:16
>>42
XML ドキュメントを操作したかったら
DOMDocument や SimpleXML を使いな。
$xml = '<?xml version="1.0" encoding="UTF-8"?><data />';
$data = new SimpleXMLElement($xml);
$log = $data->addChild('log');
$log->addChild('date', '2008/05/27');
$log->addChild('name', 'hoge');
echo $data->asXML();
46:nobodyさん
08/05/29 09:53:26
他サイトのFORMのGETの結果を取得して
特定文字列を置換して表示したいのですが、
どうすれば良いですか?
47:nobodyさん
08/05/29 09:54:40 smrRJpNe
すいませんテンプレ読んでませんでした。
他サイトのFORMのGETの結果を取得して
特定文字列を置換して表示したいのですが、
どうすれば良いですか?
また来ます。
48:nobodyさん
08/05/29 10:38:06
・他サイトのFORMのGETの結果を取得
・特定文字列を置換
・表示
どれがわからんの?
49:nobodyさん
08/05/29 13:13:54 NlmBigbp
よろしくお願いします。
[環境]
ApacheFriends XAMPP (basic package) version 1.6.6a ######
Apache 2.2.8
MySQL 5.0.51a
PHP 5.2.5 + PHP 4.4.8 + PEAR
このページ→URLリンク(kawama.jp)
>ググってみても、それらしきソースは見つからない。そこでmy.iniを見てみると、
>なんだか見慣れないオプションが設定されている。
>sql-mode="STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION"
>URLリンク(www.limy.org)
>↑このサイトによると、「他ベンダーのデータベースやバージョンの違うMySQLと
>の互換性の>為に使用します。詳細は不明です。」とのこと。
>とりあえずコメントアウトしてMySQL再起動してみたら、見事解決。。。
sql-mode="STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION"
をコメントアウトしたいのですが、【my.ini】が見つかりません。
C:\WINDOWS\my.iniには【sql-mode=…】の記述はないし、
C:\xampp\mysql\bin\my.cnfにもそういった記述はありませんでした。
一体どこにあるのでしょうか?
50:nobodyさん
08/05/29 13:21:16
>>49 XAMPPのことはよくわからないけど、 mysqld --verbose --help みたいにして、現在の設定をダンプ出来ないの? ていうか、PHP関係ないね。
51:nobodyさん
08/05/29 18:25:23
LINUX でPHP5.1.6にGDライブラリ追加したいんですが
configureからやり直しで再インストールするしかないですか?
52:nobodyさん
08/05/29 18:30:11 jCzn3hSF
連投すいません。一応あげときます。
53:nobodyさん
08/05/29 18:34:17 2c4uBvQ0
形状の違いから酵素に冒されないのは理解できるのですが、
アミノ酸まで分解とまではいかなくても蛋白質構造が胃酸で変性しないのですか?
異常プリオンとは熱・酸に冒されないほど化学的に安定した構造なのでしょうか?
54:nobodyさん
08/05/29 19:08:32
>>51
--with-gdを付けないでビルドしたんなら、そりゃconfigureからやり直しだろう
どうやってインストールしたかも書かないのはエスパー希望ですか?
55:nobodyさん
08/05/29 19:24:15 UIFzCbrI
あ~ん、までの平仮名一文字づつについて繰り返し処理をしたい。
やり方として配列に あ~ん を一文字づつ入れてwhileで処理する以外にスマートな方法ないですか?
事前に配列に入れておかなくても、数値のfor処理みたいに
繰り返し一周ごとに文字を あ→い みたいに進める方法があればいいんですが。
56:42
08/05/29 19:28:09 QTbXsS7l
>>45
大体はわかりましたが、
data.xmlというXMLファイルを開いて書き込むにはどうすればいいのでしょうか
57:nobodyさん
08/05/29 20:46:29
>>55
ASCIIアルファベットならスマートにできるが、平仮名だと配列とかに入れとくしか俺は知らんなー
58:831
08/05/29 21:10:20 6osKbEoJ
>>57
そうですかー。
正規表現も あ-ん とかないですもんね。
レスありがとうございました。
59:nobodyさん
08/05/29 21:11:35
>>55
かなり無理やり
mb_language("ja");
mb_internal_encoding("sjis");
for ($i=0xb1; $i<0xde; $i++) {
echo mb_convert_kana(chr($i),"H");
}
60:nobodyさん
08/05/29 21:59:46
宿題でa-zとなってたのを
あ-んに置き換えて質問したと予想
61:nobodyさん
08/05/29 22:00:43
>>58
や、正規表現なら[あ-ん]はあるぞ
mb_eregとかのmb系になるが
62:nobodyさん
08/05/29 22:24:13
[らめぇ]
63:nobodyさん
08/05/30 00:36:16 zkzWC96U
getで取得した値で判断して404を返したいのですがうまくいきません…
foo.php
<?php
if (!$_GET['foo']) header('HTTP/1.1 404 Not Found');
echo "foo is true";
?>
こう書いて foo.php にアクセスしても foo is true となってしまいます
<?php以前には何も書いてないのでheader以前の出力はないと思うんですけど。。。
64:nobodyさん
08/05/30 00:44:37
ブラウザのキャッシュが残ってない?
65:nobodyさん
08/05/30 01:30:16
Ctrl+F5しても一緒ですね。。。
66:nobodyさん
08/05/30 01:30:31 zkzWC96U
あ、>>65は私です
67:nobodyさん
08/05/30 01:37:00
値を調べてみた?
print_r ($_GET['foo']);
68:nobodyさん
08/05/30 01:44:20
foo.php?foo=&毎回違う適当な文字列
でアクセス
69:nobodyさん
08/05/30 02:02:55
>> 63
そりゃ、header出力後に処理を継続してるんだからechoされるのは当然だと思うんだが。
404ヘッダー吐いたからと言って処理は停止したりせんよ。
70:nobodyさん
08/05/30 06:26:13
あ、確かに。言われてみればそりゃそうだな。
71:nobodyさん
08/05/30 09:27:42
Noticeって修正した方がいいんかな。
72:nobodyさん
08/05/30 10:29:07 2R6P0FMx
ひょっとしたらスレ違いかもしれませんがご存知でしたら教えてください。
ルートディレクトリにある.htaccessに設定したinclude_pathを
下のディレクトリにあるスクリプトが実行されたとき
そのディレクトリにある.htaccessでinclude_pathを再定義したいのですが
うまくいきません。
このようなことはできないのでしょうか?
73:nobodyさん
08/05/30 10:33:04 2R6P0FMx
すいません。できました。↑
再定義したファイルが別のファイルだったという
単純なオチでした。スレ汚しごめんなさい。
74:nobodyさん
08/05/30 11:00:15 jYsEwVCp
前スレで、FAXをブラウザから操作できないか聞いたものですけど、
全く役に立たないレスばかりでした。もう、このスレには絶対に来ません。
75:nobodyさん
08/05/30 11:06:47
前スレを知らないが、方法あるよ。
もう来ないんじゃどうしようもないか。
俺もたぶん来ないけどな。
76:nobodyさん
08/05/30 11:13:15
set/getで対応してるメンバはワーニングはかないようにするにゃどうすりゃいいんでしょうか。
77:nobodyさん
08/05/30 11:38:32
>>74
送信は gs で g3fax 形式にしてモデムにATコマンドで叩き込め。受信はその逆だ。
78:nobodyさん
08/05/30 12:42:33
ATコマンド懐しいな
もうATDTくらいしか覚えてねえや
79:nobodyさん
08/05/30 16:48:45 Dv5a9ryj
クラスのインスタンスを作成するときに
以下のように'=&'とやっているコードを見かけるのですが
どのような意味があるのでしょうか?
あるのとないのでは動作に影響があったりするものでしょうか?
$obj =& new Classname($param);
テンプレート5-18に書かれているように
パフォーマンスの目的だけで参照渡しにしているだけ
なのでしょうか。
80:955
08/05/30 16:55:17 83eH6Skx
商品登録用のCSVアップローダのテンプレートorサンプルをさがしているんですが、
何か良いものってありますでしょうか?
81:nobodyさん
08/05/30 17:23:14
質問です
pearのsmartIRCっていうのを使おうとしてるんですが、複数chに同時接続ってできないんでしょうか?
82:nobodyさん
08/05/30 17:23:47
サンプルならマニュアルでいいじゃん
アップロードの処理
URLリンク(jp.php.net)
fgetcsv
URLリンク(jp.php.net)
83:nobodyさん
08/05/30 17:47:41
質問です
環境
PHP 5.2.5
win XP
IIS
wwwrootじゃない場所にある画像を表示するために
header("Content-type: image/jpeg");
$file = "元画像";
$file2 = "新ファイル";
$img = imagecreatefromjpeg($file);
$flg = imagejpeg($img);
//$flg = imagejpeg($img,$file2);
$flg = imagedestroy($img);
というソースを組んだのですが、画像を表示できません。
imagejpegに保存先の引数を与えると、新しい画像ファイルが保存されるので
元画像を取り込めてはいるようです。
IISを使っているのですが、そこに原因があるのでしょうか?
取り込んだ画像をwwwroot以下に保存して、imgタグの参照先に直接ファイルを
指定する方法はセキュリティーの問題で使用できません。
よろしくお願いします。
84:nobodyさん
08/05/30 18:14:23
>>83
ただ画像を出力するならGD不要
header("....");
$file = "/home/hoge/image.jpg";
readfile($file);
headerを送信する前に何か送ってない?
85:83
08/05/30 18:25:13
>84
アドバイスどうもです、試してみます。
上記したソースのみなので、header前は何も処理していないです。
86:nobodyさん
08/05/30 18:48:03
>>83-85
処理とかじゃなくて<?phpの前に
改行とかあってもNGなんだけど、だいぢょうぶ?
てか、えらーを確認しる
87:83
08/05/30 19:03:02
readfile($file);を使用してみても何も表示されず、
もちろん<?phpの前には何も書いてません。
エラーも特に出ておらず、$flg = imagejpeg($img);の前にechoとかすると
エラーが出ることは確認してます。
88:nobodyさん
08/05/30 20:07:39
error_reportingと
display_errorsの設定は?
89:nobodyさん
08/05/30 21:49:55
PHPとCSVでデータベース作成してるんですが
画像を表示させるにはどうすればいいのでしょうか?
相対アドレスでひとつひとつ指定していくしかないのでしょうか?
90:nobodyさん
08/05/30 21:58:28 jYsEwVCp
>>77
ありがとう、確かにその方法があった・・・
ATコマンドマニュアル書にも書いてある・・・
でも、もう遅い・・・
今日がリリースだった・・・
遅いよおおお、もっと早く・・・
91:nobodyさん
08/05/30 22:16:16
もうこないでくださいね^^