【PHP】初心者コーナー 3 Released【スローモード】
■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん
03/06/11 06:24ID:???ファイル MySQL PostgreSQL 正規表現でも なんでもいってみ
でもな、アホな質問であっても詳しく質問しろよ。 ネタはおもしろく書けよ。
前スレ http://pc2.2ch.net/test/read.cgi/php/1048442813/l50
■PHPの普通の質問はあっちな、【PHP】質問スレッド Part8
http://pc2.2ch.net/test/read.cgi/php/1050249148/l50
■PHPへ移行したいPerl信者はあっちな、【待望】PerlユーザのためのPHP入門
http://pc2.2ch.net/test/read.cgi/php/1046326634/l50
■マニュアル嫁ってうるさいのがいるからちょっとは嫁な、
http://www.php.net/manual/ja/
■おまえ初心者なら入門本くらいかっとけな、PHP関連の書籍(但しPHP出版系お断り)
http://pc2.2ch.net/test/read.cgi/php/985315574/l50
■これはなズープスと読むらしいがあっちな、XOOPS
http://pc2.2ch.net/test/read.cgi/php/1031736248/l50
でもな、ここで書きたかったらここで書き。 あとは関連な、>>2
0303nobodyさん
03/07/02 01:52ID:???まちがっちゃーいないんだけど
$_REQUESTはGETとPOST、COOKIE、FILESを区別しないから
セキュリティーホールになりやすい。
つーかなんで>>299の優しさをふいにするかなあ。
$_POST['SUBMIT'],$_POST['yourname']にしる!
0306あぼーん
NGNG0307nobodyさん
03/07/02 07:06ID:???ごめんごめん。でも...それ...古いし。
4.1以降でも非推奨だしPHP5では使えんでしょ?(憶測
スルーしたのは素直に悪かったと思ふ。
0308nobodyさん
03/07/02 08:22ID:???PHP5では使えなくなるのか・・・
0309nobodyさん
03/07/02 15:03ID:iDV7N0wg0310309
03/07/02 15:14ID:???0311あぼーん
NGNG0312nobodyさん
03/07/02 15:39ID:???0313K
03/07/02 15:55ID:+4nJpvGg0314あぼーん
NGNG0315あぼーん
NGNG0316nobodyさん
03/07/02 20:54ID:???0317301
03/07/02 21:24ID:???あわわ・・・
ttp://search.net-newbie.com/php/language.variables.predefined.html
↑にもユーザ入力機構によりスクリプトに入力される全ての変数で、 このため、信頼することができません
ってありました。
以後、気をつけます。
0318404.HDML ◆StMXML.EXE
03/07/03 03:55ID:???if(ereg(一致条件,評価する変数,$hoge)){ # 眠いので勘弁して
die(count($hoge));
}
一致条件にマッチした箇所が配列として$hogeに入るので、
後は$hogeをcount()関数で数える、という事を思いついた。。
0320nobodyさん
03/07/04 00:29ID:WD3uwLUpPHPから、linuxの認証を使い回すことは可能でしょうか?
また、その際、パスワードの変更なども可能でしょうか?
0322nobodyさん
03/07/04 09:14ID:DNjraE66リサイズは出来たんですけど、減色の方法がわかりません・・。
0323nobodyさん
03/07/04 14:36ID:???$headers=getallheaders();
$ua = $headers['User-Agent'];
としています。
"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1)"が欲しいのですが
"Mozilla/4.0"
までしかデータベースに入りません。どうすれば良いのでしょうか。
ローカルで試しています。PHP 4.3.2 Apache/1.3.24
ご教授願います。
0324nobodyさん
03/07/04 16:03ID:ykyCw+ELPHPからFlashに送るためには
どういう風にスクリプトを書けばいいんでしょう?
Flash側はsendAndLoadなどで送られてきた
データを受け取ることはわかっているのですが
PHPからどう出力すれぱいいのかわかりません。
(例えばecho ($hoge)などで出力するわけじゃないですよね…)
あともうひとつFlashからPHPに変数を送る際に
返り値もなにも受け取らず、ターゲットウインドウもなし
ただ単純に変数を送るだけってことはできるんでしょうか?
sendで送信後に送り先の「〜.php」が開いてしまいます。
↑板違いなFlash含んでて申し訳ないです。
0325nobodyさん
03/07/04 16:22ID:???0327nobodyさん
03/07/04 21:18ID:???$in{'FROM'} =~ s/◆/◇/g;
if ($in{'FROM'} =~ /#(.+)/){
my $key = $1;
my $salt = substr($key."H.", 1, 2);
$salt =~ s/[^\.-z]/\./g;
$salt =~ tr/:;<=>?@[\\]^_`/ABCDEFGabcdef/;
$trip = ' ◆</b>' . substr(crypt($key, $salt), -8) . '<b>';
はどうすればよいでしょうか?
$salt =~ tr/:;<=>?@[\\]^_`/ABCDEFGabcdef/;
でつまってしまいました。厨な質問で申し訳ないですがよろしくお願いします
0330nobodyさん
03/07/04 22:14ID:???0331nobodyさん
03/07/04 22:15ID:2pHtYtXT駄目ならすいませんが誘導ください。
phpBBをインストールし、Global Announcement Modというものを新しくインストールしたのですが、なにも項目も追加されてませんし、「重要」トピックなどで投稿しても全てのフォーラムに反映しません。
コレはどうすれば宜しいのでしょうか?
宜しくお願いします
0332名無し
03/07/04 22:26ID:P/UD1L9mエラーが出てしまいます。下記の記述で間違っている個所があるのでしょうか?
$file="file.dat";
if(!file_exists($file)){
$fp = @fopen($file,"w") || die("error");
flock($fp,LOCK_EX);
$print="aaa";
fputs($fp,$print);
flock($fp,LOCK_UN);
fclose($fp);
}
ホントに初歩的な質問ですみません。。。
ご回答お願いします。
0334nobodyさん
03/07/04 23:11ID:???>$fp = @fopen($file,"w") || die("error");
var_dump($fp); してみてください。
これだと、たぶん $fp がリソースではなくbool型になってる。
正しくは $fp = @fopen($file,"w") or die("error");
こうすれば = が処理される前に $fp が評価されるはず。
演算子の優先順位の項目を参照のこと。
質問するときはどこでどんなエラーが出てるのかちゃんと書けって
いつも言ってるだろこのバカチンが !!
0335nobodyさん
03/07/04 23:13ID:???評価されるのは $fp に入る前の fopen(); の結果ね。
0337nobodyさん
03/07/04 23:31ID:???0338nobodyさん
03/07/04 23:49ID:???This will supress the injection of error messages into the data stream output to the web client.
0339nobodyさん
03/07/05 00:34ID:???0340336
03/07/05 00:42ID:???対象行がdelete掛けられた場合の処理(逃げ)は必要だよ
0341nobodyさん
03/07/05 04:20ID:???0342nobodyさん
03/07/05 08:20ID:???>こうすれば = が処理される前に $fp が評価されるはず。
ダメじゃん・・・。
0344nobodyさん
03/07/05 10:06ID:???$fp = @fopen($file,"w");
if ($fp) {
#処理
}else {
die ("error");
}
0347323
03/07/06 13:15ID:???フィールドのタイプはtext、文字数は設定なし、取り出してるクエリは
SELECT *
FROM `テーブル名`
です。
よろしくお願いいたします。
0348あぼーん
NGNG0350あぼーん
NGNG0352323
03/07/06 20:28ID:kEFDIfkpレスありがとうございます。
print "<input type=\"hidden\" name=\"ip\" value=$ip>\n";
print "<input type=\"hidden\" name=\"ua\" value=$ua>\n";
のような形でフォームから普通に配列に入れてテーブルに追加しているつもりだったのですが
DWMXを使ってしまったのでよく解らなくなりました。下記のあたりはどうすればよいのでしょうか。
function GetSQLValueString($theValue, $theType, $theDefinedValue = "", $theNotDefinedValue = "")
{
$theValue = (!get_magic_quotes_gpc()) ? addslashes($theValue) : $theValue;
switch ($theType) {
case "text":
$theValue = ($theValue != "") ? "'" . $theValue . "'" : "NULL";
break;
case "long":
case "int":
$theValue = ($theValue != "") ? intval($theValue) : "NULL";
break;
case "double":
$theValue = ($theValue != "") ? "'" . doubleval($theValue) . "'" : "NULL";
break;
case "date":
$theValue = ($theValue != "") ? "'" . $theValue . "'" : "NULL";
break;
case "defined":
$theValue = ($theValue != "") ? $theDefinedValue : $theNotDefinedValue;
break;
}
return $theValue;
}
0353あぼーん
NGNG0355名無し
03/07/07 16:56ID:+XnYDKVbようやく解決しました。「or」に直し、if文をなくすとOKでした。
ありがとうございました。
PS.>>337 @fopen=>の@は、エラー抑止させるという機能です。
0356あぼーん
NGNG0357nobodyさん
03/07/07 18:33ID:???調べたところあんまり評判がよくないような気がします。
他にクールなファイルロックの手段ってありますか?
0358nobodyさん
03/07/07 18:37ID:???【Perl】ファイルロック(排他処理)について語ろう
http://pc2.2ch.net/test/read.cgi/php/1024795138/
0359nobodyさん
03/07/07 21:58ID:???Windows2000Professional sp3
Apache2.0.46
PHP 4.3.2
Firebird 1.5RC3
でPHPソース EUC-JP
データベース EUCJ_0208
magic_quotes_gpc off
mbstring.language = Japanese
mbstring.internal_encoding = EUC-JP
mbstring.http_input = auto
mbstring.http_output = EUC-JP
mbstring.encoding_translation = On
mbstring.detect_order = auto
mbstring.substitute_character = none;
mbstring.func_overload = 0
;mbstring.script_encoding = SJIS
でquery結果を Print するとデータベースから取り出した
漢字の 井(0x88,0xE4) が 遺・(0x88,0xE2,0xE1) に
なるんだが、どこがまずいのかさっぱりわからん…
へるぷみー
0360nobodyさん
03/07/08 02:21ID:???0361359
03/07/08 09:14ID:???どうもデータベースの取り出し結果が必ず SJIS になってるような…。
ソース DB
EUCJ EUCJ 文字化け
EUCJ SJIS 文字化け
SJIS SJIS ○
SJIS EUCJ ○
出力設定の変更では何も変化なし。
0362nobodyさん
03/07/08 12:11ID:jypS6q60msi形式のファイルをアップロードするとコピーされません。
他の形式のファイルでは問題なくアップロードできるのですが、
何か問題があるのでしょうか?
0363nobodyさん
03/07/08 12:58ID:???他の原因を探ってみては?
・ファイルサイズ
・自分でmsiを拒否ってた。
・ブラウザで存在確認しただけだった。
・そもそもmsiの中の人など居なかった等々
0364nobodyさん
03/07/08 13:18ID:jypS6q60いや、拡張子でなくバイナリ的にmsiが何か拒否られてるみたいなんです。
ためしにpdfファイルを拡張子msiに変えて試したら正常にコピーされました。
逆にmsiファイルをpdfに変えてもダメ。他のmsiファイルで試してもダメ。
LAN内の端末なので実際にファイルがコピーされてないことも確認してます。
0365nobodyさん
03/07/08 13:30ID:syho/6wx0366323
03/07/08 14:24ID:???フォームから入力するのをやめたらできました。
0367nobodyさん
03/07/08 19:13ID:???そこで、PHP4.3.2にGD2.0.15のGIFサポート版を
リンクしてコンパイルしようとするのですが、PHPのmakeで
エラーがでてしまいます。どなたか、実践された方居られませんか?
GDの ./configure
./configure \
--with-png=/usr/local --with-freetype=/usr/local --with-jpeg=/usr/local --with-xpm=/usr/X11R6
PHPの ./configure
./configure \
--enable-zend-multibyte --enable-mbstring --enable-zend-multibyte --enable-calendar --with-imap=/usr/local/lib \
--with-mysql=/usr/local/mysql --with-apxs=/usr/local/apache/bin/apxs --enable-exif \
--with-gd=/usr/local --with-zlib-dir=/usr/local/include \
--with-png-dir=/usr/local --with-jpeg-dir=/usr/local --with-freetype-dir=/usr/local --with-xpm-dir=/usr/X11R6 --with-zlib-dir=/usr/local
そのままでは make中
ext/gd/gd.c に undefined reference なエラーが発生するので
展開したGDの gd.* gd_gd.* gd_io.*を ext/gd/ にコピーしてmakeすると
main/internal_functions_cli.c に undefined reference to `gd_module_entry'
なエラーがでてしまいます。どうやら ext/gd/php_gd.h の
extern zend_module_entry gd_module_entry; あたりかなとは思うのですが、
ここで力尽きてしまいました。どなたかご存知の方居られましたら
ご教授ください。なおOSはFreeBSD4.3です。
長文失礼しました。
GIFサポートはこれで、どうやらLZW系のライセンスはクリアしているらしいのですが
ttp://www.rime.com.au/gd/
0368nobodyさん
03/07/10 09:27ID:???0370nobodyさん
03/07/11 01:11ID:jNV68Tt50371あぼーん
NGNG0372nobodyさん
03/07/11 01:37ID:jNV68Tt5eucで書くと何も表示されません。
エンコード変えて表示させてもF5すると、またエンコード切り替わって、
何も表示されなくなってしまいます。
超初心者です。教えてください。
0373あぼーん
NGNG0374nobodyさん
03/07/11 04:52ID:???PHPマヌアルには「SJISでは書かない方がいい」みたいな事が書いてある。
それから、文字化けについては吐き出したHTMLのソースを見れ。
0376nobodyさん
03/07/11 09:57ID:???考えるべきは沢山あるな。
で、本にはSJISで書いてあるってどういうこと?
つーか書名キボンヌ。
0377372
03/07/12 03:12ID:???付いているCD-ROMがSJISとEUCに分かれていて、
僕がSJISを参照しているだけでした。
一応、本の名前は「そのまま使えるPHPサンプル100選」 技術評論社
です。
申し訳ないついでにもう一つ質問なんですけど、PHPは半角スペース
は意味がないんですか?サーバー系のはあるだなんだ〜ってこと
聞いたことがあるんですけど。あー馬鹿っぽい質問だな〜
0378nobodyさん
03/07/12 03:40ID:???$mona = "";
$hanyan = "";
の「=」の位置を揃えたいとかなら 半角スペースの個数は関係ないよ。
p r i nt みたいに、PHP本体の解釈を妨げるような半角スペースの挿入は有害。
PHPが出力したHTMLの半角の話ならWeb制作板にカエレ!!
0379372
03/07/12 05:57ID:???ここにいさせてください。
0380nobodyさん
03/07/12 07:34ID:???ttp://www....../hoge.php?hoge=1
などするのはかっこ悪いので、
ttp://www....../hoge.php?hoge
というURLで処理を行いたいのですが可能でしょうか。
実際には、この=の先には特に意味は持たしません。
ページが長いので、?hogeの部分で判断できれば、
そのリストだけ表示するようにしようと思っています。
よろしくお願いします。
0382nobodyさん
03/07/12 09:10ID:tmgiXdLP$_SERVER["QUERY_STRING"]
と
$_SERVER["argv[0]"]
にhogeが入る。
argvは一般にコマンドライン用だからWebで使うならQUERY_STRINGの方かな
0383nobodyさん
03/07/12 09:13ID:???argv:コマンドライン引数
QUERY_STRING:環境変数
そもそも使い道が全然違うと思われ。
0384nobodyさん
03/07/12 12:49ID:qK/j+nNBをする際に意図する結果が得れません。PHPで\nにしていてもテキス
トに記録するとCRが追加されているみたいで
Range: Bytes=**-
で既得分のバイト数を渡して1文字b熾ヤって来ない緒ヤを期待してb澆R
の個瑞舶ェだけゴミが封ヤってきます。bQch型スクなbナ専用ブラウャUでエ
ラ=[になります。ャeキストに記録bキる改行コードbr\nにしてもャ_メでし
bス。何かよい対緒�@はないでしb蛯、か。お願いbオます
0386nobodyさん
03/07/12 14:35ID:???知りたいんですがどういった命令がありますでしょうか?
0387nobodyさん
03/07/12 15:20ID:???どの言語でも定型のやりかただと思うよ。
0389nobodyさん
03/07/12 23:50ID:???バイナリー指定(rbとかwbとか、そんな感じ)
があるので、それ付けてバイナリーとして
扱って見れ
あと詳しく書くのはよろしいが、折れみたいに
PDAで読み書きしてる椰子もおるんで、
適当に文切ってな
0390nobodyさん
03/07/13 09:07ID:???をする際に意図する結果が得れません。PHPで\nにしていてもテキス
トに記録するとCRが追加されているみたいで
Range: Bytes=**-
で既得分のバイト数を渡して1文字も返って来ない状態を期待してもCR
の個数分だけゴミが返ってきます。2ch型スクなんで専用ブラウザでエ
ラーになります。テキストに記録する改行コードを\r\nにしてもダメでし
た。何かよい対処法はないでしょうか。お願いします
Wwindows98+Apache1.3.27環境は改行コードがCRLFですが差分取得
をする際に意図する結果が得れません。PHPで\nにしていてもテキス
トに記録するとCRが追加されているみたいで
Range: Bytes=**-
で既得分のバイト数を渡して1文字も返って来ない状態を期待してもCR
の個数分だけゴミが返ってきます。2ch型スクなんで専用ブラウザでエ
ラーになります。テキストに記録する改行コードを\r\nにしてもダメでし
た。何かよい対処法はないでしょうか。お願いします
0391nobodyさん
03/07/13 18:53ID:8ZbS77HL以下のような index.html と test.php があって
index.htmlのリンクをクリックしても何も表示されないのですが
何か宣言が足りないのでしょうか?
[index.html]
<html>
<body>
<a href="./test.php?mode=home">home</a>
</body>
</html>
[test.php]
<?php
print("$mode");
?>
0392nobodyさん
03/07/13 19:09ID:???参考にした資料が古いと思われ。
print($_GET['mode']);
でいけますよ。
ここの「警告」を読まれることをおすすめする。
http://jp.php.net/manual/ja/language.variables.predefined.php
あとprintは括弧がいらなかったりechoでも同じだったりするけど
そこら辺は好きなように書いてよかです。
0394あぼーん
NGNG0395nobodyさん
03/07/13 22:32ID:???解決のヒントをよろしくお願いします。
OS:
WindowsXPPro(sp1a)
Webサーバ:
Apache1.3.27(Windows版)
インストール先C:\Program Files\Apache Group\Apache
PHP(zip):
PHP 4.3.2(Windows版)
インストール先C:\Program Files\php
症状:
phpファイルを実行しようとすると、ダウンロードダイアログが表示されて、プログラムを実行できない。
関係ありそうなこと:
(1)php4ts.dllはphp4apache.dllと同じフォルダ(C:\Program Files\php\sapi)にいれた。
(2)php.ini-distをphp.iniにリネームし、C:\WINDOWSにいれた。
php.iniのなかで、doc_rootをC:\Program Files\Apache Group\Apache\htdocsに設定。
(3)httpd.confには、
LoadModule php4_module "c:/Program Files/php/sapi/php4apache.dll"
AddType application/x-httpd-php .php
AddType application/x-httpd-php-source .phps
を追加しています。
0396nobodyさん
03/07/13 23:26ID:???php4ts.dllはpathの通ってるところに放り込むこと。
つか、install.txtちゃんと読んでるようなんで、
そこにはNT系の場合のやり方が書いてあったでそ
デフォでWindowsインストールしてるのなら、
c:\windows\system32ディレクトリ
0397404.HDML ◆StMXML.EXE
03/07/13 23:28ID:???>(1)php4ts.dllはphp4apache.dllと同じフォルダ(C:\Program Files\php\sapi)にいれた。
"php4ts.dll"は、"C:/WINDOWS/system32"フォルダ内に収めて下さい。
後、Apache1なら"AddModule"宣言を忘れていませんか?
0399nobodyさん
03/07/14 04:24ID:???ネタなのか釣りなのか騙りなのか分からないけど、
このあたりをブックマックしておいて悩んだ時や暇な時に見ておくとよい。
http://japache.infoscience.co.jp/
0400395
03/07/14 10:43ID:???>>396
install.txtによると、
So where does php4ts.dll has to be to be properly loaded ?
php4ts.dll is searched in the following order:
1) in the directory where apache.exe is start from
2) in the directory where php4apache.dll is loaded from
3) in your %SYSTEMROOT%\System32, %SYSTEMROOT%\system and
%SYSTEMROOT% directory.
Note: %SYSTEMROOT%\System32 only applies to Windows NT/2000/XP)
4) in your whole %PATH%
で上の設定は2)にしたつもりです。ちなみにc:\WINDOWS\system32にphp4ts.dllをいれても同じ症状でした。
というより、2)の設定で、php4ts.dllの名前をphp4ts.dll.oldなどに変えると、php4apache.dllが読み込めない
とのエラーがでたので、php4ts.dllの読み込みはできていたのではないでしょうか?
>>397
httpd.confにAddModule宣言
AddModule mod_php4.c
を入れると、
[warn] module mod_php4.c is already added,skipping
とでたのでAddModule宣言はコメントアウトしています。
0401nobodyさん
03/07/14 10:43ID:???何故PHPのマニュアルって色んなサイトで掲載されているの?
Googleで検索すると同じ(内容)マニュアルばっかり引っかかって悲しい。
0403404.HDML ◆StMXML.EXE
03/07/14 13:48ID:???ぅぃ。試しにアナタとほぼ同環境であろうWindowsXP Pro SP1使って
Apache/1.3.27とPHP/4.3.2をインスコしてみたんだが、、
何の問題無くphpinfo()内容が表示出来たぞ?
php.iniに関しては、php.ini-distをリネームしただけで内容の編集すら
していない。一体、どうなってやがる?
ちなみに、俺が設置したパスは以下の通り。
Apache/1.3.27(msi Package) → C:/
# Cドライブ直下
ActivePerl/5.8.0(msi Package) → C:/usr
# これは必要無いけど
PHP/4.3.2(ZIP Package) → C:/usr/local
# Linuxっぽく(Linuxなら、"/usr/local/lib"だけど)
php.ini → C:/WINDOWS
php4ts.dll → C:/WINDOWS/system32
原則的に、>>397で書いた事以外はしていましぇん。
■ このスレッドは過去ログ倉庫に格納されています