【PHP】質問スレッドpart33【php】
レス数が1000を超えています。これ以上書き込みはできません。
0001nobodyさん
2006/02/16(木) 03:19:52ID:xwXojaq/【基本ルール】
・新規質問の方は上げてください。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/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:YjyBJiPI1. ハードウェア、OSのバージョン等には一字一句触れない。
2. 大切な個人情報が漏れるとまずいので、己の行った操作、変更などは秘密。
3. エラーメッセージの類は決して書かない。「エラーが出るんです」で留める。
目の前で生じている現象をそのまま具体的に書くなどもっての外。
事実より俺様の脳内解釈を優先すべし。
4. 独り言文体で必勝。
「…なんだけど、どうすればいいのかなぁ」「何が悪いんだろう?」
5. 「急いでいます」「困っています」等、自分の都合を全面に押し出す。
6. もう試したことを得意げに指摘してくる奴には、厳しく対応。
「それが駄目だったから質問してるんです」「それはもう試してみて駄目でした」
"どう"だめだったのか、本当に実際それを行ったかどうかなんか問題じゃない。
7. ストレートに答えを書かないもったいぶったレスには、逆切れで対応。
「だからどうすればいいんですか?」「分からないなら引っ込んでろやゴルァ」
示されたURL等を参照するなんて態度は、回答者を甘やかすことに他ならないので
絶対に避ける。
8. 情報は小出しに。
「エスパーきぼんぬ」 補足
上の八ヵ条を「一つでも」満たす者は質問者として不適格だということだ。
そのような悪い質問に対して答えられるのは,
質問者の意図をすべて汲み取ることのできるエスパーでもなければムリ,
という意味であって,決して,高度な技術を持つユーザに対する尊称でなはい。
まちがっても「エスパーの方,回答お願いします」なんて痛い質問するな。つーかカエレ。
00061
2006/02/16(木) 03:27:12ID:YjyBJiPI0007nobodyさん
2006/02/16(木) 03:34:43ID:YjyBJiPIPHPの質問スレ、及び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:???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/9imap_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:???0012nobodyさん
2006/02/16(木) 15:13:35ID:???まああの会社だとまともな回答は期待でき無そうだが…。
0013nobodyさん
2006/02/16(木) 15:45:08ID:???0014nobodyさん
2006/02/16(木) 15:54:04ID:???PDAでも接続できないケースが報告されてるよ。
so-netのFAQにPocketPC向けのメーラー設定方法とか記載されてるけど
その辺は参考にならんのかな。
001510
2006/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:???so-netのPOPと思われるサーバ叩いてみたけど
CAPAコマンドに対してはUSER/PASSコマンドで認証が済んでからしか、
レスポンスを返さないようにみえるよ。
でも認証が済んでから、その後にUSER/PASSコマンドは発行しないから
本来CAPAに対してUSER capabilityが返えされるべきであっても
それが返答なくても関係なく動作は出来るんじゃないかなと思わなくもない。
厳密に動作してQUITしてるとしても責められはしないが。
ただソース見てみたけど、imap_open()での実際の処理は
完全にc-clientライブラリにお任せな感じなので、
IMAP関数を使う限り、どうにかできるものではなさそう。
PEARのメール関数を使った方が、クライアント側で対処するなら
自由度が高いと思う。
001716
2006/02/16(木) 18:30:05ID:???で、PEARのMail_IMAPクラスは結局imap_open()使うので一緒だった。
0018nobodyさん
2006/02/16(木) 19:36:05ID:???ありがとうございます。
お陰様で出来たのですが、いざ組み込む時にずっと考えているのですが、どうしても先に進まなくなってしまいました。
<?
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その絶対値を$zとしたのですが、この$zが一番少ない組み合わせを出したいのです。(はじめに出てくるのがいいのです。)
上の場合だと、$zが50の時一番少ないのですが、組み合わせを書き出した時、上から3つ目ではじめに50と出ているので
「1000 1500 1300 1600」
という組み合わせを結果としてだしたいのです。
$zの値が入っている配列を作る事が出来れば、出来るだろうと思い、
新たな配列変数を作って、forループで毎回の$zの値を代入していこうとは思ったのですが、どうも上手く動作せず悩んでいます。
分り難い&何度も質問してしまい申し訳無いのですが宜しくお願い致します。
0020nobodyさん
2006/02/16(木) 20:04:28ID:???本家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:???0022nobodyさん
2006/02/16(木) 21:20:01ID:???どちらがサーバーに負担が掛かるものなのでしょうか。
0024nobodyさん
2006/02/16(木) 21:36:37ID:???1000回くらい回すコード書いて、時間計ってみたら?
上書きといっても、内容全部消した場合と追記した場合で違うだろうし。
レポキボン
0026nobodyさん
2006/02/16(木) 22:16:36ID:VwfjUIGO>>24
ありがとうございます。
ほとんどphpの知識がないものでレポはできなくて申し訳ないですが、
上書きに変更した途端鯖堕ちしたので、自分のせいかとあせりました。
今は問題なく稼動してるので大丈夫そうです。
0027nobodyさん
2006/02/17(金) 01:54:56ID:qKPXZPko問題なく動作するのでしょうか。
(レス違いでしたら誘導お願いします)
0028nobodyさん
2006/02/17(金) 02:23:12ID:???0029nobodyさん
2006/02/17(金) 03:43:23ID:eyDUdvZm問題なく実行させるいい方法はないでしょうか
phpのブログとかでテンプレに変数を直接書き込まれているのを見たのですが
自分がやってみるとエラーが出てしまうんです
0030nobodyさん
2006/02/17(金) 03:49:47ID:???一体何のテンプレートなのか、
どのようなコードなのか
具体的に書いてくれないと全く見当が付きません。
ttp://php.net/manual/の言語リファレンス(10-21章)を一通り読んでください
0033nobodyさん
2006/02/17(金) 10:08:44ID:???勝手にエスパー補足してみよう。
最終的な出力結果を
$body
かなんか、適当な変数に入れて出力している。
$body=fread('template.php');
で取り込むとして
template.phpの中身が
<html>
<head>
<title>$site_title</title>
</head>
<body>
</body>
</html>
とかだったりすると
<title>$title_title</title>
がそのまま出力されて困る。
という趣旨の質問ではないかと思う。
003418
2006/02/17(金) 12:40:07ID:qUshKop+宿題では無くて、自作のコードに必要なのですがどうしても出来なくて悩んでいたのですが
取りあえず、出力結果を別のテキストファイルに保存し、別にそのテキストファイルを読み込んで配列に格納するという
事でやっと出来ましたorz
アドバイス及び、コードを教えて下さった方々本当にありがとうございました。
0035nobodyさん
2006/02/17(金) 14:55:08ID:eyDUdvZm以下がソースです
01.phpの中身↓
<?php
$aaa = "正常に動作しました";
include "a.txt";
?>
a.txtの中身↓
$aaa
>>31
上記のようにしてみましたがうまく行きませんでした
>>33
まさにその通りなんです。説明が下手でしみません
うまく行かないということは記述が間違っているということなんですが
どこがどう間違ってるかわからないんです
0036nobodyさん
2006/02/17(金) 15:34:53ID:???スマートな方法がなかなか思い浮かばずに悩んでいます。
/~aaaa/bbb/ccc.html
/~aaaa/ddd/e.html
/~aaaa/f.html
/~aaaa/g.jpeg
上記のような形式のログが一行ごとに並んでいまして、「/~X/」のXに該当する部分だけを取り出そうと考えています。
そこで最初の/~は正規表現でnullに置き換えましたが/以降をどう処理するかで困っています。
宜しければお知恵をお貸し下さい。
003736
2006/02/17(金) 15:41:07ID:???>>35
a.txtがtxtファイルだから直に出力されてるんじゃないでしょうか?
変数として動かしたいのであれば<? ?>を書いてphpとして処理させないと変数としては取り扱ってもらえないと思います。
0039nobodyさん
2006/02/17(金) 15:51:47ID:???$path = "/~aaaa/bbb/ccc.html";
preg_match("|/~([^/]+)|", $path, $match);
$user_dir = $match[1];
0040nobodyさん
2006/02/17(金) 16:07:05ID:EA7FpTYephpをやりたいのですが、
(1)
phpが始めからインストールされているそうなのですが、
どうやったら使えるようになるのでしょうか。
(2)
phpはどうやって勉強したらいいのでしょうか?
0041nobodyさん
2006/02/17(金) 16:13:06ID:???1. httpd.confの設定をするだけで使える事は使える。
2. ドキュメント。サンプルを見ながらでも結構勉強できる。
004240
2006/02/17(金) 16:22:16ID:???ありがとうございます!!
俺様のスキルならphpの習得も早そうなので
アドバイス通りのことをやってみます。
ここはunixのスキルアップに役に立つスレなのでまた来ますね。
0044nobodyさん
2006/02/17(金) 17:37:59ID:???それをphpが動いていない環境でブラウザ(IE)で開くと、
<?php なんたら ?> の部分が見事コメントアウトされて、
phpコードが表示されずにいい感じに表示されるんだが、
<?php $obj->method(); ?> というコードを入れると、->の部分で終わりとみなされて、
phpが動いていない環境でブラウザで開くと、 method(); ?> が表示されてしまう。
お客さんが直接ローカルでIEでみたり、HTMLエディタで編集させようというときに困るかなぁと。
まあ、ブラウザの仕様にもよるんだろうけど、オブジェクトのメソッドは
必ず呼ぶものとして、なんかいい方法無い?
0046nobodyさん
2006/02/17(金) 17:50:01ID:???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でなんとかリファラ消して飛ばせませんか?
004836
2006/02/17(金) 17:58:44ID:???0050nobodyさん
2006/02/17(金) 18:02:25ID:???ちなみに先ほどの正規表現で無事解決できました・・・�dクスでした。
今度はログが大きすぎてタイムアウトして・・・もごもご・・・あ、スミマセンチラシの裏に書いときます
それにしてもログファイルて小まめに整理しないと後で酷い目にあうねorz
0051nobodyさん
2006/02/17(金) 18:07:22ID:???なんかすごい間違った使い方してる気がするんだが…
お客さんにはindex.tplを編集してもらえばいいんでない?
***.phpにHTMLを入れておきたいんだったらSmartyは使わない方が
すっきりする希ガス
知ってると思うがテンプレートファイルから別のテンプレートをインクルード
もできるから、テンプレート使ってサイト全体のデザインと部品コンテンツ
分けて作成できるよ。
0052nobodyさん
2006/02/17(金) 18:41:05ID:???> なんかすごい間違った使い方してる気がするんだが…
うん。自分でもそう思っている。
SEO的なところからindex.php?main 見たいにサイト全体を一つのphpで処理したくないんだよね。
(だから実際にはphpファイルでも拡張子htmlで動くようにしています。)
mod_rewriteはなんか複雑だし、レンタルサーバーによっては入ってなさそうだし。
そうするとコンテンツ(ページ)ごとにtplとそれを表示する.phpができてしまってごちゃごちゃしない?
> ***.phpにHTMLを入れておきたいんだったらSmartyは使わない方が
> すっきりする希ガス
いま一応そうしているんだけど、将来、俺はシステム面だけ作りたいし、デザイン方面は
デザイナーに任せたいし、中身はお客さんでも修正できるようにしたいし。どうしたもんかなぁ。
別にSmartyは使わないは使わないでもいいんだけど、この話は横道。
本来の解決したい問題はこっち→>>44 。
005451
2006/02/17(金) 20:14:04ID:???>そうするとコンテンツ(ページ)ごとにtplとそれを表示する.phpができてしまってごちゃごちゃしない?
んー
なんとなく言わんとすることはわかるが…
そういうもんだと割りきってしまってるからなぁ…
そもそもテンプレートエンジンって1ページ表示の際のロジックをPHPで、
画面構成をテンプレートで、と分けるのが目的だしね。
若干苦しいが、独自でHTML中に埋め込まれる変数をトークンに対応付けておいて、
サーバに配置する際には必ずsedとかでトークン→PHP変数の置換を行う、とか…
0055nobodyさん
2006/02/17(金) 21:42:19ID:+wY6r5/H<!-- <?php echo ' --' , '>'; $obj->method(); echo '<', '!--'; ?> -->
0056nobodyさん
2006/02/17(金) 21:49:25ID:???0058nobodyさん
2006/02/17(金) 23:10:04ID:???$dirName = $_POST['dirName'];
$lastNum = $_POST['lastNum'];
$fileName = "$dirName/$lastNum.dat.gz";
$fileName2 = d."$fileName";
$ret = copy($fileName,$fileName2);
unlink ($fileName);
今あるファイル名の先頭に「d」とつけたいのですが
上記のようなコードを書いても期待通りに動きません。
ファイル名、ディレクトリ名は外部からPOSTしています。
アドバイスをよろしくお願いします。
0060nobodyさん
2006/02/17(金) 23:28:22ID:???01.phpの中身をこうしてみ
<?php
$aaa = "正常に動作しました";
echo preg_replace('/(\$)(\w+)/e', '$GLOBALS[$2]', file_get_contents("a.txt"));
?>
0061nobodyさん
2006/02/17(金) 23:29:18ID:???> $fileName2 = d."$fileName";
↓
$fileName2 = "d$fileName";
0062nobodyさん
2006/02/17(金) 23:49:42ID:???>>61
ありがとうございます!
うまく動作しました。
renameのほうが鯖負担は少なそうですね。
いまだにphpのストリングス結合の法則が分からん・・
0064nobodyさん
2006/02/18(土) 00:41:09ID:???0067nobodyさん
2006/02/18(土) 11:43:18ID:???3文字ずつ分割して配列にする方法を教えてください。
[0] => abc
[1] => def
[2] => ghi
[3] => jkl
0068nobodyさん
2006/02/18(土) 12:04:50ID:???これぐらいしか思いつかん、スマン
for ($n = 0; $n < strlen ($a)/3; $n++)
$b[$n] = substr ($a, $n*3, 3);
0069nobodyさん
2006/02/18(土) 12:31:35ID:???$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:???php5なら
$str = "abcdefghijkl";
$arr = str_split($str, 3);
0071nobodyさん
2006/02/18(土) 15:39:50ID:???0072nobodyさん
2006/02/18(土) 17:13:25ID:???0073nobodyさん
2006/02/18(土) 17:21:20ID:???$abc = qq(<A href="a">).$def.qq(</A>);
みたいなことしたいんですけど、ヒアドキュメントだと
見づらくなっちゃうので、すっきりかける方法がないかな〜と。
0074nobodyさん
2006/02/18(土) 17:47:49ID:???俺は知らないなぁ。
"(<A href=\"a\">)$def(</A>)";
とやるか
"(<A href='a'>)$def(</A>)";
とやるな。
0075nobodyさん
2006/02/18(土) 17:54:29ID:???つか、普通にシングルクォートで括れば?
$abc = '<a href="a">' . $def . '</a>' ; (いまさら大文字は無いだろ…)
0076nobodyさん
2006/02/18(土) 18:20:45ID:???\"にしろ . での連結にしろ煩わしいし見づらいし間違っても気づきにくいし。
俺はヒアドキュメント使っちゃう派。
0079nobodyさん
2006/02/19(日) 01:44:34ID:???いやあperlほど不便なものはない。。
0080nobodyさん
2006/02/19(日) 02:17:35ID:???0082nobodyさん
2006/02/19(日) 03:06:31ID:???0083nobodyさん
2006/02/19(日) 04:24:56ID:SHjAEm2nprint"<img src="sky.jpg" width="" height="" alt="">";
↑この文章のところでエラーになってしまうんですが
なにかいい方法ないですか?
0085nobodyさん
2006/02/19(日) 04:46:34ID:???こうしろ
?>
<img src="sky.jpg" width="" height="" alt="">
<?php
0086nobodyさん
2006/02/19(日) 08:48:59ID:???0087nobodyさん
2006/02/19(日) 14:18:30ID:???0088nobodyさん
2006/02/19(日) 15:06:13ID:???釣りにマジレス
しなくても
0089nobodyさん
2006/02/19(日) 15:56:15ID:???0090nobodyさん
2006/02/19(日) 17:05:40ID:???現在この様な形式でJSTでログに記録しています。
これをGMTで
Sun, 19 Feb 2006 00:00:00 GMT
と変換したいのですが簡単な方法ありませんでしょうか。
こんな事なら最初からunixtimeでログとっておけば簡単だったのに・・・
0091nobodyさん
2006/02/19(日) 18:14:30ID:???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:???そうやって見つけた仕様書では、
パラメータとして title, excerpt, url, blog_nameを使う事ができ、 url だけが必須、とあった。
0093nobodyさん
2006/02/19(日) 18:33:27ID:???なのにurlencodeされていないのは気にしなくてもいい?
009491
2006/02/19(日) 18:34:03ID:???お手数おかけします。
(トラックバック技術仕様書 http://lowlife.jp/yasusii/stories/8.html
$pingの最終行にurlを指定しているのですが
これが仮に送信されていないのであれば
phpの書き方に問題があるのではないかと思ったのです。
0095nobodyさん
2006/02/19(日) 18:44:22ID:???じゃあ、これならOK?
if(条件) {
?><img src="sky.jpg" width="" height="" alt=""><?php
}
0096nobodyさん
2006/02/19(日) 18:50:05ID:???仕様書も読まないで想像で回答しちゃうけど、
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";
でいけねー?
009890
2006/02/19(日) 22:37:05ID:???ありがとうございました。解決できました。
2006/02/19(Sun) 00:00:00 で (Sun) とかが入っていても見事に変換できるのですね
009991
2006/02/20(月) 00:36:09ID:???空行を入れる
のいずれも駄目でした…。
思いついてUTF-8に変換してみたりもしたのですが
やはり同じ症状です。
はてさて…
0100nobodyさん
2006/02/20(月) 04:23:54ID:???多分今回の問題とは直接は関係ないと思うが
> $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:???0102nobodyさん
2006/02/20(月) 10:07:52ID:???0103nobodyさん
2006/02/20(月) 12:02:40ID:???perlを実行するためのパーミッションを教えてくださいぐらい関係の無い質問だな。
遠からず近からず。
要するにこっちで質問されるとウザい。
0104nobodyさん
2006/02/20(月) 17:29:29ID:???0105nobodyさん
2006/02/20(月) 18:06:35ID:???0106nobodyさん
2006/02/20(月) 18:10:08ID:???0109nobodyさん
2006/02/21(火) 01:23:25ID:csEvNJQp調べてみると出てきません。教えて神様
0110nobodyさん
2006/02/21(火) 01:24:15ID:???以下のように書くしかないですか?
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:???タイマーかけるということ?
時間判定で表示させるページ内容を変更するか、
cronを使うか。
どちらかになると思う。
0112nobodyさん
2006/02/21(火) 02:29:27ID:???IN使っちゃどうかね
$sql = "SELECT user_id,user_name FROM users WHERE user_id IN ('".implode("','",$user_ids)."')";
011391
2006/02/21(火) 08:49:54ID:???ありがとうございました。
(解決策はスレ違いといわれそうなので、このままで)
0115nobodyさん
2006/02/21(火) 09:49:21ID:???暗号化と高速化ってのは魅力なんですが、
これによってバグとかが発生しちゃうのが怖いんです。
ttp://www.asial.co.jp/products/ioncube/encoder/products.php
0116nobodyさん
2006/02/21(火) 10:28:55ID:???現在表示されてるHTMLを定期的にリフレッシュさせればいいんじゃない?
>>115
試してみて結果を教えてくれ。
0118nobodyさん
2006/02/21(火) 11:45:50ID:???どっちも同じぐらいのレベルの話するし。
0121nobodyさん
2006/02/21(火) 13:39:56ID:???0122nobodyさん
2006/02/21(火) 14:30:37ID:???それは
「俺はやり方わかったけどお前らには教えてやんねーぜ、バーカ」
と近い発言になってるという事に気付いてください。
解決しても、解決策を出すのが質問スレでのマナーでしょう。
知りたい人は沢山いるわけだから。
0124nobodyさん
2006/02/21(火) 18:02:42ID:ihX6B4Hf<?php
print"test";
?>
ってやったら出力されます?
0127nobodyさん
2006/02/21(火) 20:25:51ID:???PHPのフォーラムかどこかに投稿されてるのかな?
0128nobodyさん
2006/02/21(火) 21:21:49ID:y3MPaFDbもちろん出力される。
0129nobodyさん
2006/02/21(火) 21:28:19ID:???0130nobodyさん
2006/02/21(火) 21:45:25ID:???ブラウザ上で見える内容かどうかはともかく
0131nobodyさん
2006/02/21(火) 21:44:20ID:???0134nobodyさん
2006/02/21(火) 23:40:53ID:???"ブラウザへは"出力されるんだから。
大抵のブラウザは無効なタグとして処理し、ブラウザ上には表示しないと思うが。
「phpとして処理されますか?」なら>>125だけどな。
早い話が質問内容が悪(アバウト)すぎる
0135nobodyさん
2006/02/22(水) 00:44:55ID:???0136nobodyさん
2006/02/22(水) 02:28:56ID:???0137nobodyさん
2006/02/22(水) 02:37:21ID:???このサーバをphpを使ってクラックすることは可能ですか?
phpでダメなら他の方法でも構いません。
0140nobodyさん
2006/02/22(水) 08:40:56ID:???したいのですがこの場合どういう風に構築すればよいのでしょうか?
0142nobodyさん
2006/02/22(水) 11:12:30ID:???ウザッ
0143nobodyさん
2006/02/22(水) 11:29:59ID:???http://www.sample.com/test.jpg
のファイルサイズを取得する方法を教えてください。
0145nobodyさん
2006/02/22(水) 11:47:32ID:YzTdS2ndPHP4.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:???0147nobodyさん
2006/02/22(水) 12:00:00ID:???ありがとうございます。
説明不足でした。
外部のファイル
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:???0150nobodyさん
2006/02/22(水) 12:19:22ID:???自分で答え言ってるな。
>148が答え。
満足したら帰れ。
0151nobodyさん
2006/02/22(水) 12:25:27ID:???この後、>>147は
「では、外部のファイルを取得する方法を教えてください」
と書き込もうとするであろう。
ところが、この予言の書を目にして、書込みを躊躇う。
0152nobodyさん
2006/02/22(水) 12:30:48ID:???しかし斜め上を行く147の次の書き込みは、こうであった。
「では、僕は何をどうしたらよいのでしょうか」
# HTTPヘッダもあてにならんしな<ファイルサイズ
0154nobodyさん
2006/02/22(水) 12:46:26ID:???つ[http_filesize]
0156nobodyさん
2006/02/22(水) 13:54:37ID:???とりあえず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:???0159156
2006/02/22(水) 14:43:38ID:???当方、phpを始めたのは今日が初めてで、
自宅サーバでやっとこさphpが使えるようになったのが今日なのです。
全くのphp初心者なので、超基本的なことだったらすみませんが、
教えていただくと助かります・・・orz
0160156
2006/02/22(水) 14:45:22ID:???http://masago.kir.jp/php20041028.php
これをほとんどそのまま映しただけで、
こんなのを一から作り上げるスキルなどまだまだありません・・。
0161nobodyさん
2006/02/22(水) 14:47:48ID:???echo $file ."<BR>";
を
echo '<LI><A HREF="' . $file . '">' . $file . "</A>\n";
0162nobodyさん
2006/02/22(水) 14:49:45ID:???PHPを始めたのが今日なのか、
プログラミングの世界に触れたのが今日なのか?
どっちでもいいけど、
まずは、>>1にあるマニュアルで、一つずつ命令文を調べてご覧。
せっかく始めたんなら、聞く前にまずは自分で考えてみなよ。
0163nobodyさん
2006/02/22(水) 14:49:57ID:???初めての日に(しかも数時間で)こんな所に来たらイカンよ。
まずは本を買うかやさしい猿でもわかる参考サイトを探して
自分でやりなさいな。
0165161
2006/02/22(水) 14:51:35ID:???echo '<LI><A HREF="./phpdirectory/' . $file . '">' . $file . "</A>\n";
0166156
2006/02/22(水) 14:59:15ID:???あ、ありがとうございます!!
さっそくやってみます。
>>162
初めてやったのがプログラミングというかスクリプティングで
shellscript(bash)です。bashに関してはまぁ初心者は脱したくらいの
レベルになりました。(bash歴一年くらい)
したがってphpもifとかforとか結構似たようなのが出てくるので
そこまで苦痛ではありませんが、ちょっとbashと較べると
わかりづらい感じはしています。
最初はSSIで無理やりディレクトリを表示させることをやってみました。
こんな感じでできるようになったのですが、↓
ttp://oresama.hopto.org/~sheel/directory/
「phpの方が簡単」
というアドバイスをいただきましたのでphpに挑戦しているところです。
>>163
そうですね。いろいろと猿でもわかるサイトを物色している最中です。
金はないので本は買えません・・・orz
0168156
2006/02/22(水) 15:14:57ID:???ありがとうございますた!できますた!
本来、directory.phpと同じディレクトリに存在する
ファイルかフォルダを一覧表示させたかったのですが、
「自分と同じディレクトリ」を差すメタキャラがphpでは
わからなかったので、しょうがなくそれは後回しにして
わざわざ下位のディレクトリ「phpdirectory」をつくって
試していたのでした。
試しにbashでいうところの「.」を試してみると、なんと
phpでも「.」は「現在のディレクトリ」を差すようですね。
ついでに本当はファイルだけでなく、ディレクトリも表示されるように
if文を削除してみたら案の定正解でした。
ttp://oresama.hopto.org/~sheel/phptest/directory.php
しかし今度は新たな問題が出てきました。
bashを使った方法ではlsコマンドで「.htaccess」ファイルを
非表示にする方法があったのですが、phpではありますか?
0169156
2006/02/22(水) 15:18:03ID:???phpは<とか>とかをバックスラッシュで
エスケープする必要がないみたいなので
こういう点がweb programmingに向いてるんでしょうね。
もっと勉強してみなさんに教えられるくらいにはやくなりたいと思います。
0171nobodyさん
2006/02/22(水) 15:35:59ID:???自分で本を探して数千円を投資するかしないかでかなり習得のスピードが違うと思う。
まあサイトでもいいだろうけど
0172nobodyさん
2006/02/22(水) 15:37:47ID:???http://jp.php.net/manual/ja/
それとphp.iniぐらい置いとけ
/etcにphp.iniが無いとphpinfo()が言っておるぞ
0173nobodyさん
2006/02/22(水) 15:40:11ID:???>bashを使った方法ではlsコマンドで「.htaccess」ファイルを
>非表示にする方法があったのですが、phpではありますか?
って、"."で始まるファイル名は表示しないって事じゃなくて?
ならファイル名の一文字目に"."のあるファイルは表示しないって処理を加えればいい
どっちにしろ一から勉強しないと自作は出来なさそう
phpの文法が分からないのに人のソース見ても上達するのかな・・
0174156
2006/02/22(水) 15:50:00ID:???ああ、さっき一度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:???んまぁ、bashとか全然毛色の違う物の経験則に引きずられるのなら、
いっそ、passthru()とかでls叩いて、戻り値を整形したら?
本が読めない人間に、言語の習得は非常に困難だと思ふ
ってか、文学本か何かと間違っていないか?
0176156
2006/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:???2ch暦何年?
いい加減ウザいよ。
空気読めてない事ぐらいは察しろよ。
それができないなら質問スレでなりふり構わずレスするな。
0178156
2006/02/22(水) 16:25:04ID:???みなさんのおかげでphpのなんたるかの触りくらいはわかるようになってきました。
またご指導よろしくお願いします。
0179156
2006/02/22(水) 16:26:52ID:???2ch歴は3年くらいでしょうか。
空気を読むのはおまえよりは100倍くらい上だと思いますよ。
空気を読めてないのは自分だけってのがわからないみたいだね。
2chはまだまだ177のような初心者をいちころでだませるので楽しいですね。
じゃ、こんどこそ夜勤に言ってきます。
177はくやしかったら捨てぜりふのひとことでも吐いててねw(ぷげら
0181nobodyさん
2006/02/22(水) 16:37:02ID:???君はPHPよりPerlの方が向いてるかもしれない。
あれはsh他のコマンドラインスクリプトの発展したものだから文化が近いと思うよ。
PHPは見た目が少しPerlに似てる程度で考え方の基本はC言語に近い。
0182nobodyさん
2006/02/22(水) 16:40:43ID:stieJNuSたとえば関数がオブジェクトをかえすときに、
function foo() {
return new Bar();
}
foo()->baz();
みたいな関数呼び出しはできないんでしょうか?
なんか文法エラーって怒られるんですが…
PHP4です
0183nobodyさん
2006/02/22(水) 16:41:47ID:???一気に萎える('A`)
> 数学とか英語は偏差値90越えは普通でした
そいつは尋常じゃない数値だね。
英文で書かれた参考書の方が君にはあってるっぽいよ。
それと
if (($file)!="^?..*"){
の"^?..*"はマッチパターンであってereg関数なり使わないと。
ピリオドが2つ続いているのは良く分からないけどね。
0184nobodyさん
2006/02/22(水) 16:43:18ID:???全国テストとかなら満点とっても取れないよなぁ。
0185nobodyさん
2006/02/22(水) 16:44:48ID:???Perlなら if($file =~ /^\..*/) でいけるな。
あと、^\..* の正規表現の意味が分からないって、お前の方がやばくないか?
まぁ、後半の .* は別に要らないと思うけどさ。
0186nobodyさん
2006/02/22(水) 16:52:38ID:???嵐のように書き込んで、風のように去っていったって感じですね…
>>176
>言語を学ぶのには、英語と同じで、まずは実際の例文にいっぱい触れるのが一番
間違ってはいないと思うけど、君、例文とか無視だろ。
例文どおりにやって、どうやったらそんな正規表現マッチが書けるんだか???
ネット上の例文の多くは文責の無い物が混じった玉石混交
その中から正確な情報を適切に拾い出すにも基礎知識が必要になるでしょ。
その基礎知識を身につけるのに書籍とかマニュアルがイイよ、と言われても、
本が読めないとか、言って聴く耳持たず。
終いには、悪態ついて去っていくマナーの悪さ。
>>177もバカだけど、3年も2ch見ていて、煽りにいちいち反応するなよ。
0188182
2006/02/22(水) 16:56:43ID:???…なぜ?
意味解らん。
普通にプログラミング言語を設計(というかBNF)すれば、
半自動的に出来るようになりそうなもんですが…
0190nobodyさん
2006/02/22(水) 16:58:52ID:???いやいや、正規表現の意味が分からないんじゃなくて
このケースでは不要じゃないかな?と思って書いただけだよ。
0192182
2006/02/22(水) 17:02:47ID:???ボスにかけあってPHPから脱出します
ちなみに5では可能でしょうか?
0193nobodyさん
2006/02/22(水) 17:03:41ID:???くだらない質問スレ行き確定ってことでいーんじゃないか。
0196nobodyさん
2006/02/22(水) 17:18:44ID:???確かにはためーわくだが効率はいいかもしれんなwwww
0198nobodyさん
2006/02/22(水) 17:38:12ID:???0199nobodyさん
2006/02/22(水) 17:45:28ID:???0200nobodyさん
2006/02/22(水) 17:53:06ID:???http://pc8.2ch.net/test/read.cgi/php/1139746974/
へ行ってくれ。
0202nobodyさん
2006/02/22(水) 19:27:31ID:???ここが参考になると思います。
ttp://www.doyouphp.jp/php5/php5_object.shtml
0203nobodyさん
2006/02/22(水) 19:30:48ID:???周囲の人間をもう一度よく見渡してみましょう。
空気読むのってなかなか難しいことですよ
ただし、>>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:???中を傷つける恐れあり。
0210nobodyさん
2006/02/23(木) 00:00:56ID:???0211nobodyさん
2006/02/23(木) 00:11:24ID:???0213nobodyさん
2006/02/23(木) 01:11:56ID:???$DB->getRow($sql); の結果のインデックスが数値のものと文字列のものが二重で
出てくるのですが、文字列インデックスのものだけにする方法はありますか?
0214nobodyさん
2006/02/23(木) 01:55:13ID:???文字列にキャストする。
$result = (string)$src;
もしくは関数を利用する。
strval ($src);
これ使えるか知らんけど、
settype ($src, typename);
typenameは文字列で"string"にすると文字列を返す。
一応マニュアル見てくれ。
0215nobodyさん
2006/02/23(木) 02:55:24ID:???事前に
$ADODB_FETCH_MODE = ADODB_FETCH_ASSOC;
でモードを設定
>>214
何の話だそりゃ
0216nobodyさん
2006/02/23(木) 03:37:31ID:???サンスコ!でけた!
直前だとこれでもいける
$DB->SetFetchMode(ADODB_FETCH_ASSOC);
0217156
2006/02/23(木) 04:47:14ID:???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);
?>
0218156
2006/02/23(木) 04:51:31ID:???の実際のphpサンプル出力がこちら。
ttp://oresama.hopto.org/~sheel/phptest/directory.php
あとはそれぞれのファイルの最終変更日と何キロバイトか、
って情報もいっしょに表示させたいね。
SSIではlsを使って↓のようなところまではできたんだけどね。
ttp://oresama.hopto.org/~sheel/index.shtml
phpではやはりファイル容量とか最終変更日とかまで表示させるのは
無理難題なのでしょうか?
とにかくおまいら役立たずにわざわざ聞く前に
とりあえず自分で調べてみますね。
0220nobodyさん
2006/02/23(木) 05:20:28ID:???ありがとうございまし!
なんとかできますたね!
おれさまのスキルだよ!
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:???きもいな
0224nobodyさん
2006/02/23(木) 07:41:22ID:???0225nobodyさん
2006/02/23(木) 08:06:23ID:???荒れるんだって。
0227nobodyさん
2006/02/23(木) 10:39:12ID:???0229nobodyさん
2006/02/23(木) 11:31:15ID:???0230nobodyさん
2006/02/23(木) 11:32:08ID:cRiHYjaVそれを作って保存してくれる関数って無いでしょうか
0231nobodyさん
2006/02/23(木) 11:34:22ID:NhHoHXRnSQLのinsert文やupdate文を用いてテーブルを更新
insert into テーブル名 (名前) values ('値') //自分の例
このような場合、「値」の部分に「'」が入っていると(例:TE'ST)実行に失敗するのですが
よい回避方法はありますでしょうか?
htmlentities($name, ENT_QUOTES);で文字を変換してやってみましたが出来ませんでした
0233nobodyさん
2006/02/23(木) 11:47:54ID:???もし板違いスレ違いだったら誘導していただけると助かります。
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]);
0236nobodyさん
2006/02/23(木) 13:50:14ID:cRiHYjaVありがとうございます
0237221
2006/02/23(木) 14:05:43ID:???あ、すみません。全くその通りですた・・・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ブログラム」
をつくってみたいと思います。
今、具体的に頭に描いているのは、
名前
所属
メールアドレス
コメント
というのをそれぞれ入力してもらい、
[投稿する]ボタンをクリックすると投稿される、というものです。
これはまんまBBSの形に似ているので、BBSを動かすPHPプログラムを
ちょちょっとせせるだけでなんとかならないかなぁと思っています。
もしなにかアドバイスがありましたらひとことだけでもよろしくお願いします。
0239nobodyさん
2006/02/23(木) 14:50:33ID:???mysql_real_escape_stringかmysql_escape_string
どちらがいいかはマニュアル調べれ
0240nobodyさん
2006/02/23(木) 15:14:06ID:???これからも、ここに書き込むのなら、
名前を固定にしてトリップをつけると幸せになれると思いますよ。
3年も2chに馴染まれているので、今更でしょうけど、
念のため、名前欄で「俺様#hogehoge」とかであなただけのトリップが持てますからね。
是非。
0241皮先くん ◆N3i.Qu1SoY
2006/02/23(木) 15:42:12ID:???これでいいですか?
ではさっそく。
>>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:???0247皮先くん=241=242 ◆N3i.Qu1SoY
2006/02/23(木) 17:17:49ID:cy2LQUXfIDを出さない行為がよくない行為だというのは初めて知りました。
これからはIDもトリップも露出して正々堂々と闘うことを誓います。
>>244
の続きの話ですが、
どうもapacheは最初からpostとかgetとかサポートしているみたいですね。
というか世の中ほとんどGETなどの世界でWWWが存在しているっていうかw
う〜む、原因がわからない。
誰も教えてくれないようなのでひとりで悩むより
次の課題に取り掛かりたいと思います。
課題を思いついたらまた書き込みますね。
誰かが課題を出してくれても大歓迎です。
PHPのスキルの更新が目的ですので。
0248nobodyさん
2006/02/23(木) 17:22:49ID:???0250nobodyさん
2006/02/23(木) 17:47:28ID:???ありがとうございます
一応自力でどうにかする方法も見つけたのですが、こっちの方がスマートそうです
4.3以降はmysql_real_escape_string
それ以前はmysql_escape_string
を使うようです
0252nobodyさん
2006/02/23(木) 17:48:47ID:???0253nobodyさん
2006/02/23(木) 17:59:57ID:???0254nobodyさん
2006/02/23(木) 18:10:22ID:QpcRsDDOUTF-8でPHPなども組んできたいと思います。
sjisだとsubstr関数が上手くいかないなどの問題点を聞いた事はありますが、
URF-8の問題点などございましたら教えてください。
ちなみに、現在はEUCを使用しております。宜しくお願いします。
0255nobodyさん
2006/02/23(木) 18:14:23ID:cy2LQUXf皮先はちょうど太陽のような存在だろう。
あぽーんさせないためには普通はトリップをつけないことを
考える(=北風)が、皮先は太陽のように
自分からあぽーん設定を解除させる術に長けている。
>>251
>そんなこと言っちゃったら名無しに戻っちゃうだろ
それを敢えてせずに真っ向勝負が皮先クオリティ。
いつしか皮先のハイクオリティな書き込みを見たくて
透明アポ〜んを外したくなる、それが皮先。
0257nobodyさん
2006/02/23(木) 18:42:06ID:???ここの回答者全員バカじゃん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:???Unicodeから他の文字セットに変換する際に
その変換テーブルが統一されてないので、
文字の一部で変換に環境による違いが発生する。
0262nobodyさん
2006/02/23(木) 23:19:47ID:???function hoge(){//本当はもっと複雑です。
$a = 'hoge';
}
echo $a;
みたいなことがやりたいのですが、出来ませんでした。
逆はglobalで出来るのですが、このパターンは分かりませんでした。
ご存じの方教えてください。
0264nobodyさん
2006/02/23(木) 23:51:45ID:???0265nobodyさん
2006/02/23(木) 23:54:03ID:???ヒント: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('3','7')
のように変換したいのですが、どうするのがスマートですか?
foreachで展開してまた、配列を作るという頭の悪そうなアルゴリズムしか浮かばないです
orz...
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:???PHPスクリプトは動いていますがPHPが作ったディレクトリやファイルが消去できなくなっています
FFFTPでパーミッション等の設定をいくら変えてもダメです
で原因はパーミッションでは無くディレクトリやファイルの所有者自体が違うから
まではわかりました(すべてではないが一部ある)
このレンサバの仕様は
CGI の実行権限 others権限(SuEXEじゃないサバ)
ファイルの所有者は私
PHPはCGI版ではなくapacheのモジュールとして動作
CGI を実行するユーザ名 wwwユーザー
つまりPHPが作ったディレクトリやファイルの一部が私ではなくwwwユーザーになっているものが
原因のようです(すべてではないが一部ある)。FFFTP上でも所有者名が違うことがわかります。
Googleしたところ、CGI等が作ったファイルが所有者違いのため消せないことがある
そういう場合はCGIを使って消すべしとあったのでFFFTPで直接消そうとするのではなく
rmdir()やunlink()のスクリプト経由でやってみましたがこれもダメです
今回は最悪サバ缶に消去を頼むとしても、原因を突き止めないと消せないファイルはこれからも
作られ続けるので
PHPのどこを気をつけたらこの症状が防げるか
これを消すPHPのプログラムがあったら教えていただけませんか
0278276
2006/02/24(金) 17:06:05ID:NYH/iAxrエエェェ(´д`)ェェエエ
良ければもう少し詳しく教えていただければ助かります
このサバにいるかぎり直す方法はナイということですか?
共用だから他にも利用者がいるので文句が多数出ないように
そういう仕様にはしないような気もします
この理解は違うのでしょうか
0280nobodyさん
2006/02/24(金) 17:14:51ID:???ディレクトリ自体もphpで掘ったなら、ちょっとめんどうだね
0281nobodyさん
2006/02/24(金) 17:27:08ID:???phpの問題、つうか、セキュリティ上の問題。
セーフモードで動いてるんで、そうなる。
鯖を変えたところで、セーフモードでやってる所じゃ同じ事になるね。
たぶん、phpでファイルを消すスクリプトがおかしいんだろ。
ファイル作ったときに、パーミッションを適正に設定してないとかじゃねーの?
0283nobodyさん
2006/02/24(金) 17:28:26ID:???0284276
2006/02/24(金) 17:31:58ID:NYH/iAxr>ディレクトリ自体をphpが掘ったなら
こういう現象になることがあるということですか?
>>279
PHPスクリプト自体はご機嫌よく稼動しています
エラーはとくに無いみたいです
0285276
2006/02/24(金) 17:46:14ID:NYH/iAxrセーフモードじゃないということで借りています
借りる時(試用期間中)にチェックもしました
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:Z8amSH1Wos=windows XP
HTMLコーディング=出来ます。
CGI=有り物の設定をちょこっと変更する程度。
PHPでこんなことをやろうと思っています。
-------------------------------------------------------------------
HPの右隅にカレンダーと新着を置いて、別webページより管理
カレンダー:2ヶ月表示オートで切り替わり、管理ページより指定した日にちだけ
だけ赤く表示・キャンセル機能
新着:管理ページより、新着情報入力追加・削除・コメントリンク機能
-------------------------------------------------------------------
HPで表示するだけ、別webページで管理変更をPHPで作れるのでしょうか?
PHPで出来るとしたら、構造はたぶん頑張って勉強して出来ても、HPへの引き継ぎ処理が何をどうやればいいか見当が付きません。
PHPの根本から勉強しなくては出来ない事でしょうか?
0291nobodyさん
2006/02/25(土) 15:15:28ID:???貴方が使われてる「HP」の意味が不明瞭です。
(HomePageの略であろうことは判ります)
現在のHomePageの意味合いは、Webブラウザでアクセスできる
インターネット上のコンテンツぐらいの大雑把なものなので
CGIやPHPで作った動的なコンテンツもHomePageといえます。
0293nobodyさん
2006/02/25(土) 15:41:53ID:???3回くらい読み返してみましたが
何を聞きたいのかさっぱりわかりません。
適当におぎなって推測しても5通りくらいに解釈できます。
質問を整理してください。
0294nobodyさん
2006/02/25(土) 15:44:41ID:Z8amSH1W不明瞭な表現をし、失礼致しました。
トップページのカレンダーと、新着情報を管理ページからの変更で内容が変わるようにしたいと考えております。
管理用のアクセス制限ページを作り、そこで変更・追加・削除の管理したいと思っております。
0295nobodyさん
2006/02/25(土) 15:51:55ID:???いや、具体的な機能(表示とか管理)の話以前に
「HPへの引き継ぎ処理が」というところで
その"HP"って何よ?という疑問がでるということ。
0296nobodyさん
2006/02/25(土) 16:00:13ID:Z8amSH1W1.PHPでサイトトップページの二ヶ月表示のオートカレンダーの色変更を別ページから、更新できるようにすることが可能でしょうか?
2.PHPでサイトトップの新着情報の変更・追加・削除・を別ページから、更新できるようにすることが可能でしょうか?
3.PHPで出来たとしても、(テンプレ等探しましたが見あたらず)本を読む程度の漱石じゃ不可能そうでしょうか?
0297295
2006/02/25(土) 16:00:20ID:???そのトップページの生成方法を
・新着情報等をincludeするSSIを利用したshtmlにする。
・新着情報等をincludeするPerlやPHPを利用したCGI他の動的なものにしてhtmlを出力する。
・トップページは静的なhtmlにして、そのhtmlを別の管理プログラムで書きかえる。
0298295
2006/02/25(土) 16:03:27ID:???これはincludeじゃなくて「取り込む」という意味で
0299nobodyさん
2006/02/25(土) 16:07:13ID:???PHPでそういうサイトを作れるか?ということであれば、作れます。
> PHPの根本から勉強しなくては出来ない事でしょうか?
ある程度自在に操れない人の場合、自作するのはかなり困難でしょう。
残念ながら、そういう仕組みの既存のスクリプトがあるかどうかは知りません。
>>295
引継ぎ、つーか、(PHPスクリプトが処理する)変更を(HTMLで作ろうとしている)画面上に反映、ってことだべ。
HTMLにPHPを埋め込める つー悲しい誤解が導き出した悲劇だぁね。
実際には、こういう手順になる。
1. もともとhtmlファイルだったものをphpの中の人が処理できるように拡張子phpに変更する。
2. 必要に応じてphpの命令を埋め込む。
0300290
2006/02/25(土) 16:13:10ID:Z8amSH1Wありがとうございます。
解決の糸口が見えてきた気がします。
メモして、何とか探して勉強してみます。
0302nobodyさん
2006/02/25(土) 16:14:48ID:???>>290は>>293と>>295のレスから
どうやって解決の糸口を見つけたのか…
謎は永遠に残ったままなのであった
0304nobodyさん
2006/02/25(土) 16:32:22ID:???0305nobodyさん
2006/02/25(土) 16:35:37ID:???0306nobodyさん
2006/02/25(土) 17:25:15ID:cZFcTwP1<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"でアクセスするようにしたいです
0310皮先くん ◆N3i.Qu1SoY
2006/02/25(土) 19:59:19ID:???ttp://oresama.hopto.org/~sheel/nwbachlow.shtml
このように2006年2月の各都市の最低気温の平均値を自動算出させて
使っています。重宝しているのですが、スクリプトをいちいち書き換えなければ
現状では2006年の2月しか対応できません。
そこで質問です。
formを使って○年の△月の○と△の部分をshellscriptに送る方法は
ありますか?
もしくはshellscriptではなく
phpで2006年2月の各都市の最低気温の平均値を自動算出可能ですか?
0311nobodyさん
2006/02/25(土) 20:06:18ID:???> phpで2006年2月の各都市の最低気温の平均値を自動算出可能ですか?
データがあれば、スクリプト組めば算出できるんじゃね?
shellscriptはスレ違いだと思う。
0312nobodyさん
2006/02/25(土) 20:08:33ID:???bashスクリプトがコマンドライン引数を受け取って処理できるようにしてあれば
$output = `スクリプト $引数`; って形でスクリプト呼んで出力を受け取れるよ。
0313nobodyさん
2006/02/25(土) 20:32:21ID:???0315皮先くん ◆N3i.Qu1SoY
2006/02/25(土) 20:46:54ID:F0bSXXFWありがとうございます。
データは気象庁のWebサイトからcurlコマンドで取得しています。
phpでは、bashみたいに
(1)curlして
(2)好きな行の好きな数値だけをgrepやsedでピックアップ
ってなところも可能ですか?
0316nobodyさん
2006/02/25(土) 22:28:03ID:???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:???むかーしハマったの思い出した。。
コレ使ってみ
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 "おしまい";
}
0322nobodyさん
2006/02/26(日) 00:49:02ID:???あー、こうかな
if ( ! unkink( $file ) && ( ! chmod( $file, 0666 ) || ! unlink( $file ) ) ) {
0324皮先くん ◆N3i.Qu1SoY
2006/02/26(日) 02:26:44ID:WcIHh0oV>>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:???0326皮先くん ◆N3i.Qu1SoY
2006/02/26(日) 02:42:30ID:WcIHh0oV0327nobodyさん
2006/02/26(日) 03:16:23ID:???0328nobodyさん
2006/02/26(日) 03:18:22ID:???0329nobodyさん
2006/02/26(日) 03:49:50ID:tRG/7BVDphp.iniは間違いなく設定してある
同時にログを取るためにfwrite関数を使ってるけどこれも化けてない
考えられる原因を全て答えろ童貞うんこちんこども
0330nobodyさん
2006/02/26(日) 03:59:19ID:???mb_internal_encoding("使ってる文字コード");
これをmb_send_mailする前に呼べばうまくいったような覚えがするが
動かなかったらごめんね、小便野郎
0331nobodyさん
2006/02/26(日) 04:01:30ID:???0332nobodyさん
2006/02/26(日) 04:05:05ID:???0333皮先くん ◆N3i.Qu1SoY
2006/02/26(日) 04:16:24ID:WcIHh0oVttp://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:???0338nobodyさん
2006/02/26(日) 11:55:23ID:???個人的にはこっちのスレ残して欲しい。くだ質は読んでないし書き込みもしてないし。
まあ本当にスレの必要がなくなれば誰も書き込まなくなって自然に落ちるのだから統合だのなんだの言うだけ無意味だが。
人がいる限りどうせ次スレ立つでしょ。
0339nobodyさん
2006/02/26(日) 12:07:01ID:???0340nobodyさん
2006/02/26(日) 12:29:18ID:???平均点10のテストなんて中学生に東大入試解かせるとかそんなんだろ
実際は数学英語国語全て偏差値30以下の池沼なんだろうけど
0341nobodyさん
2006/02/26(日) 12:33:24ID:???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全国平均点が10点もないとんでもないテストがあって、
それで100点取ってみたら偏差値105くらいだったよ。数学な。
まぁ2年の最初で3年も一緒に受けるテストだったからそれくらいの平均点はしょうがないし。
それにしても>>342の言うことは正しい。
東大に行ったくらいで神扱いな底辺高校だった。
0347nobodyさん
2006/02/26(日) 14:33:01ID:???ループ内で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の件なんですが、
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質問なのですが、
if文の条件部分に間違えて代入演算子を使ってしまったのですが
PHP、アパッチ共に怒ってくれませんでした。
if( $hoge = "hogehoge" )
{
}
で、入門書で調べたところ、
「気をつけてコーディングしてください」
とだけあったのですが、
皆さんは、自分で気をつける以外の方法をお持ちですか?
(チェックツールのようなもの?)
0352nobodyさん
2006/02/26(日) 16:06:39ID:???0353nobodyさん
2006/02/26(日) 16:09:31ID:???その間違い間違いであるがエラーではないからだれも教えてくれません。
その手のミスを防ぐ原始的な方法としては
if ( "hogehoge" == $hoge) ;
と書くようにすること。こうすれば "hogehoge" = $hoge はエラーとなるのでわかりやすい
0354nobodyさん
2006/02/26(日) 16:16:39ID:???で良く使われるヤツだな。
NULL == $xって最初は何だ?って思うんだけどね。
0355nobodyさん
2006/02/26(日) 16:20:59ID:???ifの条件式の中で代入演算子が使えなくなったり怒られたりするようになると、手間が増えて面倒。
特にNULL,FALSE,なんかの値(や配列)のどれかを返す関数を使う場合、ifやwhileの条件式の中で使うとすっきりと書ける。
ミスの対処法は>>353が書いてるようにするくらいしか無いんでね?C FAQでも見かけた希ガス。
0356nobodyさん
2006/02/26(日) 16:23:25ID:???0357nobodyさん
2006/02/26(日) 16:37:46ID:YAFRqcKG0358nobodyさん
2006/02/26(日) 16:39:13ID:izomZemYいや、ホント助かりました。
ありがとうございます。
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:???> 「・構文チェック機能 … ボタン一発で構文エラーがないかチェックできます。」
> で、前述の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) ってミスタイプ防止が目的だったのか…
同じ会社でこういうコーディングする人がいるから何でだろうとずっと思ってたよ。
0362nobodyさん
2006/02/26(日) 17:04:43ID:???>>358
> echo関数の引数に、改行コードを含めるのは慣例で、
そんな慣例は無いと思うけど。
> 理由はHTMLとして出力された時に読みやすくする為という事でよいですか?
出力に改行が欲しければ改行を付ける。不要なら付けない。そんだけ。
HTML中の改行は、場所によっては無視されるのでデザインに影響しないけど、
場所によっては表示に隙間ができたりする場合もあるから要不要はちゃんと考えないと。
0363nobodyさん
2006/02/26(日) 17:18:49ID:YAFRqcKGそんなのあるの始めて知った
ありがとう
0364358
2006/02/26(日) 17:22:31ID:???ありがとうございます。
仰るとおり、上述のIDEには怒られませんでした。
また、いただいたサンプルコードで、
理解できました。
$fpにはtrueが入っているって事ですよね。(bool型あるのか。。)
優しく教えてくれて感謝です。
お仕事などお忙しいでしょうが、
頑張ってくださいね。
>>362
よくわかりました。
>場所によっては表示に隙間ができたりする場合もあるから要不要はちゃんと考えないと。
これ、助かりました。
知らなかったら必ず一回はハマりそうです。
そこら辺も意識にいれてやっていきます。
ありがとうございます。
それでは300円で買った10日で覚えるシリーズを
今から10日分進めたいと思いますです。
皆さん、ありがとうございました。
0365nobodyさん
2006/02/26(日) 17:37:35ID:???というスクリプトに対してwarning! chmod() opening なんとか remitted in なんとか online 243
とか言う警告がサーバーでプログラムを動作させると出るけど何でしょうか?
ちなみに画像掲示板スクリプトですが動作は正常です。あくまで警告が気になります。
0366nobodyさん
2006/02/26(日) 17:44:48ID:???ファイルのオーナーが違うかパーミッションの問題かサーバーで制限をかけてるかで
chmodがちゃんと働いてないんじゃないの?
特に困ってないなら @chmod() って感じで@つけて表示を抑制しちゃってもいいと思うけど。
0367nobodyさん
2006/02/26(日) 18:05:12ID:???==では定数を左に置くと、比較演算子と代入演算子を間違えるミスをし難くなる
・・・と
0368nobodyさん
2006/02/26(日) 18:08:40ID:???ミスしたときに気づきやすい
0369nobodyさん
2006/02/26(日) 18:08:45ID:???0371365
2006/02/26(日) 18:14:48ID:???@ってどういう効能でしょうか?//などのコメント表示とは意味合いが違いそうですが。
まずは言われたとおりにやってみます。
0372nobodyさん
2006/02/26(日) 18:16:53ID:rIz4zvidファイルを呼び出して、表示というのはできないのですかね?ファイルを呼び出しだと、更新が楽なのですが…
0373366
2006/02/26(日) 18:19:58ID:???サーバー制限やオーナーなどの場合の対処ってどういうのがあるでしょうか?
質問範囲が広すぎて答え難い場合は失礼します。
0375nobodyさん
2006/02/26(日) 18:44:28ID:???次の様なエラーがでてきます。
対処方法をお願いします。
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
0378nobodyさん
2006/02/26(日) 19:02:21ID:???コードビハインド的な手法は、
PHPで確立されていますか?
0379nobodyさん
2006/02/26(日) 19:12:47ID:???コードビハインドって何じゃ?と思ったが、ググってみるとHTML部分を外部に放り出すってことか。
「テンプレートエンジン」って言う事の方が多いかも知らんね。
幾つかあるけど、PHP開発元の推奨だと、smarty( ttp://smarty.php.net/ )かねぇ。
0380nobodyさん
2006/02/26(日) 19:31:40ID:???とても有益な情報、ありがとうございます。
そして、とても丁寧に。。
>>379さんの書いたソースは読みやすそうです^^
リンク先、熟読してみます。
ありがとうございました。
0381nobodyさん
2006/02/26(日) 20:07:32ID:???ありがとうございました。
解決しました。
しかし、次の壁にぶち当たりました。
次の様なものです。
よろしくお願いします。
Parse error: syntax error,
unexpected '<' in c:\program files\apache group
\Apache\htdocs\mytest1.php on line 33
0383nobodyさん
2006/02/26(日) 20:19:53ID:IH+ZKFPyリンクに飛ばすphp教えていただけませんか。
よろしくおねがいします。
0384nobodyさん
2006/02/26(日) 20:24:39ID:???選択した値(なんでもいい)に応じて飛ばす先のURLを用意して
header()でLocation使って飛ばすだけ。
0386nobodyさん
2006/02/26(日) 20:29:43ID:???ドキュメントのどこらへんでエラーがあったか知るうまい方法教えてください
0387nobodyさん
2006/02/26(日) 20:56:02ID:???英語を解読しましょう。
ただし、33行目を見渡してもエラーがない可能性もありますので、
その前後も見てみましょう。
あと、次からもう少し自分で調べる努力をしてみてください
0388nobodyさん
2006/02/26(日) 20:57:36ID:???XMLはあまり使わないんでよくわからないけど、
xml_get_current_line_numberは違うのかい
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ありがとう。
0392nobodyさん
2006/02/26(日) 22:13:25ID:???お前の中の認識がものすごくおかしいのが気になる。
電波伝播方式世代: 3G
世代ブランド:FOMA WIN mova
ファイル形式: HDML
会社名: willcom (willcomeじゃねぇよ)
0393nobodyさん
2006/02/26(日) 23:10:21ID:???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:???0398nobodyさん
2006/02/26(日) 23:40:01ID:???なるほど。いっかい使ってくっつけてまた分解すればいいのか。
$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:???0400nobodyさん
2006/02/27(月) 00:21:49ID:???シリアライズして1個のinputにまとめちゃった方がいいんじゃないのか
0402nobodyさん
2006/02/27(月) 02:08:49ID:???それ使うと、たとえば "hoge[0]" という文字列が取得できずに
hoge[0] という配列変数がゲットできてしまう。
<INPUT>には書けない。
0404nobodyさん
2006/02/27(月) 21:01:28ID:???0405nobodyさん
2006/02/27(月) 22:23:53ID:u/5yiFb0ctype_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:???> ctype_alnum を使っているのですが、
> 例えば "123456" を入れても false が返ってきてしまいます。
再現しない。再現するコードを寄越せ、サイトウ。
> 文字列の最後 $str(strlen($str)) を ord すると
> "0" になります。
存在しないデータをordしたら0になるのは当然じゃないのか。ord('')でも0になるぞ。
0407405
2006/02/27(月) 22:40:12ID:u/5yiFb0失礼しました。
たったこれだけなんですが…
$password = $_REQUEST['password'];
if (!ctype_alnum($password)) {
0408nobodyさん
2006/02/27(月) 23:06:38ID:d/u1H5JH先ほどインストールを終わらせ、
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:???マルチバイト関数入ってないとかじゃないよね?
phpinfo()
でmb関係有効になってる?
というかくだ質じゃね
0413皮先くん ◆N3i.Qu1SoY
2006/02/28(火) 03:09:36ID:0kpMwz/eそれともおまいらの"静観"という「最も強力なアドバイス」のためか、
とにかくとうとう成功しますた!!
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:???>くだスレで華麗にスルーされたのできますた。
その質問自体が目に入らなかった。
ストアドとかMySQL4.1や5以降でサポートされた機能は
従来のMySQL拡張サポート(mysql_*関数群)ではなく
改良版MySQL拡張サポート(mysqli_*)を利用する必要がある。
http://jp2.php.net/mysqli
0418皮先くん ◆N3i.Qu1SoY
2006/02/28(火) 09:15:26ID:A8IEBtjw以前のデータに「書き加える」ことはできるようになりました。
また、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:???substrでやるのしか考えられませんですた
0421nobodyさん
2006/02/28(火) 11:44:42ID:???$s = "12345678";
$s1 = $s{0}.$s{1};
$s2 = $s{2}.$s{3};
$s3 = $s{4}.$s{5};
$s4 = $s{6}.$s{7};
クールかどうかはともかくこれが1番シンプルで速いんじゃ。
0424nobodyさん
2006/02/28(火) 12:40:53ID:???エレガントじゃないけど、適当にやってみた
$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:???0426424
2006/02/28(火) 13:23:53ID:???やってみて、それで出来ないと思った俺がいる(bool cutを指定してなかっただけ)
# あと数字6文字だと思ってた。
使える関数が色あるな>PHP
0427nobodyさん
2006/02/28(火) 13:47:39ID:???正規表現が次に想定してた方法ですた。
PHP5ならばstr_split()がベストのようです。
wordwrapはそのまま出力する時につかえますね。
既出スマソ
>>421-426皆様ありが�d
0428nobodyさん
2006/02/28(火) 23:00:13ID:C5SJRerwsafemodeじゃないのにphpからフォルダが作成できないです。
ちなみにperlからも出来ない・・・orz
これってモジュール版で動いてるから仕方ないんでしょうか?
解決策は鯖管に頼むしかないんでしょうか・・
0431nobodyさん
2006/02/28(火) 23:23:37ID:???出来ました!
でもパーミッションが設定どおりには出来ませんでした。
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:???0434nobodyさん
2006/03/01(水) 00:16:35ID:???phpをモジュールはApacheのユーザで動くのでphpで作ったディレクトリはapacheとかnobodyとかになってOK
phpやperlで処理するなら07xxや06xxで問題無いと思うけど?
adminの権限は?root権限があるならApacheをadminで動かすのはいかがかと。
ってか連鯖でしょ?変更できるのかね・・・
0435nobodyさん
2006/03/01(水) 10:59:06ID:???ありがとうございます。
所有者が違うとFTPソフトでダウンロードが出来ない事があるんですね。
では現在の>>431は動作的にはごく普通と解釈してもよろしいのですね。
ユーザ:adminにroot権限があるのかはどのようにしたらわかりますでしょうか・・。
0436nobodyさん
2006/03/01(水) 17:07:26ID:???0439nobodyさん
2006/03/01(水) 18:39:11ID:???手始めにPC-UNIXを勉強すると分かる。
0440nobodyさん
2006/03/01(水) 19:02:10ID:???0441nobodyさん
2006/03/01(水) 20:02:44ID:???〇 きんもーっ☆
慣れないことをするから……
0442nobodyさん
2006/03/02(木) 11:01:03ID:gp0qU8DL$test = "『これはテストです』";
func2();
print "$test";
}
function func2(){
$test = "『func2内で新たに定義されました』";
}
//-------メイン----------
func1();
=======================================
func2 の内容が反映されないのですが
どうしたらよいでしょうか。上記がコードです。
0444nobodyさん
2006/03/02(木) 11:04:44ID:???0445nobodyさん
2006/03/02(木) 11:12:00ID:???値渡しのときはreturnで戻す
0447nobodyさん
2006/03/02(木) 15:19:17ID:d8+PxLHhそのほうがよさげだね。
むしろ
利用環境(OS、ソフト、PHPバージョンなど)
みたいなのがいいぽい?
次回テンプレに入るといいね
0448nobodyさん
2006/03/02(木) 18:35:04ID:???何かおすすめの書籍ってありますか?
よろしくお願いします。
0449nobodyさん
2006/03/02(木) 18:49:27ID:???0450nobodyさん
2006/03/02(木) 20:31:51ID:???0451nobodyさん
2006/03/02(木) 20:36:21ID:???むしろ
『「エスパーきぼんぬ」「氏ね」「(゚Д゚)ハァ?」等のレスを貰う八ヶ条』
は補足するくらいなら
『「エスパーきぼんぬ」「氏ね」「(゚Д゚)ハァ?」等のレスを貰わないための八ヶ条』
に変えるべき
0459nobodyさん
2006/03/02(木) 21:39:44ID:???目的を履き違えてる。
エスパーきぼんぬなやつは、言ったところで改善は不可能なんだから、
それは自覚を促して丁重にお帰り願うための文面だ。
「エスパーきぼんぬのレスをもらわないための方法」など無い。
0461nobodyさん
2006/03/02(木) 21:41:55ID:???0462nobodyさん
2006/03/02(木) 21:42:31ID:???0463nobodyさん
2006/03/02(木) 21:44:19ID:???0465nobodyさん
2006/03/02(木) 22:28:50ID:???>>451の案で平和になるのが理想なんだし。
・・・けど、最近皮肉とかブラックユーモアって通じにくくなってるよな・・・
ちょっとさびしい。
0467nobodyさん
2006/03/02(木) 23:45:40ID:???0469nobodyさん
2006/03/03(金) 00:09:59ID:???0470nobodyさん
2006/03/03(金) 00:14:14ID:???普通に 「質問者のルール」 って題名で箇条書きにすればいいのに
わざわざわかりにくくしてるし。
0472nobodyさん
2006/03/03(金) 00:36:24ID:QWJoZw1q完璧は求めていないので。。
phpに移植が大変><;
誰か作ってくれないかなぁ・・・・
0473nobodyさん
2006/03/03(金) 00:38:27ID:???逆はともかく、Perl→PHPはPerl→sedとかPerl→awkが無いのと一緒で、
できないことがあまりに多すぎて作るの無謀だと思う。
0474nobodyさん
2006/03/03(金) 00:39:35ID:???「…なんだけど、どうすればいいのかなぁ」「何が悪いんだろう?」
0475nobodyさん
2006/03/03(金) 00:44:00ID:???回答がもらえやすいと思ってずっと情報小出しにしてた
0476nobodyさん
2006/03/03(金) 00:50:56ID:???0477nobodyさん
2006/03/03(金) 05:26:03ID:???ひっぱってきてるんですが、
これをするとヘッダーファイルに画像の相対リンクとか貼ってある
ときに困ることになります。
(require()されるファイルの場所次第で画像のリンク先が変わってしまう)
絶対リンク使えばいいんですが、SSLを使ったりするときもあるので
これは避けたいと考えています。
画像のリンク先を変数かなにか使ってやるのがいいかと思うんですが、
上手く思いつきません、グッドアイデアお願いします
0478nobodyさん
2006/03/03(金) 07:26:08ID:???elsif -> elseifの置換ぐらいなら問題ないけど =~ であきらめた
sub -> functionも引数の取り扱いや変数のスコープが違って自動では無理
0479nobodyさん
2006/03/03(金) 07:35:07ID:???<?php
$imageDir = "../img/";
include "header.php";
?>
header.php
<style>
body { background-image: url("<?php echo $imageDir?>bg.gif") }
</style>
0483nobodyさん
2006/03/03(金) 14:38:07ID:WgfWnQX6php_pgsql.dll
とかがないんですが、どこから入れたらいいんでしょうか?
0484nobodyさん
2006/03/03(金) 14:54:20ID:???環境によって違うがFedoraCoreのrpmなら
/usr/lib/php/modules
に
mbstring.soやgd.soが入る
0485nobodyさん
2006/03/03(金) 15:10:50ID:WgfWnQX6あ、環境書かなくて申し訳ないです。
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:???ソースのextディレクトリに各モジュールのディレクトリがある
好みのディレクトリに移動して
phpize
./configure --help
./configure --enable-hoge
make
make install
で
/usr/local/lib/php/extensions/*****/
あたりにインストールされる
0487nobodyさん
2006/03/03(金) 16:54:06ID:???ちなみにコンパイル時に指定したモジュールはphp.soに内蔵されるので拡張モジュールのように別ファイルにはならないよ
0488nobodyさん
2006/03/03(金) 16:58:58ID:WgfWnQX6ありがとうございます!
やってみますー
0489nobodyさん
2006/03/03(金) 23:29:21ID:t7JloJn3phpinfo();は表示されます。
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:???0491nobodyさん
2006/03/04(土) 00:05:16ID:???それは普通の振る舞い。apache側で設定すれば実行されないわけ
じゃないけどな。ただそれをするとapacheの負担にもなると。
0492nobodyさん
2006/03/04(土) 00:20:09ID:???0493489
2006/03/04(土) 01:45:09ID:aZXPUvQzサンプルソースにタグが入っていたので、perl CGIのように呼び出していると
思っていました。ありがとうございました。
0496nobodyさん
2006/03/04(土) 03:07:45ID:???ftp_puts()でファイルアップロードしようとすると
あるサーバーAにはちゃんとアップロードされるのですが
別のサーバーBだと0バイトのファイルが作成され、falseが返ってきます
ftp_nb_put()やftp_pacv()なども試してみましたが状況は同じでした
他に何か試してみるべき事はありますか?
0497nobodyさん
2006/03/04(土) 09:27:11ID:???パーミッション、ファイルのパスが合っているか、
また念のためソースの一部を書いたほうがわかりやすいと思います。
0498nobodyさん
2006/03/04(土) 10:32:48ID:???B:WEBサーバ
A、Bはそれぞれ別のネットワークにあります。
Aのデータベースに接続し、データを取得してきたり
修正したりするPHPプログラムをBに設置し、
B上の Apache のCGI(PHP)から
データの表示やまたは修正を行えるようにしています。
Apache では SSL を使用しているのですが、
この場合、MySQL側でもSSLを使用すべきでしょうか?
Aから引っ張ってくるデータは盗み見されると困る内容ですが、
上の例の場合、どこからどこまで Apache の SSL が
機能するのかよくわからなくなってきました。
0502nobodyさん
2006/03/04(土) 14:39:20ID:???$t_string = eregi_replace("</title>(.*)","",$t_string);
htmlソースからタイトル部分だけ取り出したいのですが、
上記のように二段つかっているのを1つにまとめるにはどうすればいいでしょうか。
0503nobodyさん
2006/03/04(土) 14:40:31ID:???サーバAにはSSLなApacheは入ってないんだろ?
なら当然Webブラウザ-サーバB間のHTTPSに対してのみSSL。
0504nobodyさん
2006/03/04(土) 14:49:18ID:???0505498
2006/03/04(土) 14:53:39ID:???グローバルIPを介しますが、
PHPのmysql_connect() を使用する場合HTTPプロトコルでの
データのやりとりになるのでしょうか?
0506nobodyさん
2006/03/04(土) 14:57:35ID:???ただ、それは暗号化されていない平文。
だから、途中でsnoopされたりするのが心配だってことだな。
MySQLプロトコルを暗号化するのは聞いたことがない。
どちらにしても、鯖側にも何かモジュール入れないと無理そうだけどな。
0507498
2006/03/04(土) 15:09:05ID:???ブラウザと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:???なんか色んなところでマルチしてないか?
>別問題なのでしょうか?
いや同じ話だよ。ただPHPのmysql関数ではSSLを使う仕組みが
デフォでは無いので、拡張版のmysqli関数を使ってSSLの設定をする。
あとPHPのコンパイルでSSLも要るな。
0509496
2006/03/04(土) 17:58:12ID:???紛らわしいので以下のように表現を変えます
サーバー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+PS6require
require_once
の使い分けはどういう時に有効ですか?
0511nobodyさん
2006/03/04(土) 18:30:25ID:???includeとrequireは、
どんな条件下でも必ず評価されるものにはrequire
ある条件下で評価されない可能性がある(if文など)場合はinclude
理由はマニュアル嫁。
0512nobodyさん
2006/03/04(土) 18:33:47ID:???そのアップロードによって生成されているテンポラリファイルは確認してみた?
move_uploaded_fileして、一旦どこかに保存してやってみるとか。
0514510
2006/03/04(土) 18:48:08ID:WPEf+PS6具体的にどう使い分けるの?
分からないなら答えなくていいよ。
どうせ分かってないでrequire_once使ってんだろ。
0516nobodyさん
2006/03/04(土) 18:55:50ID:SB9snESx標準偏差や相関係数をJAVAではなくphpでやりたいのですが。
0517nobodyさん
2006/03/04(土) 18:56:32ID:SB9snESx標準偏差や相関係数をJAVAではなくphpでやりたいのですが。
0518nobodyさん
2006/03/04(土) 19:00:12ID:???正直俺もイマイチわからんので、わかったら教えてください
>>515
そういう無駄なことはいわなくていい。回答する気がないならスルー汁
0519nobodyさん
2006/03/04(土) 19:12:16ID:???俺も良く分からないまま使ってる
>>515
君の方が向いてないから止めた方がいいと思うよ
>>514は良く分からないまま使ってることが嫌で質問してるんだよ
これこそ向いてるでしょ
0520nobodyさん
2006/03/04(土) 19:30:31ID:???0522nobodyさん
2006/03/04(土) 20:26:32ID:???>>511が良回答。たぶんおまいらがこれ以上居座ると空気悪くなるのでくだらない発言は控えてもらえると助かる。
http://www.php.net/manual/ja/function.include.php
http://pear.php.net/manual/ja/standards.including.php
この2箇所読んでも不満や疑問があるならまた来ればいい。
とは言ってもpear標準は絶対必須というわけではないので、エラーの扱いについて正しく理解した上で明確な理由があるなら別の使い分けをしてもかまわない。
0523496
2006/03/04(土) 20:31:16ID:???スクリプトを他のサーバー3に置いて実行してみたところ、サーバー2にもアップロードできました
(サーバー1からスクリプトを実行しなかったのはFTP関数の使用が規制されているため)
どうもサーバー2からは自分自身にアップロードできないようです
スクリプトの不備ではなくサーバーの設定関係の問題のようなので
今後は自力でそっちの方を当たってみます
ありがとうございました
0524nobodyさん
2006/03/04(土) 20:32:43ID:???peclでこんなのあるけど。
http://www.php.net/manual/ja/ref.stats.php
0525nobodyさん
2006/03/04(土) 20:48:34ID:aGprecBmdefine('hoge', 'string');
echo "hoge is {hoge}";
echo "hoge is {'hoge'}";
↑どっちもダメでした。
0526nobodyさん
2006/03/04(土) 20:52:07ID:???投稿用テーブルkakikoにuser_idがあるのですが、ユーザ名が格納されているのは
ユーザテーブルusersの中のuser_nameです。
書き込み表示の時にユーザ名を表示させたいのですが、一旦kakikoからuser_idを取ってきて
その後にuser_idがある分だけusersからuser_id -> user_nameのSELECT文を発行しないと
いけないのでしょうか…
何かすごくマヌケなことをしている気がするのですが、これしか思いつかないもので…
user_id -> user_nameの関数を用意しても結局同じ数のSQLを発行しますよね
みなさんはどうやっていますか?
0527526
2006/03/04(土) 20:53:09ID:???echo "hoge is ".hoge;
普通大文字にすると思うけど。
echo "hoge is ".HOGE;
0528nobodyさん
2006/03/04(土) 20:53:45ID:???残念ながらPHPだと文字列リテラルに定数いれられないんです。
echo 'hoge is ', hoge; でがまんして。
0530nobodyさん
2006/03/04(土) 20:59:47ID:???sqlの話なのでスレ違いだけど
select * from kakiko, users where kakiko.user_id = users.user_id and なんちゃらかんちゃら
0531nobodyさん
2006/03/04(土) 21:00:39ID:aGprecBmヒアドキュメントの中で使いたいのですが
それだとソースがぐちゃぐちゃになっちゃいそう
>>527
無理ですか…
0533nobodyさん
2006/03/04(土) 21:09:50ID:???$hoge = HOGE;
$heredocument = "$hoge";
じゃダメ?
>>530
まだ理解できていないですけど、ちょっとやってみます。
0534nobodyさん
2006/03/04(土) 21:14:07ID:SB9snESx>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:???変数のパース
http://www.php.net/manual/ja/language.types.string.php#language.types.string.parsing
定数≠変数。定数がパースされないのは無難な仕様だと思うけど。
0536nobodyさん
2006/03/04(土) 21:36:26ID:???あとヒアドキュメントでも
http://www.php.net/manual/ja/language.types.string.php#60971
この手がいけるかと思う。でも
>それだとソースがぐちゃぐちゃになっちゃいそう
が気になるなら、早々に何らかのテンプレートシステムを導入。
0538nobodyさん
2006/03/05(日) 03:26:56ID:???俺は同じプログラムでrequire_onceとrequireとincludeは使い分けてるけど
include_onceだけまだ使ったことないや。そういえば。
0539nobodyさん
2006/03/05(日) 11:55:08ID:???include_onceでPHP5のラッパー関数を定義しといて
PHP4の環境でも同じソースで済むようにしてる
0540nobodyさん
2006/03/05(日) 14:06:29ID:???自分でスクリプト書いてみたが、どうもうまく動かない・・
filesizeの取得がマニュアルによると「sprintf("%u", filesize($file))で2G越え
てもいけるぜ」と書いてあるけど、エラーで取得できず。
おまけにfopenでファイルも開けずエラー。
どうしたらよかとですか。
教えて、エロイ人。
0541nobodyさん
2006/03/05(日) 14:25:52ID:???「うまく動かない」→どう動かないんだ?
「エラー」連呼→エラー文はコピペしろ。
上記を踏まえて・・・ダウンロード、filesizeとか言ってる辺りから推測すると、
まさか、その1ファイルを全部PHPのメモリ上に乗せてから出力させてんのか?
それならロジックを変えるか、実装メモリを増やしてPHPのメモリ設定変更。
・・・どう考えても後者は実用的じゃないがな。
0543nobodyさん
2006/03/05(日) 16:36:09ID:???エラー内容はファイルサイズ取得で
「filesize() [function.filesize]: stat failed for ***」とでます。
fopenも同じエラーです。
メモリに一気に乗せるロジックではなく、freadでループさせて
吐き出そうとしてますが、それ以前の問題なんでつorz
>>542
PHP.iniのリミットのことですか。
ファイルサイズ取得、ファイルオープンと関係あるんでしょうか。
0545nobodyさん
2006/03/05(日) 18:55:22ID:???***のところはファイル名です(録画済ファイル)
具体的には
「filesize() [function.filesize]: stat failed for /video/1003_20060303220000_20060303225400.nuv」
のような感じです。
書くと、長くなるためとファイルの扱いに関係がないと思われたため記述を控えました。
0546nobodyさん
2006/03/05(日) 19:12:45ID:???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
いや、エラーの詳細が判ったので今のところ関係ないと思われる<リソースリミット
0547546
2006/03/05(日) 19:18:13ID:???0548nobodyさん
2006/03/05(日) 19:25:31ID:???ファイルは実際存在し、ファイルサイズの小さなもの(60M程度)を
ダウンロードしてみるとダウンロードはできます(データも問題なし)。
パーミッション、オーナーともにダウンロードできるファイル
と同一のため問題なく思われます。
パス指定は現在絶対パスで行っています。
値はGETで取得、これも問題なく取得できています。
書き忘れましたが、apacheのバージョンが1.3.33、PHPのバージョンが5.1.2
です。
ああ、どうしたらよいものやら・・orz
0549nobodyさん
2006/03/05(日) 19:32:50ID:???0550nobodyさん
2006/03/05(日) 19:37:53ID:???0551546
2006/03/05(日) 19:39:21ID:???#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:???でもエラーは「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:???勘だけど、statした結果のファイルサイズ(st_size)が2GB以上だと符号付で見なしたときに負の値になって、PHPがどっかでエラーチェックのつもりで0と比較してエラーフラグ立ててるとか、どうせその手のアフォな話だと思うね。
>>540
というわけで、現時点ではPHPで2GB以上のファイルは扱えない、といったところか。
そもそもPHPのintはCのintそのままだからそこらのプラットフォームでは0x80000000以上の数値扱うこと自体に無理があるんだよな。
PHP6では多倍長整数がサポートされることを祈ろう。
0555nobodyさん
2006/03/06(月) 11:31:40ID:???マニュアルにあえてsprintf("%u")での対処方法が書いてあったところを見ると、
元々はstatの戻りをstringによる数字で扱ってて、うまく動いてたんだろうな。
ところがそれを忘れて改良してしまった部分があって今は動かなくなってしまった、
という可能性が高そうだな。PHPじゃよくある話だし。
0558nobodyさん
2006/03/06(月) 17:34:37ID:zhIGepD3fopenでファイル開いた後 fclose で閉じなかったら
どんな悪影響がでるんですか?
0559nobodyさん
2006/03/06(月) 17:37:15ID:???あと、書き込みしたままfcloseしてなかったらプログラム終了までフラッシュされずに
ファイルが破損する確率が上がるかも。
flockしっぱなしで放置するとプログラム終了まで他のプログラムがアクセスできなくなるかも。
そんなもんか?
0560nobodyさん
2006/03/06(月) 17:48:22ID:???まあ基本的にはOSが閉じ忘れを面倒見てくれる(もしくはPHPもやってくれるかな?)から大したことはないってのもある。
人によってはfopenしたのにfcloseしていないプログラムに気持ち悪さすら覚えるらしいことも頭に入れておくべし。
0561nobodyさん
2006/03/06(月) 19:45:27ID:???Web経由で起動しとったらURIを、コマンドラインから起動しとったら
コマンドラインを標準出力に吐き出したいんだが
ちからづくでならなんとかなったんだけど
格好良く書くナイス方法は無いかな
0563nobodyさん
2006/03/06(月) 20:08:13ID:???$msg = @ $_SERVER['REQUEST_URI'] or $msg = @ implode(' ', $argv) or $msg = 'おてあげ';
echo $msg;
てこと?
0566nobodyさん
2006/03/06(月) 23:11:58ID:6wJc3dTK<?include("print.php");?>
と書かれているとします。
この時print.php側で「sakura.html」のURLもしくはパスを取得し表示する方法はありますか?
$url = getenv('REQUEST_URI');
print $url;
とやってみた所
「print.php」が表示されてしまいます。
0567nobodyさん
2006/03/06(月) 23:27:25ID:???$_SERVER['REQUEST_URI']
0568nobodyさん
2006/03/06(月) 23:35:52ID:???sakura.htmlってのはPHPじゃないよね。
PHPのincludeはあくまでも、その場所にPHPのコードを
挿入するのと同じ動作だから。
|「print.php」が表示されてしまいます
とはならない。
0569nobodyさん
2006/03/06(月) 23:42:05ID:???すいません。includeの中身を
include ("http://***.com/print.php");
とURLで指定してました。
相対パスに変更した所、うまく動作しました。
0571皮先くん ◆N3i.Qu1SoY
2006/03/07(火) 09:35:07ID:W7VIXkndttp://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:???もっと具体的に。
0575皮先くん ◆N3i.Qu1SoY
2006/03/07(火) 13:56:43ID:HRxo4IHm返答ありがとうございます。
署名文の入力は
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:???0583nobodyさん
2006/03/07(火) 18:12:03ID:???質問する前に、まずはマニュアル嫁
http://jp.php.net/manual/ja/function.empty.php
|変数が空であるかどうかを検査する
0585nobodyさん
2006/03/07(火) 18:40:51ID:???どうにかして出来ないかと思ったんですが、あきらめます
>>583
読んだんですけど、参照ならどうかなと思った次第です
>>584
了解しました
0586nobodyさん
2006/03/07(火) 19:25:33ID:jtyBl1lp該当する設定を付加してサーバーに接続したいのですが、
fsocksopenなどでは該当のオプションが見当たりません。
system系関数を使う以外にエレガントな方法を教えてください。
0587nobodyさん
2006/03/07(火) 19:52:48ID:???>参照ならどうか
<?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[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:???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:???PHPはパース時にずいぶん式の再帰性を捨ててるから、仕方ないんだな。
俺は参照を返す関数ならempty等に渡せて意図したとおりの結果を返すような仕様だった方が意味論的には好みだけどね。
その辺はあきらめるしかない。
0595nobodyさん
2006/03/07(火) 21:06:38ID:???もっと悪い状態になってる。それは;;
そもそもなんでemptyでのチェックにこだわってるの?
if(getVal())
で同じ結果にならないか?
わざわざ「変数用の言語構造(注:これは関数ではない)」を使って
変数以外のものをチェックしようとする意図が分からん。
0597nobodyさん
2006/03/07(火) 21:18:36ID:???でいいんジャン?
0598nobodyさん
2006/03/07(火) 21:19:05ID:???理由は、、、
既存ソースの改良で、変数をget〜に変えようとしてました。
で、emptyなどで行き詰ったわけです。
そこも含めて変えれば済む話ですが、出来るだけ手を抜こうとしてました。
無理と分かりあきらめが付きました。
ありがとうございました。
変なことしようとしてすみません。
0599皮先くん ◆N3i.Qu1SoY
2006/03/07(火) 21:50:28ID:agmd1D8Vが完全に無視されている件について。
0601nobodyさん
2006/03/07(火) 22:27:42ID:???いつでるのじゃーーー
0602nobodyさん
2006/03/07(火) 22:44:12ID:???0603nobodyさん
2006/03/07(火) 22:50:50ID:???0604589
2006/03/07(火) 23:20:34ID:psJP3on10606nobodyさん
2006/03/08(水) 07:09:48ID:???その前に
cd ***/php-****/ext/libxml
phpize
./configure *******
はどうだろうか
0607age
2006/03/08(水) 10:58:48ID:s67YcGnHアルファベットの大小変換はあるんですが・・・。
0609nobodyさん
2006/03/08(水) 11:05:31ID:???そんなに種類多くないからmb_ereg_replaceかstr_replaceで置換すればいいんじゃないかな
0610609
2006/03/08(水) 11:07:18ID:???0611nobodyさん
2006/03/08(水) 11:22:11ID:???forkした親プロセスと子プロセス間でのディスクリプタパッシング
はできるのでしょうか?
親プロセスで開いたクライアントとのソケットがresouce型になってしまうので
子プロセスに渡すことが難しいです。
よろしくお願いします。
0612nobodyさん
2006/03/08(水) 11:22:33ID:s67YcGnH置き換えでもよいのですが、文字列は「ぁ」とは限らないために
パターンがありすぎて・・。
VBでいうところのstrconv()みたいなものですかね。
0613nobodyさん
2006/03/08(水) 11:33:22ID:???変換ルールがさぱーり分からないので何を回答すればいいのか分からんのだけど。
とりあえずmb_convert_kana()のマニュアルでも読んで、それで不足してるなら
もーちっと具体的な質問してください。
0614nobodyさん
2006/03/08(水) 11:35:18ID:???ひらがなとアルファベットじゃ意味が違うだろ。
aとAはほぼ同じだが
っとつじゃ全然違う。
したがってそんな変なことをする関数はない。
パターンなんて全部網羅しても100もないんだから
関数つくればいいよ
0619nobodyさん
2006/03/08(水) 13:32:43ID:YAPHuj+mその情報はどこに?
URLなどもっと詳しく
ググってすぐ見つかるようなキーワードを教えて
0620nobodyさん
2006/03/08(水) 13:34:04ID:???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:???ちなみにエスパー伊藤はコイツ
ttp://pukasec.sakura.ne.jp/ren/img-box/1141658595524.wmv
0624nobodyさん
2006/03/08(水) 14:36:20ID:???ページ毎のログイン情報の受け渡しって
SESSIONやDBでやるのが普通?
より簡潔にできないかと思って
クラス内で配列を保持して受け渡すってのをやってみたんだけど
あまり上手くいかない・・・
0625nobodyさん
2006/03/08(水) 14:57:50ID:Khyvdh2z> クラス内で配列を保持して受け渡すってのをやってみたんだけど
クラス内でとかはあんまり関係なく、どうやって渡したのか?が問題
0626nobodyさん
2006/03/08(水) 15:11:14ID:???SESSION"を"DBでやってます。
SESSIONIDはクライアントのCOOKIEに持たせてるけどね。
0628nobodyさん
2006/03/08(水) 16:24:49ID:???一意性はsessionIDに頼る。
cookieが生きている限りなんとかなるのと
大きなデータの保持には適しているかな。
と、以上、まったくの推測。
0629nobodyさん
2006/03/08(水) 16:49:15ID:???0632nobodyさん
2006/03/08(水) 16:54:37ID:???0635nobodyさん
2006/03/08(水) 17:11:17ID:???初めからそう質問しとけばよかったんだよ。
ありませんか?→Yes / No
どうしたらいいんでしょうか?→解決法
0636nobodyさん
2006/03/08(水) 19:31:10ID:???ハードコーディング?
0639nobodyさん
2006/03/08(水) 20:12:55ID:???その論法もう古臭いから普通の質問スレで持ち出さなくていいよ。
揚げ足取り以上の意味持たないし面白くもない。
0641nobodyさん
2006/03/08(水) 20:44:08ID:???0642nobodyさん
2006/03/08(水) 20:55:11ID:???0644nobodyさん
2006/03/08(水) 21:20:02ID:???0645nobodyさん
2006/03/08(水) 21:49:35ID:???0647638
2006/03/08(水) 22:17:14ID:???いや、2行目は無視をした。というより1行目も本当に訊きたいことが良く判らん
「標準や拡張の関数がハードコーディング」だって意味が判る?
0648nobodyさん
2006/03/08(水) 23:12:06ID:???0652nobodyさん
2006/03/09(木) 00:00:31ID:???http://www.php.net/downloads.php
Complete Source Code
0654nobodyさん
2006/03/09(木) 00:48:32ID:???0658nobodyさん
2006/03/09(木) 11:44:36ID:???0659nobodyさん
2006/03/09(木) 12:41:04ID:???スルーせずにいちいちアゲアシ取っていくなんてメンドクサイことよくやるね
0660nobodyさん
2006/03/09(木) 12:46:20ID:???0662nobodyさん
2006/03/09(木) 14:41:42ID:???0665nobodyさん
2006/03/09(木) 19:58:42ID:???0666nobodyさん
2006/03/09(木) 21:04:59ID:???0667nobodyさん
2006/03/09(木) 21:23:30ID:???0668nobodyさん
2006/03/09(木) 21:51:36ID:???皮先ウザいんだけど
0669nobodyさん
2006/03/09(木) 21:52:43ID:???0671nobodyさん
2006/03/09(木) 23:13:16ID:SHZr9acF--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:???0674nobodyさん
2006/03/10(金) 00:46:33ID:???そんな関数を使わなくても
list($x, $y) = array($y, $x);
で普通に変数スワップできるけどね。
ま、ポインタの代わりにリファレンスを使うのももちろんアリだけど。
0675nobodyさん
2006/03/10(金) 01:14:59ID:???$userid = "abc";
$password = "def";
?>
このプログラムをサーバーにアップロードして、
HTTP(SSLなし)でアクセスすると abc と def は
平文でネットを流れることになるのでしょうか?
それともサーバー側でのみ処理されることになるのでしょうか?
0678nobodyさん
2006/03/10(金) 03:09:37ID:???サーバ側でのみ処理される(ネットを流れない)ケースが多いと思われる。
ファイル名が.txtや.htmlだったらどうなるか考えてみ。
また.phpでもそのまま表示される可能性はある。
0679nobodyさん
2006/03/10(金) 03:25:34ID:???0680nobodyさん
2006/03/10(金) 10:44:28ID:???って意味の質問じゃないのか、それ。
0682nobodyさん
2006/03/10(金) 15:58:10ID:???>>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:???0687nobodyさん
2006/03/10(金) 20:40:48ID:bPBa/0oNC言語の構造体のようなイメージで使いたくて
$a->s1 = "aaa";
$a->s2 = "bbb";
$a->b->n1 = 123;
$a->b->n2 = 456;
みたいな使い方をしてるのですが
この書き方って問題ないのでしょうか?
マニュアルを見てもこの書き方が正しいと
思える内容が見つからなくて気になってます。
別に正しい書き方とか使い方とかあるのでしょうか?
自分の認識としては、上の例でいうと
「a」と「b」がstdClassのオブジェクトとして自動的に作られて
そのメンバ変数として「s1」「s2」「n1」「n2」が追加される
と考えてますが、間違ってます?
0689nobodyさん
2006/03/10(金) 21:20:20ID:???0690nobodyさん
2006/03/10(金) 21:22:21ID:???0693671
2006/03/10(金) 22:48:17ID:8gj1xhR9レスありがとうございました。
調べてみます!
0694687
2006/03/11(土) 08:33:19ID:???みなさんありがとうございました
なんとなく安心しました
他の方は配列でやってるのでしょうか?
それともクラス定義?
最初はクラスで定義してたのですが
変数の宣言を忘れても間違ってても
エラーにならないのでやめてしまいました。
(もしかしてエラーのレベルのせい?)
もう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:???いちおうPHPの配列はリスト、スタック、キュー、マップ(ハッシュ)、木構造などだいたい表現できるけど。
stdClassは使い捨てスクリプトとかテストスクリプトみたいな一時的なものに使う以外にはあんまり使い道ないよ。
全部配列で代替できるから。
構造の「定義」をしたいならクラスを使うべき。
0698972
2006/03/11(土) 11:53:34ID:???できました。
亀レスですがありがとうございました。
>>973
リファレンスで検索しても基本的な関数の一覧しかヒットしませんでした。
その様な関数はあるのでしょうか?
更に質問なのですが、
関数内で引数として渡された値実体を
直接変えることはできますか?
伝わりにくいかもしれませんが、
やはりCでのポインタを用いたswapのイメージでお願いします。
0700nobodyさん
2006/03/11(土) 12:00:18ID:???お前が>>672なら
function hoge(&$var) {
$var++;
}
$val = 1;
hoge($val);
echo $val;
0702nobodyさん
2006/03/11(土) 12:10:19ID:???function swap(& $a, & $b) {
$t = $a; $a = $b; $b = $t;
}
この&をつけて変数を渡すことをPHPではリファレンスっていうのです。C++の参照の構文に似せてあるね。
http://php.net/references
0703672
2006/03/11(土) 12:27:06ID:???調べてみました。
参照変数なんてあったんですね。
ポインタと比べて変数のアドレスは操作できないが、
アドレスの指す変数を操作していると解釈していいのでしょうか?
0704nobodyさん
2006/03/11(土) 12:34:58ID:???0705nobodyさん
2006/03/11(土) 13:20:09ID:???お前最悪だな
糞なおまえの糞スパゲティコードなんかメンテしたくねえや。
クラスくらい作って『集約(Aggregation)』くらいしやがれや
0708nobodyさん
2006/03/11(土) 15:53:32ID:???おかげでアホな外注が作ったワケ分からんスパゲッティーコードを
元請様がデバッグする羽目になる。
0710nobodyさん
2006/03/11(土) 17:08:56ID:???$a['s1'] = "aaa";
$a['s2'] = "bbb";
$a['b']['n1'] = 123;
$a['b']['n2'] = 456;
こんな感じ?
なんか気持ち悪いのはおれだけ?
0713nobodyさん
2006/03/11(土) 17:44:10ID:???まークラスにしても
PHPには型宣言もないし
宣言してない変数でも使えてしまうし
いっしょな気もする・・・
変数名で型とかがわかるようにするとしても
連想配列もクラス変数も一緒だしね
0714nobodyさん
2006/03/11(土) 17:48:15ID:???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:???0720nobodyさん
2006/03/11(土) 20:39:49ID:???それくらいならまだまし
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:???3次元画像はいらん
0722nobodyさん
2006/03/11(土) 21:17:29ID:???0723nobodyさん
2006/03/11(土) 21:35:40ID:???0724nobodyさん
2006/03/11(土) 21:43:45ID:???0727nobodyさん
2006/03/12(日) 00:09:02ID:yHHsI6Ak0728nobodyさん
2006/03/12(日) 00:24:10ID:d4WSeAj/例(1つ)->strip_tags($str,'<Font>');
例(2つ)->strip_tags($str,'<Font><b>');?
0729nobodyさん
2006/03/12(日) 00:26:02ID:???0732nobodyさん
2006/03/12(日) 11:19:33ID:???error_reporting関数では設定できないの?
E_ALLまでは指定できるけどE_STRICTだけ有効にならない
0733nobodyさん
2006/03/12(日) 11:43:11ID:???環境くらい書けと。
error_reporting(E_ALL | E_STRICT);
ちなみにE_STRICTはPHP5.0から
0734nobodyさん
2006/03/12(日) 11:54:05ID:???すんません、できるはずなんですね。
PHP5.1.2なんですが、
error_reporting(E_ALL | E_STRICT);
としても
error_reporting(4095);
としても有効にならないっす
httpd.confかphp.iniならできるんだけど・・・
0737nobodyさん
2006/03/12(日) 22:33:58ID:???CとかJavaで発注かけないと。
phpとかperlは仕様書見て作り直しが基本。
0738732
2006/03/13(月) 00:30:59ID:???コンパイル後に
error_reporting(xx)
でE_STRICTを有効にしても
時すでに遅しってことのようですね。
失礼しました
0739nobodyさん
2006/03/13(月) 06:00:06ID:???↑
変数の最初の10文字だけ取得したいのですが
適切な関数はないでしょうか?
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:???って誰が判断するんだろう。
0745nobodyさん
2006/03/13(月) 13:50:28ID:???このスレに書く、ということですな。
0746nobodyさん
2006/03/13(月) 14:47:15ID:???そんなん自分だろ。
その自分が目を通すか通さないかの敷居を低くしていくと、
全体的なレベルが下がるから困るとも言いたいんじゃないか?
0747nobodyさん
2006/03/13(月) 19:00:58ID:???タイムアウトを設定することはできますか?
いつまでもページ全体が表示しないのはまずいので、つながらないときはエラーでもいいから
早めに諦めてほしいのです。
0748nobodyさん
2006/03/13(月) 19:02:04ID:???「ファイルシステム関数」にモロに書いてました・・・
0749nobodyさん
2006/03/13(月) 19:44:33ID:???なんか
php出来ます=低スキル、低単価、案件失敗確実
って風評が広まってる悪寒。
0750nobodyさん
2006/03/13(月) 19:46:15ID:???仕方ない事だと思うよ。
0753nobodyさん
2006/03/13(月) 20:37:44ID:???phpの文法、ロジックなんか簡単にマスター出来るでしょ。
http的な事でとまどう事は有るだろうけど。
むしろphpしか出来ないエンジニアなんて皆無に近いんじゃマイか
0754nobodyさん
2006/03/13(月) 20:44:21ID:???0755nobodyさん
2006/03/13(月) 20:44:28ID:???確かに。Perlしかできないやつのほうがマシ
0756nobodyさん
2006/03/13(月) 20:45:30ID:???PHPだけでなんでもかんでも作ろうとする原理主義者に
はなってもらいたくはないな。辞めて欲しいんだが。
0757nobodyさん
2006/03/13(月) 20:52:57ID:???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しか出来ない自称PGの起こした事件を思い出しました。
DTP上がりのphp房が集客系のシステムで客に一番初期のXServe台、
シグマリオン1台、開発用のPB一台買わせたあげくに開発失敗してトンヅラしたとかだっけ・・・
アレたしかphpで<a href="">のhrefの中身が全部ハードコーディングしてあって
びびった事が有ったの思いだした。。。
テスト環境から本番環境に移行するのにどうやったんだろうなぁ。
エディタで書き換えたんだろうか。sedなんか使えるとは思えないし。
で、被害者から相談されてそのPGに設計書か仕様書を出せ、と言ったら
「webシステムには設計書というものは通常出さないものだ」
とか言ってた・・・
着手前に要件定義書を出さない・出せない人はやばいよねぇ。ていうか有り得ないんだけど。
いや、もうホントスレチガイも甚だしいですね。スマン子
0761nobodyさん
2006/03/13(月) 22:15:42ID:qnB47IGOこういうねたはプログラマ板ってところでやるんだよ。
0762nobodyさん
2006/03/13(月) 22:16:48ID:???いやなこった。
そんなPHP厨がこの業界に繁殖するなんてな。
プログラマの価値が下がる。
ちゃんとソフトウェア工学も理解できない奴が
偉そうにするんじゃねえよっていいたい。
0763nobodyさん
2006/03/13(月) 22:59:48ID:???なにPHPしか出来ない俺に言ってんの?
誰だって最初は一個しか書けないんじゃないのかよっ!
>>762
は>760のどこに反論してるのか分かりません。 ><
っていうかソフトウェア工学ってなに?必須?
0764nobodyさん
2006/03/13(月) 23:10:39ID:???0765nobodyさん
2006/03/14(火) 00:39:01ID:???0766nobodyさん
2006/03/14(火) 03:24:27ID:PRYzuNfa0767nobodyさん
2006/03/14(火) 03:48:19ID:???0768nobodyさん
2006/03/14(火) 04:37:37ID:???0769nobody
2006/03/14(火) 05:21:47ID:l+upm9sfちょっと つまづいてしまって先に進めない状態です。
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']); を記述いているのに返答がありません。なにかまちがっているんでしょうか?
どなたか 教えてください。
0771nobodyさん
2006/03/14(火) 06:04:05ID:???0772nobodyさん
2006/03/14(火) 06:38:42ID:???質問する前に、自分の書いたスクリプトに本当に間違いがないかちゃんと確認した?
HTMLの文法はそれで本当に間違いはないの?
スペルミスはない?
ここまで言っても相変わらず「どこがまちがってるのか分からない」って言っているようじゃ
申し訳ないけどWebプログラミングの素質は全くないよ。
あるいは、いつまで経ってもこういうスレの存在がなければまともに一仕事できない
赤ん坊のままだね。
もうちょっと自分自身の力だけで頑張ってみなよ。
0774nobodyさん
2006/03/14(火) 07:21:36ID:???そのスクリプトに間違いがあるかどうかには関知しないが、
PHPのHTTP POSTによるファイルアップロードの処理は
マニュアルの以下にまとまっている。
http://www.php.net/manual/ja/features.file-upload.php
テンポラリにアップロードされてから、任意の場所に移動
という手順を踏むことや、注意すべきポイントが解説されているので
解説本だけで済まそうと思わないで、マニュアルも併読すること。
0775nobodyさん
2006/03/14(火) 07:25:45ID:???併読すること。
0776774
2006/03/14(火) 07:36:40ID:???アップロードのファイルを監視して進行状況を提供する改変パッチ
http://www.modphp.org/viewtopic.php?p=325
これ結構面白いな。
0777nobodyさん
2006/03/14(火) 07:41:26ID:???マニュアルは一応"仕様"と見なしていいから、
PHP(ZE)のソースの併読はいらんよ。
必要があった時に読めばいい。バグリストもな。
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:???「アップロードに成功しました」って…
成功したかどうか判別もしないで必ずそう表示するように作ってるんじゃん。
それって自分で作ったのか?それともサンプル?
もしもそれがサンプル通りならその本捨てれ。参考書になってない。
0786nobodyさん
2006/03/14(火) 11:55:03ID:???仕事ってもいろいろあるんじゃない?w
0787nobodyさん
2006/03/14(火) 14:08:10ID:1kXYSwK7<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にするように。
0788nobody
2006/03/14(火) 16:46:49ID:l+upm9sfみなさん返事書き込みありがとうございました。
おかげで動きました。あと、いろいろアドバイスありがとうございます。
プログラムが動いたことがとってもうれしいです。
0789nobodyさん
2006/03/14(火) 16:54:25ID:???SQLのレコードにある特定の文字を消去するためPHP側より
select trim(leading '文字' from フィールド)from テーブル
というSQL文を発行して特定の文字を消すのですが、
消去した後のフィールドを配列として格納したいのですが、うまくいきません。
教えて頂けないでしょうか。
当方はmysql_fetch_arrayで試しているのですが間違いですか?
0790nobodyさん
2006/03/14(火) 18:38:57ID:???うまくいかないのは分かったが、エラーは出てないのか?
MySQL側。
0793nobodyさん
2006/03/14(火) 22:52:59ID:???試しにやってみたけど普通にmysql_fetch_arrayでもmysql_fetch_assocでも配列に取得できたよ
ただ、arrayを数値indexで取得するんではなく、assocで取得してるんだとしたら、
キー文字列は「trim(leading '文字' from フィールド)」というそのまんまになって、
元のフィールド名では取得できないです。念のため。
0794nobodyさん
2006/03/15(水) 00:00:56ID:???親切に教えてもらって、プログラムが期待通りに動いてよかったですねー。
ただ、一言だけいわせてもらうと、
このスレを通じて「あなた自身」は何を得たんですか?
プログラムが動いた、だけで終わったのであれば、それは非常に残念なことです・・・。
0795nobodyさん
2006/03/15(水) 00:05:13ID:???質問者としてのマナーだね、オラも賛成
0796795
2006/03/15(水) 00:07:59ID:???まぁ、とにかくどこが悪かったか書く事で、次何を気をつけるべきか分かるから書け。
0799798
2006/03/15(水) 02:03:01ID:???0800nobodyさん
2006/03/15(水) 02:03:22ID:???0801nobodyさん
2006/03/15(水) 02:04:15ID:???0803nobodyさん
2006/03/15(水) 02:38:55ID:???0804nobodyさん
2006/03/15(水) 02:51:35ID:???0805nobodyさん
2006/03/15(水) 02:54:43ID:???0806nobodyさん
2006/03/15(水) 03:15:04ID:???腹がよじれるwww
0807nobodyさん
2006/03/15(水) 15:30:04ID:???0808innoDB限定
2006/03/15(水) 20:57:26ID:???commitしてるのか?
autocommitでいいんじゃないかと・・・
0809nobodyさん
2006/03/15(水) 21:30:21ID:???0811nobodyさん
2006/03/15(水) 22:28:40ID:???0812nobodyさん
2006/03/15(水) 22:30:54ID:???セミプロの場合はどちらでしょうか
アクセスはけっこうあります
0813nobodyさん
2006/03/15(水) 23:12:31ID:???ロールバックのタイミングを制御したかったら任意にcommitしろ、って感じじゃね?
0815nobodyさん
2006/03/16(木) 00:33:14ID:???消えちゃダメなら、パフォーマンス堕ちてもコミットすべき。
アニヲタキモい。
php案件は特にゴミなスキルの香具師が多い。
PG落ちと、喰えないデザの掃き溜め。
0816nobodyさん
2006/03/16(木) 00:54:33ID:???serializeしたオブジェクトをSOAPサーバに送って
戻すと、unserializeできないデータになってる
回避方法ある?
0819789
2006/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:???0821789
2006/03/16(木) 09:28:50ID:???0822789
2006/03/16(木) 09:42:25ID:???に全部のデータがありました・・
0823nobodyさん
2006/03/16(木) 11:03:00ID:Fw1s0gZF本をみながらPHPを組んでいたのですが、ページ遷移の仕方が良く分かりません。
画面構成は
テキスト
消えるテキスト
消えるボタン
と、ある画面で、ボタンを押すと、
テキスト
新しいテキスト
となるようにしたいのです。
0824823
2006/03/16(木) 11:03:57ID:Fw1s0gZFecho "<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>";
?>
汚いソースですが、よろしくお願いします。
0825824
2006/03/16(木) 11:46:00ID:Fw1s0gZFバージョンはPHP5.1.2 Apache2.0.55 環境はLocalhostです。
0826nobodyさん
2006/03/16(木) 12:07:06ID:???>if (!(isset($PageingProcess)))とif ($_POST['PageingProcess'])が
整合性が取れてない 。$_POST[]で合わせる。
>$PageingProcess=True;
>echo "<input type='hidden' name='PageingProcess' value='{$PageingProcess}'>";
boolから文字型への変換が掛かり{$PageingProcess}は1という文字になるよ。
問題はないけど一応留意。
0827824
2006/03/16(木) 12:22:00ID:Fw1s0gZF指摘の点、修正してみましたところ期待通りに動作になりました。
このサンプルをフィードバックしてメインのPHPに実装します。
ありがとうございました!
0828789
2006/03/16(木) 13:58:08ID:???配列には既に格納されていたらしく、sqlにアップする際の問題でした
お騒がせして済みませぬ
0829nobodyさん
2006/03/16(木) 15:18:39ID:???>>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:???0832nobodyさん
2006/03/16(木) 20:06:24ID:???その出て来たデータの文字コード上の問題は無いのかを調べ無いと。
配列に入れて変換すると消える文字コードも有るだろうが、禿。
0833nobodyさん
2006/03/17(金) 02:00:12ID:???できるようにしたいんですが、どうしたらいいんでしょうか?
バージョンは4です。
0834nobodyさん
2006/03/17(金) 02:23:00ID:???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:???0840nobodyさん
2006/03/17(金) 12:29:51ID:???<?php
$str = "123"; //Shift JIS全角数字
echo ereg_replace("[^A-Za-z0-9\.]", "", $str); //PQR
?>
0841nobodyさん
2006/03/17(金) 12:55:05ID:???0842nobodyさん
2006/03/17(金) 13:46:13ID:???0843nobodyさん
2006/03/17(金) 13:47:47ID:???0844nobodyさん
2006/03/17(金) 13:49:50ID:???0845nobodyさん
2006/03/17(金) 13:52:34ID:???0846nobodyさん
2006/03/17(金) 13:59:05ID:???こないだHTMLをJISで出力してるサイトを見たが
あれはお前の作ったものか!?
IEが自動判別できなくて表示バケまくり…
0847nobodyさん
2006/03/17(金) 17:11:21ID:???アップロードの進捗を表示しつつアップロードするサンプル
http://phpspot.org/blog/archives/2006/03/post_50.html
0849nobodyさん
2006/03/17(金) 22:14:42ID:duB6JjQApreg_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:???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/]">
になったよ。
0852nobodyさん
2006/03/17(金) 22:29:54ID:???0853nobodyさん
2006/03/17(金) 22:32:28ID:???おまいの実装ではhttpヘッダで何も返さないからcharset=ISO-8859-1が指定された事に成ってる。
HTTPのRFCぐらい嫁。
ajax切ってある(w
0854849
2006/03/17(金) 22:34:46ID:???直前でhtmlspecialcharsをかけていたのが原因でした。
ENT_NOQUOTESを掛けたつもりでいたのですが、ENT_QUOTESになっていました。
ご迷惑おかけしました。すみません。
0855nobodyさん
2006/03/17(金) 22:35:03ID:???0856nobodyさん
2006/03/17(金) 22:38:08ID:???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:???か想像で良いので教えて頂けませんか?
LDAP,Radiusのようなものを使っているのか、DBの中で管理しているのか…
0862nobodyさん
2006/03/18(土) 15:07:47ID:???そんな気がする。
0863nobodyさん
2006/03/18(土) 15:47:55ID:???*nix系の標準のユーザアカウントですかね。
それだと沢山のWebサーバやDBやサービスが出てきた時に一元管理できなくなるような
気がして…
PHPから*nix系アカウントを利用している実装って見たことないんですけど、
ご存知であれば教えてもらいたいです。
0864nobodyさん
2006/03/18(土) 15:52:56ID:???0865nobodyさん
2006/03/18(土) 16:01:33ID:???PEARのAuth_HTMLって知らない?
それを調べて使ってみれば大雑把なイメージはできると思う。
もちろん、大規模サイトでは独自のロジックを使用しているとは思うけれど。
0866nobodyさん
2006/03/18(土) 16:02:19ID:???データベースはLDAPだったよ。まぁ、ユーザ数はYahooの足下にも及ばないけどね。
なんでもISPではLDAPを使うところが結構あるらしいよ。
ただ、LDAPはそもそもは単なるディレクトリデータベースだから、
ユーザーごとのいろんな情報を分類して入れとくのに便利ってだけで、
認証とは直接関係ないけどね。
0867865
2006/03/18(土) 16:09:23ID:???0868nobodyさん
2006/03/18(土) 16:14:28ID:???> PEARのAuth_HTMLって知らない?
名前だけは知ってましたけど、そういう目的に利用できるものなんですね…
PEAR::Auth で Auth_LDAPとかもあるみたいですね。
ドキュメントは少なそう…PEAR本買うかな…
>>866
LDAPは認証関係ないんですか。認証ログとかの取り扱いもしてないんですかね。
Radiusもちょい調べてみたら、php-radiusとかあるんですね。
0869nobodyさん
2006/03/19(日) 03:03:07ID:???echoを使う際のhtmlの書き方は下記のもので合ってるんですかね?
echo "<table color="#EFEFEF">\n";
0870訂正
2006/03/19(日) 03:04:20ID:BDJY4Umc0871nobodyさん
2006/03/19(日) 03:13:48ID:???0872869
2006/03/19(日) 03:14:02ID:BDJY4Umc意味ワカンネ。。
echo文の中ではダブルクオーテーション使っちゃいかんの?;
0874nobodyさん
2006/03/19(日) 03:19:02ID:???PHPの中の人
1. echoキター 文字列キボンヌ
2. " をハケーン。文字列の開始キター
3. <table bgcolor= ここまで読んだ
4. " キター。文字j列終了sage
5. # !? 何コレキタ?
6. ワケワカンネ(;´Д`)
7. エラーage
0875nobodyさん
2006/03/19(日) 03:24:49ID:???0881nobodyさん
2006/03/19(日) 17:04:27ID:???0882nobodyさん
2006/03/19(日) 17:14:17ID:???認証は、DBを使ってます。LDAPは使ってません。
ユーザ名とパスワードをデータベースに入れておき、ログイン時に確認しているだけ。なんの難しいこともやってません。
LDAPは簡単なデータ検索のためのプロトコルです。それが認証という用途でよく使われるだけであり、認証のためのプロトコルではありません。
認証以外では例えば郵便場号を入力すると住所が返ってくるようなLDAPサーバを作ることもできます。
またLDAPはクライアントサーバ型のアプリケーションでは便利ですが、Webアプリではあまり使われません。というか、わざわざLDAPを使う理由がありません。
クライアントサーバでは、ユーザ情報(名前とパスワード)はクライアント側ではなくサーバ側にあるため、認証が必要ならサーバに問い合わせる必要があります。そのときのプロトコルとしてLDAPが使われます。
つまり認証を必要とするアプリと、認証に必要な情報をもっているサーバが別であるため、LDAPのようなプロトコルが必要になります。
例えばメールソフトがメールサーバに接続するときにLDAPをつかって認証を行うという場合がこれにあてはまります。
Webアプリケーションでもユーザ情報がサーバ側にあるのは同じですが、認証を必要とするアプリ自体もサーバ側にあるため、すべてがサーバ側で完結しています。
そのため、わざわざLDAPのようなプロトコルを使って通信をする必要がありません。
ただし、アプリケーションごとにサーバが分かれており、かつユーザ情報を一元管理している場合は、アプリケーションサーバが認証サーバに問い合わせるような形態にすることはあります。
そのときにLDAPを使う可能性はありますが、通常は単なるDBサーバへの通信を使うことが多いです。
Radiusは、通信経路を確立するときに認証を必要とするプロトコルです。
Webアプリでは通信経路はすでにHTTPで確立されているため、Radiusはまったくつかえません。そもそもの用途が違います。
0885nobodyさん
2006/03/19(日) 18:51:07ID:???だぁね。
<?php echo "<table bgcolor="#EFEFEF">\n"; ?>
ってので試してみると、<table bgcolor= だけ表示されて正常終了する。
0886nobodyさん
2006/03/19(日) 19:45:00ID:???認証鯖が堕ちたらサービス中断するからね。
DBだとボラクルRACになって金がかかる。
認証をどう使うかは実装次第。
ldapをPPPoEとかの認証に使う実装も有り。ただ重いので、sslもしないでradius認証が一般的。
中の人の声キター!
ハゲワロス。
これスクリプト化して配布すると実用性有るよ。
にちゃんねらのためのPHP入門に収録決定。
ldapがISPで採用されるのは、PPPoEの認証じゃなくて、鯖との認証系。
どこかのradius鯖がladap互換機能も持ってたかも知れないけど。
*nix系の認証はwebminあたりを参考にするといい。
0887nobodyさん
2006/03/19(日) 20:08:58ID:???print qq|<a href="$hoge">hoge</a>|;
が使えたらどんなに楽なことか…
0888nobodyさん
2006/03/19(日) 20:25:38ID:???0889nobodyさん
2006/03/19(日) 20:29:22ID:???ヒアドキュメントという手ぐらいしかないもんなぁ…
print <<<QQ
<a href="$hoge">hoge</a>
QQ;
0891nobodyさん
2006/03/19(日) 20:42:53ID:4ZTFbIAr<?php
$agent=$_SERVER['HTTP_USER_AGENT'];
if(preg_match〜〜
elseif(preg_match("/KDDI\-/",$agent)) {
include ("相対パス");
}
〜
?>
としています。
さきほど言ったように、読み込んでいるファイルは、.htmlです。
0894nobodyさん
2006/03/19(日) 21:26:38ID:N7Rtukykキャッシュは無効にしてある?
0895894
2006/03/19(日) 21:27:45ID:???ごめんなさい。
0897nobodyさん
2006/03/19(日) 21:49:35ID:V+xlGNgJstrip_tags($unko, '<b><s><p>');
これで合ってますか?
0898nobodyさん
2006/03/19(日) 22:06:08ID:???できるようにソースを弄れば?
再配布したら主流に成るかもよ。
0899nobodyさん
2006/03/19(日) 22:08:56ID:4ZTFbIArアクセスしたあと、携帯の戻るをして、再びアクセスを繰り返すってことです。
>>894
htmlファイルにメタで無効にしてますが
0900nobodyさん
2006/03/20(月) 00:40:31ID:???0901nobodyさん
2006/03/20(月) 00:41:01ID:???0903nobodyさん
2006/03/20(月) 06:42:32ID:???その辺でプログラムがどっか誤動作してる気がするなー。
PCやDocomoでは絶対にキャッシュしないだろうパターンでもauでは大抵はキャッシュするよ。
1度戻って再アクセス、という場合だと、まず再アクセス時にはプログラムには実際にはアクセスが入ってない。
auのゲートウェイサーバー上に残ってるキャッシュを再表示してるだけだと思う。
そういう挙動をされた場合にどこがどう誤動作するかは一連のプログラム全体を見ないと正直分からん。
タグがそのまんま表示されてしまう… どっかが抜けたことでヘッダーがtext/plainで認識されてしまうか
どこかで<pre>タグが閉じてない状態になってるのか?
0904nobodyさん
2006/03/20(月) 07:57:57ID:???話し変わってもうすぐ1000だけど
テンプレどうするよ。以前わかりにくいって議論になってたけど
0905nobodyさん
2006/03/20(月) 10:38:28ID:???--------------ココカラ--------------
PHP全般の質問スレです。>>2-10も参照。
【基本ルール】
・新規質問の方はageてください。
・2回目以降は最初に質問した際のレス番号を名前欄に入れてください。
(逆に回答者は質問者に対して>>(アンカー)をつけて答えてください。)
・Googleやマニュアルで調べてから質問してください。
(マニュアル:http://www.php.net/manual/ja/)
・解決しなくても答えてもらったら礼を。
・煽り・荒らしは放置。
--------------ココマデ--------------
>>2は過去スレのみで十分かも。
>>3はいらないと思う。誰も見ない上に毎回新スレを立てる時に更新が面倒くさそう。
>>4のFAQは内容はいいけど、妙に分かりづらい印象なのでこれから要再考。
>>5は個人的には記念に残って欲しいけど、スレ立てる人の好きにしてください。
思いっきり独断で書いたので、何か思いついたことがあったら言ってください。
0906nobodyさん
2006/03/20(月) 10:52:10ID:???それ以上古いのはどうせ落ちてるだろうから他のミラーサイトとかで探すでしょ。
--------------ココカラ--------------
<前スレ>
【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:???マニュアルの次ぐらいに
PHPの質問スレ、及びPHPのクダ質問スレのFAQをまとめるサイト
http://wiki.2chx.net/php/ (育成中。まだまだこれから)
入れるてのはどう?
0909nobodyさん
2006/03/20(月) 11:48:55ID:???------------------------------
<関連リンク>
■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/に変えてみたら日本語があるかもしれません。
------------------------------
0910909
2006/03/20(月) 11:52:53ID:???■PECL本家(英語) http://pecl.php.net/
0912nobodyさん
2006/03/20(月) 12:06:17ID:???Wikiさあ、管理人がもっと勢力的に更新しないと誰もついてこないよ。
つーかテンプレにリンク集はほしい。
自分自身はPHPのは使わないけど、例えば新しい言語とか始めるときそのスレにリンク集あるとたどること多いから。
0913912
2006/03/20(月) 12:07:53ID:???精力的のまちがい。
0916nobodyさん
2006/03/20(月) 14:29:56ID:???ってやつなんだけど一度見てみたいんだよねー
なんていうかあの1コマ見ただけでゾクゾクしてくるよ!!
いや俺は別にMじゃないんだけどあの表情はわすれられんwwwwwwwwwww
0917916
2006/03/20(月) 14:30:39ID:???0919nobodyさん
2006/03/20(月) 15:05:13ID:???0920nobodyさん
2006/03/20(月) 15:39:15ID:???今テンプレの結構重要な話ししてたんだよ。
別に漫画好きが悪いとはいわないけどさすがにこれは無いわ。
本気で悪いと思ってるなら普通うpまでするのが筋だろ。
0921nobodyさん
2006/03/20(月) 16:17:25ID:???【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 シェルから実行)
0922921
2006/03/20(月) 16:17:58ID:???→ 好きにしてください
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系の質問もいくつかあった気がするけどけっこう回答が出てないこともあったかも。
俺もよくわからない。
0923921
2006/03/20(月) 16:25:41ID:???訂正です
17. strip_tags()で削除しないタグを複数指定したい
→ strip_tags($html, '<a><p><font>'); // htmlspecialchars()も検討すべし
0924nobodyさん
2006/03/20(月) 16:38:30ID:???0926nobodyさん
2006/03/20(月) 17:10:40ID:???→ 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ファイルを読ませる方法が
分かりません。
どなたか御教授ください。 お願いします。
0929nobodyさん
2006/03/20(月) 17:50:28ID:???・include 'userid.php'; で読み込む http://php.net/include
・header("Location: $url"); でリダイレクトする http://php.net/header
お好きな方で。
0931nobodyさん
2006/03/20(月) 18:38:39ID:???(350+x)/100 の様な ()で計算の順番を区切るにはどのようにすればいいでしょうか?
普通にやると当然の如く 350 + (x /100)←の順番で計算されてしまいます。
0932nobodyさん
2006/03/20(月) 18:40:33ID:???0934nobodyさん
2006/03/20(月) 19:18:00ID:???<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 こんな感じにしたいんですよ・・・。
0936nobodyさん
2006/03/20(月) 19:51:53ID:???>>935が指摘している通り、まずは$aを表示してみる。
それが出来ればあとは簡単。自分で答え書いてるじゃない
0937nobodyさん
2006/03/20(月) 20:43:08ID:???> 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:???19.学校の宿題を教えてください
→くだらない質問スレで歓迎します
って入れとくか。
0941nobodyさん
2006/03/20(月) 21:24:23ID:???0942nobodyさん
2006/03/20(月) 21:30:58ID:???一時期多かった質問に
「PHPからPOSTリクエストしたい」ってのがあったね
A:fsockでコネクション張るかPEAR使う
で良いんだっけ?
0943nobodyさん
2006/03/20(月) 23:17:05ID:???お前これやっとけよ、と恐喝してるのと結果を見たら変わりが無い。
0944nobodyさん
2006/03/20(月) 23:46:50ID:???あとcURL。まあ環境によっては使えなかったりするので
fsock、もしくは内部的にそれを利用したPEARのHTTP_REQUESTクラスでOK
0945nobodyさん
2006/03/21(火) 00:04:26ID:???宿題スレと分離汁!
0946nobodyさん
2006/03/21(火) 01:14:46ID:???http://pc8.2ch.net/test/read.cgi/php/1139746974/
ってことでどうかね。
0947nobodyさん
2006/03/21(火) 03:49:46ID:???そういやそうだったかも。回答としては8.と内容かぶるから、
PHPから外部にPOSTリクエストしたい
→ 8.を参照
でいいかも。
0948nobodyさん
2006/03/21(火) 04:05:43ID:???べつに管理人任せなわけじゃなくて、そもそも現状ではwiki欲しいと思わないからね。
管理人かその同志たちで盛り上げて内容を充実させれば人も寄り付き始めるんじゃないの?
0949nobodyさん
2006/03/21(火) 04:22:52ID:???回答も一行くらいしかないし、わざわざwiki化してる意味がない
0950nobodyさん
2006/03/21(火) 05:00:28ID:???日本語がおかしい
>14. SQLの質問はどこで?
> → データベース板に誘導されるのが嫌ならうまくPHPにうまく関連させて質問する
0951nobodyさん
2006/03/21(火) 09:37:08ID:???普通のHTMLだとそこらが管理者任せに成って、困るからおまいらが好きなように弄れると簡単に充実させられるねってのがwiki化してる最大の意味。
おまいらが弄らないなら、わざわざ荒らされやすいwikiにしてる意味ないじゃん。
常に正解を求めるという短絡的な教育政策の成果ですか?
0952nobodyさん
2006/03/21(火) 09:51:35ID:???だーかーらー、そもそもwikiなんていらないの。
盛り上がらないなら盛り上がらないで全然構わない。
ただ、いまだに執拗に宣伝しにくる人(人たち?)がいるから、wiki推奨派がもうちょっと盛り上げる努力をすればいいのに、ってだけの話。
俺はさびれてるwikiで一人で黙々と貢献するほどお人好しじゃないし、ほかの奴らもだいたい同じだと思ってる。
(現にwikiが全く更新されないのが何よりの証拠)
だから管理人が盛り上げれば?って結論ですよ。
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:???0957nobodyさん
2006/03/21(火) 11:20:06ID:???どうせ今はあってないようなものなんだし、好きにやっちゃったら。
むしろやって下さい(><)
俺もいじりたいけど、あんなに何もないとやる気がしない・・・。
0958(^ω^)
2006/03/21(火) 11:31:39ID:8j/dzNuVYukiWikiしか使ったことがないから失敗したときのために、誰かバックアップしておいてくださいお
時間があく2時くらいから始めるお(^ω^)
0959nobodyさん
2006/03/21(火) 11:32:47ID:???0960nobodyさん
2006/03/21(火) 11:47:39ID:???0962(^ω^)
2006/03/21(火) 12:09:50ID:???おいらの間違い?(^ω^;)
ttp://jp2.php.net/manual/ja/function.print.php
0963nobodyさん
2006/03/21(火) 14:10:09ID:???値を返す点で関数のように振舞うってことじゃね?
でもマニュアルには「関数ではない」ってはっきり書いてあるからFAQはまずいね。
0964nobodyさん
2006/03/21(火) 15:31:05ID:???0965nobodyさん
2006/03/21(火) 15:50:59ID:???0966nobodyさん
2006/03/21(火) 17:39:29ID:???0968nobodyさん
2006/03/21(火) 19:44:30ID:???printって後から適当に追加(PHP3からだっけ?)した命令なので
役割としても動作(関数ではないのに関数的動作)も中途半端だよね。
なんで関数にしてないんだろ。
0969nobodyさん
2006/03/21(火) 20:40:11ID:???0970(^ω^)
2006/03/22(水) 01:08:34ID:???0971nobodyさん
2006/03/22(水) 01:47:56ID:???おつ〜いい感じじゃまいか
0972nobodyさん
2006/03/22(水) 02:04:40ID:???荒れさせて埋めようなんて思っていません
0973nobodyさん
2006/03/22(水) 02:13:37ID:???0974nobodyさん
2006/03/22(水) 02:31:39ID:???0975nobodyさん
2006/03/22(水) 07:16:18ID:???Perlのprint関数って値返すんだっけ?長い事Perlやってないからもう判らん。
似てると言えば,で複数パラメータ与えられるechoの方がPerlに近い感じがする。
printがechoのエイリアスで駄目だった理由はなんだろう。
0976nobodyさん
2006/03/22(水) 07:22:19ID:???これじゃね?
0977nobodyさん
2006/03/22(水) 07:41:02ID:???func() or print "失敗したよ";
って書けるようにするってのが主目的な希ガス。
0978nobodyさん
2006/03/22(水) 09:46:53ID:???その例なら普段はdieで済ましているからそうなのかな・・・と思ったら、
マニュアルのexitの項目に
$file = fopen ($filename, 'r')
or exit("unable to open file ($filename)");
という例があるな。もちろんexitは
>注意: この関数は実際には関数ではなく言語構造です。
0979nobodyさん
2006/03/22(水) 15:23:31ID:???0980nobodyさん
2006/03/22(水) 15:24:13ID:???でそいつが責任もって管理する。
誰も管理しようとしないのに、wikiがどうのってケチ付けても前には進まないよ。
wiki弄るか、HTML書け。
0982nobodyさん
2006/03/22(水) 15:40:40ID:???Perlのprintは単なる文字出力じゃなく、ファイルハンドル与えるfputs相当だから。
当然のように成功・失敗を値で返すわけですよ。
0983nobodyさん
2006/03/22(水) 16:21:48ID:???ソースにきまってるだろうがああああああ!!!!
ブルドックブルドックブルドックブルドックウウウウ!!!!!!!!!
0986nobodyさん
2006/03/22(水) 17:30:20ID:???0987nobodyさん
2006/03/22(水) 17:53:54ID:???(*^ω^ *)
0988nobodyさん
2006/03/22(水) 17:55:50ID:ir0obJBHhttp://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:???どうぞ
http://nike.s151.xrea.com/search/search.php
0991989
2006/03/22(水) 19:14:23ID:???去年のゴールデンウィーク中に落ちちゃったので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:H3I7tLWs10011001
Over 1000Threadもう書けないので、新しいスレッドを立ててくださいです。。。
レス数が1000を超えています。これ以上書き込みはできません。