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

【PHP】下らねぇ質問はここに書き込みやがれ 29

■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん2006/09/17(日) 04:26:39ID:???
PHPに関するくだらねぇ質問用スレです。ここならお前の下らない質問に回答があるかも知れません。

まず読め→【PHP マニュアル】http://www.php.net/manual/ja/
PHPで最良の教本はこの公式マニュアル。市販の書籍は嘘が多いので鵜呑みにしない。
過去スレ、関連スレ、FAQなどは>>2-10辺り

◆質問する場合の注意
1. 自分のIDを表示させること。(メール欄に何も記述しないでください)
2. サーバーのOS、WebサーバーとPHPの種類やバージョン等を明記すること。
3. 己の行った操作、変更などを詳しく明記すること。
4. エラーメッセージはそのまま表記すること。「エラーが出ます」では絶対分かりません。
5. 質問者としても態度をわきまえること。
6. 事前に公式マニュアル、リファレンス本くらいはちゃんと目を通しておくこと。

◆質問後の注意
・質問者は必ずIDを表示させてください。(メール欄に何も記述しないでください。)
・2回目以降は最初に質問した際のレス番号を名前欄に入れてください。
  (逆に回答者は質問者に対して>>(アンカー)をつけて答えてください。)
・解決しなくても回答をもらった場合はお礼を言う。
  (荒らし、煽りは除く。逆に煽られたときも、無闇に反論せずスルーすべし)

【その他諸注意】
・正規表現・PEAR・テンプレート(Smarty等)・フレームワークはそれぞれの該当スレへ
・SQLについての質問はデータベース板(PCカテゴリ)の各スレで
・オブジェクト指向については良スレがないから本を買え。理解できないならムリに使うな。
・速さについては自分でベンチをとってここに書け(違う環境の人も調べてくれるかも)
0697nobodyさん2006/09/28(木) 16:18:41ID:???
hoge.phpをhogeにリネーム(拡張子なしに)

<FilesMatch "^hoge$">
ForceType application/x-httpd-php
</FilesMatch>
0698nobodyさん2006/09/28(木) 17:17:22ID:???
○.htmlでphp動作させたければ、
AddType application/x-httpd-php .html
と書いておけばいい。
0699nobodyさん2006/09/28(木) 17:27:41ID:???
>>697
<FilesMatch "^index$">
ForceType application/x-httpd-php
</FilesMatch>
とやって、indexにアクセスしましたが無理でした...
(index.php設置済み)

また、indexで設定した場合、DirectoryIndexの設定はindexになるのでしょうか?
0700nobodyさん2006/09/28(木) 17:28:36ID:???
index.phpをindexにリネームしろ
0701nobodyさん2006/09/28(木) 17:35:53ID:???
やっぱりリネームしないとダメなんですね…
ありがとうです
ではDirectoryIndexもindexにする必要がありそうですね
0702nobodyさん2006/09/28(木) 18:14:22ID:???
>>701
mod_rewrite使えばいいんじゃね

RewriteEngine On
RewriteRule ^(.*)$ $1.php
0703nobodyさん2006/09/28(木) 18:42:29ID:loAqiE0j
phpスクリプトの中でHTMLを書くとき
<br> ではなく <br/>
と書くのはどうしてなのでしょうか?
<br>と書いても正しく動作はしました。
0704nobodyさん2006/09/28(木) 18:50:09ID:???
>>703

HTMLなら <br>
XHTML なら <br />

それぐらい知っとけ。

主要ブラウザではどっちで書いても同じ動作。
<br/> や <br></br> も XHTML として正しい表記だが、
XHTML未対応の古いブラウザだと誤動作を起こすことがある。(改行されないとか2回改行されるとか)
0705nobodyさん2006/09/28(木) 19:52:10ID:fnAbwW59
日本語を変数に代入する部分で更新するだびエラーが出たり出なかったりしてこまっております。
スクリプト、出力、データベース入力共にSJISのシステムにアクセスしてからEUCのシステムにアクセスするとこのエラーが発生しだします。
このエラーは上位ディレクトリにあるphpMyAdminでも発生するようになります。
おそらくhtaccessの設定によるものだと思うのですが、なぜ違う上位ディレクトリにまでエラーが出るのかわかりません。
SJISのシステムは携帯の絵文字を使用する掲示板のためEUCにするのは難しいです。
問題点と改善策を教えてください。
お願いします。
0706nobodyさん2006/09/28(木) 20:00:42ID:???
>>705
どんなエラーが出るのさ。普通はそんなとこでエラーにならんぞ。
07077052006/09/28(木) 20:14:37ID:fnAbwW59
レスありがとうございます。
Parse error: parse error, unexpected T_STRING in /home/????/public_html/????/m/mobile/includes/languages/japanese.php on line 70
というエラーが出たり出なかったりします。
その行は
define('HEADER_TITLE_TOP', 'トップ');
です。
0708nobodyさん2006/09/28(木) 20:17:00ID:???
>>703
本によると、規格化するときに<></>にしようとしたらbrがあったので<br></br>だとめんどくさいし古いのだとあれだし、
ましてや<br>だけだとだめだから、からタグ?でコメントないなら<br />で良いやって乗ってたような
07097052006/09/28(木) 20:19:51ID:fnAbwW59
あとphpMyAdminででるのは
Parse error: parse error, unexpected T_STRING, expecting ')' in /home/????/public_html/phpMyAdmin/lang/japanese-euc.inc.php on line 19
でその行は
$day_of_week = array('日', '月', '火', '水', '木', '金', '土');
です。
0710nobodyさん2006/09/28(木) 20:23:13ID:???
mb関連の設定はどうなってる?
0711nobodyさん2006/09/28(木) 20:28:53ID:???
>>705
内部は全部EUCにして、出力だけSJISにする。絵文字は文字コード変換前に参照コードに変換しておく。
07127052006/09/28(木) 20:39:28ID:fnAbwW59
php_value mbstring.language japanese
php_value mbstring.internal_encoding SJIS
php_value mbstring.script_encoding SJIS
掲示板ディレクトリのhtaccessの設定は
php_value output_handler none
php_value mbstring.http_input SJIS
php_value mbstring.http_output SJIS
php_value mbstring.encoding_translation off
php_value mbstring.detect_order auto
php_value mbstring.func_overload 1
php_value mbstring.substitue_charcter none;
です。
絵文字に関してですがこの設定じゃないとフォームから入力されてそれを受け取る時点で????なってしまいます。
これ以外の設定でこれを回避する方法もあるんでしょうか?
0713nobodyさん2006/09/28(木) 20:46:59ID:???
要は絵文字の変換?
ひとまずこのスレを絵文字で検索する事をオヌヌメする。
0714nobodyさん2006/09/28(木) 20:47:28ID:eG4UHdr9
<?php
$Time = date("H");
switch ($Time) {
for ($a = 0; $a < 24; $a++){
case $a:
print "<P>".$a."</P>\n";
break;
}
}
?>
エラーになってしまいます。何故でしょうか?
教えてください。
0715nobodyさん2006/09/28(木) 20:49:42ID:???
internal_encoding SJIS
の設定で、
$day_of_week = array('日', '月', '火', '水', '木', '金', '土');
とEUCで書いたスクリプトを読み込んだら
エラーが出てもおかしくない理由を理解できないと
あんたの根本的解決には至らない気がするな
0716nobodyさん2006/09/28(木) 20:50:40ID:???
>>714
文法間違ってるから
07177052006/09/28(木) 20:57:54ID:???
>>713
絵文字の変換はできていて掲示板は正しく動くんです。
掲示板にアクセスすると他ディレクトリのシステムでエラーが出るんです。
>>715
そのエラーが出るのは掲示板の上位ディレクトリでinternal_encoding SJISという設定はしていません。
それとも一度どこかでhtaccessで設定するとその設定は持ち越されてしまうのでしょうか?
0718nobodyさん2006/09/28(木) 20:59:44ID:???
>>717
> >>713
> 絵文字の変換はできていて掲示板は正しく動くんです。
> 掲示板にアクセスすると他ディレクトリのシステムでエラーが出るんです。
別のシステム(PHP)なら因果関係は無いはず。
cookieとかセッションとかがかぶってるとか??
0719nobodyさん2006/09/28(木) 21:04:18ID:eG4UHdr9
>>716様
どこが間違いかご指摘お願い出来ませんか?
switch ($Time) {
//for ($a = 0; $a < 24; $a++){
case $a:
print "<P>".$a."</P>\n";
break;
//}
}
これはOKですし
//switch ($Time) {
for ($a = 0; $a < 24; $a++){
case $a:
print "<P>".$a."</P>\n";
break;
}
//}
これもエラーになりません。
for とswithを組みあわせるときに注意点などありますでしょうか?
07207052006/09/28(木) 21:05:11ID:???
>>718
なるほど。しかしcookieとかセッションとかかぶることによってこのようなエラーが起きるんものなのでしょうか?
そもそも同じ部分を読んでるはずなのに更新するたびエラーが出たり出なかったりするのが自分の理解の範疇を超えていて困り果ててます。
とりあえずcookieとかセッションとかチェックしてみます。
0721nobodyさん2006/09/28(木) 21:13:24ID:???
>>719
case〜breakの中にfor構文は書けるが
caseを包括するようなforなんてのは書けないよ。
switch〜caseの構文を完全に壊してる。

そんな感じでやるならこうだろ。
for ($a = 0; $a < 24; $a++){
switch ($Time) {
case $a:
print "<P>".$a."</P>\n";
break;
}
}
0722nobodyさん2006/09/28(木) 21:28:34ID:???
>>717
htaccessの設定は下位ディレクトリにも影響するよ
07237052006/09/28(木) 21:59:34ID:???
上位には影響しませんよね?
あるディレクトリから別ディレクトリにリンクで飛ばしたとき適応されるのは飛ばした先のですよね?
ちなみに掲示板のほうもおかしな挙動を始めてしまいました。
能で文字化けし、セッションも働いてないようです。
もうダメだ…。頭を冷やして出直します。ってゆーか逃げたいです。
webプログラミングってプログラムじゃないところが難しすぎますね。
みなさんありがとうございました。
0724nobodyさん2006/09/28(木) 22:43:56ID:???
>>723
能が文字化けする理由もわからんのにSJIS使ってるのか?
てかWebプログラミングはプログラムじゃないのか、へー。
0725nobodyさん2006/09/29(金) 00:26:24ID:???
>>724
お前は日本語読めなさ杉
0726nobodyさん2006/09/29(金) 00:28:08ID:???
>>724
揚げ足取るならせめてちゃんと読もうよ。
「プログラミング以外のところが難しすぎる」からどうやったらそう読めるのか…。
「能」の文字化け問題については同意だが…。
0727nobodyさん2006/09/29(金) 00:43:14ID:???
>>724
「webプログラミングってプログラムじゃないところが難しすぎますね。」
は>>724と同じ意味と受け取っていた、曖昧な表現にも問題があるかと・・。

「PHPってプログラムじゃなくてスクリプトでしょ」って俺もjava野郎に言われた事があって、ちょっと被害妄想も入ってるがw
0728nobodyさん2006/09/29(金) 00:48:10ID:???
最初っから悪意を持って読んでるとしか思えんよw
0729nobodyさん2006/09/29(金) 01:10:16ID:???
まぁ、社会に出ると色んな捉え方をする人がいるので悪い方向の幅は狭くしたほうがいいかもしれんがな。
そもそも2chは悪意ある発言と思っても間違いではない空間だと思うが。
0730nobodyさん2006/09/29(金) 01:35:16ID:???
>>727
java野郎がphp野郎より優れてるとは一概に言えないけど、
javaがある程度できる人とphpがある程度できる人(でもphpしかできない人)って、やっぱ「プログラマ」としての差があるのは否めない。

わりと適当に書いても動いちゃうからかな。
0731nobodyさん2006/09/29(金) 02:13:13ID:CHXTDEUo
PHP5で「abstract function foo();」という行があると、pear pacakgeをつくるときにエラーになります。

$ pear package
Analyzing Foo/Bar.php
Error: Parser error: invalid PHP found in file "./Foo/Bar.php"

これを「function foo() {}」に変更したら、パッケージが作成できました。
これってpearのバグでしょうか。それともabstractは使うなということ?
どなたかアドバイスお願いします。

PHP 5.1.4, PEAR 1.4.9
0732nobodyさん2006/09/29(金) 02:20:49ID:???
>>730
まー、PHP「しかできない」のはちょっとどうかと思うよな。
07337312006/09/29(金) 02:31:17ID:???
もうひとつ質問です。
package.xmlで指定するバージョン番号が1より大きいときもエラーになって、
「その場合は<extends>タグを使え」とエラーメッセージに出てくるのですが、
pearのマニュアルを読んでも該当するタグが見つかりません。
エラーメッセージはこんな感じです。
Channel validator error: field "version" - major versions greater than 1 are not allowed for packages without an <extends> tag or an identical postfix (foo2 v2.0.0)
だれか<extends>タグの使い方教えてください。

0734nobodyさん2006/09/29(金) 07:11:29ID:???
>>731
うーん
PHPでabstractが使えると思った理由は何でしょうか
0735nobodyさん2006/09/29(金) 07:17:52ID:???
>>734
ttp://www.php.net/manual/ja/language.oop5.abstract.php
0736nobodyさん2006/09/29(金) 08:24:54ID:hGRz7bVi
MSSQLとMySQLのデータベースのバックアップをとる方法はありますか?
また、そのインポート方法はありますか?

よろしくお願いします。
0737nobodyさん2006/09/29(金) 08:34:31ID:???
>>736
各DBのマニュアルちゃんと読みなよ。
バックアップのとりかたなんて詳しく書いてるんだから。
0738nobodyさん2006/09/29(金) 08:57:23ID:hGRz7bVi
>>737
すいません、php質問スレなのでphpって明記しておくのを忘れてました

PHPを使ってバックアップ、インポートがしたいのですが・・・
その方法が各DBのマニュアルに載っているのであれば失礼
0739nobodyさん2006/09/29(金) 10:08:17ID:???
727
>「PHPってプログラムじゃなくてスクリプトでしょ」って俺もjava野郎に言われた事があって
へぇ〜
スクリプトはプログラムじゃないのか?
ネイティブなCPUコードに落ちていないという意味ではjavaも
中途半端じゃん。
正直、言語の優越はあんまり興味ないな。そんなの切り口で
いくらでも評価変わってくるしさ。好きな言語使えばいいじゃん。
一番影響するのは、個人スキルの優越だしな。
チラ裏だが、
俺的には、Webプログラムで飯食ってるやつが
XSS、CSRFとか知らないっていうのは恥ずかしいと思う。
1言語しか知らないやつが言語の優劣語るのは恥ずかしいと思う。
まぁ、そういうやつに限って優越語りたがるんだがな。
0740nobodyさん2006/09/29(金) 11:41:00ID:???
>>736
お前の質問は、
「八百屋さんに野菜が売っていますか?」
と言ってるようなものだ。

その質問への答えは、「はい」で終わり。
0741nobodyさん2006/09/29(金) 13:43:57ID:???
DB::〜〜
みたいに、変数宣言せずにクラスを使うようにするにはどうすればいいの?
一回しか使わないのに毎回変数に入れるのまんどくさい(´Д`)
0742nobodyさん2006/09/29(金) 13:54:40ID:???
static
0743nobodyさん2006/09/29(金) 14:02:15ID:???
ソース見ると大抵インスタンス使わずにコールされてるようだけど、staticに使うのが一般的なの?
0744nobodyさん2006/09/29(金) 14:04:37ID:???
んなもんケースバイケースだよ
0745nobodyさん2006/09/29(金) 15:35:18ID:???
>>743
なぜstaticなのか? を調べろ。
0746nobodyさん2006/09/29(金) 17:20:17ID:hGRz7bVi
>>740
そうですね、失礼しました。

その方法をお願いします
0747nobodyさん2006/09/29(金) 17:22:27ID:???
>>746
mysql バックアップ
でググってみてはどうでしょうか。
その後、その方法をPHPで実行する方法を考えましょう。
0748nobodyさん2006/09/29(金) 17:23:13ID:???
>>746
>>738は言っただけなのか?
0749nobodyさん2006/09/29(金) 18:14:10ID:ejiIN4Ag
empty($_FILES["hoge"])
はtrue返すしvar_dumpで見てもnameやsizeも入ってるのに
is_uploaded_file($_FILES["hoge"])
はfalse返ってきます・・・

php.iniですが
file_uploads = on
;upload_tmp_dir = c:\windows\temp
upload_max_filesize = 5M

upload_tmp_dirはコメントアウトしてるので、winsows2003の場合"C:\WINDOWS\Temp"に
入ってるはずが・・・

どこか考え間違いでもしてるんでしょうか凹○
0750nobodyさん2006/09/29(金) 18:17:18ID:???
is_uploaded_fileの引数が間違ってる
0751nobodyさん2006/09/29(金) 18:33:29ID:???
お!
と思いきや$_FILES["hoge"]["tmp_name"]に直しても駄目でした・・・
0752nobodyさん2006/09/29(金) 18:45:13ID:???
emptyがtrueってそれ空じゃないのか
07537492006/09/29(金) 19:07:32ID:???
ありがとうございます

var_dump($_FILES["hoge"]);
var_dump(is_uploaded_file($_FILES["hoge"]['tmp_name']));

試しにこうやって見ると

array(5) {
["name"]=> array(1) { [0]=> string(12) "test.zip" }
["type"]=> array(1) { [0]=> string(28) "application/x-zip-compressed" }
["tmp_name"]=> array(1) { [0]=> string(25) "C:\WINDOWS\TEMP\php81.tmp" }
["error"]=> array(1) { [0]=> int(0) }
["size"]=> array(1) { [0]=> int(3405) }
}
bool(false)

こんな感じなのです。
なんかhttpサーバーが原因な気もしますねこれ、うーん
環境書いておきます。
windows2k3 apache2.0.55 php5.1.2
0754nobodyさん2006/09/29(金) 19:29:39ID:???
>>753
win環境ではtmp_nameの\を/に置き換えないとだめっぽい
0755nobodyさん2006/09/29(金) 20:10:11ID:???
確かに、公式マニュアルのコメント欄にもそう書いてあるね。

http://jp2.php.net/manual/ja/function.is-uploaded-file.php

to get the example to work on windows, youll have to add a line,
that replaces backslashes with slashes.
eg.: $filename = str_replace ("\\", "/", $filename);

前から思ってるんだけど、公式マニュアルにコメント欄がくっついてて、
そこに結構重要な情報が書いてある、っていう
この公式マニュアルの仕様はどうにかならないのかな?

xml_set_character_data_handlerのコメント欄なんかも

It would be nice if someone could complete documentation of
this function. I think that the "splitting" behaviour
should (at least) be mentioned within the documentation,

とか書いてあるし。
(コメント欄で盛り上がった、ある仕様について
「これってドキュメントに書いてあるべきだよね」とか書いてある)

http://jp2.php.net/manual/ja/function.xml-set-character-data-handler.php

0756nobodyさん2006/09/29(金) 20:16:46ID:???
>>755
一理あるが、それでもPHPの公式ドキュメントは
かなり親切な部類に入ると思うぜ
0757nobodyさん2006/09/29(金) 20:18:43ID:???
無料で最高のサポートを望むのは・・
英語でどこかに通知すればいいのかな?
0758nobodyさん2006/09/29(金) 20:38:19ID:???
$a = str_replace("\\","/",$_FILES["myfile"]["tmp_name"]);
var_dump($a);
var_dump(file_exists($a));

array(1) { [0]=> string(25) "C:/WINDOWS/TEMP/phpCA.tmp" }
bool(false)

重ね重ねありがとうございます!がやっぱ読み取れないっす・・
申し訳なさと焦りで心が折れそうです

>>755
日本語のとこしか読んだことありません 汗
0759nobodyさん2006/09/29(金) 21:03:42ID:kqk1O6yR
PHPに限ったことではないような気がするのですが質問させてください

URLに http://〜/index.php?2006
のように ?a=1&b=2 などとなっていないのを見かけるのですが、
この場合どうやって'2006'を取得できるのでしょうか?
取得したい変数がひとつの時にシンプルでいいな、と思っています

よろしくお願いいたします
0760nobodyさん2006/09/29(金) 21:06:10ID:???
確認せずに書くけど、

$_SERVER['QUERY_STRING']で取れない?
0761nobodyさん2006/09/29(金) 21:10:28ID:???
>>758

file_existsがfalseになるってのは、
そもそも、そのファイルは存在しているのだろうかって感じだね。
なにがおこってるんだろ。

WindowsのpHPはつかったことないけど、俺なら
まず、そのファイルが存在するのか、
あと、サーバーがWindows2000みたいだけど、XPではどうか、
Linuxとか(レン鯖とかなんでもいいけど)では、同じスクリプトが動くか、
などを見てみるかな。
0762nobodyさん2006/09/29(金) 21:15:07ID:???
>>758
ファイルはそのTEMPに入ってるか?
0763759です2006/09/29(金) 21:25:06ID:???
>>760
取得できました!
超即レス感謝です ありがとうございました
0764nobodyさん2006/09/29(金) 21:28:09ID:???
>>753

ここを良く見ろ

> ["tmp_name"]=> array(1) { [0]=> string(25) "C:\WINDOWS\TEMP\php81.tmp" }

ファイル名が入ってるのは$_FILES['hoge']['tmp_name'][0]だ
0765nobodyさん2006/09/29(金) 23:50:44ID:???
データの親子関係がある構造を表示するとき、どういうデータ構造で保持してますか?
配列で連結しすぎると分かりにくくなるし。

A1−−B1
  −−B2
  −−B3ーーC1
       −−C2
       −−C3

A2−−B1
  −−B2
  −−B3

たとえばこんな感じの。
0766nobodyさん2006/09/29(金) 23:57:32ID:???
配列にフラットに並べるとして、最小限、親のIDさえ持っていれば何とかなる。
0767nobodyさん2006/09/30(土) 01:01:05ID:???
array(
0 => array(null),
1 => array(0),
2 => array(1)
)
で3階層おpk
0768nobodyさん2006/09/30(土) 12:42:07ID:???
ethnaのサイトに載ってるこれなんですが、
while ($data[$i] = $result->fetchRow()) {
$i++;
}
って意味のある文なんでしょうか?
$data[$i] = $result->fetchRow()って条件式で
$data[$i] に値を代入していくわけではないですよね??

ttp://ethna.jp/ethna-document-dev_guide-db.html

$sql = "SELECT id FROM test";
$result =& $db->query($sql);
$i = 0;
while ($data[$i] = $result->fetchRow()) {
$i++;
}

0769nobodyさん2006/09/30(土) 12:52:44ID:???
>>768
いや、= は代入だけど
0770nobodyさん2006/09/30(土) 12:59:44ID:???
>>768

データを取り出して、格納したデータを条件式で比較して
データが存在すればまた繰り返すってやつ。

それ最後に無駄なデータがはいっちゃうんだよね。

while ($buf = $result->fetchRow()) {
$data[] = $buf;
}

こっちのほうがいいよ。
0771nobodyさん2006/09/30(土) 21:25:10ID:???
下がってきたから上げとく
0772nobodyさん2006/10/01(日) 02:27:44ID:F96v0AKS
文字化けに悩まされてます。
<?php
setlocale (LC_ALL, 'jpn');
print(strftime("%Y年%b月%d日"));
print(strftime("%A"));
?>
上の例だと月までは表示されるのですがそれ以降が文字化けします。
曜日もめちゃくちゃです。

phpiniの設定は

default_charset = EUC-JP
magic_quotes_gpc = Off
output_buffering = Off
mbstring.language = Japanese
mbstring.encoding_translation = On
mbstring.http_input = auto
mbstring.http_output = EUC-JP
mbstring.internal_encoding = EUC-JP
mbstring.detect_order = auto
mbstring.substitute_character = none

phpファイルはEUC-JPで保存。
文字列自体を
print("日曜日");
とかすると問題なく出ます。
phpiniの設定など、いろいろな組み合わせを試してみましたが解決しませんでした。
phpは5.14です。

お願いいたします。
0773nobodyさん2006/10/01(日) 03:21:35ID:???
あまり調べてないですが、サーバ環境によってsetlocale()の挙動が違う場合があるみたいです。

次のコードで今日の日付と曜日は出力することができると思います。

//今日の日付
print(sprintf('%s年%s月%s日', date('Y'), date('m'), date('d')));

//曜日
$week = array('日', '月', '火', '水', '木', '金', '土');
print($week[date('w')] . '曜日');

もっとスマートなやり方があるかもしれませんが。

0774nobodyさん2006/10/01(日) 03:47:33ID:???
setlocale(LC_ALL, 'ja_JP.eucJP' ); でやるとどうなる?
07757722006/10/01(日) 12:36:31ID:F96v0AKS
>>773
なるほどその方法だと出ますね

strftimeのマニュアルに
「注意 (上記の)全ての変換指定子が使用するCライブラリでサポートされてい ない可能性があります。この場合、PHPの strftime()で該当する変換指定子はサポートされ ません。」
こんな記述がありました。
これでしょうか?文字化けなので微妙に違う気もするけど。

Smartyを使ってるんで、プラグイン作るかなあ。
日付は2006/10/01とか2006-10-01でもいいし、
{$data|date_format:"%b"}月{$data|date_format:"%d"}日
とできるけど、曜日が英語表記だとなんだし…

>>774
ごめんなさい。書き忘れましたがwindowsでテストしてるんです。
その書き方はLinuxの書き方でしょうか?
私の環境だと
setlocale(LC_ALL, 'jpn' );
以外は日本語にセットされないみたいです。
setlocale(LC_ALL,'jpn.eucJP');
も試してみましたが曜日が英語で表示されるので効いていないみたい。

ちなみにPHP5.16にしてみましたが同じでした。
0776nobodyさん2006/10/01(日) 13:55:05ID:U0I6sUmv
htmlだけで書いたソースを拡張子だけphpした場合、
*.htmlと*.phpで数字で見て負荷は変わりますか?
0777nobodyさん2006/10/01(日) 13:57:34ID:???
もちろん
0778nobodyさん2006/10/01(日) 14:04:14ID:???
下らねぇ質問ばっかりだな
0779nobodyさん2006/10/01(日) 14:13:08ID:U0I6sUmv
phpファイルに
$パスワード=ぱすわーど;
$なまえ=ぎこねこ;

if($ぱすわーど==$_post[省略]&&$なまえ==$_post[省略]){
   echo"ログインしました";
} else {
   echo"不正なアクセスです。";
}

というコードをphpファイルにうめてアクセス制限を行いたいのですが、
BASIC認証と比べて、phpファイルに直接埋め込むこのやり方はどちらが安全でしょうか?
また、このやりかたでパスワードやなまえがもれるでしょうか?
0780nobodyさん2006/10/01(日) 14:18:45ID:???
>> 775
setlocate(LC_ALL,Japanese_Japan.20932)
0781nobodyさん2006/10/01(日) 14:19:15ID:???
>>779
BASIC認証
0782nobodyさん2006/10/01(日) 15:52:43ID:???
ローカルにあるHTMLからScriptタグとその中身だけを削除したいのですが、どうすればよいですか?
0783nobodyさん2006/10/01(日) 16:08:29ID:???
エディタで開いて削除
0784nobodyさん2006/10/01(日) 16:16:28ID:???
>>782
ローカルでCLIなPHPスクリプト動かして
対象ファイル読み込んで正規表現で
<script.*?</script>を削除して保存。
0785nobodyさん2006/10/01(日) 16:21:39ID:F96v0AKS
>>780
おお、直りました
ありがとうございます


教えてもらっておいてなんですけど正確には
setlocale (LC_ALL, 'Japanese_Japan.20932');
でした。
シングル、もしくはダブルクオーテーションで囲まないと駄目でした。
ウィンドウズでEUCJPの時はこうみたいですね。
0786nobodyさん2006/10/01(日) 16:31:01ID:???
今日は機嫌がいいので>>784をコードにしてみた。

foreach ((array) glob('*.html') as $file) {
 $contents = file_get_contents($file);
 $contents = preg_replace('|<script.*?</script>|is', '', $contents);
 file_put_contents($file, $contents);
}

phpって便利ね。
0787nobodyさん2006/10/01(日) 16:40:11ID:???
>>785
それぐらいはわかるでしょ
0788nobodyさん2006/10/01(日) 17:19:26ID:U0I6sUmv
if文で変数に値が入っていなかったら処理するコードを書いているのですが、
empty($_POST["name"])と!isset($_POST["name"])は同じですか?
なんかemptyを使うとうまくいくのですが、!issetだと動かないんですよね。
0789nobodyさん2006/10/01(日) 17:34:06ID:???
マニュアル嫁
0790nobodyさん2006/10/01(日) 17:44:02ID:???
>>788
empty … もし、空ならば
isset … もし、変数がセットされていないならば

$a = "";

だと、変数はセットされていないが、空だという状況になる。
07917902006/10/01(日) 17:44:39ID:???
訂正

isset … もし、変数がセットされて「いる」ならば

否定形と肯定形の関数があるってのは紛らわしすぎるな
0792nobodyさん2006/10/01(日) 17:48:49ID:???
>>788
フォームが空でも空文字列で渡ってくる。
つまり$_POST["name"]は空であっても作られる。
0793nobodyさん2006/10/01(日) 17:49:25ID:???
>>790
> $a = "";
>
> だと、変数はセットされていないが、空だという状況になる。

変数はセットされているが空、でしょ。
07947902006/10/01(日) 17:51:17ID:???
>>793
その通りでした
すみません
0795nobodyさん2006/10/01(日) 17:52:19ID:???
まぁまぁ、意を汲み取ろうよ。
0796nobodyさん2006/10/01(日) 18:18:45ID:???
>>779
どうでもいいけどそのコードじゃ動作しない。
0797nobodyさん2006/10/01(日) 18:25:04ID:???
話それるけど
>フォームが空でも空文字列で渡ってくる。
nameだからテキストフィールドだと思うけど、たとえばチェックボックスは
チェックしてないと渡ってこないよ。

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