5ちゃんねる ★スマホ版★ ■掲示板に戻る■ 全部 1- 最新50  

■ このスレッドは過去ログ倉庫に格納されています

【PHP】くだらねぇ質問はここに書き込みやがれpart4

1 :nobodyさん:05/03/13 16:08:32 ID:???
PHPに関するくだらない質問用すれです。
ここなら本スレで回答のないお前の下らない質問に回答があるかも知れません。
次スレは>>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/


2 :nobodyさん:05/03/13 16:13:46 ID:???
おつ

3 :nobodyさん:05/03/13 16:28:43 ID:D632M8O2
日本語の文字列をPHPでURLエンコード・デコードするのって
urlencode/urldecode関数を使うだけじゃなくてもう一工夫必要ですかね?
文字化けしちゃうんですが。
環境はRedhatLinux、PHP4.3.10です。

4 :nobodyさん:05/03/13 16:55:32 ID:???
>>3
マルチバイト周りの設定の不備のような気もしますが、
bin2hex()を使って比較してみれば正確に渡っているかどうか確認できますよ

5 :nobodyさん:05/03/13 17:02:09 ID:???
Pukiwiki の スレ が キチガイ に占領されてるんですが、どうしたらいいですかね?

6 :nobodyさん:05/03/13 17:07:45 ID:???
>>5
おまえもキチガイになる

7 :nobodyさん:05/03/13 19:00:36 ID:???
>>6
ありがとうございました。長年の悩みが解けました。

8 :nobodyさん:05/03/13 21:01:59 ID:???
>>4
php.iniのmbstring.http_inputとかですかね?
ちょっとやってみます。
ちなみにFORMタグのデータは日本語でもちゃんと受け取れるのですが、
phpでURLエンコードしたデータは文字化けしてしまいます。

9 :nobodyさん:05/03/13 22:51:58 ID:nnVcNb6z
$a=半角の英字だけの文字列
"abc" "def" "ghi"を含まなければtrueとしたいのですが、

if(!ereg("abc"$a)||!ereg("def",$a)||!ereg("ghi",$a)){
echo true;
}

↑このように書いたところすべてtrueになってしまいました。
なぜですか?一個ずつ三回ifを書けば期待どうりの結果になります




10 :9:05/03/13 23:05:50 ID:???
原因わかりました。
思いっきり勘違いしてました

11 :nobodyさん:05/03/13 23:08:30 ID:???
>>9
$a="abc"をそいつに放り込んでみると、
ereg("abc",$a) -> true , ereg("def",$a) -> false , ereg("ghi",$a) -> false
したがって、if(false || true || true) -> if(true) になる。
$a="xyz"を入れると同様にして
if(true||true||true) -> if(true) になる。
何も不思議はあるまい。

12 :nobodyさん:05/03/13 23:19:16 ID:???
というか、正規表現の使ってるいみないから。

13 :nobodyさん:05/03/13 23:20:25 ID:???
>>11
わかりやすい説明ありがとうございます。
|| ←これは左右のどちらかがtrueならtrueですよね?
だから || をいくつ並べても一つでもtrueがあればtrueですよね?

14 :nobodyさん:05/03/13 23:29:31 ID:???
>>13
論理演算でググれば絵付きで説明が見つかりますよ。

"abc" "def" "ghi"を含まない
= abcを含まない かつ defを含まない かつ ghiを含まない
= (! abcを含む) && (! defを含む) && (! ghiを含む)
= !(abcを含む || defを含む || ghiを含む) [ド・モルガン]
= !( ereg("(abc|def|ghi)",$a)) [正規表現のクラス化]
= !(abcを含む または defを含む または ghiを含む)

15 :nobodyさん:05/03/13 23:31:43 ID:???
教えてください、
PHP+MySQLで、MySQLに書き込む際にSJISの文字化けを起こしてしまいます。
クエリは"INSERT INTO table(name) VALUES('$name')" 、$name=mysql_escape_string($_REQUEST['name']); です。
$_REQUEST['name']='表示'とすると侮オになってしまいます。
文字コードはSJIS、magic_quotes_gpcはoffで変更は出来ません。
addslashes()を加えても駄目でした。どうすれば良いのですか?

16 :nobodyさん:05/03/13 23:34:23 ID:???
自ファイルの最終更新日を得るのに

<? print date('Y.m.d H:i', filemtime("このファイル.php")); ?>

と使ってるのですが、わざわざファイル名を指定せず、自ファイルの最終更新日を得る
スマートな関数って、ないんでしょうか?
SSI で云うところの、<!--#echo var="LAST_MODIFIED"--> みたいな奴。

17 :nobodyさん:05/03/13 23:45:47 ID:???
>>16
$_SERVER['PHP_SELF'] じゃ駄目なの?

18 :nobodyさん:05/03/13 23:46:31 ID:???
>>15
mb_language("ja");
mb_internal_encoding("SJIS");
mb_http_output("SJIS");
mb_http_input("auto");


19 :nobodyさん:05/03/13 23:50:12 ID:???
>>9
そいう場合はココを書き直したら、うまくいきました!

とか書くと同じ悩みの人にもよろし。(今回はいないでしょうけど

皆様もよろしく。

20 :nobodyさん:05/03/14 00:02:48 ID:???
>>16
<?php
print date("Y年n月j日 H時i分", filemtime($SCRIPT_FILENAME)) ;
?>
--------------------------------------------------------------

<?php echo "最終更新時刻:".date("F d Y H:i:s." , getlastmod()); ?>


21 :nobodyさん:05/03/14 00:09:05 ID:???
imap関数で添付画像を取り出すにはどのようにしたらよいでしょう?
手持ちのマニュアルではimap_fetch_bodyで取り出せるようなことが書いてあるのですが
具体例がなく、またwebで探してみましたがみつかりません。
どなたかお力を・・

22 :16:05/03/14 01:34:39 ID:???
>>17
ファイル名が色々変わりうるならそれでもいいですね。

>>20
そ、それです。php 公式サイトマニュアルの filemtime() から参照してた…灯台もと暗し。
>>17 のfilemtime($_SERVER['PHP_SELF']) よりもスマートなので getlastmod() でいきます。

23 :21:05/03/14 04:34:04 ID:???
しつこくぐぐってたら見つけました。

24 :nobodyさん:05/03/14 08:24:46 ID:???
>>17
__FILE__
もヨロ

25 :nobodyさん:05/03/14 11:14:54 ID:???
前スレの>>986
>ツリーは検索できるんですが、同じパスワードで認証しようとすると行き詰まります。

パスワードの暗号方式が異なるのでは?
Active Directoryは確かKerberosを使っていたと思いますが。

26 :nobodyさん:05/03/14 12:39:35 ID:???
"1234","2649" など、ダブりのない4桁のランダム数値を得るにはどうしたら良いでしょうか?

27 :nobodyさん:05/03/14 12:52:03 ID:NwXBy3ub
test.php
$title = "test";
$file_r = file('./template.php');
$file = implode('', $file_r);
$file = ereg_replace('{(\$[[:alnum:]]+)}', "\\1", $file);
print $file;

template.php
<html>
<head>
<title>{$title}</title>
</head>
<body>
<h1>{$title}</h1>
</body>
</html>

test.phpを実行すると変数が置換されて({$title}をtestに)表示されるようにしたいのですが、"\\1"がおかしいのか
$titleのようにそのまま表示されてしまいます。どうしたらいいのでしょうか。

28 :nobodyさん:05/03/14 13:15:04 ID:???
>>27
preg使う
$file = preg_replace('/{(\$[[:alnum:]]+)}/e', "$1", $file);

または
$title = "test";
include('./template.php');


29 :28:05/03/14 13:16:40 ID:???
template.php
<html>
<head>
<title><?=$title?></title>
</head>
<body>
<h1><?=$title?></h1>
</body>
</html>


30 :nobodyさん:05/03/14 13:22:09 ID:???
>>26
ランダム数値を取得するのにmt_rand()やrand()を使うとして、
ダブらないようにするには、過去全ての数値を記録しておくより他は無い。

1. 数値を一個生成する度に過去の数値と比較して有効無効を判定。
 初めての数値だったら、記録用配列に保存。重複していれば再生成。
2. 重複しない数値を入れた配列を用意し、shuffle()を使ってかき混ぜる。
 最初から順番に使っていく。

31 :nobodyさん:05/03/14 13:52:38 ID:ac0vKofO
auのケータイのケータイプラネットで「今週のイチオシ」とか言うサイトの
着メロダウンロードしたんですけど、怪しいサイトの可能性はありますか?

32 :nobodyさん:05/03/14 14:16:22 ID:???
>>31
しらんがな(´・ω・`)


33 :nobodyさん:05/03/14 17:42:03 ID:R34xlKHj
文字列が格納された変数の末尾を切り取って、
切り取った物を別の変数に格納する関数はPHPに標準装備されてますか?
あれば名前を教えてください。

34 :nobodyさん:05/03/14 17:48:16 ID:???
>>33
   〃∩ ∧_∧
   ⊂⌒( ´・ω・`) くぜんぶマニュアルに書いてあんがな
     `ヽ_っ⌒/⌒c
ttp://www.php.net/manual/ja/ref.strings.php
ttp://www.php.net/manual/ja/ref.mbstring.php

35 :nobodyさん:05/03/14 17:50:58 ID:???
>>34
そのAAかわええ。

36 :nobodyさん:05/03/14 18:00:01 ID:9MS+lPog
日本語のファイル名でダウンロードさせたいのですが、
header( "Content-type: application/octet-stream;n" );
header( "Content-Disposition: attachment; filename="". urlエンコードした日本語 .""n" );
print ファイルの中身
とやっても、ファイル名がばけばけくんです。
sjisでもeucでもダメなのですが…



37 :nobodyさん:05/03/14 18:19:13 ID:???
>>36
urlエンコードはドッから沸いた。

38 :nobodyさん:05/03/14 18:33:20 ID:???
>>26

>>30 とは違う意味ならこんな感じか。

$nums = array(0, 1, 2, 3, 4, 5, 6, 7, 8, 9) ;
shuffle($nums) ;
$numuniqs = 1000 * $nums[0] + 100 * $nums[1] + 10 * $nums[2] + $nums[3] ;
printf("%04d", $numuniqs) ;


39 :nobodyさん:05/03/14 19:01:29 ID:???
>>36
ブラウザによって全然違うので、これだ、という方法がありません。

40 :nobodyさん:05/03/14 23:19:48 ID:???
>>26
function getPassnum($keta='4'){
 if(!$keta) return False;
 srand();

 
}

41 :nobodyさん:05/03/14 23:21:18 ID:???
すまそ、書き中に送信しちまった。

>>26
function getPassnum($keta='4'){
 if(!$keta) return False;
 srand();
 $temp = shuffle(array(0,1,2,3,4,5,6,7,8,9));
 return (string) $temp[0].$temp[1].$temp[2].$temp[3];
}

42 :nobodyさん:05/03/15 11:47:18 ID:???
0123だと4桁?

43 :nobodyさん:05/03/15 13:21:19 ID:a8e+tPDr
windows+apacheなんですが、
実行中のphpをとめるにはどうしたらいいのでしょうか?
強引にでもプロセスとめたいです。

44 :nobodyさん:05/03/15 13:23:30 ID:a8e+tPDr
apacheとめたら大丈夫でした

45 :nobodyさん:05/03/15 13:48:08 ID:???
>>43
モジュールならapacheの一部だからな

46 :nobodyさん:05/03/15 14:37:59 ID:???
>>36
IE限定での話ならURLエンコードしないでSJISにすればOK。

47 :nobodyさん:05/03/15 16:05:59 ID:EikE9BP9
PHPでメールを送信する場合の設定についてですが、下の以外に何かありましたっけ?
最近OSを入れ替えたんですが(Fedora2→CentOS4)、
同じPHPスクリプトでメールを送れなくなってしまったもので。

<php.ini>
sendmail_path = /usr/sbin/sendmail -t -i -f自分のアドレス
※sendmailのパスはwhichで確認しましたので、間違いありません。
※メールサーバー(Postfix)はきちんと動いていて、メールの送受信が可能です。

<PHPスクリプト>
<?php
$email = "自分のアドレス";
$subject = "TEST";
$content = "This is test";
mb_send_mail($email, $subject, $content);
?>
※mbstring関係の設定も行っており、mb_ereg_replaceなど他のマルチバイト文字列関数は使えます。
※エラーメッセージの表示をオンにして確認してみたのですが、エラーは何も出ません。

何か根本的なことを見落としているのかも・・・
アドバイス願います。


48 :nobodyさん:05/03/15 16:22:57 ID:???
>>47
Centのpostfixの設定ファイルを読んだかい?

49 :nobodyさん:05/03/15 20:29:10 ID:???
くだらないんですが、
配列を空で初期化するのは、
$a = array();
でよいんでしょうか。

なにか正しいやり方あれば教えてください。

50 :nobodyさん:05/03/15 20:36:42 ID:???
>>49
配列の要素数を0にしたいのならそれでいい。

配列自体を無くしたい(メモリを開放したい)なら
unset($a);

51 :47:05/03/15 23:05:05 ID:EikE9BP9
>>48
レスどうもありがとうございます。なるほど、postfixのmain.cfを読むと、
sendmail_path = /usr/sbin/sendmail.postfix となっていますね。
で、この通りにphp.iniの方を書き換えて、apacheを再起動してみたのですが、
メールの送信はできませんでした。うーん・・・

52 :nobodyさん:05/03/15 23:38:55 ID:???
>>51
postfix のログを見るとか、下みたいな感じのスクリプトを
sendmail_path の先に置いて、こいつの結果をそのままその sendmail.postifxって
言うやつに食わせてちゃんと送るか確認するとか。

#!/bin/bash
OUT=/tmp/php_maildump
echo $0 $* > $OUT
cat > $OUT
exit 0

53 :nobodyさん:05/03/16 00:03:01 ID:oQ3Q5gEX
Pockey-GetHTMLというサイト一括ダウンロードソフト?を拒否するにはどうしたらいいでしょう
PHPのバージョンは4.3.10です。

if(getenv("HTTP_USER_AGENT")=="Pockey-GetHTML"){exit;} うーん?


54 :47:05/03/16 00:14:43 ID:???
>>52
レスどうもです。postfixのログには関連するものがなかったのですが、
apacheのログを再度見直してみたら、
sendmail.postfix: fatal: chdir /var/spool/postfix: Permission denied
というエラーを見つけました。これが原因でしょうか。

で、/var/spool/postfixのアクセス権を調べたところ、
所有者はrootで、アクセス権は755に設定されていました。
所有者以外のユーザーも読めるわけですが、何が問題なんでしょう。

試しに上記ディレクトリのアクセス権を777にしてみましたが、
結果は変わらず、エラーログも同じものでした。

あと、せっかくスクリプトを書いていただいたのに恐縮ですが、
後半のアドバイスは私にはちょっとわかりません。すみません。


55 :nobodyさん:05/03/16 00:14:45 ID:???
>>53
Web制作板から来た人かいな。
UA名はきちんと申告するらしいのでhtaccessで弾くのが手っ取り早いんだが。
「うーん?」つーのはどういう意味で書いているんだ?

56 :53:05/03/16 00:49:42 ID:???
>55
はい、移動してきました。
htaccessは使えないのでPHPでなんとかできないかと思ったんですが無理ですか?
うーん?というのは読み飛ばしてかまいません。深い意味はないです。

57 :nobodyさん:05/03/16 01:28:17 ID:???
>>56
Pocky-GetHTMLのUser-Agent名は、「Pockey-GetHTML/4.12.0 (Win32; GUI; ix86)」
ってな感じらしいので、>>53の書き方の「 == (等しい)」だとそこを通らない。
strstrやstrposのような文字列の中を検索する関数を使う。
ttp://www.php.net/manual/ja/tutorial.useful.php

58 :nobodyさん:05/03/16 07:58:31 ID:qOWGuaAh
XHTML宣言を書きたいのですがPHPとして解釈されてしまうので、
<? echo '<?xml version="1.0" encoding="Shift_JIS"?>'; ?>
とやるのはどうでしょうか?
ご意見をいただけると嬉しいです。

59 :nobodyさん:05/03/16 07:59:01 ID:qOWGuaAh
↑XML宣言を書きたい、の誤りです、、

60 :nobodyさん:05/03/16 09:54:48 ID:???
>>58
short_open_tagを無効にする。

61 :nobodyさん:05/03/16 10:11:58 ID:???
>>56
なんかググってみたけどモノ自体は判らなかったが
(今は配布されてないみたいだ)
相当に行儀が悪い振る舞いをするモノということだけは判った。

現物ないので、UAを偽装できてしまうのか判らんが。
>>57みたいに文字列検索で、正規表現で引っ掛けるか。
あとデフォルトのUA表示は「Pocky/〜」というのもあるみたい。

62 :nobodyさん:05/03/16 12:26:14 ID:???
>>53
GETHTML 4.13は持ってるよ
UAを変更する機能はないのでPockey-GetHTMLを含むものを拒否するだけでOKでしょう
それかrobots.txtを読み込むのでrobots.txtでも拒否できますよ。

一応4.13からは
(1) 同一サーバ(ホスト)への同時取得数が 1 に固定されました
(2) 同一サーバ(ホスト)への連続取得に対し、1秒の wait をデフォルトで入れました
という変更がされてるようです

63 :53:05/03/16 13:14:18 ID:???
うおーん、ありがとうございます。
モノが無いので挙動を確かめられんのですが
多分これでいけるんでしょう。次回の爆撃を楽しみにまっときます。

if(strpos($_SERVER['HTTP_USER_AGENT'],'Pockey-GetHTML')==true){exit;}

64 :nobodyさん:05/03/16 14:19:24 ID:???
>>63
まてまて、strposは先頭の文字の位置は0を返すぞ。
!==false じゃないかな。

UA偽装してアクセスするくらいのテストをした方が爆撃が楽しみになると思う。

65 :58:05/03/16 16:09:26 ID:???
>>60
それをヒントにいろいろ調べてみたらわかりました。
ありがとうございます。

66 :nobodyさん:05/03/16 17:00:56 ID:???
以下のようなエラーが発生したのですが、これはどういう事なのでしょう?
Webで翻訳してみたら「変数だけは、参照によって超えられることができます」と・・・
変数自体は$a[1]=array()しか存在していないはずなのです
意味がわからない

print_r($a);
Array ( [1] => Array())
Fatal error: Only variables can be passed by reference

67 :nobodyさん:05/03/16 17:14:15 ID:???
>>66
エラーの原因はわからないがプログラムするんならpass by valueとpass by referenceぐらい知っとけ
知らなければ調べとけ

68 :nobodyさん:05/03/16 17:28:28 ID:???
>>67
こんなエラーは私としては初めてみるのですが皆さんはエラーが発生する前にエラーの
文脈を理解されているのですね。流石にプロは違いますね。
文字が出る前に予測し意味を理解されているなんて!。
と煽ってみる^^。



69 :nobodyさん:05/03/16 17:41:54 ID:???
煽れてねえよ。むしろ墓穴掘ってるよ。

70 :66:05/03/16 17:53:51 ID:???
それにしても原因がわからないなぁ
count($a)は1ですし成立しているはずなのに致命的エラーで中止されてしまう
配列の作り方に問題があるのか・・・

print_r($a)
Array ( [1] => Array())
Fatal error: Only variables can be passed by reference

isset($rel[1]);
Fatal error: Only variables can be passed by reference

71 :nobodyさん:05/03/16 18:03:38 ID:???
>>66
passの意味が違う。ボールをパスするとか
(語源はいっしょだけど)

72 :66:05/03/16 18:09:10 ID:???
>>71
変数名を変更したら直りました・・・が、あぁ〜書き込む途中で何となく分かりました。
使っている変数名を初期化してなかった為に何処かで使っていた変数と被っていたのかも知れません。
しょぼい・・逝ってくる;;

73 :nobodyさん:05/03/16 18:18:13 ID:???
Fatal error: Only variables can be passed by reference
を出したくてチャレンジしてるのですができません。。 orz
よほど革新的なやり方に違いない。。

74 :66:05/03/16 18:39:26 ID:???
今、関数は除いてスクリプトを眺めてみたのですがエラーが発生していた変数を
使っている形跡がなかった。グローバルなんて使っていないし、わけがわからない・・。


75 :66:05/03/16 18:47:16 ID:???
致命的エラーで途中で処理を中断させたらデータくらいは狂わせる事が
出来るかもしれないな
ちなみにPHP Version 4.3.9です

76 :nobodyさん:05/03/16 22:45:43 ID:???
他板から来ました。
ローカルルール申請をする前に
知識のある方に確認して欲しいのですが
どちらで聞けばよろしいでしょうか?

77 :nobodyさん:05/03/17 00:18:17 ID:???
>>76
http://qb5.2ch.net/operate/

78 :nobodyさん:05/03/17 00:24:03 ID:???
>>76
ここは「PHP」のくだ質スレなんよ。

79 :nobodyさん:05/03/17 02:32:38 ID:pEdxtvRG
1、掲示板のログとかで、DB無しだと一行消すために全行書き直すことになると思うのですが、
  MYSQLとかだと一行消して間をつめるみたいに軽い処理でできるのでしょうか?

2、最近のサーバーなら5000行を超えるテーブルでも比較的軽く操作できますでしょうか?

3、カンマ区切りのテキストファイルをたくさん作るくらいならMYSQLにすべきでしょうか?

4、MS-ACCESSのようにテーブル作るたびにファイルができるのでしょうか?


webアプリを作っていて、できたのはいいもののデータファイルが1000行とか超えてくるとさすがに心配です。
ファイルロックをしてはいますがfrockでは完璧ではないようで・・

どなたかY/Nで結構ですので1〜4答えてください。

80 :nobodyさん:05/03/17 06:07:50 ID:???
>>79
ここはPHPのスレなのだが。。。。

81 :nobodyさん:05/03/17 09:10:33 ID:???
>>79
SQLite

82 :nobodyさん:05/03/17 12:31:19 ID:JSWrWrWk
すいません、教えてください。
現在PHPにPOSTでバイナリ画像データを投げています。
ところが、$ret = $_POST['ret'];
にした時にすでに、$retはデータに\0があった場合に切り詰められてしまいます。

これを回避してバイナリ画像データを
画像ファイル形式で保存するにはどうしたらいいでしょうか?

83 :nobodyさん:05/03/17 12:31:45 ID:JSWrWrWk
ddd

84 :nobodyさん:05/03/17 12:32:27 ID:???
>>83
ごめんなさい。
変なものも打ってしまいました。

85 :nobodyさん:05/03/17 12:54:39 ID:???
>>82
POSTでバイナリを投げる?
フォームからファイルアップロード?
だったら、普通にmultipart/form-data使えば?

それより、IDに感動した。

86 :nobodyさん:05/03/17 13:12:57 ID:???
>>85
フォームからではなくて、Iアプリから投げています。
Iアプリからはきちっと投げれているんですが、
PHP側で$ret=$_POST['ret'];
と、やろうものならもう文字がめちゃめちゃになっています。

なんとか回避できないでしょうか?
$HTTP_POST_FILESというのを試したのですが、うまくいきませんでした。
(FORMからファイルのアップはできました)

87 :nobodyさん:05/03/17 13:19:19 ID:???
文字がめちゃめちゃって?

88 :nobodyさん:05/03/17 13:20:29 ID:???
>>86
そのi-アプリはcontent-typeヘッダを出力してるのか

89 :nobodyさん:05/03/17 13:24:46 ID:???
お絵描きJavaアプレットから画像データを受け取るときは$HTTP_RAW_POST_DATAを使ったけどね

90 :nobodyさん:05/03/17 13:25:08 ID:JSWrWrWk
レス恐れ入ります。

ヘッダはこんな感じで出力してます。
con.setRequestProperty("Content-Type","application/x-www-form-urlencoded");
試しにmultipart/form-dataにしてみたんですが駄目でした。
ちなみに、ret='画像バイナリデータ'という感じでPOSTで渡しております。

文字が認識できないというのは、バイナリデータに\0が在った場合切り詰められてしまうことです。
$ret=$_POST['ret']; ←この時点で取得するときには勝手に切り詰めてくれます(涙

91 :nobodyさん:05/03/17 13:54:02 ID:???
レスありがとうございます。
$HTTP_RAW_POST_DATAをググったら解決できました♪
//うちの鯖では$HTTP_RAW_POST_DATAが使えませんでしたので
//ググって出てきたメーリングリストから転載します。
$buffer = "";
$stdin = fopen( "php://input", "r" );
if( !$stdin ){ die( "stdin open error!!" ); }
while( !feof( $stdin ) )
{
$buffer .= fgets( $stdin, 10000 );
}
fclose( $stdin );

これでPOSTデータを取得できました。
但し、もともと"ret=画像バイナリ"で送信していたので、
retをはずして"画像バイナリ"のみで送信しました。
折角、ハッシュになっていて便利なのですが、この際諦めます。

92 :79:05/03/17 14:12:39 ID:???
phpでデータたくさんのデータ保存するならどっちがいいのか知りたかったんですが
webprogの質問のほういきますね。

93 :nobodyさん:05/03/17 15:41:55 ID:???
>>91
Content-typeをapplication/octet-streamとかにすればalways_populate_raw_post_dataの設定にかかわらず
$HTTP_RAW_POST_DATAにPOSTデータがそのまま残ると思う。

94 :nobodyさん:05/03/17 15:59:35 ID:???
>>90
i-appli側も作ってるならi-appliのほうでmaltipart/form-dataの形式にして送ればバイナリデータもちゃんと遅れるでしょう。
application/x-www-form-urlencodedは文字通りurlエンコードして送るものですから

95 :nobodyさん:05/03/17 17:09:51 ID:???
自分とこのBlogっぽいスクリプトで、
http://foo.bar/index.php/20050401
って感じでindex.phpに日付っぽい文字列渡してるんですけど、
Hatenaみたく
http://foo.var/20050401
って感じで日付をスクリプトに渡すにはどうすればいいでしょうか。
やっぱApache側でなんとかしないとダメ?


96 :nobodyさん:05/03/17 17:40:17 ID:???
>>95
PHP以前の問題でapacheがどうするかつー話。
上のURLが使えるつーのもapache側でなんとかしてるよ。
自分が管理してる鯖なら「なんとかした」時のドキュメントを再度確認。
他人が管理してる鯖ならその人に相談してみれ

97 :nobodyさん:05/03/17 18:34:04 ID:???
>>96
うへぇ。やっぱApache側ですか。
> 自分が管理してる鯖なら「なんとかした」時のドキュメントを再度確認。
Apache側の設定はデフォのままです。
上のURLみたいにやってるサイト見て、試しに自分とこのでも似たようなURL入れて飛んでみたらありゃアクセス出来んじゃんって。
じゃあ$_SERVER['PHP_SELF']から文字列取得すりゃどうにでもなるじゃん、って感じで適当に書いただけなんで。

んー、mod_rewriteあたりでなんとかなりますかね・・調べてみます。


98 :nobodyさん:05/03/17 19:12:45 ID:???
文字列の比較について質問させてください。
パスワードの比較をしたいのですが
半角の英数のみの文字列を比較する場合
== === strcmp などどれがよいのでしょう?

99 :98:05/03/17 19:13:20 ID:???
==は余計でしたね。

100 :nobodyさん:05/03/18 01:16:38 ID:???
自分でサーバ動かして、ドキュメントルートフォルダ以下にhoge.phpファイルを置いた場合と、
ホスティングのレンタルサーバで、自分のディレクトリ以下にhoge.phpファイルを置いた場合に、

同階層のinc.phpを読み込むには、
require_once($_SERVER['DOCUMENT_ROOT'].'/inc.php');
これで行けてるんですが、

自分でサーバ動かして、ユーザ/public_html/以下のディレクトリにhoge.phpを置いた場合は、
パス的に違うところ(ドキュメントルートの方)を見に行ってしまってinc.phpが無いという
エラーになってしまいます。

当たり前と言えば当たり前な気がするんですが、こういう場合、今いる位置を取得するような記述に変えるものでしょうか?
(そんなものがあれば、ですが。)

もしくは、apacheの設定でどうにかする問題でしょうか?

101 :nobodyさん:05/03/18 01:20:05 ID:???
>>100
__FILE__

102 :nobodyさん:05/03/18 02:04:42 ID:???
同階層なら./inc.phpでよいんでないの?

103 :100:05/03/18 02:11:52 ID:???
>>101
ちょっと調べてみます。使い方がよくわからんので。

>>102
まじすか?じゃあ元から
require_once('./inc.php');
ってやっとけば良かったのかなぁ。後でやってみます。

104 :nobodyさん:05/03/18 13:36:47 ID:???
ごめん自信ないけど
require_once('inc.php');
はだめなのかな

105 :nobodyさん:05/03/18 15:45:07 ID:???
imagefttextについてですが、
携帯サイトで画像に文字を入れるサイトを作っています。
imagefttext ($im, $size, $angle, $x, $y, $col, $font_file, $text)
を全て変数にしてformを使った選択式にしています。
PCからアクセスするとすんなり行き、画像に文字が入って表示されます。サイズ、位置、色、フォントの種類も全てOKです。
しかし携帯(auのA3012CA)からアクセスすると画像は表示されますが、文字が描画されていません。
これは無理なんでしょうか?

106 :nobodyさん:05/03/18 16:08:50 ID:???
>>105
ここで聞く前に色々出来る事があるだろう?
$textに文字列がちゃんと入ってるのかとかさぁ。
携帯の時の画像をファイルに落としてそれをPCで確認してみるとかさぁ。

107 :nobodyさん:05/03/18 17:02:27 ID:???
ツワ

108 :nobodyさん:05/03/18 17:37:43 ID:???
PHP4.3.10とMySQL3.23.49での質問です。

+--+--------+-----+------+
| id | leader  | sub_l | sub_l2 |
+--+--------+-----+------+
| 01 | 山田   | 本田 | 上田  |
| 02 | 上田   | 藤本 | 山本  |
| 03 | 山田   | 藤本 | 田中  |
+--+--------+-----+------+
こんなテーブルで、各列の名前をひとつの配列に格納したいのですが、
つまづいてしまったので質問させてください。

$result = mysql_query (SELECT leader FROM table, $conn);
$leader = mysql_fetch_array ($result);
これだと、
Array( [0] => 山田 )
Array( [0] => 上田 )
Array( [0] => 山田 )
の様に、行ごとの配列になってしまいます。

これを、Array ([0] =>山田 [1] => 上田 [3] => 山田)
の様にしたいのですが、どうすれば良いでしょうか?

109 :nobodyさん:05/03/18 17:52:34 ID:???
>>108
while ($row = mysql_fetch_row($result)) {
$leader[] = $row[0];
}
mysql_resultでもいいけど。
mysql_fetch_array()した後で新しい配列を作るのもありかな。

110 :108:05/03/18 18:00:14 ID:???
>109
うおー!できました!
whileが浮かばなかったです。。。

こんな短時間に答えてもらってめっちゃ嬉しいっす。
dクス!

111 :nobodyさん:05/03/18 18:13:55 ID:???
ううう、基本だと思うk度

112 :nobodyさん:05/03/18 18:54:53 ID:???
スミマセンorz

113 :100:05/03/18 21:41:06 ID:???
すみません、また質問なんですが、
今いるページ(動的)を表示させるにはどうしたもんでしょうか?
$_SERVER['PHP_SELF'];
や、
$_SERVER['PATH_TRANSLATED'];
だと、そのファイル自体が出てしまいますが、
http://xxx.com/hoge.php?huga=1&hage=2とか、
.htaccessでちょっと違う渡し方(http://xxx.com/1/2/みたいな感じ)をしてたりするので、
つまりは、アドレスバーに出ているパスがわかる手法なんてありませんですか?

114 :100:05/03/18 21:42:08 ID:???
うわ↑実在だった…宣伝じゃないス

115 :nobodyさん:05/03/18 22:01:03 ID:???
あ、REQUEST_URIってので出来そうな気がしました。

116 :nobodyさん:05/03/18 22:36:14 ID:???
>>100
ここはお前のチラシの裏じゃねぇ。

117 :nobodyさん:05/03/18 22:42:36 ID:???
>>739
最後ギガワロスwwwwwwwwwwwwwwwww
義兄さんいいやつカッコイイwwwwwwwwww
↓の1とは大違いだwwwwwww
http://ex10.2ch.net/test/read.cgi/news4vip/1111083418/


118 :nobodyさん:05/03/19 17:26:13 ID:???
>>116
お前のレスは、くだらねぇ質問ですら無いな。
チラシやろうか?

119 :nobodyさん:05/03/19 20:15:14 ID:+syTbEnI
質問です。
PHPスクリプトからパスワード入力が必要なページにアクセスするのはどうやればいいんでしょうか?

[パスワード認証ページ]
pass.php ($_POST['pass']に対応した入力ボックスがある)

120 :nobodyさん:05/03/19 20:18:19 ID:???
>>119
cURL使うのが楽でいいんじゃないか。
POSTで色々投げられるし。

121 :119:05/03/19 20:29:22 ID:???
>>120
レスどうも!
CURLというのは「libcurl」というライブラリですよね?
ちょっと調べてみます。

122 :119:05/03/19 21:31:07 ID:+syTbEnI
>>120
教えて頂いたcURLを使用して以下の様なコードを作成して実行したのですが
「ERROR!」が表示されてしまい、どうも上手く行きません…
スクリプトで指定したパスワードをコピー&ペーストで手動でボックスに入力して
ログインすると問題ないので、パスワードは間違ってないはずなのですが…
どこが悪いのでしょう??

-------------------------------
[access.php]
$ch = curl_init();

curl_setopt($ch, CURLOPT_URL, 'http://www.******.***.login.php');
curl_setopt($ch, CURLOPT_POST, 'test_pass');

curl_exec($ch);

curl_close($ch);
-------------------------------
[login.php]

if($_POST['password'] == 'test_pass'){
print("OK!\n");
}else{
print("ERROR!\n");
}
-------------------------------

123 :nobodyさん:05/03/19 21:42:05 ID:???
>>122
curlは使ったこと無いからぱっと見の印象だけど、
passwordという文字がどこにも無いのにそれがPOSTで割り当てられるとは到底思えない。
そう思って本家のマニュアルを見てみれば、user notesにサンプルまであったよ。

124 :119:05/03/19 22:04:12 ID:???
>>123
そうですよね… アホなコード書いてしまってた…
以下で問題なくアクセス出来る様になりました。
どうもありがとうございました!

$ch = curl_init();

curl_setopt($ch, CURLOPT_URL, 'http://www.******.***.login.php');
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, 'password=test_pass');

curl_exec($ch);

curl_close($ch);

125 :nobodyさん:05/03/20 00:17:39 ID:Agj+ehs1
関数から配列をreturnする時って
ポインタのみ返される(=配列が巨大になってもコストは変わらない)
のでしょうか?
それともまるまるコピーされるのでしょうか?

126 :nobodyさん:05/03/20 01:09:28 ID:???
ポインタとは少し違いますが参照渡しできますよ

127 :nobodyさん:05/03/20 01:42:16 ID:HpwY0q6P
趣味の範囲でlinux自作鯖を立て、perlをwebで、あるいは、
鯖管理のスクリプトとして使ってました。
このたびphpを勉強しようと思うのですが、お勧めの書籍などあれば
教えていただきたいのですが。

128 :nobodyさん:05/03/20 01:53:14 ID:???
PHP は公式マニュアルが使えるから、基本が分かってれば特に本を読む必要は無いと思う。
不安になったら既存のスクリプトを読むとか。
あとは何がしたいかによるけど。

129 :nobodyさん:05/03/20 01:58:29 ID:HpwY0q6P
そうですか。ありがとうございます。

130 :nobodyさん:05/03/20 02:17:44 ID:???
>>127
なんだったら、こっちで訊いて
PHP関連の書籍(但しPHP出版系お断り)
http://pc5.2ch.net/test/read.cgi/php/985315574/893-
バカが沸いて最後変になってるけど。

131 :nobodyさん:05/03/20 04:41:31 ID:06hYr4Ff
実行結果を別の.htmlファイルに書き出そうとしています。
書き出すのは上手くいったのですが、
もっとスマートな書き方があるかもしれないと思い、質問です。

自身のファイルに書き出す場合なら
echo = 'hoge';
echo = 'hage';
のところを、一番最初に $kakikomi = ""; とした上で
$kakikomi .= "hoge";
$kakikomi .= "hage";
と$kakikomiに追記を繰り返し、最後に
fputs ( "test.html", $kakikomi );
で出力しています。

変数に追記していく点が、どうかなぁと思うのですが
いかがでしょうか???

132 :nobodyさん:05/03/20 05:54:38 ID:???
>>131
そんなんで良いんでね。
行間がどれ位離れてるのか隣接してるの判らんし。
他には隣接してるならヒアドキュメント使うとか、
array_push()使って溜めて、最後にjoin()して書き出しとか。


133 :131:05/03/20 10:11:25 ID:otGG2Eg1
>132
ありがとう。
ヒアドキュメントは使えるところには使ってみました。
なるほど、array_pushも使えますね。。。メモメモ

134 :nobodyさん:05/03/20 11:35:21 ID:???
掲示板を作っています。htmlを無効にしようとして
htmlspecialchars()を使ったのですが\nと\rを<br>に置き換えているためか
改行されず、そのまま<br>と表示されてしまいます。
うまく表示するためにはどうしたらよいのでしょうか?

135 :nobodyさん:05/03/20 12:33:41 ID:???
え、<br>に置き換えてるなら

136 :nobodyさん:05/03/20 12:54:44 ID:???
// 改行処理
$comment = str_replace("\r\n", "\r", $post['comment']);
$comment = str_replace("\r", "\n", $comment);//改行文字統一
$comment = preg_replace("/\n{2,}/", "\n\n", $comment);//2行以上の改行を2行に
if (substr_count($comment, "\n") > MAXBR) error("えら!");
$comment = eregi_replace("&([0-9a-z#]+);", "&\\1;", $comment);
$post['comment'] = str_replace("\n", "<br>", $comment);//\nをbrに


137 :nobodyさん:05/03/20 13:28:23 ID:???
>>133
array_push()は、$array[]='hoge';でも等価。
あと結果用の自前のクラス作って、そこにpushとwriteってメソッド付けるとか。
(関数でもいいけど。巷のログ出力用のクラスを参考に)

138 :nobodyさん:05/03/20 17:08:29 ID:MmiCb60C
PHPコンパイル時のオプション指定の説明をまとめて書いてあるところって、
どこかにありますか?

139 :papupapu:05/03/20 17:11:22 ID:???
PHP5の勉強をしたいのですが、何から勉強したらいいのでしょうか?アドバイスお願いします。

140 :nobodyさん:05/03/20 17:25:26 ID:???
>>138
./configure --help

>>139
マニュアル読んでサンプル動かす。

141 :nobodyさん:05/03/20 17:27:41 ID:???
>>139
具体的な目標を持つこと。

142 :nobodyさん:05/03/20 17:33:11 ID:???
>>138
PHPのマニュアル、喪前のHDDの中
./configure --help

143 :nobodyさん:05/03/20 17:34:03 ID:???
やっぱ被るか...

144 :nobodyさん:05/03/20 21:32:17 ID:???
教えてください。
イメージディレクトリからファイル名を指定して探し出しURLとして表示させたいのです。

img.phpで以下を保存し、ファイル名の指定はimg.php?aaa.jpg等としたいです。
このときのOOOOをどう表現すればいいのでしょうか?
$dir = "./img/";
$file = strstr(OOOO, '?');
glob("$dir/$file");

145 :nobodyさん:05/03/20 22:29:13 ID:???
>>144
img.php?file=aaa.jpg

$file = $_GET['file'];

146 :nobodyさん:05/03/20 23:07:33 ID:???
>>145
ちゃんとGETをちゃんとチャックしないとものすげぇ怖いなそれ

147 :nobodyさん:05/03/20 23:29:17 ID:???
拾ったものを食べちゃいけません。
洗ってから食べなさい。

148 :nobodyさん:05/03/20 23:45:27 ID:???
$file=$_SERVER['argv'][0];

149 :nobodyさん:05/03/20 23:58:57 ID:???
>>146
>145を見てチェックせずに使うようなやつは死ねばいいんだ。

150 :149:05/03/20 23:59:40 ID:???
あ、死ぬのはサーバね。

151 :nobodyさん:05/03/21 00:13:04 ID:???
>>150
サーバモジュールPHPで共有サーバ運営してても
流石にそこまで駄目駄目な状態な鯖は無い...と思いたい。

152 :nobodyさん:05/03/21 01:46:48 ID:???
PHPでIP規制をしたいのですが
eregで判別するのと「.」をトークンとして分割しその値を==で判別するのでは
どちらが効率が良いですか?

153 :nobodyさん:05/03/21 01:55:46 ID:???
>>152
「.」区切りを整数になおす関数もあるぞ。んで、サブネット指定できる。
その辺をうまくやりくりしてくれる関数は前に誰かに質問されて、
こっちかホンスレに書いた。DAT落ちしててみれないかもだけど。

あと、逆引きできるならリモートホストの後方一致って手もある。

154 :153:2005/03/21(月) 04:13:25 ID:MBpHY0ek
すみません。へっぽこデザのものです。
WebProg板は不慣れなのでお手柔らかにお願い申し上げます。

PHPとHTML混在の為、文字コードをEUCにして
すべてのページを作成していますが、
内部ページとボタンのポップアップメニューが
文字化けがでたりでなかったり、ひどいです。

DreamWeaverテンプレートをEUCで作成して、
そこから全ページEUC(.htmlのページも.phpのページも)
で読み出して作成しています。これが文字化けの原因なのでしょうか。
それともPHP自体テンプレートから引き出して作らず個別で製作したほうが良いのでしょうか?
もちろんPHPが画面上にPrintする部分は編集可能領域にしてあります。

それとも、ふと思ったのですが、
テンプレートもそこから新規作成するページもShift-JISで作成し、
挿入>PHP>PHPインクルード+PHPページエンコーディングで

<?php include(mb_http_input("EUC-JP"); mb_http_output("EUC-JP");); ?>

といれればそれで良いのでしょうか。

DWの機能も内容にはいっていて
板違いは承知ですが、質問させてもらいました。
これだからデザは、、などといわれるのは覚悟の上ですが、
知識ございますかた、ご教授ください。宜しくお願い申し上げます。


155 :nobodyさん:2005/03/21(月) 04:26:03 ID:???
>>154
それでオイラはどっちのスレで答えればいいのかね ゚・(ノД`)・゚・
ttp://pc5.2ch.net/test/read.cgi/hp/1106804437/713
DWのEUC対応が不完全なせいじゃないかなぁ。
バージョン上がる度にEUCの問題を起こしてる気が。

HTTP入出力をEUC、スクリプトをSJIS(HTMLに埋め込みっぽいから)にすると
トラブルの原因にもなるので、EUCに統一した方がよいかと。
で、DWでSJISで作って 出来上がったファイル(s)をなんらかのツールで
EUCに変換するのが楽じゃないかなぁ。

156 :153:2005/03/21(月) 05:20:19 ID:???
>>154
人の番号名乗ってんじゃねぇヽ(`Д´)ノウワァン

157 :154:2005/03/21(月) 05:25:47 ID:???
>>155
おっしゃる通りです。
マルチです。申し訳ありません。どちらに書いたらいいのか判断がつかなかったので
ご容赦ください。

(1)同一サイト内で文字コードを変える(.htmlはShift-Jis、.phpはEUC)ということは
ブラウザに迷わせてしまうので避けるべきですよね?

(2)それと.phpのページに対してDWのテンプレート機能は使用しても問題ないのでしょうか

とりあえずご教示いただいた通り、S-JISにて作成して、秀かMiにて、
文字コード変換を手動ですることにします。

>>153
ゴメソ

158 :nobodyさん:2005/03/21(月) 05:47:40 ID:???
>>157
マルチはやめろ。
判断つかないならサイコロでも何でもいいから1つに決めて質問しろ。
不適切ならきっと誘導してくれる。

159 :154:2005/03/21(月) 06:28:46 ID:???
すみません。マルチ謝罪して誘導してきました。
http://pc5.2ch.net/test/read.cgi/hp/1106804437/715

みなさんレスいただきましてありがとうございます。
おそらく期末前で徹夜で仕事しながら私の質問をみていただいている方も
大勢いらっしゃるはず。反省しております。

再度整理して質問させてください。

(1)同一サイト内でページごとに文字コードを変える(.htmlはShift-Jis、.phpはEUC)ということは
ブラウザに迷わせてしまうので絶対避けるべきでしょうか?

(2).php等のサーバーサイドの動的コンテンツに対してDWのHTMLテンプレート機能は使用しても問題ないのでしょうか

以上です。宜しくお願い致します。

160 :nobodyさん:2005/03/21(月) 06:40:40 ID:???
>159
1しかわからんけど。
ちゃんと文字コードを指定してたら問題ないんじゃないか?
フレームとかincludeさせちゃうとダメだろうけど。

161 :nobodyさん:2005/03/21(月) 11:31:46 ID:Xj0YOktX
ユーザーにアップロードさせるディレクトリではphpを無効にしたいんですけど、
拡張子を.phpにしてアップさせなければいいのではというの以外に、
.htaccessなんかで設定できるディレクティブはありませんか?

162 :nobodyさん:2005/03/21(月) 11:42:47 ID:???
>>161
AddType

163 :144:2005/03/21(月) 12:37:17 ID:???
>>145-149
ありがとうございました。
できました!!


164 :161:2005/03/21(月) 12:55:21 ID:???
>>162
ありがとう。
.htaccessに
AddType text/html .php
だけ書き込んだら、できたよ。
最初、internal server errorが出たんで、???って思ったけど、htttpd.confで
AllowOverride Fileinfo
を付け加えたよ。

ちなみに、php addtypeでググったら
ttp://nanakorobiyaoki.at.infoseek.co.jp/etc/phpdeny.html
が出て来た。検索しづらいなーって思って↑を作ってくれたみたいだけど、
162に教わった後だからあんまり意味なかった。

165 :nobodyさん:2005/03/21(月) 13:04:31 ID:???
>>153
さんくす。参考になりました。

リンクをクリックしたかどうかを判別する何かいい方法はありませんか?
携帯向けだからリファラでは判別できないし
やはりユニークIDを付けてリンク先に飛ばす前にファイルに書き込むしかないでしょうか?

166 :166:2005/03/21(月) 13:08:34 ID:???
自分のアップロード用のディレクトリは
Options -ExecCGI
AddType text/plain .php .html .cgi .css
IEだと意味無い部分もあるけど自分はIE使ってないので変なブラクラ踏まされることも無い

167 :nobodyさん:2005/03/21(月) 14:14:44 ID:???
>>159
(1) ちゃんとhttpdの設定でHTTPヘッダに適正な文字コードの出力がなされ、
かつHTMLドキュメントのMETAの方でも適正な文字コードが指定されてれば
まず問題はないので絶対とは思わない。しかしブラウザによってはPOSTする
文字コードが混乱して変なことになったことがあるので、
余り混在させるべきではないと経験的に考える。
(2) DWを知らんので回答できず

168 :nobodyさん:2005/03/21(月) 14:24:10 ID:???
>>165
素直にセッション使ってSIDをURLに付加すればいいと思う。

169 :nobodyさん:2005/03/21(月) 18:49:50 ID:???
echo ltrim('web_content/text','web_con');
echo ltrim('web_content/text','web_cont');

上と下では結果が結構違うんだけども・・
何故に?

あ、やりたいことは親ディレクトリ名を切り取りたいだけです。。orz

170 :nobodyさん:2005/03/21(月) 19:05:27 ID:???
>>169
どうおかしいと感じたのか書いてないので想像するしかないですが、
ltrimの2つ目のパラメータの意味を勘違いしているものと思われます。
ltrimの2つ目のパラメータは「削除したい全ての文字をリスト」したものです。(not 文字列)

1つ目のltrimは、8文字目のtでパラメータに無い文字を発見するので、それ以降の文字が返されます。
2つ目のltrimは、12文字目の/でパラメータに無い文字を発見するので、それ以降の文字が返されます。
目的にそぐわない関数だと思われます。


171 :nobodyさん:2005/03/21(月) 19:27:49 ID:???
>>169
指定するパラメータは「文字列」でなくて「文字リストの列」なんだが理解してる?

172 :nobodyさん:2005/03/21(月) 19:35:59 ID:???
トリミングをそういうふうに使うのもめずらしい

173 :nobodyさん:2005/03/21(月) 20:59:31 ID:???
あー、なるほど。本に
ltrim($xxx, "-");
って載ってるから同じような物かなーと思ったけど、
第2パラメータの文字列が配列として1文字ずつ比較(?)されてたから、
第1パラメータのみに存在する文字が出た時にそこから後ろが抽出された訳・・かな?

>>170 (なんかカコイイ。。Thanks!)
>>171
>>172
ありがとうございました。
と、言うわけで質問します。

カレントディレクトリ名を取得する関数などはあるのでしょうか?
フルパスではなくて、ディレクトリ名です。
www.xxx/php/index.htm の場合、 php とディレクトリ名を取得したい。

174 :nobodyさん:2005/03/21(月) 21:04:01 ID:???
PHP5ってのがあるけど
これってPHP4のスクリプトは書き換えないと使えないの?

175 :nobodyさん:2005/03/21(月) 21:39:18 ID:???
>>173
$path = "www.xxx/php/index.htm";
echo basename(dirname($path));


176 :131:2005/03/21(月) 23:25:37 ID:???
>137
亀レスですが、ご丁寧にありがとう。
まだPHPを触り始めて1週間とかなので、
非常に参考になります!

177 :nobodyさん:2005/03/22(火) 18:29:04 ID:LgrnIX4+
前スレ636です。
ログファイルに<!--- --->で囲まれた部分を複数出力する方法を
お尋ねしたところ
$reg = "/<!--- (.+?) --->(.+?)<!--- \/\\1 --->/";
preg_match_all($reg, $RetrieveFile, $DataPrint);
と御教授いただいたのですがechoの書き方がわからず参ってます。
echo $DataPrintと書いてもecho $DataPrint[0とか1とか2とか]書いても
全てArrayになるのですが、$regの2番目の(.+?)に該当する部分を
出力するにはどうしたらいいのでしょうか?

178 :軟式PHP:2005/03/22(火) 18:53:07 ID:???
とりあえずprint_rなりvar_dumpなりしてみて自分で考えれ。

179 :nobodyさん:2005/03/22(火) 22:34:54 ID:???
>>177
つミ
 print_r($DataPrint);


180 :nobodyさん:2005/03/22(火) 23:19:38 ID:???
すまん、自身の変数名を文字列として取得する方法(関数)ってあったけ?

181 :nobodyさん:2005/03/22(火) 23:23:26 ID:???
string getMyName(string varname) だったとして、どうやってその関数を使うつもりなんだろう。。

182 :nobodyさん:2005/03/23(水) 21:06:12 ID:???
匿名関数じゃ駄目なのかな

183 :nobodyさん:2005/03/24(木) 12:27:03 ID:uQ7Kwr2a
連想配列って英語で何ていいますか。

184 :nobodyさん:2005/03/24(木) 12:50:25 ID:???
associative array

185 :nobodyさん:2005/03/24(木) 16:11:55 ID:cbGEPWrc
http://hoge.com/?foo=1&bar=2&null=0
といったように複数の条件を指定して、その値に従ってページを遷移するPHPスクリプトはご存じでしょうか?
探したのですが、レッツPHPのダウンロードカウンタは1つの条件しか持てないようなので・・
http://php.s3.to/data/#dl

186 :nobodyさん:2005/03/24(木) 18:50:34 ID:???
>>185
詳しく

187 :nobodyさん:2005/03/24(木) 19:18:33 ID:???
>>185
フレームワーク使ったら?

188 :nobodyさん:2005/03/24(木) 19:58:00 ID:???
>>185
ページを遷移する、という意味が分からないんだが…
こんなのが欲しいんか?

<?php
$foo = ceil($_GET['foo']);
$bar = ceil($_GET['bar']);
$null = ceil($_GET['null']);

//リダイレクトするURL
$urls[0][0][0] = 'http://www.google.co.jp/';
$urls[0][0][1] = 'http://www.yahoo.co.jp/';
$urls[1][1][0] = 'http://www.goo.ne.jp/';



header('Location: '.$urls[$foo][$bar][$null]);
?>

189 :185:2005/03/24(木) 20:42:36 ID:???
>>188
そういう感じです。
何処を見ていいかわからなかったもので検索後もいろいろ試してみたんですが・・
やってみます、ありがとうございました。

190 :185:2005/03/24(木) 20:50:30 ID:???
一応書いておきますけど、下のようにソフト名・OS・バージョンにより、ダウンロードページに移動させるスクリプトの予定です。
http://hoge.com/?product=foo&version=1.2&os=mac

191 :nobodyさん:2005/03/24(木) 21:36:58 ID:???
>190
それリダイレクトなんかじゃなく
ちゃんとデータベース作ってやった方がいいですよ

192 :nobodyさん:2005/03/25(金) 01:01:55 ID:???
>>191
何言ってんだお前

193 :nobodyさん:2005/03/25(金) 03:25:56 ID:EQZt/eu0
popenを使ったPHPスクリプトにチャレンジしてます。
以下のようなスクリプトをシェル上で実行すると ghijk がちゃんと
出力されるのですがweb経由でスクリプトにアクセスすると何も表示されません。
どうすればwebでも読めるようになりますか?

<?php

$data = "abcdef\nghijk\nlmnopqr";

$fp = popen("/usr/bin/grep 'i'", "w");
fputs($fp, $data);
pclose($fp);

?>


194 :nobodyさん:2005/03/25(金) 03:55:14 ID:???
>>193
環境。

195 :193:2005/03/25(金) 07:21:03 ID:???
>>194
失礼しました。環境は
OS: FreeBSD、PHPバージョン: 4.3.10
です。

196 :nobodyさん:2005/03/25(金) 14:33:31 ID:???
変数に評価式を入れて
それをifに渡してやることって可能ですか?

以下のようなイメージです。

$f = 'is_string($str) && strlen($str) > 0';
if($f){
  // 文字列
}else{
  // それ以外
}

197 :nobodyさん:2005/03/25(金) 14:48:19 ID:???
>>196
eval使えばできないことは無いと思うが用途がわからん
if(式)じゃなんでだめなの

198 :nobodyさん:2005/03/25(金) 15:13:24 ID:???
>>197
ユーザに評価式を入力してもらいたかったんです。
evalで出来そうですね。

199 :nobodyさん:2005/03/25(金) 15:30:26 ID:???
そ、それはセキュリティ的に恐ろしいぞ。

200 :nobodyさん:2005/03/25(金) 15:42:25 ID:???
>>195
そういう意味じゃなくて、194はコンソールアクセス(成功した方)と
同等の環境(権限とかパスとか)をWebアクセスにも与えろってことだと思うよ。

201 :nobodyさん:2005/03/25(金) 15:55:13 ID:???
>>198
入力されたものをevalするのはやめろ
readfile(\"/etc/passwd\");
とか入力されるぞ

202 :nobodyさん:2005/03/25(金) 16:06:32 ID:???
>>201
今時シャドーだけどな

203 :nobodyさん:2005/03/25(金) 16:21:45 ID:???
>>199,201
どうもです。確かにそうですね。

204 :193:2005/03/25(金) 19:31:21 ID:???
>>200
えっと、grepのパスも/usr/bin/grepとフルパスで指定しているし
grepのパーミッションも-r-xr-xr-xの状態ですけど、これ以外にも
環境を合わせないといけないところがあるということでしょうか?

205 :nobodyさん:2005/03/25(金) 19:38:48 ID:???
>>193
何も表示されないとか意味の無い情報じゃなくて、
実際はどんなエラーが出てるの?

206 :193:2005/03/25(金) 20:22:33 ID:???
>>205
とりあえずerror_logには何も残ってません。
ブラウザー上にはエラーさえも出ません。
念のためtelnetでwebサーバーにつなげてみましたが以下の通り
ヘッダ以下には何も書いてありませんでした。
$ telnet www 80
Trying xxx.xxx.xxx.xxx...
Connected to www.
Escape character is '^]'.
GET /~myuser/test.php HTTP/1.0

HTTP/1.1 200 OK
Date: Fri, 25 Mar 2005 11:16:58 GMT
Server: Apache
X-Powered-By: PHP/4.3.10
Content-Length: 0
Connection: close
Content-Type: text/html

Connection closed by foreign host.
$

207 :nobodyさん:2005/03/25(金) 20:55:19 ID:???
>>206
error_logには何も残さず、HTTPでも何も吐かないように
設定していると通常はそうなります。

208 :193:2005/03/25(金) 21:11:43 ID:???
>>207
なるほど。そういうものだったんですか。
サーバー管理者ではないのでphp.iniとかの書き換えはできませんが
error_reporting(E_ALL);
を付け加えてやってみました。error_reporting関数を使っても
エラーは何も出てこないですねー…

209 :nobodyさん:2005/03/25(金) 21:36:57 ID:???
>>208
display_errorsやほかその他エラー関連の設定は?
エラー関連の設定はほぼ全部ini_setで変更できる

210 :nobodyさん:2005/03/25(金) 23:41:48 ID:???
/usr/bin/grepなんて家にはないがSELinuxが絡んでるかもね

211 :nobodyさん:2005/03/26(土) 02:13:41 ID:???
>>193
popenで開いて、開いたプロセスに$dataを入力として渡してるが、
プロセスからの出力は、拾ってないぞ?
popenは一方向のパイプしか扱えないから、
proc_openをつかえ。
んで、fputsで$data渡した後、fgetsなりなんなりして結果を取得してくれ。
proc_openの使い方はpopenとは異なるからマニュアル嫁よ。

212 :193:2005/03/26(土) 06:11:40 ID:???
>>209
ini_setで変更できるの初めて知りました。
とりあえず以下を追加しましたがやはり何もエラーは残りませんでした。
ini_set("display_errors", "on");
ini_set("log_errors", "on");
ini_set("error_log", "log.txt");

213 :193:2005/03/26(土) 06:12:06 ID:???
>>211
proc_openのマニュアルttp://php.s3.to/man/function.proc-open.html
を読みました。よくは理解できなかったのでサンプルを参考に作ってみました。
やはりシェル上では動きますがweb上では何も表示されませんでした。
<?php

$data = "abcdef\nghijk\nlmnopqr";

$descriptorspec = array(
 0 => array("pipe", "r"), // stdin is a pipe that the child will read from
 1 => array("pipe", "w"), // stdout is a pipe that the child will write to
 2 => array("file", "/tmp/error-output.txt", "a") // stderr is a file to write to
);

$process = proc_open("/usr/bin/grep 'i'", $descriptorspec, $pipes);
if (is_resource($process)) {
 fputs($pipes[0], $data);
 fclose($pipes[0]);

 while(!feof($pipes[1])) {
  echo fgets($pipes[1], 1024);
 }
 fclose($pipes[1]);
 proc_close($process);
}

?>


214 :nobodyさん:2005/03/27(日) 12:04:17 ID:VfQV7VpE
ホームディレクトリ以下の特定ディレクトリ内でのみ
phpを使えるように設定しているのですが、どうも期待通りに動いてくれません。

/home/*(username)/public_html/php以下でのみphpを動かしたい
open_basedir = php
user_dir = public_html
とやってみたのですがダメでした。

どの辺の設定をいじればいいのでしょうか?

215 :nobodyさん:2005/03/27(日) 12:50:21 ID:???
>>214
・「期待通りに動かない」とはどうなるのか。
・そのopen_basedirとかは何の設定なのか。

216 :nobodyさん:2005/03/27(日) 17:08:31 ID:???
>>214
それはPHPじゃなくてhttpサーバの仕事だよ
Apacheなら.htaccessで設定できるから該当のスレにどうぞ

217 :nobodyさん:2005/03/27(日) 18:30:34 ID:o5yBDsfR
例えば、下記のようなコード時に、

$a = new TestClass();
$b = &$a;

$aと$bが同じものかどうか(内容が同じというわけではなく、
指し示すメモリの場所が同じ)を検知したいのですが、
なにか良い方法はあるのでしょうか?

どうかご教示下さい。お願いします。


218 :nobodyさん:2005/03/27(日) 18:40:49 ID:???
>>217
PHPでは不可能だったような希ガス

219 :nobodyさん:2005/03/27(日) 18:51:03 ID:???
>>217
メモリのマッピングをになっているリファレステーブルで
同じ値が割り当てられていることをもって、指し示す
メモリの場所が同じと見なすしかないと思う。

それとも「同じ値が割り当てられている」ことを調べたいのかな?

220 :nobodyさん:2005/03/27(日) 19:16:43 ID:o5yBDsfR
>218,219
やはり無理っぽいですね・・
どうもありがとうございます。

221 :nobodyさん:2005/03/27(日) 22:18:46 ID:???
>>219
>それとも「同じ値が割り当てられている」ことを調べたいのかな?

どうかご教示ください。お願いします

222 :nobodyさん:2005/03/27(日) 22:49:37 ID:???
自動で他人のサイトへのアクセス数を増加させるプログラムは可能でしょうか?
可能だとしたらどうやったらいいのかまったくわかりません。
どなたかご教授よろしくお願いします。

223 :nobodyさん:2005/03/27(日) 23:26:06 ID:???
>>222
意味不明。
田代砲?

224 :nobodyさん:2005/03/28(月) 00:50:15 ID:???
田代砲久し振りに聞いたw

サーチかなんかのランキング上げたいんジャマイカ?

225 :nobodyさん:2005/03/28(月) 01:31:41 ID:???
>>222
知ってても教えない。

226 :nobodyさん:2005/03/28(月) 07:35:35 ID:???
>>223>>224
そうです。でも田代砲まで強力じゃなくて。
10分間に1アクセスくらいでいいです。
PHPじゃなくてJavaScriptで作れるんですか?
PHPで簡単に作れないでしょうか?
作り方のヒントだけでも教えてください。お願いします。

227 :nobodyさん:2005/03/28(月) 12:02:19 ID:???
$dat = "
1
2
3
4
";

$dat = preg_replace("/1(.*)4/","",$dat);

結果が以下のようになりそうでならないのですがどうしてでしょうか?
1
4



228 :nobodyさん:2005/03/28(月) 12:11:23 ID:???
>>227
ヒント:
改行にマッチさせるためにはオプションが必要です


229 :nobodyさん:2005/03/28(月) 12:47:19 ID:???
preg_replace("/1(.*)4/m","",$dat)
preg_replace("/1(.*)4/m","",$dat,'m')でもダメでした^^;
洗濯物を干しながら考えてみます

230 :nobodyさん:2005/03/28(月) 12:52:21 ID:???
>>226
ヒント:「PC常時起動」「META」「リロード」

231 :nobodyさん:2005/03/28(月) 13:02:34 ID:???
>>226
バカ?
田代砲のパラメータを書き換えればいいだけだろ。

232 :227:2005/03/28(月) 13:26:01 ID:???
$dat = preg_replace("/\n/","",$dat);
$dat = preg_replace("/1(.*)4/m","\\1",$dat);
とすれば結果が23となるので改行が問題なのはわかるのですが/mをつけても
複数行にはマッチしないようです。複数行の解釈を間違えているのでしょうか?。


233 :nobodyさん:2005/03/28(月) 13:30:50 ID:???
>>232
.(ドット)を改行にマッチさせるのはsです
$dat = preg_replace("/1(.*)4/s","\n",$dat);

234 :232:2005/03/28(月) 13:37:54 ID:???
↑じゃ意味無いな
$dat = preg_replace("/1(.*)4/s","$1",$dat);

235 :227:2005/03/28(月) 13:43:42 ID:???
>>233
ありがとうございます


236 :nobodyさん:2005/03/28(月) 16:29:39 ID:AxvngZW7
設定ファイルのようなものを作ろうと思うのですが、
今まではクラス化されてないPHPコードべた書きのファイルを作り、
グローバル変数として使うというやり方をしていました。
しかしより洗練されたやり方をと思い、設定ファイル自体を
クラス化し、ゲッター(セッターは必要ないですよね)で値を取得
というやり方を考えました。

前者が駄目なやり方とは思いませんが、後者のやり方は一般的な
オブジェクト指向プログラミングにおいて正しいやり方でしょうか?
オブジェクト指向プログラミングにまだ慣れていないので変な質問かも
しれませんが指揮者のご意見をお聞かせいただければと思います。

237 :236:2005/03/28(月) 16:35:37 ID:???
イメージ的には以下のような感じを考えています。

class Config {
 var hoge;
 var fuga;

 // コンストラクタ
 // ここで値をセットするのでセッターはいらない?
 function Config() {
  hoge = "hoge";
  fuga = "fuga";
 }

 // ゲッター
 function getHoge() {
  return $this->hoge;
 }

 function getFuga() {
  return $this->fuga;
 }
}

238 :236:2005/03/28(月) 16:45:56 ID:???
コンストラクタの部分は$this->が抜けていました。
失礼しました。
ちなみに今回お聞きしたいのはどちらかというと小規模な開発
というよりも中規模・大規模開発を視野に入れた保守性重視の
オブジェクト指向ガチガチの開発の場合を想定しています。


239 :nobodyさん:2005/03/28(月) 17:24:23 ID:???
>>236
別に決まりは無いので好きなように作ればいいと思いますよ。
自分の場合は値の変わらない設定値は定数にしてます。

240 :nobodyさん:2005/03/28(月) 18:06:19 ID:???
>>238
だったらフレームワークを使え。

241 :nobodyさん:2005/03/28(月) 19:44:33 ID:???
テーブルに2次元配列にして10行10列位表示したいのですけど、
どのようなやり方になるのでしょうか?配列に慣れていないので
よくわからないのです。ご指導宜しくお願いします。

242 :nobodyさん:2005/03/28(月) 19:51:02 ID:???
>>241
配列に慣れてないのは構わないんだが、
それ以前に自分の伝えたいことを書き表すのに慣れてないような気が。

そこで指し示す"テーブル"とは具体的に何?

243 :nobodyさん:2005/03/28(月) 20:02:18 ID:???
>>242
具体的にはexcelのワークシートです。
(0.0)、(0.1)、(0.2)のように入れていきたいんです

244 :nobodyさん:2005/03/28(月) 20:26:42 ID:???
>>243
htmlのテーブルを使って素直に書くと、
<table>
<tr><td><?php echo $array_data[0][0]; ?></td><td><?php echo $array_data[0][1]; ?></td>〜</tr>
<tr> 〜</tr>

</table>
つー風にも書けるけど、それさえも分からんってことじゃないでしょ?
何に困ってるのかよく分わかんないよ。

245 :226:2005/03/28(月) 23:06:17 ID:???
田代砲ってどこにありますか?
探したけど見つかりませんでした。

246 :nobodyさん:2005/03/28(月) 23:11:38 ID:VOOnUpPo
PHPで.htmlファイルを出力させられる?
indexファイルがindex.htmlじゃないとダメで、
テンプレ部分とかいちいち書き直すの面倒なんです

247 :nobodyさん:2005/03/28(月) 23:21:42 ID:???
>>246
datファイルの出力もできますし、htmlファイルの出力もできます。

248 :nobodyさん:2005/03/29(火) 10:39:10 ID:???
ログファイルの一番上の1行だけ読む関数って無いのか?

249 :nobodyさん:2005/03/29(火) 11:40:58 ID:???
>>248
fopen
fgets
fclose
あーはん?

250 :248:2005/03/29(火) 11:50:32 ID:???
>>249
あんだーすとぅっど。dクス。

251 :nobodyさん:2005/03/29(火) 13:10:08 ID:???
>>243

>244とヘッダーにおっすおらエクセルよろしくな!って書けば終わりじゃね?

それ以外だとエクセル調べるしかないのでスレ違いだと思われ

252 :nobodyさん:2005/03/29(火) 13:31:54 ID:???
>>251
>おっすおらエクセルよろしくな!
いっちょやってみっか じゃないのか。

253 :nobodyさん:2005/03/29(火) 14:02:19 ID:fSc5qMir
フォームから受け取った文字列に含まれる全角スペースを
すべて取り除きたいのですが、下のようにしても取れてないようです。
どこが間違えてるんでしょうか?

$hoo=$_POST['hoge'];
$hoo=str_replace(" ","",$hoo);

254 :nobodyさん:2005/03/29(火) 14:56:39 ID:???
合ってるよ、文字コードの問題じゃないのかね。

255 :nobodyさん:2005/03/29(火) 17:06:13 ID:???
質問です。
当方、PHP 4.3.9 を先日インストールしました。

<?php

$name = $_SERVER["PHP_SELF"];
echo $name;

?>

と書いても何も表示されません。
スーパーグローバル変数がPHP 4.1.0 から使用できることは知っているのですが、
それ以外にphp.iniの設定などがあるのでしょうか?




256 :nobodyさん:2005/03/29(火) 17:22:55 ID:???
まずは
<?php
phpinfo();
?>

257 :nobodyさん:2005/03/29(火) 18:11:22 ID:???
>>255
サーバーがAn HTTPD だったりしないか?

258 :nobodyさん:2005/03/29(火) 18:42:20 ID:3cB8cobm
$array = array(
"a" => "10",
"b" => "20",
"c" => "30"
);

$pop = array(
"20",
"30"
);

という二つの配列があって、$arrayから、$popの値が同じデータを削除したいのですが
なんか上手い方法ないですか?

259 :258:2005/03/29(火) 19:01:41 ID:???
あ、ちなみに自分で考えた方法は
foreach($array as $key => $val){
$flag = 0;
foreach($pop as $del){
if($val == $del){
$flag = 1;
}
}
if($flag != 1){
$newArray[$key] = $val;
}
}
です。

260 :nobodyさん:2005/03/29(火) 19:10:51 ID:???
$array = array_diff($array, $pop);
じゃだめ?

261 :nobodyさん:2005/03/29(火) 19:23:44 ID:???
foreach($pop as $value){
print array_search($value,$array);
}
てのもありかと。

262 :261:2005/03/29(火) 19:25:18 ID:???
あ。重複を見つけたいんじゃなくて削除だったか。スマソ

263 :nobodyさん:2005/03/29(火) 21:47:23 ID:???
>>259
array_search を使ったら?

264 :nobodyさん:2005/03/30(水) 02:30:53 ID:???
foreach ループを途中で抜ける命令ってあったっけ?

265 :nobodyさん:2005/03/30(水) 02:48:37 ID:???
break;

266 :nobodyさん:2005/03/30(水) 02:52:54 ID:???
>>265
トン

267 :nobodyさん :2005/03/30(水) 03:58:20 ID:VK+XSbsa
携帯電話用の画像掲示板作りたいんだけど、これってqmailの設定と
やる必要あるの?

268 :nobodyさん:2005/03/30(水) 04:16:45 ID:???
>>267
qmailの設定変更ができない状況であれば、代替手段を考えればよい。
制約条件が多くなるほど使える手段が減り、最終的に実現不可能ということになる。

269 :nobodyさん:2005/03/30(水) 05:00:37 ID:???
>>267
いらね。つかなんでケータイとqmailが関連するのやら

270 :nobodyさん:2005/03/30(水) 08:03:08 ID:???
>>269
qmailである必要はないが、携帯で画像アップする方法に、
メールを使う以外、なにかあるなら言ってみろ。
ワカランチンが余計なことほざくな。タコ。

271 :nobodyさん:2005/03/30(水) 08:25:56 ID:???
>>270
それでPHPとqmailの関係は何

272 :nobodyさん:2005/03/30(水) 09:30:31 ID:PFZcR5nD
PHPからMySQLにバイナリデータを挿入する時に特殊文字をエスケープする為の関数って
PHPに用意されてる?あったら教えて欲しい。

273 :nobodyさん:2005/03/30(水) 09:41:09 ID:P9xGS9Mv
Vine Linux 2.5+Apache 1.3.27+PHP 4.3.10です
error_log()で日本語のログを書き出してるんだけど、ある時期から
日本語が文字化けするようになりました

前:[error] エラー
今;[error] \xa5\xa8\xa5\xe9\xa1\xbc

何がきっかけでこのようになり始めたのかは正直わからないんですが
対処する方法はありませんか?
PHPソースはEUCで、error_log()に渡す際にエンコードはしてません


274 :nobodyさん:2005/03/30(水) 12:14:27 ID:???
>>271
qmailからのパイプにて、phpスクリプトで添付データを処理
(PHPである必然性は何処にも無いが…)

って、>>267の質問からは大きく逸脱するが(w

275 :nobodyさん:2005/03/30(水) 14:22:47 ID:LVdKz7n5
4月から、初めてPHPをするのですが、
includeとrequireの違いがわかりません。
お忙しいとは思いますが、なにとぞ、よろしくお願いします。

276 :nobodyさん:2005/03/30(水) 14:38:17 ID:???
>>275
マニュアル読め、詳しく書いてある。

277 :nobodyさん:2005/03/30(水) 15:06:42 ID:zj/psBx6
データベースであるテーブルのレコード数を数えたい時,
上手いやり方が分からないので

$rs=mysql_query("select * from hoge");
$cnt=0;
while($row=mysql_fetch_assoc($rs)){
$cnt++;
}

などとやってるのですが、もっと効率のいい方法は無いのでしょうか。
count($rs)とかcount($row)とかやってみたんですが
正しく帰ってきてないみたいです。

php4とMySQL4.0を使ってます。よろしくお願いします。

278 :nobodyさん:2005/03/30(水) 15:09:08 ID:???
>>277
とりあえず、$rsに何が割り当てられているのか勉強すると良いよ
想い違いしてるし

279 :nobodyさん:2005/03/30(水) 15:09:26 ID:???
>>277
select count(*) from hoge

280 :255:2005/03/30(水) 15:38:29 ID:???
>>257
 そうです。サーバはAN HTTPDを使ってます。
 AN HTTPDだと使えないんでしょうか?

281 :nobodyさん:2005/03/30(水) 15:55:53 ID:???
>>280
$_SERVERはwebサーバ依存だから表示されないんなら使えないんだろうよ
設定でどうのこうのは無かったと思う

282 :nobodyさん:2005/03/30(水) 16:12:38 ID:LjnlbFKQ
ちょっと教えていただきたいのですが、
sendmailを使ってクライアントへ日本語テキスト+csv形式の添付ファイルをつけたものを送信したいのですが、
クライアントの環境がwindowsXP、IE、そしてメールソフトがノーツなのです。
ノーツ以外のメールソフトで受信すると正常なのですが、ノーツでは文字化けするといわれました。添付ファイルは普通に読めているようです。
本文のヘッダの関係なのかな、と思ったのですが、charsetはISO-2022-JPです。

途方に暮れてるんですが、どうしたらいいでしょうか。
板違いだったらごめんなさい&誘導してくださると助かります。

283 :nobodyさん:2005/03/30(水) 16:31:04 ID:LjnlbFKQ
282です。
ごめんなさい自己解決。
本文のcharsetをUTF-8にしたら普通に見れたみたいです。
お騒がせしました。

284 :nobodyさん:2005/03/30(水) 16:49:27 ID:zj/psBx6
>>278
なんか配列みたいのが帰ってきてるのかと勘違いしてました。
下のようにしたらできました。というかmysql_num_rowsを知らなかった・・・。

$rs=mysql_query("select * from hoge");
$cnt=mysql_num_rows($rs);

>>279
mysql_query(select count(*) from hoge)として
レコード数を直に受け取る方法はあるのでしょうか?

285 :nobodyさん:2005/03/30(水) 16:56:37 ID:???
>>279
$cnt = mysql_result( $rs );


286 :nobodyさん:2005/03/30(水) 17:15:38 ID:???
長過ぎる文字列を"..."で省略したいんですが、
文字列を先頭から何バイト目まで表示、以降は任意の文字列に置き換えっていう関数があったと思うんですが、何でしたっけ?
どうもみつけられず。

287 :nobodyさん:2005/03/30(水) 17:20:25 ID:???
$str = mb_strcut( $str, 0, 100 )."...";
でいいんじゃないの


288 :nobodyさん:2005/03/30(水) 17:20:30 ID:???
substr_replaceかな?

289 :286:2005/03/30(水) 17:31:10 ID:???
なるほど、n文字目以降を、任意の文字に置き換えというより、
先頭からn文字まで表示して、任意の文字列を足す、と考えればいいんですよね、ありがとうございました!


290 :nobodyさん:2005/03/30(水) 18:54:13 ID:???
>>270
今時のケータイは普通にアップできるだろ?

291 :nobodyさん:2005/03/30(水) 19:24:05 ID:???
すいません、頭パンクしてます。
特定のディレクトリから下層のディレクトリまで全部の可視ファイルを検索、そのファイルの作成日時か更新日時を取得して、現在の日時に近い順にソートしてhtmlにリンクで出力させるって可能ですか?
素直にsqlの方がいいのでしょうか?
うちのいつもタコ管理者(鯖ダウンさせる天才)に言ったらsqlで自分でやってと言われますた。
っつか、sql使った事ないので分かりません。phpのみでって出来ます?

292 :nobodyさん:2005/03/30(水) 19:33:42 ID:???
>>290
ハァ?

293 :nobodyさん:2005/03/30(水) 20:01:29 ID:???
>>290
普通ってなんだ。

294 :nobodyさん:2005/03/30(水) 20:03:52 ID:???
>>290
今時のケータイのみ対応したい場合はそれでもいいね。
それ以前の携帯もターゲットに含む時はメール「しか」手段が無い。

>>291
そこに書いてある通りの事を管理者に言って、「SQLですれ」って返されたのなら、
「えええええええ(AA略)」って顔で反応すべきだったな。
PHPのマニュアルの「ディレクトリ関数」「ファイルシステム関数」の関数を幾つかと
再帰処理を使えば、PHPだけでも可能。

295 :nobodyさん:2005/03/30(水) 20:07:45 ID:???
>>291
PHPの関数のみで、そんなに苦労しなくても出来る。

296 :nobodyさん:2005/03/30(水) 20:10:31 ID:???
>>294
そっか...可能なのか...ちょっとマニュアル見て頑張りまつ。(´・ω・`)
...っつか簡単な掲示板しか作ったこと無い漏れにできるだろうか。

やはりうちの鯖管はダメポなんだな...大丈夫かうちの会社...

297 :nobodyさん:2005/03/30(水) 20:38:24 ID:???
PHPでポリモーフィズムってどうやって実装するのかな?

298 :nobodyさん:2005/03/30(水) 20:41:18 ID:???
>>296
まぁ、望む事はPHPのみで実現可能だが、
巨大なサイト(対象ファイルが多数)の場合なら、
深夜帯などに定期的にDB化しておいて、表示の際にはSQL使ったほうが、
鯖負荷は低くて済むかも。あくまでもケースバイケース。

299 :nobodyさん:2005/03/30(水) 21:28:38 ID:???
DBにファイルのリストを入れといてSQLで取り出しHTMLにすれって事なんだろうか?
どうやってDBに入れるんだろ?

300 :nobodyさん:2005/03/30(水) 21:29:51 ID:4FafkLm/
電子手帳用OS、WindowsCEでローカルファイルの
PHP拡張子ファイル、を閲覧するようにできるでしょうか?



301 :nobodyさん:2005/03/30(水) 22:09:00 ID:???
>>300
とりあえずphpインストールしてみれば

302 :nobodyさん:2005/03/30(水) 22:48:14 ID:???
>>299
ファイルパスと、filemtimeでも放り込んでおけば、
後は如何様にも・・・
ってDBとの接続の仕方とかから説明が必要?

303 :nobodyさん:2005/03/31(木) 01:19:34 ID:???
フォームを使って、クライアントブラウザからサーバへXMLデータを送信することはできますか。
あるいはXMLでなくても任意のテキストファイルを送信することはできますか。

通常、フォームを使うとデータは param1=value1¶m2=value2&.... という形で送信されます。
しかしこの形式だと、入れ子になったデータを表現するのが難しいです。
そこで、もしフォームデータをXML形式でサーバに送信できたら、入れ子になったデータが簡単に扱えるようになるんじゃないかと思ってます。
HTTPは任意のデータを送信できるので不可能ではないと思うのですが、HTMLとブラウザを使っているかぎりはどうしたらよいのかわかりません。

304 :nobodyさん:2005/03/31(木) 01:40:43 ID:???
>>303
JavaScript を使えばできる

305 :303:2005/03/31(木) 01:52:15 ID:???
>>304
そこをもうちょっと、具体的に。ヒントお願い。

306 :286:2005/03/31(木) 01:56:00 ID:???
すいません、先ほど解決したと思ったんですが、どうもおかしいところがあるので再度質問させてください。
$str = mb_strcut( $str, 0, 100 )."...";
こうしたんですが、テキストに日本語が混ざっている場合、考慮されずに2バイト中の1バイトの部分でぶった切られたりしますか??
日本語英数混在しているんですが、どうもそれが原因で後のhtmlに影響が出ているっぽいんです。

こういった場合、どうしたらいいものでしょうか??

307 :nobodyさん:2005/03/31(木) 01:59:27 ID:???
POSTでどうぞ。
textareaにガリガリとXMLを書けw

308 :nobodyさん:2005/03/31(木) 02:00:15 ID:???
>>306
実際に$strがどうなっているか見るべし

309 :286:2005/03/31(木) 02:04:37 ID:???
>>308
htmlソースを見ると、文字じゃない文字になってます。
ブラウザ上では表示されません。

ココにコピペしようかと思いましたが出来ませんでした。

環境:
MacOSX safari 文字コードはUTF-8です。

310 :nobodyさん:2005/03/31(木) 02:06:08 ID:???
>>303
FROM要素のenctype属性で指定できる仕様になってる。
実装は知らん。
PHPの話じゃないので続きはほかでやってくれ。

311 :286:2005/03/31(木) 02:26:17 ID:???
問題を切り分けた所、文字列の中に入っているhtmlタグが途中で省略されてしまうためのようでした…
そのあたりちゃんとやってまだダメだったらまたお願いします。

312 :nobodyさん:2005/03/31(木) 04:05:22 ID:Bkn1FNJU
array_uniqueでデータの重複を取り除いた配列の
インデックスをちゃんとゼロから順に直すにはどうしたらいいでしょうか。
重複を削除してくれるのは便利なんですが、
インデックスが飛び飛びになるので具合が悪いです。

313 :nobodyさん:2005/03/31(木) 04:21:46 ID:???
>>312
array_values()

314 :nobodyさん:2005/03/31(木) 04:27:40 ID:???
>>313
thx!

315 :nobodyさん:2005/03/31(木) 06:15:20 ID:???
「文字列」から複数種の「文字」を一度に取り除く関数ってないですか?
今の所、str_replaceなどで一種類ずつ地道に消してるのですが、
上手い方法があったら教えて下さい。

316 :315:2005/03/31(木) 06:24:58 ID:???
あ、str_replaceは配列で指定できたみたいです。
消したい文字を配列に全部突っ込んで指定したらちゃんと取り除いてくれました。

317 :nobodyさん:2005/03/31(木) 09:57:40 ID:???
>>315
ereg_replace();
preg_replace();


318 :nobodyさん:2005/03/31(木) 10:26:20 ID:???
おまいら!
レンサバ上のmysqlバックアップどうしてますか
myphpadminでダンプしてもアップの上限は2メガまでだし…
どうしたらいいものか

319 :nobodyさん:2005/03/31(木) 10:50:51 ID:???
strip_tags() を使うと、取り除かないタグを指定して HTML タグを削除できるけど、
例えば、 <a> を残したいけど、属性として残したいのは href だけで、
他に( onclick とか target とか)ついててもばっさり削除、
とか言う場合はどうすればいいんですかね?

320 :nobodyさん:2005/03/31(木) 11:27:00 ID:LwnfmyDs
メールマガジン等の配信についてですが、購読者リストをforeachさせつつ
mail関数で逐次送信するのと、リストをすべてbccで送るのとどちらが
サーバの(phpサーバ、メールサーバ、回線等)負荷は低いのでしょう?
また、bccで送る場合、何件づつ程度が適当なのでしょう?

321 :nobodyさん:2005/03/31(木) 11:32:03 ID:???
>>318
普通にmysqldumpだけど
アップの上限って何のこと
何か制限があるのならdumpファイルから必要な部分だけ切り取ってアップすればいいんじゃないの

322 :nobodyさん:2005/03/31(木) 11:41:11 ID:???
>>319
preg_replace
str_replace

323 :nobodyさん:2005/03/31(木) 11:42:18 ID:???
>.321
多分、PHPでアップロードできるファイルサイズ制限のことだと思われ。


324 :319:2005/03/31(木) 11:47:07 ID:???
>> 322
つまり便利な関数は無いってことで FA?

325 :nobodyさん:2005/03/31(木) 13:23:41 ID:???
>>324
便利な関数があるとすれば、>>319がマニュアルを見た時に気づいてるべ。

326 :nobodyさん:2005/03/31(木) 13:56:20 ID:???
自作の日記プログラムに独自タグみたいな機能を作っているところです。


[url]http://2ch.net[/url] -> <a href="http://2ch.net">http://2ch.net</a>

ところが、

[search]ほげほげ[/search] -> <a href="./search.php?q=(エンコードされたほげほげ)">ほげほげ</a>

というのをやろうとして、

$text = preg_replace("/\[search\](.+?)\[\/search\]/i", "<a href=\"./search.php?q=".urlencode(\\1)."\">\\1</a>", $text);

とやってもうまく行きません。
urlencodeの部分を、urlencode("\\1")とかurlencode(${1})とか試してみたのですが、ダメでした。
preg_replaceの置換後のテキストの部分で関数は使えないのでしょうか?

327 :nobodyさん:2005/03/31(木) 14:08:02 ID:???
>>326
preg_replace_callback かな


328 :nobodyさん:2005/03/31(木) 14:20:28 ID:???
>>327
PHPマニュアルのpreg_replace_callbackの頁を見て作り直したらうまく行きました。
すばやい返答ありがとうございました。

329 :nobodyさん:2005/03/31(木) 16:20:58 ID:???
携帯サイトにアンケートフォームを設けたのですが、データが送信されません。
どういう風にしたら良いですか?

330 :nobodyさん:2005/03/31(木) 16:24:20 ID:???
>>329です。
<TITLE>登録</TITLE>
</HEAD>
<BODY>
<BR><FORM action="mailto:***@***.co.jp" METHOD="post" enctype="text/plain">
氏名:<INPUT TYPE=TEXT NAME="name"><BR>
メールアドレス:<INPUT TYPE=TEXT NAME="number"> <BR>
ホームページURL:<INPUT TYPE=TEXT NAME="number"> <BR>
在住市名<BR>
<SELECT NAME="市名">
<OPTION VALUE="***市">***市
<OPTION VALUE="**市">**市
<OPTION VALUE="**市">**市 
<OPTION VALUE="その他">その他</SELECT><BR>
ご意見・ご感想をお寄せ下さい。<BR>
<TEXTAREA NAME="感想 rows=" COLS=10 5"></TEXTAREA><BR>
<BR>
当サイトを知ったきっかけは?<BR>
<INPUT TYPE=RADIO NAME="きっかけ" VALUE="検索">検索サイト<BR>
<INPUT TYPE=RADIO NAME="きっかけ" VALUE="友人・知人">友人・知人<BR>
<INPUT TYPE=RADIO NAME="きっかけ" VALUE="雑誌">雑誌<BR>
<INPUT TYPE=RADIO NAME="きっかけ" VALUE="広告・チラシ">広告・チラシ<BR>
<INPUT TYPE=SUBMIT VALUE="送信"><INPUT TYPE=RESET VALUE="やり直し"><BR>
</FORM></BODY>
</HTML>
一応タグです。

331 :nobodyさん:2005/03/31(木) 16:27:50 ID:???
> action="mailto:***@***.co.jp"
何これ、ふざけてんの?

332 :nobodyさん:2005/03/31(木) 16:32:34 ID:???
>>331
真剣です。

333 :nobodyさん:2005/03/31(木) 16:33:56 ID:???
>>330
携帯電話でform actionにmailtoは使えないよ。
フリーのメールフォームCGIなり探してくるべし。

334 :nobodyさん:2005/03/31(木) 16:33:57 ID:???
>>331
仕方教えて下さい

335 :333:2005/03/31(木) 16:35:00 ID:???
>>333
失敬
×:メールフォームCGI
○:フォームメールCGI

336 :nobodyさん:2005/03/31(木) 16:39:38 ID:???
>>335
フォームメールCGIってサーバーにあるのですか?

337 :333:2005/03/31(木) 16:58:43 ID:???
>>336
ちったぁ、自分で調べてみなよ。っんとにもう。
ttp://www.google.co.jp/search?sourceid=navclient-menuext&ie=UTF-8&q=%E3%83%95%E3%82%A9%E3%83%BC%E3%83%A0%E3%83%A1%E3%83%BC%E3%83%AB


338 :nobodyさん:2005/03/31(木) 16:59:45 ID:???
FORM action="mailto:***@***.co.jp"なんて、何か久しぶりに見た気がする

339 :nobodyさん:2005/03/31(木) 17:07:31 ID:???
>>337
ほ・ほ・ほんとうに有難うございます。

340 :ああ:2005/03/31(木) 19:10:01 ID:tGTdWeYS
冷静な意見をブログにお願いします。
http://blogs.yahoo.co.jp/livinonaprayerjp/MYBLOG/yblog.html

341 :nobodyさん:2005/03/31(木) 19:24:33 ID:???
>>340
「戦争犯罪と歴史問題」

342 :nobodyさん:2005/03/31(木) 19:42:05 ID:???
すみません。
価格など、1000の位でカンマ入れたいんですけど
関数ってありますか。

343 :nobodyさん:2005/03/31(木) 20:00:28 ID:???
>>342
ある

344 :nobodyさん:2005/03/31(木) 20:27:22 ID:???
>>342
number_format()

345 :nobodyさん:2005/03/31(木) 20:41:57 ID:???
毎度有難うございました。

346 :nobodyさん:2005/03/31(木) 20:53:13 ID:???
またのお越しをお待ちいたしております。

347 :nobodyさん:2005/03/31(木) 21:24:01 ID:???
ほんと下らん質問で申し訳ないです。
サバはLinux、apacheです。
アップローダーを作ってみたんですが、
アップロードして保存先ディレクトリにコピーしたら
そのファイルの所有者がapacheの動作権限者になってしまうのですが、
所有者権限をユーザー(user_dirの)にするにはどうすればいいのでしょうか。

348 :nobodyさん:2005/03/31(木) 21:25:55 ID:JFqGEsJm
こんなCGIありませんか スレって無くなったの?
見つからないCGIがあるんだが…

349 :nobodyさん:2005/03/31(木) 21:28:52 ID:???
>>348
【CGI】こんなCGI探してますver.16
http://pc8.2ch.net/test/read.cgi/hp/1106947416/

350 :347:2005/03/31(木) 21:30:29 ID:???
所有者権限を、じゃない所有者を、だ

351 :nobodyさん:2005/03/31(木) 21:55:47 ID:???
>>347
モジュール(Apacheの一部)として動作してるからね
CGI(SuEXEC)で動かせば所有者権限で実行、ファイル作成できるけどだめかね

352 :347:2005/03/31(木) 22:06:35 ID:???
>>351
ありがとう。
chmodで所有者権限だけ変更しとけば後々のことに問題ないですよね?
あまり深く考えずにchmodだけしときます。

chmodの引数paelと逆なんですね。
あとperlだとcgiでうがかしてる関係で所有者がusr_dirの人と同じになるんですかね?>>351

353 :nobodyさん:2005/03/31(木) 23:13:50 ID:???
PHPってスレッドセーフな言語にする予定はありますか?


354 :nobodyさん:2005/03/31(木) 23:36:33 ID:???
週末暇なのでスレッドセーフな言語にしてみようかなって思ってます

355 :nobodyさん:2005/03/31(木) 23:44:08 ID:???
>>354
ヨロシコ

356 :nobodyさん:2005/04/01(金) 00:01:31 ID:???
くだらない質問でもOKのスレということで質問させていただきます。
PHPのコーディング規約を見ていたらインデントはスペース4つが推奨で
タブは使わないほうがよいとのことなのですが、皆さんはどうされてますか?
個人的にスペース4つなんてどうかと思うのですが。

357 :nobodyさん:皇紀2665/04/01(金) 00:36:57 ID:???
>>356
俺はTAB(4)派だな。

358 :nobodyさん:皇紀2665/04/01(金) 00:43:33 ID:???
オイラも普段はtab(4)。でも他人が絡んでくる時はspace(4)にして渡す。
htmlを書く時はspace(2)。

インデントに思い入れのある人達が集まっているスレ
ttp://pc5.2ch.net/test/read.cgi/prog/1063471069/


359 :nobodyさん:皇紀2665/04/01(金) 01:12:11 ID:???
phpinfo()
で表示されるページの右上の哺乳類は何ですか?

360 :nobodyさん:皇紀2665/04/01(金) 01:15:14 ID:???
>>356
xyzzyのphp-modeのデフォのインデントだな。space(4)かな。

361 :nobodyさん:皇紀2665/04/01(金) 02:38:48 ID:???
>>358
そのスレ今見たけどタブ派スペース派真っ二つだね。
今までインデントはタブというのが常識だと勝手に思ってたけど
世の中は違ったんだな。

362 :nobodyさん:皇紀2665/04/01(金) 02:45:37 ID:???
>>359
つちのこ

363 :nobodyさん:皇紀2665/04/01(金) 03:24:19 ID:???
>>359
おいらのインストールした鯖は
http://www3.nhk.or.jp/anime/nadia/
を仕込んでありまつ。
(無許可版権モノ)

364 :nobodyさん:皇紀2665/04/01(金) 07:11:42 ID:???
mysql_query で帰ってきた結果を、
一行ずつ読むんじゃなくて
1つの大きな array とかにできる関数とかないのかな?

365 :nobodyさん:皇紀2665/04/01(金) 08:01:17 ID:???
>>364
マニュアル嫁

366 :nobodyさん:皇紀2665/04/01(金) 08:05:24 ID:???
今日質問したら嘘教えられそうだなーw

367 :364:皇紀2665/04/01(金) 08:06:18 ID:???
>>365
え?こんなのを作った俺は馬鹿ななのか?
マニュアル一通り読んだつもりなんだが…

function DBresource2array( $rsc_id ){
$result = array();
while ($line = mysql_fetch_row($rsc_id)) {
array_push($result, $line[0]);
}
return $result;
}

368 :nobodyさん:皇紀2665/04/01(金) 08:13:31 ID:???
>>367
悪い、文意を取り違えていた。フェッチしないで一気に
多次元配列かなんかに取りたいってことね。

それは、mysql関数には無い(と思う)



369 :367:皇紀2665/04/01(金) 08:17:47 ID:???
>>368
なるほど。
っていうかやりたい事は検索なので、
MySQL に普通に query を投げるというコトになりました。orz

370 :nobodyさん:皇紀2665/04/01(金) 08:55:47 ID:???
>>369
アフォか

371 :nobodyさん:皇紀2665/04/01(金) 09:00:14 ID:???
初心者の素朴な疑問なんですが、Array に値が入ってるかどうかって
どうやってチェックしてますか?
今僕がやってるのはみんな
$array = array();
$array = somefunction();
if (count($array)>0 ){
 //処理。
}
ってやってるんですけど。。

372 :nobodyさん:皇紀2665/04/01(金) 09:01:29 ID:???


373 :nobodyさん:皇紀2665/04/01(金) 10:23:04 ID:???
値が入ってるかどうかをチェックするのに何個も手順を踏む必要があるから面倒、
というなら理解できるけど
if文一個のワンステップでできてることを、それ以上にどう簡略化したいというのか。

374 :nobodyさん:皇紀2665/04/01(金) 10:26:19 ID:???
>>371
is_arrayじゃ駄目?

375 :371:皇紀2665/04/01(金) 10:26:57 ID:???
>>373
簡略化したいなんて言ってないです…
これがスマートなやり方かどうかわからないから聞いてみたんですが…

376 :371:皇紀2665/04/01(金) 10:28:11 ID:???
>>374
is_array だと、array として初期化している変数には true が返ると思います。

377 :nobodyさん:皇紀2665/04/01(金) 10:43:05 ID:???
if (count($array)){
 //処理。
}

で、少しスマートな感じ

378 :nobodyさん:皇紀2665/04/01(金) 10:49:59 ID:???
count だと文字が入っていても true になることあるね.

if (is_array($array) and count($array)) {

とする必要あり?

379 :nobodyさん:皇紀2665/04/01(金) 10:51:28 ID:???
>>371
if(implode("", $array)){
  echo'何か入っているよ〜〜〜';
}

380 :nobodyさん:皇紀2665/04/01(金) 11:18:18 ID:???
>>378
$array = array();
と宣言してるんだから
is_array($array)はいらないだろ
>>377>>379より意味がわかりやすくていいんじゃないの

381 :nobodyさん:皇紀2665/04/01(金) 11:31:55 ID:???
>簡略化したいなんて言ってないです…
>これがスマートなやり方かどうかわからないから聞いてみたんですが…

同じことやん。

382 :nobodyさん:皇紀2665/04/01(金) 11:36:25 ID:AcRtwYxM
$_POST["hoge"]
などのデータを、一括で
$hogeに入れ直す関数ってありましたよね…?
教えてください。

383 :nobodyさん:皇紀2665/04/01(金) 11:42:12 ID:???
>>382
extract($_POST);

384 :nobodyさん:皇紀2665/04/01(金) 11:49:16 ID:AcRtwYxM
>>383
これです!
ありがとう!

385 :nobodyさん:皇紀2665/04/01(金) 12:42:37 ID:???
エロサイトとかでZIPのエロ動画をダウンロードするときに多重ダウンするとエラーを表示するのってどうやるのですか?
.htaccessで制限かけるのですか?
エロイ人教えてください

386 :nobodyさん:皇紀2665/04/01(金) 12:53:49 ID:???
>>359
5.0.3はウサギ?
5.0.4にしたら犬になった(テリア?)
4.3.11インストールした人教えて

387 :nobodyさん:皇紀2665/04/01(金) 16:50:32 ID:???
最近のブログ(amebaやnaverなど)で、テキストエリアの部分に
画像とか、太字とかが反映されてるのはどういった技術を使ってるんでしょうか?
適切なスレッドが分からなかったのでとりあえずここで質問しました。

388 :nobodyさん:皇紀2665/04/01(金) 17:03:35 ID:???
jcode.plの設置ついて質問なのですが
CGIを多数設置した場合、それぞれ同じディレクトリにjcode.plがあって
容量を圧迫するので、一つ上のディレクトリにjcode.plを置き
各CGIから読み込ませても平気ですか?

それともやはり、一つ一つ同じディレクトリにjcode.plを置いた方がいいのでしょうか?

389 :388:皇紀2665/04/01(金) 17:05:34 ID:???
すみません。スレタイの【PHP】ってのを見逃してました。
他のスレで聞いてきます。

390 ::皇紀2665/04/01(金) 17:53:47 ID:wSz0R7pa
photoshop8のシリアルnumber期限切れのしか見つからないんです。
どなたか期限切れてないの知りませんか?

391 :nobodyさん:皇紀2665/04/01(金) 18:35:35 ID:???
>>390
メールアドレス教えてくれたら、どうしたら良いか教えてあげるよ。

392 :nobodyさん:皇紀2665/04/01(金) 20:26:04 ID:???
>>386
cvsからロゴを引っ張ってくるとこんな感じになってる。

リビジョン ロゴ PHPver.(ブランチ)
1.5    おっさん
1.6    茶犬
1.6.2.1  黒犬    4.3
1.7    茶犬
1.8    茶犬
1.9    うさぎ
1.10   .うさぎ
1.11   .うさぎ
1.12   .うさぎ   5.0
1.12.2.1 .黒犬    5.0
1.13   .黒犬

やった手順は、
ttp://cvs.php.net/php-src/main/logos.h から各リビジョンのファイルをDLしてきて、
PHPの配列風に手作業で加工 ($php_egg_log = array( 〜 )の形式)。

gif画像の1バイトごとの値を10進数で書いてあるので、
for($i=0;$i<count($php_egg_log);$i++){ $data .= pack("c",$php_egg_logo[$i]); }
てな感じにして、$data をバイナリで保存。

393 :nobodyさん:2005/04/03(日) 01:40:23 ID:???
$array = (
  [0] => Perl
  [1] => C
  [2] => PHP
)

という配列を、
$array = (
  [0] => PHP
  [1] => C
  [2] => Perl
)
と、"PHP" を一番上にした配列に組みなおしたいのですが、どうすればいいんでしょうか。

394 :nobodyさん:2005/04/03(日) 02:05:44 ID:???
>>393
「PHPを一番上にした配列」というのは他にも幾つか考えられるけど、
それらのうち PHP C Perl の順になるのは何か条件があるの?
PHP Perl C の順になる場合もあるよね。
要素数n個の配列だと (n-1)! 個のパターンがあるような。

395 :nobodyさん:2005/04/03(日) 03:38:42 ID:???
readline サポートを使わないで使える readline ってない?
while ($line = readline($text) ) {
 ほげほげ;
}
とかしたい。

396 :nobodyさん:2005/04/03(日) 04:30:24 ID:???
>>395
標準入出力

GPLのreadlineをPHPライセンスのPHPとリンクするのはけしからん、
という話であればBSDライセンスのlibeditというものがある。

397 :393:2005/04/03(日) 09:12:02 ID:???
説明不足ですみません。
配列からPHP を一度削除して、配列の一番上に入れたいだけで、特に以下(Perl,C)の配列の位置は問いません。

398 :nobodyさん:2005/04/03(日) 09:27:48 ID:???
>>397
array_pop
array_unshift
array_splice


399 :nobodyさん:2005/04/03(日) 09:43:18 ID:IY142z6m
誰かやってみねえか?俺は無理だったorz


【一攫】解けたら賞金300万円のクイズ【千金】
http://game9.2ch.net/test/read.cgi/bgame/1107733523/

400 :nobodyさん:2005/04/03(日) 11:54:58 ID:EIV0TS0d
WEB上で、オンラインゲームみたいにチャットと移動が出来る
ものを作るにはどうすれば良いんですか?
一時期話題になった「タキビ」の動けるのを設置したいんですが…

401 :nobodyさん:2005/04/03(日) 12:12:46 ID:K0aP+PxK
>>400
移動の意味わからんがなー
IRCでも使えば良いんでない?
移動の意味わからんけど

402 :nobodyさん:2005/04/03(日) 21:18:09 ID:???
>>400
クライアント側の動作がhtmlだけでは対処できない場合はflash等のActiveXやアプリケーションを使う事になる。
同様に鯖側の動作もhttpだけで対処できない場合はsocketを張ったままでデータのやり取りをする事もある。

どういう仕組みを使えば自分のやりたい事を実現できるかをまず調べてみれ。

403 :nobodyさん :2005/04/03(日) 22:49:40 ID:MM89HE2P
すみません。すごく簡単な事だというのはわかるのですが
どうにも動かないので、助けてください。

フォームで、セレクトフィールドこんな感じ↓で作って
<select name="kazari">
<option values="0"></option>
<option values="1">ピアス</option>
<option values="2">イヤリング</option>
<option values="3">指輪</option>
<option values="4">へそ用</option>
<option values="5">鼻用</option>
<option values="6">その他</option>
</select>


404 :403です続きです:2005/04/03(日) 22:50:06 ID:MM89HE2P
POSTでBのPHPファイルに飛ぶようにして
BのPHPファイルないで、受け取った$_POST['kazari']
の値によって、一覧表示するMySQLのテーブルを変更させたいのです。
if($_POST['kazari'] == '1'){
$stt = "SELECT * FROM syouhin,kakaku WHERE syouhin.id = kakaku.id
AND syouhin.no =".$_POST['kazari']."ORDER BY syouhin.name";
}elseif(略
$res = mysql_query($stt, $conn);
while($row = mysql_fetch_arry($res)){
print(略)

syouhin.no = の後ろに、1とか2などの数字を入れて試して
見た時は、ちゃんと選択されるのですが、変数を入れようとすると
Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource
というエラーが出るのです。

どうかご指導よろしくお願いいたします

405 :nobodyさん:2005/04/03(日) 22:50:26 ID:???
>>403
で?

406 :403です:2005/04/03(日) 23:17:24 ID:MM89HE2P
>>405さん

すみません。質問がまわれくどかったですよね。

ええと、SELECT文のなかに、変数を入れたいのですが、
>>404の方法しかわからなくて、回避策を教えて
頂きたいのです。

407 :nobodyさん:2005/04/03(日) 23:18:52 ID:???
>>403
基本的なことだが、SELECTタグが間違ってるよ
http://www.htmq.com/html/select.shtml

てか、
print_r($_POST);
してpostデータの内容を見てごらん。

408 :nobodyさん:2005/04/03(日) 23:23:21 ID:???
>>404
mysql_queryの前に、print $stt; exit; を入れて、
数字を直接入れた場合と、変数に設定した場合との違いを調べる。
つーか違いが必ずある筈だから、その原因を print 変数名; てな感じでどんどん遡って調べていく。

409 :403です:2005/04/04(月) 00:12:07 ID:r/hNOQjg
>>407さま
>>408さま
むっちゃ阿呆な事をしていたのだと、やっとわかりました。
ご指導感謝いたします。
ありがとうございます。

410 :403です:2005/04/04(月) 00:44:20 ID:r/hNOQjg
何度もすみません。
PHPのマニュアル本とサイトでPOSTで受け取る内容の
説明の所を探してみたのですが、select内のvalues="数字"を
受け取る方法が見つけられなくて・・・。

$_POST['kazari']だとselect name="kazari"のkazariが
返されているので、SQL文がエラーをはいているのだと
言うのは理解できたのですが、valuesの中の値を拾いたい
場合は、どのように記述すればよいのでしょうか・・?


411 :nobodyさん:2005/04/04(月) 00:55:44 ID:???
>>410
option のアトリビュートは、value's' じゃ無く、value だよ。

適当なHTMLヴァリデータでも通せば、教えてくれるんじゃ無いの。

412 :403です:2005/04/04(月) 02:48:51 ID:r/hNOQjg
>>411さま

すみません。
ありがとうございました。
やっと、SQLのselect内に、関数を入れて欲しい情報を
一覧表示させる事ができました。
本当に、ありがとうございました。

413 :nobodyさん:2005/04/04(月) 07:07:25 ID:???
smarty のページを読んでるんだけど、
ttp://smarty.php.net/sampleapp/sampleapp_p2.php
インスタンス化する所で、
$guestbook =& new Guestbook;
ってしてるじゃん。=& ってどういう意味ですか??

414 :nobodyさん:2005/04/04(月) 07:20:47 ID:???
なめた口調。

415 :nobodyさん:2005/04/04(月) 07:27:49 ID:???
ttp://php.jugem.cc/?eid=19

416 :nobodyさん:2005/04/04(月) 08:54:15 ID:???
前から思ってたのだが、php のコミュニティってなんで続かないのかね?
どこも無惨に放置プレイばっかじゃん。

417 :nobodyさん:2005/04/04(月) 08:56:03 ID:???
>412
リクエストされた値をそのままSQLに渡すのイクナイ

418 :nobodyさん:2005/04/04(月) 10:52:35 ID:???
>>416
親切なマニュアルあるし
親切な関数あるし
回答者は糞だし

419 :nobodyさん:2005/04/04(月) 14:32:38 ID:???
外部サーバにあるphpに値を投げるにはどうしたらいいでしょうか?
下記のようにすると、実現されて入るのですが、スマートじゃないような気がするんです。

$file = "http://外部サーバURL/hoge.php?a=1&b=2";
$fp = fopen( $file ,"r");
$rere = fread( $fp , 100000 );
fclose( $fp );

hoge.phpはgetで受け取った値を元に実行されます。
ログ書き込み等なので、表示はされず、呼び出し元とは完全に独立して動いています。

が、fopen等は本来そういった機能では無いような気がするので、もっといいやり方は無いでしょうか?

420 :nobodyさん:2005/04/04(月) 15:04:52 ID:???
>>419
fopenはそういう使い方(httpやftp等のwrapper)も考慮して作られているので
気にしなくていいんじゃないかな。
真面目にやりたい(or 直接ソケットを触りたい)場合には、fsockopenてのも用意されてるけど。

421 :nobodyさん:2005/04/04(月) 15:10:31 ID:???
>>419
他人が作ったもんを使いまわすためのスマートじゃないプログラムなんだからそれでええやん。
なんか困ってんの?

422 :nobodyさん:2005/04/04(月) 18:35:49 ID:???
define() で定義した内容を全て表示させる関数は無いのでしょうか。

423 :nobodyさん:2005/04/04(月) 18:42:40 ID:???
最適なアクセス制限を考えてるんだが、これで問題ないだろうか。

$dame_ip = array('127.0.0.1','localhost');

if(in_array($_SERVER['REMOTE_ADDR'],$dame_ip)){
   echo "<p>アクセスが許可されていません</p>\n";
   exit;
}

424 :nobodyさん:2005/04/04(月) 19:00:30 ID:r/hNOQjg
こんばんは。
すみません、教えて下さい。
3つの入力された数字を3で割って、小数点以下の
割り切れない数字を、四捨五入したいのです。
色々調べて試してみたのは
$hoge = (($suuti1)+($suuti2)+($suuti3))/3;
$hoge1 = round($hoge,1);
なのですが、一見意図した小数点第一までの表示で
第二の数字を四捨五入している感じなのですが、
割り切れた場合にも、繰り上がってしまうのです。
($hogeが10の場合、print '$hoge1';で11になってしまう)
なにか良い回避策は無いでしょうか・。
どうかご指導よろしくお願いいたします。


425 :403=412です:2005/04/04(月) 19:09:58 ID:???
>>417
ご心配頂ありがとうございます。
フォームフィールドからPOSTで受け取って来た変数が
textからの時は
$auth = mysql_escape_string($_POST["auth"]);
$auth = str_replace("%","\%",$auth);
としてから、使うようにしております。
これで、大丈夫なのですよね?
もし大いなる勘違いでしたら、ご指導いただけると
幸いです。 よろしくお願いいたします。

426 :nobodyさん:2005/04/04(月) 19:25:41 ID:???
>>422
ttp://jp.php.net/manual/ja/function.get-defined-constants.php

あと、
ttp://jp.php.net/manual/ja/function.get-defined-functions.php
で一覧を作って眺めるといいよ。

427 :nobodyさん:2005/04/04(月) 19:32:02 ID:???
>>424
%で余りを求めて、条件分岐

428 :424:2005/04/04(月) 20:00:45 ID:r/hNOQjg
>>427
頂いたご指導から、考えてみたのですけれど・・・。
$suuti7 = '3';
$suuti8 = '3';
$suuti9 = '3';

$hoge5 = (($suuti7)+($suuti8)+($suuti9))/3;
$hoge7 = (($suuti7)+($suuti8)+($suuti9))%3;
if($hoge7 ==2){
$hoge6 = round($hoge5,1);
}else{
$hoge6 = $hoge5;
}
print '<br>割り切れない値IFの練習です<br>';
print ($hoge6);
上記で、なんとなく出来たような感じなのですが、
あっていますでしょうか・・・?

429 :nobodyさん:2005/04/04(月) 20:30:30 ID:yZDujDw2
PHPでパッケージを作ろうと思っているんだけど、PHPだとソースを
そのままお客に渡さなければいけないですよね?
ソースを盗まれたくないんだけど、いい方法ありますか?


430 :nobodyさん:2005/04/04(月) 20:42:01 ID:???
>>429
「php ソース 暗号化」で具具ってみ。

431 :nobodyさん:2005/04/04(月) 22:08:21 ID:???
phpBB で見かける、

[url]アドレス[/url]
   → <a href="アドレス">アドレス</a>
[url=アドレス]hogehoge[/url]
   → <a href="アドレス">hogehoge</a>

と変換する方法がわかりません。
どのように組めば実現できるでしょうか?

432 :nobodyさん:2005/04/04(月) 22:27:51 ID:???
phpBBのソース見れば?いや、まじで。

433 :nobodyさん:2005/04/04(月) 23:28:24 ID:???
>>431
正規表現

434 :419:2005/04/04(月) 23:39:28 ID:???
>>420
なるほど、ありがとうございます。

>>421
いや、他人というわけじゃないんですが…。
複数のサーバのアクセスログを一つのサーバに累積させたく、作っている所です。

435 :nobodyさん:2005/04/05(火) 00:04:06 ID:???
オブジェクト継承しすぎで、わけわからなくなりました。
どうしたらいいですか。

436 :nobodyさん:2005/04/05(火) 00:36:32 ID:???
オブジェクト作るのが悪い

437 :nobodyさん:2005/04/05(火) 02:00:55 ID:???
3回以上の継承はあまりお勧めできない。
ってのは常識だろ。

438 :nobodyさん:2005/04/05(火) 02:12:32 ID:???
それが常識なのかどうかは知らんが、
継承を辿って調べないと恐くて使えないような設計には問題があるな
リファクタリングすれ

439 :nobodyさん:2005/04/05(火) 02:34:52 ID:???
オブジェクトを使う理由
なんとなく、今風。
なんとなく、かっこいい気がする。

440 :nobodyさん:2005/04/05(火) 10:49:23 ID:???
JAVAに慣れすぎてもとの書き方ができなくなった

441 :nobodyさん:2005/04/05(火) 17:38:16 ID:???
>>429
自分で鯖用意

管理費(ウマー(*´∀`*)、バージョンアップも確実に自分に来る(ウマー(*´∀`*)

442 :nobodyさん:2005/04/05(火) 19:57:36 ID:???
メンバ変数の名前が長すぎて入力するのが面倒。どうしたらいいんだろ?
$b = &$foobar->baz;
とかやんないほうがいい?

443 :nobodyさん:2005/04/05(火) 20:25:16 ID:???
zend studioがいいよ。
メソバを候補で上げてくれるから。


444 :nobodyさん:2005/04/05(火) 21:03:20 ID:???
xyzzy とか emacs 系なら dabbrev で補完とか

445 :nobodyさん:2005/04/06(水) 18:00:09 ID:???
<form action="***"method="post>
選択名<BR>
<select name="数字">
<option value="1">1
<option value="2">2
<option value="3">3
</select><BR>
<input type="submit" value="OK">
</form>
1を選択した時に1が表示出来るようにしたいのですが、***のスクリプトが
わかりません。どなたか教えて下さい。

446 :nobodyさん:2005/04/06(水) 18:16:03 ID:???
>>445
マルチうざい

447 :419:2005/04/06(水) 21:20:38 ID:???
アクセス解析を作っていて、再度質問なんですが、
検索エンジンからのリファラ検索文字列がどうも文字化けしてしまいます。

$referer = $_SERVER['HTTP_REFERER'];
$referer = mb_convert_encoding($referer, "EUC-JP", "auto");
で、その後別サーバへ結果を送っています。

yahoo経由はOKなんですが、googleがダメみたいです。

別サーバで結果を表示させた時に、ブラウザの文字コードをUTF-8にすると、検索文字列がちゃんと表示される
(その他の部分は当然、逆に文字化けしますが)ので、mb_convert_encodingが、UTF-8をEUC-JPに変換してくれていないのかなぁ、
と不思議に思っています。

どうしたら、文字化けさせないように出来るでしょうか?

↓phpinfo Configure Command
'./configure' '--enable-mbstring' '--enable-mbstr-enc-trans' '--enable-mbregrex'

448 :nobodyさん:2005/04/06(水) 22:56:12 ID:???
mb_detect_encoding

449 :nobodyさん:2005/04/07(木) 00:49:50 ID:???
セッションってブラウザ閉じると消えるけどアクセス日から1日
保存しておきたいんだかどうするんだ?

450 :nobodyさん:2005/04/07(木) 04:55:28 ID:???
>>449
http://jp2.php.net/session

セッションの寿命を1日以上に延ばす。
あと保存場所をデフォの/tmpにしてる場合、
システムで1日程度で掃除してないかも注意。


451 :nobodyさん:2005/04/07(木) 07:21:24 ID:???
>>447
urlencodeされた文字列は自動で文字コード判別できない(半角英数記号のみだから)
urldecodeしてからmb_convertでどうでしょう

452 :nobodyさん:2005/04/07(木) 12:55:01 ID:???
>>450
サンクス

453 :nobodyさん:2005/04/07(木) 15:07:37 ID:2aRnQEib
PHPプログラムを呼び出しているHTMLファイルのTITLE情報を文字列で抽出する
方法は無いでしょうか?たとえば以下の場合は、

<HTML>
<HEAD>
<TITLE>素晴らしきかな我がホムペ</TITLE>
</HEAD>

<? php
(TITEL名を文字列として使いたい)
?>

</HTML>

PHPのプログラムの中で「素晴らしきかな我がホムペ」という文字列を使いたいです。

454 :nobodyさん:2005/04/07(木) 15:17:20 ID:???
>>453
<?php $title = "素晴らしきかな我がホムペ"; ?>
<HTML>
<HEAD>
<TITLE><?php echo $title; ?></TITLE>
</HEAD>
<?php
すきにしなはれ
?>
</HTML>

455 :447:2005/04/07(木) 15:48:22 ID:???
>>451

//送信php
$referer = $_SERVER['HTTP_REFERER'];
$referer = mb_convert_encoding($referer, "EUC-JP", "auto");
$referer = urlencode($referer);
//↑ここまでは今までやっていた部分

データ送信

//受信php
$referer = urldecode($referer);
$referer = mb_convert_encoding($referer, "EUC-JP", "auto");//←これを足した

これで見事に解決しました。ありがとうございます!
送信phpのmb_convertはいらないのかな、とも思いましたが、まあいいかな、と。


456 :nobodyさん:2005/04/07(木) 18:28:28 ID:???
>>454
<?php $title = "素晴らしきかな我がホムペ"; ?>
<HTML>
<HEAD>
<TITLE><?php echo $title; ?></TITLE>
</HEAD>
<?php
どうもでやす
?>
</HTML>

457 :nobodyさん:2005/04/07(木) 18:34:30 ID:jm/6lRT+
この度、会社でHPを作る事になりました。サーバはソネットのビジネス版
なのですが、業者から、ソネットはCGiが使えないから、サーバーを業者指定の
物(ファーストサーバー)に変えてほしいという申し出がありました。
調べたところ、ソネットでcgiが使えないという事はなく、業者が自分の
使えるcgiがソネットで使えるか未確認なので変えてほしいという事みたいです。
もし、使えなかった場合は、外注になると言っていまあす。
簡単なアンケート程度の物で、そんな事あるんでしょうか?
私には、サーバーを変えるより、業者を変えた方がいい様に思えるのですが、
ソネットは使えないサーバーですか?


458 :nobodyさん:2005/04/07(木) 18:50:06 ID:???
>>457
「業者を変える」に一票

ってか、ソネットビジネスホスティングって、PHP使えんの?
>CGI環境:Perl 5.6.0 / Python 1.5
って書いてあるな。
その業者、perlの実績が無かったりして。

そして、あなたはスレ違い

459 :457:2005/04/07(木) 21:11:57 ID:jm/6lRT+
>>458 ありがとうございます。くだらない質問という文字だけ見て
書き込んでしまいました。CGIのスレで質問するべきでした。
ごめんなさい。


460 :nobodyさん:2005/04/08(金) 11:16:53 ID:???
Perl->PHPに移植中なんですが、Perlでいうとこの$val ||= 1はどう書くんでしょうか?

461 :nobodyさん:2005/04/08(金) 11:32:52 ID:???
$var = ($var) ? $var : 1;
の関数化するとか

462 :nobodyさん:2005/04/08(金) 11:38:17 ID:???
http://www.itmedia.co.jp/enterprise/articles/0504/07/news088.html

こういう記事サイトの最後の方にある

■ この記事についてのご感想 【必須】
役に立った 一部だが役に立った 役に立たなかった
■ コメント
送信

のようなご意見ボックスを自分のサイトにもはっつけてみたい。
PHPでこの機能を実現の仕方を解説しているサイトとかって無い?

余談だけどこういう機能って格好いいよね。
匿名だから送信する方も気兼ねなく好きな言葉送れるし。

463 :nobodyさん:2005/04/08(金) 11:42:31 ID:???
どこが悪いか教えて下さい
<form action=htto://www.test.com/test.php method="post">
選択名<BR>
<select name="num">
<option value="1">1
<option value="2">2
<option value="3">3
</select><BR>
<input type="submit" value="OK">
</form>


test.php

<?php
if ( $_POST["num"] == "1" ) {
header("LOCATION:http://www.test.com/1.html");
}elseif ( $_POST["num"] == "2" ) {
header("LOCATION:http://www.test.com/2.html");
}elseif ( $_POST["num"] == "3" ) {
header("LOCATION:http://www.testcom/3.html");
}else {
header("LOCATION: form.html");
}
?>


464 :nobodyさん:2005/04/08(金) 12:04:13 ID:???
>>462
つまり管理人しか読めない掲示板ですね

465 :nobodyさん:2005/04/08(金) 12:05:52 ID:???
>>463
htto => http

466 :nobodyさん:2005/04/08(金) 12:12:31 ID:???
>>463
どういう動きを意図していたのに、どういう挙動をした。というのを書いてくれた方がレスする方も楽なんだけどね。
action部分の httoがおかしい。特に理由がなければ" "で括っておくことが望ましい。
header("Location: http:〜"); Location:の後に空白が必要。

467 :nobodyさん:2005/04/08(金) 12:21:26 ID:???
>>464
まぁそういうことよ。
ブログ全盛のこのご時世だがやっぱプライバシーってのは守られてしかるべきなんだな。

468 :nobodyさん:2005/04/08(金) 12:31:37 ID:???
>>463
ホスト名に仮の名前を使うときはtest.comじゃなくてexample.comを使いましょう

469 :nobodyさん:2005/04/08(金) 12:44:41 ID:???
>>463
だから、てめぇはJSでやれっつってんだろ!

470 :nobodyさん:2005/04/08(金) 13:37:23 ID:???
>>465>>466
有難うございます。早速試したみます。

471 :nobodyさん:2005/04/08(金) 14:12:57 ID:???
$_SERVER['QUERY_STRING']にはhttp://?abcのabcは入ってもPOSTで送信された
データーは入らないんでしたっけ?

472 :nobodyさん:2005/04/08(金) 14:24:13 ID:???
>>471
GETの時は環境変数QUERY_STRINGに入り、POSTの時には標準入力STDINに入ります。
でも、phpを使う時はそんなことを意識しなくても $_GET,$_POST etc.を使えば良いのでは?

473 :nobodyさん:2005/04/08(金) 16:29:23 ID:???
>>472
ありがとうございます。

ディレクトリやファイルをパスに含めてアクセスさせるので不正に変なファイルを
アクセスさせないように複数の変数を一度にチェックしたいと想いました。
$_SERVER['QUERY_STRING']はGETだけなのでリクエストをチェックした方が
良いみたいですね。

474 :460:2005/04/08(金) 17:55:07 ID:???
>>461
返信ありがとうございます。

> $var = ($var) ? $var : 1;
↑の手法も良く使うのですが、やはりif文しかないのでしょうかね。
毎回のif文は冗長なので関数にしてみたりしました。

475 :nobodyさん:2005/04/08(金) 18:18:47 ID:???
ビルダーでPHPスクリプト作れますか?

476 :nobodyさん:2005/04/08(金) 18:25:08 ID:???
>>475
やってやれない事は無い。
やらずに出来る事は無い。

477 :nobodyさん:2005/04/08(金) 18:34:09 ID:???
>>476
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
が、必ず一番上にきますが、差し支えないでしょうか?

478 :nobodyさん:2005/04/08(金) 18:41:16 ID:???
>>477
無問題。

479 :nobodyさん:2005/04/09(土) 01:46:33 ID:???
この板の質問スレはここでいいのでしょうか…?
ttp://www.supra.cx/joyful2chMe/
この掲示板を設置しようとしているのですが、設置はできてもスレ立て・投稿をすると
本文が文字化けしてしまいます。config.cgiが原因らしいことはわかったのですが
それ以上のことがわかりません。余計なところはいじっていないつもりなのですが…
どなたか詳しい方、ご覧になってどのあたりが原因かご教授いただけないでしょうか。

元のconfig.cgi ttp://aploda.org/dat4/upload41470.txt
カスタマイズした(文字化けを起こす)config.cgi http://aploda.org/dat1/upload41471.txt

もしスレ違い・板違いでしたらご迷惑おかけしますが誘導お願いします。

480 :nobodyさん:2005/04/09(土) 01:47:49 ID:???
すみません、age忘れました

481 :nobodyさん:2005/04/09(土) 02:20:14 ID:P2wkPAu1
http://php.eweb-design.com/0209_tmp.php
を参考にテンプレートを使ってHPを作っています。
そこでお聞きしたいのが、テンプレートにPHP更新履歴スクリプト(レッツPHP)を
挿入したいので、テンプレートファイル(html)をphpに変え、スクリプトをincludeして
みたのですが、できてないようで更新履歴は表示されませんでした。
phpファイルだからincludeできるとばかり思ってたのですが・・・
無理なのでしょうか?それとも他に挿入できる方法はありますか?
ご教授下さい。宜しくお願いします。

482 :nobodyさん:2005/04/09(土) 02:53:40 ID:???
>>479
設置だけならWeb制作。

>>481
テンプレートの意味をわかってない。


483 :nobodyさん:2005/04/11(月) 00:12:38 ID:n2r9fgnb
一番後ろの字が「1」でなければ「←合格」を付け足すような流れにするつもりで
以下の文を書いたのですがうまくいきません。

$text = preg_replace("^(1$)", "←合格", $text);

鈴木1
佐藤
田中
山本1

↓スクリプト実行

鈴木
佐藤←合格
田中←合格
山本

このような結果を出すためにはどのように書き換えたらよいでしょうか?

484 :nobodyさん:2005/04/11(月) 00:51:27 ID:6yyE9tWD
俺のIDがPHPなんですが?

485 :nobodyさん:2005/04/11(月) 00:51:50 ID:6yyE9tWD
ID変わってる((;゚Д゚)ガクガクブルブル

486 :nobodyさん:2005/04/11(月) 01:29:31 ID:7J6f5Hz+
サーバOSとるにはどうしたらいいですか?

487 :nobodyさん:2005/04/11(月) 01:36:39 ID:???
>>486
とりあえず日本語勉強してみては?

488 :nobodyさん:2005/04/11(月) 01:54:56 ID:???
>>486
phpinfo()

489 :486:2005/04/11(月) 02:15:33 ID:???
>>488
サンクスコ。やっぱりphpinfoのSystemのとことるしかないんですかね。
>>487
バーカ

490 :nobodyさん:2005/04/11(月) 10:36:59 ID:???
>>489
人を貶す前に日本語勉強してこい。
それだとrootkitが欲しい厨房と読める。

PEARとか作ってる人は大抵、定義済み定数「PHP_OS」を使う。

491 :nobodyさん:2005/04/11(月) 12:06:12 ID:???
includeやrequireに失敗した時に、
Locationでエラーファイルに飛ばすにはどのようにしたら良いですか?
ifやorを試してみましたができませんでした。


492 :nobodyさん:2005/04/11(月) 12:28:15 ID:???
天下とるにはどうしたらいいですか?

493 :nobodyさん:2005/04/11(月) 13:13:32 ID:???
>>492
外でうんこする

494 :nobodyさん:2005/04/11(月) 13:24:21 ID:???
>>491
エラーハンドラ(マニュアルのエラー処理およびログ記録関数あたり)を自分でカキカキすればできるような気がするけど、
そんなことをするより、includeやrequireする前に file_exist()を使ってファイルの存在チェックをすればいいような・・

495 :nobodyさん:2005/04/11(月) 18:00:37 ID:???
皆さんはどれくらいの期間でそこそこ(掲示板作ったり)できるようになりましたか?
漏れは1ヶ月掛かってもできません|д゚)...
しかもプログラムは初めてです。

496 :nobodyさん:2005/04/11(月) 18:13:51 ID:???
>>495
掲示板ってのは、最初みんな作ろうとするんだが、
思いの他、色々な知識やテクニックが必要なのさね。
(だからこそ、きちんとした掲示板が作れれば、それなりのスキルがついたともいえる)

なので、ただ書かれた物を羅列表示するだけなら、PHPに触れてから1か月ぐらいでも作れたが
(きちんとした)掲示板を作れるようになるまで、オイラは1年以上かかったな。


497 :nobodyさん:2005/04/11(月) 18:19:57 ID:???
Apacheのサイトだったか忘れたけどプログラミング暦25年の初心者って人がいたからそれなりに作れるようになるには結構かかるんだろうよ。
全くプログラミング経験が無い場合は小さなものを作るだけでも3ヶ月〜1年はかかりそうな気がするけどな。
まあ、他人のものは俺のもって言うんなら1週間でも可能だとは思う。

498 :nobodyさん:2005/04/11(月) 18:35:09 ID:???
>>496-497
そうですか...
早く覚えたいのはやまやまだけど、所謂Linuxタコなんで(笑)いろいろ調べて頑張ります。
人真似でも人によってコードの書き方や処理が違うので、あんま勉強になりません。
それ以前に、「何でこういう処理するのか」とか「なぜこんな風なロジックなのか」で迷います。
一年か...|彡サッ

499 :軟式PHP:2005/04/11(月) 18:43:31 ID:???
ガンガレ。
とりあえず最初は深く考えずに作る楽しさを覚えた方がいいと思う。

500 :nobodyさん:2005/04/11(月) 19:20:15 ID:???
HTMLだと
<a href="index.html#name">go name</a>
で<a name="name"></a>したポイントへいけるけど、
index.php#nameだといけない。
これはPHPじゃできないのですか?

501 :nobodyさん:2005/04/11(月) 19:30:24 ID:???
             . ィ   >>500
.._ .......、._    _ /:/l!  またまたご冗談を
 :~""''.>゙' "~ ,、、''‐'、|         _      
゙、'、::::::ノ:::::::_,.-=.  _〜:、         /_.}'':,
 ``、/:::::::::__....,._ `゙'Y' _.ェ-、....._ /_゙''i゙ノ、ノ
 ,.--l‐''"~..-_'.x-='"゙ー 、`'-、 ,:'  ノ゙ノブ     
"   .!-'",/  `'-‐'') /\ `/ でノ-〈
 .-''~ >'゙::    ‐'"゙./  ヽ.,'   ~ /
   //:::::       ',    /    ,:'゙

502 :500:2005/04/11(月) 19:37:31 ID:???
ってよーく見たら自分のミスでしたorz
失礼しました。

503 :447:2005/04/11(月) 19:56:13 ID:???
>>494
491じゃないけど、ファイルが存在してパス指定も合ってればエラーは起きないのかな。

エラーになった事が無いから、ちょっと疑問にオモタ
対象がローカルだとしてね。

504 :nobodyさん:2005/04/11(月) 22:03:04 ID:OM1k7qLv
phpってチャットで作られてるのはみたことーあるけど
CGIとどうちがうんだもらぁー

詳しく教えれ

505 :nobodyさん:2005/04/11(月) 22:21:24 ID:???
>>504
うん、レスつかないな、それは。

506 :nobodyさん:2005/04/12(火) 00:16:57 ID:???
最低限日本語で書かないとな

507 :nobodyさん:2005/04/12(火) 01:04:55 ID:???
date("I") でかえってくる値って、サーバーに設定されてる時刻設定に関係あるの??
日本に置いてあるサーバーでやると、0 でアメリカに置いてあるサーバーだと1がかえってくる。。

508 :nobodyさん:2005/04/12(火) 04:49:43 ID:UCe7BGgZ
windows2000、apache2、php4.311な環境なんだけどphp.iniをデフォルト以外の場所で読み込ませるにはどうしたらいい?
D:\PHPにphp入ってるんでphp.iniもそこにおいて読み込ませたい

509 :nobodyさん:2005/04/12(火) 06:10:09 ID:???
>>508
自分でcompile

510 :nobodyさん:2005/04/12(火) 06:34:56 ID:???
ええけつしとるのぉ(*´Д`)ハァハァ
http://192.168.11.2/
http://192.168.11.2/~ss.jpg
http://OEMCOMPUTER/
http://OEMCOMPUTER/~ss.jpg


511 :nobodyさん:2005/04/12(火) 09:48:50 ID:???
アンケートを作ってみました
<FORM ACTION="http://www.example.com/example.php.htm" METHOD=POST>
氏名:<INPUT TYPE=TEXT NAME="name"><BR>
メールアドレス:<INPUT TYPE=TEXT NAME="email" ISTYLE=3> <BR>
<BR>
選択<BR>
<SELECT NAME="test">
<OPTION VALUE="a">A
 
<OPTION VALUE="b">B
 
<OPTION VALUE="c">C
 
</SELECT><BR>
<BR>
テスト<BR>
<TEXTAREA NAME="impression"  rows=" COLS=10 5"></TEXTAREA><BR>
<BR>
テスト<BR>
<INPUT TYPE=RADIO NAME="test1" VALUE="a">A<BR>
<INPUT TYPE=RADIO NAME="test1" VALUE="b>B<BR>
<INPUT TYPE=RADIO NAME="test1" VALUE="c">C<BR>
<INPUT TYPE=RADIO NAME="test1" VALUE="d">D<BR>
<BR>
<INPUT TYPE=SUBMIT NAME="submit" VALUE="送信" id="submit"> <INPUT TYPE=RESET VALUE="やり直し"><BR>
<BR>
<BR>
</FORM>
内容を一度確認して送信するようにするには、どうすればよろしいですか?

512 :nobodyさん:2005/04/12(火) 10:13:11 ID:???
>>511
HTMLとしておかしい場所が数箇所あるので、直しておいたほうがいいかと。
確認をしたい時には、確認用のスクリプト(or ロジック)を書く必要があります。

513 :nobodyさん:2005/04/12(火) 12:31:16 ID:???
そしてhtmlを大文字で書くヴォケ

514 :nobodyさん:2005/04/12(火) 12:36:19 ID:???
>>513
何か問題でも?
多くのHTMLエディタが大文字で吐いてるぞ
うちは手書きなので小文字がほとんだが・・・

515 :nobodyさん:2005/04/12(火) 12:55:40 ID:???
xhtml絡みで小文字にしる、って言ってるのかな。
まぁ今回は見当外れもいいところだが。

オイラはcaps lockを押すのが面倒なので普段は小文字。
DreamWeaverも使うけど小文字で吐くように設定してあるなぁ。

>>507
鯖のライブラリを使って時間を取得して、そのライブラリ内で定義されているdst(夏時間)を使うから、
鯖の設定や環境に依存するよ。

516 :nobodyさん:2005/04/12(火) 13:42:35 ID:???
これからphpをはじめたいと思っているのですが、
phpはデータベースの連携にすぐれてると聞きました。
phpもデータベースもよく知らないのですが、
会員登録系にある、個人情報,指定したLoginID,LoginPassなどは
データベースに格納されて、認証時に引き出してくるものだと思うのですが
php+DBで、そのようなことは可能でしょうか?
会員登録した人だけが書き込みできるようなことをしたいので、
ログインシステムみたいなものを作ってみたいと思っています。
知識はhtmlぐらいしかないのですか、
超初心者〜中級者と、幅広く参考になるページも教えていただけると助かります。

517 :nobodyさん:2005/04/12(火) 13:43:57 ID:???
「英知体絵夢得」

ソースとして記述する場合は小文字「html」。
マークアップランゲージの固有名称として記述する場合は大文字「HTML」。

で、FA?

518 :nobodyさん:2005/04/12(火) 13:46:59 ID:???
>>516
やっぱマンモス本から入るのがいーんじゃねーの?

519 :516:2005/04/12(火) 14:02:58 ID:???
>>518
レスどうもありがとうございます。
マンモス本調べてみました。
php+DBのよさそうな教材ですね。
php4とphp5両方買ったほうがいいですかね?
MySQLを勉強しようと思っていましたが、
PostgreSQLに変更してみたいと思います。

520 :nobodyさん:2005/04/12(火) 14:11:26 ID:m58tL93L
いきなりですが質問します。

CSVファイルを出力するプログラムで
「ファイルのダウンロード」ダイアログ→「開く」を選択した場合
POSTの場合はダイアログが2回表示されるのはなぜでしょう?
POSTで1回のみにできないのでしょうか?


test.htm のソース
--------------------------------------------------------------------------------
<form action="download.php" method="get">
<input type="text" name="data" value="test">
<input type="submit" value="GETでダウンロード">
</form>

<form action="download.php" method="post">
<input type="text" name="data" value="test">
<input type="submit" value="POSTでダウンロード">
</form>
--------------------------------------------------------------------------------

download.php のソース
--------------------------------------------------------------------------------
<?php
header("Content-Disposition: attachment; filename=test.csv");
header("Content-type: application/x-csv");

print $_REQUEST['data'];
?>
--------------------------------------------------------------------------------

521 :520:2005/04/12(火) 14:15:26 ID:???
あーごめんなさい!
もしかしたらスレ違いかも知れません。

522 :nobodyさん:2005/04/12(火) 15:23:11 ID:???
>>519
PHP4徹底攻略ならpdfがうpされているので、それで勉強すると良いと思う。
PHP5はもう少し本が出そろってからでもいいのではないかと思う今日この頃・・・

523 :nobodyさん:2005/04/12(火) 17:15:20 ID:???
$data = "./data/userlist/list.cgi";
$list = file($data);
$count = count($list);
$in = 2;
for($i = 0; $i <= $count; $i++){
print "$id";
print "$id2 <BR>";
print "$pass";
print "$pass2 <BR>";
list($number2,$id2,$pass2,$sex2,$time2) = split( ",", $list[$i]);
if (($id == $id2) && ($pass == $pass2)){
$in = 1;
}
print "$i";
print "$in <BR>";
}
if($in == 1){
print "ログインしました";
}else{
print "ログインできません";
}

と打ってみたんだんですが、$idと$passが空白のとき一番最後の周期で必ず$inに1が代入されます。
空白でないときはちゃんとなるんですが・・・

524 :nobodyさん:2005/04/12(火) 17:16:14 ID:???
質問です。
phpで、外部サイトのソースの一部を読み込むことってできますか?
例えば、www.hogehoge.comのソース内に
 <!--今日の日記、毎日更新-->
 日記の内容
 <!--今日の日記ここまで-->
という記述があったとして、その記述を
www.mogemoge.net/indexphpのページの一部に
埋め込むといった感じです。


525 :523:2005/04/12(火) 17:18:20 ID:???
どうやら周期が1回多いみたいでした
すみません、自己解決しまいsた

526 :nobodyさん:2005/04/12(火) 17:18:47 ID:???
>>524
includeではだめでしょうか?

527 :nobodyさん:2005/04/12(火) 17:25:52 ID:???
includeで外部ファイルって読めたんだ?

ところで外部ってLAN内の外部?
それとも地球の裏の鯖?

528 :524:2005/04/12(火) 18:27:34 ID:???
>>527
どっちかっていうと、地球の裏側です。
読売新聞のサーバから産経新聞のサーバのデータを読み込む様な。

>>526
includeですか、外部サイトのデータも読み込めるんでしょうか?
でもヒントになりそうです、調べてみます。

ありがとうございました〜。

529 :nobodyさん:2005/04/12(火) 19:15:08 ID:jjWsVBo6
http://www.p-world.co.jp/index.html
↑このくらいのサイトを作るのにはいくらくらいかかるもんなんですか?

530 :nobodyさん:2005/04/12(火) 19:15:57 ID:???
>>529
サブコンテンツが多すぎるから100万↑

531 :nobodyさん:2005/04/12(火) 19:21:22 ID:jjWsVBo6
>>530
製作を依頼すると100万円かかるということでしょうか?

532 :nobodyさん:2005/04/12(火) 19:26:06 ID:???
>>529
業者乙。どのくらいPV稼げましたか?(w

533 :nobodyさん:2005/04/12(火) 19:27:36 ID:???
個々のスクリプト作成よりも仕様決定だけで半分くらい時間とられそうな・・
全く同じもの(裏の管理者用のページも含めて)を作るとしたら、そんくらい取られるだろうね。
つーか取りたくなるね。

534 :nobodyさん:2005/04/12(火) 19:29:55 ID:jjWsVBo6
>>533
仕様決定ってなんですか???
そういう作成業者でいいところってないですかね?

535 :nobodyさん:2005/04/12(火) 19:39:38 ID:???
おひおひ、あれだけのもの100満程度で受けちまうのか?兵だな。

よくよく見てみると、巨大データベースからチャットから都道府県別BBS、
オマケの諸々・・・

仕事で受注するなら、400〜600万、システム周りの構築から含めると、
1000万超の見積もり出すぞ、うちの会社なら。

536 :nobodyさん:2005/04/12(火) 19:41:32 ID:???
例えば、a.php は POST で値を受け取るとする。
a.php の中で、いくつか処理して、b.php に redirect して、
処理した値をまた POST で送りたい。
大事なのは、ユーザ的には form.html -> b.php に見えるっつぅことです。
そういう場合はどうしたらいいんですか?
今 pear の HTTP_Client を読んでる所なんですけど…

537 :nobodyさん:2005/04/12(火) 19:58:52 ID:jjWsVBo6
>>535
1000万ですか。
どういう部分で高くなるんですか??

538 :nobodyさん:2005/04/12(火) 20:47:46 ID:???
>>537
535じゃないけど解説。

>仕事で受注するなら、400〜600万、システム周りの構築から含めると、
>1000万超の見積もり出すぞ、うちの会社なら。

開発だけで400〜600ってのは設計からプログラミング、テストに至るまでの期間による。
大手SI企業(例えばIBM)とかだと1人が1ヶ月付きっきりだと200万ぐらいかかるが、
普通の企業で計算しやすく1人月100万とする。
そうすると、人間1人が4ヶ月から6ヶ月で作成できる規模ということになる。
(当然人間が2人でやれば2〜3ヶ月)

開発費用がこの程度なら妥当な値段。
それにシステム周りの構築、つまりサーバなりも含めると1000万近くになる。
真面目な構成のサーバを用意すると、それだけで数百万掛かる。
まぁ、この部分は実際のマシン代と考えればいい。

それと、問題はデータだな。
>>529のサイトはデータがあるからこそのシステムだと思う。
お前さんがどんなシステム欲しいか知らないが、データはあるのか?
データを集める、もしくは買うとなると、データの種類にもよるが
それでけでも数千万〜数億単位で金が掛かるぞ。


539 :nobodyさん:2005/04/12(火) 20:55:29 ID:jjWsVBo6
>>538
なるほど。ご丁寧な解説ありがとうございます。

つまり>>529くらいのwebを作成するにはそのくらいかかると、、
普通のHPと>>529の違いというのはどこからなのでしょうか?
ちょっと手の込んだHPというわけではないってことですよね・・・

540 :nobodyさん:2005/04/12(火) 21:02:18 ID:???
>>539
少しこの業界の事がわかっていないようで・・・

普通のHPだろうとPHPを使った開発だろうと、
値段は作る為に、『何人がどれ位の期間掛かったか』という事。

541 :nobodyさん:2005/04/12(火) 21:09:33 ID:jjWsVBo6
>>540
なるほどぉぉ。
そういうのは普通業者に頼むものなのでしょうか?
一般の腕利きでそういうことができる人も少なからずいますかね?

542 :nobodyさん:2005/04/12(火) 21:17:44 ID:???
>541
オメェは何の目的で何が知りたいんだ?
単なる興味本意なら、とりあえず社会に出て働け
仕事の発注先を探しているなら、悪いことは云わん。
上司に頼んで担当替えてもらえ

543 :nobodyさん:2005/04/12(火) 21:20:13 ID:???
>>541
頼む相手は、作りたい物による。

普通のHPならWebデザイナーやらに頼めばいい、
何かしらのシステムを作りたいならシステム開発会社に頼む。
デザインにこだわりたければ、システム会社に依頼しても、
デザイン部分はWebデザイナーに委託したりしてくれるから、
その辺は打ち合わせとか金次第。

一般の腕利きでそういうことをできる人が居るかだが、普通に居る。
ただし、一般といってもピンキリ。
元々はシステム開発会社に勤めてたって奴も居れば、
本業はシステム開発会社に勤め、副業としてバイト感覚でやってる奴も居る。
全くの独学でやってる奴もいる。

544 :nobodyさん:2005/04/12(火) 21:32:43 ID:???
>>542
どのみち>>541は、
スレ違いだ!失せろボケ!
って事ですね。

545 :nobodyさん:2005/04/12(火) 22:11:03 ID:ZbNIWkrh
楽天ビジネスにhttp://www.p-world.co.jp/index.htmlとおんなじやつ
作ってほしいって見積もりだしてる人いるねw


546 :nobodyさん:2005/04/12(火) 22:41:27 ID:???
ifから抜ける命令ってありますか?

547 :nobodyさん:2005/04/12(火) 22:52:40 ID:???
break

548 :nobodyさん:2005/04/12(火) 22:52:44 ID:???
break('if')

549 :nobodyさん:2005/04/12(火) 22:52:50 ID:???
>>546
ループから抜けるのはbreakなわけだが。。。
ifから抜けるの意味がわからん。

550 :nobodyさん:2005/04/12(火) 22:54:47 ID:???
function &hogehoge

ユーザー定義関数の頭についてる&ってどんな意味があるんですか?

551 :nobodyさん:2005/04/12(火) 22:56:11 ID:???
foreach(){
if(){
if() $a=true; (この部分で抜けたい)
}
error();
}

あ、break;でいいのか・・・
確かにifから抜けるっていうのは意味不明でした。

552 :nobodyさん:2005/04/12(火) 22:58:43 ID:???
if(condition){
..処理1
// ここで抜ける
..処理2
}
// ここへ抜ける

ってことだよね?そういうのは無かった気が。
最初から処理2を書かなきゃいいだけのような・・・
ある条件を満たした時に抜ける(ifの中にさらにif)だとしても、
処理2の部分を2つ目のifのelseの中に持っていくとか。
って、書いてる間に解決してたか。まぁループ以外で抜ける時の参考ということで。

553 :551:2005/04/12(火) 23:26:12 ID:???
結局うまくいかなかったので仕様変更して切り抜けました。
みなさんありがとうございました。

554 :nobodyさん:2005/04/12(火) 23:52:59 ID:9LvPVNuj

Configuで設定を変えたいのですが鯖にphp.iniがありません。
whichで探すとphp4というファイルがあるだけでした。

こういう場合PHPを再インストールするしかないのでしょうか?



555 :nobodyさん:2005/04/13(水) 00:04:31 ID:???
>>554
詳しく


556 :nobodyさん:2005/04/13(水) 00:28:26 ID:???
>>554
whichじゃなくてfindで/から探したら?
FHSレイアウトだと/etcに置くのが普通かな

557 :nobodyさん:2005/04/13(水) 00:34:18 ID:???
>>554
phpinfo();
で設定表示して「Configuration File (php.ini) Path 」ってところにあるはず。
なければ「php.ini-recommanded」っていうテンプレートファイルがどっかにあるから
findで探してコピーする(まあ大抵は展開したソースディレクトリの中に入ってるけどね)。

558 :554:2005/04/13(水) 01:20:13 ID:???
>>557
phpinfo();で見つかりましたm(_ _)m

559 :nobodyさん:2005/04/13(水) 02:11:07 ID:???
昨日からphpを勉強しはじめ、初めてのプログラム(?)を書きました。
しかしながら、LINE5でエラーがでます。

test.htmlの内容(htmlなど一部タグ省略)
<form method="get" action="test.php">
<input type="text" name="tasu0">+<input type="text" name="tasu1"><br>
<input type="text" name="hiku0">-<input type="text" name="hiku1"><br>
<input type="text" name="kake0">+<input type="text" name="kake1"><br>
<input type="text" name="waru0">+<input type="text" name="waru1"><br>
<input type="submit" value="計算">
</form>

test.phpの内容
<?php
$tasu = $_GET['tasu0'] + $_GET['tasu1'];
$hiku = $_GET['hiku0'] - $_GET['hiku1'];
$kake = $_GET['kake0'] * $_GET['kake1'];
$waru = $_GET['waru0'] / $_GET['waru1'];
print <<<EOF
足し算の実行結果 {$tasu}<br>
引き算の実行結果 {$hiku}<br>
掛け算の実行結果 {$kake}<br>
割り算の実行結果 {$waru}<br>
EOF;
?>

というような、計算機みたいのを作りました。
LINE5ということは
$waru = $_GET['waru0'] / $_GET['waru1'];
の部分ですが、どこが悪いのでしょうか?
長々とすみませんが、アドバイスお願いします。

560 :559:2005/04/13(水) 02:29:39 ID:???
すみません。test.htmlの部分が少し間違えていました。
<input type="text" name="kake0">+<input type="text" name="kake1"><br>
<input type="text" name="waru0">+<input type="text" name="waru1"><br>
この部分なんですが、<input>+<input>の部分は+ではなく、
kakeのほうは*、waruのほうは/です。
最初の+のやつをコピペしたので、修正忘れてました。すみません。

561 :nobodyさん:2005/04/13(水) 03:29:07 ID:???
waru1が0だから、とか言う落ち?

562 :559:2005/04/13(水) 03:39:35 ID:???
>>561
詳しく教えていただけませんでしょうか?

一応エラーには
Warning: Division by zero in test.php on line 5
とあるので、0が関係しているようなので、
>>561さんの言うとおりだと思うのですが
どういうことなのでしょうか?

563 :nobodyさん:2005/04/13(水) 04:18:39 ID:???
>>562
詳しくって…
エラー(つうか警告)そのままだろ。0で割ってるよって事だ。

564 :559:2005/04/13(水) 04:33:48 ID:???
>>563
値を入れたら、正常なんですが
何も入れないとこのようなエラーが出てしまうので、
文法とかにエラーがあると思ったんですが、そういうわけではなかったんですね。
0/0がおかしいってことですか。
エラーを吐かなくするような、演算子(?)のようなものが
今みてる本の、10ページぐらい前に書かれてたようなきがするので、
ちょっと見直してみます。
どうもありがとうございました。

565 :nobodyさん:2005/04/13(水) 06:51:53 ID:WcJtctkN
phpの掲示板の作り方を教えているサイトって
ありませんか?

566 :nobodyさん:2005/04/13(水) 07:38:09 ID:tWz+dwtY
http://search.yahoo.co.jp/bin/query?p=%A5%B5%A5%E9%A5%D6%A5%EC%A5%C3%A5%C8+%B7%EC%C5%FD%C9%BD&fr=top,+top

567 :nobodyさん:2005/04/13(水) 12:52:09 ID:???
>>564
if($_GET['waru0'] && $_GET['waru1']){
 $waru = $_GET['waru0'] / $_GET['waru1'];
}else{
 $waru = '割れね';
}


568 :nobodyさん:2005/04/13(水) 13:03:01 ID:???
0.0 なんかの場合に失敗するよ。

569 :nobodyさん:2005/04/13(水) 13:50:22 ID:160fl1OF
PHPで携帯用URLを自動返信させたいんですけど
送信されるところまでできたのですが
送信元がAPACHになっちゃいます。。
sendmailの設定をいじるコントロールパネルがあるのですが
どこをいじっていいのか教えてください!


570 :nobodyさん:2005/04/13(水) 14:21:56 ID:???
>>569
sendmailの設定でも可能だが、そのどこの誰が作ったとも分からんコントロールパネルとやらで
それができるかどうか分かるわけが無かろう。
mail関数を使う時にenvelope-fromが正しく設定されているか、
そのenvelope-fromの設定がsendmail側で拒絶する設定になっていないか、
チェックすべき事がまだまだある。つーかマニュアルにもその事の記載がある。

571 :559:2005/04/13(水) 14:46:09 ID:???
>>567
コードどうもありがとうございます。
なるほど、こういうところでif構文を使うんですねぇ。
そのコードを組み込んでみたところ、
parse error, unexpected '@'というエラーがでてしまいました。
エラーの場所はわかるのですが、エラーの意味がよくわからなくて、
せっかくエラーを吐いてくれるのに、修正できないでいます。orz
勉強不足なので、勉強してまたで直したいと思います。
どうもありがとうございました。

572 :nobodyさん:2005/04/13(水) 15:10:27 ID:???
>>567
> parse error, unexpected '@'
パース(ソースを構文解析)している時にエラーが発生した。「@」はここに出てくる筈が無いのだが。(超訳)
>>564 で書いている演算子(@)の位置が悪いかと。

まぁ根本的な問題の解決には、0かどうかで処理を分岐する、
言い換えれば0の時にどうするかを明確に決める、つーのがいいんだけど。

573 :569:2005/04/13(水) 15:17:27 ID:160fl1OF
>>570ありがとうございます。
ini_setにてfromの設定をしてみたのですが無理でした。
envelope-fromというのは_ENV["HOSTNAME"]のことでしょうか?
これの設定の仕方を調べているのですがわかりませんTT
コントロールパネルはensimのものです。
これだけじゃ無理っぽいですね・・^^;


574 :nobodyさん:2005/04/13(水) 15:36:52 ID:???
>>571
全角スペースを□とかで表示できるエディタを使ったほうがいいよ。
デバッグが楽になるから。

575 :nobodyさん:2005/04/13(水) 15:38:43 ID:c/E+T1wC
PHP4にてセッションが切れたときにメッセージを表示させたりすることって可能なんでしょうか?

576 :567:2005/04/13(水) 15:54:38 ID:???
>>571
悪ィ!
条件式は、
if($_GET['waru0'] || $_GET['waru1']){
だわ。andじゃ無くってorね。

ってか、これは
parse error, unexpected '@'
には関係ないな…

このエラー、大抵の場合、セミコロンが無かったりってことが多いので、
ソースを小一時間眺める由。それでも駄目なら、近辺のソース全部貼り。

577 :567:2005/04/13(水) 15:55:47 ID:???
あああああ、ばっかじゃん。
if($_GET['waru0'] && $_GET['waru1']){
で良いんだよ。andで・・・

吊って来るor4z

578 :559:2005/04/13(水) 16:04:29 ID:???
皆様ご丁寧にどうもありがとうございます!
>>572
昨日あの後本を読み返したんですが、エラーをはかなくする
演算子が見つかりませんでした。@だったんですね。ありがとうございます。
>>576
ソースまで書き換えていただいてありがとうございました。
>>574の全角スペースをヒントに原因が判明しました。
>>567
if($_GET['waru0'] && $_GET['waru1']){
 $waru = $_GET['waru0'] / $_GET['waru1'];
}else{
 $waru = '割れね';
}
これの
 $waru = $_GET['waru0'] / $_GET['waru1'];
部分にエラーがでていまして、
なんとなく$の前に空いていた全角スペースを削ってみたら、
見事に動作しました。
本当に皆様どうもありがとうございました。一歩前進できました。
メモ帳を使っていたので、ちゃんとしたエディタに換えます。

579 :nobodyさん:2005/04/13(水) 16:30:49 ID:???
全角スペースはシフトジスで0x81,0x40
で@が0x40という話でした。

580 :nobodyさん:2005/04/13(水) 17:14:58 ID:???
PHPだけって訳では無いのですが質問させてください。

PHPのソースファイルや表示文字などはphp.iniで設定すれば
文字化けを回避できる事は分かりました。

そこで疑問なのですが、データベースを使う場合は何か注意点が必要なのでしょうか?
例えば、PHPのソースファイルや表示時はEUCでデータベースではUTF8の場合、
PHPから発行するSQLはUTF8で行わないと行けないのでしょうか?
また、SQL発行後、取得した結果はUTF8となるのでしょうか?

581 :nobodyさん:2005/04/13(水) 17:18:06 ID:???
>>580
言ってることが滅茶苦茶になってるよ

582 :nobodyさん:2005/04/13(水) 17:21:09 ID:???
>>580
yes!
yes!

583 :580:2005/04/13(水) 17:28:35 ID:???
>>582
なるほど。

つまり、文字コードが異なるDBへSQLを発行するときは、
SQLをmb_convert_encodingで変換しないといけないし、
取得した結果もmb_convert_encodingで変換しないといけないんですね。

584 :nobodyさん:2005/04/13(水) 17:38:13 ID:???
>>567

まぁまぁ。
それでも数値文字列以外がつっ込まれたら
エラー出ちゃうんだけどね。

585 :nobodyさん:2005/04/13(水) 17:59:09 ID:???
>>584
じゃ
if(is_numeric($_GET['waru0']) and is_numeric($_GET['waru1']) and $_GET['waru1'] != 0) {
$waru = $_GET['waru0'] / $_GET['waru1'];
}

586 :nobodyさん:2005/04/13(水) 18:01:59 ID:RAtZXMfH
aa,"aaa
bbb
ccc",aaaa

となっていて、""内の改行を全て<BR>に置換するにはどうすればいいでしょうか?

587 :586:2005/04/13(水) 18:09:03 ID:RAtZXMfH
あ、改行の数は不明です。

588 :nobodyさん:2005/04/13(水) 18:25:34 ID:???
>>586
"が必ず2つ存在(1個以下でも無いし、3個以上でも無い)のなら、
explodeでちょっきんして、nl2brでぱたぱたして、implodeでぺたぺたしてもいいんじゃないかな。
CSVっぽいので "の扱いに疑問が残るけど。

589 :nobodyさん:2005/04/13(水) 21:05:02 ID:???
質問です。正規表現の使い方で分からない事があります。
$messageという変数に半角文字が30文字以上空白無しで続いたら
切り取って再代入する方法はありますか?

ex)
$message = askldnasdafvaiohdfahv;haifv.,aosdlihadfnvafXC

↓ 再代入

$message = askldnasdafvaiohdfah..

出来れば↓とする方法はありますか?

$message = askldnas....hadfnvafXC

590 :nobodyさん:2005/04/13(水) 22:43:01 ID:???
くだ質の典型になってますが....
配列同士を連結するにはどうすればいいでしょうか?
perlにおける@a=(@a, @b); あるいは push(@a, @b); と同じことをしたいです


591 :nobodyさん:2005/04/13(水) 22:48:31 ID:???
マニュアル

592 :nobodyさん:2005/04/13(水) 22:51:10 ID:???
array_merge をやっと見つけた......
perlのpushと混同していたのですぐに分からなかったorz

593 :nobodyさん:2005/04/14(木) 01:43:03 ID:OcmzBqS0
simplet board という掲示板スクリプトを配布している
DESIGNLAB. というサイトがnot foundなんですが
どなたか詳細ご存知?

594 :nobodyさん:2005/04/14(木) 02:37:35 ID:???
>589

・半角文字が30文字以上連続していたら
if (preg_match("/[\w,.+-]{30,}/", $message)
# 半角文字の指定は適当なので好きにして

・文字列の一部を取り出す
substr()

・文字列の連結
$a = $b . $c

595 :nobodyさん:2005/04/14(木) 04:03:07 ID:Pq56Nx3S
〜のエイリアスってどういう意味ですか?

fputs
fputs -- fwrite()のエイリアス

こんな感じに説明されているんですが
よく分かりません

596 :nobodyさん:2005/04/14(木) 04:55:39 ID:???
>>595
fputsはfwriteとまったく同じ関数ということ

597 :nobodyさん:2005/04/14(木) 07:21:37 ID:???
>>595
a・li・as
n., ad. 別名[偽名].


598 :nobodyさん:2005/04/14(木) 08:57:56 ID:???
何が書いてあるのかさっぱり分からない

599 :nobodyさん:2005/04/14(木) 10:25:04 ID:???
今実行中の php ファイルを取得する方法として、
$GLOBALS にある $_SERVER[”SCRIPT_FILENAME”]
を使おうとかと思ってましたが、
その値がある環境とない環境があるみたいなんですけど、
これってコンパイル時に決める事なんですかね?

600 :nobodyさん:2005/04/14(木) 11:07:26 ID:???
>>599
webサーバが決める($_SERVERだもんね)
Apacheなら多分大丈夫

601 :nobodyさん:2005/04/14(木) 11:20:26 ID:???
>>599
$_SERVER['PHP_SELF']

602 :nobodyさん:2005/04/14(木) 11:28:15 ID:???
ファイルロックされているかどうかをチェックだけしたいんだけど
どうしたらいいかな
実際にファイルロックはしたくない

603 :nobodyさん:2005/04/14(木) 11:34:25 ID:???
シュレディンガーの猫ですな

604 :軟式PHP:2005/04/14(木) 11:36:34 ID:???
そうなのか?w

605 :599:2005/04/14(木) 11:39:31 ID:???
>>600
なるほど。だから debugger だとなかったのか…
>>601
Linux 2.4.20-28.7 で php v.4.1.2 なサーバーではそれも出ないねぇ…

606 :軟式PHP:2005/04/14(木) 11:42:28 ID:???
>>605
__FILE__は?

607 :軟式PHP:2005/04/14(木) 11:43:33 ID:???
↑だけど、
もし、include,require内で実行中を知りたいのだったら調べてみらんとわからん


608 :605:2005/04/14(木) 11:52:13 ID:???
>>606
そもそも __FILE__ なんて値無いんだけど??どうやって使うの??

609 :軟式PHP:2005/04/14(木) 11:52:57 ID:???
定数ってやつだよ。そのまま書けばいいよ。
print __FILE__;
みたいに。詳しくは↓
http://php.s3.to/man/language.constants.predefined.html


610 :軟式PHP:2005/04/14(木) 11:54:42 ID:???
毎度すまそ。
http://www.php.net/manual/ja/language.constants.predefined.php
こっちのが正式なマニュアル。

611 :602:2005/04/14(木) 14:18:56 ID:???
難しいのかな
ファイルロックを自前で作って管理した方がいいのかな
でもそれにはファイルロックを使わないとファイルロック実装できないな
ムヒョ

612 :nobodyさん:2005/04/14(木) 14:24:01 ID:???
>>611
flock使わなくてもファイルロックは出きるぞ。
色んなサイトで自前でファイルロックしてる所は多々ある。

613 :nobodyさん:2005/04/14(木) 14:37:22 ID:???
>>611
dio_fcntl()のF_GETLKでできるんじゃないかな

614 :602:2005/04/14(木) 14:39:36 ID:???
プロセスの多重起動防止にファイルロックを使ってるんだけど
そもそも起動前にすでに起動してるかをチェックすれば
多重起動そのものが抑止できるなと思って。

仮に誤認識したとしても、一個も起動してない という方向の誤認なら
問題ない という程度のおおらかさで。

なんかファイルtouchしてunlinkすればいいかと思ったけど
プロセス異常終了時にunlinkできないから脳内会議で却下だった。

615 :608:2005/04/14(木) 15:27:29 ID:???
>>610
ガーン、スゲー。
っていうか自分の野良プログラマっぷりがバレバレだな。ありがと。スゲーためになった。

616 :nobodyさん:2005/04/14(木) 15:55:40 ID:???
>>614
シェルスクリプトとかでよくあるやり方としてはpidをロックファイルに
書き込んでおいて、そのpidのプロセスが生きてるかどうかを確認するというのがある。

617 :nobodyさん:2005/04/14(木) 17:09:24 ID:???
>>596
どっちを使ってもいいってことなのね
サンクシュ!(・∀・)

618 :攻撃者:2005/04/14(木) 17:42:22 ID:RTJAfNtd
中国の半日掲示板をbotでやりまへん?

619 :nobodyさん:2005/04/14(木) 17:45:22 ID:???
>>618
変な日本語だな、しかも反日って。中国人か?お前か
低脳は中国人だけで十分。
もし反中国だとしても
真似するようなアフォにはなりたくない。

620 :軟式PHP:2005/04/14(木) 17:54:21 ID:???
ワロス

621 :nobodyさん:2005/04/14(木) 18:21:36 ID:ai8mxHPm
PHPのグループウェアを見ていたんですが

http://www.itheart.com/phpgw/sample_filemanager.html

このファイルマネージャで画像をサムネイル表示させるものはないでしょうか?
グループウェアではなくて、ファイル管理機能だけでいいのですが。


622 :nobodyさん:2005/04/15(金) 00:35:26 ID:???
includeした場合ってページへアクセスする度に対象ファイルを参照するんだよね?
これを一定時間おきに対象ファイルを参照するようにはできないもんでしょうか?

623 :nobodyさん:2005/04/15(金) 00:40:40 ID:???
ログファイルは拡張子はなんでもいいのか?
配布サイトによって .log だったり .dat だったり .txt だったりしたんだが。

624 :nobodyさん:2005/04/15(金) 00:41:05 ID:eMqwG+N6
>>622
どういう場所で使うのか分からない。
一定時間おきに対象ファイルを参照するんであれば、includeやrequireを使うのは間違ってる。

625 :nobodyさん:2005/04/15(金) 00:41:35 ID:eMqwG+N6
>>623
テキストファイルならなんでもいい。
logfile.2chだって使える。

626 :622:2005/04/15(金) 00:47:30 ID:???
>>624
何使えばいいんでつかね・・・?(´・ω・`)
理想としては
ファイルを取得してディレクトリに格納
これを一定時間おきに更新したいんです

627 :623:2005/04/15(金) 00:58:15 ID:???
>>623
知らなかった。サンクス。

628 :nobodyさん:2005/04/15(金) 00:58:58 ID:???
>>625 だよ .....orz

629 :nobodyさん:2005/04/15(金) 01:50:10 ID:???
>>622
スクリプトでやらせるの?
HTMLタグの<META HTTP-EQUIV="Refresh" CONTENT="???">
("???"は秒数)
では対応できないの?

630 :nobodyさん:2005/04/15(金) 01:57:17 ID:???
こんなことをやってみたのだが、
if ( count($_POST) ){
  session_start();
  session_set_cookie_params(300);
  $_SESSION['url'] = $_POST[”url”];
  $_SESSION['email'] = $_POST[”email”];
  header(”Location: http://...show.php”);
  exit();
} else {
  echo ”pass val: no data”;
  exit();
}

show.php は、
  echo "url: ".$_SESSION['url'] ."\n";
  echo "email: ".$_SESSION['email']."\n";
何にも出ない…なぜ??

631 :nobodyさん:2005/04/15(金) 02:00:37 ID:???
内部EUCで
echo mb_convert_encoding($out, "SJIS", "EUC-JP");

SJIS書出しすると "〜"この文字が"~"こーなるんですけど
なんで?

632 :nobodyさん:2005/04/15(金) 02:02:42 ID:???
>>631

そういうマッピングだから。

633 :nobodyさん:2005/04/15(金) 08:53:40 ID:???
>>626
・アクセスに関係無く、定期的に実行したい
 OS側の仕組みを利用。cronやら task schedulerやら。
・他鯖へincludeを仕掛けているのを、怒られないように減らしたい
 (経過)時間をチェックする仕組みをスクリプトに埋め込む。

634 :nobodyさん:2005/04/15(金) 09:05:42 ID:???
>>630
全角の " は ここに書き込む時に間違えたとして、、、

show.phpで session_start()をしていない。
ブラウザのcookie offで、header("Location: 〜")するとセッションIDを渡せないので SIDを付け足す。
てなところかな。

635 :630:2005/04/15(金) 10:48:32 ID:???
>>634
もう直してたけど、その通り、「show.phpで session_start()をしていない。」
が正解でした。サンクスコ。

636 :初心者:2005/04/15(金) 16:18:46 ID:PCiCWiW9
$text = ereg_replace ("\", "",$moji);
これで$mojiから¥の記号を取れないよね?
エラーがでる?なんで
どうやればとれるの?


637 :nobodyさん:2005/04/15(金) 16:24:45 ID:???
>>636
正規表現で \ の文字を指定するには、 \\ を使う。
\だけの場合は別の意味合いがある。

638 :nobodyさん:2005/04/15(金) 16:58:12 ID:???
"\\"か'\'
あと正規表現使う必要なし
普通の文字置換で十分
str_replaceのほうが早いです。

639 :nobodyさん:2005/04/15(金) 17:57:36 ID:???
ブラウザで表示する際に
<?php
print "\n";
?>
は意味ってあるのでしょうか?

640 :nobodyさん:2005/04/15(金) 18:36:23 ID:???
>>639
あるよ。その\nを受け取った時点でブラウザが
どう解釈し、画面に反映する/しないと判断するかで
見え方も変わってくるが、送られてきたhtmlをソース表示で見れば一目瞭然。

641 :nobodyさん:2005/04/15(金) 19:19:32 ID:PCiCWiW9
テキストボックスに入力した\を取るプログラムです。
なんでエラーになるの?わからない
<form method="post">
<input name="moji">
<input type="submit">

</form>


<?

if(isset($_POST['moji'])){
$str=$_POST['moji'];
$text = ereg_replace ("\\", "",$str);
print $text;

}


?>

642 :nobodyさん:2005/04/15(金) 20:46:21 ID:???
php4.3.0、html・phpともにSJISなんですが、$_POSTで”夕”(ゆう)って漢字
が化けて困ってるんですが、良い解決方法ないですか?
ちなみにEUCなら化けないけど理由があってEUC無理なもんで。

【html】
<form action="./test.php" method="POST">
<INPUT TYPE="text" NAME="夕食" SIZE=20>
<INPUT TYPE="text" NAME="昼食" SIZE=20>
<INPUT TYPE="text" NAME="朝食" SIZE=20>
<INPUT TYPE=SUBMIT VALUE=" 送信 ">
</form>

【test.php】
<?php
while (list($key, $val) = each($_POST)) {
$get_key[] = $key;
$get_val[] = $val;
}
for ($i=0;$i<count($get_key);$i++){
echo $get_key[$i]."---".$get_val[$i];
}
?>
【結果】
・--Array昼食---カレー朝食---パン



643 :nobodyさん:2005/04/15(金) 20:58:14 ID:???
>>642
文字コードを変える
以上

644 :nobodyさん:2005/04/15(金) 21:26:43 ID:Gel4URAu
てかnameに漢字使うなよと。valueならまだしも

645 :nobodyさん:2005/04/15(金) 21:30:03 ID:PCiCWiW9
できない
うそつき「」

646 :nobodyさん:2005/04/15(金) 21:40:47 ID:???
>>645
ereg_replace("\\\\","",$str) か ereg_replace("[\]","",$str) でできる。
が、>>638のいうようにわざわざ正規表現を使う必要は無い。

pattern部分を " にしようが ' にしようが 4個必要なのだけど、性器表現のエロい人がいたら解説お願い。
オイラの解釈(つーか こじつけだな)だとこんな感じ。
\\の場合は、REG_EESCAPEが出るので 最後に\があるのがまずい。
なにかつけなきゃいけないんだが、パターンの一部に組み込まれる文字だとまずい。
regexの解説によると、\は4種類の意味を持ち(クォート(打ち消し)もその1つ)
それの中で \ が無視されるケースがある。
それに当てはまるものとして \\ があって、最終的に \\\\ になるんじゃないかな、と。

647 :nobodyさん:2005/04/15(金) 21:44:12 ID:???
PHP 4.3.0 かよ。恥を知れ。

648 :nobodyさん:2005/04/15(金) 21:45:24 ID:???
>646
オマイ天才だな

649 :642:2005/04/15(金) 21:56:52 ID:???
>>643
このHTMLが100ページ以上あって、文字コードとMETA変更したくなくて・・・。
>>644
nameタグを次の内容確認ページでユーザに見せる必要があってやむを得ず日本語にしてます。
100ページのinputの構成がばらばらなんですが、一つのphpで動かそうとしてますもんで。
汎用的に使えるフォームメールみたいなサンプルどこかにないですかね?




650 :nobodyさん:2005/04/15(金) 22:07:45 ID:PCiCWiW9
<BODY>
<form method="post">
<input name="moji">
<input type="submit">

</form>


<?

if(isset($_POST['moji'])){
$str=$_POST['moji'];
//$text = ereg_replace ("\\", "",$str);
ereg_replace("\\\\","",$str);


print $str;

}

やっぱ¥が消えない

651 :nobodyさん:2005/04/15(金) 22:08:10 ID:???
PHPでよくあるメールフォームを作っています。
処理の流れとして、登録→確認→完了
と、一般的な流れで処理するプログラムなのですが
「確認」画面の際に、前のページに戻ると入力しておいた
内容が無くなっています。(テキストエリアなどが空欄になっている)

これってやはりcookieの問題なのでしょうか?
また、この問題を解決する方法ってありますか?

652 :nobodyさん:2005/04/15(金) 22:34:41 ID:???
>>649
>このHTMLが100ページ以上あって、文字コードとMETA変更したくなくて・・・。

んなもん、その辺に落ちてるフリーウェアで100だろうが1000だろうが5分で終わるだろう。
「文字コードとMETA変更したくない」理由が「100ページ以上あってめんどくさい」ってなら
その他に理由があるのなら知らんが。

653 :652:2005/04/15(金) 22:37:58 ID:???
わりい。
5分は言い過ぎた。
条件式の入力含めても1分以内だな。

654 :nobodyさん:2005/04/15(金) 23:51:23 ID:???
配列 array('IE','NN','Opera','FF','Mozilla') を、
array('Opera,'IE','NN','Mozilla') と、
Operaを配列の[0]とする方法はありませんでしょうか。

655 :nobodyさん:2005/04/16(土) 00:12:36 ID:???
>>654
$hoge = array('IE','NN','Opera','FF','Mozilla');
unset($hoge);
$hoge = array('Opera,'IE','NN','Mozilla');

どうしたいのかさっぱり分からん。

656 :nobodyさん:2005/04/16(土) 00:28:45 ID:???
そんなフリーウエアないと思うけどね

657 :nobodyさん:2005/04/16(土) 00:42:26 ID:???
>>655
説明不足ですみません。
array(
 [0] => IE
 [1] => NN
 [2] => Opera
 [3] => FF
 [4] => Mozilla
)
という配列から、[2]を削除して、新たに[0]に入れなおす、ということをやりたいのです。

array(
 [0] => Opera
 [1] => IE
 [2] => NN
 [3] => FF
 [4] => Mozilla
)
となってくれれば成功なのですが・・・。
説明不足ですみません。。。

658 :652:2005/04/16(土) 01:23:58 ID:???
>>656
お前は俺に喧嘩売ってんのか?
ttp://www.vector.co.jp/vpack/filearea/win/util/text/conv/code/
ttp://www.vector.co.jp/vpack/filearea/win/util/text/conv/


659 :nobodyさん:2005/04/16(土) 01:28:09 ID:???
array_unshift->array_unique?

660 :nobodyさん:2005/04/16(土) 03:58:58 ID:???
ところで皆さんはコンテンツを作成する場合、機能を考えてロジック作成してからWEBページ作ります?
それとも全体のデザイン考えてから、ロジック組み立てます?
私の場合、デザイン考えて、考えて、考えて...etc
途中で嫌になってロジック組み立てだして、あああれも必要、これも必要、やっぱりあれも...etc
それで機能不足&イメージと違うものが出来上がります。|ω・`) イツモコウナンダヨネ...

661 :nobodyさん:2005/04/16(土) 05:11:58 ID:???
>>660 私もそうですね。
デザインからひたすらあーでもないこーでもないってもう紙にペンで書いたりもして
悩みに悩んでからロジック組んで見て各ブラウザで動作チェックしますね。

おかげで私のパソコンにはIE NS Opera Mozilla
など5種類 入っています。1種類は秘密 w

662 :nobodyさん:2005/04/16(土) 05:26:39 ID:???
>>660
新しいサイトを作ろうとデザイン考えてはや2ヶ月・・・
機能的なことは、とりあえず作ってからphpで組み込んでいく感じかな。

663 :nobodyさん:2005/04/16(土) 05:42:08 ID:???
>>661-662
私は結構ヘタレプログラマなので、単純ミスとか多いんです。|ω・`) ハズカシイ...
でもって最近はヘタレロジック集を作ってライブラリ化しました。
ちょっとは楽になったのですが...今度はちょっとずつ機能を変えていくとライブラリが巨大化しました。
毎日何かあーしたい、こーしたいってブツブツ言いながらロジック組んでばかりです。
お陰で自分のサイトは半年放置状態です。

ああ、はじめはアップローダ作って動いたときの感動が懐かしい...

664 :nobodyさん:2005/04/16(土) 06:56:17 ID:???
PHP勉強してからまだ日が浅いのですが、
同じような関数がいっぱいでてきて戸惑っています。
>>>EOFと>>>__EOD__が同じだったり
echoとprintとprintfが同じだったり・・・
PHP初心者向けのサイトにも
1ページ前まではprint使ってたのに、次のページではechoになってたり、
同じだからいいんでしょうけど、統一性がなくて戸惑っています。
いろいろな言語から派生しているようなので仕方ないでしょうが、
みなさんは、気にしないで書いてるのでしょうか?

665 :nobodyさん:2005/04/16(土) 06:58:56 ID:???
内部EUCで
echo mb_convert_encoding($out, "SJIS", "EUC-JP");

SJIS書出しすると "〜"この文字が"~"こーなる
>>632
マッピングってどうやって変更するの

666 :nobodyさん:2005/04/16(土) 07:47:29 ID:???
>>664
それは、お前さんがその関数に関して理解が少ないのと、
勉強始めたばかりで色々な状況に遭遇していないだけ。

>echoとprintとprintfが同じだったり・・・
これだって、それぞれに出来る事と出来ない事がある。
勿論、同じような事はできるが、作業が簡単になるとか、
色々な状況がある。

>いろいろな言語から派生しているようなので仕方ないでしょうが、
>みなさんは、気にしないで書いてるのでしょうか?
上記のように、出来る事と出来ない事があるので、
結果的には”気にして”書いている。



667 :nobodyさん:2005/04/16(土) 08:30:05 ID:???
>>650
\が勝手について困ってるのなら
$str=stripslashes($_POST['moji']);

668 :nobodyさん:2005/04/16(土) 08:55:19 ID:???
>>665
俺のとこではちゃんと表示される
PHP4.3.11とPHP5.0.4

669 :nobodyさん:2005/04/16(土) 09:18:19 ID:???
>>651
各ページで httpヘッダ(PragmaやCache-controlあたり)をチェック。
例えば、フォームのページでセッションを使ってたりすると、
これらにno-cacheが設定されて、ブラウザの戻るボタンで戻るとフォームを鯖から再読込してしまう。
この場合はsession.cache_(expire|limiter)を設定して回避できる。
とりあえず現状の把握からだな。

ブラウザの戻るボタンを使わせないように、ページ内に入力データをhiddenで仕込んだボタンを置いて、
フォームの再読込時に初期値として使う、つー気配りもあるとさらによいかと。

>>665
オイラの環境(4.3.5@win)だと 〜 になる。4.3あたりでmb_*が大幅に変更になったんじゃなかったっけ。
PHPは自前の変換テーブルを使っているので、それを書き換えてコンパイルしてサーバにインストールして...
鯖を弄れない場合は jcode.phpを使う つー逃げ道もあるかと。

670 :nobodyさん:2005/04/16(土) 09:18:56 ID:ESrHxwe0
move_uploaded_file()はmvを実行するのと比べて
どう違うのでしょうか。

671 :nobodyさん:2005/04/16(土) 09:35:57 ID:???
>>670
いろいろ制限があるよ。マニュアルにもその記載がある。
それで足りない場合は、ソースを見れ。ext/standard/basic_functions.c

672 :nobodyさん:2005/04/16(土) 13:02:14 ID:???
session cookie で session ID を渡して
その後、session_destroy して、Cookie に残ってる session 名と ID を
消したいんだけど…マニュアルに書いてある通り、
setcookie("セッション名", "", time() - 3600);
ってしても、session cookie が消えません。何か気をつける所ってありますか?

673 :nobodyさん:2005/04/16(土) 13:53:17 ID:2f7MF8Cm
>>>>650
>>\が勝手について困ってるのなら
>>$str=stripslashes($_POST['moji']);
>>650
<?
$s="圭一";
//$str=stripslashes($s);
print print $s;

?>
できない!


674 :nobodyさん:2005/04/16(土) 14:15:03 ID:???
>>650の場合は、$str = ereg_replace("\\\\","",$str); のように、返り値を$strに代入する。
>>673は何がしたくてそんなコードを書いているのか分からん。例としては不適切だな。

675 :593:2005/04/16(土) 15:59:39 ID:UCDVjpu7
>>593 です。
まじで探してるんですけど誰か知らないですか・・・。

676 :nobodyさん:2005/04/16(土) 18:17:57 ID:???
>>675
板違い

677 :nobodyさん:2005/04/17(日) 00:56:39 ID:LKi8AXzU
すみません教えてください。
2ちゃんねるは連投を防ぐために、30秒経たないと投稿できないようになってますが、
これはどこでカウントされているのでしょうか。
クッキーかと思っていたのですが、ダイアログを表示して詳細を見ても、
それらしい書き込みはないし、書き込みをブロックしてもしっかりカウントされてます。
phpで同じ仕組みを作りたいと思ったのでここに書き込みました、
よろしくお願いします。

678 :nobodyさん:2005/04/17(日) 01:26:39 ID:???
ipではないのか?

679 :nobodyさん:2005/04/17(日) 01:37:27 ID:???
>677
ttp://www.google.co.jp/search?hl=ja&q=%E9%80%A3%E7%B6%9A%E6%8A%95%E7%A8%BF%E3%81%AE%E9%98%B2%E6%AD%A2+PHP&lr=

680 :nobodyさん:2005/04/17(日) 01:38:50 ID:LKi8AXzU
>678
レスありがとうございます。IPですか、なるほど。


681 :nobodyさん:2005/04/17(日) 01:39:35 ID:???
postでphpファイルに送っています。
ユーザーが文字列を入力すると、その文字列を記述したページを日付入りURLにて、自動生成したいです。

簡単に言うと、 Hello World とユーザが入力したら、 Hello World と表示されるHTMLページ
http://ほげほげ.com/200504/0001.html を生成したいんです。

日付入りURLにて、自動生成するにはどうすればいいでしょうか? 

682 :nobodyさん:2005/04/17(日) 01:39:43 ID:???
ミスってアゲました。すいません

683 :nobodyさん:2005/04/17(日) 01:53:44 ID:XcOUU5pl
VIP板よりWEBプログラマ急募のお知らせ!!!

日本を抗日中国人から救う気概のあるプログラマさん
以下にて作戦会議をしていますのでお力を貸してください!!!

http://cgi36.plala.or.jp/bargiko/bargiko.cgi?roomID=1113648718774

よろしくお願いします!!


684 :nobodyさん:2005/04/17(日) 02:03:30 ID:???
>>681
普通に書けばいいんじゃないの?

ユーザがHelloWorldと入力し、Submitする。

現在の日付を取得し、その日付のディレクトリが存在するかを確認し、
存在しなければ作成する。

HelloWorldと表示されるHTMLファイルを生成する。

685 :nobodyさん:2005/04/17(日) 02:13:38 ID:???
>>684
ありがとうです。


686 :nobodyさん:2005/04/17(日) 05:56:38 ID:???
IFで重複したら表示させないようにしたいと思っています。

例えばnameに「nanasi」という名前が入っていたとして
次の投稿でも同じnameにnanasiを入れたとします。
通常の表示なら
1:nanasi(名前)
2:nanasi(名前)

と重複表示すると思うのですが、重複文字列の場合は
表示させないようにします。(ID1だけを表示)

自分で考えてIFを使ってif($name=="")のように判定するというのはわかるのですが、
""の中をどのように設定すれば重複登録を表示させなくするか
わかりません。
申し訳ありませんが、何かアドバイスいただければと思います。

687 :nobodyさん:2005/04/17(日) 06:06:29 ID:???
>>686
新しいnameを処理する際に、以前の「全て」のnameと比較する。

688 :nobodyさん:2005/04/17(日) 08:01:22 ID:cwjmobtF
今まで2年間ほどHTMLに日記を書いてきたのですが、
昔の方はソースが余りにも汚いので全部統一することにしました。
そこで、タイトルと本文を入力したら、指定したHTMLを吐き出すような
スクリプトは書けないでしょうか?

689 :nobodyさん:2005/04/17(日) 08:08:40 ID:???
>>688
やってみて行き詰まったらまたおいで。

690 :nobodyさん:2005/04/17(日) 09:05:16 ID:cwjmobtF
ttp://aipawa22.s106.xrea.com/test.php
作ってみました。
>>689
ありがとうございます。
早速行き詰ったのですが、これだと出力がphpになってしまいます。
htmlで出力させたいんです。
ご教授よろしくお願いします。

691 :nobodyさん:2005/04/17(日) 10:32:42 ID:???
>>690
ファイルに書き込む関数を使って、htmlファイルを作成する。
$title = 'タイトル'; $content = '内容';
$fp = fopen("target_filename.html","w");
fwrite($fp,$title.":".$content);
fclose($fp);

692 :nobodyさん:2005/04/17(日) 11:04:12 ID:???
>>684のアドバイスを実行出来ない自分の愚かさ・・・(´・ω・`)

index.html内
<form action="form.php" method=post>
言葉を入力して下さい
<br><input type="text" name="kotoba">
<br><input type="submit" name="submit" value="言葉を登録!">
</form>

form.php内
<p>
<?php print $kotoba; ?>を登録しました。貴方専用の言葉を記載したURLは以下になります
<br>
http://ほげほげ.com/2005/0417-000000001.html
</p>

//日付表示のコード
<?php
$today = getdate();
print("$today[year]$today[mon]$today[mday]<br>\n");
?>


ここまでしかわからず。日付取得からディレクトリ作成・同じ日に投稿されたら1・2・3とカウントした上でhtmlを生成
そいで生成したURLを表示
がわかりませぬ。。。

なんかそれっぽい解説サイトありませんか? Yahoo!カテゴリ登録サイトを見てもなんかイマイチ。

693 :nobodyさん:2005/04/17(日) 11:08:54 ID:???
>>691
出来ました。
それで日付をファイル名にぶち込もうと思い、
フォームを使ったのですが
"target_filename.html"の部分を$dateに置き換えるとhtmlファイルになってくれません。
試行錯誤してるんですが上手くいかず…。

694 :nobodyさん:2005/04/17(日) 11:26:18 ID:???
釣りに付き合う暇人って何を考えてるんだろうな

695 :nobodyさん:2005/04/17(日) 11:41:25 ID:???
>>692
何に困ってるのか分からん。
どういう関数を使えばいいのか分からないのなら、
 存在(重複)チェック is_dir is_file(or file_exists)
 作成 mkdir fopen
あたりを使えばできるんじゃないかなぁ。
解説サイトが必要になるほど複雑なロジックは使わなくていいはずだが。。

>>693
$dateつーのがどういう文字列か分からんが、htmlファイルにしたいならそういうファイル名にしましょう。

696 :nobodyさん:2005/04/17(日) 12:09:16 ID:???
>>693
人には向き不向きというものがあって、
お前はプログラミングには向いていない。

697 :nobodyさん:2005/04/17(日) 12:20:57 ID:???
>>694
オープンソースコミュニティみたいなもんじゃねーの

698 :nobodyさん:2005/04/17(日) 12:36:10 ID:???
>>696
今回限りにしときます。

ファイル名を日付(yyyymmdd).htmlの形にしたいんです。

699 :nobodyさん:2005/04/17(日) 12:42:43 ID:???
>>693
だから、プログラミングをするための思考に向いていないって。

>>691が示したスクリプトの各部が何をしているのかを考えろ。

$outfilename = 'target_filename.html';
$title = 'タイトル'; $content = '内容';
$fp = fopen($outfilename,"w");
fwrite($fp,$title.":".$content);
fclose($fp);

って、やれば判る?
日付を使った文字列の作り方はマニュアルを嫁。


700 :nobodyさん:2005/04/17(日) 14:15:38 ID:???
>>698
というか、他人のスクリプトも解析した経験がないの?
まずは人のを見て、どういう構造でどういう動きになっているのか理解できるようになった方が良いと思うよ。
このコードがどんな役割してるのか分からんって場合は、このスレで聞けば良いんだし。
参考にするスクリプトも選んだ方が良いけど。
もしくは素直に既存のスクリプト使っておいた方が、自分の為でもサーバーの為でもあるんじゃ。

701 :nobodyさん:2005/04/17(日) 15:01:51 ID:???
>>699
何とか出来ました(;´Д`)
ありがとうございます。

>>700
うい、勉強し直して来ます。
その時はまたお世話になると思いますが、どうぞよろしくお願いします(/д`)

702 :nobodyさん:2005/04/17(日) 16:49:27 ID:???
質問です。php4で特定ディレクトリ(chmod777)にある
全ファイル数と全ファイルサイズを取得する方法はないでしょうか?
そういった関数又は方法があればご教授願います。

703 :nobodyさん:2005/04/17(日) 16:58:02 ID:EGBwihx+
Ai-Bo 1.0 て掲示板を使ってサイトを作りたいんだけど、どこでレンタルできますか?

704 :nobodyさん:2005/04/17(日) 17:12:01 ID:???
ファイル・ディレクトリの操作の関数は、マニュアルのディレクトリ関数・ファイル関数あたり。
ttp://www.php.net/manual/ja/

705 :702:2005/04/17(日) 18:55:55 ID:???
>>704さんありがとうございます。
サンプルを参考にしてファイル数を取得するスクリプトを書いてみました。

<?php
$dir = "scandirectory";
$dh = opendir($dir);
while (false !== ($filename = readdir($dh))) {
$files[] = $filename;
}

sort($files);

print_r($files);

rsort($files);

/* print_r($files); */

for ( $i=0; $i<sizeof($files); $i++){
/* echo $files[$i]; */
echo $i;
}

?>

このスクリプトでは$iにファイル番号が次々と格納されていきます。
これでは使い物にならないので$iの最大値を取得したいのですが
$iの最大値を取得するにはどうすればいいでしょうか?ご教授願います。



706 :nobodyさん:2005/04/17(日) 19:11:02 ID:???
>>705
なんか良く分かりませんが、$iの最大値は sizeof($files)-1 ですよ

707 :702:2005/04/17(日) 19:27:45 ID:???
適当にやってたらできました。
704さん706さんありがとうございました。

完成品

<?php
$dir = "scandir";
$dh = opendir($dir);
while (false !== ($filename = readdir($dh))) {
$files[] = $filename;
}

for ( $i=0; $i<sizeof($files); $i++){
$i;
}
echo $i - 2;

?>

708 :nobodyさん:2005/04/17(日) 19:44:29 ID:???
whileん中で$i++しちゃいかんのか

709 :nobodyさん:2005/04/17(日) 19:48:24 ID:???
元質問を考慮すると、is_dir()でディレクトリを配列に放り込んでおいて
再帰処理するのが妥当なんだろうねぇ。

710 :686:2005/04/17(日) 21:15:35 ID:???
>>687
だいぶレスが空いてしまって申し訳ないのですが

「全てのnameと比較」というのは、登録してあるDBなり保存ファイル
なりを、一端読み込んで

if($name=="$name"){
表示させない文
}else{
表示させる文
}

という風にするのでしょうか?

711 :nobodyさん:2005/04/17(日) 22:31:18 ID:???
>>710
if文の中で比較するのは、
・今の処理対象のname - 例えば $new_name

・読み込んだ物をループして、その時の比較する順番になったname - 例えば $array_name[3], $old_name
との比較になる事は理解できていますか?
同じname項目ということで$nameという変数名にこだわってしまっている感じがします。

712 :nobodyさん:2005/04/18(月) 02:45:14 ID:???
WindowsXPでPHPを勉強しようと思っています。
エディタは何を使うのがよろしいでしょうか?
TeraPadはPHPに対応してないので迷っています…

713 :nobodyさん:2005/04/18(月) 03:46:32 ID:???
>>712
PHPに"対応した"エディタなんて無いんじゃ。
逆にコードハイライト程度であれば、エディタは好きな(慣れた)もの選べばよい。
但し文字コードがSJIS以外にEUC-JP/UTF-8には対応してるものを。

714 :nobodyさん:2005/04/18(月) 05:25:09 ID:???
$_SERVER に関してちょっと質問です。
arg.php というファイルは引数によって、処理を変えたいと思っています。
arg.php の起動は(他の php ファイルからの)CLI か、
あるいは browser からの GET にしようと思っているんですが、
どうやって引数を受け取ったらいいでしょうか?
基本的には $_SERVER["argv"] で array が受け取れるんですけど、
試してみたら、あるサーバーでは値が設定されてませんでした。
例えば;
  Apache/1.3.33 (Darwin) PHP/4.3.4 mod_perl (Mac OS X)

まぁ Mac で実際のサービスを動かす事は無いから無視してもいいんですけど、
一応、どこで動かすかわかんないし…
$_SERVER に設定される変数ってのをどの程度まで信用していいかどうか、教えて下さい。

715 :nobodyさん:2005/04/18(月) 06:35:51 ID:???
うちのOSXでは$_SERVER[argv]にちゃんと GET query の内容も、
コマンドラインの引数も入るけどね。

CLIでも$_SERVER["argv"]はつかえるはず。
でも2chよりマニュアルに明確に書いてある事だけを信用した方がいいよ。


そもそもどこで動かすかわからないスクリプトの動作を保証する必要があるの?
あるのなら損な仕事ですねっていうか動作条件を仕様ではっきりと指定すべき。

716 :nobodyさん:2005/04/18(月) 16:12:17 ID:???
すみません。くだ質の過去スレログってどこかにありませんでしょうか。
読んでいるだけでも結構目から鱗な事が多いので、全部読んでみたいのですが。

717 :nobodyさん:2005/04/18(月) 16:19:13 ID:???
>>716
俺のパソコンの中

718 :nobodyさん:2005/04/18(月) 16:39:57 ID:???
>>716
にくちゃんねる
みみずん

719 :nobodyさん:2005/04/18(月) 16:44:45 ID:???
>>716
1000GEX

720 :nobodyさん:2005/04/18(月) 17:10:59 ID:???
>>717
「公開されているか?」と尋ねるべきでしたね。
>>718>>719
ありがとうございます。にくちゃんねるで見付ける事ができました。

721 :nobodyさん:2005/04/18(月) 20:37:23 ID:???
$ban = "a@a.com";
extract($_POST);

if($to == $ban) exit;
mail($to,〜以下省略);

$banで禁止アドレスにa@a.comを指定しています。
$toに"a@a.com"が代入されてもifで弾いてくれなくて困っているのですが、どうすればよいでしょうか?

722 :nobodyさん:2005/04/18(月) 20:47:25 ID:???
>>721
if文の前で print "to : $to, ban : $ban"; してみ。

723 :nobodyさん:2005/04/18(月) 20:51:00 ID:???
>>721
extract()で$banが上書きされる危険とかもちゃんと考えろ

724 :nobodyさん:2005/04/18(月) 20:52:43 ID:???
>>723
やはりextract();は危険な関数ですか・・・

725 :nobodyさん:2005/04/18(月) 20:53:04 ID:???
>>721
$ban = "a@a.com";
$to = "a@a.com";
if($to == $ban) exit;
mail($to,〜以下省略);
でやってみたが

>$toに"a@a.com"が代入されてもifで弾いてくれなくて
普通に弾くがな。

726 :686:2005/04/18(月) 21:05:40 ID:wNKEVpEW
>>711
ありがとうございます。

>・読み込んだ物をループして、その時の比較する順番になった
>name - 例えば $array_name[3], $old_name
>との比較になる事は理解できていますか?

上記についてなのですが、全く理解出来ません・・。
arrayでname配列から取り出すというのはわかるのですが
old_nameというのはどこから出てきたのか?とか
そこから比較するのは正しいのか?というがいまいちどういう風に
組み込めばいいのかわからなくて。。

727 :nobodyさん:2005/04/18(月) 21:12:26 ID:???
str_replaceを使って"\"を"&yen;"に変更させたいのですが、どうすればいいのでしょうか。

728 :nobodyさん:2005/04/18(月) 21:31:28 ID:???
>>727
どうやって駄目だったんだい?
その駄目だった理由は調べてみたのかい?

729 :727:2005/04/18(月) 21:58:41 ID:???
>>728
$msg = str_replace("\", "¥", $msg);
とやってみたのですが、変換されていませんでした。

Googleで検索をかけてみましたが、それらしい情報見当たらなかったので、質問をさせて頂きました。

説明足らずで申し訳ありません。

730 :nobodyさん:2005/04/18(月) 22:29:27 ID:???
perlから移行したのですが、どうしても理解できないものがございます。
スコープの概念なのですが、


$test = 1;
$test2 = 2;

if($test){
print "$test2 <- これは表示されて正常。\n";
$test3 = 3;
}

print "$test3 <- これが表示されるのが理解できない。\n";


上記$test3が表示されるのがどうも理解できません。
書き方がおかしいのでしょうか。

731 :nobodyさん:2005/04/18(月) 22:35:13 ID:???
理解できないんじゃなくて、理解出来てないだけじゃ?

test3が表示されるということは、IFの中と外は同じスコープって事だ。

732 :nobodyさん:2005/04/18(月) 23:05:09 ID:???
>>729
ttp://www.php.net/manual/ja/language.types.string.php#language.types.string.syntax.single

>>730
PHPでは perlでのブロック・スコープみたいなものは無いよ。
PHPでのスコープはどうなってるかってのはマニュアルを参照
ttp://www.php.net/manual/ja/language.variables.scope.php

733 :nobodyさん:2005/04/18(月) 23:06:33 ID:???
functionのスコープとごっちゃになってるね。

734 :712:2005/04/18(月) 23:36:10 ID:???
>>713
回答ありがとうございました。
それでは、PHPを編集するにあたってオススメのエディタはないでしょうか?
TeraPadは行末で折り返してくれないのが不便で、何かあれば乗り換えたいのですが…

735 :nobodyさん:2005/04/19(火) 00:00:19 ID:???
>>734
行末で折り返してくれないエディタなど無い。
ウィンドウ幅で折り返し、という意味なら、
折り返される方がスクリプトエディタとしては失格。

736 :nobodyさん:2005/04/19(火) 00:16:49 ID:???
TeraPadを擁護するわけではないが、表示→折り返し桁指定でウィンドウ右端の桁で
折り返すように設定できる。ウィンドウサイズを変更するたびにやらないといけないが。
オプションのルーラーのところで論理行で行番号を表示するようにしておけば
行番号もずれることがない。
しかし俺も同等エディタに乗り換えたいという気持ちがある。

737 :730:2005/04/19(火) 00:38:02 ID:???
ご返答有難うございます。

そうですね。理解できてないですね。
スコープがかかってないのは試験でわかっていたのですが、
どうも気持ち悪くて質問してしまいました。

もう少し勉強してみます。

738 :nobodyさん:2005/04/19(火) 01:07:51 ID:???
「PHPエディタ」っていうエディタを使ってる

739 :nobodyさん:2005/04/19(火) 01:29:22 ID:???
漏れはTeraPadとPHPエディタ両方使ってる。

740 :nobodyさん:2005/04/19(火) 08:43:47 ID:???
秀丸+PHPハイライト+マクロ
これ最強

741 :nobodyさん:2005/04/19(火) 09:00:14 ID:???
漏れはVim

742 :nobodyさん:2005/04/19(火) 09:37:25 ID:???
xyzzy + php-mode + dabbrev + dmacro

743 :nobodyさん:2005/04/19(火) 10:05:49 ID:???
俺は、Zend Studio 4.0 日本語版を使ってる。
子供が居るから、アカデミックパックで1万6千ですむ。

744 :軟式PHP:2005/04/19(火) 10:49:06 ID:???
Peggy派。以前は740と同じ派。

745 :nobodyさん:2005/04/19(火) 11:05:42 ID:???
>>743
アカデミックパックって小学生でもいいのかな

746 :nobodyさん:2005/04/19(火) 11:45:15 ID:???
>>745
その辺はどうなんだろうな。
MSのアカデミックパックだと中学以上なんだよね。
それに、MSのサイトに対象学校が検索できる。

俺は、弟が高校の教師だから、弟に頼んで買ってもらってる。

747 :nobodyさん:2005/04/19(火) 15:15:29 ID:RLnorT+E
Apacheを起動させると下記のようなエラーメッセージが出るのです。

PHP Startup: Unable to load dynamic library'./php_gd2.dll' - 指定されたモジュールが見つかりません。
PHP Startup: Unable to load dynamic library'./php_mdstring.dll' - 指定されたモジュールが見つかりません。

gdをインストールしなければいけないのですか?
PHP5をインストールしただけではだめなのですか?
本の通りにインストールしたのですが…。

748 :nobodyさん:2005/04/19(火) 15:33:02 ID:???
>>747
ttp://www.php.net/manual/ja/install.windows.extensions.php

749 :nobodyさん:2005/04/19(火) 16:49:47 ID:SEfdksxA ?#
Apache2.0.49
PHP4.3.11
を使用しているのですが
Apacheを起動するとき何故か
Unknown():Unable to lpad dynamic library 'C:\php\extensions\php_curl.dll' - 指定されたモジュールが見つかりません。
というエラーが出ます
extensionsフォルダを調べてみてもちゃんとphp_curl.dllはありますし
extensionsフォルダまでのフォルダ構成もあってます
4.3.8から4.3.11にバージョンアップしてApacheを再起動した時は特にエラーは出なかったのですが…
どうやれば直るんでしょうか?
ちなみにphp.iniは4.3.8のものをそのまま使った場合と4.3.11のパッケージに入っているものを使った場合を試してみましたが
両方ともエラーが出ました

750 :nobodyさん:2005/04/19(火) 16:50:29 ID:???
兄弟……いいなぁ

751 :749:2005/04/19(火) 17:11:16 ID:SEfdksxA ?#
>>750
>>748を見てもわからなかったんですが…
extension_dirを設定してphp_curl.dllのセミコロンを削除するだけではダメなんでしょうか?
他のdllもいくつか読み込むようにしているんですがエラーは出てないのですが…

752 :nobodyさん:2005/04/19(火) 19:15:02 ID:???
http://www.google.co.jp/search?hl=ja&q=Unable+to+load+dynamic+library&lr=lang_ja

753 :749:2005/04/19(火) 20:55:13 ID:SEfdksxA ?#
>>752>>748
ssleay32.dllとlibeay32.dllをシステムフォルダにコピーしたら動きました
ありがとうございました

754 :nobodyさん:2005/04/19(火) 22:41:32 ID:wL85daoN
php4でセルを指定してexcelファイルに書き込む
ような関数はないのでしょうか

755 :nobodyさん:2005/04/19(火) 23:32:38 ID:???
変数名、関数名って付けるとき迷いませんか?
わかりやすく作ったつもりでも、後から見直してみたら判りづらいし。

756 :nobodyさん:2005/04/19(火) 23:40:32 ID:???
>>755
結局辺に英語の関数名にするより、ローマ字でモロ日本語にした方が
変数名も関数名も良いと思うの。

757 :nobodyさん:2005/04/20(水) 00:03:50 ID:???
>>754
parse_excel_file()
chooseCol()
chooseRow()


758 :nobodyさん:2005/04/20(水) 00:26:14 ID:YJUJgQqH
ttp://218.222.232.106/test.txt
ttp://218.222.232.106/skin.txt

このスクリプトを実行しても<!-- date -->以外変換されないんですが
原因わかる方教えてください

759 :nobodyさん:2005/04/20(水) 01:07:31 ID:S/OGWVDA
ある投稿者が記事を書いて、別の投稿者が関連性のある内容の記事を書いたら
お互いの記事を自動的にリンクさせる、って感じの掲示板を作ろうと思っていて、
自然文を解析させなきゃいけないから茶筅とかで形態素解析かなとまず思いついたんですが、
レンサバだと茶筅等の導入が難しかったりでPHPだけで実現できないかと模索しています。
PHPで形態素解析とか使わずに似たようなことが出来る方法ないでしょうか?

760 :nobodyさん:2005/04/20(水) 01:19:47 ID:???
>>758
したいことがよくわからんが、もうちょっと勉強しろ。

foreach使えばもっと楽だし、わざわざ配列に入れて1行ずつ比較せんでも、
ざくっとstr_replaceだけしてやりゃいいんじゃないか?

どこが間違ってるかは知らない・・・というか見る気がしない。

761 :nobodyさん:2005/04/20(水) 02:56:32 ID:???
>>758
正規表現の「パターン」とはどんなもんか勉強すること。

$replaced='title';
$replaced='body';
$replaced='date';
と並べると、$replacedには'date'しか入らんよ。
&各行でstr_replaceの返り値がどうなってんのか確認汁。

762 :nobodyさん:2005/04/20(水) 03:48:23 ID:???
凄いインデントの方法だな

763 :nobodyさん:2005/04/20(水) 04:10:07 ID:???
>>758
意図が分からんが負荷高いとディスク逝かれるぞ。
動的のHTMLを生成しないならshellでindex作ってる方が良いぞ。

764 :nobodyさん:2005/04/20(水) 07:22:50 ID:HNz86lwJ
スキンファイルをfileで読み込むべからず。
適した関数があるぜよ。

765 :nobodyさん:2005/04/20(水) 12:53:45 ID:M6NXhxaM
PHP4でSQLiteを使う場合、SQLiteのバージョンはいくつになりますか?
できればPHP5でバンドルされるSQLiteのバージョンも合わせて知りたいのですが。
よろしくお願いします。

766 :nobodyさん:2005/04/20(水) 14:42:37 ID:???
>>765
ソースをダウンロードして、
$ cat php-x.x.x/ext/sqlite/libsqlite/VERSION

php4もpearかなにかでエクステンションをダウンロードして以下同文

767 :nobodyさん:2005/04/20(水) 15:32:45 ID:???
PHP5なら、未定義変数でエラーになるモードが
追加されてますよね?

768 :nobodyさん:2005/04/20(水) 15:52:31 ID:???
>>767
PHP5で追加されたのは、E_STRICT noticeだけですよ?
ttp://www.php.net/manual/ja/ref.errorfunc.php#errorfunc.constants

769 :nobodyさん:2005/04/20(水) 16:09:17 ID:???
>>766
レスサンクス。
php-5.0.4は2.8.14でした。

770 :nobodyさん:2005/04/20(水) 16:19:05 ID:???
!== の意味を教えてください。
本にのってない…。

771 :nobodyさん:2005/04/20(水) 16:29:16 ID:???
>>770
比較演算子
ttp://www.php.net/manual/ja/language.operators.comparison.php
それが載ってないってことはphp4が出る前の本なのかな、それとも入門版なのだろうか。。
いい機会なので他の部分にも目を通しておきましょう。

772 :770:2005/04/20(水) 16:45:18 ID:???
>>771
ありがとうございます。
!=との違いは、
<?
$a = 10; //int型
$b = '10'; //char型

if($a != $b){
print '!=';
}elseif($a !== $b){
print '!==';
//これが出力される
}
?>
ということですね。

773 :nobodyさん:2005/04/20(水) 16:50:25 ID:???
ttp://php.s3.to/man/types.comparisons.html
char型ではなくString型

774 :770:2005/04/20(水) 17:27:03 ID:???
>>773
あ、こりゃ失敬。

775 :nobodyさん:2005/04/20(水) 17:37:55 ID:H4DxOPr0
PHPのフォームで入力したデータが、
渡らないという現象が起こることってあるのでしょうか?

ユーザーの投稿フォームで入力したデータをメールで受信
するようにしてるのですが、ごくたまに空で受信されることが
あります。エラーチェックをしてるので空で渡るとエラー
が表示されのでこのような現象を解明できません。

誰かわかる人いないでしょうか?

776 :nobodyさん:2005/04/20(水) 17:57:02 ID:???
>>775
入力チェックが甘い。
入力データの加工が不適切。
エラーチェックが甘い。
etc.


777 :nobodyさん:2005/04/20(水) 18:32:11 ID:???
>>775
送信前のログも暗号化してとっておくと良いよ

778 :nobodyさん:2005/04/20(水) 19:24:17 ID:CALzzqin
>>757
perl?
phpからexcelファイルに書き込むことはできないか・・・

779 :734:2005/04/20(水) 20:23:33 ID:???
>>735,736
ありがとうございます。そうです、ウィンドウ幅で折り返しという意味でした。
TeraPadも設定でできるのですね。やってみます。

>>738〜744
ありがとうございます。とりあえずPHPエディタっていうのを使ってみますね。

780 :nobodyさん:2005/04/20(水) 20:46:22 ID:???
>>778
pear (ttp://pear.php.net/)にExcel関係のパッケージがあったと思われ

781 :nobodyさん:2005/04/20(水) 21:11:21 ID:y5EWfJ2t
xyzzyおすすめ


782 :779:2005/04/20(水) 21:44:32 ID:???
>>781
調べてみたらとても良さそうでした。こちらも使ってみますね。

783 :nobodyさん:2005/04/20(水) 23:10:46 ID:feDsyNHx
一応ググってみたんですけどぜんぜん出てこなかったので質問させてもらいます。
(過去スレとかは時間なくて見てないスマソ)

phpで時間指定で自動起動させることって可能でしょうか?
できればOS依存とかウェア依存なしの回答があれば助かりますが、
依存する方法でも知っているようでしたらご教授お願いします。

なお、鯖OSはWin2kまたはLinux。ウェアはともにapache使ってます。
よろしくお願いします。

784 :nobodyさん:2005/04/20(水) 23:13:03 ID:???
>>783
OS依存しかないよ
スケジューラとしてphp起動しっぱなしってならいいけど
そんなんやだしよ

785 :783:2005/04/20(水) 23:21:44 ID:feDsyNHx
>>784
そか、即レスサンクス。
板違いになるがじゃあPERL/CGIもOS依存になっちゃいますか?

786 :nobodyさん:2005/04/20(水) 23:25:25 ID:???
>>785
ああ、そうさ

787 :nobodyさん:2005/04/20(水) 23:28:53 ID:bhY+XuSL
<?php
print "HTTP_USER_AGENTは、[<b> $_SERVER[HTTP_USER_AGENT] </b>]<br>\n";
print "REMOTE_ADDRは、[<b> $_SERVER[REMOTE_ADDR] </b>]<br>\n";
print "CONTENT_LENGTHは、[<b> $_SERVER[CONTENT_LENGTH] </b>]<br>\n";
print "QUERY_STRINGは、[<b> $_SERVER[QUERY_STRING] </b>]<br>\n";
?>
----------------------------------------------------------------
↑こう書いてエラーは出ないんですが、ブラウザで表示すると、
最後のQUERY_STRINGの上にこんなエラーってか注意みたいな表示が出ちゃいます。
「Notice: Undefined index: QUERY_STRING in C:\WWWRoot\_SERVER-test.php on line 8」
出ないようにしたいんですがどうすればいいですか?
ちなみにURLの後ろにパラメタ適当につけたらちゃんと消えますが。。。

788 :783:2005/04/20(水) 23:31:23 ID:???
>>786
dクス。
UDの集計は自動でやってるとかって話をきいたのでそれをphpでできるかなぁ
と思ったんですがどうやら無理っぽいので諦めまつ。
ノシ

789 :nobodyさん:2005/04/21(木) 00:29:25 ID:???
>>787
<?php
if(!array_key_exists("QUERY_STRING", $_SERVER)) $_SERVER[QUERY_STRING] = '';
print "HTTP_USER_AGENTは、[<b> $_SERVER[HTTP_USER_AGENT] </b>]<br>\n";
print "REMOTE_ADDRは、[<b> $_SERVER[REMOTE_ADDR] </b>]<br>\n";
print "CONTENT_LENGTHは、[<b> $_SERVER[CONTENT_LENGTH] </b>]<br>\n";
print "QUERY_STRINGは、[<b> $_SERVER[QUERY_STRING] </b>]<br>\n";
?>

790 :nobodyさん:2005/04/21(木) 01:11:14 ID:???
ttp://pear.php.net/package/Cache_Lite

このCache_Liteの使い方を教えてください。
付属のtest.phpにアクセスしてもCache Missed !と出てうまくいかないんです。

791 :nobodyさん:2005/04/21(木) 02:07:14 ID:???
>>790
マニュアルに例まで載ってるのに、これ以上何を望むつもりなんだ・・・
コンストラクタの$option['cacheDir']が無いとかじゃないかなぁ。
$Cache_Lite->setToDebug(); してみると、エラーが起きてる場合表示されるから試してみ。

792 :nobodyさん:2005/04/21(木) 02:41:53 ID:???
>>787
@$_SERVER[〜]とする。

793 :nobodyさん:2005/04/21(木) 11:56:50 ID:???
>>787
<?php
error_reporting(E_ALL ^ E_NOTICE);
print "HTTP_USER_AGENTは、[<b> $_SERVER[HTTP_USER_AGENT] </b>]<br>\n";
print "REMOTE_ADDRは、[<b> $_SERVER[REMOTE_ADDR] </b>]<br>\n";
print "CONTENT_LENGTHは、[<b> $_SERVER[CONTENT_LENGTH] </b>]<br>\n";
print "QUERY_STRINGは、[<b> $_SERVER[QUERY_STRING] </b>]<br>\n";
?>


794 :nobodyさん:2005/04/21(木) 12:07:43 ID:???
mkdir('abc',0777);としてもabcのパーミッションが777にならないのは何故でしょうか?


795 :nobodyさん:2005/04/21(木) 12:37:26 ID:???
>>794
umaskかな

796 :794:2005/04/21(木) 13:10:11 ID:???
>>795
あ、mkdirでの変更は一時的な変更でしかないのですね-;
勉強になりました

797 :nobodyさん:2005/04/21(木) 14:16:56 ID:???
>>794
それOSは何よ?
その手のコマンド記述ははじめてみた。

798 :nobodyさん:2005/04/21(木) 14:27:42 ID:???
>>797
スマソ。PHPスレだったのね・・・orz

799 :nobodyさん:2005/04/21(木) 15:06:14 ID:???
>>797
PHPの関数だからOS関係ない(Winでは0777は無視される)

800 :799:2005/04/21(木) 15:08:32 ID:???
よく見たら
797=798ということね
798が797にレスしてるみたいじゃないか orz

801 :nobodyさん:2005/04/21(木) 17:05:49 ID:???
<?php readfile('/very/big/file'); ?> として、
大きなファイルをダウンロードさせようとしたのですが
2000000バイト(2MB弱)で切られてしまいます。

これはPHPの仕様なのでしょうか?
回避するには少しずつfreadして出力するしかないでしょうか?
PHP 5.0.4 を FreeBSD 5.3 で使っています。


802 :787:2005/04/21(木) 17:25:34 ID:7ze3BV4u
>>789さん, >>792さん
試しましたが、だめでした。結果はかわらずでした。

>>793さん
できました!!ありがとうございます。
error_reportingについてぐぐったらいろいろわかって
なるほどという感じでした。

いい忘れてましたが、サーバにうpしたら何もしなくてもうまくいくんですが、
ローカルでIISにPHP入れてやるとあのnoticeが出てしまっていたんです。
ってか毎回error_reporting文を書かないと無理なんですかね?
なにか、php.iniなるものをいじれば大丈夫とか書いてあったけど
よくわからなかったです。

803 :nobodyさん:2005/04/21(木) 17:50:08 ID:???
>>802
\windows\php.ini の error_reporting を変えれ。


804 :nobodyさん:2005/04/21(木) 20:21:34 ID:6XaqBGy5
>>801
php.ini

805 :nobodyさん:2005/04/21(木) 21:39:03 ID:???
>>804
php.iniで制御できるのはアップロードのサイズですよね?
ダウンロードのサイズを制御する方法がわからないのです。

806 :nobodyさん:2005/04/21(木) 21:40:50 ID:???
>>805
サイズ制限とゆーより、途中でタイムアウトしてるだけじゃねーの?

807 :nobodyさん:2005/04/21(木) 21:43:13 ID:???
いつもぴったり2000000バイトなんです。

808 :nobodyさん:2005/04/21(木) 22:21:22 ID:???
織れみたいに独学でPHP学んで、低機能掲示板くらいは作れるやつの今後の良い上達方法ってないか?

809 :nobodyさん:2005/04/21(木) 22:22:51 ID:???
人のソースを見まくる。
DBにも触れてみる。
とか

810 :nobodyさん:2005/04/22(金) 00:48:00 ID:???
人のソースとマニュアル見て勉強中で、日記と掲示板を自作できるように
なりたいんだけど、サンプルとしてCGIはよりどりみどりだけど
PHPってあんまりないよね… いや、無いわけじゃないんだけど少ないっていうか。

811 :nobodyさん:2005/04/22(金) 01:41:31 ID:???
無難にレッツのソースでも見ておけば。
あまり難しいことしてないし簡潔に作ってるから、初心者には分かりやすいと思うよ。

812 :nobodyさん:2005/04/22(金) 02:28:28 ID:???
PHPもCGIを実現する言語の一つなんだが。
開発中のちっこいCMS探して、開発に口をはさむと、すぐ上達するぞ。

813 :nobodyさん:2005/04/22(金) 04:47:59 ID:???
>>811
あれソース汚くね?

低機能掲示板が作れるなら、あとはアイディアと実現するための方法を考えるだけでしょ。

例えば発言ランキングシステムの場合だと、
1.同一IPでカウントするのか、名前でカウントするのか、パスワードでカウントするのかをまず決める
2.書き込み処理の前に、判定文をいれる
3.ランキング用ログが空だったらそのままいれる
4.そうじゃなければ連想配列にいれて1こ1こ比較する
5.同じのがあればカウントアップ
6.なければ最後に追加

次に表示部分を作る。array_multisortかなんかでカウンタ部分を基準に
ソートして表示するだけ

ranking.dat
----------------
やまだ,12
たろう,5
ささき,20
にしむらひろゆき,10

とりあえず、手当たり次第に機能を追加していけ。
超高機能にして、なおかつコードが分けられてて保守性が高いものを
作るように努力すれば力は付くよ。

814 :nobodyさん:2005/04/22(金) 05:00:15 ID:CDduA99v
phpで4次方程式の解を求めるプログラムを
作ることは可能でしょうか。

815 :神の子:2005/04/22(金) 06:02:56 ID:Bd2K4OvA
プログラムというものは作る人の力量によってありとあらゆる形に成りえます。
つまりあなたの掲示したそのプログラムも理論的には可能でしょう。
あえて今ここで可能かどうかを結論付けるのならば私はこう答えます。
力量を問われるときそこに力量のある人間がいるかどうかです。
つまりそれ相応の力量がある人間がいるのならば可能ですしないのならば不可能ということです。
だからもうこんなくだらない質問をしないでください。
私はあなたのような愚か者が大嫌いなのです。

(・A・)

816 :nobodyさん:2005/04/22(金) 06:11:41 ID:???
じゃあ3次方程式の解を求めるプログラムは作れますか?

817 :nobodyさん:2005/04/22(金) 06:12:02 ID:???
>>815
しかし残念ながらスクリプト言語では限界がある。

818 :nobodyさん:2005/04/22(金) 06:31:52 ID:???
>>815
朝っぱらからご苦労様。

819 :nobodyさん:2005/04/22(金) 07:03:42 ID:???
山本“KID”徳郁キタ━━(゚∀゚)━━!!!

820 :nobodyさん:2005/04/22(金) 08:11:35 ID:???
問題を解析して最終的に四則演算で解決できるのであれば、
できない計算問題はないと。

解があるものなら計算問題でphpにできないことはないでしょう。
何らかの解決方法が難しいかもしれんが必ずある。
なので可能、不可能どちらかといわれたら「可能」以外にはない。

821 :nobodyさん:2005/04/22(金) 11:45:20 ID:???
file()とfopen(),fgets()についてなのですが、
http://www.stackasterisk.jp/tech/php/php02_01.jsp

>違いは、file 関数は一度配列にファイルの内容を格納しているという点です。
>当然、file 関数で大きなファイルを扱うと、メモリをたくさん使います。
>ですから、大きなファイルを扱うときは fopen, fgets を使うのが良いでしょう。
とありますが、例えば
---
$fp = fopen("/tmp/hoge.txt", 'r');
while ( !feof($fp) ) {
$buff() = fgets($fp, 9182);
}
fclose($fp);
---
のように一度配列に読み込んで使う場合は、file()で一度に読み込んでしまう方法も
fopen(),fgets()でループして読み込ませる方法も処理速度以外の点では変わらないのでしょうか?

822 :821:2005/04/22(金) 11:46:36 ID:???
$buff[] = fgets($fp, 9182);

でした・・・orz

823 :nobodyさん:2005/04/22(金) 12:17:30 ID:LithArKT
ファイルのアップロードでファイルを参照しなかった時
アップロード処理をしない、というのに
if (isset($_FILES['userfile'])) {
〜処理〜
}
と書いてるのですが有効になりません。
どうしたらよいでしょう。

824 :nobodyさん:2005/04/22(金) 12:20:48 ID:???
>>823
print_r($_FILES['userfile']);

825 :nobodyさん:2005/04/22(金) 12:38:47 ID:BaSGQthe
>>824
Array ( [name] => [type] => [tmp_name] => [error] => 4 [size] => 0 )
エラーコードはどうしても入ってしまうものなのでしょうか

826 :nobodyさん:2005/04/22(金) 12:51:49 ID:???
>>825
なにか不都合でも?

827 :nobodyさん:2005/04/22(金) 12:59:52 ID:???
>>823
「アップロードの処理をしませんでした」ってのが>>825のエラーコードじゃないの?

828 :nobodyさん:2005/04/22(金) 13:04:14 ID:BaSGQthe
あ、そうなんですか
てっきり、処理をしない=アップロード失敗だと思い込んでました

829 :nobodyさん:2005/04/22(金) 14:11:34 ID:???
>>825
UPLOAD_ERR_NO_FILE
値: 4; ファイルはアップロードされませんでした。


830 :nobodyさん:2005/04/22(金) 16:26:43 ID:???
>>821
結局配列に入れるなら変わらない。

831 :nobodyさん:2005/04/22(金) 17:27:34 ID:g8UiWXVV
俺もIISにphp入れてるんだけどfopenやfcloseって使えないっぽい?

Warning: fopen(count.txt) [function.fopen]: failed to open stream: Permission denied in C:\hp\count.php on line 9
Warning: fwrite(): supplied argument is not a valid stream resource in C:\hp\count.php on line 10
Warning: fclose(): supplied argument is not a valid stream resource in C:\hp\count.php on line 11

こんなのが出る。カウンタ増やすプログラムだけどカウンタ増えない。


832 :nobodyさん:2005/04/22(金) 17:29:42 ID:???
>>831
ファイルの書き込み権限が無いだけじゃない?

833 :831:2005/04/22(金) 18:02:33 ID:g8UiWXVV
>>832

[規定のウェブサイトのプロパティ]→[ホームディレクトリ]→[書き込み(W)]に
チェックを入れてもビクともしませんでした。

834 :nobodyさん:2005/04/22(金) 18:38:29 ID:SVAfoP6X
最近、マリモーマさんはどこにいったのか?だれかしりませんか?

835 :nobodyさん:2005/04/22(金) 18:39:28 ID:???
>883
じゃあ、その設定じゃないってことだから、他を探そうよ

836 :nobodyさん:2005/04/22(金) 18:40:58 ID:???
HTMLのファイル内にphpを表示させたい
(トップページにブログの最新記事とか)
のですが、どうすればいいでしょうか?
できればJavascriptは使いたくありません。

imgタグ、 <?php include〜?>などを使ってみましたができませんでした。

837 :nobodyさん:2005/04/22(金) 18:46:07 ID:???
PHP内にHTML書けばいいじゃない

838 :nobodyさん:2005/04/22(金) 18:46:20 ID:???
なんつっか、自分のやりたいことと、やったことを、
もっと正確に丁寧に書け

839 :nobodyさん:2005/04/22(金) 18:51:41 ID:???
>>836
<img src="〜.php">にすると、〜.phpは画像ファイルを出力しないといけない。
正確には、画像ファイル用のhttpヘッダと画像ファイル本体の内容を返すことになる。
<?php include〜?>は、その文を含むファイルがphpとして処理された場合に効果を発する。
鯖の設定にもよるが、通常 拡張子phpでないと、phpとしては処理されない。

やり方はいろいろあるだろうけど、例えば、
・表示したいページを拡張子phpのものに変更し、includeを使う。
・表示したいページはhtmlのままで、phpがそのページ(全体)を書き換えるようにする。
・表示したい部位をiframeにして、html+phpファイルの2つから構成されるようにする。
・諦める

840 :nobodyさん:2005/04/22(金) 19:45:20 ID:???
回答ありがとうございます

とりあえず拡張子をphpにして対処してみます。

841 :nobodyさん:2005/04/22(金) 20:58:54 ID:z8YA9D+9
携帯電話の固有識別番号ってどうやって取得すればいいのでしょうか?
あんまりにも携帯からの荒らしが多いので、2chと同じく
固有識別番号で規制しようかと思っているのですが、
検索しても全く情報が見つかりません…

842 :nobodyさん:2005/04/22(金) 21:09:07 ID:???
>>841
そういう情報は各キャリアのサイトで探すべきだと思うが。PHPに関係ないし。

843 :841:2005/04/22(金) 21:32:06 ID:???
>>842
IPやホストみたいにPHP側でブッコ抜ける物かと思っていました…
ありがとうございます、調べてみますです。

844 :nobodyさん:2005/04/22(金) 21:41:55 ID:+qJeWhCF
>>843
てかHTTPなんだからヘッダに乗せる以外に手段はないと思うけどなぁ

845 :799:2005/04/23(土) 08:56:17 ID:???
DoCoMoはUAにくっついてくるけどね
他は知らん

846 :nobodyさん:2005/04/23(土) 10:36:46 ID:ArE+mySz
どこもは503以降、開発側でaタグまたはformタグになんたらオプションをつけ、ユーザー側で「はい」を押すとUAについてくる。
Vodaは51系以降、ユーザー側で通知をONにしているとUAについてくる。
あーうーとつーかーは開発側が$_ENV[なんとか]の環境変数で自由に取り出せる

847 :nobodyさん:2005/04/23(土) 12:03:01 ID:???
utn属性

おまえ、アプリ板某ゲームスレで晒された香具師だろw

848 :nobodyさん:2005/04/23(土) 13:33:13 ID:???
htmlのフォームに入力した内容を同じディレクトリのphpファイルの
変数($namae)に渡して表示させたいんですが、
phpのほうでUndefined variableのエラーが出ます。
参考書付属のCD-ROMのサンプルデータをそのまま使っても
同じ結果になってしまうんですが、どういう原因が考えられるでしょうか?

<FORM action="./○○○.php" method="post">
<INPUT type="text" name="namae" size="30">
<INPUT type="submit" value="送信">
</FORM>

<?php
$text="$namae";
echo $text;
?>
で、というやつです。2000serverのApacheでやってます。php4

849 :nobodyさん:2005/04/23(土) 13:49:20 ID:???
>>848
基本が理解できてない。

850 :nobodyさん:2005/04/23(土) 13:51:19 ID:???
その参考書は古いんじゃないかな
PHP4.2.0以降はスーパーグローバル変数を使わないとダメだよ。

851 :850:2005/04/23(土) 13:52:21 ID:???
というかそれ以前の問題っすね(´・ω・`)

852 :848:2005/04/23(土) 13:57:17 ID:???
すいませんきちんと勉強します、失礼しました・・・

853 :nobodyさん:2005/04/23(土) 14:49:17 ID:???
ワロスw

854 :nobodyさん:2005/04/24(日) 08:43:41 ID:???
質問です。$comの中に">"が入ってたらその行を引用文として色を変えています。
$com = eregi_replace("(^|>)(>[^<]*)", "¥¥1<font color=#ff9166>¥¥2</font>", $com);

他に、$comに">>"が入ってたら違う色に変えたいのですが正規表現の書き方が分かりません。
どなたか教えて下さい。m(_ _)m


855 :nobodyさん:2005/04/24(日) 13:52:09 ID:ztU9/Bmh
既にあるプログラム(ネット上で動作する)これって可能でしょうか?
ちなみに既にあるプログラムは全く弄ることはできません。
インターフェース用のプログラムを作って、
元プログラムの処理結果を抜き取ってくる、みたいな感じになると
思うのですが。
単純に静的なウェブページの表示を切り替えるのなら、
そう難しいことではないと思うのですが、
元が動的なウェブページになりますので、そこが色々厄介かなと。

ちなみにphp経験は書籍読みながらなら、なんとか掲示板等を作れる
レベルで、はっきりいって、素人レベルだと思います。

アドバイスどうか宜しくお願いします。

856 :nobodyさん:2005/04/24(日) 13:53:03 ID:???
>>855
system

857 :nobodyさん:2005/04/24(日) 14:06:33 ID:???
>>854
1行を1つの要素とした配列でforeach($hoge as $com)として回しているんであれば

正規表現を使わなくとも可能。

if(substr($com,0,1)=='>'){
 if(substr($com,0,2)=='>>')[
 }else{

}

858 :857:2005/04/24(日) 14:07:42 ID:???
間違って送信しちまった。
インデントにtab使う癖が・・・。


if(substr($com,0,1)=='>'){

 if(substr($com,0,2)=='>>')[
 //行頭が">>"の場合

 }else{
 //行頭が">"の場合

 }
}

859 :854:2005/04/24(日) 14:10:43 ID:ztU9/Bmh
>>既にあるプログラム(ネット上で動作する)これって可能でしょうか?

既にあるプログラムの表示方法のみを切り替えることは可能でしょうか?

の間違いでした、スマソdesu

860 :nobodyさん:2005/04/24(日) 14:33:34 ID:???
>>859
JavaScript

861 :854:2005/04/24(日) 16:04:22 ID:???
>>858
すいません、言葉が足りませんでした。$comで一つの要素になってます。
掲示板のコメントの要素として使ってます。

862 :nobodyさん:2005/04/24(日) 21:10:44 ID:W++2BwUo
すみません、今HPを運営したいと考えているんですが動画をいろいろと上げていきたいと思っているのでレンタルサーバーでは少し厳しいかと思っております。
そこで自宅サーバーに踏み切ろうと思うんですが、現在パソコンが1台しかないんです。
この場合は新たに1台用意しなければなりませんか?
それとも今ある1台でサーバーとしても、HP編集の用途としても、趣味でのゲーム等にも使えますかね?
教えて下さいお願いします。


863 :nobodyさん:2005/04/24(日) 21:35:51 ID:???
>862
真面目に答えるけど、そのていどの知識では
鯖立ては止めた方が良いよ。

864 :nobodyさん:2005/04/24(日) 21:36:03 ID:???
自宅鯖でHP運営だとOSはLinuxだろうな。
Linuxで動くゲームなら良いけどな・・・

それに、色々な所からアクセスが来るのに、
裏でゲームやってたら、ゲームのCPU占有率が高くてHPが遅くなるだろうな。
また、逆の場合もあって、HPアクセスが多いと、ゲームが途中で止まるかも。

まぁ、悪いことは言わないからもう1台用意する事をお勧めする。
サーバだから、高価なグラフィックカードとか不要だし、ディスプレイすら要らない。
ディスプレイ必要なら、既存のディスプレイ繋げば良いし、
OSがLinuxならその他のスペックもそれ程高くなくても良い。
秋葉でパーツ探して組み立てたり、ショップのBTOかなんかで5万も出せば十分なPCが買える。

865 :nobodyさん:2005/04/24(日) 21:42:24 ID:???
>>861
改行でexplode()して以下>>858

866 :nobodyさん:2005/04/24(日) 21:44:21 ID:???
>>862
PHP「言語」とは全く関係ない話だと思うんだが。。。
可能だけど、当然サーバの機能を果たすためのリソース(CPUやらメモリやら回線やら)を食いつぶすから、
確実に今より使い勝手が悪くなりますよ。
それ以外にも運用のための知識等も必要になりますし、懐状態と頭の中身との相談になるんじゃないですかねぇ。
自宅鯖板があるので話が続く場合はそちらへ。 ttp://pc8.2ch.net/mysv/

867 :854:2005/04/24(日) 22:19:11 ID:ztU9/Bmh
JavaScript ではなく、
PHPでは不可能でしょうか?

868 :nobodyさん:2005/04/24(日) 22:24:40 ID:ZdX9oQv/
>>862
自宅サーバってのはマシンをもう一台用意するとかそんな話じゃなくて、
回線をもう一本用意するとか、そういう話になるもんだけど。
要するに普通は外に置いてあるものを自宅に持ってくるだけなんだから。

とはいえ、自宅で自分が使ってる間はサーバが消えて無くなっててもいいのであれば
マシンも回線も共通にして、切り替えて使ったら?

869 :nobodyさん:2005/04/24(日) 22:33:24 ID:???
回線は、Fフレッツなりつかえば問題無さそうだけどな。

870 :nobodyさん:2005/04/24(日) 22:41:30 ID:???
>>867
>>855の質問だよね?
できるだろうけど、難易度は 既にあるというプログラムの出力内容次第だろうね。
それに、他人の物を掠め取るつー事だと相手の了承も得なきゃいけないし。

871 :854:2005/04/24(日) 23:35:16 ID:ztU9/Bmh
>>870
利用することは既に了承を得ていますが
どのような関数を使うかなど、全く想像がつかないので
ヒントでも与えて頂ければ、と思うのですが。

どうか宜しくお願いします。

872 :nobodyさん:2005/04/24(日) 23:43:23 ID:cJjvrVZL
PHPで簡単なアクセスカウンターを作ったのですが、アクセス解析のユニークと比べると
多少誤差が出てしまいます。
IPチェックを行い、カウンターの設定を重複アクセスはカウントしない様にしてます。
以下がソースです。どこが悪いのでしょうか?

873 :872:2005/04/24(日) 23:43:52 ID:???
$now_date = gmdate("Ymd", time()+9*3600); //今日の日付
$yes_date = gmdate("Ymd", time()-15*3600); //-24h
$dat = file(COUNT_LOG_PATH);    //カウントファイルを配列に
list($key, $all, $tod, $yes) = explode("|", $dat[0]); //データを分解
$ip = getenv('REMOTE_ADDR');    //アクセス者のIP取得
$regip = file(IP_LOG_PATH);    //IPファイルを配列に
$countflag = false;
if(IP_CHECK && array_search($ip . "\n", $regip) === false){ //IPチェックON
  if($key == $now_date){ $fp = fopen(IP_LOG_PATH, "a"); } //今日のログ保存中ならIP追加
else{ $fp = fopen(IP_LOG_PATH, "w"); } //日付が変わったらファイル上書き
flock($fp, 2);
fputs($fp, "$ip\n");
fclose($fp);
$countflag = true;
}elseif(!IP_CHECK){        //IPチェックOFF
$countflag = true;
}

if($countflag){          //書き込みフラグONなら
if($key == $now_date){ $tod++; } //キーが今日なら今日をアップ
else{ $yes = ($key == $yes_date) ? $tod : 0; $tod = 1;} //キーが昨日なら昨日に今日カウント格納それ以外は0
$all++;            //合計をカウントアップ
$new = implode("|", array($now_date, $all, $tod, $yes)); //データ連結
$fp = fopen(COUNT_LOG_PATH, "w"); //ファイルに保存
flock($fp,2);
fputs($fp, $new);
fclose($fp);
}

874 :nobodyさん:2005/04/24(日) 23:45:58 ID:???
>>871
状況がよく掴めていないんだけど、こんな感じかな。

(a)対象がリモートの場合、
1. fopen(),file(),fsockopen()辺りの関数を使ってリモートファイルを取得。
2. 取得したものから(または取得しつつ)、必要なデータ部分を抜き出す。
3. データを飾り立てる。
最悪、htmlをパースするスクリプトを書くことになるかと。

(b)対象がローカル
対象のプログラムの組み方次第だけど、最悪(a)と同じ事をしなきゃいけないかと。

875 :nobodyさん:2005/04/25(月) 00:05:57 ID:???
>>874
htmlをパースするスクリプトを書くくらいなら
JavaScriptでドムればいいと思った

876 :854:2005/04/25(月) 00:16:35 ID:7+40Al/Q
分かりやすいレスありがとうございます。
例えば、変数を入力して演算するスクリプトがあるとして、
そのスクリプト自体はまったくいじらずに、
別のスクリプトで表示、外観を組み立てる、ということが目的です。

一つだけいいでしょうか?
「パースする」ってどういう意味でしょうか?
辞書で調べたら、
アメリカの哲学者の名前と出てきました。orz
パースペクティブの略でしょうか?

877 :854:2005/04/25(月) 00:17:54 ID:???
何度もスマソ、
JavaScript で「ドム」るとはどういう意味でしょうか?
ぐぐっても分かりませんでしたorz

878 :nobodyさん:2005/04/25(月) 00:39:49 ID:0O36XnJZ
DOM

879 :nobodyさん:2005/04/25(月) 00:52:08 ID:???
もし個人でWEBクリエーターとして独立するには、プログラミング、
サーバー、DBについてはどのくらいのレベルまでカバーすれば良いでしょうか?
たとえばDBにしても、MYSQLとORACLとでは、知識に格差がある
と思うんです。よろしくお願いいたします。




880 :879:2005/04/25(月) 01:01:02 ID:???
また、クリエーターとしてJAVAは覚えたほうが良いと聞きました。
JAVAプログラミングには、アプリケーションの作成くらいしか用途が
思い浮かばないのですが、WEB製作時になんの役割として使用される
のでしょうか?

881 :nobodyさん:2005/04/25(月) 01:15:57 ID:???
Web制作板で色々質問してた人かのぅ。
Javaはappletやiアプリの他にも、JSP servletといったサーバサイドプログラムにも使われる。
で、これが一番重要なことなんだが、サーバサイドプログラムを作るのに使われる言語に
PHPという言語も含まれていて、ここはその言語のためのスレなのだ。

882 :nobodyさん:2005/04/25(月) 01:17:29 ID:???
$fp = file_get_contents('http://hogehoge.jp/');
echo $fp;

なら問題ないのですが、

$fp = file_get_contents('http://hogehoge.jp:80/');
echo $fp;

のようにポート番号を含むと正常に表示できません。
Warning: file_get_contents(
http://hogehoge.jp:80/): failed to open stream: No such file or directory

ポート経由のデータをfile_get_contentsしたいのですが、
この場合どう対応すれば良いでしょうか?

883 :nobodyさん:2005/04/25(月) 01:25:58 ID:???
ローカルでテスト中なんだけど、全部処理した(っぽい)のにまだ「 localhost を待っています... 」とか出てるんだが。なんでだ?

884 :nobodyさん:2005/04/25(月) 01:37:04 ID:???
>>879
"独立"なら技術よりも人脈や営業力の方を重要視しろ。
仕事の幅で要する技術のレベルも変わってくる。
一般的なフリーランスなら広く&浅く(ても良い)。

885 :872:2005/04/25(月) 01:51:49 ID:0QyGkIUa
だれも答えてくれない (つД⊂)シクシク
もう一度だけageさせて下さい。

886 :ファイルロッカー:2005/04/25(月) 02:15:53 ID:0O36XnJZ
r,r++,w,w++,x,x++

fopenで上記のそれぞれのモードで開いた時、
flockで、LOCK_SHを指定するのは最初の「r」だけで、それ以外の5つはLOCK_EX
ということでいいの?

887 :886訂正:2005/04/25(月) 02:20:08 ID:0O36XnJZ
r、r+、w、w+、a、a+、x、x+

fopenで上記のそれぞれのモードで開いた時、
flockで、LOCK_SHを指定するのは最初の「r」だけで、それ以外の7つはLOCK_EX
ということでいいの?

888 :nobodyさん:2005/04/25(月) 05:31:40 ID:???
こんにちは。
スレッド式掲示板のスクリプトを探しているんですが、どこかにオススメはありませんでしょうか?

889 :888:2005/04/25(月) 05:45:41 ID:???
すみません、自己解決しました

890 :nobodyさん:2005/04/25(月) 08:09:23 ID:HSj72Zbp
1時間ごとに定期的に実行したい場合、どうすればいいの?


891 :nobodyさん:2005/04/25(月) 08:36:37 ID:???
>>890
cron、at、喪前が寝ずの番をする。

892 :nobodyさん:2005/04/25(月) 09:25:38 ID:HSj72Zbp
phpだけでは出来ないのですね

893 :nobodyさん:2005/04/25(月) 09:49:46 ID:IAqctJnu
アプリ側だけで出来る言語ってあるの?

894 :軟式PHP:2005/04/25(月) 11:15:14 ID:???
>>892
不安定でもいいなら、ブラウザ立ち上げっぱなしにしてリフレッシュで対応しとけ。

895 :889:2005/04/25(月) 11:25:24 ID:???
>>890は別人です、ビックリした〜。
オススメのスクリプト置き場、ありましたらお願いしますm(__)m

896 :895:2005/04/25(月) 14:14:02 ID:???
すみません。自己解決しました。

897 :nobodyさん:2005/04/25(月) 15:40:21 ID:???
>>895
http://kasarfa.com/

898 :nobodyさん:2005/04/25(月) 16:44:46 ID:???
>>892
CLI版があるならデーモンプログラムをPHPで作れるがな。

899 :nobodyさん:2005/04/25(月) 19:22:11 ID:???
http://www.eweb-design.com/link/link.php
リンク集スクリプトを探していて引っかかったんですが
こんなスクリプトはないでしょうか?

900 :nobodyさん:2005/04/25(月) 19:42:28 ID:???
スクリプトがなければ作ればいいじゃない

901 :882:2005/04/25(月) 21:44:07 ID:???
レスキボンヌです

902 :nobodyさん:2005/04/25(月) 22:04:57 ID:???
>>901
オイラの環境(php4.3.5@win2k)では問題なく動作した。
yahooの80に対してと、8080でググって適当な8080ポートを使っている鯖に対してテストを実行した。

903 :nobodyさん:2005/04/26(火) 00:18:14 ID:???
rename(tmp.txt, bbs.txt);

↑リネームしようとしたらbbs.txtが存在するから
だめとかいうエラーが出てしまいます。
Warning: rename(tmp.txt,bbs.txt) [function.rename]: File exists in〜

bbs.txtはリネームの前に絶対必要であり、リネームで上書きしたいんですが、
どうにかしてできますか?

904 :nobodyさん:2005/04/26(火) 01:35:33 ID:???
お初なんだけどいきなり質問するとです。
$a = $_SERVER[REMOTE_ADDR];
$b = gethostbyaddr($a);
print "$a<br>\n$b";
このスクリプトに漏れがアクセスすると
$bの出力は自分のPC名が表示されてしまう。
プロバイダのホスト名が表示されるようにしたいんだが。
ちなみに携帯(DoCoMo)からアクセスしたら
ちゃんとDoCoMoのホスト名が表示された。

905 :nobodyさん:2005/04/26(火) 01:48:56 ID:???
>>903
rename 2回

>>904
外に置けば出る

906 :799:2005/04/26(火) 07:50:02 ID:???
>>903
上書きする時点では不要のはずだけど
>>904
IPが192.168.(LANの中)?

907 :904:2005/04/26(火) 08:24:24 ID:???
>>906
$aに入っているIPはちゃんとプロバイダのIPなんですよ!
それをgethostbyaddrによって変換しているはずなのに
$bではPC名が表示されます。

908 :nobodyさん:2005/04/26(火) 10:42:32 ID:???
>>904
それって窓の仕様ではなかったっけ?
なんか、何年か前に窓を使ってた時に同じ現象があった気がする


909 :882:2005/04/26(火) 14:31:20 ID:???
>>901

スクリプトはこれで問題ないでしょうか?

$fp = file_get_contents('http://www.yahoo.co.jp:80/');
echo $fp;

同か宜しくお願いします

910 :nobodyさん:2005/04/26(火) 14:48:15 ID:???
>>909
俺のマシンで実行したらちゃんとYahooのページが表示されたぜ

911 :902:2005/04/26(火) 14:50:40 ID:???
>>909
オイラが召還されたのかな?
テストは、それとまったく同じもの(www.yahoo.co.jp:80)と、
ポート番号が無視されているわけではない事を確認するために
80以外のポート番号で公開しているサーバに対して行いました。
結果としてポート番号は適切に扱われました。
>>882にあるような failed to 〜のwarningを出そうとして
試しにFirewallでパケットを叩き落とした所、見事に同じwarningが出ましたが、
そちらでは80を指定しない時はうまく行ってるみたいなんで状況が違うかも知れませんね。

912 :nobodyさん:2005/04/26(火) 15:16:17 ID:???
すみません、どなたかご教授下さい。

http://******.co.jp/nandemo/test.php?cmd=view&option=1

というアクセスを、

http://******.co.jp/nandemo/test/cmd=view/option=1

というアドレスで表示させたいのですが(amazonみたいに)
どのようにすれば良いのでしょうか。


913 :nobodyさん:2005/04/26(火) 15:18:47 ID:???
>>909
俺もちゃんと動いたよ。

914 :nobodyさん:2005/04/26(火) 15:59:21 ID:???
>>912
Web制作板の「.htaccess」スレで聞いてごらん

915 :nobodyさん:2005/04/26(火) 16:02:18 ID:???
>>914さん
ご丁寧な誘導ありがとうございます。
そちらで聞いてみたいと思います。スレ違い失礼いたしました。

916 :nobodyさん:2005/04/26(火) 16:21:46 ID:???
utf8なmysqlにデータ入れてるんですが、化けるので
調査してみたところ、マニュアルにも載っている下記コードを
実行すると、latin1になってしまいます。
これは何処を設定すれば、utf8になりますか?

<?php

/* 接続のオープン */
$link = mysqli_connect("localhost", "root", "hoge");

/* カレントの文字コードセットを表示 */
$charset = mysqli_character_set_name($link);
printf ("Current character set is %s\n",$charset);

?>

ちなみに、localhostでmysqlクライアントだと、\sでみればちゃんと

Server characterset: utf8
Db characterset: utf8
Client characterset: utf8
Conn. characterset: utf8

となっとります。



917 :nobodyさん:2005/04/26(火) 17:05:46 ID:???
本当にくだらない質問なんだが、PEARコマンドでパッケージをインストールするときだが、
いちいちINSTALLでパッケージ指定しないと行けないのか?
upgrade-allだとインストールされてるやつを全部アップグレードしてくれるけど、
インストールしてないパッケージをコマンド1つでインストールする方法ないかな?

918 :nobodyさん:2005/04/26(火) 17:42:48 ID:???
>>916
PHPのmysqli関数で使ってるMySQLクライアントライブラリが
latin1でビルドされてるものなんじゃないの。
接続後に毎回エンコードSETしといたら?

919 :nobodyさん:2005/04/26(火) 17:46:37 ID:???
<?
$dom = domxml_open_file('http://example.com/example.xml'); ←UTF-8

$xsldoc = domxml_xslt_stylesheet_file('http://example.com/example.xsl');

$result = $xsldoc->process($dom);

$xsldoc->result_dump_file($result, 'example.html'); ←EUC-JP

print $xsldoc->result_dump_mem($result); ←EUC-JP
?>

今DOMXMLの練習をしてまして
UTF-8のXML文書をEUC-JPに変換して表示&保存したいのですが
どこでmb_convert_encodingをかければいいんでしょうか?

920 :801:2005/04/26(火) 18:52:44 ID:???
>>801ですが、自己解決しました。というよりPHP 5.0.4のバグでした。
http://bugs.php.net/bug.php?id=32553


921 :nobodyさん:2005/04/26(火) 23:46:06 ID:???
すれ違いかもしれませんが、
phpMyadminを別のポートで立ち上げたいんですけど
どうやってやるんでしょうか。

922 :nobodyさん:2005/04/26(火) 23:54:33 ID:???
>>921 スレ違いぢゃなくて、板違いだな。
phpMyAdminではなく、phpMyAdminを呼び出してるWEBサーバーを
設定しなくちゃいけない。
phpMyAdminを呼び出してるWEBサーバーが何か判らないと
答えようがない。


923 :nobodyさん:2005/04/27(水) 01:05:42 ID:???
apache2何ですけど
2個起動するんでしょうか

924 :nobodyさん:2005/04/27(水) 01:35:59 ID:???
>>922
apacheの場合、単体でポート番号を複数使うことができるよ。
Listen VirtualHostディレクティブを組み合わせると希望する動きになるんじゃないかなぁ。
PHPとは全然関係ない話になるので、続くようなら適切なOSの板か自宅鯖あたりで。

925 :924:2005/04/27(水) 01:37:10 ID:???
あー。レス番間違った。。
>>921,923宛です。

926 :nobodyさん:2005/04/27(水) 02:14:13 ID:???
>>923
2個起動しても良いけど、Apache2ならSSLと同じようにバーチャルドメインの
機能を使うのが良いだろう。どっちにせよ明らかにPHPの話じゃないので、
別の適切なドキュメントあたれ。

927 :919:2005/04/27(水) 02:32:29 ID:???
xslのoutput encodingで指定したら思い通りの結果が出ました・・・_| ̄|○
スレ汚しすいませんでした

928 :301:2005/04/27(水) 05:57:01 ID:???
『 hoge1、hoge2、hoge3、hoge4 』
という4つのテキストデータがありまして
読み込む度にランダムで違う配列にしたいです。
phpを使って並び替える方法を教えてください。
『 hoge3、hoge1、hoge2、hoge4 』とか
『 hoge1、hoge4、hoge3、hoge2 』とか
こんな感じにランダムで並び替える方法を教えてください。

929 :nobodyさん:2005/04/27(水) 06:06:14 ID:???
>>928
shuffle()かarray_rand()

930 :301:2005/04/27(水) 11:38:24 ID:ZOjS30sy
すいません自己解決しました

931 :nobodyさん:2005/04/27(水) 11:52:21 ID:ZDoIiicS
あるディレクトリにある複数のdatファイルのうちで、最も新しい
ファイルの日付けを検索して、その日付けをトップページに表示
したいのですがどのようにすればよいですか?

932 :nobodyさん:2005/04/27(水) 12:01:27 ID:???
opendir, readir, closedir, statまたはfilemtime

933 :nobodyさん:2005/04/27(水) 12:33:55 ID:???
>>931
if, echo または print

934 :nobodyさん:2005/04/27(水) 16:29:28 ID:???
クライアントのローカルの時間を取得する方法ってある?

935 :nobodyさん:2005/04/27(水) 16:57:01 ID:???
>>934
電話

936 :nobodyさん:2005/04/27(水) 17:02:45 ID:???
夜中に電話したら迷惑じゃんっ

937 :nobodyさん:2005/04/27(水) 17:12:23 ID:???
PHPとデータベースとの関係について質問させて下さい。

PHPと各種DBのバージョンの対応表など、どこかに情報は無いでしょうか?
MySQLやPostgreSQLだけでなくOracleなどを含めて、
細かいリビジョン毎に対応表があるといいのですが。

正直、自分の使ってるPHPのバージョンで
どのデータベースどのバージョンまで使うことが出来るのか、
こういった情報って少ない気がするのですが、
皆さんはどうやって調べてるのでしょうか?

938 :nobodyさん:2005/04/27(水) 20:58:23 ID:???
>>937
クライアントの接続下位互換性を持ってないDBMSというのは珍しいと思うけど?
例えDBサーバ側の設定が必要だとしても。
---
組み込む接続ライブラリに依存するから、
個々のDB接続性がPHPでどうなってるかは環境による。

939 :nobodyさん:2005/04/27(水) 22:08:47 ID:FF8E+B0x
EUCページにて<a href=mailto タグのSubjectに日本語を使いたいのですが
そのままでは化けてしまいます。
どうしたらいいのでしょうか?

940 :nobodyさん:2005/04/27(水) 22:12:35 ID:???
>>939
どの辺にPHPが絡むのかな?・・・
あっURLエンコードの処理だな。そうだろ。

941 :nobodyさん:2005/04/27(水) 22:43:03 ID:???
>>939
ページと同じにsubjectをEUCで書けばいいだけ。

ああ、リンクをメールで開いたときに"化ける"なんて言うなよ。
そこに日本語は使えないんだから。"化けない"のは偶々。

942 :mizinko:2005/04/28(木) 10:11:48 ID:???
PHP5でファイルおーぷそ、読み込み、書き込みって変わりました?
fopenとかfeofなんかが使えない…(´・ω・`)

943 :931:2005/04/28(木) 11:45:14 ID:???
>>932 >>933
レスありがとうございます

どのファイルが最新の日付けかを探し出すには
どういう構文を書けばいいのですか?

944 :nobodyさん:2005/04/28(木) 12:15:29 ID:???
>>943
比較用に最新の日付とそのファイルの組み合わせを持っておいて、
すべてのファイルと逐次比較して、比較したものの方が最新だったら
手持ちの組み合わせをそれと入れ替えて、さらに逐次比較を継続する。
これが一番単純なやりかた。

構文は自分で考えろ。


945 :nobodyさん:2005/04/28(木) 20:47:43 ID:BVIDeapO
http://www.hogehoge.com/index.php?mode=normal&price=500&number=1

というアドレスにアクセスがあったときに、index.phpで、
"mode=normal&price=500&number=1"
という文字列を取得するにはどのようにすれば良いでしょうか。


946 :nobodyさん:2005/04/28(木) 20:50:29 ID:???
>>945
var_dump($_SERVER); してみろ

947 :945:2005/04/28(木) 20:57:13 ID:???
>946様ありがとうございました。
無事解決いたしました。

948 :nobodyさん:2005/04/28(木) 21:34:43 ID:???
>944
アフォか
>944
全ファイル舐めまわしながらファイル名をキーに更新日時を配列に格納
後はソート…

949 :nobodyさん:2005/04/28(木) 22:00:21 ID:???
>>948
なんで配列に格納(という無駄なこと)してから、ソートすんの?

950 :944:2005/04/28(木) 22:02:19 ID:???
>>948
全ファイル舐めるなら、配列にいれてソートするなんて2度手間する必要あるのか?
変数1つ用意して、最初、変数は空だから最初に見つかったファイルの更新日時を入れて、
ファイルを舐める段階で順次ファイルの更新日付と比較して、
最新の日付だったら変数に入れるだけじゃないか。

ファイル全部舐めたときには最新の更新日付が取れてるよ。
なんで、わざわざ、全部舐めた後にソートなんてするんだよ、馬鹿らしい。

951 :943:2005/04/28(木) 23:40:13 ID:???
>>944
全然分からないので勉強してきまつ・・・
ありがとうございました

952 :nobodyさん:2005/04/29(金) 01:16:58 ID:???
文字列からアルファベット(全角半角)だけを抜き出す関数ってありませんか?

953 :nobodyさん:2005/04/29(金) 01:53:46 ID:???
>>952
無いので正規表現で処理しましょう。
というと、正規表現分からんと返ってきそうですが、この機会に身に付けておきましょう。

954 :nobodyさん:2005/04/29(金) 07:55:13 ID:???
>>950
>948ではありませんが、二度手間ではないですよ。
if文は負荷が大きい(当然ファイル数が多いほど高負荷になる)から
繰り返し処理の中ではif文で比較しないで配列に要素を追加するだけ。
繰り返しが終わったら配列をソートで比較終了。
つまり、10000ファイルあった場合、9999回if分岐するか
10000要素の配列をつくって1回ソートするか、ですね。
CPU負荷とメモリ消費と処理速度等の兼ね合いで、
メモリをちょっとだけ使ってCPU負荷を少なく抑えて
その結果速いであろう>948の方法を良しとするのが一般的です。
一概には言えないしアフォかとは思わないけどね。
アフォほどファイルをつくって両方の処理速度でも測ってみて
何がどう違うか観察するとよくわかるかも

955 :nobodyさん:2005/04/29(金) 08:47:22 ID:???
>>954
PHPの構文としてのif文は負荷が大きいのだろうか?
配列のソートの場合でも結局はZEの中でクイックソートしてるので
比較は発生してるよね。配列への値の挿入よりも、if文で内部的に
発生する挿入等のハンドシェイクの方が効率が悪いということか。

まあ、下層を追うよりもテストして結果として現れる上層を
見てみれば結論が出るんだろうけど。

956 :nobodyさん:2005/04/29(金) 09:12:40 ID:???
>>955
そもそも、PHPのifとCのifとの効率の差異は
「最大値を持つ要素1つだけ先頭に持ってくるソート」と
「すべての要素を順に並べないといけないソート」
の差異よりも、差があると思えるのか?

957 :nobodyさん:2005/04/29(金) 10:46:00 ID:???
PHPでのカウンタについて疑問があるので質問させて下さい。

色々なサイトなどでカウンタのスクリプトのソースを見たのですが、
どうしても腑に落ちない所がありました。

DATファイルなどにカウンタの値を記録しておいて、
アクセス時にその内容を読み込み、カウントをアップし、
そして、書き込み時にファイルをロックしてカウンタを増やしているという
サンプルが殆どなのですが、この場合って不具合起きませんか?

AとBがほぼ同じタイミングでアクセスした場合、
AもBも同じ内容のカウンタを取得し、お互いにカウントアップし、
どちらかが先に書き込んだあと、同じ値で上書きされるような気がします。

やはり、カウントアップして書き込み終わるまでファイルが読み込めないようにした方がいいのでしょうか?

958 :nobodyさん:2005/04/29(金) 10:53:20 ID:???
>>955
>954です。すみません、ウソつきました。
アフォほどファイルをつくって試してみましたが
処理時間はほとんど変わらず両者の負荷は変わらないぽいですね。
一般的ですとか逝っちゃって恥ずかしいんですけど。。。
if文じゃなくて配列を駆使するのが効率的という頭で
負荷も少なくなると勝手に思い込んでました。orz
>948は、古いファイルとか新しい複数ファイルの情報も取り出せたり
何かと応用がきくからプログラム的にスマートって事ですね。
さて、吊ってきます。

959 :nobodyさん:2005/04/29(金) 11:07:45 ID:???
>>958
おい、もっとよく確かめrよ。
どう考えたってsortよりifのほうが負荷が大きいに決まってるだろ。
俺なんかあまりの違いにifやめてsort使うことにしtんだぞ。
これで俺のプログラムも爆速だぜぃ。がはは。

960 :nobodyさん:2005/04/29(金) 12:11:00 ID:B3CgdDo1
OracleにPHPという組み合わせでやってます。

if ($con = oci_connect("user", "pass", "db")) {
$open = true;
} else {
$open = false;
}

if (oci_close($con)) {
$close = true;
} else {
$close = false;
}

echo "open : " . $open . "<br>";
echo "close : " . $close . "<br>";

これだけなんだけど、なんでoci_close()でfalseが返ってくるのか
分からないっす。なんかPHPとデータベースについて根本的な勘違いを
しているのかな?

961 :nobodyさん:2005/04/29(金) 12:35:46 ID:???
>>957
そうです。レッツPHPのは間違っているので気を付けましょう。

962 :957:2005/04/29(金) 13:03:41 ID:???
>>961
実際に名前を出すのはどうかと思ったのですが、
レッツ以外にも、ググッて出てくるようなPHPスクリプトを配布しているサイトで、
読み込み時から書き込み終了までロックをしているサンプルって見た事無いんですが・・・

疑問に思ったのは、どのサンプルも書き込みの時だけロックを行っている。
また、読み込み時にロックしても、読み込んだ後にはロックを解除していて、
書き込み時に再度ロックして書き込み後にロックを解除しているというものが殆どで、
後者の方法でも、読み込み時のロック解除から書き込みのロックまでの間に
誰かのアクセスがあれば、結果的に同じカウンタ数を読み込むので無意味だと。

此処からは私の勝手な想像なのですが、
1つ目はこの方法でも、処理時間的にはそう簡単には懸念している不具合が起きないために
手を抜いている。
2つ目は単順にスクリプトを公開してる人間に、こういった問題意識が無い
又は問題は認識しているが技術力が足りない。
と考えているのですが、どうなのでしょう?

それとも、根本的に、公開されているスクリプトでは
私が懸念している不具合が起こる可能性は0%なのでしょうか?


963 :nobodyさん:2005/04/29(金) 14:15:49 ID:???
単なる手抜きだと思うよ
それに同一ホストからでもリロードするたびにカウントがあがる
駄目カウンタも結構あるし

964 :957:2005/04/29(金) 14:22:17 ID:???
>>963
その辺は、俗に言う仕様じゃないでしょうか?
あとは、目的の違いかと。

単純にアクセス数だけをカウントする場合は、同一ホストとか関係無いでしょうし、
ものによっては、直前との同一ホストしか比較してないものもある。
これだと、同じホストで間隔明けて誰かがアクセスした後に
再度アクセスすればカウントアップされるし。

ただ、私が気にしているのは、更新されるべき値が他のアクセスで読み込まれ、
データベースで言う所のダーティーリードに相当するものが
何故放置されているのかが単純に疑問な訳で。

965 :nobodyさん:2005/04/29(金) 15:41:39 ID:???
何故って所詮その程度のものだって事でそ
まねする必要なんか無いので好きなように書けばいいだぎゃ

966 :nobodyさん:2005/04/29(金) 16:10:04 ID:???
>>964
それはレッツの劣化コピーが巷に溢れてる所為では。
タイミングもちゃんとしてあって、ロックが掛かってたら
ランダムに待ちして数回リトライしてるようなカウンターも見たことあるよ。

それよかカウンターのような恥ずかしいものを最近サイトに置いたことがないな。

967 :957:2005/04/29(金) 16:51:46 ID:???
>>965
自分はファイルにデータは一切記録させず、
全てDBで制御してるので、今まで全く気にしていなかったのですが、
他人のサイトを見たときに、気になっただけです。

>>966
なるほど、確かにレッツの劣化コピーという可能性はありますね。
標準のロックを使わずに独自にロックの仕組みを作ってる所とかはしっかりしてますね。

>それよかカウンターのような恥ずかしいものを最近サイトに置いたことがないな
カウンターのように、基礎が出来てないサイトって、
カウンター以外のスクリプトにも同様にロックの仕組みが不味いので気になってました。

968 :nobodyさん:2005/04/29(金) 17:38:15 ID:???
>>967
オマイ、厨のくせに、なんだか偉そうだね。

969 :nobodyさん:2005/04/29(金) 18:05:13 ID:???
完璧なカウンタを公開してくれるんでしょう。

970 :nobodyさん:2005/04/29(金) 18:36:06 ID:???
おまえら、PHP書くときどんな書体使ってる?
読みやすいフォントがなかなか見つからない orz

971 :nobodyさん:2005/04/29(金) 18:55:51 ID:djMTOoa/
MySQLを使わずにinet_atonする方法はないでしょうか?

972 :nobodyさん:2005/04/29(金) 18:57:33 ID:???
>>970
Osaka

973 :nobodyさん:2005/04/29(金) 19:01:12 ID:???
>>970
プログラム板にフォントスレあり。

974 :971:2005/04/29(金) 19:04:16 ID:???
ip2longでした

975 :nobodyさん:2005/04/29(金) 19:49:33 ID:???
>>962,967
実際に起こりにくいのと起こってもそれが判明しにくいから
問題を認識(重要視か?)してない人は確かに多そうだよね。
敷居の低いPHPの特性上 とりあえず動けばいいや的な感じで
あまり追及しない人が多いというのもある気がする。

しかし"r+"で開いてflock()してる間に読み書きすれば済む話だから
独自ロックする意味がわからない。独自ロックって例えばどんなの?

976 :nobodyさん:2005/04/29(金) 20:10:58 ID:???
>>975
お前さんが、そもそも問題を認識(重要視)してないんじゃないか?
flockだってロックの種類は読み込み・書き込み・解除しかなく、
それぞれを重複して掛けられない訳だ。
書き込み時だけロックしたって、他人は読む事は出来る。(ここで問題が発生)

読み込み時に、読み込みロックで開いて、カウントアップし、
書き込む前に、読み込みロックを解除したあと書き込みロックをすれば、
更にタイミング的にはシビアになるから問題が発生する頻度は減るが0%じゃない。

独自ロックの仕組み(大抵はファイルのリネームやロックしてるかのダミーファイル)を使うことにより、
読み込みや書き込みすら出来ないように(プログラム)で出来る。
実際にはflockしてないから読み書きできるが、この独自ロックのダミーファイルなどを見て、
ロックされてるかの判断が出来る。
さらに、ロックが何時まで経っても解除されないような自体でも、
タイムアウトを設けることで、強制的にロックも解除できる。

977 :nobodyさん:2005/04/29(金) 20:46:55 ID:???
>>976
975だけどよくわからん
$txt="count.txt";
$fh=fopen($txt,"r+");
flock($fh,2);
$count=(int)fgets($fh);//読
rewind($fh);
ftruncate($fh,0);
fputs($fh,++$count);//書
flock($fh,3);
fclose($fh);
どこがまずいですか?

978 :nobodyさん:2005/04/29(金) 21:04:41 ID:???
>>977
976じゃないけど、flockが全ての鯖で使えると思ってるのが馬鹿過ぎ。
つまり、そのコードのflock($fh,2);からflock($fh,3);までヤバ過ぎ。

979 :ave:2005/04/29(金) 21:08:01 ID:???
このページにアクセスしようとすると、mysqlがどうたらこうたらとでて
ページにアクセスできないです。 助けてください
OS:windowsXP proffesional

980 :ave:2005/04/29(金) 21:10:20 ID:???
このページにアクセスしようとすると、mysqlがどうたらこうたらとでて
ページにアクセスできないです。 助けてください
ttp://www.aqua-soft.org/
OS:windowsXP proffesional




981 :nobodyさん:2005/04/29(金) 21:13:12 ID:TDd2BQoi
デヂエのようにユーザがSQLを意識せずに使えるようなwebデータベースはありますか?
phpで書かれたオープンソース版を探しています。phpMyadminを、管理でなく運用向けにしたようなイメージです。
デジエ買えばいいんですけど、貧乏なんで...

982 :nobodyさん:2005/04/29(金) 21:13:54 ID:???
ロック処理なら俺はこんな感じで書いてるけど、何か気が付いたとこあったら教えて

if ($fp_lock = fopen($lock_file,"w")) {
  if(flock($fp_lock,LOCK_EX)){

    if($fp = fopen($txt,"r")){
      if(flock($fp, LOCK_SH)){
        $data=fgets($fp);
        flock($fp, LOCK_UN);
      }
      fclose($fp);
    }

    if($fp = fopen($txt,"w")){
      if(flock($fp, LOCK_EX)){
         rewind($fp);
         fputs($fp, $data);
         flock($fp, LOCK_UN);
      }
      fclose($fp);
    }

    flock($fp_lock,LOCK_UN);
  }
  fclose($fp_lock);
}

983 :nobodyさん:2005/04/29(金) 21:19:56 ID:???
>>978
flock使える鯖で運用するなら、
flock使えない鯖のことなんて全く気にする必要ない。
具体的にどこがやばいか言ってみなよ。

984 :nobodyさん:2005/04/29(金) 22:26:18 ID:???
>>978
馬鹿共は放っておけよ。
何が問題かわからない教えて君なんだから。

985 :nobodyさん:2005/04/29(金) 23:02:39 ID:???
>>975,977です。
>>978
実用時はfopen(),flock()でfalseが返ってきたら
処理を止めるようにしてるし、使えないサーバでは使いません
977ではできるだけ単純でわかりやすいコードにしたつもり
>>984
おれが教えて君ですかね。むしろ978が説得力ないんだけど。
何が問題かわからない人のために簡単に説明すると
977は、排他ロックを1回でその間に読み書き、です。
(976はそれを理解していなかったからコードを書いた)
これと比べてダミーファイル等の自作ロック処理がどう有用なのか疑問でした。
PearlのCGIでダミーファイルでのロックを見た事あるけど
関数が豊富なPHPでは必要だと思わなかったんだよね。その確認でした。
(今のところまともな反論はないから「必要ない」かな?)

そもそも読み・書きを別のfopen(),flock()で行うのが無駄な処理なのに
そうする人が多いのが不思議。

986 :nobodyさん:2005/04/29(金) 23:38:02 ID:???
>>953
正規表現分からん
かったので調べてバッチリ英字だけ取ってくることに成功しました。
ありがとう。

987 :nobodyさん:2005/04/29(金) 23:53:52 ID:??? ?#
PHP+MySQLで
データベースから抽出したデータ
\\5,600を (バックスラッシュは実際は半角

stripslashes(\\5,600) として出力してますが

本当は \5,600 と出力したいとです・・
文字コードはeucです

988 :nobodyさん:2005/04/30(土) 00:12:29 ID:???
>>987
何を言いたいのか分からん。
円マークは、eucなどのマルチバイトの領域では無く、asciiコード(0x20-0x7e)の領域に含まれる。
(正確には、ISO646規格による日本独自の記号。)
eucだろうがjisだろうがsjisだろうが、\を出力するには(相手がうまく表示する事を期待して)0x5cを使うしか選択肢が無い。

989 :nobodyさん:2005/04/30(土) 00:15:59 ID:???
実体参照で ¥ という選択肢はなかったことにしたいのですね。

990 :nobodyさん:2005/04/30(土) 00:50:31 ID:???
>>982
if文で囲ってるけど、@演算子使わんの?

991 :nobodyさん:2005/04/30(土) 00:56:01 ID:??? ?#
>>988
よくわからなくてすいません・・

要は、 /(バックスラッシュのつもり)を \ か¥で出力したいんです

992 :nobodyさん:2005/04/30(土) 01:04:05 ID:???
とっとと &yen; か 全角¥を使いなさい。

993 :nobodyさん:2005/04/30(土) 01:08:48 ID:wZKX7Atj
session_set_save_handlerで
クラスメソッドを指定することは出来ないのでしょうか?
存在するクラスメソッドを指定しても
Argument 1 is not a valid callback
と言われます。

994 :nobodyさん:2005/04/30(土) 01:14:23 ID:??? ?#
>>992
そうしたいのですが、、
ereg_replace("\\", "¥", "//5,600")

とすると

Warning: ereg_replace(): REG_EESCAPE
というエラーがでてしますんです

995 :nobodyさん:2005/04/30(土) 01:29:21 ID:???
>>994
>>646
<!-- チラシの余白
646を書いたのはオイラなのだけど、それを書くまでは元質問者が粘着してたのに
以降はレスどころか解決できたのかどうかさえ無いのは辛いな。。 -->

996 :nobodyさん:2005/04/30(土) 01:34:40 ID:??? ?#
>>995
ありがとうございます!!

\\の場合は、REG_EESCAPEが出るので 最後に\があるのがまずい。
なにかつけなきゃいけないんだが、パターンの一部に組み込まれる文字だとまずい。
の文にときめきを感じました。

いけましたです

997 :993:2005/04/30(土) 01:51:54 ID:???
なんか出来ないみたいですね
気持ち悪いけど関数にしました

998 :nobodyさん:2005/04/30(土) 07:30:00 ID:???


999 :nobodyさん:2005/04/30(土) 07:30:45 ID:???
*

1000 :nobodyさん:2005/04/30(土) 07:31:23 ID:MBOW+yPq
(・ω・)v

1001 :1001:Over 1000 Thread
このスレッドは1000を超えました。
もう書けないので、新しいスレッドを立ててくださいです。。。

274 KB
★スマホ版★ 掲示板に戻る 全部 前100 次100 最新50

read.cgi ver 05.04.02 2018/11/22 Walang Kapalit ★
FOX ★ DSO(Dynamic Shared Object)