【PHP】質問スレッドpart17【php】
■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん
04/05/17 17:14ID:AT+bUkag・新規質問の方は上げてください。age進行でお願いします。
・質問する際には環境も明記。
・正しい日本語で分かりやすく。
・レスがつかないからって逆切れする厨お断り。
・解決しなくてもこたえてもらったら礼を。
■本家
http://www.php.net/
■日本 PHP ユーザ会
http://www.php.gr.jp/
■PHP マニュアル
http://www.php.net/manual/ja/
■PEAR マニュアル
http://pear.php.net/manual/ja/
過去スレ, 関連スレ等>>2-4
抜けているものがあったら補足願います
0346nobodyさん
04/05/26 12:55ID:???0348nobodyさん
04/05/26 13:18ID:???eval("
function ".$var."()
{
echo 'hello!';
}
a();
");
a();
0350338
04/05/26 13:35ID:???きました。でもコードが読みにくいですね。ありがとうございました。
0353nobodyさん
04/05/26 17:05ID:???さらに自演で自分を持ち上げる糞コテでFA?
0354nobodyさん
04/05/26 17:05ID:???pwdみたいな。
0355nobodyさん
04/05/26 17:13ID:???getcwd()
でできた・・・ゴメンナサイ。ほんとにわかんなかったんだよぉ・・・
0356nobodyさん
04/05/26 17:13ID:fjwOYoWghttp://jp2.php.net/manual/ja/ref.dir.php
0357nobodyさん
04/05/26 18:48ID:???0358nobodyさん
04/05/26 18:52ID:???0359nobodyさん
04/05/26 19:00ID:???カポコンがいないときにはそんなやつはいないのに。
そのこころは?
0360nobodyさん
04/05/26 19:08ID:???いないときにわざわざ話題を振って賞賛するスレじゃねえだろ。
0361nobodyさん
04/05/26 19:28ID:???count(&$arr2) にしたら for が一番速くなった。
ついでにこんなの
$arr4 = array_map(create_function('&$item', 'static $str4 = \'\'; $str4 .= \'>\'; return $str4.$item;'), $arr4);
もやってみたが、これがforに次いで速かった。
しかし、
$arr4 = array_map(create_function('&$item', 'global $leftarrow; static $str4 = \'\'; $str4 .= $leftarrow; return $str4.$item;'), $arr4);
にしたら一番遅くなった。うーん、微妙。
0362nobodyさん
04/05/26 20:11ID:???0363nobodyさん
04/05/26 20:24ID:???>362
やめろというだけじゃなく、かわりのネタを提供汁
0365nobodyさん
04/05/26 20:31ID:???0366カポコン
04/05/26 20:40ID:???0367nobodyさん
04/05/26 20:44ID:???0369nobodyさん
04/05/26 22:05ID:???と作っているのに 755 でできてしまいます。
なんででしょうか・・・非常に困っています。
またオーナーも変えたいのですが変えられません。
0371nobodyさん
04/05/26 22:23ID:???このfor/while/foreach云々って、
元は質問から始まった話じゃねえのか?
それだったら、あながちスレ違いとは言えねえと思うがな
なんで狭量なやつばっかなんだろね
0373nobodyさん
04/05/26 23:07ID:???chownについてなのですが、当方Apacheの実行ユーザとグループを
apache/apache にしています。
これでapacheユーザが作成したファイルのオーナーをrootにしたいの
ですが、これは不可能でしょうか。
0375nobodyさん
04/05/27 00:07ID:???はって、あたかもそのディレクトリにあるphpソースのように使いたいと思っています。
で、シンボリックリンクを作成するsymlink関数で無事作れたのですが、そのシンボリックリンクに
ブラウザからアクセスしても実行できません。
パーミションは777になっているのにです。
それでsshでサーバに入り、ln -s /templ/hoge.php /aaa/hoge.php とリンクを張ると
ブラウザからも実行できます。
なんででしょう・・・
ちなみに(環境により違うのでしょうが)sshで ls -la すると symlinkで作成したリンクは赤色
ln -s で作成したリンクは青色です。
お願いします。ヒントをください
0376カポコン
04/05/27 00:14ID:???mp(・∀・)qmチェキッラー!!。
0377nobodyさん
04/05/27 00:31ID:???自治厨キモッ
0378nobodyさん
04/05/27 07:23ID:XDC/x9QBマターリ憩うぜ
0379nobodyさん
04/05/27 08:42ID:???0383nobodyさん
04/05/27 17:28ID:fevNX4WHソースコードをSJISで書いていて、DBもSJIS設定で、
SQLを実行するときに
カタカナの「ソ」などの文字が勝手にエスケープされてしまいます。
(エスケープというか「ソ」の後に「ソ\」バックスラッシュが付く)
これが原因で文末に「ソ」が来たりするとSQLが失敗します。
stripslashesは本来エスケープすべき文字も消してしまうので使えません。
Webで調べてみたところphp.iniのmagic_quotes_gqc=OFFに
すると解決するらしいのですが、実際OFFにしてもまだ解決しません。
(phpinfoでOFFになっていることは確認済み)
他に勝手にエスケープされる要因は考えられるでしょうか
よろしくお願いします。
0384nobodyさん
04/05/27 17:32ID:???0385nobodyさん
04/05/27 18:05ID:???0388nobodyさん
04/05/27 18:42ID:3qJOManL何を用意して何を最初に学べばいいのでしょうか。
おすすめのサイトや参考書を教えていただけると助かります。
0390nobodyさん
04/05/27 18:48ID:3qJOManL早速検索かけてPDFファイルを見ております。
分かりやすくまとめられており、私でも勉強できそうです。
情報、ありがとうございます。
0391nobodyさん
04/05/27 19:53ID:???PHP徹底攻略だよな?
マンモス本ってかなり詳しく書いている上級者向けのじゃん!!(違った?ラクダとはレベル違う?)
それが無料って、すげーな
0392383
04/05/27 20:07ID:???addslashesを使ってる代わりにmysql_escape_stringを使うと
上手くエスケープしてくれるようです。
やはり仰せの通りSJISで処理させるのは止めたほうがいいですね^ ^;
まあ仕方のないときのケースということで。
0393nobodyさん
04/05/27 20:11ID:???PHPを使うなら、出力段階でSJISに変換するのが一番楽だと思うけど
0395nobodyさん
04/05/27 22:13ID:???で検索して、
http://ns1.php.gr.jp/pipermail/php-users/2002-June/008315.html
や
http://www.broadband-xp.com/hidesource/escape.html
が見つかったのですが、
> urlencode に相当する JavaScriptの escape を使うと、IE 5.5 などでは、
> % で始まる UNICODEに変換してくれるので、PHP の urldecode で処理できない
とありますが、この逆、つまり、
php内部でurlencode()又はrawurlencode()して、その出力結果をWindowsのIEのJavaScript上で
デコードして表示したいのですが、decodeURI()やunescape()を使用しても英字以外は文字化けしてしまいます。
UTF-8にしてphpでurlencode()した後に、JavaScriptへ渡しても、依然、おもったようにいきません。
エンコード後の文字列が%uとuから始まるようにできないのです。
どのようにすればPHP内部でURL EncodeしたものをJavaScriptでデコードすることが可能でしょうか?
0396nobodyさん
04/05/27 22:22ID:???で検索して、
http://ns1.php.gr.jp/pipermail/php-users/2002-June/008315.html
や
http://www.broadband-xp.com/hidesource/escape.html
が見つかったのですが、
> urlencode に相当する JavaScriptの escape を使うと、IE 5.5 などでは、
> % で始まる UNICODEに変換してくれるので、PHP の urldecode で処理できない
とありますが、この逆、つまり、
php内部でurlencode()又はrawurlencode()して、その出力結果をWindowsのIEのJavaScript上で
デコードして表示したいのですが、decodeURI()やunescape()を使用しても英字以外は文字化けしてしまいます。
UTF-8にしてphpでurlencode()した後に、JavaScriptへ渡しても、依然、おもったようにいきません。
エンコード後の文字列が%uとuから始まるようにできないのです。
どのようにすればPHP内部でURL EncodeしたものをJavaScriptでデコードすることが可能でしょうか?
0397nobodyさん
04/05/27 22:15ID:???で検索して、
http://ns1.php.gr.jp/pipermail/php-users/2002-June/008315.html
や
http://www.broadband-xp.com/hidesource/escape.html
が見つかったのですが、
> urlencode に相当する JavaScriptの escape を使うと、IE 5.5 などでは、
> % で始まる UNICODEに変換してくれるので、PHP の urldecode で処理できない
とありますが、この逆、つまり、
php内部でurlencode()又はrawurlencode()して、その出力結果をWindowsのIEのJavaScript上で
デコードして表示したいのですが、decodeURI()やunescape()を使用しても英字以外は文字化けしてしまいます。
UTF-8にしてphpでurlencode()した後に、JavaScriptへ渡しても、依然、おもったようにいきません。
エンコード後の文字列が%uとuから始まるようにできないのです。
どのようにすればPHP内部でURL EncodeしたものをJavaScriptでデコードすることが可能でしょうか?
0398nobodyさん
04/05/27 22:17ID:???で検索して、
http://ns1.php.gr.jp/pipermail/php-users/2002-June/008315.html
や
http://www.broadband-xp.com/hidesource/escape.html
が見つかったのですが、
> urlencode に相当する JavaScriptの escape を使うと、IE 5.5 などでは、
> % で始まる UNICODEに変換してくれるので、PHP の urldecode で処理できない
とありますが、この逆、つまり、
php内部でurlencode()又はrawurlencode()して、その出力結果をWindowsのIEのJavaScript上で
デコードして表示したいのですが、decodeURI()やunescape()を使用しても英字以外は文字化けしてしまいます。
UTF-8にしてphpでurlencode()した後に、JavaScriptへ渡しても、依然、おもったようにいきません。
エンコード後の文字列が%uとuから始まるようにできないのです。
どのようにすればPHP内部でURL EncodeしたものをJavaScriptでデコードすることが可能でしょうか?
0399nobodyさん
04/05/27 22:28ID:???で検索して、
http://ns1.php.gr.jp/pipermail/php-users/2002-June/008315.html
や
http://www.broadband-xp.com/hidesource/escape.html
が見つかったのですが、
> urlencode に相当する JavaScriptの escape を使うと、IE 5.5 などでは、
> % で始まる UNICODEに変換してくれるので、PHP の urldecode で処理できない
とありますが、この逆、つまり、
php内部でurlencode()又はrawurlencode()して、その出力結果をWindowsのIEのJavaScript上で
デコードして表示したいのですが、decodeURI()やunescape()を使用しても英字以外は文字化けしてしまいます。
UTF-8にしてphpでurlencode()した後に、JavaScriptへ渡しても、依然、おもったようにいきません。
エンコード後の文字列が%uとuから始まるようにできないのです。
どのようにすればPHP内部でURL EncodeしたものをJavaScriptでデコードすることが可能でしょうか?
0400nobodyさん
04/05/28 00:04ID:???自作関数内で獲得した
pg_numrows(resource result)や
pg_フェチ_array(resource result , int row)
はグローバルスコープですか?
0401nobodyさん
04/05/28 00:35ID:???というか、やらなくても分かりそうなモンだが。
0402nobodyさん
04/05/28 04:29ID:???wikiを利用しているのですが、ページにアクセスすると、
/?PHPSESSID314df6cb256897323032443
みたいのがつっついて思ったページにいけない時があります。
これをはずす設定をgoogle調べたのですが、
session.use_trans_sid を 0 にすればよいのでしょうか?
global_register をoffにするのでしょうか?
ページを読んでもよく理解できませんでした。
どうすればいいのでしょうか?
サーバは、レンタルサーバです。
0404nobodyさん
04/05/28 09:21ID:???PHP触り始めたばかりなんですが、上のようなものをPHPスクリプトでよく見かけます。
「=>」って矢印の意で使ってるんでしょうか??
0406nobodyさん
04/05/28 09:32ID:???http://www.php.net/manual/ja/language.types.array.php
代わりにマニュアル引いてやったからお駄賃に100円くれ
0407nobodyさん
04/05/28 15:57ID:???0411nobodyさん
04/05/28 17:17ID:???数字の先頭に0を付けて桁揃えする関数はありますか?
1を0001とか。
0413nobodyさん
04/05/28 17:25ID:???マニュアル検索もしてくれい
0416nobodyさん
04/05/28 17:49ID:???とオッサン丸出しな事を言ってみる
0417nobodyさん
04/05/28 18:09ID:???で検索して、
http://ns1.php.gr.jp/pipermail/php-users/2002-June/008315.html
や
http://www.broadband-xp.com/hidesource/escape.html
が見つかったのですが、
> urlencode に相当する JavaScriptの escape を使うと、IE 5.5 などでは、
> % で始まる UNICODEに変換してくれるので、PHP の urldecode で処理できない
とありますが、この逆、つまり、
php内部でurlencode()又はrawurlencode()して、その出力結果をWindowsのIEのJavaScript上で
デコードして表示したいのですが、decodeURI()やunescape()を使用しても英字以外は文字化けしてしまいます。
UTF-8にしてphpでurlencode()した後に、JavaScriptへ渡しても、依然、おもったようにいきません。
エンコード後の文字列が%uとuから始まるようにできないのです。
どのようにすればPHP内部でURL EncodeしたものをJavaScriptでデコードすることが可能でしょうか?
(または、互換の形式でもかまいません。phpとJavaScriptで共通して使えるエンコード・デコード関数があれば)
0420nobodyさん
04/05/28 19:32ID:???http://www.google.com/search?q=javascript%20php%20escape%20urlencode
で検索して、
http://ns1.php.gr.jp/pipermail/php-users/2002-June/008315.html
や
http://www.broadband-xp.com/hidesource/escape.html
が見つかったのですが、
> urlencode に相当する JavaScriptの escape を使うと、IE 5.5 などでは、
> % で始まる UNICODEに変換してくれるので、PHP の urldecode で処理できない
つとありますが、この逆、つま
り、php内部でurlencode()又はrawurlencode()して、その出力結果をWindowsのIEのJavaScript上
だとデコードして表示したいのですが、decodeURI()やunescape()を使用しても英字以外は文字化けしてしまいます。
よくUTF-8にしてphpでurlencode()した後に、JavaScriptへ渡しても、依然、おもったようにいきません。
つまりエンコード後の文字列が%uとuから始まるようにできないのです。
りどのようにすればPHP内部でURL EncodeしたものをJavaScriptでデコードすることが可能でしょうか?
(または、互換の形式でもかまいません。phpとJavaScriptで共通して使えるエンコード・デコード関数があれば)
0422nobodyさん
04/05/28 20:08ID:???0423417
04/05/28 22:46ID:???http://www.broadband-xp.com/hidesource/escape.html
の
//ネットスケープでもIEのescape関数と同じようにunicodeに変換する関数
を再現すればいいじゃん。というわけで、すみませんでした・・・解決です。
をphpで再現すればよいのかw
0424417
04/05/28 22:48ID:???http://www.broadband-xp.com/hidesource/escape.html
の
//ネットスケープでもIEのescape関数と同じようにunicodeに変換する関数
を再現すればいいじゃん。というわけで、すみませんでした・・・解決です。
をphpで再現すればよいのかw
0425nobodyさん
04/05/29 09:13ID:DJKvEK/Mxmlヘッダ(<?xml version="1.0" encoding="UTF-8" ?>)の
version、encoding を取り出したいんだけど、よい方法ありますか?
どなたかご教授お願いします。
0427nobodyさん
04/05/29 15:49ID:???0428nobodyさん
04/05/29 15:59ID:???テンプレート用HTMLの中に書いてある
<? echo "test"; ?>
のようなPHPは実行されないようなのですが
実効するようにはできないのでしょうか?
0429nobodyさん
04/05/29 16:06ID:???0431nobodyさん
04/05/29 17:45ID:???> PEARのテンプレート
> PEARのテンプレート
> PEARのテンプレート
> PEARのテンプレート
ハァ?
0432nobodyさん
04/05/29 18:52ID:???むしろハァ?するところが違う。
http://pear.php.net/package/HTML_Template_Flexy
http://pear.php.net/package/HTML_Template_IT
http://pear.php.net/package/HTML_Template_PHPLIB
http://pear.php.net/package/HTML_Template_Xipe
PEARの、どのテンプレートシステムだっつうの。
0433nobodyさん
04/05/29 20:22ID:???意味は通じるし。
0435nobodyさん
04/05/29 23:04ID:???ウププ ほんとに言っちゃっていいの?!
0437nobodyさん
04/05/30 01:09ID:???テキストファイル中の改行がそのまま文字列として、配列に格納されてしまう為、追加
したい文字列を同じ行に表示させることが出来ません。アドバイスお願いします。
恥ずいですがソースは以下で、環境はエディタがjvimでOSがFreeBSDでPHPは4.2です。
$log = file('log.txt');
for ($i = 0; $i < count($log); $i++)
{
$ex = explode(",", $log[$i]);
if ($ex[0] == $_POST[hoge])
{
ereg_replace ("/(\r\n)|\r|\n/","",$ex[$i]);
$add = ("$log[$i]" . "$a" . "," . "$b" . ",");
}
}
$fp = fopen('log.txt', 'w');
fputs($fp,$add);
fclose($fp);
}
0438nobodyさん
04/05/30 02:02ID:???やりたい事がいくつかできてないんじゃない?
ereg_replace ("/(\r\n)|\r|\n/","",$ex[$i]);
$add = ("$log[$i]" . "$a" . "," . "$b" . ",");
}
}
$fp = fopen('log.txt', 'w');
fputs($fp,$add);
fclose($fp);
}
を
$log[$i] = trim($log[$i]).$a.",".$b.",\n";
}
}
}
$fp = fopen('log.txt', 'w');
fputs($fp,implode("\n", $log));
fclose($fp);
かな?最適なコードじゃないけども
0439nobodyさん
04/05/30 02:14ID:???しかも波括弧の数が違うから場所は変えなくてよかた。
激しくすまそ
超遅レスで申し訳ないけどPHPでベンチマークなら
http://www.blueshoes.org/en/developer/php_bench/
こういう検証サイトがあります。
参考になるかと。
0441nobodyさん
04/05/30 04:31ID:???ttp://cgi.f13.aaacafe.ne.jp/~mugen/perlvsphp/page8.htm
0443nobodyさん
04/05/30 09:26ID:wDkFum9gregister_globalsをoffにする方法はないでしょうか?
変数の扱いに気をつけているつもりですが不安なので、
できればoffにしたいのですが。
0444425
04/05/30 10:08ID:???やはり自分で正規表現書くしかないですか・・・。
Parserで version、encoding を取れるのがあれば、
と思ったのですが。
もし、取れるParserがあったら教えてください。
0445nobodyさん
04/05/30 11:14ID:???とか書いてみる。
■ このスレッドは過去ログ倉庫に格納されています