トップページ⇒php
1001コメント330KB

【PHP】質問スレッドpart33【php】

レス数が1000を超えています。これ以上書き込みはできません。
0001nobodyさん2006/02/16(木) 03:19:52ID:xwXojaq/
PHP全般の質問スレです。
【基本ルール】
・新規質問の方は上げてください。age進行でお願いします。
・質問者は2回目以降、最初のレス番号を名前欄に入れてください。
・回答者は質問者に対して>>(アンカー)をつけてください。
・煽り・荒らしは放置。荒らしに反応した香具師も荒(ry
・解決しなくてもこたえてもらったら礼を。
【質問テンプレ】
・マニュアルを調べたか、google検索したか(調べたキーワード)
・タイトル(禁:教えてください!etc) 例:requireとinclude
・内容 例:requireとincludeはどう違うのですか?
・質問する際には環境も明記。
【その他諸注意】
・正規表現・PEAR・テンプレート(Smarty等)・フレームワークはそれぞれの該当スレへ
・SQLについての質問はデータベース板(PCカテゴリ)の各スレで
・オブジェクト指向については良スレがないから本を買え
・速さについては自分でベンチをとってここに書け(違う環境の人も調べてくれるかも)
【PHP マニュアル】
http://www.php.net/manual/ja/
※マニュアル上部の「search for」から検索を活用すべし(便利)。

過去スレ、関連リンク、FAQ等>>2-10辺り
0002nobodyさん2006/02/16(木) 03:20:44ID:xwXojaq/
前スレ
【PHP】質問スレッドpart32【php】
http://pc8.2ch.net/test/read.cgi/php/1136276300/
【PHP】質問スレッドpart31【php】
http://pc8.2ch.net/test/read.cgi/php/1133017632/
【PHP】質問スレッドpart30【php】
http://pc8.2ch.net/test/read.cgi/php/1130190606/
【php】part29【php】
http://pc8.2ch.net/test/read.cgi/php/1120611474/
【PHP】質問スレッドpart28【php】
http://pc8.2ch.net/test/read.cgi/php/1115281031/

関連リンク
■本家
http://www.php.net/
■日本 PHP ユーザ会
http://www.php.gr.jp/
■PHP マニュアル
http://www.php.net/manual/ja/
■PEAR マニュアル
http://pear.php.net/manual/ja/
0003nobodyさん2006/02/16(木) 03:22:12ID:YjyBJiPI
関連スレ
【PHP】下らねぇ質問はここに書き込みやがれpart16
http://pc8.2ch.net/test/read.cgi/php/1139146534/
【PHP】PEAR Part2
http://pc8.2ch.net/test/read.cgi/php/1122899232/
[PHP]フレームワークについて語るスレ2[総合]
http://pc8.2ch.net/test/read.cgi/php/1135847024/
【Smarty】PHPのテンプレートエンジン【Flexy】
http://pc8.2ch.net/test/read.cgi/php/1118799352/
[PHP-users MLヲチ8]巣もいませんでした。
http://pc8.2ch.net/test/read.cgi/php/1132800251/
正規表現道場@2ch Part4
http://pc8.2ch.net/test/read.cgi/php/1105930285/(落ち)
Webでオブジェクト指向プログラミング
http://pc8.2ch.net/test/read.cgi/php/1133489897/

関連板
データベース(SQL、DBMSの話題はこちら)
http://pc8.2ch.net/db/
プログラム(CLI、アルゴリズム、インタプリタの話題はおそらくこちら)
http://pc8.2ch.net/tech/
Web制作(クライアントサイドの話題は問答無用でこちら)
http://pc8.2ch.net/hp/
0004nobodyさん2006/02/16(木) 03:22:39ID:xwXojaq/
【FAQ】
1. ブラウザに何も表示されないんだけど・・・
 → error_reporting、display_errors、log_errors
2. include/requireに?a=b&c=dのようなパラメータつけたい
 → できません
3. $a1,$a2,$a3...はどうしたら?
 → 可変変数・・・というかむしろ配列使え
4. echo "$arr['hoge']['fuga']"; がうまくいかない
 → {おっぱい括弧}でくくれ
5. echo?print?
 → echoはコンマ区切りで書ける。printは関数。パフォーマンスは気にするな
6. 値渡し・参照渡しのパフォーマンス
 → これまた気にするな
7. csvやtsvを扱いたい
 → まずはfgetcsv
8. ファイル入出力関数(fopen等)でリモートファイル扱う際の限界
 → fsockopenでソケット通信で解決
9. 一定時間ごとに何かしたい
 → cron、タスクスケジューラ
10. 画像処理一般 or GDの限界
 → ImageMagick
11. 画像・音・動画はファイルで保存?DBに保存?
 → 好きにしてください
12. クッキーの情報をユーザから隠したい
 → セッション使え、ただしクッキーとセッションは仕組みが違うから同じように扱うな
0005nobodyさん2006/02/16(木) 03:23:13ID:YjyBJiPI
「エスパーきぼんぬ」「氏ね」「(゚Д゚)ハァ?」等のレスを貰う八ヶ条。
1. ハードウェア、OSのバージョン等には一字一句触れない。
2. 大切な個人情報が漏れるとまずいので、己の行った操作、変更などは秘密。
3. エラーメッセージの類は決して書かない。「エラーが出るんです」で留める。
目の前で生じている現象をそのまま具体的に書くなどもっての外。
事実より俺様の脳内解釈を優先すべし。
4. 独り言文体で必勝。
「…なんだけど、どうすればいいのかなぁ」「何が悪いんだろう?」
5. 「急いでいます」「困っています」等、自分の都合を全面に押し出す。
6. もう試したことを得意げに指摘してくる奴には、厳しく対応。
「それが駄目だったから質問してるんです」「それはもう試してみて駄目でした」
"どう"だめだったのか、本当に実際それを行ったかどうかなんか問題じゃない。
7. ストレートに答えを書かないもったいぶったレスには、逆切れで対応。
「だからどうすればいいんですか?」「分からないなら引っ込んでろやゴルァ」
示されたURL等を参照するなんて態度は、回答者を甘やかすことに他ならないので
絶対に避ける。
8. 情報は小出しに。

「エスパーきぼんぬ」 補足
上の八ヵ条を「一つでも」満たす者は質問者として不適格だということだ。
そのような悪い質問に対して答えられるのは,
質問者の意図をすべて汲み取ることのできるエスパーでもなければムリ,
という意味であって,決して,高度な技術を持つユーザに対する尊称でなはい。
まちがっても「エスパーの方,回答お願いします」なんて痛い質問するな。つーかカエレ。

000612006/02/16(木) 03:27:12ID:YjyBJiPI
あと補足は>>6-10までの間にヨロ
0007nobodyさん2006/02/16(木) 03:34:43ID:YjyBJiPI
[PHPpedia]
PHPの質問スレ、及びPHPのクダ質問スレのFAQをまとめるサイト
http://wiki.2chx.net/php/ (育成中。まだまだこれから)
0008nobodyさん2006/02/16(木) 10:07:02ID:???
<?
function next_comb(& $flags) {
$n = count($flags); $k = 0;
for ($i = $n - 1; $flags[$i]; $i --, $k ++) if ($i <= 0) return false;
for (; ! $flags[$i]; $i --) if ($i <= 0) return false;
$flags[$i] = false;
for ($i ++, $k ++; $k > 0; $i ++, $k --) $flags[$i] = true;
for (; $i < $n; $i ++) $flags[$i] = false;
return true;
}
function flags2list($flags) {
$result = array();
foreach ($flags as $i => $flag) if ($flag) $result[] = $i;
return $result;
}

$n = 5; $k = 3; $flags = array();
for ($i = 0; $i < $k; $i ++) $flags[$i] = true;
for (; $i < $n; $i ++) $flags[$i] = false;
echo implode(", ", flags2list($flags)), "<BR>";
while (next_comb($flags)) echo implode(", ", flags2list($flags)), "<BR>";
print_r($flags);
?>

全スレに教えて頂いた、5C3のコードなのですが、
"a","b","c","d","e"の中から5c3する場合はどのようにすればいいのでしょうか?
0009nobodyさん2006/02/16(木) 11:41:53ID:???
>>8
echo implode(", ", flags2list($flags)), "<BR>";
while (next_comb($flags)) echo implode(", ", flags2list($flags)), "<BR>";
print_r($flags);

を

$array = array("a","b","c","d","e");
do {list($a,$b,$c)=flags2list($flags);
echo $array[$a].", ".$array[$b],", ".$array[$c]."<br>";
}while (next_comb($flags));

に書き換え
で、どうかな?
0010nobodyさん2006/02/16(木) 11:50:21ID:i4nUjG/9
質問させてください。

imap_xxx関数使ってPOP3でメール受信をしようとしてるのですが
so-netのメールだけ受信できません。
imap_openでエラー(Couldn't open stream)になります。

もちろん通常のメーラではそのアカウントで受信できますし
PHPでも他に@niftyや自分で立てているメールサーバからは
受信できました。

パケットを調べたところ
CAPAコマンドを送ったあとにso-netのサーバから
「PIPELINING TOP UIDL APOP」を受信したあと
なぜかQUITを送ってしまいます。

どなたか分かるかたはいらっしゃいましたら
お願いします。
0011nobodyさん2006/02/16(木) 14:49:39ID:???
imapはso-netが嫌いなのかな。
0012nobodyさん2006/02/16(木) 15:13:35ID:???
so-netに尋いてみたら?
まああの会社だとまともな回答は期待でき無そうだが…。
0013nobodyさん2006/02/16(木) 15:45:08ID:???
そもそもPHPの質問じゃない気がするんだが
0014nobodyさん2006/02/16(木) 15:54:04ID:???
so-neとBiglobeのPOPサーバーはなんか設定が変だという噂だけどね。
PDAでも接続できないケースが報告されてるよ。
so-netのFAQにPocketPC向けのメーラー設定方法とか記載されてるけど
その辺は参考にならんのかな。
0015102006/02/16(木) 16:30:00ID:???
みなさんありがとうございます

他に成功しているサーバとの違いは
POP3の「CAPA」コマンドに対してso-netからの応答に
「USER」が含まれてないようです。
これが悪いことなのかは分かりませんが
そのせいでimap_openが次のコマンド(USER)を投げることを
あきらめているような気がします。

Outlookから接続した際のパケットを見ると
「CAPA」コマンドは投げずに「USER」コマンドを投げてるので
imap_openでも同じようにできれば接続できそうな気もしますが
方法が分かりません。

とりあえず暇を見て
so-netに問い合わせてみようと思います。
0016nobodyさん2006/02/16(木) 18:00:08ID:???
>>15
so-netのPOPと思われるサーバ叩いてみたけど
CAPAコマンドに対してはUSER/PASSコマンドで認証が済んでからしか、
レスポンスを返さないようにみえるよ。

でも認証が済んでから、その後にUSER/PASSコマンドは発行しないから
本来CAPAに対してUSER capabilityが返えされるべきであっても
それが返答なくても関係なく動作は出来るんじゃないかなと思わなくもない。
厳密に動作してQUITしてるとしても責められはしないが。

ただソース見てみたけど、imap_open()での実際の処理は
完全にc-clientライブラリにお任せな感じなので、
IMAP関数を使う限り、どうにかできるものではなさそう。
PEARのメール関数を使った方が、クライアント側で対処するなら
自由度が高いと思う。
0017162006/02/16(木) 18:30:05ID:???
PEARにメール"関数"はないワナ。

で、PEARのMail_IMAPクラスは結局imap_open()使うので一緒だった。
0018nobodyさん2006/02/16(木) 19:36:05ID:???
>>9さん
ありがとうございます。
お陰様で出来たのですが、いざ組み込む時にずっと考えているのですが、どうしても先に進まなくなってしまいました。
<?
function next_comb(& $flags) {
$n = count($flags); $k = 0;
for ($i = $n - 1; $flags[$i]; $i --, $k ++) if ($i <= 0) return false;
for (; ! $flags[$i]; $i --) if ($i <= 0) return false;
$flags[$i] = false;
for ($i ++, $k ++; $k > 0; $i ++, $k --) $flags[$i] = true;
for (; $i < $n; $i ++) $flags[$i] = false;
return true;
}
function flags2list($flags) {
$result = array();
foreach ($flags as $i => $flag) if ($flag) $result[] = $i;
return $result;
}

$n = 8; $k = 4; $flags = array();
for ($i = 0; $i < $k; $i ++) $flags[$i] = true;
for (; $i < $n; $i ++) $flags[$i] = false;
$array = array("1000","1500","1300","1200","1800","1600","1100","1400");
$x =($array[0]+$array[1]+$array[2]+$array[3]+$array[4]+$array[5]+$array[6]+$array[7])/2;

do {list($a,$b,$c,$d)=flags2list($flags);
$y = $array[$a]+$array[$b]+$array[$c]+$array[$d];
$z = $x-$y;
$z = abs($z);
echo $array[$a].", ".$array[$b].", ".$array[$c].", ".$array[$d].", ".$z."<br>";}
while (next_comb($flags));
?>
0019続きです。2006/02/16(木) 19:36:39ID:xEsbRgL0
8つの数字を設定して、8C4で、8つの合計を2で割ったものから、8C4の4つの数字の合計を差分を出して、
その絶対値を$zとしたのですが、この$zが一番少ない組み合わせを出したいのです。(はじめに出てくるのがいいのです。)
上の場合だと、$zが50の時一番少ないのですが、組み合わせを書き出した時、上から3つ目ではじめに50と出ているので

「1000 1500 1300 1600」

という組み合わせを結果としてだしたいのです。

$zの値が入っている配列を作る事が出来れば、出来るだろうと思い、
新たな配列変数を作って、forループで毎回の$zの値を代入していこうとは思ったのですが、どうも上手く動作せず悩んでいます。
分り難い&何度も質問してしまい申し訳無いのですが宜しくお願い致します。
0020nobodyさん2006/02/16(木) 20:04:28ID:???
php初心者です。Authモジュールに関して質問させていただきます。
本家pearの方にのっていた、最も簡単な認証スクリプトを実行してみましたが
Fatal error: Class 'DB' not found in /Applications/MAMP/bin/php5/lib/php/Auth/Container/DB.php on line 127
という表示がフォームの送信後にでてしまいます。何が原因なのでしょうか?環境は、macのpantherでMAMPを使っています。


・ちなみに以下のように実行しました(上記URLと同じです)

<?php
require_once "Auth/Auth.php";

function loginFunction()
{
echo "<form method=\"post\" action=\"" . $_SERVER['PHP_SELF'] . "\">";
echo "<input type=\"text\" name=\"username\">";
echo "<input type=\"password\" name=\"password\">";
echo "<input type=\"submit\">";
echo "</form>";
}

$dsn = "mysql://名前:パスワード@localhost/テーブル名";
$a = new Auth("DB",$dsn,"loginFunction");

$a->start();

if($a->getAuth()) {
echo "hello";
}
0021nobodyさん2006/02/16(木) 21:12:58ID:???
Pearが入ってないから。
0022nobodyさん2006/02/16(木) 21:20:01ID:???
質問ですが、phpによるファイルの作成と、ファイルの上書き、
どちらがサーバーに負担が掛かるものなのでしょうか。
0023nobodyさん2006/02/16(木) 21:33:44ID:???
>>22
どっちも大差ない
0024nobodyさん2006/02/16(木) 21:36:37ID:???
>>22
1000回くらい回すコード書いて、時間計ってみたら?
上書きといっても、内容全部消した場合と追記した場合で違うだろうし。
レポキボン
0025nobodyさん2006/02/16(木) 21:49:57ID:???
>>18
そんな事は出来ない。
諦めろ
0026nobodyさん2006/02/16(木) 22:16:36ID:VwfjUIGO
>>23
>>24
ありがとうございます。
ほとんどphpの知識がないものでレポはできなくて申し訳ないですが、
上書きに変更した途端鯖堕ちしたので、自分のせいかとあせりました。
今は問題なく稼動してるので大丈夫そうです。
0027nobodyさん2006/02/17(金) 01:54:56ID:qKPXZPko
windowsNTで、Apache_2.0.52、PHP5、MySQL4.0.21は
問題なく動作するのでしょうか。
(レス違いでしたら誘導お願いします)
0028nobodyさん2006/02/17(金) 02:23:12ID:???
します。
0029nobodyさん2006/02/17(金) 03:43:23ID:eyDUdvZm
テンプレートに $aaa など変数を書いてfread()で呼び出すとエラーが発生してしまうんですが
問題なく実行させるいい方法はないでしょうか


phpのブログとかでテンプレに変数を直接書き込まれているのを見たのですが
自分がやってみるとエラーが出てしまうんです
0030nobodyさん2006/02/17(金) 03:49:47ID:???
>>29
一体何のテンプレートなのか、
どのようなコードなのか
具体的に書いてくれないと全く見当が付きません。

ttp://php.net/manual/の言語リファレンス(10-21章)を一通り読んでください
0031nobodyさん2006/02/17(金) 04:00:48ID:???
>>29

include
require
0032nobodyさん2006/02/17(金) 09:08:34ID:???
>>19
宿題は自分で汁
0033nobodyさん2006/02/17(金) 10:08:44ID:???
>>30
勝手にエスパー補足してみよう。

最終的な出力結果を
$body
かなんか、適当な変数に入れて出力している。
$body=fread('template.php');
で取り込むとして
template.phpの中身が
<html>
<head>
<title>$site_title</title>
</head>
<body>
</body>
</html>
とかだったりすると
<title>$title_title</title>
がそのまま出力されて困る。

という趣旨の質問ではないかと思う。
0034182006/02/17(金) 12:40:07ID:qUshKop+
>>32さん
宿題では無くて、自作のコードに必要なのですがどうしても出来なくて悩んでいたのですが
取りあえず、出力結果を別のテキストファイルに保存し、別にそのテキストファイルを読み込んで配列に格納するという
事でやっと出来ましたorz

アドバイス及び、コードを教えて下さった方々本当にありがとうございました。
0035nobodyさん2006/02/17(金) 14:55:08ID:eyDUdvZm
>>30
以下がソースです
01.phpの中身↓
<?php
$aaa = "正常に動作しました";
include "a.txt";
?>

a.txtの中身↓
$aaa

>>31
上記のようにしてみましたがうまく行きませんでした

>>33
まさにその通りなんです。説明が下手でしみません
うまく行かないということは記述が間違っているということなんですが
どこがどう間違ってるかわからないんです
0036nobodyさん2006/02/17(金) 15:34:53ID:???
Apacheのログをphpで整形させるプログラムを作っているのですが下記の様な処理をするに当り、
スマートな方法がなかなか思い浮かばずに悩んでいます。

/~aaaa/bbb/ccc.html
/~aaaa/ddd/e.html
/~aaaa/f.html
/~aaaa/g.jpeg

上記のような形式のログが一行ごとに並んでいまして、「/~X/」のXに該当する部分だけを取り出そうと考えています。
そこで最初の/~は正規表現でnullに置き換えましたが/以降をどう処理するかで困っています。

宜しければお知恵をお貸し下さい。
0037362006/02/17(金) 15:41:07ID:???
質問したついでに回答していきます;

>>35
a.txtがtxtファイルだから直に出力されてるんじゃないでしょうか?
変数として動かしたいのであれば<? ?>を書いてphpとして処理させないと変数としては取り扱ってもらえないと思います。
0038nobodyさん2006/02/17(金) 15:46:25ID:???
>>35
a.txt
<html>
・
・
<?php echo $aaa?>
・
・
</html>
0039nobodyさん2006/02/17(金) 15:51:47ID:???
>>36
$path = "/~aaaa/bbb/ccc.html";
preg_match("|/~([^/]+)|", $path, $match);
$user_dir = $match[1];
0040nobodyさん2006/02/17(金) 16:07:05ID:EA7FpTYe
MacOSX10.3.9を使って自宅サーバを運営しています。
phpをやりたいのですが、

(1)
phpが始めからインストールされているそうなのですが、
どうやったら使えるようになるのでしょうか。

(2)
phpはどうやって勉強したらいいのでしょうか?
0041nobodyさん2006/02/17(金) 16:13:06ID:???
おまいがマック板の皮先くんなら放置したいところだが・・・
1. httpd.confの設定をするだけで使える事は使える。
2. ドキュメント。サンプルを見ながらでも結構勉強できる。
0042402006/02/17(金) 16:22:16ID:???
>>41
ありがとうございます!!
俺様のスキルならphpの習得も早そうなので
アドバイス通りのことをやってみます。

ここはunixのスキルアップに役に立つスレなのでまた来ますね。
0043nobodyさん2006/02/17(金) 16:27:58ID:???
>>40
ワロタww
0044nobodyさん2006/02/17(金) 17:37:59ID:???
htmlにphpコードを入れる。
それをphpが動いていない環境でブラウザ(IE)で開くと、
<?php なんたら ?> の部分が見事コメントアウトされて、
phpコードが表示されずにいい感じに表示されるんだが、

<?php $obj->method(); ?> というコードを入れると、->の部分で終わりとみなされて、
phpが動いていない環境でブラウザで開くと、 method(); ?> が表示されてしまう。

お客さんが直接ローカルでIEでみたり、HTMLエディタで編集させようというときに困るかなぁと。
まあ、ブラウザの仕様にもよるんだろうけど、オブジェクトのメソッドは
必ず呼ぶものとして、なんかいい方法無い?
0045nobodyさん2006/02/17(金) 17:40:49ID:???
>>44
っ テンプレートエンジン
0046nobodyさん2006/02/17(金) 17:50:01ID:???
>>45
Smarty使ったんだけど、公開するindex.phpに結局こういうコードが入ってしまわない?

<?php
require(SMARTY_DIR.'Smarty.class.php');
$smarty = new Smarty;
$smarty->assign('name','Ned');
$smarty->display('index.tpl');
?>

まあ、お客さんが入力するコンテンツをデータベースとかに保存すればいいんだけど、
小規模レベルのやつなので、テンプレートで、サイト全体のデザイン。
たとえば左にメニューがあって・・・とかで、
コンテンツは、index.php 自体に入れたい。つまりこういうことをしたい。

<?php
require(SMARTY_DIR.'Smarty.class.php');
$smarty = new Smarty;
$smarty->assign('name','Ned');
?>
ここにお客さんがHTMLエディタで入力
<?php
$smarty->assign('contents','〜お客さんが入力したHTMLをどうにかして変数にもってくる〜');
$smarty->display('index.tpl');
?>
0047nobodyさん2006/02/17(金) 17:56:40ID:???
携帯でリファラを消して飛ばしたいんですが、

header("Refresh: 0; URL=".$jump);

これでドコモはいけるんだけど、AUでいけないんです。
メタで飛ばすのもAUは無理です。
AUでなんとかリファラ消して飛ばせませんか?
0048362006/02/17(金) 17:58:44ID:???
つLocation
0049nobodyさん2006/02/17(金) 18:00:47ID:???
>>48
ロケだとリファラ消えないんです。
0050nobodyさん2006/02/17(金) 18:02:25ID:???
やっべ名前欄戻ってなかったorz

ちなみに先ほどの正規表現で無事解決できました・・・�dクスでした。
今度はログが大きすぎてタイムアウトして・・・もごもご・・・あ、スミマセンチラシの裏に書いときます

それにしてもログファイルて小まめに整理しないと後で酷い目にあうねorz
0051nobodyさん2006/02/17(金) 18:07:22ID:???
>>46
なんかすごい間違った使い方してる気がするんだが…
お客さんにはindex.tplを編集してもらえばいいんでない?

***.phpにHTMLを入れておきたいんだったらSmartyは使わない方が
すっきりする希ガス

知ってると思うがテンプレートファイルから別のテンプレートをインクルード
もできるから、テンプレート使ってサイト全体のデザインと部品コンテンツ
分けて作成できるよ。
0052nobodyさん2006/02/17(金) 18:41:05ID:???
>>51
> なんかすごい間違った使い方してる気がするんだが…
うん。自分でもそう思っている。

SEO的なところからindex.php?main 見たいにサイト全体を一つのphpで処理したくないんだよね。
(だから実際にはphpファイルでも拡張子htmlで動くようにしています。)
mod_rewriteはなんか複雑だし、レンタルサーバーによっては入ってなさそうだし。
そうするとコンテンツ(ページ)ごとにtplとそれを表示する.phpができてしまってごちゃごちゃしない?

> ***.phpにHTMLを入れておきたいんだったらSmartyは使わない方が
> すっきりする希ガス
いま一応そうしているんだけど、将来、俺はシステム面だけ作りたいし、デザイン方面は
デザイナーに任せたいし、中身はお客さんでも修正できるようにしたいし。どうしたもんかなぁ。

別にSmartyは使わないは使わないでもいいんだけど、この話は横道。
本来の解決したい問題はこっち→>>44 。
0053nobodyさん2006/02/17(金) 20:00:22ID:???
>>44
<!-- <?php $obj->method(); ?> -->
0054512006/02/17(金) 20:14:04ID:???
>>52
>そうするとコンテンツ(ページ)ごとにtplとそれを表示する.phpができてしまってごちゃごちゃしない?
んー
なんとなく言わんとすることはわかるが…
そういうもんだと割りきってしまってるからなぁ…
そもそもテンプレートエンジンって1ページ表示の際のロジックをPHPで、
画面構成をテンプレートで、と分けるのが目的だしね。

若干苦しいが、独自でHTML中に埋め込まれる変数をトークンに対応付けておいて、
サーバに配置する際には必ずsedとかでトークン→PHP変数の置換を行う、とか…
0055nobodyさん2006/02/17(金) 21:42:19ID:+wY6r5/H
>>53
<!-- <?php echo ' --' , '>'; $obj->method(); echo '<', '!--'; ?> -->
0056nobodyさん2006/02/17(金) 21:49:25ID:???
編集するときだけJavaScriptで消すとかは?
0057nobodyさん2006/02/17(金) 21:53:34ID:???
>>29>>35
ワロスw
freadどこ?
0058nobodyさん2006/02/17(金) 23:10:04ID:???
phpでサーバにあるファイルのリネームをしようとコードを書いてます。

$dirName = $_POST['dirName'];
$lastNum = $_POST['lastNum'];
$fileName = "$dirName/$lastNum.dat.gz";

$fileName2 = d."$fileName";
$ret = copy($fileName,$fileName2);
unlink ($fileName);

今あるファイル名の先頭に「d」とつけたいのですが
上記のようなコードを書いても期待通りに動きません。
ファイル名、ディレクトリ名は外部からPOSTしています。

アドバイスをよろしくお願いします。
0059nobodyさん2006/02/17(金) 23:13:19ID:???
>>58
rename
0060nobodyさん2006/02/17(金) 23:28:22ID:???
>>35
01.phpの中身をこうしてみ
<?php
$aaa = "正常に動作しました";
echo preg_replace('/(\$)(\w+)/e', '$GLOBALS[$2]', file_get_contents("a.txt"));
?>
0061nobodyさん2006/02/17(金) 23:29:18ID:???
>>58
> $fileName2 = d."$fileName";
 ↓
$fileName2 = "d$fileName";
0062nobodyさん2006/02/17(金) 23:49:42ID:???
>>59
>>61
ありがとうございます!
うまく動作しました。
renameのほうが鯖負担は少なそうですね。
いまだにphpのストリングス結合の法則が分からん・・
0063nobodyさん2006/02/18(土) 00:38:10ID:???
>>61
$fileName2 = "d".$fileName;
0064nobodyさん2006/02/18(土) 00:41:09ID:???
そのくらいマニュアル読めよな・・・
0065nobodyさん2006/02/18(土) 01:03:08ID:???
>>62
お前が分かってないのは結合じゃなくて文字列そのもの
0066352006/02/18(土) 01:26:15ID:4SCbmboD
>>37
>>38
>>60
うまく変換できました、ありがとうございます
とても参考になりました。
0067nobodyさん2006/02/18(土) 11:43:18ID:???
abcdefghijkl...

3文字ずつ分割して配列にする方法を教えてください。

[0] => abc
[1] => def
[2] => ghi
[3] => jkl
0068nobodyさん2006/02/18(土) 12:04:50ID:???
>>67
これぐらいしか思いつかん、スマン
for ($n = 0; $n < strlen ($a)/3; $n++)
$b[$n] = substr ($a, $n*3, 3);
0069nobodyさん2006/02/18(土) 12:31:35ID:???
>>67
$a='abcdefghijklmn';
$b=preg_split('/(.{1,3})/', $a, -1, PREG_SPLIT_NO_EMPTY|PREG_SPLIT_DELIM_CAPTURE);
print_r($b);
0070nobodyさん2006/02/18(土) 12:38:40ID:???
>>67
php5なら
$str = "abcdefghijkl";
$arr = str_split($str, 3);
0071nobodyさん2006/02/18(土) 15:39:50ID:???
PHP5ってまたいっぱい関数増やしてんだなー
0072nobodyさん2006/02/18(土) 17:13:25ID:???
基本的にインタプリタだから関数で一発処理の方がいいからね
0073nobodyさん2006/02/18(土) 17:21:20ID:???
PHPでPerlにあるqq()ってのはありますか?

$abc = qq(<A href="a">).$def.qq(</A>);

みたいなことしたいんですけど、ヒアドキュメントだと
見づらくなっちゃうので、すっきりかける方法がないかな〜と。
0074nobodyさん2006/02/18(土) 17:47:49ID:???
>>73
俺は知らないなぁ。

"(<A href=\"a\">)$def(</A>)";
とやるか
"(<A href='a'>)$def(</A>)";
とやるな。
0075nobodyさん2006/02/18(土) 17:54:29ID:???
>>73
つか、普通にシングルクォートで括れば?

$abc = '<a href="a">' . $def . '</a>' ; (いまさら大文字は無いだろ…)
0076nobodyさん2006/02/18(土) 18:20:45ID:???
その辺ってPHPはPerlに比べると不便だよねー。
\"にしろ . での連結にしろ煩わしいし見づらいし間違っても気づきにくいし。
俺はヒアドキュメント使っちゃう派。
0077nobodyさん2006/02/18(土) 21:32:24ID:???
>>68-70 ありがとうございます。
0078nobodyさん2006/02/19(日) 00:56:32ID:???
>>76
それはお前がPerlに慣れてるからじゃないか?俺はqqとか気持ち悪いから使わないが
0079nobodyさん2006/02/19(日) 01:44:34ID:???
はじめは慣れてないと気持ち悪いものですよ。
いやあperlほど不便なものはない。。
0080nobodyさん2006/02/19(日) 02:17:35ID:???
perlの$_とか好きなんだけどなぁ。
0081nobodyさん2006/02/19(日) 03:04:43ID:???
>>78
大量のエスケープ記号を挟むよりずっと美しい記法だと俺は思うがなぁ。
0082nobodyさん2006/02/19(日) 03:06:31ID:???
そろそろスレ違いだと俺は思うがなぁ。
0083nobodyさん2006/02/19(日) 04:24:56ID:SHjAEm2n

print"<img src="sky.jpg" width="" height="" alt="">";

↑この文章のところでエラーになってしまうんですが
なにかいい方法ないですか?
0084nobodyさん2006/02/19(日) 04:37:32ID:???
>>83
わざと荒らしてるのか?つい直前でその話をしてるとこだろが。
0085nobodyさん2006/02/19(日) 04:46:34ID:???
>>83
こうしろ

?>
<img src="sky.jpg" width="" height="" alt="">
<?php
0086nobodyさん2006/02/19(日) 08:48:59ID:???
この書き方ができるのはPHPのいいとこだよな
0087nobodyさん2006/02/19(日) 14:18:30ID:???
それはロジックと区別がつきにくいからということで、コーディング規約で禁止になってる…
0088nobodyさん2006/02/19(日) 15:06:13ID:???
いいじゃない
釣りにマジレス
しなくても
0089nobodyさん2006/02/19(日) 15:56:15ID:???
つphp-mode.el
0090nobodyさん2006/02/19(日) 17:05:40ID:???
2006/02/19(Sun) 00:00:00

現在この様な形式でJSTでログに記録しています。

これをGMTで
Sun, 19 Feb 2006 00:00:00 GMT

と変換したいのですが簡単な方法ありませんでしょうか。
こんな事なら最初からunixtimeでログとっておけば簡単だったのに・・・ 
0091nobodyさん2006/02/19(日) 18:14:30ID:???
MT質問スレからの移動です。

MovableTypeに以下のスクリプトでtrackbackを送ると
「1 送信元の URL (url) が必要です。」
と帰ってくるのですが、仕様書の記載ではこれでよいはずなのです。
どなたか原因を教えていただけませんでしょうか。

<?php
$url='www.hogehoge.com';
$fp = fsockopen($url,80,$errno, $errstr, 30);
if(!$fp){echo "$errstr($errno)";}
$ping="POST http://www.hogehoge.com/tb.cgi\r\n";
$ping .= "User-Agent:BlogTool\r\n";
$ping .= "Host: http://www.hogehoge.com/tb.cgi/1\r\n";
$ping.="Content-Type: application/x-www-form-urlencoded\r\n";
$ping.="title=Foo+Bar&url=http://www.hogehoge2.com/1.html&excerpt=My+Excerpt&blog_name=Foo";

fwrite($fp,$ping);
$response = "";
while (!feof($fp)) {
$response .= fgets($fp, 4096);
}
fclose($fp);

echo $response;
?>
0092nobodyさん2006/02/19(日) 18:22:59ID:???
仕様書って言われてもどれのことか分からんので適当に「MovableType 仕様書」でググってみた。
そうやって見つけた仕様書では、
パラメータとして title, excerpt, url, blog_nameを使う事ができ、 url だけが必須、とあった。
0093nobodyさん2006/02/19(日) 18:33:27ID:???
>$ping.="Content-Type: application/x-www-form-urlencoded\r\n";
なのにurlencodeされていないのは気にしなくてもいい?
0094912006/02/19(日) 18:34:03ID:???
>>92
お手数おかけします。
(トラックバック技術仕様書 http://lowlife.jp/yasusii/stories/8.html

$pingの最終行にurlを指定しているのですが
これが仮に送信されていないのであれば
phpの書き方に問題があるのではないかと思ったのです。
0095nobodyさん2006/02/19(日) 18:44:22ID:???
>>87
じゃあ、これならOK?
 if(条件) {
  ?><img src="sky.jpg" width="" height="" alt=""><?php
 }
0096nobodyさん2006/02/19(日) 18:50:05ID:???
>>91
仕様書も読まないで想像で回答しちゃうけど、
POST 〜
User-Agent: 〜
Content-type: 〜
ときて
name=value&name=value&name=value...
とくるなら、それって前者がPOSTメソッドのヘッダ送信で、後者がクエリーデータだろ。
ならヘッダとデータの間に1行の空行が必要なはず。
$ping.="Content-Type: application/x-www-form-urlencoded\r\n";
$ping.="\r\n";
$ping.="title=Foo+Bar&url=http://www.hogehoge2.com/1.html&excerpt=My+Excerpt&blog_name=Foo";
でいけねー?
0097nobodyさん2006/02/19(日) 18:52:45ID:???
>>90
strtotime
0098902006/02/19(日) 22:37:05ID:???
>>97
ありがとうございました。解決できました。

2006/02/19(Sun) 00:00:00 で (Sun) とかが入っていても見事に変換できるのですね
0099912006/02/20(月) 00:36:09ID:???
urlencode()
空行を入れる
のいずれも駄目でした…。
思いついてUTF-8に変換してみたりもしたのですが
やはり同じ症状です。
はてさて…
0100nobodyさん2006/02/20(月) 04:23:54ID:???
>>91
多分今回の問題とは直接は関係ないと思うが
> $ping="POST http://www.hogehoge.com/tb.cgi\r\n";
> $ping .= "Host: http://www.hogehoge.com/tb.cgi/1\r\n";
は
$ping="POST http://www.hogehoge.com/tb.cgi/1\r\n";
$ping .= "Host: http://www.hogehoge2.com/\r\n";
だと思う。
0101nobodyさん2006/02/20(月) 07:53:04ID:???
PHPに関係ないね。
0102nobodyさん2006/02/20(月) 10:07:52ID:???
まだどっちとも言えないと思うが
0103nobodyさん2006/02/20(月) 12:02:40ID:???
関係のなさで言えば、
perlを実行するためのパーミッションを教えてくださいぐらい関係の無い質問だな。
遠からず近からず。
要するにこっちで質問されるとウザい。
0104nobodyさん2006/02/20(月) 17:29:29ID:???
こういう時のためにWebProg質問スレがある訳だが。
0105nobodyさん2006/02/20(月) 18:06:35ID:???
むしろくだ質があるよな
0106nobodyさん2006/02/20(月) 18:10:08ID:???
PHPと関係ない質問はくだ質でもお断り
0107nobodyさん2006/02/20(月) 19:35:43ID:???
>>103
私の手には負えません
ごめんなさいって素直に書けよw
0108nobodyさん2006/02/20(月) 20:47:28ID:???
>>107
すまん。
俺にはお前は扱いきれなかったようだ。
構いきれずに悪かったな( ´,_ゝ`)
0109nobodyさん2006/02/21(火) 01:23:25ID:csEvNJQp
指定された時刻・時間に現在表示されているHTMLから別なHTMLに変更させる作業を行いたいのですが
調べてみると出てきません。教えて神様
0110nobodyさん2006/02/21(火) 01:24:15ID:???
ユーザIDが入った配列を使って、それぞれのユーザネームを返すSQLを書きたいのですが
以下のように書くしかないですか?
SQLを何回も叩くので遅くなりそうなのが心配です。

foreach ( $user_ids as $user_id ) {
$sql = "SELECT user_name FROM users WHERE user_id = ".$user_id;
$result = $DB->GetRow($sql);
}
0111nobodyさん2006/02/21(火) 01:35:12ID:???
>>109
タイマーかけるということ?
時間判定で表示させるページ内容を変更するか、
cronを使うか。
どちらかになると思う。
0112nobodyさん2006/02/21(火) 02:29:27ID:???
>>110
IN使っちゃどうかね
$sql = "SELECT user_id,user_name FROM users WHERE user_id IN ('".implode("','",$user_ids)."')";
0113912006/02/21(火) 08:49:54ID:???
発想をまるっきり変えて解決しました。
ありがとうございました。
(解決策はスレ違いといわれそうなので、このままで)
0114nobodyさん2006/02/21(火) 09:28:08ID:???
>>112
IN使ってもいINですか?

なんつったりしてなゲハハハ
0115nobodyさん2006/02/21(火) 09:49:21ID:???
ioncubeのエンコーダーを導入しようと思うんだけどいかがでしょうか?
暗号化と高速化ってのは魅力なんですが、
これによってバグとかが発生しちゃうのが怖いんです。
ttp://www.asial.co.jp/products/ioncube/encoder/products.php
0116nobodyさん2006/02/21(火) 10:28:55ID:???
>>109
現在表示されてるHTMLを定期的にリフレッシュさせればいいんじゃない?

>>115
試してみて結果を教えてくれ。
0117nobodyさん2006/02/21(火) 11:15:21ID:???
>>109
くだ質行きっぽい内容だ。
0118nobodyさん2006/02/21(火) 11:45:50ID:???
昔から思ってるけど、あんまくだ質とこのスレの違いって無いよな。
どっちも同じぐらいのレベルの話するし。
0119nobodyさん2006/02/21(火) 13:14:03ID:???
>>109
PHPに限定しない(というより関係ない)質問だし
0120nobodyさん2006/02/21(火) 13:35:59ID:???
>>118
くだ質があればこのスレ要らないよな
0121nobodyさん2006/02/21(火) 13:39:56ID:???
うん、たいていの質問はくだらん
0122nobodyさん2006/02/21(火) 14:30:37ID:???
>>113
それは
「俺はやり方わかったけどお前らには教えてやんねーぜ、バーカ」
と近い発言になってるという事に気付いてください。

解決しても、解決策を出すのが質問スレでのマナーでしょう。
知りたい人は沢山いるわけだから。
0123nobodyさん2006/02/21(火) 17:35:39ID:???
>>122
本当に解決したか、それ以前に本人の書き込みかすら怪しいんだから相手にしても意味がない
0124nobodyさん2006/02/21(火) 18:02:42ID:ihX6B4Hf
htmlファイルに

<?php
print"test";
?>

ってやったら出力されます?
0125nobodyさん2006/02/21(火) 18:05:26ID:???
>>124
サーバの設定による。
0126nobodyさん2006/02/21(火) 19:19:01ID:???
>>124
printと"の間にはスペース入れたほうが良いと思う。
0127nobodyさん2006/02/21(火) 20:25:51ID:???
そういや引数の最初のキーに%5Bが入ると%5Eか何かに変わるバグは
PHPのフォーラムかどこかに投稿されてるのかな?
0128nobodyさん2006/02/21(火) 21:21:49ID:y3MPaFDb
>>124
もちろん出力される。
0129nobodyさん2006/02/21(火) 21:28:19ID:???
もちろんとか来たよ
0130nobodyさん2006/02/21(火) 21:45:25ID:???
何かしらは出力されるだろ
ブラウザ上で見える内容かどうかはともかく
0131nobodyさん2006/02/21(火) 21:44:20ID:???
array_combine とかの逆ってあるの?
0132nobodyさん2006/02/21(火) 21:50:37ID:???
>>131
array_keysとarray_values
0133nobodyさん2006/02/21(火) 23:20:12ID:???
>>132
サンクスコ
0134nobodyさん2006/02/21(火) 23:40:53ID:???
「出力されます?」って質問なんだから>>128も間違ってない
"ブラウザへは"出力されるんだから。
大抵のブラウザは無効なタグとして処理し、ブラウザ上には表示しないと思うが。
「phpとして処理されますか?」なら>>125だけどな。

早い話が質問内容が悪(アバウト)すぎる
0135nobodyさん2006/02/22(水) 00:44:55ID:???
まぁ正論だけど、php質問スレッドだからなぁ・・
0136nobodyさん2006/02/22(水) 02:28:56ID:???
「htmlファイルに」って言ってるし
0137nobodyさん2006/02/22(水) 02:37:21ID:???
ttp://oresama.hopto.org/~sheel/directory/

このサーバをphpを使ってクラックすることは可能ですか?
phpでダメなら他の方法でも構いません。
0138nobodyさん2006/02/22(水) 03:44:19ID:???
>>137
> phpでダメなら他の方法
スレ違い乙
0139nobodyさん2006/02/22(水) 07:39:06ID:???
>>137
可能だから、取り合えずそのサーバのアカウントを教えてくれ。
そのくらいはハック済みなんだろ?
0140nobodyさん2006/02/22(水) 08:40:56ID:???
PHPのWebシステムでモジュールを入れることで機能を追加させるように
したいのですがこの場合どういう風に構築すればよいのでしょうか?
0141nobodyさん2006/02/22(水) 09:16:43ID:???
>>139
アカウントをクラックするのもクラッキングの内だろ。自分でやれ。
0142nobodyさん2006/02/22(水) 11:12:30ID:???
最近、メ欄に無駄な空白入れてくる奴いるね。
ウザッ
0143nobodyさん2006/02/22(水) 11:29:59ID:???
外部のファイル

http://www.sample.com/test.jpg

のファイルサイズを取得する方法を教えてください。
0144nobodyさん2006/02/22(水) 11:45:19ID:???
>>143
ファイルを取得してstat
0145nobodyさん2006/02/22(水) 11:47:32ID:YzTdS2nd
windows server 2003でIIS6.0を使用してます。
PHP4.4.2をインストールし、nucleusでblogを作成したところ、
「エラー発生アプリケーション w3wp.exe、バージョン 6.0.3790.1830、エラー発生モジュール php4isapi.dll、バージョン 0.0.0.0、エラー発生アドレス 0x00002443」
とアプリケーションログに記録され、表示できなくなりました。
どうやら、PHP4.4.2のバクのようで、STABLE版の使用で解決するらしいのですが、STABLE版はIISで使用できるのでしょうか?
また、設定方法等、解説しているサイトをご存知でしたら、ご教授願えませんでしょうか?
よろしくお願いします。
0146nobodyさん2006/02/22(水) 11:52:20ID:???
file_get_contents() & getimagesize()
0147nobodyさん2006/02/22(水) 12:00:00ID:???
>>144 >>146
ありがとうございます。
説明不足でした。

外部のファイル

http://www.sample.com/test.html
http://www.sample.com/test.jpg
http://www.sample.com/test.mpg

の容量(バイト)を取得する方法を教えてください。
0148nobodyさん2006/02/22(水) 12:04:19ID:???
filesize
0149nobodyさん2006/02/22(水) 12:04:49ID:???
>>147
だから>>144&>>146じゃん
0150nobodyさん2006/02/22(水) 12:19:22ID:???
>のファイルサイズを取得する方法を教えてください。
自分で答え言ってるな。

>148が答え。
満足したら帰れ。
0151nobodyさん2006/02/22(水) 12:25:27ID:???
予知能力発動
この後、>>147は
「では、外部のファイルを取得する方法を教えてください」
と書き込もうとするであろう。


ところが、この予言の書を目にして、書込みを躊躇う。
0152nobodyさん2006/02/22(水) 12:30:48ID:???
>>151
しかし斜め上を行く147の次の書き込みは、こうであった。
「では、僕は何をどうしたらよいのでしょうか」

# HTTPヘッダもあてにならんしな<ファイルサイズ
0153nobodyさん2006/02/22(水) 12:44:11ID:???
>>152
そこへ一言「マニュアル嫁」
で、終了
0154nobodyさん2006/02/22(水) 12:46:26ID:???
ま、マニュアルにそのものずばりの情報があるわけだが(使えるかどうかは知らん)
つ[http_filesize]
0155nobodyさん2006/02/22(水) 13:16:54ID:???
>>154
HEADでContent-Length拾ってるだけのようだ
0156nobodyさん2006/02/22(水) 13:54:37ID:???
あるdirectoryに存在するファイルをリンクつきで一覧表示させたいのですが、
とりあえずopendir関数使ってここまではできました。
ttp://oresama.hopto.org/~sheel/phptest/directory.php

ソースは↓です。
<?php
//open directory
$dir=@opendir("phpdirectory") or die("failed to open the directory");
while($file = readdir($dir)) {
if (!is_dir($file)){
echo $file ."<BR>";
}
}
closedir($dir);
?>

あとはこれにリンクをつけたいのですが、
<LI><A HREF="file1">file1</A>
のようにタグをつけるにはどうしたらいいのでしょうか?
0157nobodyさん2006/02/22(水) 14:01:11ID:???
え?釣り?
0158nobodyさん2006/02/22(水) 14:14:37ID:???
釣りだな
01591562006/02/22(水) 14:43:38ID:???
え? 釣りじゃありませんよ・・・orz

当方、phpを始めたのは今日が初めてで、
自宅サーバでやっとこさphpが使えるようになったのが今日なのです。
全くのphp初心者なので、超基本的なことだったらすみませんが、
教えていただくと助かります・・・orz
01601562006/02/22(水) 14:45:22ID:???
ちなみに>>156のソースはここです。
http://masago.kir.jp/php20041028.php
これをほとんどそのまま映しただけで、
こんなのを一から作り上げるスキルなどまだまだありません・・。
0161nobodyさん2006/02/22(水) 14:47:48ID:???
>>156
echo $file ."<BR>";
を
echo '<LI><A HREF="' . $file . '">' . $file . "</A>\n";
0162nobodyさん2006/02/22(水) 14:49:45ID:???
>>159
PHPを始めたのが今日なのか、
プログラミングの世界に触れたのが今日なのか?

どっちでもいいけど、
まずは、>>1にあるマニュアルで、一つずつ命令文を調べてご覧。
せっかく始めたんなら、聞く前にまずは自分で考えてみなよ。
0163nobodyさん2006/02/22(水) 14:49:57ID:???
> phpを始めたのは今日が初めて
初めての日に(しかも数時間で)こんな所に来たらイカンよ。
まずは本を買うかやさしい猿でもわかる参考サイトを探して
自分でやりなさいな。
0164nobodyさん2006/02/22(水) 14:51:05ID:???
>>161
信でイイよ
01651612006/02/22(水) 14:51:35ID:???
まちがえた
echo '<LI><A HREF="./phpdirectory/' . $file . '">' . $file . "</A>\n";
01661562006/02/22(水) 14:59:15ID:???
>>161
あ、ありがとうございます!!
さっそくやってみます。

>>162
初めてやったのがプログラミングというかスクリプティングで
shellscript(bash)です。bashに関してはまぁ初心者は脱したくらいの
レベルになりました。(bash歴一年くらい)
したがってphpもifとかforとか結構似たようなのが出てくるので
そこまで苦痛ではありませんが、ちょっとbashと較べると
わかりづらい感じはしています。
最初はSSIで無理やりディレクトリを表示させることをやってみました。
こんな感じでできるようになったのですが、↓
ttp://oresama.hopto.org/~sheel/directory/
「phpの方が簡単」
というアドバイスをいただきましたのでphpに挑戦しているところです。

>>163
そうですね。いろいろと猿でもわかるサイトを物色している最中です。
金はないので本は買えません・・・orz
01671562006/02/22(水) 15:00:16ID:???
>>165
ありがとうございます。やってみます。
01681562006/02/22(水) 15:14:57ID:???
>>165
ありがとうございますた!できますた!
本来、directory.phpと同じディレクトリに存在する
ファイルかフォルダを一覧表示させたかったのですが、
「自分と同じディレクトリ」を差すメタキャラがphpでは
わからなかったので、しょうがなくそれは後回しにして
わざわざ下位のディレクトリ「phpdirectory」をつくって
試していたのでした。
試しにbashでいうところの「.」を試してみると、なんと
phpでも「.」は「現在のディレクトリ」を差すようですね。
ついでに本当はファイルだけでなく、ディレクトリも表示されるように
if文を削除してみたら案の定正解でした。
ttp://oresama.hopto.org/~sheel/phptest/directory.php

しかし今度は新たな問題が出てきました。
bashを使った方法ではlsコマンドで「.htaccess」ファイルを
非表示にする方法があったのですが、phpではありますか?
01691562006/02/22(水) 15:18:03ID:???
今回学んだ最大の点といえば、
phpは<とか>とかをバックスラッシュで
エスケープする必要がないみたいなので
こういう点がweb programmingに向いてるんでしょうね。
もっと勉強してみなさんに教えられるくらいにはやくなりたいと思います。
0170nobodyさん2006/02/22(水) 15:29:47ID:???
>>168.169
ん〜〜〜〜なにか微妙に的外れな事で妙に感動しているようだが・・・
まぁ、頑張ってくさい。
0171nobodyさん2006/02/22(水) 15:35:59ID:???
覚えは悪くないみたいなのでPHPの基礎をきちんとやったほうが自分のため。
自分で本を探して数千円を投資するかしないかでかなり習得のスピードが違うと思う。

まあサイトでもいいだろうけど
0172nobodyさん2006/02/22(水) 15:37:47ID:???
>>168
http://jp.php.net/manual/ja/

それとphp.iniぐらい置いとけ
/etcにphp.iniが無いとphpinfo()が言っておるぞ
0173nobodyさん2006/02/22(水) 15:40:11ID:???
>>168
>bashを使った方法ではlsコマンドで「.htaccess」ファイルを
>非表示にする方法があったのですが、phpではありますか?
って、"."で始まるファイル名は表示しないって事じゃなくて?

ならファイル名の一文字目に"."のあるファイルは表示しないって処理を加えればいい

どっちにしろ一から勉強しないと自作は出来なさそう
phpの文法が分からないのに人のソース見ても上達するのかな・・
01741562006/02/22(水) 15:50:00ID:???
>>172
ああ、さっき一度php.iniは置いたのですが、
それはsafe_modeをOFFにしたかったからなんですけど、
どうもこのサーバは元もとOFFだったようで
だったら必要ないのかな、と思って削除しちゃいましたよ。
また置いときましょうかね。
デフォルトのままでいいのでしょうかね。
ま、またあとで編集すればいいのですし、とりあえず置くだけ置いときますよ。
それにしてもphpっていちいちディレクトリごとにphp.iniを置く必要があるんでしょうかね。
いやそんな記述がphp.iniにさっきみたとき書いてあったんで。

>>171
実を言うと本は読めないのですよ・・・orz
数学とか英語は偏差値90越えは普通でしたが、
国語だけは偏差値30くらいでした。池沼クラスです・・。

>>173
そうそう、「.」で始まるファイルを非表示にしたいのですが、
これは確かにbashで培ったスキルをもってすれば意外と簡単カモデスネ。
^.とかかな、とにかくphpの正規表現調べてやってみますね。

>>170
ありがとう。がんがります!
0175nobodyさん2006/02/22(水) 16:17:54ID:???
>>174
んまぁ、bashとか全然毛色の違う物の経験則に引きずられるのなら、
いっそ、passthru()とかでls叩いて、戻り値を整形したら?

本が読めない人間に、言語の習得は非常に困難だと思ふ
ってか、文学本か何かと間違っていないか?
01761562006/02/22(水) 16:24:13ID:???
正規表現はここを参考にして
ttp://homepage2.nifty.com/sak/w_sak3/doc/sysbrd/php_k09.htm
↓こんな感じにしてみましたが、ifのところがやっぱりおかしいんですかね・・。
うまくいきません。
ちなみにphpってエラーが起こると「何行目がおかしい」ってちゃんと表示するので便利ですね!

$dir=@opendir(".") or die("failed to open the directory");
while($file = readdir($dir)) {
if (($file)!="^¥..*"){
echo '<LI><A HREF="' . $file . '">' . $file . "</A>¥n";
}
}
closedir($dir);

>>175
lsを使ってdirectory表示させる方法はSSIですでに実現できています。
phpを学ぶひとつの例としてdirectory表示に挑戦しているのです。
ちなみに、言語を学ぶのには、英語と同じで、まずは実際の例文にいっぱい触れるのが
一番だと思いますよ。
文法から入っちゃうとかえって学ぶ速度が遅くなります。経験的に。
例文を読んでみて、「これってどういう意味なのかな?」って逆引的に
正書などで学ぶのが王道です。
0177nobodyさん2006/02/22(水) 16:24:56ID:???
>>174
2ch暦何年?
いい加減ウザいよ。

空気読めてない事ぐらいは察しろよ。
それができないなら質問スレでなりふり構わずレスするな。
01781562006/02/22(水) 16:25:04ID:???
今から夜勤なのでそろそろ行きますね。
みなさんのおかげでphpのなんたるかの触りくらいはわかるようになってきました。
またご指導よろしくお願いします。
01791562006/02/22(水) 16:26:52ID:???
>>177
2ch歴は3年くらいでしょうか。
空気を読むのはおまえよりは100倍くらい上だと思いますよ。
空気を読めてないのは自分だけってのがわからないみたいだね。
2chはまだまだ177のような初心者をいちころでだませるので楽しいですね。

じゃ、こんどこそ夜勤に言ってきます。
177はくやしかったら捨てぜりふのひとことでも吐いててねw(ぷげら
0180nobodyさん2006/02/22(水) 16:33:53ID:???
「>>179」の意地の悪さが垣間見れるレスですね
0181nobodyさん2006/02/22(水) 16:37:02ID:???
>>176
君はPHPよりPerlの方が向いてるかもしれない。
あれはsh他のコマンドラインスクリプトの発展したものだから文化が近いと思うよ。
PHPは見た目が少しPerlに似てる程度で考え方の基本はC言語に近い。
0182nobodyさん2006/02/22(水) 16:40:43ID:stieJNuS
最近PHP使わされてるんですが、PHPって、
たとえば関数がオブジェクトをかえすときに、

function foo() {
return new Bar();
}

foo()->baz();
みたいな関数呼び出しはできないんでしょうか?
なんか文法エラーって怒られるんですが…
PHP4です
0183nobodyさん2006/02/22(水) 16:41:47ID:???
>>179
一気に萎える('A`)

> 数学とか英語は偏差値90越えは普通でした
そいつは尋常じゃない数値だね。
英文で書かれた参考書の方が君にはあってるっぽいよ。

それと
if (($file)!="^?..*"){
の"^?..*"はマッチパターンであってereg関数なり使わないと。

ピリオドが2つ続いているのは良く分からないけどね。
0184nobodyさん2006/02/22(水) 16:43:18ID:???
偏差値90ってそうとう母集団が偏ってた予感。
全国テストとかなら満点とっても取れないよなぁ。
0185nobodyさん2006/02/22(水) 16:44:48ID:???
>>183
Perlなら if($file =~ /^\..*/) でいけるな。
あと、^\..* の正規表現の意味が分からないって、お前の方がやばくないか?
まぁ、後半の .* は別に要らないと思うけどさ。
0186nobodyさん2006/02/22(水) 16:52:38ID:???
もうなにやら、突っ込みどころ満載な人間が降臨して
嵐のように書き込んで、風のように去っていったって感じですね…

>>176
>言語を学ぶのには、英語と同じで、まずは実際の例文にいっぱい触れるのが一番

間違ってはいないと思うけど、君、例文とか無視だろ。
例文どおりにやって、どうやったらそんな正規表現マッチが書けるんだか???

ネット上の例文の多くは文責の無い物が混じった玉石混交
その中から正確な情報を適切に拾い出すにも基礎知識が必要になるでしょ。
その基礎知識を身につけるのに書籍とかマニュアルがイイよ、と言われても、
本が読めないとか、言って聴く耳持たず。
終いには、悪態ついて去っていくマナーの悪さ。
>>177もバカだけど、3年も2ch見ていて、煽りにいちいち反応するなよ。
0187nobodyさん2006/02/22(水) 16:55:06ID:???
>>182
ムリ
01881822006/02/22(水) 16:56:43ID:???
>>187
…なぜ?
意味解らん。

普通にプログラミング言語を設計(というかBNF)すれば、
半自動的に出来るようになりそうなもんですが…
0189nobodyさん2006/02/22(水) 16:58:33ID:???
>>188
PHP4のオブジェクト指向は後付の設計でオブジェクト指向向きの構造になってないから
0190nobodyさん2006/02/22(水) 16:58:52ID:???
>>185
いやいや、正規表現の意味が分からないんじゃなくて
このケースでは不要じゃないかな?と思って書いただけだよ。
0191nobodyさん2006/02/22(水) 17:01:08ID:???
>>190
実際には意味がなくても冗長な正規表現を書いちゃうことくらいよくあることだ
01921822006/02/22(水) 17:02:47ID:???
orz
ボスにかけあってPHPから脱出します

ちなみに5では可能でしょうか?
0193nobodyさん2006/02/22(水) 17:03:41ID:???
とりあえず、丸っきりの素人で書籍も読む気がない、というのであれば
くだらない質問スレ行き確定ってことでいーんじゃないか。
0194nobodyさん2006/02/22(水) 17:14:48ID:???
>>176の後半を読んで、ゆとり教育の弊害を痛感した。
0195nobodyさん2006/02/22(水) 17:17:27ID:???
>>191
そうだな。余計だったよ。

>>194
なるほど
0196nobodyさん2006/02/22(水) 17:18:44ID:???
例文から入ってわからんところは全部人に聞く。
確かにはためーわくだが効率はいいかもしれんなwwww
0197nobodyさん2006/02/22(水) 17:32:59ID:???
>>176
・・・・王道

裸の王様にならないようにね。
0198nobodyさん2006/02/22(水) 17:38:12ID:???
/~sheel/モノは放置の方向でお願いします。
0199nobodyさん2006/02/22(水) 17:45:28ID:???
サブドメが俺様
0200nobodyさん2006/02/22(水) 17:53:06ID:???
>>156は夜勤明けには
http://pc8.2ch.net/test/read.cgi/php/1139746974/
へ行ってくれ。
0201nobodyさん2006/02/22(水) 18:36:19ID:???
>>197
裸の王道か
上手い事言うなお前。
0202nobodyさん2006/02/22(水) 19:27:31ID:???
>>192
ここが参考になると思います。
ttp://www.doyouphp.jp/php5/php5_object.shtml
0203nobodyさん2006/02/22(水) 19:30:48ID:???
>>179
周囲の人間をもう一度よく見渡してみましょう。
空気読むのってなかなか難しいことですよ
ただし、>>177も空気読んでないように思えますが。
0204nobodyさん2006/02/22(水) 20:21:51ID:???
空気読んで俺も>>177が空気読めてないと思う。
0205nobodyさん2006/02/22(水) 20:24:32ID:???
空気読むのは日本人の悪い特徴ニダ
0206nobodyさん2006/02/22(水) 20:34:50ID:???
空気嫁=ダッチワイフ
0207nobodyさん2006/02/22(水) 23:05:14ID:???
空気婿は無いのかな?
0208nobodyさん2006/02/22(水) 23:19:25ID:???
挿れるとバリの部分が相当痛いぞ。
中を傷つける恐れあり。
02091562006/02/22(水) 23:38:40ID:???
いま、>>196が(・∀・)イイ!!こと言った!
0210nobodyさん2006/02/23(木) 00:00:56ID:???
韓国人みたいな人が帰ってきたな。
0211nobodyさん2006/02/23(木) 00:11:24ID:???
もう春厨がわいたのか?
0212nobodyさん2006/02/23(木) 00:13:18ID:???
>>209
空気嫁
0213nobodyさん2006/02/23(木) 01:11:56ID:???
ADOdbを利用しています。

$DB->getRow($sql); の結果のインデックスが数値のものと文字列のものが二重で
出てくるのですが、文字列インデックスのものだけにする方法はありますか?
0214nobodyさん2006/02/23(木) 01:55:13ID:???
>>213
文字列にキャストする。
$result = (string)$src;
もしくは関数を利用する。
strval ($src);

これ使えるか知らんけど、
settype ($src, typename);
typenameは文字列で"string"にすると文字列を返す。

一応マニュアル見てくれ。
0215nobodyさん2006/02/23(木) 02:55:24ID:???
>>213
事前に
$ADODB_FETCH_MODE = ADODB_FETCH_ASSOC;
でモードを設定

>>214
何の話だそりゃ
0216nobodyさん2006/02/23(木) 03:37:31ID:???
>>215
サンスコ!でけた!

直前だとこれでもいける
$DB->SetFetchMode(ADODB_FETCH_ASSOC);
02171562006/02/23(木) 04:47:14ID:???
>>183
ereg!!!
こんな表現をいちいち使わないといけないのですね。
ちょっと戸惑いを感じましたが俺様のスキルの高さのためか、
おまいらのせいかよくわからんけどなんとかやりたいことが
できるようになりましたよ!!!

<現在のディレクトリ内のファイルとディレクトリを
 まるでApacheのFancyIndexのように一覧表示する。
 ただし「.」(ピリオド)で始まるファイルorディレクトリは表示しない>

<?php
//open directory
$dir=@opendir(".") or die("failed to open the directory");
while($file = readdir($dir)) {
if ( !ereg ( "^¥.", $file)) {
echo '<LI><A HREF="' . $file . '">' . $file . "</A>¥n";
}
}
closedir($dir);
?>
02181562006/02/23(木) 04:51:31ID:???
>>217
の実際のphpサンプル出力がこちら。
ttp://oresama.hopto.org/~sheel/phptest/directory.php

あとはそれぞれのファイルの最終変更日と何キロバイトか、
って情報もいっしょに表示させたいね。
SSIではlsを使って↓のようなところまではできたんだけどね。
ttp://oresama.hopto.org/~sheel/index.shtml

phpではやはりファイル容量とか最終変更日とかまで表示させるのは
無理難題なのでしょうか?

とにかくおまいら役立たずにわざわざ聞く前に
とりあえず自分で調べてみますね。
0219nobodyさん2006/02/23(木) 04:56:21ID:???
>>218
filemtime
filesize
0220nobodyさん2006/02/23(木) 05:20:28ID:???
>>219
ありがとうございまし!
なんとかできますたね!
おれさまのスキルだよ!
ttp://oresama.hopto.org/~sheel/phptest/directory.php

PHPってのはbashと違って
・echoのあとにただ以下のように羅列していくだけでいい(下記参照)
・>とか、<とかをエスケープする必要がない
・エラーが起こるとブラウザ上で何行目がエラーか表示してくれる
っていう利点がてんこ盛りですね。
ますますphpにのめり込んでしまいそうです。

echo '<LI><A HREF="' . $file . '">' . $file . "</A> " . sprintf("%u", filesize($file)) . " " . date ("F d Y H:i:s",filemtime($file));
0221nobodyさん2006/02/23(木) 05:21:25ID:???
ちなみに掲示板つくったよ。
ttp://oresama.hopto.org/~sheel/phptest/bbs/gazou.php

どんどん書き込んでね。
0222nobodyさん2006/02/23(木) 07:00:21ID:???
なんだこいつ
きもいな
0223nobodyさん2006/02/23(木) 07:31:51ID:???
>>221
それはお前が作ったんじゃないだろ
ただ設置しただけ
0224nobodyさん2006/02/23(木) 07:41:22ID:???
単なる能無し
0225nobodyさん2006/02/23(木) 08:06:23ID:???
156は放置の方向でってなってるじゃん。こいつ出てくると
荒れるんだって。
0226nobodyさん2006/02/23(木) 10:35:24ID:???
>>156-160 辺りでは
謙虚な初心者だと思って幾つか回答もしたんだが、
はっきり言って、今は後悔しているorz
0227nobodyさん2006/02/23(木) 10:39:12ID:???
久しぶりに香ばしい奴が湧いてるなw
0228nobodyさん2006/02/23(木) 10:48:49ID:???
>>223
古式タソ思い出したよw
0229nobodyさん2006/02/23(木) 11:31:15ID:???
俺は昔から177はやってくれる子だと思ってたよ。
0230nobodyさん2006/02/23(木) 11:32:08ID:cRiHYjaV
指定されたファイル名が無い場合に
それを作って保存してくれる関数って無いでしょうか
0231nobodyさん2006/02/23(木) 11:34:22ID:NhHoHXRn
PHPを使ってMySQLを操作しています

SQLのinsert文やupdate文を用いてテーブルを更新
insert into テーブル名 (名前) values ('値') //自分の例
このような場合、「値」の部分に「'」が入っていると(例:TE'ST)実行に失敗するのですが
よい回避方法はありますでしょうか?
htmlentities($name, ENT_QUOTES);で文字を変換してやってみましたが出来ませんでした
0232nobodyさん2006/02/23(木) 11:46:03ID:???
>>230
fopen
0233nobodyさん2006/02/23(木) 11:47:54ID:???
PHPでXML関係の処理についての質問なのですが、こちらで良いですか?
もし板違いスレ違いだったら誘導していただけると助かります。

PHP5でSimpleXMLを使ってXHTMLファイル処理したいのですが、
どうも <html> 要素に xmls="http://www..." を指定すると、xpath()でノードを取得できなくなってしまいます。
xmlns 属性をまるごと消すと、目的のノードを取得できるようになります。
なぜ xmlns を指定すると取得できなくなるのか、原因と対策をご存知でしたら回答お願いします。
-----------------------------------------------------
【src.html】(このXHTMLの <html> 要素から xmlns を削除するとちゃんと取得できます)
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html lang="ja" xmlns="http://www.w3.org/1999/xhtml" xml:lang="ja">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<title>テスト</title>
</head>
<body>
<div id="nullpo">
ぬるぽ
</div>
<div id="ga">
ガッ
</div>
</body>
</html>

【test.php】
$sxml = simplexml_load_file('./src.html');
$xpath = "//div";
$res = $sxml->xpath($xpath);
var_dump($res[0]);
0234nobodyさん2006/02/23(木) 12:53:46ID:???
>>220
どこを立て読みしたら(r
0235nobodyさん2006/02/23(木) 13:42:17ID:???
>>157-158
0236nobodyさん2006/02/23(木) 13:50:14ID:cRiHYjaV
>>232
ありがとうございます
02372212006/02/23(木) 14:05:43ID:???
>>223
あ、すみません。全くその通りですた・・・ooorz

ttp://oresama.hopto.org/~sheel/phptest/bbs/gazou.php

このBBSはまんま「レッツPHP」さんの秀逸なBBSを
そっくりそのままの形で設置してみましたのです。
これをわたしがつくったかのように書いてしまったのはすみませんでした。
わたしはただ、PHP例文に多く触れることにとにかく主眼を置いていますので
とりあえず設置してみただけです。
設置、とひとことで言っても、これを行うにはMacOSXの
Terminalを使用してchmodコマンドを駆使したり、
mkdirコマンドを駆使したり、割と様々なテクニックが必要であり
1年前のわたしではまったくできなかったことでした。
とにかく「今そこにあるPHPプログラム」を少なくとも
「設置」くらいはできるようになった、と感動すら覚え、
まるでこどもが親に「ほら、ボク、こんなことができたYO!」
と言っているかのような錯覚に陥っていたのも事実でした。
0238nobodyさん2006/02/23(木) 14:08:14ID:???
ところで、PHPを使うと、
データベースの作成?流用?も楽々っぽい印象を思っています。
PHPのデータベースとの親和性を前面に打ち出して、
「署名をつのるためのPHPブログラム」
をつくってみたいと思います。
今、具体的に頭に描いているのは、

名前
所属
メールアドレス
コメント

というのをそれぞれ入力してもらい、
[投稿する]ボタンをクリックすると投稿される、というものです。
これはまんまBBSの形に似ているので、BBSを動かすPHPプログラムを
ちょちょっとせせるだけでなんとかならないかなぁと思っています。
もしなにかアドバイスがありましたらひとことだけでもよろしくお願いします。
0239nobodyさん2006/02/23(木) 14:50:33ID:???
>>231
mysql_real_escape_stringかmysql_escape_string
どちらがいいかはマニュアル調べれ
0240nobodyさん2006/02/23(木) 15:14:06ID:???
>>237
これからも、ここに書き込むのなら、
名前を固定にしてトリップをつけると幸せになれると思いますよ。
3年も2chに馴染まれているので、今更でしょうけど、
念のため、名前欄で「俺様#hogehoge」とかであなただけのトリップが持てますからね。
是非。
0241皮先くん ◆N3i.Qu1SoY 2006/02/23(木) 15:42:12ID:???
>>240
これでいいですか?

ではさっそく。
>>238
を実現するためには、php超ド初心者の俺としては
まず、軽いステップを踏む必要があると思い、
ここを参考にして<form>からPOSTで受け取るスキルを更新しようと
しています。
ttp://php.dori-mu.net/news.html

全くこの通りにやっているのですが、
どうにもうまくうごきません。
まず、
ttp://oresama.hopto.org/~sheel/phptest/news/newspost.php
これをやると、「hogehogeのように書き込まれました」
と表示されるはずなのですが、そうはなりません。
news.batへの書き込みがうまくいってないような感じです。
パーミッションの問題かな、と思ってnews.batは
「だれでも書き込み可」にしてみましたがダメですた・・・orz

どうしたらいいのでしょうか?
0242皮先くん ◆N3i.Qu1SoY 2006/02/23(木) 15:48:29ID:???
ちなみに、
このように
ttp://oresama.hopto.org/~sheel/phptest/news/
news.datとnewspost.phpとprintnews.phpは同じディレクトリ内に
存在しています。

あと、エディタを使ってnews.datに1234と一行書き込むと、
printnews.phpは正常に動作するようです。
ttp://oresama.hopto.org/~sheel/phptest/news/printnews.php

なぜ>>241のnewspost.phpがうまく動作しないのか、
ヒントだけでも教えていただけると助かります。
0243nobodyさん2006/02/23(木) 16:19:18ID:???
やっとあぼーんできる
0244皮先くん=241=242 ◆N3i.Qu1SoY 2006/02/23(木) 16:53:38ID:???
やっぱりダメですね。
スキルアッププロジェクトは遅々として止まったままです。
news.batへの書き込み自体はどうもうまく行っているようです。
なぜかというと、if分岐を削除すると
ちゃんと[]のnullが書き込まれているからです。
問題の根源は、formからsubmitとcontentsを
postしてないか、postされているのに受け取れない、
のどちらかかと思われます。
apacheの設定でformからのpostを有効にする、って設定が
あったりするんですかね・・・。で、それが無効になっている、と。

ちょっとその辺をひとりで調べてみますね。
0245nobodyさん2006/02/23(木) 16:54:04ID:???
皮先かよ!!本人か!?MacOSXだしな…
0246nobodyさん2006/02/23(木) 17:10:24ID:???
てかID出さないやつの質問に答えるのってどうなの。
>>245とか明らかに本人だろ。
0247皮先くん=241=242 ◆N3i.Qu1SoY 2006/02/23(木) 17:17:49ID:cy2LQUXf
失礼しました。
IDを出さない行為がよくない行為だというのは初めて知りました。
これからはIDもトリップも露出して正々堂々と闘うことを誓います。

>>244
の続きの話ですが、
どうもapacheは最初からpostとかgetとかサポートしているみたいですね。
というか世の中ほとんどGETなどの世界でWWWが存在しているっていうかw
う〜む、原因がわからない。
誰も教えてくれないようなのでひとりで悩むより
次の課題に取り掛かりたいと思います。

課題を思いついたらまた書き込みますね。
誰かが課題を出してくれても大歓迎です。
PHPのスキルの更新が目的ですので。
0248nobodyさん2006/02/23(木) 17:22:49ID:???
皮先練習スレとか立てた方がいいんじゃないのかww
0249nobodyさん2006/02/23(木) 17:36:43ID:???
>>240 GJ!
センブラ者あぼ〜ん設定汁
0250nobodyさん2006/02/23(木) 17:47:28ID:???
>>239さん
ありがとうございます
一応自力でどうにかする方法も見つけたのですが、こっちの方がスマートそうです
4.3以降はmysql_real_escape_string
それ以前はmysql_escape_string
を使うようです
0251nobodyさん2006/02/23(木) 17:47:51ID:???
お前ら(>>243>>249)馬鹿じゃないの?
そんなこと言っちゃったら名無しに戻っちゃうだろ
0252nobodyさん2006/02/23(木) 17:48:47ID:???
え・意図してIDって出せるの?
0253nobodyさん2006/02/23(木) 17:59:57ID:???
メール欄空欄なら出るのでは
0254nobodyさん2006/02/23(木) 18:10:22ID:QpcRsDDO
文字コードについてお伺いしたいのですが、AJAXを使うにあたり、今後
UTF-8でPHPなども組んできたいと思います。

sjisだとsubstr関数が上手くいかないなどの問題点を聞いた事はありますが、
URF-8の問題点などございましたら教えてください。
ちなみに、現在はEUCを使用しております。宜しくお願いします。
0255nobodyさん2006/02/23(木) 18:14:23ID:cy2LQUXf
太陽と北風っていうイソップ物語で言えば、
皮先はちょうど太陽のような存在だろう。
あぽーんさせないためには普通はトリップをつけないことを
考える(=北風)が、皮先は太陽のように
自分からあぽーん設定を解除させる術に長けている。

>>251
>そんなこと言っちゃったら名無しに戻っちゃうだろ

それを敢えてせずに真っ向勝負が皮先クオリティ。
いつしか皮先のハイクオリティな書き込みを見たくて
透明アポ〜んを外したくなる、それが皮先。
0256nobodyさん2006/02/23(木) 18:28:36ID:???
>>255
バカ!ID出てるよ!
0257nobodyさん2006/02/23(木) 18:42:06ID:???
テンプレにsage質問には答えるなって書いとけよ。



ここの回答者全員バカじゃんwwwwwwwwww
0258nobodyさん2006/02/23(木) 18:48:56ID:???
あぽ〜ん

か
0259nobodyさん2006/02/23(木) 18:56:29ID:???
全くだ。ここのスレが荒れたのは皮先が悪いのではなく
書き込む人間が愚かだったからとしか言いようが無い。
0260nobodyさん2006/02/23(木) 20:09:16ID:???
なんか皮被りの自演レスが目立つな
0261nobodyさん2006/02/23(木) 20:14:14ID:???
>>254
Unicodeから他の文字セットに変換する際に
その変換テーブルが統一されてないので、
文字の一部で変換に環境による違いが発生する。
0262nobodyさん2006/02/23(木) 23:19:47ID:???
ユーザ関数内で定義した関数を外部から呼び出すにはどうしたらよいでしょうか?

function hoge(){//本当はもっと複雑です。
$a = 'hoge';
}
echo $a;

みたいなことがやりたいのですが、出来ませんでした。
逆はglobalで出来るのですが、このパターンは分かりませんでした。
ご存じの方教えてください。
0263nobodyさん2006/02/23(木) 23:36:05ID:???
>>262
ヒント:戻り値
0264nobodyさん2006/02/23(木) 23:51:45ID:???
今日の10日後とかを表す簡単な方法きぼんぬ
0265nobodyさん2006/02/23(木) 23:54:03ID:???
>>264
ヒント:http://jp2.php.net/manual/ja/ref.datetime.php
0266nobodyさん2006/02/24(金) 00:57:31ID:???
おまいら、下らない質問スレ行けって
0267nobodyさん2006/02/24(金) 01:03:46ID:???
まぁ、難しい話だよな
自分の質問が下らないかどうか分かるレベルならこのあたりの質問はしない
つまり質問者にどうこう言ってもねぇ・・
0268nobodyさん2006/02/24(金) 01:18:16ID:???
でも「簡単な方法きぼんぬ」がくだらなくない質問だったら
世の中の質問はみんなくだらなくないと思う。
ぶっちゃけ、くだ質の中でも最低ランクの質問だと思うぞ >>264
0269nobodyさん2006/02/24(金) 01:40:17ID:???
回答者がくだらねぇと思ったらスルーすればいいだけじゃん
0270nobodyさん2006/02/24(金) 01:49:26ID:???
つーか質問者じゃなくくだらない質問に回答するやつがくだ質スレに逝け
0271nobodyさん2006/02/24(金) 02:33:27ID:???
でもスルーだと誰も読んでいないのか、スルーなのか、誰も分からないのか判別付かないかも
「そんな下らない質問するな」とでも書くか?
0272nobodyさん2006/02/24(金) 04:09:55ID:???
array(['user_id']=>'3',['user_id'] =>'7')

となっている動的に返される配列を

array('3','7')

のように変換したいのですが、どうするのがスマートですか?

foreachで展開してまた、配列を作るという頭の悪そうなアルゴリズムしか浮かばないです
orz...
0273nobodyさん2006/02/24(金) 04:24:41ID:???
>>268-271
くだらない会話
0274nobodyさん2006/02/24(金) 05:32:32ID:???
>>272
array_values ってこと?
0275nobodyさん2006/02/24(金) 06:29:28ID:???
だな
>>272
ちっとはマニュアル調べろって
http://www.php.net/manual/ja/function.array-values.php
0276nobodyさん2006/02/24(金) 16:23:17ID:???
有料共用のレンサバでHPを運用しています
PHPスクリプトは動いていますがPHPが作ったディレクトリやファイルが消去できなくなっています
FFFTPでパーミッション等の設定をいくら変えてもダメです
で原因はパーミッションでは無くディレクトリやファイルの所有者自体が違うから
まではわかりました(すべてではないが一部ある)
このレンサバの仕様は
CGI の実行権限 others権限(SuEXEじゃないサバ)
ファイルの所有者は私
PHPはCGI版ではなくapacheのモジュールとして動作
CGI を実行するユーザ名 wwwユーザー
つまりPHPが作ったディレクトリやファイルの一部が私ではなくwwwユーザーになっているものが
原因のようです(すべてではないが一部ある)。FFFTP上でも所有者名が違うことがわかります。
Googleしたところ、CGI等が作ったファイルが所有者違いのため消せないことがある
そういう場合はCGIを使って消すべしとあったのでFFFTPで直接消そうとするのではなく
rmdir()やunlink()のスクリプト経由でやってみましたがこれもダメです
今回は最悪サバ缶に消去を頼むとしても、原因を突き止めないと消せないファイルはこれからも
作られ続けるので
PHPのどこを気をつけたらこの症状が防げるか
これを消すPHPのプログラムがあったら教えていただけませんか
0277nobodyさん2006/02/24(金) 16:39:38ID:???
>>276
鯖引越がBEST
02782762006/02/24(金) 17:06:05ID:NYH/iAxr
>>277
エエェェ(´д`)ェェエエ 
良ければもう少し詳しく教えていただければ助かります
このサバにいるかぎり直す方法はナイということですか?
共用だから他にも利用者がいるので文句が多数出ないように
そういう仕様にはしないような気もします
この理解は違うのでしょうか
0279nobodyさん2006/02/24(金) 17:11:58ID:???
>>276
やり方が悪いだけだと思う
エラー表示させたら原因もわかるだろ
0280nobodyさん2006/02/24(金) 17:14:51ID:???
そのディレクトリのオーナーならそのまま消すこともできるだろうが
ディレクトリ自体もphpで掘ったなら、ちょっとめんどうだね
0281nobodyさん2006/02/24(金) 17:27:08ID:???
>>276
phpの問題、つうか、セキュリティ上の問題。

セーフモードで動いてるんで、そうなる。
鯖を変えたところで、セーフモードでやってる所じゃ同じ事になるね。

たぶん、phpでファイルを消すスクリプトがおかしいんだろ。
ファイル作ったときに、パーミッションを適正に設定してないとかじゃねーの?
0282nobodyさん2006/02/24(金) 17:28:24ID:???
>>276
普通は、ディレクトリを先に作っとくもんだ。
0283nobodyさん2006/02/24(金) 17:28:26ID:???
なぜこのスレに皮先が…orz
02842762006/02/24(金) 17:31:58ID:NYH/iAxr
>>>280
>ディレクトリ自体をphpが掘ったなら
こういう現象になることがあるということですか?

>>279
PHPスクリプト自体はご機嫌よく稼動しています
エラーはとくに無いみたいです
02852762006/02/24(金) 17:46:14ID:NYH/iAxr
>>281
セーフモードじゃないということで借りています
借りる時(試用期間中)にチェックもしました
http://php.morva.net/manual/ja/features.safe-mode.php
の真ん中のほうにあるチェックの仕方をやってみました
セーフモードじゃないと思っていたこと自体が間違いということでしょうか

>>282
とりあえずディレクトリをPHPに作らせないようにして
一度やり直してみます
どうもありがとうございました

0286nobodyさん2006/02/24(金) 19:06:51ID:???
皮先うぜえな
0287nobodyさん2006/02/25(土) 12:21:13ID:???
なにこのひどい過疎っぷり
0288nobodyさん2006/02/25(土) 12:31:18ID:???
くだ質で十分だとみんな気づいちゃったんじゃない?
そもそも下らないかどうかなんて、主観というか本人のレベルに依存する話だしな。
0289nobodyさん2006/02/25(土) 13:56:44ID:???
皮先が通ったあとはペンペン草も生えないってどこかでみたことある。
0290nobodyさん2006/02/25(土) 14:45:50ID:Z8amSH1W
全くの素人です。
os=windows XP
HTMLコーディング=出来ます。
CGI=有り物の設定をちょこっと変更する程度。
PHPでこんなことをやろうと思っています。
-------------------------------------------------------------------
HPの右隅にカレンダーと新着を置いて、別webページより管理
カレンダー:2ヶ月表示オートで切り替わり、管理ページより指定した日にちだけ
だけ赤く表示・キャンセル機能
新着:管理ページより、新着情報入力追加・削除・コメントリンク機能
-------------------------------------------------------------------
HPで表示するだけ、別webページで管理変更をPHPで作れるのでしょうか?
PHPで出来るとしたら、構造はたぶん頑張って勉強して出来ても、HPへの引き継ぎ処理が何をどうやればいいか見当が付きません。
PHPの根本から勉強しなくては出来ない事でしょうか?
0291nobodyさん2006/02/25(土) 15:15:28ID:???
>>290
貴方が使われてる「HP」の意味が不明瞭です。
(HomePageの略であろうことは判ります)
現在のHomePageの意味合いは、Webブラウザでアクセスできる
インターネット上のコンテンツぐらいの大雑把なものなので
CGIやPHPで作った動的なコンテンツもHomePageといえます。
0292nobodyさん2006/02/25(土) 15:39:02ID:???
>>291
そこまで言うなら
ホームページ→ブラウザのホームボタンを押した時に表示されるページ(サイト)
0293nobodyさん2006/02/25(土) 15:41:53ID:???
>>290
3回くらい読み返してみましたが
何を聞きたいのかさっぱりわかりません。
適当におぎなって推測しても5通りくらいに解釈できます。
質問を整理してください。
0294nobodyさん2006/02/25(土) 15:44:41ID:Z8amSH1W
>>291
不明瞭な表現をし、失礼致しました。
トップページのカレンダーと、新着情報を管理ページからの変更で内容が変わるようにしたいと考えております。
管理用のアクセス制限ページを作り、そこで変更・追加・削除の管理したいと思っております。
0295nobodyさん2006/02/25(土) 15:51:55ID:???
>>294
いや、具体的な機能(表示とか管理)の話以前に
「HPへの引き継ぎ処理が」というところで
その"HP"って何よ?という疑問がでるということ。
0296nobodyさん2006/02/25(土) 16:00:13ID:Z8amSH1W
>>293
1.PHPでサイトトップページの二ヶ月表示のオートカレンダーの色変更を別ページから、更新できるようにすることが可能でしょうか?
2.PHPでサイトトップの新着情報の変更・追加・削除・を別ページから、更新できるようにすることが可能でしょうか?
3.PHPで出来たとしても、(テンプレ等探しましたが見あたらず)本を読む程度の漱石じゃ不可能そうでしょうか?
02972952006/02/25(土) 16:00:20ID:???
ああ、サイトのトップページのことね。
そのトップページの生成方法を
・新着情報等をincludeするSSIを利用したshtmlにする。
・新着情報等をincludeするPerlやPHPを利用したCGI他の動的なものにしてhtmlを出力する。
・トップページは静的なhtmlにして、そのhtmlを別の管理プログラムで書きかえる。
02982952006/02/25(土) 16:03:27ID:???
>・新着情報等をincludeするPerlやPHPを利用したCGI
これはincludeじゃなくて「取り込む」という意味で
0299nobodyさん2006/02/25(土) 16:07:13ID:???
>>290
PHPでそういうサイトを作れるか?ということであれば、作れます。

> PHPの根本から勉強しなくては出来ない事でしょうか?
ある程度自在に操れない人の場合、自作するのはかなり困難でしょう。
残念ながら、そういう仕組みの既存のスクリプトがあるかどうかは知りません。

>>295
引継ぎ、つーか、(PHPスクリプトが処理する)変更を(HTMLで作ろうとしている)画面上に反映、ってことだべ。
HTMLにPHPを埋め込める つー悲しい誤解が導き出した悲劇だぁね。

実際には、こういう手順になる。
1. もともとhtmlファイルだったものをphpの中の人が処理できるように拡張子phpに変更する。
2. 必要に応じてphpの命令を埋め込む。
03002902006/02/25(土) 16:13:10ID:Z8amSH1W
>>293 >>295 
ありがとうございます。
解決の糸口が見えてきた気がします。
メモして、何とか探して勉強してみます。
0301nobodyさん2006/02/25(土) 16:14:46ID:???
>>290
名に言ってるかさっぱりわかんね
だがIDを出している点は評価してやる。

>>295
てめえは帰れよ
0302nobodyさん2006/02/25(土) 16:14:48ID:???
>>300
>>290は>>293と>>295のレスから
どうやって解決の糸口を見つけたのか…
謎は永遠に残ったままなのであった
0303nobodyさん2006/02/25(土) 16:24:17ID:???
>>301
もっと感応能力を磨かないと、優秀なエスパーにはなれないよ
0304nobodyさん2006/02/25(土) 16:32:22ID:???
このスレには馬鹿が多すぎる
0305nobodyさん2006/02/25(土) 16:35:37ID:???
そんなこと言われてもねぇ
0306nobodyさん2006/02/25(土) 17:25:15ID:cZFcTwP1
php5でrdfを解析しています
<rdf:Seq><rdf:li rdf:resource="http://www.hoge.com/test.php"/>
このようなタグや属性があった場合
getElementsByTagName("rdf:Seq")やgetAttribute("rdf:resource")ではうまくいかず
getElementsByTagName("Seq")やgetAttribute("resource")と書くとうまくいくのですが
このような事が起こってしまう原因をご存知の方はいますか?
できれば正確な名前"rdf:Seq""rdf:resource"でアクセスするようにしたいです
0307nobodyさん2006/02/25(土) 17:41:51ID:???
>>306
getElementsByTagNameNS()
0308nobodyさん2006/02/25(土) 17:46:17ID:???
>>288
そろそろこのスレとくだ質を統合する時期にきてるのかもね。
くだ質だけあれば十分w
0309nobodyさん2006/02/25(土) 18:23:02ID:???
>>307
ありがとうございました
なんとかできそうです
0310皮先くん ◆N3i.Qu1SoY 2006/02/25(土) 19:59:19ID:???
SSIでbashを使って
ttp://oresama.hopto.org/~sheel/nwbachlow.shtml
このように2006年2月の各都市の最低気温の平均値を自動算出させて
使っています。重宝しているのですが、スクリプトをいちいち書き換えなければ
現状では2006年の2月しか対応できません。

そこで質問です。
formを使って○年の△月の○と△の部分をshellscriptに送る方法は
ありますか?
もしくはshellscriptではなく
phpで2006年2月の各都市の最低気温の平均値を自動算出可能ですか?
0311nobodyさん2006/02/25(土) 20:06:18ID:???
>>310
> phpで2006年2月の各都市の最低気温の平均値を自動算出可能ですか?
データがあれば、スクリプト組めば算出できるんじゃね?

shellscriptはスレ違いだと思う。
0312nobodyさん2006/02/25(土) 20:08:33ID:???
>>310
bashスクリプトがコマンドライン引数を受け取って処理できるようにしてあれば
$output = `スクリプト $引数`; って形でスクリプト呼んで出力を受け取れるよ。
0313nobodyさん2006/02/25(土) 20:32:21ID:???
皮被りはスルーの方向で
03143112006/02/25(土) 20:36:25ID:???
>>313
スマソ 忘れてた
OK、了解。
0315皮先くん ◆N3i.Qu1SoY 2006/02/25(土) 20:46:54ID:F0bSXXFW
>>311
ありがとうございます。
データは気象庁のWebサイトからcurlコマンドで取得しています。
phpでは、bashみたいに
(1)curlして
(2)好きな行の好きな数値だけをgrepやsedでピックアップ
ってなところも可能ですか?
0316nobodyさん2006/02/25(土) 22:28:03ID:???
(´-`).。oO(質問マダー?(・∀・)っ/凵 ⌒☆チンチン)
0317nobodyさん2006/02/25(土) 22:49:04ID:???
最近、質問が少ないね…
0318nobodyさん2006/02/25(土) 23:58:42ID:???
質問カマーンщ(´д`)
0319nobodyさん2006/02/26(日) 00:01:22ID:???
えと・・あの・・・(もじもじ) や、やっぱりやめときま・・あ、でもこれ訊かないといけないし・・
ば、ば・・バナナはおやつにはいるんですか?
0320nobodyさん2006/02/26(日) 00:32:55ID:???
>>285
むかーしハマったの思い出した。。
コレ使ってみ

function delDir( $dirname )
{
if ( ! file_exists( $dirname ) ) return "見つからない";
$dh = opendir( $dirname );
if ( $dh === false ) return "開けない";
while ( ( $file = readdir($dh) ) !== false ) {
if ( $file == "." || $file == ".." ) continue;
if ( ! unlink( $file ) ) {
closedir( $dh );
return "ファイルが消せない→$file";
}
}
closedir( $dh );
if ( ! rmdir( $dirname) ) return "だめでした";
return "おしまい";
}
0321nobodyさん2006/02/26(日) 00:37:20ID:???
>>320
削除できない時に、もちっとchmodして足掻いてほしい。
0322nobodyさん2006/02/26(日) 00:49:02ID:???
>>321
あー、こうかな
if ( ! unkink( $file ) && ( ! chmod( $file, 0666 ) || ! unlink( $file ) ) ) {
0323nobodyさん2006/02/26(日) 01:08:38ID:???
>>322
こらこらその行の前に$file=$dir.'/'.$file入れろ
関係ないファイル消すぞ
0324皮先くん ◆N3i.Qu1SoY 2006/02/26(日) 02:26:44ID:WcIHh0oV
>>241
>>242
の件ですが、
ttp://oresama.hopto.org/~sheel/phptest/formtest/form.php
このようになんとかうまくいくようになりました。
form.phpで書き込まれた(または選択された)値について
POSTでform.phpへ値を返すようにしています。
>>241
でつまずいていた原因がわかりました。
それはPOSTで値を受け取る方法が
$name
として受け取っていたからでした。
正しくは(PHP4.3の場合は)
$POST_name
が正しいのです。

俺様自力で何でも解決できちゃう強者なので、
そのすごさをここでおまいらにいちいち報告してやりますね。
0325nobodyさん2006/02/26(日) 02:37:38ID:???
324が見えないな
0326皮先くん ◆N3i.Qu1SoY 2006/02/26(日) 02:42:30ID:WcIHh0oV
まぁ焦らずともそのうち見えるようになるよ。
0327nobodyさん2006/02/26(日) 03:16:23ID:???
なんでスレ番が飛んでるの?
0328nobodyさん2006/02/26(日) 03:18:22ID:???
世界の七不思議の一つ
0329nobodyさん2006/02/26(日) 03:49:50ID:tRG/7BVD
mb_send_mail関数で日本語メール送信すると日本語の部分が??になる
php.iniは間違いなく設定してある
同時にログを取るためにfwrite関数を使ってるけどこれも化けてない
考えられる原因を全て答えろ童貞うんこちんこども
0330nobodyさん2006/02/26(日) 03:59:19ID:???
mb_language("Japanese");
mb_internal_encoding("使ってる文字コード");

これをmb_send_mailする前に呼べばうまくいったような覚えがするが
動かなかったらごめんね、小便野郎
0331nobodyさん2006/02/26(日) 04:01:30ID:???
皮もついに名無しか...
0332nobodyさん2006/02/26(日) 04:05:05ID:???
皮先結局nobodyかよwwwwwwwテラバロッシュwwwwww
0333皮先くん ◆N3i.Qu1SoY 2006/02/26(日) 04:16:24ID:WcIHh0oV
九州と較べるとめずらしく今日は東京は寒いんですね。
ttp://oresama.hopto.org/~sheel/lowestbach.shtml

PHPでもこの程度のことが簡単にできるといいんだが・・・。
0334nobodyさん2006/02/26(日) 10:50:39ID:???
質問マダー?
0335nobodyさん2006/02/26(日) 11:02:06ID:???
皮先のせいで相当空気悪くなったからなぁ・・・
0336nobodyさん2006/02/26(日) 11:14:21ID:???
質問マダー?
0337nobodyさん2006/02/26(日) 11:20:04ID:???
>>177もう一回来ないかな。
0338nobodyさん2006/02/26(日) 11:55:23ID:???
>>308
個人的にはこっちのスレ残して欲しい。くだ質は読んでないし書き込みもしてないし。
まあ本当にスレの必要がなくなれば誰も書き込まなくなって自然に落ちるのだから統合だのなんだの言うだけ無意味だが。
人がいる限りどうせ次スレ立つでしょ。
0339nobodyさん2006/02/26(日) 12:07:01ID:???
回答する人もあんなやつの質問には答えたくないだろうな
0340nobodyさん2006/02/26(日) 12:29:18ID:???
偏差値90とか平均点10くらいのテストで一人だけ100点とるようなことじゃないと無理
平均点10のテストなんて中学生に東大入試解かせるとかそんなんだろ
実際は数学英語国語全て偏差値30以下の池沼なんだろうけど
0341nobodyさん2006/02/26(日) 12:33:24ID:???
高三のとき駿台模試でネタバレ使って数学満点とっても70後半だったな。
90なんてハッタリは偏差値の概念知ってたらこけないから>>174は中卒だろ。
0342nobodyさん2006/02/26(日) 12:41:01ID:???
池沼学校で超優秀な生徒だったんだろ


池沼学校で国語偏差値30なら池沼の中の池沼だなwwwwwwww
0343nobodyさん2006/02/26(日) 12:41:10ID:???
偏差値の計算方法を知っていれば嘘か本当かはすぐわかる
0344nobodyさん2006/02/26(日) 13:13:54ID:???
そんなに引っ張るネタか?
また来られたらウザイしもうやめようやそのネタ
0345nobodyさん2006/02/26(日) 14:24:47ID:???
小さなことで後からつつくのは愚かな行為だ。
ここはPHPのスレなんだから、質問以外の会話は必要ないだろう?
大人数で一人の人間を攻撃するなんて君たちは最低のクズだな
0346皮先くん ◆N3i.Qu1SoY 2006/02/26(日) 14:27:36ID:dOqMy4uq
まぁ実際のところ>>340の言う通りで、
全国平均点が10点もないとんでもないテストがあって、
それで100点取ってみたら偏差値105くらいだったよ。数学な。
まぁ2年の最初で3年も一緒に受けるテストだったからそれくらいの平均点はしょうがないし。

それにしても>>342の言うことは正しい。
東大に行ったくらいで神扱いな底辺高校だった。
0347nobodyさん2006/02/26(日) 14:33:01ID:???
for文の中で、一番最後にやりたい処理があるんだけど
ループ内でcontinue使いまくりで最後ってどこよ?てときに
for( $i=0; $i<100; f(),$i++ ){
$i++のとこによく関数呼び出しいれちゃうんだけど、これって
マナー的にはどうなの?
0348nobodyさん2006/02/26(日) 14:46:53ID:???
ループするたびに関数呼び出すよりは
ループ内で条件分岐させた方がスマートだと俺は思う。
0349皮先くん ◆N3i.Qu1SoY 2006/02/26(日) 14:53:45ID:dOqMy4uq
>>324
の件なんですが、
formでPOSTされたものをphpスクリプトで受け取る方法はわかったのですが、
POSTされた値をtext.batファイルに書き込むことがいまいちわかりません。
これはどうやったらいいのでしょうか?
今は↓こんなふうにやっていて、submitするとtext.datに
書き込まれるはずなんだけどなぁと思いますがうまくいきません。
ちなみにアクセス権はよくわからないのでなにも考えなくていいように
全部777にしています。どうも「print」の部分はうまくいくのに、
「fopen」関連はちゃんと動作していない感じです。text.batに何も書き込まれないので。どこがわるいのでしょうか?

<?php
$filename = "text.dat";
if (isset($_POST['submit'])) {
print "Your name is " . $_POST['name'] . ".<br>";
print "Your sex is " . $_POST['sex'] . ".<br>";
print "Your hobby is " . $_POST['hobby'] . ".<br>";
print "Your OS is " . $_POST['OS'] . ".<br>";
print "Your opinion is " . $_POST['kansou'] . ".<br>";
$file = fopen($filename,"w");
flock($file, 2);
fwrite($file, $POST_['name']);
fwrite($file, $POST_['sex']);
fwrite($file, $POST_['hobby']);
fwrite($file, $POST_['OS']);
fwrite($file, $POST_['kansou']);
flock($file, 3);
fclose($file);
}
?>
0350nobodyさん2006/02/26(日) 15:04:02ID:???
しかしこの固定ってホント理解力ないよな
典型的に頭悪いガリ勉タイプだと思う
0351nobodyさん2006/02/26(日) 15:55:59ID:izomZemY
ども、たった今PHP始めたところです。
質問なのですが、
if文の条件部分に間違えて代入演算子を使ってしまったのですが
PHP、アパッチ共に怒ってくれませんでした。

if( $hoge = "hogehoge" )
{

}

で、入門書で調べたところ、
「気をつけてコーディングしてください」
とだけあったのですが、
皆さんは、自分で気をつける以外の方法をお持ちですか?
(チェックツールのようなもの?)
0352nobodyさん2006/02/26(日) 16:06:39ID:???
;
0353nobodyさん2006/02/26(日) 16:09:31ID:???
>>351
その間違い間違いであるがエラーではないからだれも教えてくれません。
その手のミスを防ぐ原始的な方法としては
if ( "hogehoge" == $hoge) ;
と書くようにすること。こうすれば "hogehoge" = $hoge はエラーとなるのでわかりやすい
0354nobodyさん2006/02/26(日) 16:16:39ID:???
$x == NULL
で良く使われるヤツだな。

NULL == $xって最初は何だ?って思うんだけどね。
0355nobodyさん2006/02/26(日) 16:20:59ID:???
>>351
ifの条件式の中で代入演算子が使えなくなったり怒られたりするようになると、手間が増えて面倒。
特にNULL,FALSE,なんかの値(や配列)のどれかを返す関数を使う場合、ifやwhileの条件式の中で使うとすっきりと書ける。

ミスの対処法は>>353が書いてるようにするくらいしか無いんでね?C FAQでも見かけた希ガス。
0356nobodyさん2006/02/26(日) 16:23:25ID:???
なるほどな、そう書けばタイプミスしても代入されずに済むか
0357nobodyさん2006/02/26(日) 16:37:46ID:YAFRqcKG
MySQLに接続失敗したときに出るメッセージを出力されないようにするにはどうすればいいんですか?
0358nobodyさん2006/02/26(日) 16:39:13ID:izomZemY
>>353
いや、ホント助かりました。
ありがとうございます。

VB→C#とやってきてるのですが、
$hoge = 12;
$hoge = "test";
#hoge = date("Y");
とか、型宣言してないのに。。とか、驚き中です。

先ほどの質問後にIDEでもあればいいのかなと思い、
ttp://phpspot.net/php/phpeditor.html
がHITしたので、特徴にある、
「・構文チェック機能 … ボタン一発で構文エラーがないかチェックできます。」
で、前述のif($hoge = "hoge")が怒られるかどうか確認してみます。

>>354
あ〜、なるほど〜って感じです。
先輩。助かりましたよ。
ありがとうございます。

>>355
そうですよね、条件文内で関数使いますもんね。
>特にNULL,FALSE,なんかの値(や配列)のどれかを返す関数を使う場合、ifやwhileの条件式の中で使うとすっきりと書ける。
これ、メモっておきました。
ありがとうございます。


ちょっとした疑問追加です。
echo関数の引数に、改行コードを含めるのは慣例で、
理由はHTMLとして出力された時に読みやすくする為という事でよいですか?
0359nobodyさん2006/02/26(日) 17:00:53ID:???
>>358
> 「・構文チェック機能 … ボタン一発で構文エラーがないかチェックできます。」
> で、前述のif($hoge = "hoge")が怒られるかどうか確認してみます。
それを怒るIDEは存在しないと思いますよ。構文としては合ってるし、よく使うから。
if($hoge = hoge()) {
 hoge2($hoge);
}
みたいな感じで、関数の戻り値をチェックするのと同時に変数に格納しといて
ifの中でその値を利用する…みたいな書き方は普通にやります。
よく使うケースは
if($fp = fopen("file", "a")) {
 fputs($fp, $data);

}
$hoge = hoge();
if($hoge) {
 hoge2($hoge);
}
と分けてもいいんだけどかえって煩わしいので。

それにしても if("hoge" == $hoge) ってミスタイプ防止が目的だったのか…
同じ会社でこういうコーディングする人がいるから何でだろうとずっと思ってたよ。
0360nobodyさん2006/02/26(日) 17:01:29ID:???
>>357
適切なエラー処理

根本的な接続ミスの対処
0361nobodyさん2006/02/26(日) 17:03:45ID:???
>>357
該当部を@でエラー出力を抑制し、
自前でエラー処理をしておく。
0362nobodyさん2006/02/26(日) 17:04:43ID:???
あちゃ。変なとこで投降しちゃった。まぁ、意味は通るからいいか。

>>358
> echo関数の引数に、改行コードを含めるのは慣例で、
そんな慣例は無いと思うけど。

> 理由はHTMLとして出力された時に読みやすくする為という事でよいですか?
出力に改行が欲しければ改行を付ける。不要なら付けない。そんだけ。
HTML中の改行は、場所によっては無視されるのでデザインに影響しないけど、
場所によっては表示に隙間ができたりする場合もあるから要不要はちゃんと考えないと。
0363nobodyさん2006/02/26(日) 17:18:49ID:YAFRqcKG
>>361
そんなのあるの始めて知った
ありがとう
03643582006/02/26(日) 17:22:31ID:???
>>359
ありがとうございます。
仰るとおり、上述のIDEには怒られませんでした。

また、いただいたサンプルコードで、
理解できました。
$fpにはtrueが入っているって事ですよね。(bool型あるのか。。)

優しく教えてくれて感謝です。
お仕事などお忙しいでしょうが、
頑張ってくださいね。


>>362
よくわかりました。
>場所によっては表示に隙間ができたりする場合もあるから要不要はちゃんと考えないと。
これ、助かりました。
知らなかったら必ず一回はハマりそうです。
そこら辺も意識にいれてやっていきます。
ありがとうございます。


それでは300円で買った10日で覚えるシリーズを
今から10日分進めたいと思いますです。
皆さん、ありがとうございました。
0365nobodyさん2006/02/26(日) 17:37:35ID:???
chmod($logfilename,0666);
というスクリプトに対してwarning! chmod() opening なんとか remitted in なんとか online 243
とか言う警告がサーバーでプログラムを動作させると出るけど何でしょうか?
ちなみに画像掲示板スクリプトですが動作は正常です。あくまで警告が気になります。
0366nobodyさん2006/02/26(日) 17:44:48ID:???
>>365
ファイルのオーナーが違うかパーミッションの問題かサーバーで制限をかけてるかで
chmodがちゃんと働いてないんじゃないの?
特に困ってないなら @chmod() って感じで@つけて表示を抑制しちゃってもいいと思うけど。
0367nobodyさん2006/02/26(日) 18:05:12ID:???
φ(..)メモメモ
 ==では定数を左に置くと、比較演算子と代入演算子を間違えるミスをし難くなる
・・・と
0368nobodyさん2006/02/26(日) 18:08:40ID:???
ミスのしやすいさは変わらん。
ミスしたときに気づきやすい
0369nobodyさん2006/02/26(日) 18:08:45ID:???
同ページ内で、携帯端末(FOMA WIN 3G HDML mova willcomeなどなど)とPCを振り分けるPHPはどうすればいいんですか?
0370nobodyさん2006/02/26(日) 18:11:09ID:???
>>369
User Agentで振り分けかなあ
03713652006/02/26(日) 18:14:48ID:???
ご親切にありがとうございます。
@ってどういう効能でしょうか?//などのコメント表示とは意味合いが違いそうですが。
まずは言われたとおりにやってみます。
0372nobodyさん2006/02/26(日) 18:16:53ID:rIz4zvid
>>370
ファイルを呼び出して、表示というのはできないのですかね?ファイルを呼び出しだと、更新が楽なのですが…
03733662006/02/26(日) 18:19:58ID:???
371で質問した@マーク表記については自己解決しました。
サーバー制限やオーナーなどの場合の対処ってどういうのがあるでしょうか?
質問範囲が広すぎて答え難い場合は失礼します。
0374nobodyさん2006/02/26(日) 18:38:36ID:???
>>372
User Agentで振り分けた後、それぞれ必要なふぁいるをincludeすればOK
0375nobodyさん2006/02/26(日) 18:44:28ID:???
PHPのインストールがうまく言ってないようです。
次の様なエラーがでてきます。
対処方法をお願いします。

Warning: mysql_connect() [function.mysql-connect]:
Access denied for user: 'root@localhost' (Using password: YES)
in c:\program files\apache group\Apache\htdocs\test.php on line 4
can not connect db
0376nobodyさん2006/02/26(日) 18:49:53ID:???
>>375
MySQLに接続できてないだけ。
rootユーザのパスワードが間違ってるんでねーの
0377nobodyさん2006/02/26(日) 18:50:24ID:???
>>375
もう一度エラーを読み返せ
0378nobodyさん2006/02/26(日) 19:02:21ID:???
ASP.NETにあるような、
コードビハインド的な手法は、
PHPで確立されていますか?
0379nobodyさん2006/02/26(日) 19:12:47ID:???
>>378
コードビハインドって何じゃ?と思ったが、ググってみるとHTML部分を外部に放り出すってことか。
「テンプレートエンジン」って言う事の方が多いかも知らんね。
幾つかあるけど、PHP開発元の推奨だと、smarty( ttp://smarty.php.net/ )かねぇ。
0380nobodyさん2006/02/26(日) 19:31:40ID:???
>>379
とても有益な情報、ありがとうございます。
そして、とても丁寧に。。
>>379さんの書いたソースは読みやすそうです^^
リンク先、熟読してみます。

ありがとうございました。
0381nobodyさん2006/02/26(日) 20:07:32ID:???
375です。
ありがとうございました。
解決しました。
しかし、次の壁にぶち当たりました。
次の様なものです。
よろしくお願いします。

Parse error: syntax error,
unexpected '<' in c:\program files\apache group
\Apache\htdocs\mytest1.php on line 33
0382nobodyさん2006/02/26(日) 20:11:54ID:???
>>381
それはただの文法エラー。
どっか書き間違いしてるんでしょ。
0383nobodyさん2006/02/26(日) 20:19:53ID:IH+ZKFPy
プルダウンメニューで選択後、submitボタンで選択した
リンクに飛ばすphp教えていただけませんか。
よろしくおねがいします。
0384nobodyさん2006/02/26(日) 20:24:39ID:???
>>383
選択した値(なんでもいい)に応じて飛ばす先のURLを用意して
header()でLocation使って飛ばすだけ。
0385nobodyさん2006/02/26(日) 20:27:17ID:???
>>324
>>349
がヒント。
0386nobodyさん2006/02/26(日) 20:29:43ID:???
xml_parse()でXML読んでるんですが、パースエラーがあったときに
ドキュメントのどこらへんでエラーがあったか知るうまい方法教えてください
0387nobodyさん2006/02/26(日) 20:56:02ID:???
>>381
英語を解読しましょう。
ただし、33行目を見渡してもエラーがない可能性もありますので、
その前後も見てみましょう。
あと、次からもう少し自分で調べる努力をしてみてください
0388nobodyさん2006/02/26(日) 20:57:36ID:???
>>386
XMLはあまり使わないんでよくわからないけど、
xml_get_current_line_numberは違うのかい
0389nobodyさん2006/02/26(日) 21:06:58ID:???
>>388
ありがとうございました。まさにそれです。
危うく無駄な自作メソッドつくるとこでした。
0390nobodyさん2006/02/26(日) 21:17:12ID:???
もうコピペも面倒だからリンク貼っちゃえ
ttp://pc7.2ch.net/test/read.cgi/jisaku/1140192026/168n
0391nobodyさん2006/02/26(日) 21:58:49ID:rIz4zvid
>>374
ありがとう。
0392nobodyさん2006/02/26(日) 22:13:25ID:???
>>369
お前の中の認識がものすごくおかしいのが気になる。
電波伝播方式世代: 3G
世代ブランド:FOMA WIN mova
ファイル形式: HDML
会社名: willcom (willcomeじゃねぇよ)
0393nobodyさん2006/02/26(日) 23:10:21ID:???
$_GET をもう一度URIに戻すときは PHP5なら
http_build_queryを使えばいいよね。
でも、これをもう一度FORMに戻すときは
まじめにつくらなきゃダメかね?

foreach($_GET as $k=>$v)
print("<INPUT TYPE=HIDDEN NAME='$k' VALUE='$v'>\n");

$_GET にさらに配列が入ってたのでアウトだった。
面倒くさい。なんか便利関数無い?
0394nobodyさん2006/02/26(日) 23:10:51ID:???
炒る米
0395nobodyさん2006/02/26(日) 23:12:00ID:???
>>393
SESSION
0396nobodyさん2006/02/26(日) 23:20:40ID:???
>>393
そんな便利な関数あったのか、サンクスw
0397nobodyさん2006/02/26(日) 23:25:44ID:???
>>395
おばあちゃんの遺言が 「セッションは使っちゃあなんねぇ」 だったので
それは却下っぽいです。
0398nobodyさん2006/02/26(日) 23:40:01ID:???
>>396
なるほど。いっかい使ってくっつけてまた分解すればいいのか。

$a = http_build_query($_GET);
$b = split("&",$a);
foreach($b as $g){
list($k,$v)=split("=",$g);
print("<INPUT TYPE=HIDDEN NAME='$k' VALUE='$v'>\n");
}

で取り合えず動いたっぽい。ヒントマジありがとう。
0399nobodyさん2006/02/27(月) 00:06:34ID:???
parse_str
0400nobodyさん2006/02/27(月) 00:21:49ID:???
そんな複雑なフォームを再構築するくらいなら
シリアライズして1個のinputにまとめちゃった方がいいんじゃないのか
0401nobodyさん2006/02/27(月) 00:23:29ID:???
>>398
$_GETだけだと余計なものまで混じりそうだが
0402nobodyさん2006/02/27(月) 02:08:49ID:???
>>399
それ使うと、たとえば "hoge[0]" という文字列が取得できずに
hoge[0] という配列変数がゲットできてしまう。
<INPUT>には書けない。
0403nobodyさん2006/02/27(月) 02:10:41ID:???
>>401
余計なものまで混じっても、どうせ余計なものは見ないから
たぶんもんだいない
0404nobodyさん2006/02/27(月) 21:01:28ID:???
配列$hogeの値の標準偏差をパパッと出す関数ってあったっけ?
0405nobodyさん2006/02/27(月) 22:23:53ID:u/5yiFb0
フォームデータで入力チェックするのに
ctype_alnum を使っているのですが、
例えば "123456" を入れても false が返ってきてしまいます。
strlen - 1 まで ord で表示させると、ちゃんと
"49 50 51 52 53 54" となっているのですが。
文字列の最後 $str(strlen($str)) を ord すると
"0" になります。
PHP のバージョンは 4.3.2 です。
0406nobodyさん2006/02/27(月) 22:32:48ID:???
>>405
> ctype_alnum を使っているのですが、
> 例えば "123456" を入れても false が返ってきてしまいます。
再現しない。再現するコードを寄越せ、サイトウ。

> 文字列の最後 $str(strlen($str)) を ord すると
> "0" になります。
存在しないデータをordしたら0になるのは当然じゃないのか。ord('')でも0になるぞ。
04074052006/02/27(月) 22:40:12ID:u/5yiFb0
>>406
失礼しました。
たったこれだけなんですが…

$password = $_REQUEST['password'];
if (!ctype_alnum($password)) {
0408nobodyさん2006/02/27(月) 23:06:38ID:d/u1H5JH
PHP5なのですが、
先ほどインストールを終わらせ、
Eclipse+PHPで、本についてたサンプルコードを
動かしてます。
そこで、
mb_convert_encoding()が、
Call to undefined function mb_convert_encoding() in c:\program files\apache group\Apache\htdocs\tendays\02-01\common.php on line 27
のように、未定義だと怒られています。

もちろん、以下のようにちゃんと書いています(コピペというかファイルそのままコピー)
$encoding = "EUC-JP";
$s_encoding = "SJIS";
$data[ $i ] = mb_convert_encoding( $data[ $i ], $encoding, $s_encoding);

Eclipse+PHPでも自動補完される関数ですし、
PHPマニュアルを見てもPHP5対応とあります。
何か別途参照設定しないと使えない関数なのですか?
0409nobodyさん2006/02/27(月) 23:11:26ID:???
>>408
マルチバイト関数入ってないとかじゃないよね?
phpinfo()
でmb関係有効になってる?

というかくだ質じゃね
0410nobodyさん2006/02/27(月) 23:15:53ID:???
>>409
くだらないですね。
すみません!

でも、優しく教えてくれてありがとうございました。
0411nobodyさん2006/02/27(月) 23:17:46ID:???
>>407
"!"の意味分かって使ってる?
お前もくだ質池
04124082006/02/27(月) 23:20:34ID:???
>>411
くだ質で待ってますm(_ _)m
0413皮先くん ◆N3i.Qu1SoY 2006/02/28(火) 03:09:36ID:0kpMwz/e
俺様の偏差値100オーバーのスキルのためか、
それともおまいらの"静観"という「最も強力なアドバイス」のためか、
とにかくとうとう成功しますた!!
ttp://oresama.hopto.org/~sheel/phptest/formtest/form.php

成功したのは、まず、form.phpからform.phpへPOSTして
(1)POST内容を表示させる
そして
(2)POST内容をtext.datに書き込ませる
というPHPで言うと中級レベルのことができるようになりますた!

一番引っかかったのはやはりPHP4になってから
従来のPOSTの値を受け取る $hogehoge が使えなくなったことに
気がつくところでしょうか。PHP4からは
$_POST['hogehoge']
に変更になっていたなんて・・・。
どうりでどれだけGoogleで検索かけてその通りにやってるのに
うまくいかないわけだよ・・・orz

またそのうちスキルが更新されたときに報告しますね。
0414皮先くん ◆N3i.Qu1SoY 2006/02/28(火) 04:01:57ID:0kpMwz/e
あとは俺様がやりたいことをおまいらどもにわざわざ示してやると、
・text.datへ書き込むときに、以前にデータを置き換えずに追記するようにしたい
さらに、
・text.datへ書きためたデータを元にデータベースとして扱いたい
といった感じかな。
これについてはLet's PHPから会得した
ttp://oresama.hopto.org/~sheel/phptest/poll/poll.php
という技を俺様自身が解析をすることより実現できそうな悪寒が(((( ;゚Д゚)))ガクガクブルブルする。

請うご期待!
0415nobodyさん2006/02/28(火) 05:36:22ID:???
当スレでは下らなくない質問をお待ちしております

                       スレ住人一同
0416nobodyさん2006/02/28(火) 08:37:29ID:???
くだスレで華麗にスルーされたのできますた。

PHPでMySQLのストアドプロシージャを使うにはどうすればよいのでしょうか?
mysq_query()コマンドで行うのでしょうか・・
0417nobodyさん2006/02/28(火) 09:03:28ID:???
>>416
>くだスレで華麗にスルーされたのできますた。
その質問自体が目に入らなかった。

ストアドとかMySQL4.1や5以降でサポートされた機能は
従来のMySQL拡張サポート(mysql_*関数群)ではなく
改良版MySQL拡張サポート(mysqli_*)を利用する必要がある。
http://jp2.php.net/mysqli
0418皮先くん ◆N3i.Qu1SoY 2006/02/28(火) 09:15:26ID:A8IEBtjw
一応、fopenコマンドで"a"オプションを指定することで
以前のデータに「書き加える」ことはできるようになりました。
また、CSVの方があとで扱いやすいのかな?と思って
下記のようにCSV形式になるようにfwriteしてみますた。
これで一応どんどん書き込まれていくのですが、
さてはてそれを今度はどうやって統計処理などのデータベース化したらいいのでしょうか・・・。
ま、俺様のスキルはすごいのでおまいらが静観するだけで
どんどんレベルアップするので静観しておいてくださいね。ぷげらw
<?php
$filename = "text.dat";
$file = fopen($filename,"a");
flock($file, 2);
fwrite($file, "name," . $_POST['name'] . "¥n");
fwrite($file, "sex," . $_POST['sex'] . "¥n");
fwrite($file, "hobby," . $_POST['hobby'] . "¥n");
fwrite($file, "OS," . $_POST['OS'] . "¥n");
fwrite($file, "kansou," . $_POST['kansou'] . "¥n");
flock($file, 3);
fclose($file);
?>
0419nobodyさん2006/02/28(火) 11:12:46ID:???
8桁の数字を2文字ずつに分割するにはどうやるのが一番クールですか?
substrでやるのしか考えられませんですた
0420nobodyさん2006/02/28(火) 11:39:23ID:???
>>417
おぉ、そうだったんですか。ありがとう。
0421nobodyさん2006/02/28(火) 11:44:42ID:???
>>419
$s = "12345678";
$s1 = $s{0}.$s{1};
$s2 = $s{2}.$s{3};
$s3 = $s{4}.$s{5};
$s4 = $s{6}.$s{7};
クールかどうかはともかくこれが1番シンプルで速いんじゃ。
0422nobodyさん2006/02/28(火) 11:50:40ID:???
>>419
str_split()
0423nobodyさん2006/02/28(火) 12:38:29ID:???
>>419
>>67-70
0424nobodyさん2006/02/28(火) 12:40:53ID:???
>>419
エレガントじゃないけど、適当にやってみた
$r1 = explode("\r\n",rtrim(chunk_split($s,2)));
preg_match('/(\d{2})(\d{2})(\d{2})/',$s, $r2);

PHP5なら、>>422のstr_split()だね。
0425nobodyさん2006/02/28(火) 13:02:39ID:???
配列に入れろなんて書いてないからwordwrap
04264242006/02/28(火) 13:23:53ID:???
>>425
やってみて、それで出来ないと思った俺がいる(bool cutを指定してなかっただけ)
# あと数字6文字だと思ってた。
使える関数が色あるな>PHP
0427nobodyさん2006/02/28(火) 13:47:39ID:???
>>424
正規表現が次に想定してた方法ですた。
PHP5ならばstr_split()がベストのようです。
wordwrapはそのまま出力する時につかえますね。

既出スマソ
>>421-426皆様ありが�d
0428nobodyさん2006/02/28(火) 23:00:13ID:C5SJRerw
くだ質で華麗にヌルーされたのでこちらでお願いします。

safemodeじゃないのにphpからフォルダが作成できないです。
ちなみにperlからも出来ない・・・orz

これってモジュール版で動いてるから仕方ないんでしょうか?
解決策は鯖管に頼むしかないんでしょうか・・
0429nobodyさん2006/02/28(火) 23:04:39ID:???
>>428
親ディレクトリのパーミッションとかじゃないの
0430nobodyさん2006/02/28(火) 23:09:10ID:???
>>428
0777のディレクトリを作ってその中にファイルやディレクトリが作れるか試してみ。
0431nobodyさん2006/02/28(火) 23:23:37ID:???
>>429->>430
出来ました!
でもパーミッションが設定どおりには出来ませんでした。
Perlだとちゃんと設定どおりに出来ました。
mkdir ("./test/test/", 0707);
とやっても705になってしまいます。
chmodかけても変わらず。
ただ所有者がapacheなフォルダになってしまっています。
adminでファイル・フォルダ操作を自由にこなす為には
アパッチをadmin:adminで動かせば良いのでしょうか?
0432nobodyさん2006/02/28(火) 23:25:22ID:???
てか、その状況じゃファイルすら作れんのでわ…
0433nobodyさん2006/02/28(火) 23:26:27ID:???
っとsafe_modeじゃなかったか、スマソ
0434nobodyさん2006/03/01(水) 00:16:35ID:???
>>431
phpをモジュールはApacheのユーザで動くのでphpで作ったディレクトリはapacheとかnobodyとかになってOK
phpやperlで処理するなら07xxや06xxで問題無いと思うけど?

adminの権限は?root権限があるならApacheをadminで動かすのはいかがかと。
ってか連鯖でしょ?変更できるのかね・・・
0435nobodyさん2006/03/01(水) 10:59:06ID:???
>>434
ありがとうございます。
所有者が違うとFTPソフトでダウンロードが出来ない事があるんですね。

では現在の>>431は動作的にはごく普通と解釈してもよろしいのですね。

ユーザ:adminにroot権限があるのかはどのようにしたらわかりますでしょうか・・。
0436nobodyさん2006/03/01(水) 17:07:26ID:???
function() の最期のカッコってなににつかうんですか?
0437nobodyさん2006/03/01(水) 17:19:09ID:???
>>436

引数
0438nobodyさん2006/03/01(水) 18:29:30ID:???
>>435
はlinuxの勉強が必要だからくだ質でも華麗にスルーされた気がする・・
0439nobodyさん2006/03/01(水) 18:39:11ID:???
>ユーザ:adminにroot権限があるのかはどのようにしたらわかりますでしょうか・・。
手始めにPC-UNIXを勉強すると分かる。
0440nobodyさん2006/03/01(水) 19:02:10ID:???
川崎きんもー★
0441nobodyさん2006/03/01(水) 20:02:44ID:???
× きんもー★
〇 きんもーっ☆

慣れないことをするから……
0442nobodyさん2006/03/02(木) 11:01:03ID:gp0qU8DL
function func1(){
$test = "『これはテストです』";
func2();
print "$test";
}


function func2(){
$test = "『func2内で新たに定義されました』";
}

//-------メイン----------
func1();



=======================================
func2 の内容が反映されないのですが
どうしたらよいでしょうか。上記がコードです。
0443nobodyさん2006/03/02(木) 11:04:38ID:???
>>442
関数内の変数はローカル変数なので関数の外では見れません。
0444nobodyさん2006/03/02(木) 11:04:44ID:???
globalにする
0445nobodyさん2006/03/02(木) 11:12:00ID:???
引数で渡す
値渡しのときはreturnで戻す
0446nobodyさん2006/03/02(木) 13:25:03ID:???
>>5の1の、「ハードウェア」はおかしくないか?
むしろソフトウェアな気が。どうでもいいけど。
0447nobodyさん2006/03/02(木) 15:19:17ID:d8+PxLHh
>>446
そのほうがよさげだね。
むしろ
利用環境(OS、ソフト、PHPバージョンなど)
みたいなのがいいぽい?

次回テンプレに入るといいね
0448nobodyさん2006/03/02(木) 18:35:04ID:???
これからPHPの勉強を始めようと思うのですが、
何かおすすめの書籍ってありますか?
よろしくお願いします。
0449nobodyさん2006/03/02(木) 18:49:27ID:???
マンモス本
0450nobodyさん2006/03/02(木) 20:31:51ID:???
大きな本屋が近くあれば実物見て自分に合うのを探したほうがいい
0451nobodyさん2006/03/02(木) 20:36:21ID:???
>>446-447
むしろ
『「エスパーきぼんぬ」「氏ね」「(゚Д゚)ハァ?」等のレスを貰う八ヶ条』
は補足するくらいなら
『「エスパーきぼんぬ」「氏ね」「(゚Д゚)ハァ?」等のレスを貰わないための八ヶ条』
に変えるべき
0452nobodyさん2006/03/02(木) 20:46:57ID:???
>>450
そして自分に合うと思って簡単な本を探すと、大抵は内容が間違っててハマる罠
0453nobodyさん2006/03/02(木) 20:52:15ID:gp0qU8DL
>>443
>>444
>>445
ありがとうございます。参考になりました
0454nobodyさん2006/03/02(木) 20:56:21ID:???
>>451
全部の項目を逆の意味に変えるってこと?
0455nobodyさん2006/03/02(木) 21:00:37ID:???
>>451
嫌味だろ?あれ。
どうせ真面目に書いたところで何の役にも立たないし。
0456nobodyさん2006/03/02(木) 21:02:01ID:???
>>451
これまでのスレの空気嫁
0457nobodyさん2006/03/02(木) 21:19:35ID:???
>>451
ひっこんでろ
0458nobodyさん2006/03/02(木) 21:37:26ID:???
>>451
だっふんだぁ
0459nobodyさん2006/03/02(木) 21:39:44ID:???
>>451
目的を履き違えてる。
エスパーきぼんぬなやつは、言ったところで改善は不可能なんだから、
それは自覚を促して丁重にお帰り願うための文面だ。

「エスパーきぼんぬのレスをもらわないための方法」など無い。
0460nobodyさん2006/03/02(木) 21:40:12ID:???
>>451
もにかー
0461nobodyさん2006/03/02(木) 21:41:55ID:???
てかあのテンプレ糞じゃね?
0462nobodyさん2006/03/02(木) 21:42:31ID:???
PHPの質問&回答なんて糞に決まってる
0463nobodyさん2006/03/02(木) 21:44:19ID:???
誰が考えたかしらないけど変な言い回ししてる所が古参っぽいな
0464nobodyさん2006/03/02(木) 21:51:25ID:???
>>463
柳家?
0465nobodyさん2006/03/02(木) 22:28:50ID:???
まぁ、そんなにせめてやるなよ。
>>451の案で平和になるのが理想なんだし。

・・・けど、最近皮肉とかブラックユーモアって通じにくくなってるよな・・・
ちょっとさびしい。
0466nobodyさん2006/03/02(木) 22:41:14ID:???
>>465
皮肉とかブラックユーモアのはずの事が、リアルに起きている現実ですから…
0467nobodyさん2006/03/02(木) 23:45:40ID:???
うんまぁ起こってもいない現実を皮肉ってもしょうがないしね。
0468nobodyさん2006/03/03(金) 00:09:48ID:???
>>465
だからここまで積み重ねてきたスレの空気よめ
0469nobodyさん2006/03/03(金) 00:09:59ID:???
八ヵ条の原作者は神だと思う
0470nobodyさん2006/03/03(金) 00:14:14ID:???
>>5の内容書いたやつ厨だろ。
普通に 「質問者のルール」 って題名で箇条書きにすればいいのに
わざわざわかりにくくしてるし。
0471nobodyさん2006/03/03(金) 00:17:00ID:???
>>470
>>468
0472nobodyさん2006/03/03(金) 00:36:24ID:QWJoZw1q
perlからphpの翻訳機ってないですかね?
完璧は求めていないので。。

phpに移植が大変><;

誰か作ってくれないかなぁ・・・・
0473nobodyさん2006/03/03(金) 00:38:27ID:???
>>472
逆はともかく、Perl→PHPはPerl→sedとかPerl→awkが無いのと一緒で、
できないことがあまりに多すぎて作るの無謀だと思う。
0474nobodyさん2006/03/03(金) 00:39:35ID:???
4. 独り言文体で必勝。
「…なんだけど、どうすればいいのかなぁ」「何が悪いんだろう?」
0475nobodyさん2006/03/03(金) 00:44:00ID:???
てかおれ最初はあの通りに質問すると
回答がもらえやすいと思ってずっと情報小出しにしてた
0476nobodyさん2006/03/03(金) 00:50:56ID:???
お前ってほんっっっっっっとーに頭の悪いやつなんだな
0477nobodyさん2006/03/03(金) 05:26:03ID:???
各ページからヘッダーファイルとフッターファイルを require()で
ひっぱってきてるんですが、
これをするとヘッダーファイルに画像の相対リンクとか貼ってある
ときに困ることになります。
(require()されるファイルの場所次第で画像のリンク先が変わってしまう)

絶対リンク使えばいいんですが、SSLを使ったりするときもあるので
これは避けたいと考えています。

画像のリンク先を変数かなにか使ってやるのがいいかと思うんですが、
上手く思いつきません、グッドアイデアお願いします
0478nobodyさん2006/03/03(金) 07:26:08ID:???
>>472
elsif -> elseifの置換ぐらいなら問題ないけど =~ であきらめた
sub -> functionも引数の取り扱いや変数のスコープが違って自動では無理
0479nobodyさん2006/03/03(金) 07:35:07ID:???
>>477
<?php
$imageDir = "../img/";
include "header.php";
?>

header.php

<style>
body { background-image: url("<?php echo $imageDir?>bg.gif") }
</style>
0480nobodyさん2006/03/03(金) 11:48:31ID:???
>>468
空気よんだ上でのフォローだと気付いてやれw
0481nobodyさん2006/03/03(金) 11:51:04ID:???
>>464
あさげ、ひるげ、ゆうげ
0482nobodyさん2006/03/03(金) 12:24:21ID:???
>>481
赤出汁の「ひるげ」が好き
0483nobodyさん2006/03/03(金) 14:38:07ID:WgfWnQX6
phpのlinux版ってextフォルダがなくて
php_pgsql.dll
とかがないんですが、どこから入れたらいいんでしょうか?
0484nobodyさん2006/03/03(金) 14:54:20ID:???
>>483
環境によって違うがFedoraCoreのrpmなら
/usr/lib/php/modules
に
mbstring.soやgd.soが入る
0485nobodyさん2006/03/03(金) 15:10:50ID:WgfWnQX6
>>484
あ、環境書かなくて申し訳ないです。
redhat9で、自分でPHP5をコンパイルして入れてます

-------
./configure
--with-apxs2=/usr/local/apache2/bin/apxs
--with-gd
--with-zlib
with-pgsql=/usr/local/pgsql
--enable-mbregex
--enable-mbstring
--enable-trans-sid
--enable-mcrypt
-------

で、入れてるんですけど、modulesもextもないです…。
あとから入れることってできないんでしょうか?
0486nobodyさん2006/03/03(金) 16:42:21ID:???
>>485
ソースのextディレクトリに各モジュールのディレクトリがある
好みのディレクトリに移動して
phpize
./configure --help
./configure --enable-hoge
make
make install

で
/usr/local/lib/php/extensions/*****/
あたりにインストールされる
0487nobodyさん2006/03/03(金) 16:54:06ID:???
>>485
ちなみにコンパイル時に指定したモジュールはphp.soに内蔵されるので拡張モジュールのように別ファイルにはならないよ
0488nobodyさん2006/03/03(金) 16:58:58ID:WgfWnQX6
>>486-487
ありがとうございます!
やってみますー
0489nobodyさん2006/03/03(金) 23:29:21ID:t7JloJn3
学習用に、Windows2000+Apache2.0.55+PHP5.1.2を導入しました。
phpinfo();は表示されます。

print date("Y/m/d");と記述し、foo.phpで保存したものを、直接127.0.0.1/foo.php
とアクセスすると動作するのですが、
var.htmlに<?php print date("Y/m/d"); ?>
を記述し127.0.0.1/var.htmlにアクセスしても表示されません。
httpd.confやphp.iniは確認したのですが、うまくいきません。
原因はどこにあるでしょうか。
0490nobodyさん2006/03/03(金) 23:58:51ID:???
拡張子がhtmlではPHPは実行されません。
0491nobodyさん2006/03/04(土) 00:05:16ID:???
>489
それは普通の振る舞い。apache側で設定すれば実行されないわけ
じゃないけどな。ただそれをするとapacheの負担にもなると。
0492nobodyさん2006/03/04(土) 00:20:09ID:???
phpエディタ使ってるけどphpeclipse入れたほうがいい?
04934892006/03/04(土) 01:45:09ID:aZXPUvQz
そうだったのですか、すみませんでした。
サンプルソースにタグが入っていたので、perl CGIのように呼び出していると
思っていました。ありがとうございました。
0494nobodyさん2006/03/04(土) 01:46:46ID:???
>>492
なんでそう思う?
0495nobodyさん2006/03/04(土) 02:34:26ID:???
>>493
perlも基本的に拡張子がcgiやplじゃないと実行できないよ。
0496nobodyさん2006/03/04(土) 03:07:45ID:???
環境 apach2.20 + php5.1.1

ftp_puts()でファイルアップロードしようとすると
あるサーバーAにはちゃんとアップロードされるのですが
別のサーバーBだと0バイトのファイルが作成され、falseが返ってきます

ftp_nb_put()やftp_pacv()なども試してみましたが状況は同じでした
他に何か試してみるべき事はありますか?
0497nobodyさん2006/03/04(土) 09:27:11ID:???
>>496
パーミッション、ファイルのパスが合っているか、
また念のためソースの一部を書いたほうがわかりやすいと思います。
0498nobodyさん2006/03/04(土) 10:32:48ID:???
A:MySQLサーバ
B:WEBサーバ
A、Bはそれぞれ別のネットワークにあります。
Aのデータベースに接続し、データを取得してきたり
修正したりするPHPプログラムをBに設置し、
B上の Apache のCGI(PHP)から
データの表示やまたは修正を行えるようにしています。

Apache では SSL を使用しているのですが、
この場合、MySQL側でもSSLを使用すべきでしょうか?
Aから引っ張ってくるデータは盗み見されると困る内容ですが、
上の例の場合、どこからどこまで Apache の SSL が
機能するのかよくわからなくなってきました。
0499nobodyさん2006/03/04(土) 12:53:13ID:???
>>496と>>498は違う人だよな?
サーバA、サーバBなんて同じ表現するから紛らわしいだろ。
0500nobodyさん2006/03/04(土) 14:04:48ID:???
>>497
パーミッションやパスが違ってたら0バイトのファイルすら作れない気がする…
0501nobodyさん2006/03/04(土) 14:09:57ID:???
>>498
AとBっってのはグローバルIPを介してHTTPプロトコルでDBデータをやりとりすんのかよ
0502nobodyさん2006/03/04(土) 14:39:20ID:???
$t_string = eregi_replace("(.*)<title([^>]*)>","",$t_string);
$t_string = eregi_replace("</title>(.*)","",$t_string);

htmlソースからタイトル部分だけ取り出したいのですが、
上記のように二段つかっているのを1つにまとめるにはどうすればいいでしょうか。
0503nobodyさん2006/03/04(土) 14:40:31ID:???
>>498
サーバAにはSSLなApacheは入ってないんだろ?
なら当然Webブラウザ-サーバB間のHTTPSに対してのみSSL。
0504nobodyさん2006/03/04(土) 14:49:18ID:???
preg_match('/<title>(.*)<\/title>/i', $t_string, $t_match);
05054982006/03/04(土) 14:53:39ID:???
>>501
グローバルIPを介しますが、
PHPのmysql_connect() を使用する場合HTTPプロトコルでの
データのやりとりになるのでしょうか?
0506nobodyさん2006/03/04(土) 14:57:35ID:???
MySQLはMySQLプロトコルだろ。
ただ、それは暗号化されていない平文。
だから、途中でsnoopされたりするのが心配だってことだな。

MySQLプロトコルを暗号化するのは聞いたことがない。
どちらにしても、鯖側にも何かモジュール入れないと無理そうだけどな。
05074982006/03/04(土) 15:09:05ID:???
[ブラウザ]---[Apache]---[MySQL]
ブラウザとApacheの間はSSLで暗号化されるのでいいとして、
問題はApacheとMySQLの間ですよね。

>>506
この場合、
ttp://itpro.nikkeibp.co.jp/members/ITPro/oss/20050819/166553/
のようにMySQLでSSLを使用するのと、PHPからMySQLへ接続することは
別問題なのでしょうか?
0508nobodyさん2006/03/04(土) 15:50:49ID:???
>>507
なんか色んなところでマルチしてないか?

>別問題なのでしょうか?
いや同じ話だよ。ただPHPのmysql関数ではSSLを使う仕組みが
デフォでは無いので、拡張版のmysqli関数を使ってSSLの設定をする。
あとPHPのコンパイルでSSLも要るな。
05094962006/03/04(土) 17:58:12ID:???
>>499
紛らわしいので以下のように表現を変えます
サーバーA → サーバー1
サーバーB → サーバー2

>>497>>500
こんな感じでやっています

//HTML部
<form method="post" action="script.php" enctype="multipart/form-data">
<input type="file" name="up"><br>
<input type="submit" value="upload">
</form>

//PHP部
$name = "./".$_FILES["up"]["name"];
if ( !($ftp = @ftp_connect($host)) ){echo "connect error";}
if ( !@ftp_login($ftp,$user_id,$user_pass) ){echo "connect error";}
ftp_pasv($ftp,false);

if( @ftp_put($ftp,$name,$_FILES["up"]["tmp_name"],FTP_BINARY) ){
echo "<br>success";
}
else {
echo "<br>error";
}

ftp_close($ftp)
サーバー1、2ともパーミッションは755で、パスはユーザーのルートディレクトリです
あと最初に書き忘れましたが、FFFTPなどを使った場合はどちらも普通に操作できます
0510nobodyさん2006/03/04(土) 18:20:02ID:WPEf+PS6
include
require
require_once

の使い分けはどういう時に有効ですか?
0511nobodyさん2006/03/04(土) 18:30:25ID:???
全て*_onceを使うのがPEAR標準。

includeとrequireは、
どんな条件下でも必ず評価されるものにはrequire
ある条件下で評価されない可能性がある(if文など)場合はinclude

理由はマニュアル嫁。
0512nobodyさん2006/03/04(土) 18:33:47ID:???
>>509
そのアップロードによって生成されているテンポラリファイルは確認してみた?
move_uploaded_fileして、一旦どこかに保存してやってみるとか。
0513nobodyさん2006/03/04(土) 18:37:49ID:???
>>510
>>1
05145102006/03/04(土) 18:48:08ID:WPEf+PS6
ヘルプなんか読んだ上で質問してるわ。
具体的にどう使い分けるの?
分からないなら答えなくていいよ。
どうせ分かってないでrequire_once使ってんだろ。
0515nobodyさん2006/03/04(土) 18:53:29ID:???
>>514
君、向いてないから止めた方がいいと思うよ
0516nobodyさん2006/03/04(土) 18:55:50ID:SB9snESx
PHPのバージョンは4.3.11ですが、統計処理用の関数はどこにあるのでしょうか?
標準偏差や相関係数をJAVAではなくphpでやりたいのですが。
0517nobodyさん2006/03/04(土) 18:56:32ID:SB9snESx
PHPのバージョンは4.3.11ですが、統計処理用の関数はどこにあるのでしょうか?
標準偏差や相関係数をJAVAではなくphpでやりたいのですが。
0518nobodyさん2006/03/04(土) 19:00:12ID:???
>>514
正直俺もイマイチわからんので、わかったら教えてください

>>515
そういう無駄なことはいわなくていい。回答する気がないならスルー汁
0519nobodyさん2006/03/04(土) 19:12:16ID:???
>>514
俺も良く分からないまま使ってる

>>515
君の方が向いてないから止めた方がいいと思うよ

>>514は良く分からないまま使ってることが嫌で質問してるんだよ
これこそ向いてるでしょ

0520nobodyさん2006/03/04(土) 19:30:31ID:???
あのマニュアルを読んで判らない奴に何をどう説明しろと?
0521nobodyさん2006/03/04(土) 20:03:21ID:???
>>511じゃ不満なのか?
まさに511の言う通りだと思うのだが。
0522nobodyさん2006/03/04(土) 20:26:32ID:???
>>510,514,518,519
>>511が良回答。たぶんおまいらがこれ以上居座ると空気悪くなるのでくだらない発言は控えてもらえると助かる。

http://www.php.net/manual/ja/function.include.php
http://pear.php.net/manual/ja/standards.including.php

この2箇所読んでも不満や疑問があるならまた来ればいい。
とは言ってもpear標準は絶対必須というわけではないので、エラーの扱いについて正しく理解した上で明確な理由があるなら別の使い分けをしてもかまわない。
05234962006/03/04(土) 20:31:16ID:???
一応解決(?)したので報告を

スクリプトを他のサーバー3に置いて実行してみたところ、サーバー2にもアップロードできました
(サーバー1からスクリプトを実行しなかったのはFTP関数の使用が規制されているため)

どうもサーバー2からは自分自身にアップロードできないようです

スクリプトの不備ではなくサーバーの設定関係の問題のようなので
今後は自力でそっちの方を当たってみます

ありがとうございました
0524nobodyさん2006/03/04(土) 20:32:43ID:???
>>516
peclでこんなのあるけど。
http://www.php.net/manual/ja/ref.stats.php
0525nobodyさん2006/03/04(土) 20:48:34ID:aGprecBm
定数を文字列に直接埋め込むにはどうすればいいんでしょうか?

define('hoge', 'string');

echo "hoge is {hoge}";
echo "hoge is {'hoge'}";

↑どっちもダメでした。

0526nobodyさん2006/03/04(土) 20:52:07ID:???
掲示板スクリプトをPHP+MySQLで作っています。
投稿用テーブルkakikoにuser_idがあるのですが、ユーザ名が格納されているのは
ユーザテーブルusersの中のuser_nameです。

書き込み表示の時にユーザ名を表示させたいのですが、一旦kakikoからuser_idを取ってきて
その後にuser_idがある分だけusersからuser_id -> user_nameのSELECT文を発行しないと
いけないのでしょうか…
何かすごくマヌケなことをしている気がするのですが、これしか思いつかないもので…

user_id -> user_nameの関数を用意しても結局同じ数のSQLを発行しますよね

みなさんはどうやっていますか?
05275262006/03/04(土) 20:53:09ID:???
>>525
echo "hoge is ".hoge;

普通大文字にすると思うけど。
echo "hoge is ".HOGE;
0528nobodyさん2006/03/04(土) 20:53:45ID:???
>>525
残念ながらPHPだと文字列リテラルに定数いれられないんです。
echo 'hoge is ', hoge; でがまんして。
0529nobodyさん2006/03/04(土) 20:59:35ID:???
>>526
ユーザが比較的少ないなら、不要なものも入るけど
一括して最初に全部取ってきたら?
0530nobodyさん2006/03/04(土) 20:59:47ID:???
>>526
sqlの話なのでスレ違いだけど
select * from kakiko, users where kakiko.user_id = users.user_id and なんちゃらかんちゃら
0531nobodyさん2006/03/04(土) 21:00:39ID:aGprecBm
>>526
ヒアドキュメントの中で使いたいのですが
それだとソースがぐちゃぐちゃになっちゃいそう

>>527
無理ですか…

05325252006/03/04(土) 21:01:26ID:???
>>531 名前入れ忘れました
0533nobodyさん2006/03/04(土) 21:09:50ID:???
>>531
$hoge = HOGE;

$heredocument = "$hoge";
じゃダメ?

>>530
まだ理解できていないですけど、ちょっとやってみます。
0534nobodyさん2006/03/04(土) 21:14:07ID:SB9snESx
>>524
>peclでこんなのあるけど。
>http://www.php.net/manual/ja/ref.stats.php
php5.1以上ではphp_stats.dllをダウンロードして使えるようだが
それ以前ではだめみたいだね。実際php_stats.dll(5.12)を
試したが拒否された。



0535nobodyさん2006/03/04(土) 21:20:38ID:???
>>525
変数のパース
http://www.php.net/manual/ja/language.types.string.php#language.types.string.parsing
定数≠変数。定数がパースされないのは無難な仕様だと思うけど。
0536nobodyさん2006/03/04(土) 21:36:26ID:???
>>531
あとヒアドキュメントでも
http://www.php.net/manual/ja/language.types.string.php#60971
この手がいけるかと思う。でも
>それだとソースがぐちゃぐちゃになっちゃいそう
が気になるなら、早々に何らかのテンプレートシステムを導入。
0537nobodyさん2006/03/04(土) 21:39:43ID:???
>>530
やってみたらできました。
ありがとうございましたー。
0538nobodyさん2006/03/05(日) 03:26:56ID:???
>>514
俺は同じプログラムでrequire_onceとrequireとincludeは使い分けてるけど
include_onceだけまだ使ったことないや。そういえば。
0539nobodyさん2006/03/05(日) 11:55:08ID:???
俺はrequireとinclude_onceしか使わなかったりする
include_onceでPHP5のラッパー関数を定義しといて
PHP4の環境でも同じソースで済むようにしてる
0540nobodyさん2006/03/05(日) 14:06:29ID:???
Vineにて録画サーバを構築、2G超えのファイルをダウンロードすべく
自分でスクリプト書いてみたが、どうもうまく動かない・・
filesizeの取得がマニュアルによると「sprintf("%u", filesize($file))で2G越え
てもいけるぜ」と書いてあるけど、エラーで取得できず。
おまけにfopenでファイルも開けずエラー。
どうしたらよかとですか。
教えて、エロイ人。
0541nobodyさん2006/03/05(日) 14:25:52ID:???
>>540
「うまく動かない」→どう動かないんだ?
「エラー」連呼→エラー文はコピペしろ。

上記を踏まえて・・・ダウンロード、filesizeとか言ってる辺りから推測すると、
まさか、その1ファイルを全部PHPのメモリ上に乗せてから出力させてんのか?
それならロジックを変えるか、実装メモリを増やしてPHPのメモリ設定変更。

・・・どう考えても後者は実用的じゃないがな。
0542nobodyさん2006/03/05(日) 15:05:43ID:???
>>540
2Gのデータが一括で扱えるようにPHPのメモリーリミットを
設定してないからではないか?
0543nobodyさん2006/03/05(日) 16:36:09ID:???
>>541
エラー内容はファイルサイズ取得で
「filesize() [function.filesize]: stat failed for ***」とでます。
fopenも同じエラーです。

メモリに一気に乗せるロジックではなく、freadでループさせて
吐き出そうとしてますが、それ以前の問題なんでつorz

>>542
PHP.iniのリミットのことですか。
ファイルサイズ取得、ファイルオープンと関係あるんでしょうか。
0544nobodyさん2006/03/05(日) 18:11:30ID:???
何でぼかすかな
>>5行きか?
0545nobodyさん2006/03/05(日) 18:55:22ID:???
>>544
***のところはファイル名です(録画済ファイル)
具体的には
「filesize() [function.filesize]: stat failed for /video/1003_20060303220000_20060303225400.nuv」
のような感じです。
書くと、長くなるためとファイルの扱いに関係がないと思われたため記述を控えました。
0546nobodyさん2006/03/05(日) 19:12:45ID:???
>>545
ext\standard\filestat.cの中だけど
if (!IS_EXISTS_CHECK(type) || (errno != ENOENT && errno != ENOTDIR)) { /* fileexists() test must print no error */
php_error_docref(NULL TSRMLS_CC, E_WARNING, "Lstat failed for %s (errno=%d - %s)", BG(CurrentStatFile), errno, strerror(errno));
}
なので、'/video/1003_20060303220000_20060303225400.nuv’がfilestatusを取るのに
相応しくないだけっぽいな。
実際にそのファイルはあるの?(これは他のエラーになる筈だから違うか)
絶対パス指定ではどう?パスを短くしてみたらどうなる。

>>543
いや、エラーの詳細が判ったので今のところ関係ないと思われる<リソースリミット
05475462006/03/05(日) 19:18:13ID:???
ごめん、全然違うものみてた。
0548nobodyさん2006/03/05(日) 19:25:31ID:???
>>546
ファイルは実際存在し、ファイルサイズの小さなもの(60M程度)を
ダウンロードしてみるとダウンロードはできます(データも問題なし)。
パーミッション、オーナーともにダウンロードできるファイル
と同一のため問題なく思われます。
パス指定は現在絶対パスで行っています。
値はGETで取得、これも問題なく取得できています。

書き忘れましたが、apacheのバージョンが1.3.33、PHPのバージョンが5.1.2
です。
ああ、どうしたらよいものやら・・orz
0549nobodyさん2006/03/05(日) 19:32:50ID:???
1.3.34にしてみなさい
0550nobodyさん2006/03/05(日) 19:37:53ID:???
2.0.55にしてみなさい
05515462006/03/05(日) 19:39:21ID:???
PHP5.1.2の貼っとくよ。
#define IS_EXISTS_CHECK(__t) ((__t) == FS_EXISTS || (__t) == FS_IS_W || (__t) == FS_IS_R || (__t) == FS_IS_X || (__t) == FS_IS_FILE || (__t) == FS_IS_DIR || (__t) == FS_IS_LINK)

if (php_stream_stat_path_ex((char *)filename, flags, &ssb, NULL)) {
/* Error Occured */
if (!IS_EXISTS_CHECK(type)) {
php_error_docref(NULL TSRMLS_CC, E_WARNING, "%sstat failed for %s", IS_LINK_OPERATION(type) ? "L" : "", filename);
}
RETURN_FALSE;
}

メッセージに変更はあるけど、別にチェックは余り変わってないな。
0552nobodyさん2006/03/05(日) 20:13:54ID:???
ちら読みしたけどわかんね。http://bugs.php.net/bug.php?id=27792 かもね。
でもエラーは「filesize() [function.filesize]: stat failed for /video/1003_20060303220000_20060303225400.nuv」なんでしょ?
0553nobodyさん2006/03/05(日) 23:08:03ID:???
もりこもりこー
0554nobodyさん2006/03/06(月) 10:35:47ID:???
実はPHPはstat64を呼んでなかったりして。>>552のバグレポート読んだ感じからして。
勘だけど、statした結果のファイルサイズ(st_size)が2GB以上だと符号付で見なしたときに負の値になって、PHPがどっかでエラーチェックのつもりで0と比較してエラーフラグ立ててるとか、どうせその手のアフォな話だと思うね。

>>540
というわけで、現時点ではPHPで2GB以上のファイルは扱えない、といったところか。

そもそもPHPのintはCのintそのままだからそこらのプラットフォームでは0x80000000以上の数値扱うこと自体に無理があるんだよな。
PHP6では多倍長整数がサポートされることを祈ろう。
0555nobodyさん2006/03/06(月) 11:31:40ID:???
>>554
マニュアルにあえてsprintf("%u")での対処方法が書いてあったところを見ると、
元々はstatの戻りをstringによる数字で扱ってて、うまく動いてたんだろうな。
ところがそれを忘れて改良してしまった部分があって今は動かなくなってしまった、
という可能性が高そうだな。PHPじゃよくある話だし。
0556nobodyさん2006/03/06(月) 16:14:07ID:???
>>554
intといったらshortの場合もあるし、longと言った方が適切では。
0557nobodyさん2006/03/06(月) 17:28:12ID:???
>>556
あーphpのintはcのlongだった。訂正。
intはcの標準上よろしくない罠。
0558nobodyさん2006/03/06(月) 17:34:37ID:zhIGepD3
ひとつ疑問に思ったのですが
fopenでファイル開いた後 fclose で閉じなかったら
どんな悪影響がでるんですか?
0559nobodyさん2006/03/06(月) 17:37:15ID:???
同じプログラム内で大量にfopenしてたらリソース使い切って致命的エラーになるかも。
あと、書き込みしたままfcloseしてなかったらプログラム終了までフラッシュされずに
ファイルが破損する確率が上がるかも。
flockしっぱなしで放置するとプログラム終了まで他のプログラムがアクセスできなくなるかも。

そんなもんか?
0560nobodyさん2006/03/06(月) 17:48:22ID:???
>>558
まあ基本的にはOSが閉じ忘れを面倒見てくれる(もしくはPHPもやってくれるかな?)から大したことはないってのもある。
人によってはfopenしたのにfcloseしていないプログラムに気持ち悪さすら覚えるらしいことも頭に入れておくべし。
0561nobodyさん2006/03/06(月) 19:45:27ID:???
あるプログラムで
Web経由で起動しとったらURIを、コマンドラインから起動しとったら
コマンドラインを標準出力に吐き出したいんだが
ちからづくでならなんとかなったんだけど
格好良く書くナイス方法は無いかな
0562nobodyさん2006/03/06(月) 19:56:51ID:???
>>561
日本語で書け
0563nobodyさん2006/03/06(月) 20:08:13ID:???
>>561
$msg = @ $_SERVER['REQUEST_URI'] or $msg = @ implode(' ', $argv) or $msg = 'おてあげ';
echo $msg;
てこと?
0564nobodyさん2006/03/06(月) 20:42:24ID:???
>>562
ワロタ
05655612006/03/06(月) 21:13:35ID:???
>>563
ヒントありがとう
それそのままだと1とか出ちゃったから
それヒントに姉ちゃんがんばるわ
0566nobodyさん2006/03/06(月) 23:11:58ID:6wJc3dTK
sakura.html の中に
<?include("print.php");?>
と書かれているとします。
この時print.php側で「sakura.html」のURLもしくはパスを取得し表示する方法はありますか?

$url = getenv('REQUEST_URI');
print $url;

とやってみた所
「print.php」が表示されてしまいます。
0567nobodyさん2006/03/06(月) 23:27:25ID:???
$_SERVER['PHP_SELF']
$_SERVER['REQUEST_URI']
0568nobodyさん2006/03/06(月) 23:35:52ID:???
>>566
sakura.htmlってのはPHPじゃないよね。
PHPのincludeはあくまでも、その場所にPHPのコードを
挿入するのと同じ動作だから。
|「print.php」が表示されてしまいます
とはならない。
0569nobodyさん2006/03/06(月) 23:42:05ID:???
>>567-568
すいません。includeの中身を
include ("http://***.com/print.php");
とURLで指定してました。
相対パスに変更した所、うまく動作しました。
0570nobodyさん2006/03/07(火) 08:25:04ID:???
>>569
付け加えるとincludeファイルは
webで見えない場所の方がセキュリティ的に良いと思う
0571皮先くん ◆N3i.Qu1SoY 2006/03/07(火) 09:35:07ID:W7VIXknd
【福島】逮捕された産婦人科医師を救え4
ttp://society3.2ch.net/test/read.cgi/hosp/1141605385/
不当にタイーホされた産婦人科医をなんとか救い出そうと思います。
同じ医師としてこのような不当タイーホは絶対に許せません。
参考
ttp://www.kaog.jp/20060306top.htm

そこで、PHPを使って署名をつのりたいのですが、
これをたたき台にして可能でしょうか?
ttp://oresama.hopto.org/~sheel/phptest/formtest/form.php
問題は、これで署名されたあとにどのようにして
整形されたhtmlをたたき出すか、という点です。
それと可能なら現在までに集まった署名の数をリアルタイムで
表示させたいのですがどうしたら可能でしょうか?
0572nobodyさん2006/03/07(火) 12:38:46ID:???
ぷぎゃー
0573nobodyさん2006/03/07(火) 12:40:35ID:???
「整形されたhtmlをたたき出す」がわかりません。
もっと具体的に。
0574nobodyさん2006/03/07(火) 13:49:50ID:???
>>573
>>313
0575皮先くん ◆N3i.Qu1SoY 2006/03/07(火) 13:56:43ID:HRxo4IHm
>>573
返答ありがとうございます。

署名文の入力は
http://oresama.hopto.org/~sheel/phptest/formtest/form.php
こちらで完了し、submitボタンをクリックすることで
text.batにどんどん追記されていく仕組みまではつくりました。
問題は、追記されていくtext.batをどのようにデータベースとして
取り扱うか、という点です。
CSV形式で追記していけばあとでいろいろと使えますか?

最終的にはたまった署名文を福島県警に郵送する予定です。
0576nobodyさん2006/03/07(火) 14:30:48ID:???
名簿業者から名簿買って転送すりゃいいよ。
0577nobodyさん2006/03/07(火) 17:25:02ID:???
関数で、変数の参照を返すことって出来ますか?
0578nobodyさん2006/03/07(火) 17:39:31ID:???
できるよ。
0579nobodyさん2006/03/07(火) 17:42:05ID:???
どうやるんでしょうか?
0580nobodyさん2006/03/07(火) 17:46:11ID:???
すみません、自己解決しました。
ttp://www.mt312.com/php/var.reference.html
0581nobodyさん2006/03/07(火) 17:50:06ID:???
次の質問なんですが。

関数から返された変数の参照をそのままempty()の引数にしたいのですが、出来ないのでしょうか?
empty(getVal())のようにすると、こういうエラーになります。
Fatal error: Can't use function return value in write context in...
0582nobodyさん2006/03/07(火) 18:06:26ID:???
リファレンスをデリファレンスしないでemptyでチェックするってどういうことよ
0583nobodyさん2006/03/07(火) 18:12:03ID:???
>>581
質問する前に、まずはマニュアル嫁
http://jp.php.net/manual/ja/function.empty.php
|変数が空であるかどうかを検査する
0584nobodyさん2006/03/07(火) 18:17:32ID:???
>>581
その通りです
0585nobodyさん2006/03/07(火) 18:40:51ID:???
ありがとうございました
どうにかして出来ないかと思ったんですが、あきらめます

>>583
読んだんですけど、参照ならどうかなと思った次第です

>>584
了解しました
0586nobodyさん2006/03/07(火) 19:25:33ID:jtyBl1lp
php上で、telnet接続での-s src_addrオプション(接続の送信元 IP アドレスを、 src_addr に設定)に
該当する設定を付加してサーバーに接続したいのですが、
fsocksopenなどでは該当のオプションが見当たりません。
system系関数を使う以外にエレガントな方法を教えてください。
0587nobodyさん2006/03/07(火) 19:52:48ID:???
>>585
>参照ならどうか
<?php
$a = 'TEST';
$b =& $a;
var_dump(empty($b));
?>
参照かどうかってことじゃなくて
|つまり、次の例は動作しません: empty(trim($name))
ってことだよ。
0588nobodyさん2006/03/07(火) 20:05:27ID:???
皮先うぜえ
0589nobodyさん2006/03/07(火) 20:13:54ID:psJP3on1
PEAR:XMLを使おうと
[ThinkIT] Part5:PHP5のXMLサポート(3) (1/2)
http://www.thinkit.co.jp/free/marugoto/1/5/3/1.html
をみながらセットアップしてるんですが、
libxml2を入れてみても、

# phpize
# ./configure --with-xsl

のところで最後に
configure: error:
You've configured extension xml, which depends on extension libxml,
but you've either not enabled libxml, or have disabled it.

とエラーがでて、makeすることができません。
どうすればちゃんとlibxmlを認識してくれるのでしょうか?

OS:redhat9
php:5.1.12

です。よろしくお願いします
0590nobodyさん2006/03/07(火) 20:14:10ID:???
>>587
trimって参照を返してるわけじゃないですよね?
変数への参照を返す関数なら、emptyが変数と同じように処理してくれないかと期待したわけです。
0591nobodyさん2006/03/07(火) 20:28:44ID:???
名前欄に皮先って入れろ
0592皮先2006/03/07(火) 20:37:47ID:???
入れました
0593nobodyさん2006/03/07(火) 20:54:41ID:???
質問です
手元のPHP本はmysql_escape_stringを使ってあるのですが、これはすべてmysql_real_escape_stringにした方がよいのでしょうか?
0594nobodyさん2006/03/07(火) 21:04:26ID:???
>>581
PHPはパース時にずいぶん式の再帰性を捨ててるから、仕方ないんだな。
俺は参照を返す関数ならempty等に渡せて意図したとおりの結果を返すような仕様だった方が意味論的には好みだけどね。
その辺はあきらめるしかない。
0595nobodyさん2006/03/07(火) 21:06:38ID:???
>>590
もっと悪い状態になってる。それは;;
そもそもなんでemptyでのチェックにこだわってるの?
if(getVal())
で同じ結果にならないか?
わざわざ「変数用の言語構造(注:これは関数ではない)」を使って
変数以外のものをチェックしようとする意図が分からん。
0596nobodyさん2006/03/07(火) 21:13:27ID:???
>>594
関数の戻り値をemptyでチェックしたかっただけで、
参照とかはどうでもいい話らしいぞ
0597nobodyさん2006/03/07(火) 21:18:36ID:???
if(!function())
でいいんジャン?
0598nobodyさん2006/03/07(火) 21:19:05ID:???
>>595
理由は、、、
既存ソースの改良で、変数をget〜に変えようとしてました。
で、emptyなどで行き詰ったわけです。
そこも含めて変えれば済む話ですが、出来るだけ手を抜こうとしてました。
無理と分かりあきらめが付きました。
ありがとうございました。

変なことしようとしてすみません。
0599皮先くん ◆N3i.Qu1SoY 2006/03/07(火) 21:50:28ID:agmd1D8V
>>575
が完全に無視されている件について。
0600nobodyさん2006/03/07(火) 21:51:58ID:???
>>598
またおいで。
0601nobodyさん2006/03/07(火) 22:27:42ID:???
名前空間に対応したPHPは
いつでるのじゃーーー
0602nobodyさん2006/03/07(火) 22:44:12ID:???
関数内での名前空間対応のPHPならすでに。
0603nobodyさん2006/03/07(火) 22:50:50ID:???
名前空間とかネームスペースとかよくわからん
06045892006/03/07(火) 23:20:34ID:psJP3on1
誰か〜
0605nobodyさん2006/03/08(水) 00:13:23ID:???
>>589
よーわからんけどphpをconfigureし直してみたらどう?
libxmlとかいうやつくっつけて。
0606nobodyさん2006/03/08(水) 07:09:48ID:???
>>589
その前に
cd ***/php-****/ext/libxml
phpize
./configure *******

はどうだろうか
0607age2006/03/08(水) 10:58:48ID:s67YcGnH
全角ひらがなで「ぁ」「あ」とかに変換する関数ってありますかね?
アルファベットの大小変換はあるんですが・・・。
0608nobodyさん2006/03/08(水) 11:04:19ID:???
>>607
何を「ぁ」「あ」に変換するんだ
0609nobodyさん2006/03/08(水) 11:05:31ID:???
>>607
そんなに種類多くないからmb_ereg_replaceかstr_replaceで置換すればいいんじゃないかな
06106092006/03/08(水) 11:07:18ID:???
ぁをあに変換する意味で書いたけど違うのかな
0611nobodyさん2006/03/08(水) 11:22:11ID:???
PHPでのソケット通信のテストをしていますが
forkした親プロセスと子プロセス間でのディスクリプタパッシング
はできるのでしょうか?
親プロセスで開いたクライアントとのソケットがresouce型になってしまうので
子プロセスに渡すことが難しいです。

よろしくお願いします。
0612nobodyさん2006/03/08(水) 11:22:33ID:s67YcGnH
>>609
置き換えでもよいのですが、文字列は「ぁ」とは限らないために
パターンがありすぎて・・。

VBでいうところのstrconv()みたいなものですかね。
0613nobodyさん2006/03/08(水) 11:33:22ID:???
>>612
変換ルールがさぱーり分からないので何を回答すればいいのか分からんのだけど。
とりあえずmb_convert_kana()のマニュアルでも読んで、それで不足してるなら
もーちっと具体的な質問してください。
0614nobodyさん2006/03/08(水) 11:35:18ID:???
>>612
ひらがなとアルファベットじゃ意味が違うだろ。
aとAはほぼ同じだが
っとつじゃ全然違う。
したがってそんな変なことをする関数はない。

パターンなんて全部網羅しても100もないんだから
関数つくればいいよ
0615nobodyさん2006/03/08(水) 11:55:10ID:???
>>611
PHPのリソース型は異なるプロセス空間へは一切渡せないんじゃないかな。
0616nobodyさん2006/03/08(水) 12:15:38ID:???
>>607
つまり、そんな関数は無い、ってことです。
0617nobodyさん2006/03/08(水) 12:29:22ID:???
>>612
パターンって「ぁぃぅぇぉゃゅょっゎ」だけじゃないの
何がやりたいんだ
0618nobodyさん2006/03/08(水) 13:11:58ID:???
>>607は>>608に答えろ。じゃないと進まん。
0619nobodyさん2006/03/08(水) 13:32:43ID:YAPHuj+m
>>602
その情報はどこに?
URLなどもっと詳しく

ググってすぐ見つかるようなキーワードを教えて
0620nobodyさん2006/03/08(水) 13:34:04ID:???
strconvでググったらこれがトップだった
ttp://www.microsoft.com/japan/msdn/library/ja/vblr7/html/vafctstrconv.asp
MSDNはオンラインで見るにはちょっと重いかな・・・

>VbStrConv.None 変換は行われません。
>VbStrConv.LinguisticCasing 大文字と小文字については、ファイル システム (既定) ではなく言語の規則に従います。UpperCase および LowerCase と組み合わせる場合にだけ有効です。
>VbStrConv.UpperCase 文字列を大文字に変換します。
>VbStrConv.LowerCase 文字列を小文字に変換します。
>VbStrConv.ProperCase 文字列の各単語の先頭の文字を大文字に変換します。
>VbStrConv.Wide* 文字列内の半角文字 (1 バイト) を全角文字 (2 バイト) に変換します。
>VbStrConv.Narrow* 文字列内の全角文字 (2 バイト) を半角文字 (1 バイト) に変換します。
>VbStrConv.Katakana** 文字列内のひらがなをカタカナに変換します。
>VbStrConv.Hiragana** 文字列内のカタカナをひらがなに変換します。
で、この中のどれかだと思うが、どれにでも当てはまりそうな質問内容だな。

(´-`).。oO(まず最初に607は説明力をつけるべきだと思った・・・)
0621nobodyさん2006/03/08(水) 13:40:46ID:???
ヵっぉ ぉゃっょ
0622nobodyさん2006/03/08(水) 13:54:26ID:???
ぅゎ ょぅι゙ょ っぉぃ
0623nobodyさん2006/03/08(水) 13:56:47ID:???
>>607はエスパー伊藤の降臨を待っている
ちなみにエスパー伊藤はコイツ
ttp://pukasec.sakura.ne.jp/ren/img-box/1141658595524.wmv
0624nobodyさん2006/03/08(水) 14:36:20ID:???
PHPで認証サイトを作る場合
ページ毎のログイン情報の受け渡しって
SESSIONやDBでやるのが普通?

より簡潔にできないかと思って
クラス内で配列を保持して受け渡すってのをやってみたんだけど
あまり上手くいかない・・・
0625nobodyさん2006/03/08(水) 14:57:50ID:Khyvdh2z
>>624
> クラス内で配列を保持して受け渡すってのをやってみたんだけど

クラス内でとかはあんまり関係なく、どうやって渡したのか?が問題
0626nobodyさん2006/03/08(水) 15:11:14ID:???
>>624
SESSION"を"DBでやってます。
SESSIONIDはクライアントのCOOKIEに持たせてるけどね。
0627nobodyさん2006/03/08(水) 15:30:25ID:???
>>626
というのは具体的にどういう形?
0628nobodyさん2006/03/08(水) 16:24:49ID:???
sessionIDつきのデータをDBに放り込むんだろうな。
一意性はsessionIDに頼る。
cookieが生きている限りなんとかなるのと
大きなデータの保持には適しているかな。

と、以上、まったくの推測。
0629nobodyさん2006/03/08(水) 16:49:15ID:???
指定したファイルがあるかないか調べる方法ってないでしょうか?
0630nobodyさん2006/03/08(水) 16:50:29ID:???
>>629
ありますよ
0631nobodyさん2006/03/08(水) 16:52:20ID:???
>>630
どうすればいいですか?
0632nobodyさん2006/03/08(水) 16:54:37ID:???
マニュアルくらい読んだら?
0633nobodyさん2006/03/08(水) 16:55:15ID:???
>>631
関数
file_exists
06346292006/03/08(水) 17:07:17ID:???
>>633
ありがとうございますm(_ _)m
0635nobodyさん2006/03/08(水) 17:11:17ID:???
>>631
初めからそう質問しとけばよかったんだよ。
ありませんか?→Yes / No
どうしたらいいんでしょうか?→解決法
0636nobodyさん2006/03/08(水) 19:31:10ID:???
phpの関数ってどこに保存されてるの?
ハードコーディング?
0637nobodyさん2006/03/08(水) 19:46:28ID:???
>>629
>>1くらい読めよ。読めないのか、ゴメン
0638nobodyさん2006/03/08(水) 20:00:57ID:???
>>636
日本語でOK

つかユーザ関数の話かい?
0639nobodyさん2006/03/08(水) 20:12:55ID:???
>>635
その論法もう古臭いから普通の質問スレで持ち出さなくていいよ。
揚げ足取り以上の意味持たないし面白くもない。
0640nobodyさん2006/03/08(水) 20:35:31ID:???
>>638
ユーザ関数をハードコーディングってどういうことよw
0641nobodyさん2006/03/08(水) 20:44:08ID:???
つまり一種の予知?
0642nobodyさん2006/03/08(水) 20:55:11ID:???
トーニャ ハードコーディング
0643nobodyさん2006/03/08(水) 21:13:44ID:???
>>642
靴紐でも切れたのかね?
0644nobodyさん2006/03/08(水) 21:20:02ID:???
標準の関数がどこにあるかってことじゃまいか?
0645nobodyさん2006/03/08(水) 21:49:35ID:???
libphp*.soの中にバイナリ化されているんじゃないの?詳しくは知らないけど。
0646nobodyさん2006/03/08(水) 21:59:32ID:???
>>636
普通にソース中のどこにあるかって話ならext/standardに入ってるけど
06476382006/03/08(水) 22:17:14ID:???
>>640
いや、2行目は無視をした。というより1行目も本当に訊きたいことが良く判らん
「標準や拡張の関数がハードコーディング」だって意味が判る?
0648nobodyさん2006/03/08(水) 23:12:06ID:???
俺はわかったぞい。
0649nobodyさん2006/03/08(水) 23:37:26ID:???
穴狙いで、>>648の篠沢教授に50点。
0650nobodyさん2006/03/08(水) 23:53:23ID:???
>>647
いや,君の書き込みは全部無視をした。
0651nobodyさん2006/03/08(水) 23:55:20ID:???
>>646
うちのPHPフォルダにそんなフォルダはないぞ
0652nobodyさん2006/03/09(木) 00:00:31ID:???
>>651
http://www.php.net/downloads.php
Complete Source Code
0653nobodyさん2006/03/09(木) 00:43:58ID:???
>>651
お兄さんのphpはphp本体がインタープリタかとw
0654nobodyさん2006/03/09(木) 00:48:32ID:???
モジュール版が使えるレンサバであえてCGIとしてPHPを使う意味ってどんなん?
0655nobodyさん2006/03/09(木) 00:59:38ID:???
>>654
ユーザ権限で実行、forkの動作が保障されてる etc
0656nobodyさん2006/03/09(木) 08:47:28ID:???
>>654
CGIのみセーフモードoffなんじゃないの
0657nobodyさん2006/03/09(木) 10:27:03ID:???
>>639
面白い面白くないじゃなくて、質問者の礼儀だろ。
オレは質問になってない文章にはそのように返すがな
0658nobodyさん2006/03/09(木) 11:44:36ID:???
質問スレで面白い回答を期待するほうが間違ってる
0659nobodyさん2006/03/09(木) 12:41:04ID:???
気持ちはわからんでも無いが
スルーせずにいちいちアゲアシ取っていくなんてメンドクサイことよくやるね
0660nobodyさん2006/03/09(木) 12:46:20ID:???
スルーして誰かが親切に答えるとまた同じことやるからね
0661nobodyさん2006/03/09(木) 14:20:49ID:???
>>629-634で止めときゃまだほほえましかったのに>>635みたいな余計なこといちいち書くから荒れるんだよな。
0662nobodyさん2006/03/09(木) 14:41:42ID:???
おまえらもそれをわかってるならスルーしたらいいだけなんだがな
0663nobodyさん2006/03/09(木) 15:12:50ID:???
それ言うと無限ループになりますね。

>>662
goto >>662
0664nobodyさん2006/03/09(木) 19:48:25ID:???
>>657
質問になってない質問ならわざわざ回答する必要ないじゃん
おまえ馬鹿か。
0665nobodyさん2006/03/09(木) 19:58:42ID:???
そして糞真面目に回答しちゃう馬鹿が出てムカつくわけだな
0666nobodyさん2006/03/09(木) 21:04:59ID:???
くだらねえ
0667nobodyさん2006/03/09(木) 21:23:30ID:???
m9(^Д^)プギャー
0668nobodyさん2006/03/09(木) 21:51:36ID:???
なにこれ
皮先ウザいんだけど
0669nobodyさん2006/03/09(木) 21:52:43ID:???
超回答者がここにも
0670nobodyさん2006/03/09(木) 21:54:09ID:???
>>668
スルー汁。ホントにそう思ってるならコテハン名なんか書いたら余計に
よろこばすだけ
0671nobodyさん2006/03/09(木) 23:13:16ID:SHZr9acF
./configure --with-apxs2=/usr/local/apache2/bin/apxs --with-gd --with-zlib
--enable-mbregex --enable-mbstring --enable-trans-sid --with-xsl
--with-pgsql=/usr/local/pgsql --with-gd --with-jpeg --with-jpeg-dir=/usr/local/lib

で、phpコンパイルしてるんですが、

[09- 3-2006 23:09:46] PHP Fatal error: Call to undefined function ImageCreateFromJPEG()
in /hogehoge/hoge.php on line 15

のようなエラーがでてしまいます。どうすれば解決できるでしょうか?
環境はRedHat9とphp5.1.2です
0672nobodyさん2006/03/10(金) 00:03:00ID:???
アバウトな質問で申し訳ありません。
C言語であれば以下のようなコードで変数の値を入れ替える関数が作れます。
void swap ( int *x , int *y )
{
int t = *y;
*y = *x;
*x = t;
}

ポインタがないPHPでは同じような関数は実現できないのでしょうか?
入れ替えた2つの変数を返すのに
戻り値を配列にするといった方法しかないのでしょうか?
0673nobodyさん2006/03/10(金) 00:09:18ID:???
Perl同様リファレンスというものがある
0674nobodyさん2006/03/10(金) 00:46:33ID:???
>>672
そんな関数を使わなくても
list($x, $y) = array($y, $x);
で普通に変数スワップできるけどね。

ま、ポインタの代わりにリファレンスを使うのももちろんアリだけど。
0675nobodyさん2006/03/10(金) 01:14:59ID:???
<?php
$userid = "abc";
$password = "def";
?>

このプログラムをサーバーにアップロードして、
HTTP(SSLなし)でアクセスすると abc と def は
平文でネットを流れることになるのでしょうか?
それともサーバー側でのみ処理されることになるのでしょうか?
0676nobodyさん2006/03/10(金) 01:40:21ID:???
>>675
まずスレを実行するとクライアント側で何が表示されるのか考えてみ
明らかにくだ質っぽいが
0677nobodyさん2006/03/10(金) 01:41:25ID:???
>>676
スレじゃない・・
"それ"ね・・
0678nobodyさん2006/03/10(金) 03:09:37ID:???
>>675
サーバ側でのみ処理される(ネットを流れない)ケースが多いと思われる。
ファイル名が.txtや.htmlだったらどうなるか考えてみ。
また.phpでもそのまま表示される可能性はある。
0679nobodyさん2006/03/10(金) 03:25:34ID:???
Webサーバで解釈してHTMLを返すんだから、そのスクリプトじゃ何も返ってこない
0680nobodyさん2006/03/10(金) 10:44:28ID:???
PHPはサーバーサイドスクリプトなんですか?クライアントサイドスクリプトなんですか?
って意味の質問じゃないのか、それ。
0681nobodyさん2006/03/10(金) 15:45:28ID:???
>>671
たぶんlibgd自体がjpegサポートしてないんだよ。
0682nobodyさん2006/03/10(金) 15:58:10ID:???
>>671
>>681の言うとおりじゃないかな。
libgdのconfig.log 調べてごらん。
jpegのライブラリは、make install-lib したかな
0683nobodyさん2006/03/10(金) 16:07:52ID:???
掲示板にトリップ機能を付け加えたいのですが
どうやればよいかご存知の方いますか?
0684nobodyさん2006/03/10(金) 17:04:23ID:???
トリップ計算して結果を表示する。
0685nobodyさん2006/03/10(金) 17:39:41ID:???
そりゃ居るでしょう
0686nobodyさん2006/03/10(金) 18:29:52ID:???
>>683
敢えて言おう、ぐぐれ
0687nobodyさん2006/03/10(金) 20:40:48ID:bPBa/0oN
教えてください
C言語の構造体のようなイメージで使いたくて

  $a->s1 = "aaa";
  $a->s2 = "bbb";
  $a->b->n1 = 123;
  $a->b->n2 = 456;

みたいな使い方をしてるのですが
この書き方って問題ないのでしょうか?
マニュアルを見てもこの書き方が正しいと
思える内容が見つからなくて気になってます。
別に正しい書き方とか使い方とかあるのでしょうか?

自分の認識としては、上の例でいうと
「a」と「b」がstdClassのオブジェクトとして自動的に作られて
そのメンバ変数として「s1」「s2」「n1」「n2」が追加される
と考えてますが、間違ってます?
0688nobodyさん2006/03/10(金) 21:05:57ID:???
>>687
E_STRICTを気にしないならいいけど、標準的には
$a = new stdClass;
と書くべき。
0689nobodyさん2006/03/10(金) 21:20:20ID:???
ってゆうか、横着しないでクラス定義しろよ。
0690nobodyさん2006/03/10(金) 21:22:21ID:???
こういうのは配列でやるのがPHP流。
0691nobodyさん2006/03/10(金) 21:27:13ID:???
>>687
>C言語の構造体のようなイメージで使いたくて
どこがCの構造体やねん
0692nobodyさん2006/03/10(金) 22:18:59ID:???
>>691
俺は何となくしたい事は分かったが。
06936712006/03/10(金) 22:48:17ID:8gj1xhR9
>>681-682
レスありがとうございました。
調べてみます!
06946872006/03/11(土) 08:33:19ID:???
>>688-692
みなさんありがとうございました
なんとなく安心しました

他の方は配列でやってるのでしょうか?
それともクラス定義?
最初はクラスで定義してたのですが
変数の宣言を忘れても間違ってても
エラーにならないのでやめてしまいました。
(もしかしてエラーのレベルのせい?)
もう1度いろいろ試してみます。

>>691
配列でやると構造をあらわしにくいと思います
0695nobodyさん2006/03/11(土) 08:46:23ID:???
漏れはもっぱら配列
気がつくと5次元6次元配列とかできてたりして

この辺は個人の作り易さとかあるだろうな
0696nobodyさん2006/03/11(土) 08:47:02ID:???
漏れはもっぱら配列
気がつくと5次元6次元配列とかできてたりして

この辺は個人の作り易さとかあるだろうな
0697nobodyさん2006/03/11(土) 08:50:36ID:???
>>694
いちおうPHPの配列はリスト、スタック、キュー、マップ(ハッシュ)、木構造などだいたい表現できるけど。
stdClassは使い捨てスクリプトとかテストスクリプトみたいな一時的なものに使う以外にはあんまり使い道ないよ。
全部配列で代替できるから。
構造の「定義」をしたいならクラスを使うべき。
06989722006/03/11(土) 11:53:34ID:???
>>974
できました。
亀レスですがありがとうございました。

>>973
リファレンスで検索しても基本的な関数の一覧しかヒットしませんでした。
その様な関数はあるのでしょうか?

更に質問なのですが、
関数内で引数として渡された値実体を
直接変えることはできますか?
伝わりにくいかもしれませんが、
やはりCでのポインタを用いたswapのイメージでお願いします。
0699nobodyさん2006/03/11(土) 11:56:35ID:???
>>698
未来からやってきた
0700nobodyさん2006/03/11(土) 12:00:18ID:???
>>698
お前が>>672なら
function hoge(&$var) {
$var++;
}
$val = 1;
hoge($val);
echo $val;
07016982006/03/11(土) 12:01:00ID:???
>>699
アンカー全て600番台に
脳内置換お願いしますorz
0702nobodyさん2006/03/11(土) 12:10:19ID:???
>>698
function swap(& $a, & $b) {
 $t = $a; $a = $b; $b = $t;
}
この&をつけて変数を渡すことをPHPではリファレンスっていうのです。C++の参照の構文に似せてあるね。
http://php.net/references
07036722006/03/11(土) 12:27:06ID:???
>>700
調べてみました。
参照変数なんてあったんですね。

ポインタと比べて変数のアドレスは操作できないが、
アドレスの指す変数を操作していると解釈していいのでしょうか?
0704nobodyさん2006/03/11(土) 12:34:58ID:???
お願いだから、マニュアル熟読してよ
0705nobodyさん2006/03/11(土) 13:20:09ID:???
>>695
お前最悪だな
糞なおまえの糞スパゲティコードなんかメンテしたくねえや。

クラスくらい作って『集約(Aggregation)』くらいしやがれや
0706nobodyさん2006/03/11(土) 13:22:48ID:???
>>703
>調べてみました
何を調べたんだ
0707nobodyさん2006/03/11(土) 15:43:24ID:???
>>697
配列で代替できるけどわかりにくくね?

687みたいなのを配列にしようとすると
変数わけるしかなくない?
0708nobodyさん2006/03/11(土) 15:53:32ID:???
5次元とかの方が書いてるときはさくさくかける。


おかげでアホな外注が作ったワケ分からんスパゲッティーコードを
元請様がデバッグする羽目になる。
0709nobodyさん2006/03/11(土) 17:03:22ID:???
>>707
っ[連想配列]

クラスも連想配列に似た実装になってるわけだが>phpのばあい
0710nobodyさん2006/03/11(土) 17:08:56ID:???
>>709
$a['s1'] = "aaa";
$a['s2'] = "bbb";
$a['b']['n1'] = 123;
$a['b']['n2'] = 456;

こんな感じ?
なんか気持ち悪いのはおれだけ?
0711nobodyさん2006/03/11(土) 17:22:05ID:???
>>710
慣れ慣れw
0712nobodyさん2006/03/11(土) 17:37:45ID:???
>>710
気持ち悪いというか、おれはそういうのは訳解らなくなる。
0713nobodyさん2006/03/11(土) 17:44:10ID:???
>>712
まークラスにしても
PHPには型宣言もないし
宣言してない変数でも使えてしまうし
いっしょな気もする・・・

変数名で型とかがわかるようにするとしても
連想配列もクラス変数も一緒だしね
0714nobodyさん2006/03/11(土) 17:48:15ID:???
perlでよく使うけど引数を連想配列で渡すのは順番気にしなくていいかもね
PHPもプロトタイプレスだし
0715nobodyさん2006/03/11(土) 18:53:19ID:???
クラスの代入で質問です

$hoge1 = new Hoge();
$hoge1->num = 100;
$hoge2 = $hoge1;
$hoge2->num = 200;
echo $hoge1->num;

とした場合、
PHP4.3.10では 100 が
PHP5.1.2 では 200 が返されました。

PHP5で仕様が変わったのでしょうか?
マニュアルのどこかに記載がありましたら教えてください。
0716nobodyさん2006/03/11(土) 18:56:25ID:???
糞にくそみそに言われたorz
0717nobodyさん2006/03/11(土) 19:07:03ID:???
>>715
PHP5ではオブジェクトはデフォルトで参照渡し、
PHP4では値渡し(コピー)。
0718nobodyさん2006/03/11(土) 19:07:44ID:???
>>715
代入演算子の扱いが変わってる
cloneで調べろ
0719nobodyさん2006/03/11(土) 19:53:28ID:???
>>708
他人のスパゲッティーコードは困るな。
まあ、ロジック読むとこまでは訓練でなんとかなる。がんばれ
0720nobodyさん2006/03/11(土) 20:39:49ID:???
>>710
それくらいならまだまし
Javaでも二次元キーのハッシュはよく作るから。
List key = new ArrayList<String>();
key.add("book");
key.add("sound");
Map map = new HashMap<List, Integer>();
map.put(key,123);

key = new ArrayList<String>();
key.add("paper");
key.add("light");
map.put(key,456);

こんな感じで。


これで5次元のキーでもまあ、どうにかなるだろう。

しかしこれが5次元の配列となるとまた別。
最悪。5次元のキーを持つハッシュではなく配列ってのは読みにくくて超ウザイ。
そんなコードを書いて渡した奴に鉄拳制裁したくなる(できれば経済制裁したい)。
0721nobodyさん2006/03/11(土) 21:01:41ID:???
2次元で十分だなぁ
3次元画像はいらん
0722nobodyさん2006/03/11(土) 21:17:29ID:???
4次元ポケットがほしい
0723nobodyさん2006/03/11(土) 21:35:40ID:???
そこで次元大介ですよ
0724nobodyさん2006/03/11(土) 21:43:45ID:???
高次元理論を証明する公式はPHPで書けますか?
0725nobodyさん2006/03/11(土) 21:48:49ID:???
>>724
( ゚Д゚)ポカーン
07267152006/03/11(土) 23:46:02ID:???
>>717-718
ありゃー
デフォルトの動作が変わってたんですね
ありがとうございました
0727nobodyさん2006/03/12(日) 00:09:02ID:yHHsI6Ak
echo '高次元原理を証明する公式';
0728nobodyさん2006/03/12(日) 00:24:10ID:d4WSeAj/
strip_tagsで、複数のタグを取り除きたい場合、どのように指定すればいいですか?
例(1つ)->strip_tags($str,'<Font>');
例(2つ)->strip_tags($str,'<Font><b>');?
0729nobodyさん2006/03/12(日) 00:26:02ID:???
strip_tagsはあまり使わないほうがええよ
0730nobodyさん2006/03/12(日) 00:36:59ID:???
>>728
自分で回答してんじゃん。何故、1度でも試してから質問しない?
>>729
なんで?
0731nobodyさん2006/03/12(日) 01:04:24ID:???
>>729
への?
0732nobodyさん2006/03/12(日) 11:19:33ID:???
error_reportingのE_STRICTって
error_reporting関数では設定できないの?
E_ALLまでは指定できるけどE_STRICTだけ有効にならない
0733nobodyさん2006/03/12(日) 11:43:11ID:???
>>732
環境くらい書けと。
error_reporting(E_ALL | E_STRICT);
ちなみにE_STRICTはPHP5.0から
0734nobodyさん2006/03/12(日) 11:54:05ID:???
>>733
すんません、できるはずなんですね。
PHP5.1.2なんですが、
error_reporting(E_ALL | E_STRICT);
としても
error_reporting(4095);
としても有効にならないっす
httpd.confかphp.iniならできるんだけど・・・
0735nobodyさん2006/03/12(日) 13:20:13ID:???
>>734
一応確認するが、どうやって有効になったかしらべてるの?
07367322006/03/12(日) 17:42:38ID:???
>>735
class Hoge {
var aaa;
}

って書いてるけど・・・
0737nobodyさん2006/03/12(日) 22:33:58ID:???
メンテ前提なら、phpとかperlの仕様で発注しちゃ駄目だよ。
CとかJavaで発注かけないと。

phpとかperlは仕様書見て作り直しが基本。
07387322006/03/13(月) 00:30:59ID:???
E_STRICTは実行前のコンパイルのときに報告されるので
コンパイル後に
error_reporting(xx)
でE_STRICTを有効にしても
時すでに遅しってことのようですね。
失礼しました
0739nobodyさん2006/03/13(月) 06:00:06ID:???
$moji = "おはようございます。さいきん暖かくなりましたね";

↑
変数の最初の10文字だけ取得したいのですが
適切な関数はないでしょうか?
0740nobodyさん2006/03/13(月) 06:16:49ID:???
>>739
くだ質行き。

mb_strcutかmb_substr、場合によってはmb_strimwidthも便利。
0741nobodyさん2006/03/13(月) 07:29:03ID:???
マニュアルも読まない野郎が多すぎ
0742nobodyさん2006/03/13(月) 07:58:53ID:???
●マルチバイト文字列関数
 http://www.php.net/manual/ja/ref.mbstring.php

●日付・時刻関数
 http://www.php.net/manual/ja/ref.datetime.php

●配列関数
 http://www.php.net/manual/ja/ref.array.php

●正規表現関数
 http://www.php.net/manual/ja/ref.pcre.php

これくらいは読めヽ(`Д´)ノ ウワァァァン
0743nobodyさん2006/03/13(月) 13:10:52ID:???
比較的使用頻度の低いカテゴリの関数はまぁしょーがないかなと思うけど、
どう考えても1度は目を通しとかないとPHPプログラマとしてまずかろう、って
レベルの基本の内容すら目を通してない連中がごろごろいるってのがなぁ…
0744nobodyさん2006/03/13(月) 13:43:15ID:???
> どう考えても1度は目を通しとかないとPHPプログラマとしてまずかろう

って誰が判断するんだろう。
0745nobodyさん2006/03/13(月) 13:50:28ID:???
いきなり書き始めても、困ったらそこを読む代わりに
このスレに書く、ということですな。
0746nobodyさん2006/03/13(月) 14:47:15ID:???
>>744
そんなん自分だろ。
その自分が目を通すか通さないかの敷居を低くしていくと、
全体的なレベルが下がるから困るとも言いたいんじゃないか?
0747nobodyさん2006/03/13(月) 19:00:58ID:???
fopen()などでURLを引数に使うためにはallow_url_fopenを使いますが、こういったアクセスで
タイムアウトを設定することはできますか?

いつまでもページ全体が表示しないのはまずいので、つながらないときはエラーでもいいから
早めに諦めてほしいのです。
0748nobodyさん2006/03/13(月) 19:02:04ID:???
あ、しまった。マニュアル読んだつもりだったけど見落としてた
「ファイルシステム関数」にモロに書いてました・・・
0749nobodyさん2006/03/13(月) 19:44:33ID:???
php検定試験ぐらい有志が行って、スキルを保証すべきじゃねえの?
なんか
php出来ます=低スキル、低単価、案件失敗確実
って風評が広まってる悪寒。
0750nobodyさん2006/03/13(月) 19:46:15ID:???
PHPできるよりCやC++、Javaができる方が重宝されるっしょ。
仕方ない事だと思うよ。
0751nobodyさん2006/03/13(月) 20:04:43ID:???
>>749
ま、あまり間違って無いしな、それ
0752nobodyさん2006/03/13(月) 20:09:07ID:???
>>749
事実だし
0753nobodyさん2006/03/13(月) 20:37:44ID:???
C,C++,Javaに限らず、他の言語で普通にプログラムが出来る奴は
phpの文法、ロジックなんか簡単にマスター出来るでしょ。
http的な事でとまどう事は有るだろうけど。
むしろphpしか出来ないエンジニアなんて皆無に近いんじゃマイか
0754nobodyさん2006/03/13(月) 20:44:21ID:???
結構いるぞ >PHPしかできないやつ
0755nobodyさん2006/03/13(月) 20:44:28ID:???
PHPしかできない奴はウザイがな
確かに。Perlしかできないやつのほうがマシ
0756nobodyさん2006/03/13(月) 20:45:30ID:???
PHPしかできないって、webデザイナ上がりの厨房だろ。
PHPだけでなんでもかんでも作ろうとする原理主義者に
はなってもらいたくはないな。辞めて欲しいんだが。
0757nobodyさん2006/03/13(月) 20:52:57ID:???
酷いとこじゃ事務上がりに無理やり作らせてるよな >商用Webサイト
0758nobodyさん2006/03/13(月) 21:20:14ID:???
それだけ優れた言語とも言えるな
大規模開発だけがプログラムじゃないし

っていうかここなんてスレ?
0759nobodyさん2006/03/13(月) 21:27:13ID:???
ちょっとしたのならいいが、
大規模化するとやばいぞ。
それでプログラミングなんて
馬鹿でもできるなんて迷信が広まったら最悪だ。
ただでさい東証システム事件でやばいことになって
本気でIT=虚業だとほざく馬鹿やマスコミまで出てきているというのに。
情報処理学会がそれを危惧して
こんな発言をしているぞ。

2005年後半から2006年初頭にかけての事件と情報教育の関連に関するコメント
http://www.ipsj.or.jp/12kyoiku/statement2006.html
「情報システムの理解不足は、国に重大な影響を及ぼす」、情報処理学会が見解表明:ITpro
http://itpro.nikkeibp.co.jp/article/NEWS/20060307/231860/
0760nobodyさん2006/03/13(月) 22:05:53ID:???
えー・・・phpしか出来ない奴なんていないだろ、と書いた後で
皆さんのレスを見ていてphpしか出来ない自称PGの起こした事件を思い出しました。

DTP上がりのphp房が集客系のシステムで客に一番初期のXServe台、
シグマリオン1台、開発用のPB一台買わせたあげくに開発失敗してトンヅラしたとかだっけ・・・
アレたしかphpで<a href="">のhrefの中身が全部ハードコーディングしてあって
びびった事が有ったの思いだした。。。
テスト環境から本番環境に移行するのにどうやったんだろうなぁ。
エディタで書き換えたんだろうか。sedなんか使えるとは思えないし。

で、被害者から相談されてそのPGに設計書か仕様書を出せ、と言ったら
「webシステムには設計書というものは通常出さないものだ」
とか言ってた・・・
着手前に要件定義書を出さない・出せない人はやばいよねぇ。ていうか有り得ないんだけど。

いや、もうホントスレチガイも甚だしいですね。スマン子
0761nobodyさん2006/03/13(月) 22:15:42ID:qnB47IGO
みんな2ちゃんねる素人だから知らないと思うけど
こういうねたはプログラマ板ってところでやるんだよ。
0762nobodyさん2006/03/13(月) 22:16:48ID:???
>>760
いやなこった。
そんなPHP厨がこの業界に繁殖するなんてな。
プログラマの価値が下がる。
ちゃんとソフトウェア工学も理解できない奴が
偉そうにするんじゃねえよっていいたい。
0763nobodyさん2006/03/13(月) 22:59:48ID:???
>>760
なにPHPしか出来ない俺に言ってんの?
誰だって最初は一個しか書けないんじゃないのかよっ!

>>762
は>760のどこに反論してるのか分かりません。 ><
っていうかソフトウェア工学ってなに?必須?
0764nobodyさん2006/03/13(月) 23:10:39ID:???
どの言語が出来ても所詮プログラマ
0765nobodyさん2006/03/14(火) 00:39:01ID:???
おらPHPしか出来ない趣味グラマ
0766nobodyさん2006/03/14(火) 03:24:27ID:PRYzuNfa
ファンの希望をかなえてくれる女の子が真のアイドルなんだよ
0767nobodyさん2006/03/14(火) 03:48:19ID:???
php できます♥とかいうアイドルはいないものか。
0768nobodyさん2006/03/14(火) 04:37:37ID:???
なんで質問スレがマ板になってるの?
0769nobody2006/03/14(火) 05:21:47ID:l+upm9sf
PHPを学び始めたばかりです。「独習PHP」という本を使って勉強しています。自宅サーバでapacheを使っています。

ちょっと つまづいてしまって先に進めない状態です。
file1.php
<html>
<head>
<title>スーパーグローバル変数
</title>
</head>
<body>
<form method="POST" action="file2.php" enctype="multipart/form-data">
ファイルのパス:
<input type="file" mame="upload" size="50" />
<input type="submit" value="アップロード"/>
</form>
</body>
</html>

file2.php
<?php
move_uploaded_file($_FILES['uploaded']['temp_name'],
'./doc/'.$_FILES['uploaded']['name']);
print('アップロードに成功しました');
print ($_FILES['file']['error']);
?>

という2つのプログラムを実行すると、「アップロードに成功しました」と表記はされるのですが、実際に/samples/chap2/docにアップロードされているかどうかよくわかりません。chap2の下にdocというファイルができるのでしょうか?
また、print ($_FILE['file']['error']); を記述いているのに返答がありません。なにかまちがっているんでしょうか?
どなたか 教えてください。


0770nobodyさん2006/03/14(火) 05:48:46ID:???
>>769
あなたが書いたのは、HTMLか、XHTMLか、どっちだ?

話はそこからだ。
0771nobodyさん2006/03/14(火) 06:04:05ID:???
ということにしたいのですね?:)
0772nobodyさん2006/03/14(火) 06:38:42ID:???
>>769
質問する前に、自分の書いたスクリプトに本当に間違いがないかちゃんと確認した?
HTMLの文法はそれで本当に間違いはないの?
スペルミスはない?

ここまで言っても相変わらず「どこがまちがってるのか分からない」って言っているようじゃ
申し訳ないけどWebプログラミングの素質は全くないよ。
あるいは、いつまで経ってもこういうスレの存在がなければまともに一仕事できない
赤ん坊のままだね。

もうちょっと自分自身の力だけで頑張ってみなよ。
0773nobodyさん2006/03/14(火) 07:15:01ID:???
>>769
自宅サーバなら簡単に確認できるだろ
0774nobodyさん2006/03/14(火) 07:21:36ID:???
>>769
そのスクリプトに間違いがあるかどうかには関知しないが、
PHPのHTTP POSTによるファイルアップロードの処理は
マニュアルの以下にまとまっている。
http://www.php.net/manual/ja/features.file-upload.php

テンポラリにアップロードされてから、任意の場所に移動
という手順を踏むことや、注意すべきポイントが解説されているので
解説本だけで済まそうと思わないで、マニュアルも併読すること。
0775nobodyさん2006/03/14(火) 07:25:45ID:???
解説本やマニュアルだけで済まそうと思わないで、php エンジンのソースコードも
併読すること。
07767742006/03/14(火) 07:36:40ID:???
UserNotes読んでたんだが、
アップロードのファイルを監視して進行状況を提供する改変パッチ
http://www.modphp.org/viewtopic.php?p=325
これ結構面白いな。
0777nobodyさん2006/03/14(火) 07:41:26ID:???
>>775
マニュアルは一応"仕様"と見なしていいから、
PHP(ZE)のソースの併読はいらんよ。
必要があった時に読めばいい。バグリストもな。
0778nobodyさん2006/03/14(火) 08:35:18ID:???
>>777
んなこと言ってっから成長せんのだよ
0779nobodyさん2006/03/14(火) 08:40:59ID:???
>>778
んな余計な事やってるから仕事が鈍いんだよ
0780nobodyさん2006/03/14(火) 08:45:43ID:???
おお。きたきた。
0781nobodyさん2006/03/14(火) 08:53:09ID:???
仕事なんて、適当にスパゲッティの山を仕上げればええやん。
0782nobodyさん2006/03/14(火) 09:23:55ID:???
仕事であのコードはまずいだろう・・
0783nobodyさん2006/03/14(火) 10:58:08ID:???
>>769
「アップロードに成功しました」って…
成功したかどうか判別もしないで必ずそう表示するように作ってるんじゃん。
それって自分で作ったのか?それともサンプル?
もしもそれがサンプル通りならその本捨てれ。参考書になってない。
0784nobodyさん2006/03/14(火) 10:58:35ID:???
>>769
mame="upload"
まめ・・・
0785nobodyさん2006/03/14(火) 11:15:07ID:???
>>769
'doc'はファイル名じゃなくディレクトリだろ。事前に作っておかないと動かねーし。
0786nobodyさん2006/03/14(火) 11:55:03ID:???
> 仕事であのコードはまずいだろう・・

仕事ってもいろいろあるんじゃない?w
0787nobodyさん2006/03/14(火) 14:08:10ID:1kXYSwK7
>>784が既に指摘している通り
<input type="file" mame="upload" size="50" />
mame→nameが正しい

だがここを直したところで

move_uploaded_file($_FILES['uploaded']['temp_name'],
'./doc/'.$_FILES['uploaded']['name']);
HTML内ではuploadだったのに、ココに来て'uploaded'となってはそんな変数ありませんだ。

更にだ。
$_FILESに'temp_name'なんて配列の要素抱えてない。
正しくは'tmp_name'な。
docディレクトリは自分でまず作って置いてパーミッションは777にするように。
0788nobody2006/03/14(火) 16:46:49ID:l+upm9sf
769です。

みなさん返事書き込みありがとうございました。

おかげで動きました。あと、いろいろアドバイスありがとうございます。
プログラムが動いたことがとってもうれしいです。
0789nobodyさん2006/03/14(火) 16:54:25ID:???
PHP+SQLの質問です。
SQLのレコードにある特定の文字を消去するためPHP側より
select trim(leading '文字' from フィールド)from テーブル
というSQL文を発行して特定の文字を消すのですが、
消去した後のフィールドを配列として格納したいのですが、うまくいきません。
教えて頂けないでしょうか。
当方はmysql_fetch_arrayで試しているのですが間違いですか?
0790nobodyさん2006/03/14(火) 18:38:57ID:???
> うまくいきません。
うまくいかないのは分かったが、エラーは出てないのか?
MySQL側。
0791nobodyさん2006/03/14(火) 20:07:46ID:???
>>789
そんな質問じゃ誰も答えられん。
何がどう上手くいかないのか具体的に書かないと。
0792nobodyさん2006/03/14(火) 21:43:36ID:???
>>5
0793nobodyさん2006/03/14(火) 22:52:59ID:???
>>789
試しにやってみたけど普通にmysql_fetch_arrayでもmysql_fetch_assocでも配列に取得できたよ
ただ、arrayを数値indexで取得するんではなく、assocで取得してるんだとしたら、
キー文字列は「trim(leading '文字' from フィールド)」というそのまんまになって、
元のフィールド名では取得できないです。念のため。
0794nobodyさん2006/03/15(水) 00:00:56ID:???
>>769
親切に教えてもらって、プログラムが期待通りに動いてよかったですねー。
ただ、一言だけいわせてもらうと、

このスレを通じて「あなた自身」は何を得たんですか?

プログラムが動いた、だけで終わったのであれば、それは非常に残念なことです・・・。
0795nobodyさん2006/03/15(水) 00:05:13ID:???
>>769が何を言いたいかというと、どこをどうやったら動いたのかくと他の人にも参考になるから書いてねって事。
質問者としてのマナーだね、オラも賛成
07967952006/03/15(水) 00:07:59ID:???
あぁ、>>794はそういう事言ってんじゃないのかな・・。
まぁ、とにかくどこが悪かったか書く事で、次何を気をつけるべきか分かるから書け。
0797nobodyさん2006/03/15(水) 00:13:19ID:???
>>796
>794はこのスレを通じて人生を学べって言いたいんだよ。
0798nobodyさん2006/03/15(水) 02:01:59ID:???
俺は綾波よりアスカ派なんだよ!!!!!
コアの話はいいから早く集計するんだ。

>>762
うp
07997982006/03/15(水) 02:03:01ID:???
誤爆です。気にしないでください。
0800nobodyさん2006/03/15(水) 02:03:22ID:???
僕の大好きなあるぇ〜♪
0801nobodyさん2006/03/15(水) 02:04:15ID:???
誤爆にボケかました俺はどうすれば。
0802nobodyさん2006/03/15(水) 02:11:38ID:???
>>798
このツンデレ好きがっ!!
0803nobodyさん2006/03/15(水) 02:38:55ID:???
アスカはツンデレじゃなくてただのツン
0804nobodyさん2006/03/15(水) 02:51:35ID:???
女を分かってねぇなぁ・・
0805nobodyさん2006/03/15(水) 02:54:43ID:???
うるせぇボケここはPHPのスレだぞあんたばかぁ  ('A`)
0806nobodyさん2006/03/15(水) 03:15:04ID:???
>>794-の流れどうにかしてくれ。




腹がよじれるwww
0807nobodyさん2006/03/15(水) 15:30:04ID:???
茶吹いて部下にかかっちまったwwww
0808innoDB限定2006/03/15(水) 20:57:26ID:???
おまいらはDBに書き込むとき
commitしてるのか?

autocommitでいいんじゃないかと・・・
0809nobodyさん2006/03/15(水) 21:30:21ID:???
コミットさ〜〜〜〜ん
0810nobodyさん2006/03/15(水) 22:18:04ID:???
>>808
個人で作る分にはautocommitで十分
0811nobodyさん2006/03/15(水) 22:28:40ID:???
アーシェたん(´д`)
0812nobodyさん2006/03/15(水) 22:30:54ID:???
すみません
セミプロの場合はどちらでしょうか
アクセスはけっこうあります
0813nobodyさん2006/03/15(水) 23:12:31ID:???
アクセス量の問題でなく、安全性や障害時の対応方法などを検討した上で
ロールバックのタイミングを制御したかったら任意にcommitしろ、って感じじゃね?
0814nobodyさん2006/03/15(水) 23:13:33ID:???
>>812
お金を取るなら、ちゃんとしとき。
0815nobodyさん2006/03/16(木) 00:33:14ID:???
コミットされる前のデータが消えてもいいかどうかでしょ。
消えちゃダメなら、パフォーマンス堕ちてもコミットすべき。

アニヲタキモい。

php案件は特にゴミなスキルの香具師が多い。
PG落ちと、喰えないデザの掃き溜め。
0816nobodyさん2006/03/16(木) 00:54:33ID:???
SOAPについて質問
serializeしたオブジェクトをSOAPサーバに送って
戻すと、unserializeできないデータになってる

回避方法ある?
0817nobodyさん2006/03/16(木) 07:07:14ID:???
>>815
永遠の雇われ人、乙wwwwwwwwwwww
0818nobodyさん2006/03/16(木) 09:15:21ID:???
>>815
自分の事か?

普通はトランザクションを考えて選択だろ。
08197892006/03/16(木) 09:19:37ID:pVLzTb9p
いろいろと指摘をいただきましてありがとうございます。
それと質問をしておきながら、来れなくてすみません。
SQLエラーが出るわけではなく、配列に格納できてないみたいです。

$rst = mysql_query("select trim(leading '文字' from フィールド)from テーブル",$db);

while($log = mysql_fetch_array($rst)){

という具合に特定の文字を消去したフィールドを$logに配列としていれようとしているの
ですが、ためしに$logを出力すると全て空白になっています。
ここで失敗をしているのかと・・
0820nobodyさん2006/03/16(木) 09:24:02ID:???
SQLレベルでselect trim(leading '文字' from フィールド)from テーブルするとどんなデータが出てくるの?
08217892006/03/16(木) 09:28:50ID:???
特定の文字が消去されたフィールドが一覧で出ますので、問題は無さそうです。
08227892006/03/16(木) 09:42:25ID:???
$log[0]
に全部のデータがありました・・
0823nobodyさん2006/03/16(木) 11:03:00ID:Fw1s0gZF
PHP初めて3日の雑兵です。
本をみながらPHPを組んでいたのですが、ページ遷移の仕方が良く分かりません。
画面構成は

テキスト
消えるテキスト
消えるボタン

と、ある画面で、ボタンを押すと、

テキスト
新しいテキスト

となるようにしたいのです。
08248232006/03/16(木) 11:03:57ID:Fw1s0gZF
<?php

echo "<html>";
echo "<head>";
echo "<title>テストファイル名 t.php</title>";
echo "</head>";
echo "<body>";
echo "<center>";
echo "文字列 ここにはタイトル ここは残したい";
echo "<br>";
if (!(isset($PageingProcess)))
{
echo "<form action='t.php' method='post'>";
$PageingProcess=True;
echo "☆ テキスト<br>";
echo "<input type='hidden' name='PageingProcess' value='{$PageingProcess}'>";
echo "<input type='submit' value='☆ ボタン'><br>";
echo "</form>";
}
if ($_POST['PageingProcess'])
{
echo "ボタンを押したら☆ テキストと☆ ボタンが消えてかわりにこれが表示されてほしい";
}
echo "</body>";
echo "</html>";

?>

汚いソースですが、よろしくお願いします。
08258242006/03/16(木) 11:46:00ID:Fw1s0gZF
大事なことを書き忘れていました。
バージョンはPHP5.1.2 Apache2.0.55 環境はLocalhostです。
0826nobodyさん2006/03/16(木) 12:07:06ID:???
>>824
>if (!(isset($PageingProcess)))とif ($_POST['PageingProcess'])が
整合性が取れてない 。$_POST[]で合わせる。

>$PageingProcess=True;
>echo "<input type='hidden' name='PageingProcess' value='{$PageingProcess}'>";
boolから文字型への変換が掛かり{$PageingProcess}は1という文字になるよ。
問題はないけど一応留意。
08278242006/03/16(木) 12:22:00ID:Fw1s0gZF
>>826
指摘の点、修正してみましたところ期待通りに動作になりました。
このサンプルをフィードバックしてメインのPHPに実装します。
ありがとうございました!
08287892006/03/16(木) 13:58:08ID:???
自己完結できました
配列には既に格納されていたらしく、sqlにアップする際の問題でした
お騒がせして済みませぬ
0829nobodyさん2006/03/16(木) 15:18:39ID:???
>>828
>>819 > ためしに$logを出力すると全て空白になっています。
ってのが根本的に勘違いだったようだが、どうやって出力してたんだ。
820の「$log[0]にあった」ってのも、逆に聞きたいんだが、
selectでカラムを1個しか指定してないのに[0]以外のどこに入るというのかと。
0830nobodyさん2006/03/16(木) 17:44:24ID:???
ひとまずデバッグプリントは
print_r か var_dump でやろうな。
0831nobodyさん2006/03/16(木) 18:51:04ID:???
var_export も
0832nobodyさん2006/03/16(木) 20:06:24ID:???
フィールドが一覧で出ますので、問題は無さそうってのが間違い。
その出て来たデータの文字コード上の問題は無いのかを調べ無いと。
配列に入れて変換すると消える文字コードも有るだろうが、禿。
0833nobodyさん2006/03/17(金) 02:00:12ID:???
普通に記述したHTMLを標準出力だけじゃなくて、ファイル書き出しも
できるようにしたいんですが、どうしたらいいんでしょうか?
バージョンは4です。
0834nobodyさん2006/03/17(金) 02:23:00ID:???
>>833
http://jp.php.net/manual/ja/ref.outcontrol.php
0835nobodyさん2006/03/17(金) 11:21:25ID:???
フォームからファイルをアップロードする際に、アップロード中にファイルが現在何メガまでアップロードされたかを取得する方法はありませんか?
0836nobodyさん2006/03/17(金) 11:25:53ID:???
英数字以外の文字を取り除く関数はありませんか?

aあbcい12う3え.
↓
abc123.
0837nobodyさん2006/03/17(金) 11:55:36ID:???
そのピリオドは英数字なのね。
ereg_replace("[^A-Za-z0-9\.]", "", "aあbcい12う3え.");
0838nobodyさん2006/03/17(金) 11:57:45ID:???
\\. だった
0839nobodyさん2006/03/17(金) 12:20:40ID:???
>>837-838 サンクス。
0840nobodyさん2006/03/17(金) 12:29:51ID:???
>>837
<?php
$str = "123"; //Shift JIS全角数字
echo ereg_replace("[^A-Za-z0-9\.]", "", $str); //PQR
?>
0841nobodyさん2006/03/17(金) 12:55:05ID:???
SJIS禁止
0842nobodyさん2006/03/17(金) 13:46:13ID:???
まあSJISつうか、全角気にするならmbつけるっしょ
0843nobodyさん2006/03/17(金) 13:47:47ID:???
記号を含むならともかく英数字だけなら問題ねーべ
0844nobodyさん2006/03/17(金) 13:49:50ID:???
SJISはメールにする時に嵌るよ。最初からJISで扱うように作るべき。
0845nobodyさん2006/03/17(金) 13:52:34ID:???
文字コードを気にしたくないならアメリカに移住しろ
0846nobodyさん2006/03/17(金) 13:59:05ID:???
>>844
こないだHTMLをJISで出力してるサイトを見たが
あれはお前の作ったものか!?
IEが自動判別できなくて表示バケまくり…
0847nobodyさん2006/03/17(金) 17:11:21ID:???
>>835 タイミングがいいな、偶然かなww

アップロードの進捗を表示しつつアップロードするサンプル
http://phpspot.org/blog/archives/2006/03/post_50.html
0848nobodyさん2006/03/17(金) 17:24:24ID:???
>>847
へ〜。面白いな。ajaxで保存の進行状況を把握するのか…
0849nobodyさん2006/03/17(金) 22:14:42ID:duB6JjQA
PHP4.4.2 Windowsです。

preg_replace('/((?:s?https?|ftp):\/\/[-_.!~*\'()a-zA-Z0-9;\/?:@&=+$,%#]+)/i', '$1$1', '<a href="http://example.com/">');

としてやると、どうやらhttp://example.com/">までマッチしてしまっているようです。
Perl5.8.7ではhttp://example.com/までのマッチと、正常動作しているのですが、PHPで正常動作させることは出来ないのでしょうか。
0850nobodyさん2006/03/17(金) 22:20:14ID:???
>>849
4.4.2 for Winで実行してみたが「http://example.com/」部分しかマッチしない。
print preg_replace('/((?:s?https?|ftp):\/\/[-_.!~*\'()a-zA-Z0-9;\/?:@&=+$,%#]+)/i', '[$1][$1]', '<a href="http://example.com/">');
で実行結果が
<a href="[http://example.com/][http://example.com/]">
になったよ。
0851nobodyさん2006/03/17(金) 22:25:10ID:???
>>849
Windows98?
0852nobodyさん2006/03/17(金) 22:29:54ID:???
え。Win98のPHPって挙動違うのか?初耳だぞ
0853nobodyさん2006/03/17(金) 22:32:28ID:???
漏れが実装してる鯖ではhttpヘッダで charset=ISO-2022-JPって返してるよ。
おまいの実装ではhttpヘッダで何も返さないからcharset=ISO-8859-1が指定された事に成ってる。
HTTPのRFCぐらい嫁。

ajax切ってある(w
08548492006/03/17(金) 22:34:46ID:???
>>850-851
直前でhtmlspecialcharsをかけていたのが原因でした。
ENT_NOQUOTESを掛けたつもりでいたのですが、ENT_QUOTESになっていました。

ご迷惑おかけしました。すみません。
0855nobodyさん2006/03/17(金) 22:35:03ID:???
アンカーくらい付けれ
0856nobodyさん2006/03/17(金) 22:38:08ID:???
PHPで
0857nobodyさん2006/03/17(金) 23:02:44ID:???
をやりたいのですが、うまくいきません。ご教授ください。
0858nobodyさん2006/03/17(金) 23:50:06ID:???





とすればうまくいきます。試してみて下さい。
0859nobodyさん2006/03/18(土) 02:20:05ID:???



が私からのお礼です。
どうかお納めください。
0860nobodyさん2006/03/18(土) 11:51:29ID:???
裸の王様?
0861nobodyさん2006/03/18(土) 14:47:56ID:???
Yahooやlivedoorなどのような大規模サイトでのユーザ認証は、どのようにされている
か想像で良いので教えて頂けませんか?

LDAP,Radiusのようなものを使っているのか、DBの中で管理しているのか…
0862nobodyさん2006/03/18(土) 15:07:47ID:???
userアカウントを作って認証してんじゃないのかなぁ。
そんな気がする。
0863nobodyさん2006/03/18(土) 15:47:55ID:???
>>862
*nix系の標準のユーザアカウントですかね。
それだと沢山のWebサーバやDBやサービスが出てきた時に一元管理できなくなるような
気がして…
PHPから*nix系アカウントを利用している実装って見たことないんですけど、
ご存知であれば教えてもらいたいです。
0864nobodyさん2006/03/18(土) 15:52:56ID:???
信じるなよ
0865nobodyさん2006/03/18(土) 16:01:33ID:???
>>861
PEARのAuth_HTMLって知らない?
それを調べて使ってみれば大雑把なイメージはできると思う。
もちろん、大規模サイトでは独自のロジックを使用しているとは思うけれど。
0866nobodyさん2006/03/18(土) 16:02:19ID:???
このあいだ、とあるISPのユーザ管理システムのWebインターフェイスを作ったけど、
データベースはLDAPだったよ。まぁ、ユーザ数はYahooの足下にも及ばないけどね。
なんでもISPではLDAPを使うところが結構あるらしいよ。

ただ、LDAPはそもそもは単なるディレクトリデータベースだから、
ユーザーごとのいろんな情報を分類して入れとくのに便利ってだけで、
認証とは直接関係ないけどね。
08678652006/03/18(土) 16:09:23ID:???
要するに、DBのはず。
0868nobodyさん2006/03/18(土) 16:14:28ID:???
>>865
> PEARのAuth_HTMLって知らない?
名前だけは知ってましたけど、そういう目的に利用できるものなんですね…
PEAR::Auth で Auth_LDAPとかもあるみたいですね。
ドキュメントは少なそう…PEAR本買うかな…

>>866
LDAPは認証関係ないんですか。認証ログとかの取り扱いもしてないんですかね。
Radiusもちょい調べてみたら、php-radiusとかあるんですね。

0869nobodyさん2006/03/19(日) 03:03:07ID:???
echo に 下記のcolor属性を追加するとうまく動作しなくなります。
echoを使う際のhtmlの書き方は下記のもので合ってるんですかね? 

echo "<table color="#EFEFEF">\n";
0870訂正2006/03/19(日) 03:04:20ID:BDJY4Umc
echo "<table bgcolor="#EFEFEF">\n";
0871nobodyさん2006/03/19(日) 03:13:48ID:???
echo '<table bgcolor="#EFEFEF">';
08728692006/03/19(日) 03:14:02ID:BDJY4Umc
試しにダブルクオーテーションをはずしたら上手くいきましたorz
意味ワカンネ。。
echo文の中ではダブルクオーテーション使っちゃいかんの?;
0873nobodyさん2006/03/19(日) 03:15:39ID:???
>>871
トンクスです
0874nobodyさん2006/03/19(日) 03:19:02ID:???
> echo "<table bgcolor="#EFEFEF">\n";

PHPの中の人
1. echoキター 文字列キボンヌ
2. " をハケーン。文字列の開始キター
3. <table bgcolor= ここまで読んだ
4. " キター。文字j列終了sage
5. # !? 何コレキタ?
6. ワケワカンネ(;´Д`)
7. エラーage
0875nobodyさん2006/03/19(日) 03:24:49ID:???
わきゃりやすい。
0876nobodyさん2006/03/19(日) 04:21:44ID:???
>>872
echo関係なくて、"〜"の中で"を使うときは\"って書かなきゃダメすよ
0877nobodyさん2006/03/19(日) 08:38:28ID:???
>>874
ワロタ。
0878nobodyさん2006/03/19(日) 16:18:03ID:???
>>869
PHP以前にCかJavaやったほうがいいよ。
0879nobodyさん2006/03/19(日) 16:25:19ID:???
>>878
なにいってんの
0880nobodyさん2006/03/19(日) 16:43:07ID:???
>>879
CやJavaやった方がいいよって言ってるの
0881nobodyさん2006/03/19(日) 17:04:27ID:???
結局エスケープで躓くんだから一緒じゃないの?
0882nobodyさん2006/03/19(日) 17:14:17ID:???
>>861
認証は、DBを使ってます。LDAPは使ってません。
ユーザ名とパスワードをデータベースに入れておき、ログイン時に確認しているだけ。なんの難しいこともやってません。

LDAPは簡単なデータ検索のためのプロトコルです。それが認証という用途でよく使われるだけであり、認証のためのプロトコルではありません。
認証以外では例えば郵便場号を入力すると住所が返ってくるようなLDAPサーバを作ることもできます。

またLDAPはクライアントサーバ型のアプリケーションでは便利ですが、Webアプリではあまり使われません。というか、わざわざLDAPを使う理由がありません。

クライアントサーバでは、ユーザ情報(名前とパスワード)はクライアント側ではなくサーバ側にあるため、認証が必要ならサーバに問い合わせる必要があります。そのときのプロトコルとしてLDAPが使われます。
つまり認証を必要とするアプリと、認証に必要な情報をもっているサーバが別であるため、LDAPのようなプロトコルが必要になります。
例えばメールソフトがメールサーバに接続するときにLDAPをつかって認証を行うという場合がこれにあてはまります。

Webアプリケーションでもユーザ情報がサーバ側にあるのは同じですが、認証を必要とするアプリ自体もサーバ側にあるため、すべてがサーバ側で完結しています。
そのため、わざわざLDAPのようなプロトコルを使って通信をする必要がありません。
ただし、アプリケーションごとにサーバが分かれており、かつユーザ情報を一元管理している場合は、アプリケーションサーバが認証サーバに問い合わせるような形態にすることはあります。
そのときにLDAPを使う可能性はありますが、通常は単なるDBサーバへの通信を使うことが多いです。

Radiusは、通信経路を確立するときに認証を必要とするプロトコルです。
Webアプリでは通信経路はすでにHTTPで確立されているため、Radiusはまったくつかえません。そもそもの用途が違います。
0883nobodyさん2006/03/19(日) 17:34:28ID:???
>>881
つまりエスケープで躓いても、CやJavaのがカバーが手厚い。
間違えた部分を自分で直す為の道が整ってる。
0884nobodyさん2006/03/19(日) 18:40:47ID:???
>>874
たしか#の後はコメントになるはずだから、コレはセミコロン抜けでエラーだろ。
0885nobodyさん2006/03/19(日) 18:51:07ID:???
>>884
だぁね。
<?php echo "<table bgcolor="#EFEFEF">\n"; ?>
ってので試してみると、<table bgcolor= だけ表示されて正常終了する。
0886nobodyさん2006/03/19(日) 19:45:00ID:???
ldap, radiusはレプリケーションが楽ってのが有る。
認証鯖が堕ちたらサービス中断するからね。
DBだとボラクルRACになって金がかかる。

認証をどう使うかは実装次第。
ldapをPPPoEとかの認証に使う実装も有り。ただ重いので、sslもしないでradius認証が一般的。


中の人の声キター!
ハゲワロス。
これスクリプト化して配布すると実用性有るよ。
にちゃんねらのためのPHP入門に収録決定。

ldapがISPで採用されるのは、PPPoEの認証じゃなくて、鯖との認証系。
どこかのradius鯖がladap互換機能も持ってたかも知れないけど。

*nix系の認証はwebminあたりを参考にするといい。
0887nobodyさん2006/03/19(日) 20:08:58ID:???
PHPでも
print qq|<a href="$hoge">hoge</a>|;
が使えたらどんなに楽なことか…
0888nobodyさん2006/03/19(日) 20:25:38ID:???
ユーザーエージェントで振り分けて、includeで、htmlファイルを読み込んで表示させてるのですが、auのWINから複数回アクセスするとタグが裸で出てきます。どうすればいいのでしょうか?
0889nobodyさん2006/03/19(日) 20:29:22ID:???
>>887
ヒアドキュメントという手ぐらいしかないもんなぁ…
print <<<QQ
<a href="$hoge">hoge</a>
QQ;
0890nobodyさん2006/03/19(日) 20:30:27ID:???
>>888
ソースを張るか長ければうpしてみてくれ。
0891nobodyさん2006/03/19(日) 20:42:53ID:4ZTFbIAr
>>890
<?php

$agent=$_SERVER['HTTP_USER_AGENT'];

if(preg_match〜〜

elseif(preg_match("/KDDI\-/",$agent)) {
include ("相対パス");
}
〜
?>
としています。
さきほど言ったように、読み込んでいるファイルは、.htmlです。
0892nobodyさん2006/03/19(日) 21:09:52ID:???
>>889
ヒアドキュメントはインデントが崩れるのがやだなぁ
0893nobodyさん2006/03/19(日) 21:22:53ID:???
>>888
>複数回アクセスすると
ってどういうこと?
0894nobodyさん2006/03/19(日) 21:26:38ID:N7Rtukyk
>>888
キャッシュは無効にしてある?
08958942006/03/19(日) 21:27:45ID:???
ageてしまいました。
ごめんなさい。
0896nobodyさん2006/03/19(日) 21:38:15ID:???
>>887
本当にそうだよなぁ。
0897nobodyさん2006/03/19(日) 21:49:35ID:V+xlGNgJ
strip_tagsで複数指定する場合
strip_tags($unko, '<b><s><p>');

これで合ってますか?
0898nobodyさん2006/03/19(日) 22:06:08ID:???
print qq|<a href="$hoge">hoge</a>|;
できるようにソースを弄れば?
再配布したら主流に成るかもよ。
0899nobodyさん2006/03/19(日) 22:08:56ID:4ZTFbIAr
>>893
アクセスしたあと、携帯の戻るをして、再びアクセスを繰り返すってことです。

>>894
htmlファイルにメタで無効にしてますが
0900nobodyさん2006/03/20(月) 00:40:31ID:???
シングルクオーテーションじゃだめなんかい?>qqとやら
0901nobodyさん2006/03/20(月) 00:41:01ID:???
ああ、変数の展開したいのね
0902nobodyさん2006/03/20(月) 06:35:42ID:???
>>897
>>728-730
0903nobodyさん2006/03/20(月) 06:42:32ID:???
auは普通のブラウザとは全然レベルの違うしつこいブラウザキャッシュを行うんで
その辺でプログラムがどっか誤動作してる気がするなー。
PCやDocomoでは絶対にキャッシュしないだろうパターンでもauでは大抵はキャッシュするよ。
1度戻って再アクセス、という場合だと、まず再アクセス時にはプログラムには実際にはアクセスが入ってない。
auのゲートウェイサーバー上に残ってるキャッシュを再表示してるだけだと思う。

そういう挙動をされた場合にどこがどう誤動作するかは一連のプログラム全体を見ないと正直分からん。
タグがそのまんま表示されてしまう… どっかが抜けたことでヘッダーがtext/plainで認識されてしまうか
どこかで<pre>タグが閉じてない状態になってるのか?
0904nobodyさん2006/03/20(月) 07:57:57ID:???

話し変わってもうすぐ1000だけど
テンプレどうするよ。以前わかりにくいって議論になってたけど
0905nobodyさん2006/03/20(月) 10:38:28ID:???
とりあえず>>1を短く書き直した。(勝手だけど誰かしらやらないと何も変わらないので・・・)

--------------ココカラ--------------
PHP全般の質問スレです。>>2-10も参照。

【基本ルール】
・新規質問の方はageてください。

・2回目以降は最初に質問した際のレス番号を名前欄に入れてください。
(逆に回答者は質問者に対して>>(アンカー)をつけて答えてください。)

・Googleやマニュアルで調べてから質問してください。
(マニュアル:http://www.php.net/manual/ja/)

・解決しなくても答えてもらったら礼を。

・煽り・荒らしは放置。
--------------ココマデ--------------

>>2は過去スレのみで十分かも。
>>3はいらないと思う。誰も見ない上に毎回新スレを立てる時に更新が面倒くさそう。
>>4のFAQは内容はいいけど、妙に分かりづらい印象なのでこれから要再考。
>>5は個人的には記念に残って欲しいけど、スレ立てる人の好きにしてください。

思いっきり独断で書いたので、何か思いついたことがあったら言ってください。
0906nobodyさん2006/03/20(月) 10:52:10ID:???
>>2の過去スレは3〜4個くらいで十分かも。
それ以上古いのはどうせ落ちてるだろうから他のミラーサイトとかで探すでしょ。

--------------ココカラ--------------
<前スレ>
【PHP】質問スレッドpart33【php】
http://pc8.2ch.net/test/read.cgi/php/1140027592/

<過去スレ>
【PHP】質問スレッドpart32【php】
http://pc8.2ch.net/test/read.cgi/php/1136276300/
【PHP】質問スレッドpart31【php】
http://pc8.2ch.net/test/read.cgi/php/1133017632/
【PHP】質問スレッドpart30【php】
http://pc8.2ch.net/test/read.cgi/php/1130190606/
【php】part29【php】
http://pc8.2ch.net/test/read.cgi/php/1120611474/
【PHP】質問スレッドpart28【php】
http://pc8.2ch.net/test/read.cgi/php/1115281031/
--------------ココマデ--------------
0907nobodyさん2006/03/20(月) 11:00:32ID:???
じゃあ俺も。提案は以下
----------------------------------------------------
PHP全般の質問スレです。>>2-10も参照。

【基本ルール】
○新規質問の方は必ずIDを表示させてください。
  書き込む場合はメール欄に何も記述しないでください。

○2回目以降は最初に質問した際のレス番号を名前欄に入れてください。
  (逆に回答者は質問者に対して>>(アンカー)をつけて答えてください。)

○質問の前にGoogleやマニュアルで調べてください。
  (マニュアル:http://www.php.net/manual/ja/)

○解決しなくても回答をもらった場合はお礼を言う。
  (荒らし、煽りは除く)
-------------------------------------------------

>>2はそのまま残したほうがいいと思う。
>>3は全部いらない。
>>4は確かにわかりにくいけど役に立つからそのまま。
>>5は以下
--------------------------------------------------
質問する場合の注意
1. 自分のIDを表示させること。
2. ハードウェア、OSのバージョン等を記述すること。
3. 己の行った操作、変更などを詳しく記述すること。
4. エラーメッセージはそのまま表記すること。
5. 質問者としても態度をわきまえること。

以上を満たしていない質問の場合、
回答は期待しないでください。
0908nobodyさん2006/03/20(月) 11:03:54ID:???
>>905
マニュアルの次ぐらいに

PHPの質問スレ、及びPHPのクダ質問スレのFAQをまとめるサイト
http://wiki.2chx.net/php/ (育成中。まだまだこれから)

入れるてのはどう?
0909nobodyさん2006/03/20(月) 11:48:55ID:???
>>2のリンクにはそろそろZend Frameworkも入れる頃か?

------------------------------
<関連リンク>
■PHP本家(英語) http://www.php.net/
■日本 PHP ユーザ会(日本語) http://www.php.gr.jp/
■メーリングリスト(日本語) http://ns1.php.gr.jp/mailman/listinfo/
■PEAR(英語) http://pear.php.net/
■Smarty(英語) http://smarty.php.net/
■Zend本家(英語) http://www.zend.com/
■Zend Framework(英語) http://framework.zend.com/
■php | architect(英語) http://www.phparch.com/

■本家マニュアル(日本語) http://www.php.net/manual/ja/
■PEARマニュアル(日本語) http://pear.php.net/manual/ja/
■Smartyマニュアル(英語) http://smarty.php.net/manual/en/
■ZFマニュアル(英語) http://framework.zend.com/manual/en/

まだ英語しかないマニュアルも後々/manual/en/を/manual/ja/に変えてみたら日本語があるかもしれません。
------------------------------
09109092006/03/20(月) 11:52:53ID:???
PECL忘れてた。
■PECL本家(英語) http://pecl.php.net/
0911nobodyさん2006/03/20(月) 12:02:00ID:???
リンク集なんかは>>908のところに追加してったらいいんじゃないの?
いちいちテンプレ化しなくても。
0912nobodyさん2006/03/20(月) 12:06:17ID:???
>>911
Wikiさあ、管理人がもっと勢力的に更新しないと誰もついてこないよ。
つーかテンプレにリンク集はほしい。
自分自身はPHPのは使わないけど、例えば新しい言語とか始めるときそのスレにリンク集あるとたどること多いから。
09139122006/03/20(月) 12:07:53ID:???
勢力的って何だ・・・orz
精力的のまちがい。
0914nobodyさん2006/03/20(月) 13:14:36ID:???
>>913
勢力的ってあれだろ。
群集がワー!!っていう
0915nobodyさん2006/03/20(月) 14:02:53ID:???
>>907
・ が ○ になったのはなぜ?w
俺的には ♥ がいいんだが
0916nobodyさん2006/03/20(月) 14:29:56ID:???
「変態!!変態!!変態!!変態!!」

ってやつなんだけど一度見てみたいんだよねー
なんていうかあの1コマ見ただけでゾクゾクしてくるよ!!
いや俺は別にMじゃないんだけどあの表情はわすれられんwwwwwwwwwww
09179162006/03/20(月) 14:30:39ID:???
間違えましたすいません
0918nobodyさん2006/03/20(月) 14:51:55ID:???
>>916
変態!!変態!!変態!!変態!!
0919nobodyさん2006/03/20(月) 15:05:13ID:???
AAか何かか
0920nobodyさん2006/03/20(月) 15:39:15ID:???
>>916
今テンプレの結構重要な話ししてたんだよ。
別に漫画好きが悪いとはいわないけどさすがにこれは無いわ。
本気で悪いと思ってるなら普通うpまでするのが筋だろ。
0921nobodyさん2006/03/20(月) 16:17:25ID:???
FAQちょっと修正+追加してみた。慣れないことをして疲れますた。

【FAQ】
1. ブラウザに何も表示されないんだけど・・・
 → error_reporting()や、php.iniのdisplay_errors、log_errorsを確認
2. include/requireに「〜.php?a=b&c=d」のようなパラメータをつけたい
 → できません
3. $a1, $a2, $a3 ... のような変数名をうまく扱いたい
 → 可変変数で実現できるけど、むしろ配列を使って$a[1], $a[2], $a[3]等とするのがベター
4. echo "$arr['hoge']['fuga']"; がうまくいかない
 → {おっぱい括弧}でくくって"{$arr['hoge']['fuga']}"にする
5. echo?print?
 → echoはコンマ区切りで書けるけど関数ではない。printは関数。パフォーマンスは気にするな
6. 値渡しと参照渡し(「&」を使う)のパフォーマンス
 → この二つはパフォーマンス目的で使いわけたらダメ。よく知らずに参照渡しにすると遅くなったりする
  参照渡しは引数に戻り値を設定したり引数を関数内で変更するなど、正しい目的に使うこと
7. CSVやTSVのファイルをスマートに扱いたい
 → まずはfgetcsv()
8. ファイル入出力関数(fopen等)でリモートファイル(http://〜とか)を扱う際の限界
 → fsockopen()でソケット通信 or PEARのHTTP系 or CURLで解決
  必要ならHTTPをはじめとする各種プロトコル(どんなデータを送受信するか)はRFCなどで調べる
9. 一定時間ごとに何かしたい
 → cron、タスクスケジューラ
10. 画像処理一般 or GDの限界
 → ImageMagick(PECLのやつ or シェルから実行)
09229212006/03/20(月) 16:17:58ID:???
11. 画像・音・動画はファイルで保存?DBに保存?
 → 好きにしてください
12. クッキーの情報をユーザから隠したい
 → セッション使え。ただしクッキーとセッションは仕組みが違うから同じように扱うな
13. このスレに書き込むときに自分のサイト名を晒したくない
 → http://example.com/が例文などのために予約されている
14. SQLの質問はどこで?
 → データベース板に誘導されるのが嫌ならうまくPHPにうまく関連させて質問する
15. 記号の意味がわからないけどググりようがない
 → 「@」 エラー表示を抑制、「->」 オブジェクトのメンバにアクセス
  「==」は暗黙の型変換をしてゆるい比較、「===」は型情報も含めた厳密な比較
16. 文字列のなかに、英字のみとか数字のみとか記号が入っちゃいやんとかはどうしたらいいの?
 → ctype_〜()が手軽。複雑なパターンはpreg_〜()あたりで正規表現を使う。
17. strip_tags()で複数のタグを削除したい
 → strip_tags($html, '<script><style><a><p>'); // htmlspecialchars()も検討すべし
18. そもそもインストールの時点でうまくいかない
 → 確認すべきはPHPのconfigureの引数、php.iniの内容と置き場所、
  Webサーバの設定(Apacheならhttpd.conf)、起動&再起動あたり

あと他に最近よく見かけるのが、ヒアドキュメント系とAU系なんだけど、どう書いていいかよくわからなかったので保留。
つーかケイタイサイト扱ったことないからAUだとどうだとかよくわからん。
ちょっと前にimap系の質問もいくつかあった気がするけどけっこう回答が出てないこともあったかも。
俺もよくわからない。
09239212006/03/20(月) 16:25:41ID:???
やべ、strip_tags勘違いしてた orz
訂正です

17. strip_tags()で削除しないタグを複数指定したい
 → strip_tags($html, '<a><p><font>'); // htmlspecialchars()も検討すべし
0924nobodyさん2006/03/20(月) 16:38:30ID:???
auの質問が多くてもFAQにできるほど定型の回答は無いと思う。
0925nobodyさん2006/03/20(月) 17:08:41ID:???
>>921
これ後半の項目がコア過ぎないか?
0926nobodyさん2006/03/20(月) 17:10:40ID:???
>17. strip_tags()で複数のタグを削除したい
 → strip_tags($html, '<script><style><a><p>'); // htmlspecialchars()も検討すべし

間違ってね?
0927nobodyさん2006/03/20(月) 17:37:13ID:aQx/7UBc
今まで一人しかユーザーが居なくて一人ですべてを管理していたアプリがあるのですが、
管理責任者はすべてのデータを管理し、ほかの管理者はユーザーIDによって担当の
DBを拾い出して管理するという仕組みに変更することになりました。
(ログインするときのユーザー名が管理するDBのIDと同じになると言う設計です)
今までは、ログインすると管理題目一覧が出て、管理題目を選択すると、管理題目詳細に
飛ぶ仕組みでした。
今度は管理責任者は従来どおりなのですが、管理者はログインした時点で管理題目一覧を
飛ばして、管理題目詳細へ飛ぶようにしたいと思っています。
しかし、管理責任者は選択するとき、管理題目をクリックするので、linkラベルを使って飛ばせ
ますが、管理者はログインしたら何もクリック等せずに管理画面詳細に飛ばさなくてはならない
ので、記述の方法で行き詰っています。
if($_POST['kanrisikaku']!='yes'){
//userid.phpに遷移する<この処理の書き方が分からない。
}
useridにあたる部分の生成方法は分かるのですが、分かっているPHPファイルを読ませる方法が
分かりません。
どなたか御教授ください。 お願いします。
09289212006/03/20(月) 17:41:43ID:???
コメントありがと

>>924
そうなのか・・・

>>925
コア過ぎるかな?

>>926
スマソ。>>923で訂正しました。
0929nobodyさん2006/03/20(月) 17:50:28ID:???
>>927
・include 'userid.php'; で読み込む http://php.net/include
・header("Location: $url"); でリダイレクトする http://php.net/header
お好きな方で。
09309262006/03/20(月) 17:50:57ID:???
>>928
スマソ。>>923まったく見てなかったわ。
0931nobodyさん2006/03/20(月) 18:38:39ID:???
一昨日辺りからphpを勉強し始めた者で、計算プログラムを作っているのですが、
(350+x)/100 の様な ()で計算の順番を区切るにはどのようにすればいいでしょうか?
普通にやると当然の如く 350 + (x /100)←の順番で計算されてしまいます。
0932nobodyさん2006/03/20(月) 18:40:33ID:???
なんか文章おかしいですね...
0933nobodyさん2006/03/20(月) 19:02:16ID:???
>>931
まずはうまくいかないコードと結果を書いてみ
0934nobodyさん2006/03/20(月) 19:18:00ID:???
<html>
<head>
</head>
<body>
計算プログラム<br>
<form action="test.php">
テストA:<input type="text" name="testa"><br>
テストB:<input type="text" name="testb"><br>
テストC:<input type="text" name="testc"><br>
<input type="submit" name="bottun1" value="入力">
<input type="reset" name="bottun2" value="リセット">
</form>
<?php
$a = $testa;
$b = $testb;
$c = $testc;
$x = 5;
$z = 100;
print("<br>");
print("計算結果:".( $a * $x + $b / $z * $c )."<br>");
?>
</body>
</html>

ちょっと新しく作っていたら今度は表示されなく・・・。
この同じページに計算結果を表示したいんですけどうまくいきませんな・・・。
print("計算結果:".( $a * $x + $b / $z * $c )."<br>");
の部分を実際の検索方法は ( $a * $x + $b )/ $z * $c こんな感じにしたいんですよ・・・。
0935nobodyさん2006/03/20(月) 19:49:02ID:???
>>934
まずは $testa がきちんと取得出来ているかprintでもしてみなされ
0936nobodyさん2006/03/20(月) 19:51:53ID:???
>>934
>>935が指摘している通り、まずは$aを表示してみる。
それが出来ればあとは簡単。自分で答え書いてるじゃない
0937nobodyさん2006/03/20(月) 20:43:08ID:???
>>934
> print("計算結果:".( $a * $x + $b / $z * $c )."<br>");
> の部分を実際の検索方法は ( $a * $x + $b )/ $z * $c こんな感じにしたいんですよ・・・。
ならそのまんま
> print("計算結果:".( ($a * $x + $b) / $z * $c )."<br>");
って書けばいいじゃない。
0938nobodyさん2006/03/20(月) 20:50:51ID:???
学校の宿題もいいけど、自分で考えて試してから聞いて欲しいと思う今日この頃
0939nobodyさん2006/03/20(月) 21:12:23ID:???
春の風物詩
0940nobodyさん2006/03/20(月) 21:15:47ID:???
テンプレFAQに
19.学校の宿題を教えてください
 →くだらない質問スレで歓迎します
って入れとくか。
0941nobodyさん2006/03/20(月) 21:24:23ID:???
くだ質でもイラネ
0942nobodyさん2006/03/20(月) 21:30:58ID:???
>>921
一時期多かった質問に
「PHPからPOSTリクエストしたい」ってのがあったね
A:fsockでコネクション張るかPEAR使う


で良いんだっけ?
0943nobodyさん2006/03/20(月) 23:17:05ID:???
何で学校の宿題を他人に丸投げするか不思議でしょうがない。

お前これやっとけよ、と恐喝してるのと結果を見たら変わりが無い。
0944nobodyさん2006/03/20(月) 23:46:50ID:???
>>942
あとcURL。まあ環境によっては使えなかったりするので
fsock、もしくは内部的にそれを利用したPEARのHTTP_REQUESTクラスでOK
0945nobodyさん2006/03/21(火) 00:04:26ID:???
wikiなら管理人任せにしないで弄ればいいんじゃね?

宿題スレと分離汁!
0946nobodyさん2006/03/21(火) 01:14:46ID:???
宿題はこちら
http://pc8.2ch.net/test/read.cgi/php/1139746974/

ってことでどうかね。
0947nobodyさん2006/03/21(火) 03:49:46ID:???
>>942
そういやそうだったかも。回答としては8.と内容かぶるから、

PHPから外部にPOSTリクエストしたい
→ 8.を参照

でいいかも。
0948nobodyさん2006/03/21(火) 04:05:43ID:???
>>945
べつに管理人任せなわけじゃなくて、そもそも現状ではwiki欲しいと思わないからね。
管理人かその同志たちで盛り上げて内容を充実させれば人も寄り付き始めるんじゃないの?
0949nobodyさん2006/03/21(火) 04:22:52ID:???
あのwikiって情報量少ないんだよ。
回答も一行くらいしかないし、わざわざwiki化してる意味がない
0950nobodyさん2006/03/21(火) 05:00:28ID:???
>>922
日本語がおかしい

>14. SQLの質問はどこで?
> → データベース板に誘導されるのが嫌ならうまくPHPにうまく関連させて質問する
0951nobodyさん2006/03/21(火) 09:37:08ID:???
盛り上げて内容を充実させるのは、その情報量少ないと感じるおまいらなんだが。
普通のHTMLだとそこらが管理者任せに成って、困るからおまいらが好きなように弄れると簡単に充実させられるねってのがwiki化してる最大の意味。
おまいらが弄らないなら、わざわざ荒らされやすいwikiにしてる意味ないじゃん。

常に正解を求めるという短絡的な教育政策の成果ですか?
0952nobodyさん2006/03/21(火) 09:51:35ID:???
>>951
だーかーらー、そもそもwikiなんていらないの。
盛り上がらないなら盛り上がらないで全然構わない。

ただ、いまだに執拗に宣伝しにくる人(人たち?)がいるから、wiki推奨派がもうちょっと盛り上げる努力をすればいいのに、ってだけの話。
俺はさびれてるwikiで一人で黙々と貢献するほどお人好しじゃないし、ほかの奴らもだいたい同じだと思ってる。
(現にwikiが全く更新されないのが何よりの証拠)

だから管理人が盛り上げれば?って結論ですよ。
0953nobodyさん2006/03/21(火) 09:58:46ID:???
>>951
なにその他力本願みたいな意見
0954nobodyさん2006/03/21(火) 10:02:37ID:???
オープンソースプロジェクトだって一緒。
作者がいいものを作るためにひたむきに努力しているのが周囲に伝われば自然と人が集まってくる。
他力本願でオープンソースプロジェクトを立ち上げたって誰も手伝わない。
まあある程度の完成度に達しさえすれば途中で作者がやる気をなくしても別の人が引き継ぐってケースはあるけどね。(Mojaviがいい例)
それでも、wikiを「作りさえすれば自動的に誰かがどんどん更新してくれるシステム」だと思って立ち上げたなら大間違い。
0955nobodyさん2006/03/21(火) 10:24:58ID:???
次スレ立てました
http://pc8.2ch.net/test/read.cgi/php/1142903954/

テンプレに関しては出来るだけ各氏を記述を盛り込んで
簡潔にわかりやすくまとめたつもりです。
誤植などあれば訂正してくださると幸いです
0956Wiki編集するお(^ω^)2006/03/21(火) 10:42:14ID:???
Wiki編集したいけど今の仕切り方が嫌いだお
0957nobodyさん2006/03/21(火) 11:20:06ID:???
>>956
どうせ今はあってないようなものなんだし、好きにやっちゃったら。
むしろやって下さい(><)
俺もいじりたいけど、あんなに何もないとやる気がしない・・・。
0958(^ω^)2006/03/21(火) 11:31:39ID:8j/dzNuV
やるからには派手に消すお
YukiWikiしか使ったことがないから失敗したときのために、誰かバックアップしておいてくださいお
時間があく2時くらいから始めるお(^ω^)
0959nobodyさん2006/03/21(火) 11:32:47ID:???
sage忘れスマソ(^ω^;)
0960nobodyさん2006/03/21(火) 11:47:39ID:???
958に期待
0961nobodyさん2006/03/21(火) 11:48:34ID:???
>>958
バックアップなんかいらんよ。丸ごと書きかえれ。
0962(^ω^)2006/03/21(火) 12:09:50ID:???
その前に、テンプレにあるけどprintって関数じゃないよね?
おいらの間違い?(^ω^;)
ttp://jp2.php.net/manual/ja/function.print.php
0963nobodyさん2006/03/21(火) 14:10:09ID:???
>>962
値を返す点で関数のように振舞うってことじゃね?
でもマニュアルには「関数ではない」ってはっきり書いてあるからFAQはまずいね。
0964nobodyさん2006/03/21(火) 15:31:05ID:???
どうでもいいけどPHPpediaよりPHPediaの方がよくね?
0965nobodyさん2006/03/21(火) 15:50:59ID:???
ほんとどうでもいいな
0966nobodyさん2006/03/21(火) 17:39:29ID:???
ピーエイチッッペディアでいいと思われ
0967nobodyさん2006/03/21(火) 17:46:58ID:???
>>964
そっちのほうがいい
0968nobodyさん2006/03/21(火) 19:44:30ID:???
>>962
printって後から適当に追加(PHP3からだっけ?)した命令なので
役割としても動作(関数ではないのに関数的動作)も中途半端だよね。
なんで関数にしてないんだろ。
0969nobodyさん2006/03/21(火) 20:40:11ID:???
Perlに合わせようとしたから
0970(^ω^)2006/03/22(水) 01:08:34ID:???
ちょっとやりすぎかお?(^ω^;)
0971nobodyさん2006/03/22(水) 01:47:56ID:???
>>(^ω^)
おつ〜いい感じじゃまいか
0972nobodyさん2006/03/22(水) 02:04:40ID:???
perlは嫌いです
荒れさせて埋めようなんて思っていません
0973nobodyさん2006/03/22(水) 02:13:37ID:???
言語としては好きでインタプリタだけ嫌いなんて酔狂な御仁だ
0974nobodyさん2006/03/22(水) 02:31:39ID:???
インタプリタは重いからunkoです
0975nobodyさん2006/03/22(水) 07:16:18ID:???
>>969
Perlのprint関数って値返すんだっけ?長い事Perlやってないからもう判らん。
似てると言えば,で複数パラメータ与えられるechoの方がPerlに近い感じがする。
printがechoのエイリアスで駄目だった理由はなんだろう。
0976nobodyさん2006/03/22(水) 07:22:19ID:???
http://www.faqts.com/knowledge_base/view.phtml/aid/1/fid/40
これじゃね?
0977nobodyさん2006/03/22(水) 07:41:02ID:???
あと、(^ω^)がwikiに書いてたけど、

func() or print "失敗したよ";

って書けるようにするってのが主目的な希ガス。
0978nobodyさん2006/03/22(水) 09:46:53ID:???
>>977
その例なら普段はdieで済ましているからそうなのかな・・・と思ったら、
マニュアルのexitの項目に

$file = fopen ($filename, 'r')
or exit("unable to open file ($filename)");

という例があるな。もちろんexitは
>注意: この関数は実際には関数ではなく言語構造です。
0979nobodyさん2006/03/22(水) 15:23:31ID:???
いや、orの後に書けるかどうかってのは、関数かどうかではなく値を返すかどうかだよ。
0980nobodyさん2006/03/22(水) 15:24:13ID:???
そもそもwikiは無視してHTML書いてうpすればいいじゃん。
でそいつが責任もって管理する。

誰も管理しようとしないのに、wikiがどうのってケチ付けても前には進まないよ。
wiki弄るか、HTML書け。
0981nobodyさん2006/03/22(水) 15:32:06ID:???
>>980
突然何の話?HTML書くって何を書くの?
0982nobodyさん2006/03/22(水) 15:40:40ID:???
>>975
Perlのprintは単なる文字出力じゃなく、ファイルハンドル与えるfputs相当だから。
当然のように成功・失敗を値で返すわけですよ。
0983nobodyさん2006/03/22(水) 16:21:48ID:???
>>981
ソースにきまってるだろうがああああああ!!!!
ブルドックブルドックブルドックブルドックウウウウ!!!!!!!!!
0984nobodyさん2006/03/22(水) 16:41:41ID:???
>>980
ヒント 言い出しっぺの法則
0985(^ω^)2006/03/22(水) 17:00:42ID:???
>>979の注釈を追加したお
エラーメッセージをよまなったのはおいらのほうだったお(^ω^;)すまんこ
0986nobodyさん2006/03/22(水) 17:30:20ID:???
おれ今から(^ω^)のことブルって呼ぶわ。
0987nobodyさん2006/03/22(水) 17:53:54ID:???
  ∧  ∧
(*^ω^ *)
0988nobodyさん2006/03/22(水) 17:55:50ID:ir0obJBH
wikiに過去スレうpしときました。

http://wiki.2chx.net/php/index.php?%B2%E1%B5%EE%A5%B9%A5%EC%A5%EA%A5%B9%A5%C8

全部あるかとおもったら、本スレpart27だけはなかった・・・ orz
誰か持ってる人いない?
0989nobodyさん2006/03/22(水) 18:10:45ID:???
>>988
どうぞ
http://nike.s151.xrea.com/search/search.php
0990nobodyさん2006/03/22(水) 18:17:41ID:???
>>989
thx!いただきます
09919892006/03/22(水) 19:14:23ID:???
>>990
去年のゴールデンウィーク中に落ちちゃったので977までしか保存できてません(連休中まで2ちゃんは見てないので)
他に専用ブラウザのdatが残っている人がいたらよろしくです
0992nobodyさん2006/03/22(水) 19:43:44ID:???
次スレ誘導までオナニーでもしててください
0993nobodyさん2006/03/22(水) 20:58:27ID:???
(;´Д`)ハァハァ
0994nobodyさん2006/03/22(水) 20:58:38ID:???
(;´Д`)ハァハァ
0995nobodyさん2006/03/22(水) 20:58:44ID:???
(;´Д`)ハァハァ
0996nobodyさん2006/03/22(水) 20:58:48ID:???
(;´Д`)ハァハァ
0997nobodyさん2006/03/22(水) 20:59:06ID:???
(;´Д`)ウッ
0998nobodyさん2006/03/22(水) 20:59:24ID:???
(;´Д`)ハァー後はまかせた
0999(^ω^)2006/03/22(水) 21:03:55ID:???
(^ω^)
1000nobodyさん2006/03/22(水) 21:05:11ID:H3I7tLWs
1000
10011001Over 1000Thread
このスレッドは1000を超えました。
もう書けないので、新しいスレッドを立ててくださいです。。。
レス数が1000を超えています。これ以上書き込みはできません。