【PHP】下らねぇ質問はここに書き込みやがれpart13
2
日付が 2005-11-25 となっているデータを読み込んだとき、 これを2005年11月25日という感じに変換したいのですが、 どうやればいいのか分かりません。 何卒ご教授くださいm(_ _)mペコリ
-でexplodeするなりsprintfで書式付けするなり
ノォ! sscanfだ
1乙
7 :
3 :2005/11/25(金) 21:29:13 ID:???
すみません、事故解決しました。 date("Y年m月d日 H時i分s秒", strtotime("2003-09-18 11:27:35"));
解決するなよw
9 :
ダメな973 :2005/11/25(金) 21:33:06 ID:???
みなさんわかってるふりして解決できないんですね
煽れば答えてくれると思う奴にはクズが多い
なあに、かえって免疫力がつく
12 :
ダメな973 :2005/11/25(金) 21:39:07 ID:???
>>10 人をクズ扱いするくせに他人を弄ったことは棚に上げられるんですね
面白い関数おせーて。
15 :
ダメな973 :2005/11/25(金) 21:47:29 ID:???
先に人を煽った一人っ子の
>>10 は返事がない
死んでいるようだ。
16 :
ダメな973 :2005/11/25(金) 22:07:33 ID:???
自己解決しました
17 :
ダメな973 :2005/11/25(金) 22:11:59 ID:???
>>9 で煽っている輩はなんなの?
まぁ質問者の態度じゃないなw
前スレを見てきたが誰も973を煽っているとは思えんが・・・? むしろ答えてもらいまくりじゃんw
アクセスログが大漁だなぁ
ダメな973がファビョっているスレはここですね?
ハァ? ならスレの流れとやらをお前が説明してみろよ
だいたい解決できないのは事実だろ?
> みなさんわかってるふりして解決できないんですね これって事実だろ。なら煽りじゃないじゃんw
そりゃ本当に分かる奴はこんな所なんか見ない訳で
はいはい
ダメな973君の質問はここで止まってるよ〜
誰か答えてあげたら?
########################################################
986 名前:ダメな973 投稿日:2005/11/25(金) 20:59:22 ID:???
さくらサーバのphp.iniファイルに
extension=php_pgsql.dll
を追加したのですが、変更を認識してくれないのはなぜでしょうか?
スレ違いですみませんが
987 名前:nobodyさん 投稿日:2005/11/25(金) 21:00:47 ID:???
OSって知ってる?
988 名前:nobodyさん 投稿日:2005/11/25(金) 21:01:18 ID:???
レン鯖でテストキター
989 名前:ダメな973 投稿日:2005/11/25(金) 21:09:53 ID:???
>>987 えーと、BSDのようですが
これ解決できない馬鹿は世界中捜しても973だけだろ
>>978 を煽るにしろ人をクズ扱いしてるのは事実。
なあに、かえって免疫力がつく
怖くて踏めないねw
免疫力がついてるのは煽るほうじゃないかw
36 :
nobodyさん :2005/11/25(金) 23:06:57 ID:P/64eLQB
44 :
nobodyさん :2005/11/25(金) 23:34:03 ID:P/64eLQB
━━━━━━━━━━━━━━━━スレリセット━━━━━━━━━━━━━━━━
47 :
nobodyさん :2005/11/25(金) 23:36:05 ID:P/64eLQB
セックス
タナトスとエロス
>>43 >
>>23 >>40 > 他人を陥れる行為がばれて虫の居所が悪いようです
情報操作といえば聞こえはいいが
その本質は他人を罠にはめる行為そのものだからな
粘着されて当然だな
なんか、全く質問スレとして機能してないな。。。
なぁ、どうでもいいから他でやってくれないか? 煽るのも必死こいて言いわけするのもさ。 無駄にレス伸びるだけで意味が無いし、 他の奴が質問出来る空気じゃなくなるから。
ここらへんで許してあげなよ
まぁいくら下質っつっても礼節は大事にしろよ
よっこら
(´・ω・`)マンマー
php5を使っているのだけど、utf-8でスクリプトを組む 優位性について教えてくれ EUC,SJIS,utf-8
今夜は冷えるね 岩見沢で雪が20センチも積もったそうだよ
>>59 IEが馬鹿だから、IEが馬鹿だから,、IEが馬鹿だから… しくしく…
リモートファイルの有無を確認 する方法ってないですか? ・画像ファイルがあるかどうかを確認 → 無ければファイル名を大文字にする ということをやりたいんですけど、このファイルの確認がうまくいかなくって・・・。 ご教授願います。
63 :
62 :2005/11/26(土) 00:32:20 ID:???
ちょっと新たな問題が見つかったので
>>62 の質問は取り下げます。
すいません。
>>59 utf-8でコードを組むと、
ファイルの先頭に変なゴミが出てheader関数やsession関数がエラーを吐くことがある。
>>59 PHPって内部でUnicodeに一回変換してるんじゃなかった?
php.iniでEUCとか指定しててもとりあえず、それに変換するらしい
だから無駄処理が減るってことだろ
って何かに書いてたような。。
5のことかどうかわしらん
>>66 いや、EUC-JPの場合は8bitスルーで無変換。
>>67 なぜだか知らないが、linuxでマーフィスを使ってる時もwinでjmeditorを使っている時も
日本語混じりのコードをutf-8で保存すると、必ずと言っていいほどheader already sentのエラーになる。
どうもファイルの先頭に2バイト分ほどゴミが出ているっぽくて、
たとえばSmartyで使うテンプレートファイルがutf-8の場合、そいつで書き出されたhtmlソースを見ると
テンプレートを元に生成された部分の先頭に書いた覚えのない"?"が出力されていたりする。
日本語とか、マルチバイト文字を一切使ってないスクリプトをあえてutf-8で保存してから、
GreenPadでEUCとかで開いてみるとよく分かるよ。
っていうか、こんなことが起きてるのって漏れだけじゃないよな?(´Д`;
>>70 まるでなったこと無い。
by Eclipse ユーザ。
73 :
70 :2005/11/26(土) 01:20:19 ID:???
>>69 ,71,72
スマソ、BOMって何のことだか知らなかった。
今ぐぐってみたけど、確かにこれのことだと思う。
指摘してくれてありがとう。
っていうか、何とかならんのか、コレ・・・
マーフェスつーのがMIFES(マイフェス)の事なら、 ポストプロセッサの設定って所でbomの有無を設定できるみたいだよ。@ver.7 他のエディタもかなりのものが対応してるんじゃないかなぁ。 「(エディタ名) BOM」でググればサクッと設定方法が見つかるかと。
76 :
nobodyさん :2005/11/26(土) 01:48:00 ID:2qingZhD
iモードサイト作ってるんですがうまくいきません。 以下でお日様マークが出るはずなんだけど出ないんです。 print pack("H4","F89F"); 内部文字コードがSJIS環境では上手く行くのですが、EUCだと駄目みたいです。 iモードの絵文字はSJISの外字に当たるらしいのですが、こういう場合どうしたらいいのでしょうか? よろしくお願いします。
77 :
70 :2005/11/26(土) 01:51:16 ID:???
>>74 そう、マイフェスだった。
うろ覚え杉でスマソorz
どうもありがとう。探してみます。
>>75 どういたしまして。
70です。検索してきますた。 >>●UnicodeのファイルにBOM(Byte Order Mark)を書き込むかどうかを指定可能に(UTF-8N対応) UTF-8Nってそういうことだったのか!!
79 :
nobodyさん :2005/11/26(土) 02:02:49 ID:rtzuPZNf
SImpleXMLでRSSをパースして、ソートさせようと思っています。 例えば、$xml->channel->item(itemはArrayで、..->item[0], ..->item[1] などで指定できます) を、$xml->channel->item->time をキーにしてusort関数でソートさせようとしました。 usort($xml->channel->item, "compare")として、 function compare ($a, $b){ if($a->time > $b->time){ return 1; }else{ return -1; } } としましたが、うまく比較関数に配列が渡せていません。 オブジェクトのプロパティと配列が頭の中でごちゃごちゃになってしまっています。 ご助言をお願いいたします。
頭の中を整理してからまたおいでください。
>>76 EUCの時に具体的にどう駄目なのか書かれてないから勝手な想像になるけど、
PHPのスクリプトがEUCで、出力がShift-JISになっている環境だったとしたら、
PHPが文字セット変換時にEUCキャラセットの「F89F」に該当するShift-JISの文字へ
文字を変換してるから、とか?
まぁ、推奨されている方法ではないけれど、
記号は「?#63647;」みたいにコードにして出力するとかどう?
ttp://www.nttdocomo.co.jp/p_s/imode/tag/emoji/e1.html#2 に書かれてるけど、「本記述方法は、現在のところ全機種で利用可能です。」という事だから。
>>81 ×「?#63647;」みたいにコードにして出力するとかどう?
○「」みたいに(ry
59と類似の質問になるけど 内部コードをutf-8にすることで問題が発生することはないの? 今までEUC-JPで来てたんだけど MySQLがアレなので内部コードはUTF-8に統一しようと思うんだけど。
変数内の文字列が何バイトか求めたいのですが、 [filesize関数]でやってみたらうまくいきませんでした。 他の方法ってありませんか? $file = "あいうえおabcde12345"; $filesize = filesize($file); print "{$filesize}バイト";
>>84 filesize関数はfileのsizeを求めるもの。
strlen/mb_strlen
(´-`).。oO(filesize関数は見たとおりの関数なのに、"file"の部分をすっぱり切り捨てて解釈するってのはどういう思考なのか気になる・・・)
>>85 strlenでやってみましたが正確な値になりません。
>>87 こんな思考です。馬鹿でした...
$url = "
http://www.yahoo.co.jp/ ";
$file = file_get_contents("$url");
$filesize = filesize($file);
print "$filesize";
>>88 だから、mb_strlenとも書いてあるでしょ。
違いとかはマニュアル読んで考えて下さい。
>>88 strlenで間違いないと思うけど・・・
<?php
$file = "あいうえおabcde12345";
$filesize = strlen($file);
echo "{$filesize}バイト";
?>
何がしたいんだ?
俺的用語で説明されたって周りには伝わらんよ
占いのスクリプトで、当たるかどうかはどうでもいいとして 書き込まれた内容をlog保存する方法というか、そういうスクリプト知らないですか?
>>88 言われたことをやってない上に最初と内容が違うのはどういうことだよ。500字以上で説明しろ。
マルチバイト関数のinternal encordingは何に影響を与えるのですか?
フォームからのURLデータで末尾の/(スラッシュ)が欠如している物に対して/+(スラッシュ)を自動補完できる方法は無いでしょうか。 よろしくお願いします
欠如してるってなんで分かるんだい?
>>98 完璧な回答をしてあげる。心して受け取れ。
末尾がスラッシュかどうかチェック
↓
スラッシュではなかったら、スラッシュを付加する
↓
以上。
101 :
nobodyさん :2005/11/26(土) 22:38:49 ID:KzWINHtY
本当に初心者ですみません。 キーボードから「\」マークを入力させるには どうすればいいのでしょうか?キーボードと小一時間程 睨めっこしてたんですが、「\」と印してあるキーが見つかりませんでした。 本当に、プログラムの前からやり直せ!と言われそうですが こんな私のような房な質問に付合って下さい。。。
騙されるな、Enterキーの上が正解だ
ろキー
105 :
nobodyさん :2005/11/26(土) 22:46:23 ID:KzWINHtY
>>102 >>103 >>104 入力出来ました!!!
「ろ」キーなんですね。今まで悩んでいた時間がバカに
思えますw 有難うございました!!
\\\\\\\\\\\\\\\\\\\
(n‘∀‘)ηワーイ
あれ、バックスペースの脇に\の刻印があるのは俺だけなのか。
俺もあるよ ってか「ろ」でも出るぞ すげー新発見だ
(´-`).。oO(PHPの質問・・・?)
PHPの参考書なんかだと\が\の半角で書かれてることが多いね。 その辺はPHPがらみでは?
全 然
>>100 それだと「欠如している物」という含みをもたせたものに対応できない。
すみません、ちょっと質問したいんですが SQL検索結果で検索ヒット数を表示する際に mysql_num_rowsを使っていますが 検索が結果0行のときにwarningがでます それを回避する策はどういったものがありますか? (Warningを出さずに0件の際の処理を行う)
>>112 でないよ。何か勘違いしていない?
参考までに Warning の内容を張ってみれば。
へ? selectが成功してるのに、mysql_num_rowsでwarningがでるの?
>>102 うはww「ろ」を押したらホントに「¥」て出たwww
>>113 出るとおもた。
普通はそこでエラー処理することがおおい。
>>112 @mysql_num_rows($結果セット)
でどうよ?
「¥」は「バックスラッシュ」って読むんだよ。 つまり、スラッシュ「/」の逆ってこと。 そんぐらい知っときなさい、プログラムするなら。
つ・・・つりなのか ゴクリ
ス、ス、ス、
121 :
nobodyさん :2005/11/27(日) 04:38:46 ID:rBY5DqB9
すげーアホばかり
122 :
nobodyさん :2005/11/27(日) 05:17:34 ID:cq1+8637
PHP5+MySQL5で掲示板を作ってます。 時々「レス数無制限」の掲示板サイトを見かけるけど 本当の意味で無制限にすることは現実的じゃないよね。 実際は「非常に多い」というだけで 制限はあると思うんだけどいくつなんだろう? 99999あたり? ヤフー掲示板も、そのくらいじゃないかと踏んでるんだけど どうかな?
アホだな
>>122 そもそも、その掲示板にそんなに人が来て書き込むのか。
それだけの記録数が必要な所はアクセス数や書き込みも膨大だろう。
はたしてそれを捌く必要のある所に採用される可能性はあるのか。
以上を総合して、「上限は100ぐらいにしとけ」と言っておこう。
レス数無制限どうこうって、荒らしを気にしてる? レス数どうこうもだけど、別の対策もしようね。 しかし、下質も本スレもレベル同じな気がするな。
本スレなんだから馬鹿はスルーでいいかなあと どのみち他の人が答えて敷居を引き下げるわけですが、、 腐っても本スレだと思いたい
おまえら、<?php echo $hoge ?> と <?php print($hoge); ?>って どっちが好き? おいらは、echoに抵抗感があるな。 どっち使う?
6通りあるのに「どっち」ってどういう質問だよ
>>129 では、その6通りある中でどれ使う?
おいらはecho と printしか知らないんだ…
うーん。どうでもいいかな。
133 :
nobodyさん :2005/11/27(日) 11:53:56 ID:y9YQ9fYW
echo の方が早いんだよな。ホントは。
134 :
130 :2005/11/27(日) 11:56:25 ID:???
ページを更新するたびにデータベースに接続し、データを引っ張り出してきて表示するやり方と、 データをセッション変数に格納し、引っ張り出すデータに変更がない限りデータベースには接続せず セッション変数を利用して表示するやり方、どちらが好ましいのでしょうか?
136 :
nobodyさん :2005/11/27(日) 12:05:23 ID:gM49bqjR
138 :
nobodyさん :2005/11/27(日) 12:17:31 ID:gM49bqjR
>>134 入力するのが早いんだよ、多分。
一文字分、違うからね。
>>135 自分以外のユーザーがデータを更新したらどうするの?
142 :
130 :2005/11/27(日) 14:58:56 ID:???
>>139 なるほ。
<? や <% は今非推奨らしいですよ。
<?php 〜 で統一しませう。
143 :
130 :2005/11/27(日) 14:59:23 ID:???
そこは<?でないとsyntax error
echoとprintの違いも分からんヤツはもう1回マニュアル読んでこい。
>>144 もし141に言ってるんだったら・・・。
<?php echo $hage; ?> <?php print $hage; ?> <?php echo ($hage); ?> <?php print ($hage); ?> <?php echo $hage ?> <?php print $hage ?> <?php echo ($hage) ?> <?php print ($hage) ?> しか思いつかないな。 漏れは常に一番上(echoでしか,が通らず、()付きでは($aho,$baka)が通らないので)
echoとprintで大漁のスレはここですか
149 :
nobodyさん :2005/11/27(日) 17:47:38 ID:rBY5DqB9
漏れも一番上だ。理由は特になし。
Smartyしか使わないのでprintなんかしません(><)
本当に下らない質問なのですが、 $a = 'abc';の一番最後の文字だけを得る方法はないのでしょうか? $a[-1]みたいな感じの事がやりたいのです
本当に下らないね。 $a[strlen($a)-1]
substr($a, -1)も
>>152 ,153
ありがとうございます。
どちらが早いんだろう・・・・、substrの方が何となく早そうな感じがする(^^;。
単純に速度だったら$a{strlen($a)-1}の方が速いけどね。 あと、早くマニュアル読めるようになってください。 さようなら。
この間、PHPで無限ループしたのですが、ブラウザの×ボタンで砂時計マークが消えました。 Perlで無限ループすると、サーバを再起動しないと止まらなかったのですが、 PHPで無限ループしたときは、こんなに簡単に終了できるのですか? それともやはり内部ではむげんループしているのですか?
157 :
鯖缶 :2005/11/27(日) 20:31:34 ID:???
>Perlで無限ループすると、サーバを再起動しないと止まらなかったのですが どんな鯖だ…
タイムアウトの関係もあるだろうが昔のPerlはへぼかったwww
さて此処で問題です。以下は致命的エラーになりますか?。 isset($_REQUEST['s']) || $_REQUEST['s'] ='';
致命的エラーって何かわかってる?
うむ。くだしつらしい展開でよろしい。
いきなり2ch一般に拡大解釈ですか 頭良さそうだね
複数のPHPファイルを効率よく印刷するソフト・手法を教えていただけないでしょうか ファイルごとに印刷すると余白が大きくなりすぎるので一つのファイルにしているのですが、 読みやすさや印刷時の手間が問題です 指定ディレクトリ以下に対象拡張子ファイルをまとめて印刷するようなソフトを探しています
PHPで整形すればよくね?
まあスレ違いだわな
俺の顔もPHPで整形してください。 お願いします。
>>170 あれ?無限ループになっちゃった。
テヘヘw
>>167 印刷したいファイルはPHPのソースかもしれんが、
PHPじゃなくてもいいわけで、PHPの質問というよりは、
印刷ユーティリティの問題だろ。
いまどきソースを印刷して確認するのかしら・・
脳内にプリントしてますが何か?
176 :
nobodyさん :2005/11/28(月) 13:43:47 ID:F1Rza0GP
mkdir( $up_dir, 0777 );でディレクトリを作っても属性が777になってくれません。 何が原因ですか?
マニュアルをちゃんと読んでないのが原因かな。
178 :
nobodyさん :2005/11/28(月) 14:04:25 ID:F1Rza0GP
あ、すみません。 そんな馬鹿みないた回答はいりませんから。
自分が馬鹿げた質問をしていることに気が付かない位の馬鹿なので仕方ないですよ
>>178 あ、すみません。
「みないた」ってどういう意味ですか?
User Agent偽装してもIPでばれるのは仕様ですか?
宿命です。
串
186 :
nobodyさん :2005/11/28(月) 17:44:24 ID:aWMpFuVY
>>186 つか、23行にどんな風に値が渡されているかチェックすればいいだろ
188 :
nobodyさん :2005/11/28(月) 17:47:24 ID:XsF8+fTM
カウンタの画像を変更したいのですが どうやればいいのですか? 画像は、フリー素材サイトからダウンロードできました
>>186 $fileに"."が含まれないとそうなる
error_reporting(0);
とか書いとけばどう
194 :
nobodyさん :2005/11/28(月) 17:58:59 ID:aWMpFuVY
echo と print の話をぶり返して悪いが、
>>133 が早いって言ってるのは、print が戻り値を返すからって意味じゃないの?
まぁ微々たる差だけど
ベンチ取りなさい PHP5.0.4 WinXP ob_start()でキャッシュ、10万回wilieループしてob_clear() /* print */ //1.34497213364, 1.38123798370, 1.34719991684, 1.37137198448, 1.35291194916 /* echo */ //1.38242292404, 1.34144687653, 1.35939788818, 1.35640001297, 1.34169983864
ちなみにこんなソース function getmicrotime(){ list($usec, $sec) = explode(" ",microtime()); return ((float)$sec + (float)$usec); } ob_start(); $time1 = getmicrotime(); $i = 0; while (++$i < 100000) print "それがVIPクオリティー!"; $time2 = getmicrotime(); ob_clean(); print ($time2 - $time1);
printはFALSEが返ってくる可能性がある状況なら必要だと思うけど、 ほとんどの場合echoの代わりにprintを使う必要性は無いと思う。 本来はechoを使うことが推奨されているんじゃないっけ? printはdelete()関数が用意されているみたいなもんじゃないかと。
>int print ( string arg ) >argを出力します。常に 1 を返します。 マニュアルには推奨云々の記述は見つからなかった Perl, Java式でprintは良く使ってるんだけど
丸投げちゃん
>>200 サーバに保存しといて、同じ携帯からだったら予め入れとけば?
>>203 Sun Nov 20 00:53:55 2005
ただし日本語版
>>200 キャッシュでいいんじゃない?
ん?待てよ。。。
携帯はキャッシュ使えなかった霧ガス
いまの携帯ってクッキーあるでしょ?
>>206 ドコモはない
ただしフルブラウザを除く
携帯固有番号で判断すれば?
俺の携帯はMO製3G携帯で固体番号を吐かない
>>209 個体番号吐かない携帯は2ちゃんに書き込めないんだぞ?
そんなの真っ二つに割っちまえ。
もうPHPの話じゃないので他行って下さい
213 :
200です :2005/11/28(月) 21:32:38 ID:???
すいません説明下手で… まさしく210氏の参照URLのようにしたいのです! 宜しくおねがいします
214 :
nobodyさん :2005/11/28(月) 22:02:01 ID:dcKw0j7z
216 :
200です :2005/11/28(月) 23:00:38 ID:???
PHP使ったアクセス解析で無料で、自由に設置でき、複数ページを詳細に解析できるものって無い?
つ [ php log analyze apache ]
複数設置
google懐石はどんなもんかね
>>223 いいけど、解析ページが劇重だし、新規登録できないとか
ぐぐるはJavaScriptベースだから取りこぼしがあるんだよな・・・ 素直にPHPにしておけばいいものを・・・
>>225 PHPにしておけば……?
PHPにしたらどうやって組み込むんだ?
っ index.php
>>227 ふーん、すごいねー、それでできるんだw
拡張子はいらないお index
取りこぼしを気にするようなアクセス数のサイトはgoogleなんかな きついのかもな。 そんなちまちました取りこぼしを気にするなら自前で解析するしか ないのかなと
なにその中途半端な改行
そもそも取りこぼしってどういうメカニズムで生じるんだ? アクセスが集中するとアクセス解析鯖がダウンして取りこぼすってが?
JaヴぁスクリプトOFFとかじゃないの
画像表示もJavaScriptも切っておけば、普通に記録されない(取りこぼす)けど。 Google解析はJavaScriptしか使ってないから、それだけ切っとけば残らない
imgタグはJavaスク切ってもカウントするよ 画像を表示しないとかすればカウントしないけど
phpでやれば確実か。
あったまいいなーおまい! Googleがレンサバやればいいんだよな! これにてこの話題終了。
PHPとは直接関係ないんだけどgoogleからのアクセスってHTTP_REFERER取れなくない?
239 :
nobodyさん :2005/11/30(水) 11:29:19 ID:LTeKbaFs
スレ違いあげ
>>238 取れてる。取れてないのはクライアント側が隠蔽ツール入れてるんでしょ。
241 :
nobodyさん :2005/11/30(水) 13:38:25 ID:FemNWJv5
すみません、教えてください。 今勉強で画像アップ掲示板を作っているのですが ディレクトリを作成すると所有者がapacheとなってそのディレクトリに画像をアップできません。 属性を777にしてもダメでした。 ちなみに自分でディレクトリを予め作っておくとちゃんとアップされます。(FTPソフトで) どうすれば正常にアップできるようになるでしょうか?
>>241 なぜそれをPHPスレで聞くのかがわからん
243 :
241 :2005/11/30(水) 13:50:51 ID:???
244 :
nobodyさん :2005/11/30(水) 13:51:06 ID:FemNWJv5
PHPで作ってるからですよ
245 :
241 :2005/11/30(水) 13:52:14 ID:???
>>244 あ、なるほどね、失礼しました
ディレクトリ作った後でchownしてみては?
ディレクトリをPHPで作ってるの?
ディレクトリは必ず先に作っておく。
249 :
nobodyさん :2005/11/30(水) 14:04:08 ID:FemNWJv5
>>246 それしたかったのですが、現在の所有者の取得方がわからなかったので・・
>>247 mkdirとかです
>>248 プログラムで作らないとユーザーが作ることになるかなとおもいまして
>>249 fileowner
で所有者は取得可能。
ちなみに、作られたディレクトリのパーミッションはいくつになっているの?
umaskって知っている?
>>249 mkdirもchownもhttpd走らせてるユーザの権限での実行になるだろうから
mkdir → chownですんなりいけそうな気もする
いややっぱchownダメっぽいね sudo権限あればいけそうだけど現実的じゃないよね
253 :
nobodyさん :2005/11/30(水) 14:12:41 ID:FemNWJv5
>>250 fileowner関数をみてみます!ありがとうございます。
mkdirで0777を指定しているのですが777にならないので、更にchmodで777にしています。
>>251 mkdir後にchownをしているのですが
Warning: chown(): Operation not permitted in /virtual/アカウント/public_html/t/up.php on line 32
とエラーが出ます。
FTPソフトで確認すると属性は777になっています
254 :
nobodyさん :2005/11/30(水) 14:14:19 ID:FemNWJv5
>>252 あ、やっぱりchownはダメですか・・・
ちなみに鯖はXREAでやってるのですが、他の画像アップ掲示板のCGIではちゃんとディレクトリが作成されてるんですよね
256 :
nobodyさん :2005/11/30(水) 14:24:57 ID:FemNWJv5
>>255 ありがとうございます。
何か属性が関係してるのでしょうか?
mkdir( $up_dir, 777 );とするとFTPソフトでみると411になってしまうんですよ。
chmodで777にしているのですが、やはりmove_uploaded_fileでエラーになります
xreaはsafemodeがonになってるんだよな、確か
258 :
257 :2005/11/30(水) 14:25:41 ID:???
259 :
nobodyさん :2005/11/30(水) 14:25:48 ID:FemNWJv5
>>257 あ、確かセーフモードはONだったと思いますが
この辺りで何かあるのでしょうか?
260 :
nobodyさん :2005/11/30(水) 14:28:10 ID:FemNWJv5
>>258 ありがとうございます!!!!
これって今の僕と全く同じ状況ですね。
ようするに、CGIやFTPソフトで作れってとこですね・・・
皆さん色々とありがとうございました。
初歩的なことで申し訳ありませんが・・・ <?php if( ){ この中で条件に一致したら抜けたいのですが、どうすればいいですか? } ?>
<?php if( ){ // なんか処理 if(! 条件){ // なんか処理続き } } ?> でいいじゃん。
>>261 抜けるというのがスクリプトを終了、って意味なら exit
if の次の処理へ、ってのならスマートな方法はないと思う。パッっと思いつくのはこれぐらい。
if 内の処理を工夫(フラグ、else 等を駆使)して、抜けたい箇所以降が実行されないようにする
if() {〜} を別関数にして抜けたい箇所で return
PHP5 であれば例外をスロー
他になにか方法があればよろ
>>264 知らないならレスしないでね^^
>>265 それでもいいんですけど入れ子がウザイ時に抜けたいこともあるので
>>266 exitでしたか。関数からreturnで抜けるのは知っていたんですよ。
268 :
nobodyさん :2005/11/30(水) 15:35:52 ID:iYNQpBXP
・外側のif文の代わりに for とか break;で抜けれるのを使う。 ・goto < PHPには無いのか。 ・そんなこと気にしなきゃならない設計が悪いんだ。
while ($俺->もよおしてる) { $俺->おしっこ(); if ($俺->残尿感 == 0) break; $俺->振ってみる(); if ($俺->残尿感 == 0) break; $俺->ティッシュで拭く(); $俺->包茎 = true; break; }
>>267 知ってるよ、ばーか。
case文でbreakすりゃいいじゃん。
>>270 知らないならレスするなって言ったろ?
それじゃ馬鹿丸出しじゃんww
めずらしく綺麗に釣れてるな
逃げ場が無くなったチキンが言う台詞 釣り
全くの部外者だよ 元々どこに逃げる必要もない
めずらしく綺麗に釣れてるな
なるほど、逃げ場がなくなったわけだ
ほらね?
しかもこいつ
>>275 の場合釣りと言えるロジックもないしなw
ロジックロジックロジックロジックロジックロジックロジックロジックロジックロジックロジックロジックロジックロジック ロジックロジックロジックロジックロジックロジックロジックロジックロジックロジックロジックロジックロジックロジック ロジックロジックロジックロジックロジックロジックロジックロジックロジックロジックロジックロジックロジックロジック ロジックロジックロジックロジックロジックロジックロジックロジックロジックロジックロジックロジックロジックロジック ロジックロジックロジックロジックロジックロジックロジックロジックロジックロジックロジックロジックロジックロジック ロジックロジックロジックロジックロジックロジックロジックロジックロジックロジックロジックロジックロジックロジック
どうでもいいけど
>>277 って自爆的敗北宣言だよな
「私は逃げ場がなくなったので釣りって事にしました」っていう
>>269 残尿感がないからといって、すぐにチャックをあげるのはセキュアじゃないぞ。
パンティ・インジェクションしてしまうかもしれない。
負け犬に限ってしつこく食いついてくるよね
>>280 みたいに
goto って一時、実装されてたけど、外されたんだよね。 現状、finally がないんで、クリーンアップ処理なんかで goto 使えると便利だわな。
>>282 「逃げ場がなくなる」→「釣り宣言」→「ほらね?」っていう身を削った
赤っ恥一人コントは笑わせてもらったよ
レッテル貼りだけじゃなく、論理的に反駁出来るようになったらまたおいで
クリーンアップ処理にはGOTOいらんべ スイッチにはあってもいいかなーと思う
SwitchのGotoとラベルへのジャンプは別物だろ
>>285 個人的にはあまり好きではないけど break で抜ける回数を指定すればいいんぢゃないの?
>>287 今度は「ボクは負け犬なのでしつこいでしょ」か
そして論理的に反論出来きずにレッテルを貼るだけの負け犬っぷりを強調する
自虐的なやり方が得意なのは分かったが、あまり自分を批判するなよ
いや多分Switch云々はC#の独自実装の話だと思う あれはキモい。いらねえ
考えたら各CatchからGotoで逃げるのも結構キモいな 結局メソッドの代わりGoto文は書かなきゃいけないわけだし 冗長でも尻拭きはそこに書いといたほうがいい希ガス そういう事じゃなかったら勘弁な
ああそうかよorz
ない
>>295 strposとsubstrを組み合わせる
298 :
nobodyさん :2005/11/30(水) 22:49:18 ID:tQakw/gy
いきなり悪いが 数値にコンマを振る関数number_format()は知ってるが、 1000000(100万)→"1,000,000"ではなく、 "10,000,00"や"100,000,0"みたいにコンマをうつ位置を変えることってできます? 数値のあとに「万」とか「00」が標準で表示されるところに使いたいのですが。
やべ・・ くだらんことにageてスマソ
300 :
nobodyさん :2005/12/01(木) 00:57:38 ID:LGGjP7w6
ユーザー関数を定義する場合に引数に配列を使う事は出来ないんでしょうか? function shop( $book[], $book[], $book[], $book[], $pen[], $pen[] ){ (中略) } こんな感じで定義したいんです。 func_get_argsは全部同じ配列に放り込まれるようなので用途と違う感じ。 最悪同じ配列でもキーの数で場合分ければ平気っぽいですが、 よりスマートな方法があれば知りたいです。
>>298 こんなんでどう、ちょっと苦しいか
number_format(1234500/1000,1,",",",")
->1,234,5
>>300 function shop($book, $pen){
(中略)
}
じゃ、いかんのか?
>>300 配列を渡すだけじゃだめなの?
shop($book,$pen)
あ、渡す値は普通の変数なんです。ごめんなさい。 使う時は shop($koujien, $haripota, $book1, $book2, $drgrip, $mannenhitsu); とかまぁそんな感じで適当な変数が放り込まれるんです。
305 :
300 :2005/12/01(木) 01:41:59 ID:???
306 :
!omikuji :2005/12/01(木) 02:05:47 ID:RXgvGwfN
あ
307 :
nobodyさん :2005/12/01(木) 02:48:34 ID:Yh8Cr0vg
関数内も知りたいところ
>>304 function shop($array_book, $array_pen)
{
}
shop (array($koujien, $haripota, $book1, $book2), array($drgrip, $mannenhitsu))
日付について質問させてください。 日付データを Y = 2005; M = 12; D = 1; という変数を合体させて 20051201 という結果にしたいのですが、 どうしても月や日付が1桁の場合、 2005121 となってしまいます。 どうしたら一桁のとき、前部分に"0"を代入させることができるでしょうか。 何卒宜しくお願いします。
>>309 いろいろ方法はあるけど、月や日の変数をprintfすれば
フォーマット(整形)したいってことなら、sprintf("%04d%02d%02d",$y,$m,$d) ってな感じでいいんでないかい?
date("Ymd", mktime(0, 0, 0, $d, $m, $y)
315 :
309 :2005/12/01(木) 17:41:44 ID:CokOaVcL
>>312 ありがとうございました。
おかげさまでうまく行きました!
>>313 $dと$mの位置が逆だったので、入れ替えたらうまくいきました!
方法としては イフ(日<10){日="0".日;} もあり
質問です。 タブブラウザを使って複数のサイトを開いている場合です。 タブ1で、セッションを使ったページ(管理者専用のページとか)にアクセスしている場合、 タブ2(別のサイト)でsession_unset();を使うと、タブ1の方のセッションもクリアされますか? それとも、タブ2のセッションだけクリアされますか?
サイト? セッションを共有しているのなら当然クリアされる 別のセッションを使っているのなら当然クリアされない
319 :
300 :2005/12/01(木) 20:24:13 ID:???
>>307 ”こういうのが出来ると楽そうだけどできるのかなー”、
と言うまだ思いつき程度で質問したので関数内は決まってませんでした。
>>308 確かに渡す時に配列にしちゃえば
>>302 、
>>303 で言われたとおりの事が出来ますね。
自分頭固いですね。もう少し色々勉強していこうと思います。
どうもありがとうございました。
PHPにとっちゃ、誰がどんだけの数を接続してるのかなんて気にしないよ。 セッションidが渡されている時にsession_unset()が実行されたなら、そのセッションを破壊するのみ!
>>317 別のサイトの処理に影響受けたらえらいことになるだろ
323 :
76 :2005/12/02(金) 02:59:17 ID:z2yJckIH
質問投げっぱなしにしてしまいすいません。
いまさらですが上手く行きません。
>>81 古い携帯はスルーにしてUnicodeで対応することにしました。
ありがとうございます。
絵文字の受け取りで内部文字コードSJIS環境なら取れるのですがEUCだと
SJIS→EUC変換時に消えてしまいます。
1.やりたいことは掲示板のように絵文字を受け取ったらUnicode表記(?x\\\\;)に変換して保存。
2.保存したUnicode表記をそのまま表示。
すでに完成してるシステムをi-mode対応させたいのですが、EUCでやってる限り無理なのでしょうか?
どなたか経験のある方いらっしゃいませんか?
よろしくお願いします。
325 :
298 :2005/12/02(金) 04:13:52 ID:???
>>301 なるほど・・・
そんな都合の良い関数の定義はないんですね。。。
327 :
nobodyさん :2005/12/02(金) 10:34:05 ID:WMTYlWe/
>>326 が正論だと思うが…
「こんな関数ないだろ」と思って作成すると、標準関数としてあったりするのがPHPクォリティ。
>>327 あるかないか探すのは当然として、
ないんですね
で諦めたようにみえたから、書けば?といったまで。
質問です 掲示板作ってるのですが 書き込みさせるときに必要なコンバート処理って htmlspecialchars以外に何かありますか? よかったら教えてください。 ご教授よろしくお願いします。
書式とか何に書くのかとかで変わるからなんとも胃炎ね
>>330 レスありがとう。
普通の掲示板(2chのような)です。
htmlspecialcharsやってるんですが、これだけでいいのかな?
と思って書き込みしてみました。
XSSの実例とかググって参考にしてみるといいかも
333 :
329 :2005/12/02(金) 16:09:43 ID:???
難しい話は抜きでお願いします^^;
>>333 そんなこというなら、やめておいた方がいいよ。
XSS対応した掲示板スクリプト拾ってきた方が早いよ。
自分が理解していないのにマネごとだけでXSS対策した所でたかが知れてると思う 変な穴作って攻撃食らうのがオチ
PHPのソースコードを片っ端からクラスにして、ページの表示は、クラスの宣言と同時にコンストラクタで行うってのは、なにか不具合が発生するでしょうか?
特に何も。
>337 >338 いや、既に実装をすましたんですけど、後々管理で不具合起きるかどうかで… バージョンアップが恐いですけど、メンバ、メソッドの利用以外は継承どころかカプセル化さえ行っていません
何でもいいから猿でも分かる系のOO本読め
開始日と終了日が設定されているデータの扱いについて教えてください。 すでに複数登録されているデータには、開始日と終了日というフィールドが登録されています。 → "開始日","終了日","箱1","箱2" → "051101","051130","a1","a2" → "051201","051231","b1","b2" 新しいデータを追加する際、すでに登録された期間に被っていた場合はエラー表示させたいのですが、そのやり方がわかりません。 (※12月1日〜12月31日までというデータがすでに登録されていた場合、11月1日〜12月15日というデータは登録できない、という感じです) 一応、下記みたいにやってみましたが、ダメでした。。。 $hoge = "SELECT * FROM table_name WHERE ( date_start<='"$start_data"' AND date_end>='"$start_data"' ) OR ( date_start<='"$end_data"' AND date_end>='"$end_data"')"; $db_query = sql_query($hoge,$ID); $array_result = mysql_fetch_array($db_query); if(empty($date_start_check) != TRUE ) { die("この期間内のデータはすでに登録されています。");} よろしくお願いしますm(_ _)mペコリ
それはPHPの不具合なのか? $hogeに入ってるSQLを直接DBに投げて実行してみたか? SELECTの結果が空だってんなら テーブルの構造とかも晒さないと判断できないしそもそもスレ違いって話だ
>>341 date("U")(←これは現在のタイムスタンプだけど)の形式を使った方が簡単。
なにその顔ふざけてるの?
("U") < > | |
346 :
341 :2005/12/02(金) 21:25:28 ID:v0LQzo7j
>>342 いえ、結果は正確にきてるんですが、
どうも条件文がダメのうようで・・・涙
3は1以上5以下であり、かつ7は1以上5以下ではないデータはあるか?
って感じの条件はどうしたらいいでしょうか・・・
347 :
341 :2005/12/02(金) 21:27:05 ID:???
あと、上記ではSELECT文で読み出した後に、mysql_fetch_arrayを使って配列として 取得した後、取得できたならエラーというの作業をしていますが、 クリエ実行段階でデータがあればFALSEを返すみたいなものがあれば、 そこでエラーを出せる気がしたので、他にそのようなやり方があれば教えてくださいm(_ _)mペコリ
>>346 SQLの質問だろ
示したソースもエラーだし。ぼろぼろ
いちおうヒントはおいといてやる
WHERE
'051130' BETWEEN s AND e OR '051231' BETWEEN s AND e
mysql_num_rows() でいいんちゃうの それと342,348 エラーになりそうだが
350 :
349 :2005/12/02(金) 21:37:14 ID:???
それと342,348 エラーになりそうだが ↓ それと342,348の言うように エラーになりそうだが
どういう環境で開発してるのかわからんが まず実行時のSQLを検証するところからはじめようや SQLのエラーなのかPHPのエラーなのか判断できるようにならないと お話になりませんよ
>>351 まずはSQLが正しいのかどうか検証しなよ。
353 :
341 :2005/12/02(金) 22:32:01 ID:???
>>348 ありがとうございます!
BETWEENをつかえばいいんですね。
思ったとおりの結果がでましたm(_ _)mペコリ
>>349 ありがとうございます。
mysql_num_rows() 、もしくはmysql_num_fieldsを使った方がいいですよね。
ちなみに、レコード数とfields数だと、fieldsの方が早いのかなとも思ったんですが、
そんなことはないのでしょうか?
すみません。 PHPが全く初めてなので、どなたか作業におけるキーワードやヒントを教えてください ませんでしょうか? やりたいことは, とあるホームページ上でリンクは張られていないが,手入力でURLを入れられた場合 閲覧出来てしまうページを閲覧不可にしたい、というものです。 PHPのソースを書き換えることで実現するのらしいですが、どのようにするのでしょうか? よろしくお願いします。
>>354 手法の話なのでPHPに限定されないのだが、
REFERERとかSESSIONとかで、直リン(ク)関連を調べてみな。
>>354 リンクが張られていなくて、且つ手入力でも閲覧できないページなんか
置いておく必要があるのだろうか…オマイさんも見れないだろうに…
と、野暮な突っ込みはここまでにして、
つ[BASIC認証]
ってのはどうだ?
PHPでも実現は可能だけど、.htaccessの方が楽だね。
357 :
354 :2005/12/03(土) 00:38:22 ID:???
>>355 ,356
即レスありがとうございます!!
入社二日目で言われて,なにから手をつけていいのかさっぱりだったので助かります。
さっそくググッてみます。
>>356 そうですね。言われて見れば確かにそうです。
なんでなのかなぁ。
>>354 入社2日目か
なんか354見るとphpソースとか書いてあるし
言われたことを理解してないんじゃないかい?
確認をしたほうがいいかも
359 :
354 :2005/12/03(土) 01:08:01 ID:???
ですね。もう一度聞いてみます。
360 :
323 :2005/12/03(土) 02:06:12 ID:???
>>324 ありがとうございます。
出力時ではなくフォームからの値受け取り時に
i-modeのSJISからEUCへの自動変換時に絵文字部分は消されてしまうのです。
受け取り時に文字コード変換をしなければ良いみたいですが、
それだといちいち自分でコンバートしなきゃいけないですよね。
始めにパラメータを変換するフィルタ的なつくりにしてみます。
どうもありがとうございます。
phpに限らない質問ですが・・・・・・ 携帯からのアクセスがあった場合にフルブラウザかどうかを判断する方法はありますか? 全機種登録してリファラで振り分けるしかありませんか?
UAだろ?
>>362 す、すいません。
UAの間違いですorz
UAで携帯PC振り分けなんざそこらじゅうにあるだろうに 調べたら?
365 :
nobodyさん :2005/12/03(土) 08:49:40 ID:5owRlhQT
>>361 UAなら普通にとったら携帯のメーカーが入ってるし
すぐわかるよ
残念ながら、一部フルブラウザにはUAを自由に変更できるものがあります
それは考慮しなくていいんじゃないかな。
jigからのアクセスだけど、変更している人案外いる気がする。 nullpoとか、rouei Scopeとか来たw
perlのpackにあってphpのpackに無いTEMPLATE(bとか)と 同じ処理をさせたいのですが、無理でしょうか?
371 :
370 :2005/12/03(土) 16:03:21 ID:???
自己解決です。数学関数使えば出来るようですね。 失礼しました。
372 :
nobodyさん :2005/12/03(土) 17:03:07 ID:s9WACNTa
すいません。質問です。 空メールシステムを作りたいんですが、自分でいじれるメールサーバーが ないとむりですか?ヤフーとか無理ですよね?
無理だしPHPに関係ないし
374 :
nobodyさん :2005/12/03(土) 17:06:51 ID:s9WACNTa
関係ありますよ PHPで作ろうとおもってるんです。トリガーはCornを使おうと思っています。
PHPのプログラミングを考えながらラーメン食うので
ラーメンの話はPHPに関係あるがごとし。
>>374 cronで回さないで、forwardでキックした方が良くないか?
ま、どっちにせよPHPに絡めるならもちっと具体的な段階でドゾー
頭にでも被ってろ
378 :
nobodyさん :2005/12/03(土) 18:34:41 ID:HaiO3Em8
質問させてください。 PHPで日本語表示ができなくて困っています。 環境 OS:Vine Linux 3.2 apache 2.0.55 php 5.0.5 apacheのドキュメントルートに以下のようなソースを置いてブラウジング します。 <?php print "テスト"; ?> すると、以下のようなエラーメッセージが表示されてしまいます。 Warning: Unexpected character in input: '' (ASCII=27) state=2 in /usr/local/apache2/htdocs/test.php on line 2 %F%9%H(B なにが原因なのでしょう。以前php4kを使用していたときは問題なかったのですが。 どなたかご教示いただけますでしょうか。よろしくお願いします。
Warning に character って出てるんやから、文字コード疑えばいいやん?
一瞬「?」と思ったが答え書いてあるじゃん >%F%9%H(B JIS漢字でスクリプトを書いているのが要因だと思う
文字コードが設定と違うんだろね。 PHP4と5って、php.iniのデフォルトの文字コード(charset,encoding)に変化あったっけ?
>>367 そこまで考えるならホストのIPで判定するほうがいいかな?
・・・と思ったけどだめか 。アプリだと鯖経由するし。
383 :
nobodyさん :2005/12/03(土) 22:29:16 ID:1Mveumjp
<?php $aaa = date("n"); if(($aaa>=1)&&($aaa<3)){print("1-3");} if(($aaa>=3)&&($aaa<6)){print("3-6");} if(($aaa>=6)&&($aaa<9)){print("6-9");} if(($aaa>=9)&&($aaa<12)){print("9-12");} ?> こうやっても何も表示されませんでした。 でもエラーメッセージは返ってきません。 何か間違っているでしょうか?
ああ間違ってる
元旦にやればなんか出てきそうだな クリスマスは無理
386 :
nobodyさん :2005/12/03(土) 22:53:15 ID:QwnhGijP
xamppのスレってどこかにありませんか?
>>383 $aaa = date("n"); の後に,print $aaa; とやって,条件文をよく考えてみて.
ついでに print gettype($aaa); もやってみた方がいいけど…,これは別にいいかな.
388 :
383 :2005/12/03(土) 22:53:51 ID:1Mveumjp
>>386 無いと思う。
てか、xamppをネタに何を話すんだ?
Apache MySQL PHP Perl etc...は既にスレがあるし、xamppに限った話題ってリリース情報ぐらいじゃね?
391 :
383 :2005/12/03(土) 23:11:38 ID:1Mveumjp
>>388 >元旦にやればなんか出てきそうだな
>クリスマスは無理
つまり、PHPは12月は処理出来ない仕様なのですかねー?
>>387 やってみます。
392 :
383 :2005/12/03(土) 23:12:24 ID:1Mveumjp
釣りにしてはちょっと・・・
394 :
389 :2005/12/03(土) 23:25:11 ID:???
>>390 自宅鯖板にあったのか。
それにしても・・過疎ってるな・・・。
395 :
387 :2005/12/03(土) 23:26:09 ID:???
>393 だよねぇ. そろそろ寝たいけど,解決してくれるまで眠れない… もう1回返答があったら,教えようかな.
>>391 しかし、上手いこと今が12月でかつ、12月の条件だけをミスったもんだ
397 :
387 :2005/12/03(土) 23:31:56 ID:???
>>396 今が12月だからこそ,この手のミスに遭遇できて良かったんじゃないかな.
今が1月だったら,1年近くミスに気付かないままかもしれないし.
それにしても、 >つまり、PHPは12月は処理出来ない仕様なのですかねー? という台詞はどこをどう捻ったら思いつくんだろう? ある意味感心する
お前ら純真だな 言い換えると馬鹿だが
400 :
383 :2005/12/03(土) 23:39:30 ID:1Mveumjp
>>396 OK!!
それでひらめきました!
<?php
$aaa = date("n");
if(($aaa>=1)&&($aaa<3)){print("1-3");}
if(($aaa>=3)&&($aaa<6)){print("3-6");}
if(($aaa>=6)&&($aaa<9)){print("6-9");}
if(($aaa>=9)&&($aaa<13)){print("9-12");}
?>
デケタデケター・∀・)!
この流れで、なんか妙に和んだw
・∀・)!
≡・∀・)!ピュー
404 :
387 :2005/12/03(土) 23:47:51 ID:???
>>400 良かった良かった.これで眠れる.
$aaa<13 とするのは予想外だったけど,別にいいや.おやすみ〜
好みの問題だと思うんだが、 if { } else { } と、 if { } else { } どちらの書き方の方が格好いいのかな。
406 :
nobodyさん :2005/12/03(土) 23:53:16 ID:QwnhGijP
>>400 確かに出力はされるけど、なんか根本的におかしくないか?
・・・まあPHPの問題じゃあないかも知れないけど。
>>405 pearの標準コーディング規約にあわせておけば無難じゃね?
>>405 俺は前者。後者だと何となく気持ち悪い。
前者の書き方は「ド素人丸出し」で、後者の書き方こそ「プロ」とかいう基地外
臭いカキコをどっかで見た覚えも有るけど、趣味でやってる俺には関係無い事。
>前者の書き方は「ド素人丸出し」で、後者の書き方こそ「プロ」とかいう基地外 こんな事にこだわるやつこそド素人丸出し。 プロなら1行10KBのソースでも脳内インデント。
プロなら1行10KBのソースでも脳内インデント。
おいおい、10KBってどんだけ長いんだよ
>>405 おれは
if()
{
}
else
{
}
だな、見やすいってだけだけど
改行が増える事による処理速度の違いはないのだろうか? 気持ちの問題だろうけど改行コードは少ない方が良さそう
>>414 改行を100万個並べたファイルをincludeしたら1秒以内に終わったけど。改行1個につき0.000001秒未満
おそーい
ナ ゝ ナ ゝ / 十_" ー;=‐ |! |! cト cト /^、_ノ | 、.__ つ (.__  ̄ ̄ ̄ ̄ ・ ・
418 :
nobodyさん :2005/12/04(日) 11:02:37 ID:mZWB+qjB
PHPで、 クラス内定数のconstとstaticの使い分けってどうしてる? スカラー値=const 配列=static?
419 :
nobodyさん :2005/12/04(日) 11:06:24 ID:82Fy3YTF
質問です。 PHPを使って、画像を生成したいのですが、文字を出力する事はできますか? 例えば「Hello」のように… サーバにはGDという物が入っているようです。 よろしくお願いします。
>>419 GDを使って出来る。
日本語(マルチバイト)は嵌るかもしれんが、
まずはHello(シングルバイト)が出来るように試してみ。
421 :
nobodyさん :2005/12/04(日) 13:16:11 ID:kSUEPQlr
共有サーバでion cube encoder で暗号化してphpとして パーミッション755で使用するのと cgiとして700で使用するのはどちらがよりセキュアなんでしょうか? 前者なら鯖管も解読不可ということで前者かな? ただし、暗号化コードが同一サーバの一般の人にも漏れてしまうわけで、 結局のところ暗号化の性能ということに・・・ 組合すことができたら完璧なんですが。
目的を整理してそれにかなった方法を選べ
423 :
nobodyさん :2005/12/04(日) 14:25:00 ID:82Fy3YTF
>>420 ありがとうございます。
ぐぐってその方法は分かったのですが、日本語フォントをサーバに入れないと駄目みたいです。
verdana.ttf はどこにあるのでしょうか?
phpをテストしてたんですが、 mysql_connectを使用すると Call to undefined function: mysql_connect が出るページもあるし、出ないページもある。 こ、この挙動は何?汗 extension=mysql.soを加えたら ちゃんと動作するようになったが気持ち悪すぎる。 なぜ、動いたり動いてなかったりしたんだ・・・
>>424 Webサーバが実は多重化されてねぇか?
それだけかボケ
あぼーん
PHPを使ってローカル(windows)のファイルを操作したり、 テキストに書き込んだりするのは可能ですか?
>>428 可能可能。俺はWindowsでのファイルの整理(名前変更)や
抽出とかはPHPでやってるよ。
>>428 基本的には (PHP が動いてるマシン == ローカル) が成立する場合だけだけど
>>429 のようにできる。
>>424 ここはお前がいるスレではない
カエレ!!
>>428 ではないが、
そうかー、ローカルでもできるんだよな。こりゃー便利だな。今気付いたよ。
header("Content-Type: text/html;charset=UTF-8"); header('WWW-Authenticate: Basic realm="あいう"'); header("HTTP/1.0 401 Unauthorized"); という感じでベーシック認証に用いられる文字コードを指定できないのですね 他に方法あるのでしょうか?
HTTPヘッダにmultibyteをそのまま入れるなんてオレには真似できねぇな
PHPの関数一覧どっかにない?
>>436 プチリファレンスとかポケリファレンスとかの索引
マニュアルに関数一覧があるだろボケ
本当にくだらないんだけど、array_unique()使うときって、 特に配列内の順序を気にしないなら直前にarray_sort()しといたほうが速い? 全然意味ないかな?
無し
内部でquick sortしてるから意味無いし、下手すりゃ遅くなるね。
>>438 あれ見づらいから聞いてんだよーお前ってばかだなあ
あれ以上見やすいものはないよ。
その馬鹿は騙りだろw
PHPのマニュアルは最高だけど バイナリセーフかどうかぱっと見て分かるともっと素敵 何か傾向はないのかな?
信者はみづらいとは言わないもんだよね
>>445 バリデートとかファイル操作で使う奴なら自分でちまちま調べてメモってる。
チートシートにして公開してみようかな。
>>446 どう見づらいのかは上で質問した本人にしか分からんよ。
つか
>>436 →
>>442 分かるわけねーだろwww脳みそ足りねえwww
というか見づらい見づらくないというものじゃないでしょ。
何か別のものでも見てるんじゃないの。
バイナリセーフなファイルハンドラはねーだろ? 入力値は全部サニタイズしてしまえ
PHPのマニュアルは、検索が使い物にならんのが一番むかつく。 ぐぐってPHPのマニュアルにたどり着くことの方が多いというのは如何なものか。
何を言ってるかわからんね
サイト検索するとGoogle先生にリダイレクトされるしなw
オイラがPHPで最初に書いたスクリプトは、 マニュアルのMany HTML Files版のディレクトリを走査して ファイル名から関数一覧を作成するスクリプトだったなぁ。 こんな関数あるのかな?って感じで単語で検索するのに重宝した。 今はchm形式のを使ってるけど。 ・特定のディレクトリを開く、ファイル名取得する。 ・特定の文字(function)が含まれているか調べる ・文字の置き換え(ファイル名から関数名を取り出す。リンクを作成する) ・ファイルへの書き込み(一覧htmlを作成)
俺、最初はレッツラPHPのナマズに世話になってた。 一通り目録を見通した後は検索しなくなったけどね。
>>453 あれは検索語の塊であるユーザノートが引っかからないのが痛い
グーグル以前なら仕方ないけれど
455 :
nobodyさん :2005/12/05(月) 19:12:54 ID:OEVC/8Kz
全角の英数字や記号を半角に変えるには、 テキストの文字数を取得して、 一文字一文字チェックして変えるしかないんでしょうか。
あれって英数字にもいけるの?
>>442 確かに見づらいかもしれないね。
なんつか、文字小さいからいちいち大きくしてるし、色の関係で読む気が失せる。
CSS切るか…
>>460 頭の回転いいなw
しかし面倒だ罠。CSS切っちゃえっ☆
CSS? なんか妙な関数一覧を見てる奴が居るな。
>>462 Cascading Style Sheets
つか字が小さいってどこのマニュアルだろ。 大体一覧って読むとこないし。
442=459他は左カラムのアレのことを言ってるんじゃまいか 実は索引や一覧を求めてるわけじゃないと見たが、どうよ?
467 :
459 :2005/12/05(月) 21:11:09 ID:???
>>465 442とは別人です。
勝手にイコールで結ばないでください。
468 :
nobodyさん :2005/12/05(月) 21:16:44 ID:SiZlFUzU
フォームメールを作成しましたが…
メールを受信しても文字化けしてしまいます。何故でしょうか?
■HTML
<form method="post" action="./sendmail_script.php">
<p>
<input type="hidden" name="_email" id="_email" value="
[email protected] " />
<input type="hidden" name="_subject" id="_subject" value="アンケート" />
<input type="hidden" name="_result" id="_result" value="<?php print($_SERVER['PHP_SELF']);?>" />
</p>
<dl>
<dt>名前</dt>
<dd><input type="text" name="name" id="name" size="50" maxlength="35" /></dd>
<dt>メールアドレス</dt>
<dd><input type="text" name="_from" id="_from" size="50" maxlength="255" /></dd>
<dt>メール本文</dt>
<dd><textarea name="memo" id="memo">本文記入欄</textarea></dd>
</dl>
<p>
<input type="submit" value="送信" />
<input type="reset" value="取り消し" />
</p>
</form>
469 :
468 :2005/12/05(月) 21:17:25 ID:SiZlFUzU
■PHP <?php $header_info="From: ".$_POST['_from']."\nContent-Type: text/plain;charset=ISO-2022-JP\nX-Mailer: PHP/".phpversion(); $body="「".$_POST['_subject']."」\n\n"; foreach($_POST as $key=>$value){ if(!strstr($key,"_")){ $body.="[".$key."]".$value."\r\n"; } } mb_send_mail($_POST['_email'],$_POST['_subject'],$body,$header_info); header("Location: ".$_POST['_result']); ?> よろしくお願いします。
470 :
nobodyさん :2005/12/05(月) 21:20:51 ID:H0N4uvhb
文字化けといったら文字コード
471 :
468 :2005/12/05(月) 21:31:49 ID:SiZlFUzU
>>470 PHP の方で、> text/plain;charset=ISO-2022-JP と指定してるのですが
送られてきたメールを見ると、何故か文字化けしています。
何故なのか分かりません。
>>469 よく判らんけど、内部エンコードがSJISじゃないんじゃないかと
>>471 それはPHPが勝手につけるから指定しなくていいでしょ。
PHPの場合はmbstring.internal_encodingをきちんと指定しておけば、勝 手に文字コードを解釈してくれるんじゃなかったでしたっけ?
windows2000、php4.4.10でXdebugを使っています。 エラー時にスタックトレースが出る場合と出ない場合があります。 これは一体なにが悪そうでしょうか? 設定としましては、 ダウンロードしたdllをextensions以下に配置し、 php.iniに記述したのみです。 phpinfo()により確認済みです。 よろしくお願いします。
スレ違いグッバイ
479 :
468 :2005/12/05(月) 21:51:24 ID:SiZlFUzU
エラー出ました。内部エンコードは…おかしいですね。orz Undefined variable: B in /home/hoge/sendmail.php on line 7
480 :
>>475 :2005/12/05(月) 21:56:28 ID:???
>>476 誘導・回答有難うございます。
CGIの制限は、「使えるスクリプト」が限られていて
CGIを探して使おうにも登録が必要なんですね。
が、管理人さんが忙しいなのかは知りませんが
その作業にまったく手をつけていないので結局PHPに頼ろうと思ったのです。
借りているのは
ttp://www.freespace.jp/です 。
481 :
477 :2005/12/05(月) 22:02:57 ID:???
>>478 まじですか。
ここが適しているかと思い質問させて頂いたのですが、
他探してみます。
まあプログラムを書く人の板だからねえ
483 :
475 :2005/12/05(月) 22:20:52 ID:???
ああ、探してますスレはPHPでもOKなんですね。早とちりしてました 有難うございました。いってきます。
abstractクラスのコンストラクタは 全部protectedにしておいて問題ないですか?
array配列の値が123だったらその値を削除しようとしているのですがこれだと他の値が 消えてしまう事があるようです。どうしてなのでしょうか?。 $dat = array('000','123','457','999'); $no = in_array('123',$dat); unset($dat[$no]);
きっと'123'の部分が変数なんでしょ。 その値が間違って渡されてるに1票。
487 :
軟式PHP :2005/12/06(火) 09:21:20 ID:???
そもそもin_arrayってboot値が返るのでは。 485の意図している動きをさせるならarray_searchの方を使わんと。
>>486 ,487
マニュアル読んできました(^^;
487さんがおっしゃるようにboolが返ってきてきていました
ありがとうございました
490 :
455 :2005/12/06(火) 10:09:20 ID:???
>>456 遅れましたが、ありがとうございました。
携帯サイトでPHPに使用してるファイル全部SJISで書いてるんですが、フォームから送られてくる一部の文字が文字化けします。 これを解決する方法はありますか?レン鯖を使用してるのでphp.iniの設定は変えれません。ヒントだけでもお願いします。
確かにバージョンの問題もありますがmb_send_mailはmb_languageとか設定しないと 普通に化けますよ(^^;
493 :
軟式PHP :2005/12/06(火) 11:41:52 ID:???
>>491 その一部を教えてくれんと「表示」「ー」等が化けるとか。
Vodaの機種でUTF-8で送信されてくるやつもあるから注意せんとな。
1つのform内に2つのボタンを設置した場合に どちらのボタンが押されたかを判断する方法を教えてください
>>493 レスありがとうございます。
表、能、ー、とかKENT WEBで説明されてるやつですね。
あと、半角カナでドラエモンなど長めの文字がなります。こちらは原因が違うような気がしますがどうなんでしょう?
496 :
nobodyさん :2005/12/06(火) 11:53:15 ID:kEMoA+0o
>>494 <input type="hidden" name="hehehe" value="hohoho">
<input type="submit" name="hoge" value="fuga">
↓
hehehe=hohoho
hoge=fuga
>>496 ありがとうございます。
<input type="submit" name="hoge1" value="メモ1">
<input type="submit" name="hoge2" value="メモ2">
こういう場合はどうやって判断したらいいでしょうか?
>>497 <?php print_r($_POST); ?>
やってみればすぐわかる
>>497 nameは同じにしてvalueだけ変えたほうがよくね
ディレクトリ内のファイルを一つ一つのサイズを取得するのではなく ディレクトリ内のトータルなファイルサイズを 一回で取得する関数なんてありませんか?
探してなければ作ればいいじゃない
>>496 さんみたいによく非表示の
<input type="hidden" name="hehehe" value="hohoho">
を使うのをみますが、これっての真意をしりたいというか
これってformが複数ある場合の識別に使ってるんですか?
>>502 一つのPHPで処理するときにhiddenの値でアクションを切り替えたりするのに使ったりする。
>>502 使う必要に迫られないってことは、君には必要ないのだと思う。気にせずスルーで。
#ってか普通にWebプログラム作ってりゃ使うんじゃね?
>>505 知ってて言ってることが判らないのだろうか...
マテリアルってどういう意味?
まさかと思った判らなかったのか。
>>502 入力の必要がない値を渡す。
たとえば2ちゃんねるなら板名、スレッドキーなどがhiddenで渡される
>>484 publicにしとけ
サブクラスがnewできないものと紛らわしい
>>485 in_arrayの戻り値はBoolean
array_searchと勘違いしてるだろ
PHPのHTTPセッションを使ってみたのですが、IEや火狐、ネスケでは正常に動作するのにOperaでだけおかしな動作になります。 仕様の違いによるものなのでしょうか…? 設定はデフォルトのままです。
515 :
軟式PHP :2005/12/06(火) 19:32:54 ID:???
そこでエスパーの登場ですよ。
クッキーが拒否設定にでもなってるんじゃねーの。
いや、おかしいが動作しているわけだ
まぁ、なんだ、どうやってセッションを実現しているかはマニュアルに記載があるし、 それらを制御するphp.ini等の設定方法も載ってるしなぁ。 利用時の出力htmlソースを見るなり、httpヘッダを見るなりして、 自分で原因(つーかたぶん勘違いしてるんだろうと思うが)を突き止められるべ。 それが学習ってもんよ。てやんでぃ。
519 :
514 :2005/12/06(火) 21:31:01 ID:???
具体的には、「食べる」ボタンを押した際に $_SESSION["onaka"]=ippai; として、別ページに <?php if (isset($_SESSION["onaka"])){ ?> お腹いっぱい <?php }else{ ?> お腹すいたよ <?php } ?> とし、食べるボタンを押した場合とそうでない場合に違う表示がされる様にしたのですが、Operaだと食べるボタンを押しても別ページではelseの表示になってしまいます。
>>519 「食べる」以外のボタンがあるならphpじゃなくhtmlの問題かと
ヘッダ見るのが手っ取り早い
既に変なクッキー食わせてるとかウィンドウが別インスタンスだとか
operaの設定の問題でしょ
524 :
514 :2005/12/06(火) 22:32:34 ID:???
すみませんごめんなさい。 オフライン作業にしてました…Д 戻したら正常になりましたー…逝ってきます…
お、オフライン作業だってー!?
取得したhtmlソースをテキストエディタで見るようにタグを色分け整形出来るようなライブラリ無いでしょうか?
それPHPソース用
530 :
nobodyさん :2005/12/07(水) 17:53:51 ID:qi78BylE
Windowsでphpをコマンドラインで動かす方法を教えてください php5.0.5 Winxpです
ちょっと伺いたいのですが、 php5からjavaは使えないのですか? php4はできるみたいですが。
>>532 まず PHP5 で Java が使えないと思った理由を教えてもらおうか。
>>533 phpマニュアルのphp/javaの連携という項目で、
php4/ext/java/READMEに手順が書いてあるといっていますが、
存在しません。また、php4の設定方法はサイトがあるんですが、
その方法ではphp5で使えません。
peclに移動になっただけでphp4と同じ手順でおk ただ実用性はあんま無いと思う
537 :
nobodyさん :2005/12/08(木) 15:13:55 ID:IuQb+C4+
ライブラリのインストールってどうやるんすか? マニュアル英語だし「ライブラリ インストール」などで検索かけても、 それっぽい解説サイトが見つからないので・・・。 winでgdlibraryってのを入れたいです。
>>537 php_gd2.dllならバイナリのパッケージに入ってるだろ
実行しているプログラムのファイル名を取得する関数はありますか?
>>540 $_SERVER['PHP_SELF']
$_SERVER['SCRIPT_NAME']
あたりでは?
プロセスは複数のソースファイルからコードをピックアップするのは よくあることだが
543 :
537 :2005/12/08(木) 15:55:09 ID:???
>>538 インストーラの方で既にインストールしてあるんです。
追加できないものかなーって。
>>539 検索して出てくるのがLinuxのサイトばかりな気がします。
もう少し粘ってみますけど・・・。
GDのデベロッパに質問したおした馬鹿がいたのか PHPに見られるとへんたいだな
546 :
537 :2005/12/08(木) 16:26:47 ID:???
こんなCGI捜してます って感じのスレはないですか?
Web製作にある
あああ そっちにありましたか! マジ蟻がd
>>537 dllで気づけよ。
つ php.ini
551 :
537 :2005/12/08(木) 17:32:24 ID:???
やたー!できましーたー!みなさんありがちょちょん。
552 :
nobodyさん :2005/12/08(木) 17:54:43 ID:AkLZQBwk
特定のlinuxコマンドを特定のUnix ユーザの権限で動作させたいのですが、 どんな方法があるでしょうか? ちなみにUnixユーザはsshは使えませんが、 ID/PASSWORDはわかります。 またUnixユーザは複数いてphp内で状況によって切り替えるように したいと考えています。 動作させる権限を気にしなければ、exec()とかでいいと思うのですが・・・
553 :
552 :2005/12/08(木) 18:29:56 ID:???
su使えばいけるような気がしたのですが、 passthru("su userid"); passthru("password"); passthru("whoami"); ではユーザの切り替えができませんでした。 対話形式?だから無理なのでしょうか? ヒントだけでも貰えたら幸いです
apache_2.0.55のWindows版でPHP5.1.1のWin版をモジュールとして読み込ませたいのですが, 設定の仕方が分かりません。PHPは解凍しただけです。 httpd.confに以下を追加したのですがまだ他に足りないのがあるでしょうか? LoadModule php5_module "D:/tool/php_for_Win32/exe/php5apache2.dll" AddType application/x-httpd-php .php # configure the path to php.ini PHPIniDir "D:/tool/php_for_Win32/exe"
>>553 スクリプトファイルを作ってexec()は?
ワロスw
ちょっと基本的なことを教えてくださ $iとかに数値を入れて扱うとこれってshortつうか16ビットですか?
558 :
553 :2005/12/08(木) 19:12:45 ID:???
>>555 setuidとかsuexecにするということでしょうか?
useridを動的に変えたいので、その方法だとユーザ分スクリプトを作る必要が
出てきてかなり厳しいかなと。
色々とぐぐって見たのですが、sudoしろとかいった内容しか見つかりません。
sshでアクセスする場合などのパスワードなんかを聞いてくるような
場合の処理はphpでは不可能でファイナルアンサーでしょうか?
mail()関数のadditional_headersにFromなどを入力する際、 ヘッダの改竄を防ぐためにどのようなサニタイズを行ったら良いのでしょうか?
562 :
nobodyさん :2005/12/08(木) 21:38:33 ID:uvzNzscr
まぁ、要求は満たせるな
for($s=0; $s<count($d_file); $s++){ echo "<FORM ACTION='next.php' METHOD='POST'>"; echo "<CENTER><INPUT type='submit' name='add$s' value='ぽち'></CENTER></FORM>"; } とした場合、ぽちボタンが押された時〜を実行するという記述をしたいのですが、 if ($_SERVER["REQUEST_METHOD"]=="POST"){ if (isset($add$s)){ 〜実行部分〜 } としても、エラーを吐くみたいです。 $add$sあたりが怪しいと思うのですが、どう書けばいいでしょうか? } とした場合、ぽちボタンが押された
表示ばぐったみたいです。 if ($_SERVER["REQUEST_METHOD"]=="POST"){ if (isset($add$s)){ 〜実行部分〜 } } です。
>>567 どんなエラーが出てるかも分からないのに
何を解決しろと言うのか
570 :
567 :2005/12/09(金) 10:59:23 ID:???
>>569 すいません、そうですよね。
25行目のdie("Error: " . PDF_get_errmsg($p));でParse Error
31行目のPDF_begin_page_ext($p, 595, 842, "");でFatal error: Call to undefined function: pdf_begin_page_ext()
33行目の$font = PDF_load_font($p, "KozMinPro-Regular-Acro", "Ext-RKSJ-H", "");で上と同じエラー
今のところこういう感じです。
>>570 PDFlibをインクルードしてないからじゃねーの?
>>565 おまえもどんなエラーだか明記しろよ。
つーか、POSTされたものは$_POST[]だろ。
ま、register_globals=onなら別だが。
syntax err
574 :
567 :2005/12/09(金) 11:21:57 ID:???
>>571 すいません、どのようにすればインクルードできるのですか?
何分素人なもので、よく分からなくて…。
>>574 あ、ちと勘違いだ。
PDF PHP インストールでぐぐってみて。
要するに、PDFlibで使えるようになる関数がundefined functionなわけ。
つまりちゃんといんすとーるされてないってことだから。
dl("libpdf_php.dll");
577 :
567 :2005/12/09(金) 11:39:26 ID:???
>>575 ありがとうございます。それでやってみます。
>>577 libpdf_php.dllってファイル持ってるのかよ
そもそもphp.iniを読み込めてないんじゃないの
phpinfo();で確認しろ
>>567 そこの記述は古いのでエラーがでるのが正常です
もう使えない関数を使ってます
他のwebから指定されたタグ以降を取得するような サンプルソースってどこかないですかね?
581 :
567 :2005/12/09(金) 12:05:53 ID:???
>>578 libpdf_php.dllは、PHPのextensionsフォルダにあります。今確認しましたが、
認識はしてくれているようです。
>>579 そうなんですか…。では、なんとか他の方法を探ってみます。
お二人ともありがとうございました
最初にマニュアルを読んでない時点でお前は負け組みなんだよ
>>581 phpinfoでPDFlibのバージョンチェック
PDFlib GmbH Version が6以上ならPDF_begin_page_extが使える
5なら使えないのでDF_begin_page関数に変える
>>580 file()で配列にしちゃえば後は簡単なんじゃ。
配列にタグ入ってるかチェックしてそれまでを削除で完了
>>581 PDFlibでぐぐればほかにもいろいろあるから探して。
で、これって有償なのは分かっている?
指定したサイトに自動でジャンプってphpでできますか?
587 :
580 :2005/12/09(金) 12:22:24 ID:???
589 :
567 :2005/12/09(金) 12:39:51 ID:HHj6b6mW
>>583 バージョンは6.0.1でしたが、PDF_begin_pageしか動かないようでした。
>>585 ありがとうございます。それは承知しています。
590 :
565 :2005/12/09(金) 13:26:31 ID:???
すみません、説明不足です。 next.php内で if ($_SERVER["REQUEST_METHOD"]=="POST"){ for($i=0;$i<20;$i++){ if (isset($add$i)){ 実行部分 のように、POSTされてきたのが、$add0だったら〜、$add1だったら〜、$add2だったら〜・・・ としていきたいのですが、$add$iの書き方がまずいらしく、エラーが出ます。 $add[$i]と書くとエラーは出ませんでしたが、上手く作動しませんでした。 一つ手前のphpのフォームの部分は for($s=0; $s<count($d_file); $s++){ echo "<FORM ACTION='next.php' METHOD='POST'>"; echo "<CENTER><INPUT type='submit' name='add$s' value='ぽち'></CENTER></FORM>"; } といった感じで、ボタン毎にadd0 , add1 , add2・・・となっています。 といった感じです。 下記エラー内容です。 「Parse error: parse error, unexpected T_VARIABLE, expecting ',' or ')' 」 ラインは、「 if (isset($add$i)){」この部分でした。 解決策があれば、教えて下さい。
592 :
nobodyさん :2005/12/09(金) 13:49:39 ID:hr0We1go
文字列連結すりゃいいんじゃねーの?
>>591 ,592
ありがとうございます。
しかし、色々試行錯誤するも出来ないのです
もう少しヒントを下さい
>>593 今回だけだぞ。
ヒント: $add{$i}
ホントに下らない質問だから、次回からはきちんと調べるようにwww
>>590 確かめてないけど
for($s=0; $s<count($d_file); $s++){
echo "<FORM ACTION='next.php' METHOD='POST'>";
echo "<CENTER><INPUT type='submit' name='add[$s]' value='ぽち'></CENTER></FORM>";
}
isset($add[$i])
>>594 ,595
出来ました、ありがとうございましたm(_ _)m
>>596 つーかさ、さっきも書いたけどregister_global=onでプログラムするなって。
598 :
nobodyさん :2005/12/09(金) 15:09:37 ID:AOiVoXBq
MySQL+PHPでやってます。 SQLのint型のフィールドに放り込んである値を mysql_fetch_arrayで取り出してそのまますぐにtypegetに入れたらstring ってでるんですけど、これはいったい・・・。 型変換すればいいんですけど、どういう時にこういうことがおきるんすか?
599 :
598 :2005/12/09(金) 15:10:43 ID:???
あ、先にSQLの方で質問したらどうもPHPの方の問題だと言われたので、 こっちで改めて質問しなおしてます。マルチっぽくてスイマセン。
DBからレコードを取り出すとき
>>597 あら、PHP5で register_globalをonにした覚えが無いのでoffのはずなんですがorz
デフォでoffですよね
602 :
598 :2005/12/09(金) 15:44:28 ID:???
うへ。 じゃあDBでどのような型に入ってたとしても、 PHPに読み込むと必ず文字列になると認識をして無いと危険と言うことですね。
>>601 じゃ、add$iでポストされた変数はを$add$iじゃなくて、
$_POST['add{$i}']だろ。
キャストする理由が思い浮かばないが
>>603 何故かそれだと出来なくて、 add[$i]でポストされたのを、
if ($_SERVER["REQUEST_METHOD"]=="POST"){
for($i=0;$i<count($rp);$i++){
if (isset($add[$i])){
で受け取れています・・・。
globalはoffなんですが、どうしてでしょうかorz
失礼しました、add[$s]でポストされたのです。
最初あたりでextractしてんじゃないの?そこらじゅうにサンプルとしてあるから真似したくなるけど、よくあるダメソース。
>>606 add[$i]でポストされたものなら、
$_POST['add'][$i]
だろ。
>>610 意見ありがとうございます。
add0でポストされていても、i=2になっていたりするので、上手くいかないのですorz
breakしてないからかもですが・・・。
現状で上手く動作してるので妥協してるのですが、もう少しいじってみます。
$fruit =array("りんご","ばなな","めろん","いちご/ぶどう/なし"); となっていて、配列$fruitにぶどうがある場合、falseにしたいんですけど、 これって、list($f[0],$f[1],$f[2]) = expload("/",$fruit[3]); みたいに分解してからチェックするしかないですかね? スマートなやり方があれば教えて欲しいんですけれど、公式でarrayの関数順番に見るもそういう関数が見当たらないので(´д`)
よし俺がスルー
>>612 配列$fruitにぶどうがある場合って、"いちご/ぶどう/なし"が要素にある場合も含めるの?
だったらpreg_grepかな。
>>614 でもって、「ぶどう」のみならin_arrrayと。
>>614615 様
ぶどうのみなのでin_arrayかな・・・。
となると、
$fruit =array("りんご","ばなな","めろん","いちご/ぶどう/なし"); で、
if(in_array("ぶどう","$fruit)){
echo "ぶどうあり。"
}
だと、trueって事ですか・・・。
しらなかったです。ありがとう!
先生、ぶどうありって出ません゜ + 。・゜・(ノД`)
HAHAHA! in_array()のマニュアルよく読んでみ
>>617 だから、
614が"いちご/ぶどう/なし"が要素にある場合も含めるのかって書いてるじゃん。
正規表現まだ勉強してなかったんですけれど、これむずいですね(ノД`) 特殊な法則みたいなの覚えないと駄目みたい・・・。 取り合えずはexploadで分解してチェックする事にしますorz
621 :
nobodyさん :2005/12/09(金) 18:42:56 ID:JUWxzeIo
ImageCopy関数で、 画像のサイズは指定し縮小はできますが、画像の容量を指定し 縮小する方法はありませんでしょうか? 50KB 横240 縦180 ↓ 10KB 横* 縦*
無い
>>620 よ expload じゃない。explode だ。英語頑張ろうな。
設置したsubmitボタンをある条件を満たすと他のボタンに取り替えるという事はできますでしょうか? ご存知の方やり方を教えて頂けると幸いです。
$_GETや$_POST、$_SESSIONなどの変数の値に応じて変更させるとか。
ありがとうございます。 既にボタンを設置した後だと駄目なんですかねぇ・・・。
(゚Д゚)ハァ?
いえ、submitのようなボタンにも、str_replaceのような関数があればいいなと思ったんです。 意味不明な事言ってたらすみませんm(._.)m
>>631 それはJavaScriptでできるだろうが
あぁぁ、JavaScriptですか、なるほど! ありがとうございます!
アホだ・・・
ログイン後の各ページで、ログイン状態か否かをセッションで 判定してます。 [login.php] ini_set('session.gc_maxlifetime', "3600"); session_start(); $_SESSION["lid"] = $hogehoge; header("Location: index.php"); [各ページ] ini_set("session.gc_maxlifetime", "3600"); session_start(); if (!isset($_SESSION["lid"])){ header("Location: login.php"); } gc起動して掃除→login.phpへリダイレクトされるまで 3600秒のハズですが、 なぜかデフォルトの1440秒でセッションが切れ、login.phpへリダイレクトしてしまいます。 session.gc_maxlifetimeの内容をdumpしてみたのですが、ローカルでは3600に なっているようです。 共用サーバーなのでphp.iniの直接変更はできません。 どうにも原因がつかめません。 解決の糸口はありますでしょうか…
>>635 連鯖だとセッションを同じところに保存するかもしれないので無理かも
phpinfoでsession.save_path見てみれ。/tmpなんぞになってると他人に
GCされてる可能性蟻
.htaccessでphp_valueが設定できるならsession.save_pathを指定するか
session_save_path()して変更して確認してみれ
638 :
nobodyさん :2005/12/10(土) 12:03:17 ID:A5Y35bGz
GDライブラリを使って動的に画像を変更させたいです。 (例えば生徒の点数を入力すると点数の分布の折れ線グラフが出るとか) イメージを表示するファイルの変数をdefineとかで記して、 直接ファイルを書き換える以外に方法はありますか? できたらファイルを弄らずに関数みたいに出来たらと思うんですが。
>>638 画像ファイルをいじるのではなく、その都度生成すれば?
Win版 PHP5 + Apache2で環境作っててハマってます。 症状: GDやMb_Stringなど追加モジュールが、Apacheから php5apache2.dllモジュール経由だとロードできてないが、 同じスクリプトを、コマンドラインから php.exeで実行すると追加モジュールのロードはできる。 環境: Apache 2.0.55 + PHP 5.1.1および5.1.2-dev ※httpd.conf LoadModule php5_module D:\php\php5apache2.dll AddType application/x-httpd-php .php ※php.ini #php.ini-distからの変更点 magic_quotes_gpc = Off extension_dir = "D:/php/ext" upload_tmp_dir = "C:/tmp" extension=php_exif.dll extension=php_gd2.dll extension=php_mysql.dll extension=php_mbstring.dll Linuxで自分でビルドする方が楽だと思う今日この頃。
>>640 php.ini自体が読み込めてないんじゃないの
phpinfo()で確認してみ
>>642 さんくす、ビンゴだった。
Win版は、C:\WinNT に php.ini 置かないといけないのね…。
Linux, Unixでしか環境作ったことないから、php.ini は、
インストールディレクトリで良いとばっかり思ってたよ。
>>643 俺はいちいちコピーするのがめんどくさいので
httpd.confに
PHPIniDir "C:\php5.1"
と書いてる
645 :
nobodyさん :2005/12/10(土) 13:02:21 ID:9PXirItw
参照渡しについて質問なのですが 仕事で見せられた規約には「なるべく参照渡しを使え、理由は値渡しよりパフォーマンスがあがるから」ということです。 理由付けはどうでもいいのですが、既存の他の人のコードを見ると参照渡しの実際の書き方についていくつか方法があるようで私なりに意味を考えたのですがおかしいところがあればつっこんで欲しいのです 1番 $obj = &new Object(); $objには(どこかに実体が存在している名前無しのnew Object()の)参照が入る 2番 function &getValue() { return $obj;} $objは実体(インスタンス)だが $retObj = getValue();で取得した$retObjは$objの参照となる 3番 function &getValue(){}を呼び出すとき $retObj = &getValue(); $retObj = getValue(); のどちらでも変わらない 両方とも結果の参照が入る(2番と同じ状態になる) 4番 function getValue(){}を呼び出すとき $retObj = &getValue(); は結果の参照が入る(2番と同じ状態になる) $retObj = getValue(); は結果のコピーが入る 5番 $strVal1 = &$strVal2; 参照が入る? 6番 function setValue(&$strVal){$this->val=$strVal} 5番と同じ状態になる? 7番 function setValue(&$strVal){$this->val=$strVal} となっている状態で $strMyVal = "abc"; setValue($strMyVal); とやると、$strMyValの参照が自動的に渡される 8番 上記7番の状態で setValue(&$strMyVal); を呼び出すと・・・?どうなる?
646 :
645 :2005/12/10(土) 13:06:23 ID:9PXirItw
という風に、双方向から&を使うとわけがわからなくなるので 関数の引数はdefineで定義したものも入れたいこともあるでしょうから すべて function setValue($strValu)と&無しで書いて 呼び出し元の方で参照を渡すのか参照を取得のか↓したほうが混乱しないと思うんですが・・・ // 呼び出し setValue(&$strTest); // 取得 $strVal = &getValue();
>>644 そっちの方がスマートなんで、それ採用。
ありがとです。
>>646 call_time_pass_reference はそのうちサポートされなくなるらしいよ。
その呼び出し時に参照を渡すって奴ね。
>>646 マニュアルにもそう書いてあるしね。
一番の解決法はPHP5を使う
650 :
638 :2005/12/10(土) 14:40:59 ID:???
>>639 やー、何かファイル作ったりとか怖いんで。
初心者につきビビリーです。
>>641 便利そうなのかな。ちょっと試してみますね。
>>45 1番参照
2番はコピー
3番は上は参照、下はコピー
4番どちらもコピー
5番参照
6番コピー
7番コピー
8番コピー
マニュアルにある通り、参照を受け取っても=演算子を使えばコピーされる
>>646 はphp4で書くなら悪くない選択
ちなみに「リファレンスが高パフォーマンス」はよくあるガイセビア
これが正しいのはメソッド内でパラメータを「書き換える」場合のみ
その他の場合ではコピーオンライトなPHPでは参照を使ったほうが
遅いしメモリ喰い
参照で受けたパラメータをコピーすると(6番のケース)値コピーで
渡す場合にくらべて1000倍ほど時間がかかってビビるのは初心者に
ありがち
駄目なコーディング規約を嘆きつつ、次のプロジェクトでは規約の
改定に挑みましょう
>
>>646 はphp4で書くなら悪くない選択
えぇぇぇぇ!?
同じ理由でこれも遅い。 setValue($strVal) { $this->val =& $strVal; } } $obj->setValue($strMyVal); or $obj->setValue(MY_CONST); まあ実行コストの話は置いておいて、関数がなぜデフォルトで 値渡しなのか小一時間考えたほうがいいかもね。
654 :
645 :2005/12/10(土) 16:19:23 ID:???
皆さん ありがとうございます >参照で受けたパラメータをコピーすると(6番のケース)値コピーで >渡す場合にくらべて1000倍ほど時間がかかってビビるのは初心者に >ありがち あーなんか始めたばっかりのころ、 ぜんぜん画面が出ないなぁと思って 「&」 消したら直ったことがあったのですが そういう理由だったんですねぇ そのときから、「&」に対して避けて通ってきた 関数に渡すときに、その値を関数内で変更する必要があるとき以外は普通に書いておいたほうがよいのでしょうかね?
半角スペースを区切り文字としてそれぞれ文字列に格納したいのですが、 (例:「1 2 3」を$a=1,$b=2,$c=3といった具合) 半角スペースが区切り文字だと何か不安です。 環境によっては上手く動作しないような。杞憂でしょうか?
657 :
nobodyさん :2005/12/10(土) 16:49:21 ID:vDRN2V5d
>>656 不安って…EBCDIC環境とかか?
ASCIIコードが使えない環境まで考慮するのは考えすぎじゃないのか?
>>657 なんでPerlスクリプトの質問をここでするん?
なんだったら\x20で書き出せば
661 :
nobodyさん :2005/12/10(土) 20:05:54 ID:UVx/Wp+9
phpのインストールについてはこのスレでいいんでしょうか? もし、専用のスレがあれば誘導をお願いします。 現在、RedHatEnterpriseLinux3 ES を使っています。 Apache : 2.2.0 php : 4.4.1 をソースからのコンパイルでインストールしています。 上記環境で、SimpleXMLを使用したく、phpのconfigureオプションに--enable-simplexmlを追加して コンパイル→インストールを行ったのですが、simplexml_load_file(FILE)関数が"undefined function"となってしまいます。 コンパイル時やインストール時には、エラーの類は出ておりません。 phpinfo()のConfigure Commandにもちゃんと--enable-simplexmlが表示されています。 PHP4でのSimpleXMLの情報が少なく行き詰ってしまいました。 php-4.4.1にてSimpleXMLを使用するにはどうすればいいのでしょうか? 宜しくお願いします。
>>661 SimpleXMLってPHP4にバックポートされたの?PHP5のみだと思うけど。
マニュアルのsimplexml_load_file()の項とか
configureオプション(マニュアルじゃなくてソースの方)を確認してみな。
>>664 すみません。ありがとうございます。
今、手持ちの本を見返して見た所、
「SimpleXMLを使用するにはconfigureオプションで組み込むか、PHP5からは標準で組み込まれた・・・」
というような書き方がされていまして、てっきりconfigureオプションで組み込めるものだと思い込んでいました。
>>663 のサポートボードの質問に対して、
xreaのWebmasterが4.4.2に入れ替える時に検討します。って返事かいているもんで、完全に勘違いしておりました。
そのサポートボードにも、他のPHP4系へのSimpleXML導入してください。ってメッセージもありました・・・
666 :
nobodyさん :2005/12/11(日) 00:07:12 ID:CWApnEja
667 :
nobodyさん :2005/12/11(日) 00:11:00 ID:CWApnEja
失敗
xreaに
http://php.s3.to/net/kusi.phpsをアップしてパーミッションもちゃんと設定したんですが 、
Warning: Call-time pass-by-reference has been deprecated - argument passed by value; If you would like to pass it by reference, modify the declaration of fsockopen().
If you would like to enable call-time pass-by-reference, you can set allow_call_time_pass_reference to true in your INI file. However, future versions may not support this any longer.
in /virtual/アカウント名/public_html/kusi3.php(ファイル名) on line 76
とエラー表示されてしまいます。使用はできるんですが動作が重いような気がします。tok2などの鯖では正常に動作しました。
何が原因でしょうか?スクリプトに文法的な間違いがあるのでしょうか?
_, ._ (;゚ Д゚) 俺にはwarningに見えるんだが?
warningってなに?
>>667 エラーメッセージに書いてあるそのまんまなんだけどな。英語読めないとか言うなよ。
元々xreaではその手のCGIは歓迎されておらず、制限が厳しめになっている。
671 :
nobodyさん :2005/12/11(日) 00:21:12 ID:CWApnEja
頑張ってよんでみたんですが allow_call_time_pass_referenceを設定すればOK?ただし推奨しない? わからん・・・つまりxreaに嫌われてて対処法はないってことですか?
warningってことはつまり無視して良いよって事だよ
673 :
667 :2005/12/11(日) 00:25:07 ID:???
本当はおまえらわかんないだけだろ?直せないなら最初から正直に言えよな。
WinXP+Apache2.0.54.0+PHP5.1.1でapacheを停止させるとphp_mysql.dllで エラー吐いてる人って居ない?。必ずエラーはくんだが・・・・。
675 :
667 :2005/12/11(日) 00:36:01 ID:CWApnEja
>>673 エラーのまんまじゃん、そのソースの76行目
$fp = fsockopen($host, 80, &$errno, &$errstr, $time_out);
実体参照使っている。xreaのPHPは実体参照時にWarningがでる。
実体参照を使わずに、一時変数を使って場を凌げ。
じ、実体参照ぉ? 一時変数っていうか、&とればいいのでは?
微妙に香ばしいな >ID:CWApnEja
2ちゃんで自演でもしようとたくらんでんじゃね?
まぁどのみち
>>667 のスクリプトでは、改良しない限り書き込みできないがw
681 :
635 :2005/12/11(日) 01:55:45 ID:???
変数$a = 1,2,3,4 で1〜4をランダムに削除したい場合どんな方法があるでしょうか? 例:$a = 1,3,4 考えたのが$aを配列に返還して、要素を抜き取るって 再度結合というのなんですが、一部の要素を抜き取る方法がわかりません。 お助けを。
683 :
682 :2005/12/11(日) 02:59:30 ID:???
日本語ごちゃごちゃですな、深夜なのでスマソ
$a = '1,2,3,4';か? それならexplode。
>>682 配列から一部の要素を削除するには
array_splice(), array_shift(), array_pop(), unset()
のいずれかを使えばOK
$a = "1,2,3,4"; $b = explode(",",$a); array_splice($b,array_rand($b),1); $c = implode(",",$b);
計算機のようなものを作っているんですけど、 1度入力したものが計算と同時にリセットされてしまいます。 クッキーを使う以外の方法で直前にポストしたものを、 また表示するというようなことはできないでしょうか? <option>タグでプルダウン形式にしてるので、 クッキーを使う方法だと難しそうなのでできないのです。
>>687 どうやっているのかが書かれていないので想像するしかないんだが、
> 計算と同時にリセット
つーのが考え違いしてるんじゃないかな?
フォーム要素に初期値(デフォルト値)を設定していないものを
単に"新しく"読み込んでいるだけっしょ。
ならば、"適切に"初期値を設定してやればいいっしょ。これはHTMLレベルの知識っしょ。
689 :
687 :2005/12/11(日) 07:42:22 ID:???
>>688 レスどうもありがとうございます。
わかりづらくてすみません。
入力フォームと、結果を表示するフォームをわけているんですが、
計算実行のボタンを押して、
結果を表示しつつも、入力フォームを残すようにしています。
計算実行のボタンをおした時に、
入力フォームの値がデフォルト値に戻ってしまうので困っています。
ソースですが
$a=$_POST['a'];
$b=$_POST['b'];
$c=$a+$b;
print $c;
html側は
<form method="post" action="$_SERVER['PHP_SELF']">
<select name="a">
<option value="1">1</option>
<option value="2">2</option>
</select>
+
<select name="b">
<option value="1">1</option>
<option value="2">2</option>
</select>
こんな感じです。
デフォルトでは1+1になりますが、
2+2を選択して計算を実行したあとに、1+1に戻ってしまいます。
これを2+2のままにしたいということです。
フォームの出力の際に、<option 〜 selected>のようにして、適切なoptionを選択状態にすればいいよ。 そうすれば、まるで選択したものが残っているかのように見えるから。
>>689 688さんが言われるとおり,HTMLの問題だよ.
option要素にselected属性を使う.
a,bの値で条件判定して,初期選択にしたい方に
<option value="N" selected="selected">N</option>
となるようにPHPを書けばOK.書き方はいろいろあるから,考えてみて.
692 :
687 :2005/12/11(日) 07:57:30 ID:???
>>688 >>690 >>691 皆様どうもありがとうございます。
1をselectedにして、2を選択したところ、
selected(1)に戻ってしまいました。
どうも考え方が間違ってるようなので
頑張って考えて方法を探したいと思います。
693 :
691 :2005/12/11(日) 08:03:41 ID:???
>>692 >1をselectedにして、2を選択したところ、
>selected(1)に戻ってしまいました。
…当たり前じゃん.1が初期選択になっているんだから.
$_POSTの値によって,どれをselectedにするかをPHPで書くんだよ.
2だったら,1じゃなくて,2にselectedを指定しなきゃ.
694 :
687 :2005/12/11(日) 08:06:11 ID:???
>>693 >$_POSTの値によって,どれをselectedにするかをPHPで書くんだよ.
これはいいヒントをどうもありがとうございます!
頭が固いもんでorz
早速書き直してみたいと思います。
関係ないけどSELECTのデフォ指定ってベタ書きするのめんどくさいよね
もしかして、クラスメンバの宣言でPHP4互換のvarではなく publicやprotected、privateと宣言した方がパフォーマンス良いの? 書き換えていったら動作が機敏になった・・・
<OPTION VALUE="1"<?php if ($a == 1) { echo " checked"; } ?>>あ</OPTION>
みにくーい
埋め込みは嫌いなのでタグの出力は全部echoなりで括るのがマイルール
<?= ($a==1) ' checked' : ''?>でいいじゃないか。
>>689 いっそ入力フォームのページと結果のページを分けてしまって、
別targetのウインドウで結果ページを出してしまうとか。
そうすれば入力側のリロードは発生しないから入力内容を再現する必要なし。
ブラウザが別に立ち上がってしまうのがイヤならframeかiframeで。
>>699 俺はむしろPHPコードの中にHTMLタグが埋め込まれてるのが嫌いなので
echoでHTMLタグを出力するのは絶対禁止派。
あと、HTMLの中に<?〜?>を埋め込むスタイルならPeggyとかで
閉じタグジャンプが使えるので、閉じ忘れなどのミスも防ぎやすい。
>>697 が何百行もあると鬱になるなあ。
JSPでこれをやったら半殺しの刑にされるけど。
>>697 俺は普段こう書いてる
<OPTION VALUE="1"<?php if($a == 1) { ?> checked<?php } ?>>あ</OPTION>
>>703 たくさん必要なら関数作るだろうからあんなの何行も書くことはないだろ。
プルダウンやテキストボックスなんかはフォーマットが決まっているから関数にし易いし。
おれ、Smarty使ってるんで関係ないや
checkedじゃなくて selectedじゃね?
一度の読み込みで画像の容量、横縦サイズを取る方法はありませんか? $file_name = "sample.jpg"; $size = filesize("$file_name"); $im_in = ImageCreateFromJPEG("$file_name"); $ix = ImageSX($im_in); $iy = ImageSY($im_in); print "サイズ:{$size} 横縦:{$ix}x{$iy}";
getimagesize 大きさだけ
>>709 「一度で」ってのは無い。
filesize
と
getimagesize
二回やってもたいしたこたねぇよ。
(少なくともimageオブジェクトつくるよりゃ)
サンプルプルプルプルップルッ!
別窓でリンクを開く方法を教えてください
HTMLだろ
そうなんですけどheader関数でheader( "Location: URL" );で開く場合に 別窓で出す方法を教えてください
>>613 あり得ない。
より良い理解のために、サーバーでの処理とクライアントでの処理を分けてよく考えた方がいい。
ヒント:別窓を開くのは誰の仕事なのか?なにをキーに別窓を開くのか?
スルー出来てないぞ
move_uploaded_file($_FILES['a']['tmp_name'][$i],uniqid());だとファイルが生成されないのは 何故でしょうか?。uniqid()の代わりに'test.dat'とすると正しくファイルが生成されます。 uniqid()で生成される文字列にファイル名に利用出来ない文字が含まれているのでしょうか?。
>>720 おそらく、uniqid() の時点でエラーになっている物と思われ。
move_uploadfileする前に、
$outfile = uniqid();
ってやってみ。
※エラー出力はonにしてからね。
error_reporting(E_ALL); ini_set('display_errors',1); echo uniqid(); 結果 439d1ea43d094 それがエラーも出ない 「439d1ea43d094」という文字列に問題があるとも思えないし・・・
>>720 $file = uniqid();
touch($file);
move_uploaded_file($_FILES['a']['tmp_name'][$i], $file);
「速効!図解プログラミングPHP + MySQL」PHP5対応 この本買おうと思ってるんだけど、 今使ってる鯖は3,4までしか対応してないみたい。(xreaの34鯖) まったくphp触ったことないので 試しながらやる時に、バージョン違いによる不具合とか出て 困ること多いのかなぁ〜と心配なんですが、だいじょーび?
>>723 だめですね。それでもファイルが作成されません。
WindowsXP+PHP5.1.1+Apache2.0.54.0かな。
move_uploaded_file($_FILES['a']['tmp_name'][$i],$_FILES['a']['name'][$i]);
ではsjis環境で日本語ファイル名ですら作成できるのですけどね。
>>725 >>723 のコードでファイルが作成されない、ってことはmove_uploaded_file以前の問題だよね。
先の結果の439d1ea43d094を使って
<?php
touch('439d1ea43d094');
?>
とか、エクスプローラで問題のディレクトリに439d1ea43d094という名前のファイルを作ってみるとか
別のディレクトリに作るとどうなるかとか、調べてみれば?
ファイルシステムの制限とかあるのかな。。。
そのディレクトリが存在するドライブはNTFS?
共有鯖でテストイクナイ
WindowsXPの共有鯖なぞ希少だな
>>724 PHPはバージョン違いによる苦しみが他の言語の数倍多い。
おまけに質問時に本と環境でバージョン違うんですがとか言ったら
バカジャネーノ?とタコ殴りにあうことうけあい。
バージョン間で何が違うのかをまず勉強して、把握した上でその本を使うならOK
731 :
725 :2005/12/12(月) 18:51:34 ID:???
touch('439d1ea43d094'); ← ファイル作成成功 $name = uniqid(); echo $name; ← 結果 : 439d471cc9f9c touch($name); ← 結果 : ファイル作成失敗 touch($name+'add'); ← 結果 : 439というファイル名が生成出来た・・・d以降は何処に・・・ どういうこっちゃねん。エロイ人、理由を教えてっ!!。 共有鯖ではないよ
732 :
725 :2005/12/12(月) 19:00:26 ID:???
move_uploaded_fileをコメントアウトして気づいたのですがmove_uploaded_fileがファイルを 削除してくれるみたいです。 touch($name+'add'); 間抜けだった・・・ touch($name.'add');でしたね(^^; touch($name); ← ファイル作成されてた move_uploaded_file($_FILES['a']['tmp_name'][$i],$name); ← どういうわけか、ここでファイルげ消されてる
>>731 + は 文字列の結合演算子では無い。
なので前後のオペランド($nameと'add'の事)は数値(整数値)として評価される。
$nameは、有効な数値部分439がその値として使われ、
'add'は有効な数値部分が無いので 0 として使われる。
そして、その結果は 439 + 0 = 439となる。
割り算したら少数になるんですが、これをCみたいに切り捨てする方法を教えてください
735 :
725 :2005/12/12(月) 19:35:27 ID:???
アンケート等でラジオボタンを使用するとき送信を押した後、 選択したラジオボタンが選択されたまま、ラジオボタンを表示させるにはどうすればいい?
エスパーキボンヌ
選択したいラジオボタンに checked を付けて出力する PHPではなくHTMLの話でしょ? <input type="radio" name="hoge" value="xxx" checked>aaaa
>>689 - あたりと同じ事じゃね?
見た目が「あたかも」選択されたままになっているだけで、
実際には全く新しいページとしてラジオボタンが表示される。
選択状態のラジオボタンを表示したいなら、checkedを付けたradioを出力すればいいだけ。
>>689 と同じということで
とりあえず
>>704 をみて
<input type="radio" name="SEX" value="1"
<?php if($SEX == "男性"){ ?>
checked
<?php } ?>
>男性
<input type="radio" name="SEX" value="2"
<?php if($SEX == "女性"){ ?>
checked
<?php } ?>
>女性
って書いたんだけど間違ってる?
a.phpに<?include("
http://hogehoge.hoge/b.php ");?>と記述すれば
b.phpの中身が全部a.phpの中へ挿入されます。
しかし全部ではなく一部を挿入させたい場合はどのようにすればよいのでしょうか?
例えばb.phpの中に
<div id="a">
<p>ほげほげほげほげ</p>
</div>
<div id="b">
<p>HOGEHOGEHOGE</p>
<p>hogehogehogehoge</p>
</div>
<div id="b">
<p>ホゲホゲホゲホゲ</p>
</div>
という内容があって、<div id="b">のdivボックスだけ抜き出してa.phpに挿入するにはどうしたらよいのでしょうか?
スクリプトを教えてください。m(_ _)m
>>742 質問文がなんかヤラシイ(*^^*)
それはともかく、b.phpはphpである必要はなさそうだし、
includeの使い方としては方向性が違っている。
file()とか、file_get_contents()とかで読み込んで、
eregとかpregとかでゴニョゴニョするのがよかろう。
744 :
742 :2005/12/12(月) 23:51:51 ID:???
PHP4でクラスのメソッドを呼び出す時、 同じクラスの場合は$this-> 親クラスの場合はparent:: をメソッドの頭に付けて呼び出しますよね。 PHP5では$this->ではなくself::使って呼び出すのが正しいやり方なんでしょうか?
%php -i | grep mbstring mbstring.http_output => UTF-8 => UTF-8 mbstring.internal_encoding => UTF-8 => UTF-8 mbstring.language => Japanese => Japanese こういう設定のサーバで、以下のスクリプトを実行すると、 <?php $str = "システム"; echo mb_internal_encoding() ."\n<br>"; echo mb_detect_encoding($str) ."\n<br>"; $str2 = trim($str, ' , '); echo mb_detect_encoding($str2) ."\n<br>"; mb_convert_variables(mb_internal_encoding(), mb_detect_encoding($str2), $str2); echo mb_detect_encoding($str2) ."\n<br>"; ?> $str2 = trim($str, ' , '); の行で(trimの対象は半角と全角空白です)文字列が 壊れるらしく、 %php test.php UTF-8 UTF-8 SJIS UTF-8 とSJISとみなされてしまいます。 全角空白をtrimするにはどのように書くのが良いのでしょうか。
>>747 PHPのバージョンが4.1.0以上なら
trim
(PHP 3, PHP 4, PHP 5)
trim -- 文字列の先頭および末尾にあるホワイトスペースを取り除く
説明
string trim ( string str [, string charlist] )
注意: オプションのcharlistパラメータは、PHP 4.1.0で追加されました。
charlistパラメータにより、削除する 文字を指定することも可能です。
削除したい全ての文字をリストに してください。..を文字の範囲を指定する際に 使用可能です。
だってさ
>>746 俺は、基本的には$thisで呼び出す。但し、定数だけは、わかり易くするためにself::を使用。
>>747 trimにマルチバイト文字は指定できないよ
755 :
747 :2005/12/13(火) 15:25:02 ID:???
trimにはマルチバイト文字は指定できないんですね。 正規表現かMLの方法で対応したいと思います。 ありがとうございました。
コンボボックス(selectタグ)で項目が変更されたときに処理をしたいのですが どのようにして変更を察知すればいいでしょうか?
>>756 そういうのはクライアントサイドスクリプトのお仕事。
>>758 AJAXみたいに操作するたびにJavaScript経由で毎回通信させれば
PHPも挟めなくはないが、基本的にブラウザで操作中はPHPは動いてもいない。
メール(pop3)のユーザ名とパスワードでサーバに接続し、認証できるかどうかという仕組みを作ってるんですが。 パスワード用のサニタライズはどの文字をすべきでしょうか。 また簡単に出来る関数は無いでしょうか?
とりあえず「サニタライズ」は突っ込むところ?それとも釣? それは兎も角、専用の関数は無かったかと。 一番簡単な方法は、ID/パスワードに使えない文字は通さないようにする。
>>758 出来るけど、PHPはクライアントサイドスクリプトとしてはメジャーじゃないので
そういうのはJavaとかJavascript/VBScriptとかActionScriptとかの
メジャーで、クライアントに実行環境が既にあると期待できる言語を利用するのが常套。
PerlScriptは見たことあるけど、 PHPもクライアントスクリプトとして HTMLに記述とかできるんだっけ?
>>763 いや、JavaやActionScriptと一緒でプラグインされた別エンジンが実行。
だからコンボボックスをhtmlでやらせてる場合には、Javascript等の介在が必要だね。
インラインで記述されたPerlを解釈できるブラウザは存在するの?
ActiveStateがそういうの用意してるんだ。 自分が見た事のあるのとは違うな。 まあ、どっちも実用には…なのは同じような感じだったが。
ActivePerlをインストールすればIEはインラインで扱えるようになるとオモタ
確かに実用では疑問。 個人用かイントラ用だよな。
$a[0] = orange; $a[1] = apple; $a[2] = peach; $a[3] = banana; でkey順に並べる時、 ksort($a); で、key逆順に並べる時 krsort($a); で合ってますよね? krsort($a);が反応しないのですがorz
>$a[0] = orange; >$a[1] = apple; >$a[2] = peach; >$a[3] = banana; ↑何が定義されている? >krsort($a);が反応しないのですがorz 反応って?
>>769 > krsort($a);
> で合ってますよね?
合ってる。
> krsort($a);が反応しないのですがorz
多分、確認方法が間違ってる。
foreach($a as $d) print "$d\n";
なら逆順で出てくるのが確認できると思う。
恐らく
for($i = 0; $i < 4; $i ++) print $a[i]."\n";
みたいな確認方法をしてるんじゃないか。
順番がひっくり返っても、キーで呼び出してたら意味ないぞ。
>>770 すみません、
大きな勘違いでしたorz
$result_data = file($result_file);
krsort($result_data);
for($i=0; $i<count($result_data); $i++){
としていて、何故逆順に表示されないんだろうと思ってたんですけれど、
$result_data = file($result_file);
$result_data = array_values($result_data);
krsort($result_data);
for($i=0; $i<count($result_data); $i++){
でした・・・。
お陰で長く悩んでいた事から開放されましたorzありがとうございます。
>>771 全くその通りでした・・・。
失礼しました(汗
774 :
nobodyさん :2005/12/13(火) 21:14:57 ID:e5VQAK41
$result_data = file($result_file); krsort($result_data); $result_data = array_values($result_data); for($i=0; $i<count($result_data); $i++){ しかも、こうですし(´□`) スレ汚し申し訳ないです。
>>772 > $result_data = file($result_file);
と
> $result_data = file($result_file);
> $result_data = array_values($result_data);
って何が違うんだこれ?
>>772 そんな面倒なことしなくてもこれでいいと思うんだが。
$result_data = file($result_file);
for($i=count($result_data)-1; $i>=0; $i--){
どっちにしろ、そのケースならkrsort()でなくrsort()の方が速いと思う。
778 :
nobodyさん :2005/12/13(火) 21:25:59 ID:e5VQAK41
>>777 なるほど、そうした方が行も減ってスマートですよね。
どうして思いつかなかったのか悔やみます・・・。
勉強になりましたm(__)m
779 :
nobodyさん :2005/12/14(水) 11:32:35 ID:CwjBoKRv
文字を エンティティコードに変換する関数はありますでしょうか? 例えば… & を & に変換するとか…
781 :
nobodyさん :2005/12/14(水) 11:47:17 ID:CwjBoKRv
>>780 おお、ありがとうございます。
マニュアルを探してて検索してたら 403 Forbiddenが出ててこまっておりました。
感謝です。
Googleの検索エンジンロボットがキリバン踏んでしまいました。
htmlspecialchars("
[email protected] ");
こうやってもエンティティ化されないのは何故でしょうか?
本当なら mail@hoge.com となるはずなのですが。
htmlspecialchars関数もやってみたのですが…駄目でした。
784 :
783 :2005/12/14(水) 12:44:48 ID:TiHY5j3U
ID表示します。
数字が出現した以降の文字列を取得したいのですが、 strstr($data,"[0-9]*") ではだめでした。 なにかよい方法はないでしょうか。
>>785 strstrでは正規表現使えない。
自分で関数を書く
>>783 だから、一部だって書いたのに……。
mb_encode_numericentity
789 :
785 :2005/12/14(水) 13:15:21 ID:???
>>786 やはりそれしかないですか。
ありがとうございました。
790 :
725 :2005/12/14(水) 13:29:00 ID:???
move_uploaded_fileの件なんだけどファイル名に数字入るとだめなんですね バグと言って良いのかなぁ・・・ 誰か検証頼みます Apache2.0.54.0+PHP5.1.1+WindowsXP PS2 move_uploaded_file($_FILES['a']['tmp_name'][$i],'./test.jpg'); ← 成功 move_uploaded_file($_FILES['a']['tmp_name'][$i],'./test1.jpg'); ← 失敗
>>790 お前、まさかその2行を同時に書いてるわけじゃないよな
moveは移動だから一回移動したら元は無くなるからね
792 :
725 :2005/12/14(水) 13:55:55 ID:???
>>791 それはない(^^;
なんかmove_uploaded_fileの前に他の処理をすると影響を受けている感じかな
793 :
725 :2005/12/14(水) 14:19:12 ID:???
わかった!! apacheをインストールしたディレクトリに作成されてた(笑 apache入れ替える時に気づいたよ・・・ って、これって問題ないのか(−−;
>>785 preg_replace('/([0-9].*)/)', '\\1', $data);
795 :
794 :2005/12/14(水) 16:13:24 ID:???
書き間違った preg_replace('/([0-9].*)/', '\\1', $data);
>>793 環境変数TEMPの設定ミスじゃないの?
798 :
725 :2005/12/14(水) 17:22:09 ID:???
>>796 いや、tmpにしてもアップロードフォルダにしても弄ってないからc:\woindows\tmp or tempだよ
それに一時ファイルはPHPの処理が終了した時点で消えるしファイル名も違うから間違いないよ
絶対パスを指定しない時に問題があるファイル名とそうでないファイル名があるみたい。
絶対パスで指定したら問題ないみたいだし、まぁ良いかなぁ。
>>793 カレントディレクトリの問題?
DOCUMENT_ROOTはどこになってるんだそれ
800 :
725 :2005/12/14(水) 18:29:23 ID:???
ServerRoot "C:/Server Files/Apache2" DocumentRoot "C:/public_html" おそらくカレントディレクトリの問題。 あぁ、これってroot権限で動いてるような馬鹿鯖でスペース提供してたり するとはっくれるかもね。私は興味ないから挑戦しないけど(^^;。
┐(´ー`)┌
phpでディレクトリ作ってそのディレクトリの中にlogファイルをこしらえようとした。 mkdirでディレクトリの生成には成功したものの、その中にlogファイルをfopenの "a"モードで作成しようとしたらエラーが返された。 Warning: fopen(): SAFE MODE Restriction in effect. The script whose uid is 11040 is not allowed to access /tmp/directory_A owned by uid 1000 よく調べてみると、mkdirで生成したdirectory_Aというディレクトリの所有者がapacheに なっていて、他のuploadしたファイルの所有者が自分のアカウント名だったのと比べて 違っていることが分かった。もうひとつ気になった点は属性が755(rwxr-xr-x)となっていた点かな。 なんとかこのディレクトリの中にファイルを生成できるようにならないかな?
CGI版PHPまたはFTP
>>803 なんで素のPHPじゃディレクトリ作ってその中にファイル作れないかね・・・?
XREAスレの人ですか?
>>804 Apacheさんが作ったディレクトリをどこの馬の骨とも知れない
お前なんぞに弄らせるかよwww ってこと
>>804 つーかsafe_modeの方が素では無い罠
808 :
802 :2005/12/14(水) 23:48:49 ID:???
>>805 ( ´∀`)ノ < そうそう、あっちのスレから島流しにあってきた
>>806-807 xreaに限らずレン鯖はどこもsafe_modeでの運用が多いってことかね( ゚Д゚)?
cgiならディレクトリつくってその中にいくらでもファイル作成できるっていうのに
なんかPHPだけ不公平って感じやな。ディレクトリ作って中にファイル作りたい
なんて需要は結構あるやろ。つ〜か何層も入れ子にしてディレクトリを作りたい
なんて贅沢なことは言わないから、せめて1層のディレクトリを作ってそのなかに
ファイルを生成することくらい許可してくれってことよ、俺が言いたいのは(´ー`)y−~~~
809 :
nobodyさん :2005/12/14(水) 23:57:11 ID:6RnHukHD
簡単そうに思えて、全然思いつかないです。 変数内に$hoge='"hoge1" . "hoge2"' と入っていて、$hogeから、最終的に hoge1hoge2 を得たいのですが、どのようにしたら良いでしょうか?
ディレクトリもファイルも好きなだけ作れる UIDかGIDでの同一性が要求されるだけ 要は「他人のファイルが覗ける」状態をどう考えるか
>>809 それだけなら余計なものを空白に置換するだけでいい
どういうデータを前提してるのかわからんから答えようが無い
CSV的なものなら正規表現で拾ったら?
正直safe_modeなんていう怪しい動きのする機能は使わないのが正解では?
815 :
802 :2005/12/15(木) 01:09:42 ID:???
>>813 > 1個くらいなら自分で作れ
残念ながら月毎に一つフォルダが作られる。
年に1個くらいならそりゃ自分でフォルダくらいつくってもいいですよ、って思えるが
流石に月一は(;´Д`)・・・
そんな物Perlと併用すれば良いだけだろ
読んでないけどまたエスパー希望のアホ質問か ディレクトリの有無なんて設計でどうとでもなるだろうに
読め 即行解答でてる
820 :
802 :2005/12/15(木) 01:31:58 ID:???
>>810 > ディレクトリもファイルも好きなだけ作れる
> UIDかGIDでの同一性が要求されるだけ
>
> 要は「他人のファイルが覗ける」状態をどう考えるか
user権限でPHPにアクセスした結果作られるディレクトリの所有者はapacehだったけど
さらにその中に作られるファイルの所有者もapacheということにすればUID/GIDは同一
だから問題ない気がするけど・・・
>>819 > 今日12個作れよ
( ゚д゚)・・・
(゚Д゚)ハッ!
そのファイル作成を実行してるスクリプトが誰のものか考えろ つーかまずマニュアル読め
まあぶっちゃけこんなとこで聞くよりマニュアル読んだほうが速いよな
プログラム以前にやる気ぐらい出せよ
825 :
802 :2005/12/15(木) 02:33:07 ID:???
やる気か・・・ ニートの俺が今一番欲しいものの中の一つだな(´・ω・`)・・・
systemでmkdir→chmod 777ってのは無理?
chmodしてもumaskの影響があるしなぁ。 まぁ、それ以前にchmod自体が許可されない場合もあるが。
>>809 $hoge='"hoge1" . "hoge2"';
eval('$hogehoge = ' . $hoge . ';');
print $hogehoge;
>>816 せめてCLI版PHPとの併用にしよーぜw
セーフモードでsystem? だいたいパーミッション関係ないし
831 :
802 :2005/12/15(木) 02:55:55 ID:???
>>826 chmodでアクセス権は変更できたけど、ファイルを生成する段階でやはり
「UIDが違う」という理由で失敗するみたい(´・ω・`)ショボーン
mkdir→chown…はさすがに無理か?
>>829 すでにある資源を使えばいいと思うが
XREAがオフィシャルで用意してるものがあるわけで
>>802 だからさ、mod_phpのsafe_modeはそういう仕様なんだから諦めろっての。
CGIで動かすなり何なり手段は残されてるんだからさ。
>>808 > なんかPHPだけ不公平って感じやな。
実行速度を高速にする代わり共有で使うにはセキュリティ的に危険な
Webサーバーのモジュールとして動かそうとしてるための措置。
別に、Perlと同じCGIで動かすようにすればその辺の弊害はなくなる。
その代わり、PerlなCGIよりもっと遅いけどw
プロセスとスレッドで実行速度が変わるというのは新説だな
CGIはシェル経由で呼び出すんだから レスポンスが当然遅いだろが
実行速度
処理速度は一緒。実行速度は遅い。ってことじゃねーの?
>>837 パスを解釈してバイナリ叩いてるのはWeb鯖じゃないのん?
もしかしたらSynchronizeのコストのことを言ってるんです
あー。Winodwsサーバーだとそういう動きになるのか。
Winodwsってなんだw
845 :
nobodyさん :2005/12/15(木) 06:37:41 ID:TFBuiRij
女という生き物は、大体、シャワーついでに風呂場でシッコもしてて 便秘で、パンツにウンスジが付いてて、パンツはオムツみたいにオールウェイズ汚くて めこが臭くて、男より足も臭くて、寝起きが別人で、寝起きの息が臭くて 隠し事が好きで、オパーイがデカイと喜んで、オケーツがデカイと悲しんで 愚痴、陰口、人の噂話が好きで、相談が趣味で、基本的に甘えん坊将軍で 基本的にMっ気があって、取り扱い危険物で、基本的にちょっとアホで 泣き虫で、ムッツリスケベで、変なところで深読み、裏読みして自爆して、男に振り回されるのが趣味で、一喜一憂するのが好きで お金が好きで、基本的に臆病だけど反面、冒険が好きで、芋系統が好きで 男によく騙されるのが趣味で、でもそのかわり、化粧と詰め物と補正下着で男を騙すのが趣味で ダイエット中らしいのに何故か甘い物とかお菓子食ってて、イベントごととか行事ごと、記念ごととかが好きで Hしたい時は恥ずかしいから基本的に自分からHしたいとは言わず、Hな下着を装備して 男から言わせたり、誘導したりするのが趣味で、実はよくおならします
そうだったの( ̄□ ̄;)!!
848 :
nobodyさん :2005/12/15(木) 07:49:08 ID:dK1AjZcq
すれ違いかも知れないですが、受信したメールの整形の仕方を解説したサイトを知ってる方いませんでしょうか。 もしくはpearのNet/POP3の使い方を説明してるサイトでもいいんですが。。
もっとボーイッシュな女の子に出会いたい(´・ω・)
俺の彼女もうんこついてたけど愛してやったぞ。昔ね。
851 :
nobodyさん :2005/12/15(木) 11:33:24 ID:UeTwmalZ
異なるパスに相対参照でincludeしているライブラリにさらに別のパスからincludeするとうまくいかないです 例: ~user/public_html/hoge/hoge.php ----------------------- <?php include '../library.php'; ----------------------- ↓ ~user/public_html/library.php ----------------------- <?php include '../db/db_control.php''; ----------------------- ↓ ここ失敗 failed to open stream: No such file or directory in ... ~user/db/db_control.php ----------------------- <?php ... ----------------------- しかし~user/public_html/library.phpから同じディレクトリのファイルはincludeできます。 何が原因なのでしょうか・・・
>>851 最初に実行したファイルのディレクトリをカレントディレクトリとして、
そこからの相対パスで探すから。
どのファイルでもhoge.php(include元)からのパスを記述する インクルードされる側のスクリプトからの相対パスを指定したいなら dirname(__file__)を使う 定数を使って設定ファイルでパスを管理 のいずれか
呼び出し元である user/public_html/hoge/hoge.php が基準となるからでしょ。
やっぱり呼び出し元が基準なんですね・・ だとすると ~user/public_html/library.phpから同じディレクトリのファイルなら呼び出せるのは何故なのでしょうか。 include_pathに./が含まれてるとしても変な感じがする ともかくdirnameなど試してみます、ありがとうございました
呼び出し元つーかワーキングディレクトリね
こんにちは。 少しお聞きしたいのですが、textに書き込む処理をするプログラムを作った時、 txtに書き込まれたものが文字化けするのですが、どうしてでしょうか? euc-jpモードでtxtを読み込むときちんと表示されましたが、 普通に開くと文字化けという感じです。 実際、euc-jpで言語書いてるので仕方ないんですかねぇ・・・(´・ω・`)
>>857 普通に開くってのはどういう意味さ。
euc-jpで書き込まれたテキストを
euc-jpに対応してないエディタで開いたなら、
文字化けしてあたりまえだぞ。
>>857 他の文字エンコードで書き込みたいのなら、mb_convert_encodingしたものを書き込みましょう。
>>858 ,859
即レスありがとうございます。
確かにそうですよね・・・。
失礼しましたorz
mb_convert_encoding勉強してきます。
861 :
nobodyさん :2005/12/15(木) 17:43:03 ID:x48kBhXK
メモ帳とかじゃ見れねえよ。
includeとかで他のPHPファイルとか読み込むととたんに変数の扱いが難しくならない? PHPって基本的に変数はグローバルだから読み込み先のPHPファイルとかでいきなり 見ず知らずの変数とかが登場したりするじゃん。 「この変数は一体どのファイルで定義されたんだろう」 ってことで探したり把握するので一苦労って経験無い?
863 :
nobodyさん :2005/12/15(木) 18:15:40 ID:tNJHcKWR
配列Aと配列Bがあるとします。 このAからBと重複する部分を削除した配列Cを出したいのですが、 簡単な方法などはないでしょうか? イメージとしては 配列C=配列A-配列Bという感じです。 配列Aの中から配列Bの要素を消したいと思っています。
>>862 >基本的に変数はグローバル
includeでベタソース読もうとするからそうなるんだろ。
functionにまとめるとか、ちゃんと考えて作れば何も苦労しないけど。
866 :
nobodyさん :2005/12/15(木) 18:44:29 ID:z/EbHORg
掲示板の書き込みなんかで20行より多いのを20行まで縮めたりするで、 改行ごとに区切って配列に入れて上から20個取り出すより良いやり方ありますか?
書き方が悪かったのですが その掲示板の書き込みというのは $kakikomi = "あ\nあ\nあ\nあ\nあ\nあ\nあ\nあ\nあ\nあ\nあ\nあ\nあ\nあ\nあ\nあ\nあ\nあ\nあ\nあ\nあ\nあ\nあ\nあ\nあ"; みたいなデータです。 この$kakikomiを $kakikomi = "あ\nあ\nあ\nあ\nあ\nあ\nあ\nあ\nあ\nあ\nあ\nあ\nあ\nあ\nあ\nあ\nあ\nあ\nあ\nあ"; こんな風にしたいんです。
>>868 1:explode
2:数合わせ
3:join
でどう?
PHPでは画像やFLASHなど作れますが、将来的にMIDIも作れるようになるんでしょうか。
>>871 PHPでFlash作れるの?知らなかった・・・。
ファイルの生成だけならphpに限らず大概の言語で出来るがな
>>873 CGIったら、ああPerlスクリプトのことが言いたいんだなと同程度には
Flashムービーファイルだと理解してやれよ。
876 :
nobodyさん :2005/12/15(木) 21:08:55 ID:lIkliCzn
Smartyのテンプレートにカタカナの「マ」が入っていると エラーがでてしまいますorz... 文字コードの問題なんだと思いますが、池沼なのでどうす ればいいか分かりません。 アドバイスおねがいします。
MIDIってFlashのことなのか?????
エスパー伊東に見えた
$dateが23か0じゃなかった場合にaaaを出力して、それ以外の場合はbbbを出力します。 if (($date !== 23)or($date !== 0)){ echo "aaa"; }else{ echo "bbb"; } これだと$dateが23の場合でもaaaが出力されてしまうのですが、どこが間違っているのでしょうか。
ANDじゃろ
>>880 $date が 23 の時
$date !== 23 は false
$date !== 0 は true
false or true = true
∴どんな数字を入れても成り立つ。
基本中の基本、というかこんな事で悩むなら作るの向いてないんじゃないか・・?
>>881-882 ありがとうございました解決しました。
前にも向いてないって言われました…。でも好きなんです。
>>883 わからないことを他人に頼るってのを直さないと何時までたっても上達しないよ
まぁ、生暖かく見守ってやるからガンガレ 煮詰まった時は、コーヒーでも飲んで小休止すると、悩んでたのが馬鹿みたいにあっさり解けたりするぞ
>>882 どーでもいいことだがPHPでは普通の論理は通用しないぞ
反例:
null == 0 は true
null == array() は true
しかし
0 == array() は false
!== だからいいんちゃう?
型チェックとかじゃなくて論理的な推移性の話だお
マニュアル読めよ
まったくしょうがねえなこいつらw
892 :
nobodyさん :2005/12/16(金) 05:29:21 ID:Tb6x4DJs
$dateが23または0 -> $date == 23 or $date ==0 !($dateが23または0) -> !($date == 23 or $date == 0) ↓ ド・モルガ〜ンッ!! $date !== 23 and $date !==0
>>876 デリミタを <{ , }> とかに変えればいいんじゃないかな?
ってか、なんのエラー出るのか確かめてないが。
895 :
nobodyさん :2005/12/16(金) 11:20:26 ID:FlVjXK6k
<input type='file' name='hoge'>でファイルをアップすることまではできたのですが、 ファイルが指定されてなかった場合という分岐を作りたいのですが、 そのやり方が分かりません。 if(empty($_FILES['hoge']['name'])){ print("エラー") } とやってみましたが、どうもファイルが指定してない場合は $_FILES['hoge']['name']は1を返してしまうようです・・・涙 よろしくお願いします。
896 :
nobodyさん :2005/12/16(金) 11:31:15 ID:S7k/7Vdp
move_uploaded_file()かis_uploaded_file()を使え
>>895 switch ($_FILES['hoge']['error']) {
case UPLOAD_ERR_OK: echo "うp成功"; break;
case UPLOAD_ERR_INI_SIZE: echo "over upload_max_filesize"; break;
case UPLOAD_ERR_FORM_SIZE: echo "over MAX_FILE_SIZE "; break;
case UPLOAD_ERR_PARTIAL: echo "うp失敗"; break;
case UPLOAD_ERR_NO_FILE: echo "ファイルがありません"; break;
case UPLOAD_ERR_NO_TMP_DIR: echo "テンポラリフォルダがないよ"; break;
case UPLOAD_ERR_CANT_WRITE: echo "ディスクにかけない"; break;
default: echo "未定義エラー";
}
898 :
nobodyさん :2005/12/16(金) 13:56:04 ID:QT9mtH4K
htaccessになにか簡単に文字を追加すると任意のイメージファイル名 例:sample.jpg を読み込んだときに任意のイメージ群 例:sample1.jpg , sample2.jpg , sample3.jpg からランダムに生成してくれるようのがあったの思うのですが 思い出せません。誘導お願いします。 たしかなんかphpかなんかで記述したファイルの拡張子を.jpgに サーバー上で変えたような記憶があります。よろしくおねがいします。
なんか分からない。 記憶を辿ってググるかなんか、エスパー降臨なんかを待つしかないな。
900 :
898 :2005/12/16(金) 14:10:14 ID:???
すいません。sample.***をphpかなんかで書いて、サーバー上で拡張子を jpgに戻したってわけです。そいでもって、読み込むときsample.jpgと呼び出すと >例:sample1.jpg , sample2.jpg , sample3.jpg から適当に読み込んでくれるって感じです。
ランダムな画像を返すコードをhoge.jpgとかに書いて スクリプトとして実行させたいってことでしょ。
902 :
898 :2005/12/16(金) 14:14:33 ID:???
記憶が不確かですが、.htaccessにはsample.jpgをsample.phpと認識するように 指示する記述をしたようなしなかったような気がします。
pathinfoで拡張子消すときによくやるやつね
>>902 mod_rewrite
で
RewriteEngine On
RewriteRule sample\.jpg sample.php
ついでにsample.phpだ <?php $files = array("sample1.jpg", "sample2.jpg", "sample3.jpg"); $file = $files[array_rand($files)]; header("Content-Type: image/jpeg"); header("Content-Length: ".filesize($file)); readfile($file); exit; ?>
906 :
898 :2005/12/16(金) 14:53:33 ID:???
無事できました!ありがとうございます。 すばやいレス助かりました。(n‘∀‘)η
907 :
nobodyさん :2005/12/16(金) 15:52:47 ID:IKuokGUw
>>907 つ$_SERVER["REQUEST_URI"]
909 :
nobodyさん :2005/12/16(金) 16:15:26 ID:IKuokGUw
>>909 ?以降のみがほしければ
$_SERVER['QUERY_STRING']
一言掲示板を作ったのですが ブラウザの更新をすると直前に書いた内容がそのまま渡されてるっぽくて 二重登録になってしまいます。 これって、ボタンを押されたか更新されたかを区別する方法を教えてください
>>911 ここみたいに書き込み後にRefreshやLocationで表示しなおす
915 :
軟式PHP :2005/12/16(金) 18:58:04 ID:???
>>914 頭悪いやつはこれだから。他の板と同じノリでレスすんな。
913なんか十分に詳しいじゃないかwww
>>915-916 その程度のレスなら俺にもできるんだって馬鹿。
知らないならレスしないで荒れるから
二重投稿防止のためだけにセッション使うのは大げさじゃね
携帯の1568万色表示って、正確には何色でしょうか? 16777216ではないですよね?
hogemoehage という文字列中のmoeを取得したいのですが(moeは文字数不特定、hogeとhageは固定) どうやって取得するのか教えて下さい。
921 :
919 :2005/12/16(金) 19:44:55 ID:???
$str = "hogemoehage"; $hoge = explode("hoge", $str); $hage = explode("hage", $hoge[1]); $result = $hage[0]; echo $result;
hogeとhageを削除すればmoeが残るべ。 str_replace( )
923 :
919 :2005/12/16(金) 19:47:46 ID:???
924 :
nobodyさん :2005/12/16(金) 19:55:13 ID:VdLHldFd
array_mapは二次元配列には使えないの?
925 :
919 :2005/12/16(金) 19:55:43 ID:???
>>919 は完全にスレ違いなので放置でお願いしますorz
>>920 >>921 より↓の方が速そうですorz
moeの部分にhogeやhageが入る可能性があるなら正規表現使った方がいいんだろうけどわかりません。
$str = "hogemoehage";
$str = str_replace("hoge", "", $str);
$str = str_replace("hage", "", $str);
echo $str;
>>925 $str = "hogemoehage";
$str = preg_replace("/~hoge/", "", $str);
$str = preg_replace("/hage$/", "", $str);
>>925 926はちょっとタイポ。
$str = "hogemoehage";
$str = preg_replace("/^hoge/", "", $str);
$str = preg_replace("/hage$/", "", $str);
$str = "hogemoehage"; $str = preg_replace("/^hoge(.*)hage$/", "$1", $str);
929 :
920 :2005/12/16(金) 22:03:48 ID:???
大変申し訳御座いません。 後付け氏ねと言われそうですがhogeとhageの前後には文字があります。 このような文字列です。値が固定なのはhogeとhageのみです。 hdfjhhogemoehagejkfkj 上記についてご回答宜しくお願いします。
930 :
919 :2005/12/16(金) 22:14:28 ID:???
>>929 hogeとhageはその場所以外にでてこないの?
それでいいなら、
$str = "hogemoehage";
$str = preg_replace("/.+hoge(.*)hage.+/", "$1", $str);
preg_match('/hoge(.*)hage/', $str, $pattern); $result = $pattern[1];
>>935 934じゃないけど、変じゃない。
ってか、なんでみんな replace 系にこだわってんの?
元の質問から考えると、preg_match または preg_match_all のほうが良いのでは?
938 :
935 :2005/12/17(土) 02:37:19 ID:???
変数への代入が=じゃないから、個人的にはあまり好きじゃないなぁ
くだ質だからいんじゃね?
そんな論理は通用しない
まぁしたりしなかったり、だな
>>939 意味がわからん?
PHPは=で代入だよ
釣りだろ。スルーを覚えよう。
>>944 preg_matchの話だしょ
第三引数はoutパラメータ
preg_matchの返り値が検索結果ではない(返るのは合致件数)から、って事だろ
948 :
939 :2005/12/17(土) 12:36:24 ID:???
フォローサンクス この変数はどこから来たんだ?と思った時、replaceの方が直感で分かるんじゃね?といいたかった
replaceとmatchのそれぞれの目的の違いが返り値の違い
replaceは置き換えが目的なので、返り値は置き換えた文字列
matchは合致するかを調べるのが目的なので、返り値は合致数
>>932 は「全体を一部の文字列で置換」したパターンだな
preg_match_allがあるので、preg_matchは合致した文字列を返してもいい気はするけど。
>>948 受け取りの変数名を引数で指定してるんだから迷うようなものでは無いと思う。
よっぽど$1とかの自動生成されるシステム変数の方が不気味。
その上、replaceは元の文字列の編集も行うので処理コストが無駄に高い。
セッションを使ったサイトを作ろうとしているのですが、 ページをxhtmlで書き出すと、セッションに入れた値が表示されたりされなかったり不安定で、 htmlのhead内のtitle以外(meta等)を削除すると、なぜか正常に表示されます。 これって、どんな原因が考えられますか? バージョンは4.3.11です。4.3.10では、正常に動作しました。
同じく、セッションの質問になりますが、 新規セッションでのページアクセスは、 値が代入されていない場合、 if($_SESSION['name'] == ""){ 〜 } で防げるのですが、うちの借りているレンタルサーバーのセッション保持時間が24分でして、この時間が切れた後の確認が 上記の記述では出来ていないようなのです。 「一度ログインして、24分経過→$_SESSIOIN['name']が空になる」 この空の状態でもアクセスする事が出来、$_SESSION['name'] は、Arrayとなっています。 セッション切れあとにアクセスすると、ログイン画面に飛ばしたいのですが、どのようにすればいいでしょうか。 宜しければ、アドバイスお願い致します。
empty()かisset()、好みの関数を使って条件式を書き直すと良いと思う。
駄目だと思う。
955 :
725 :2005/12/17(土) 18:16:17 ID:???
>>952 $_SESSION['name'] がArrayになってる時点で何かゴミが入ってるですよ。
だから当然アクセスできるでしょうね。
レスありがとうございます。
>>954 さん
953さんのやり方だと出来ないのでしょうかね・・・。
>>955 さん
ゴミですか・・・。Arrayと表示されるって事は空では無いんですね。
少し記述を見直してみます。
Arrayの中身はvar_dump()かprint_r()すれば確認できるかと
一応、名簿のtxtがあるので、 名前一覧を配列 $meibo に入れて、 if(in_array(!$_SESSION['name'],$meibo){ ログイン画面にheaderで飛ばす } で緊急対処してみました。 これから957さんのおっしゃっているprint_r()辺りで探りたいと思います。 ありがとうございます。
sleepで寝かせて醗酵させたい。
$a->b;ではなくa::$bみたいにclass aの変数bを直接?参照する方法はないでしょうか?。 class a{ var $b; } $a = new a(); echo $a->b;
メソッドならともかく、メンバ変数の直接呼び出しなんてできたっけ??
フレームを使ったサイトのアクセス解析をしたい。 PHPでプログラムされたアクセス解析を埋め込むとき、PHPのコードをそのまま埋め込む方法と、 JavaScriptでコードを埋め込む2つの方法があると思う。 後者のJavaScriptの場合 document.referrer というところを parent.document.referrer に変更すればフレームのサイトでも正常にreferを取ることが出来るけど、 前者のphpのコードをそのまま埋める方法でreferを正常にとるにはどうしたらいい?
>>962 寝ぼけてた。
でも直接呼び出すということは、値が固定なんでしょ?
定数で良いんじゃね?
>>963 ヒント
print_r($_SERVER);
>>963 フレーム部分のHTMLをPHPにして、そこでアクセス解析する。
>>964 まー、クラス内での定義内容を知りたいんだろうけどね。
968 :
963 :2005/12/17(土) 23:47:44 ID:???
>>965 それだとrefer取っても自サイトのフレームが検出されちゃって意味無くない?
>>966 フレームだとどのページを読んだのか判別がつかなくなるような・・・
自分のサイトの中の複数のページを解析しているんだけどそれぞれ独立して
解析したもので・・・
>>968 どこのサイトから飛んできたのかを知りたいのなら
referer取るのはフレーム部分だけでいいんじゃないの?
「複数のページを解析」の中の1つとしてフレームも含めればいいだけのような。
各ページでまでいちいちreferer取る必要ないじゃない。
そこをあえて各ページでもフレームのrefererを取得したいと思うなら、
セッション、クッキー、各ページへの引数、などでデータをたらい回せば?
セッションやクッキーの方式ならリンク元が一緒でも別々のユーザとして特定できるから
ユーザ別の完全な行動履歴が記録できるかもね。
最近phpを勉強し始めたものですが ereg_replaceと正規表現が良くわかりません・・・ DBに電話番号を登録させていて 取得した電話番号が9999999999(10桁)として それを999-999-9999という風にハイフンを付加して表示させたいのですが ereg_replace("([0-9]{3})\([0-9]{3})\([0-9]{4})","\\1-\\2-\\3",$DB[tel]) とコーディングしましたところ無変換になって困っています… よろしければご教授ください
>>970 > ereg_replace("([0-9]{3})\([0-9]{3})\([0-9]{4})","\\1-\\2-\\3",$DB[tel])
途中の「\」が余分なだけかと。
972 :
970 :2005/12/18(日) 00:23:21 ID:???
>>971 おかげで解決しました
ありがとうございました 精進します
チェックボックスに入れたデータは、どのように保持すればいいですか?
<input name="変数名">で指定した名前でPHPでは $_REQUEST["変数名"]で受け取れるから それを使って好きなように処理すればいい
携帯ってセッション使えるの?
セッションの実装にはcookieとURL書き換えがあって、 URL書き換えの方なら携帯でも使えるべ
使える。 使ってる。
978 :
960 :2005/12/18(日) 08:43:58 ID:???
おはようございます。 やはりグローバルなインスタンス化は難しいみたいですね(^^;。 スーパーグローバル変数は使いたくありませんし、defineにはオブジェクト入りませんし・・・。
>>978 > スーパーグローバル変数は使いたくありませんし、
こっちは分かるけど
> defineにはオブジェクト入りませんし・・・。
こっちの意味が分からない。
$a = new a(); define("定義名", $a->b);
じゃダメなの?
オブジェクトを入れるって言うけど、a::$b ってことはクラス内で定義されてる
初期値を参照したいだけで、オブジェクト内での値の変化は無視してるわけでしょ?
だったら1度newして直後の値をdefineに使っても結果は同じなんじゃないかと。
> グローバルなインスタンス化 この用語の使い方が意味分からん PHP4にクラス変数がないってことが問題なんじゃなかったのかよ
単に、$a-> ってのを書くのが面倒とかいう話じゃないのかな? んでも、$a->を書かない事にはどのインスタンスを指してるのか分からんしなぁ。。 それとも、$ref = & $a->b; てな感じでリファレンスを使えば気に入るのかな?
982 :
960 :2005/12/18(日) 09:33:25 ID:???
>>979 値も欲しいのですがインスタンスそのものも欲しいです。
つまりdefine("定義名", new a())と同じ事がしたかったわけです。
通常、メンバ変数は定数の為にあるのですが長いセッション名を=&していたりする事や
インスタンスをあちこちに$a = new a(); の function($a)と使いまわしているうちに$this->
が使いにくくなったりしてきたのでグローバル化出来ないかと考えた次第です(^^;。
結局、インスタンス生成用のfunctionを作ってstaticする方向で使いまわす事にしたの
ですがもっとスマートな方法があれば教えて頂けないでしょうか?。
なるほど。設計上静的なメンバが必要という話じゃないのか それならグローバル変数やDefineが出てくるのも分かる気がする PHP4でやるならゲッターにstatic仕込んでプロパティに見せるとか やるしかないね
985 :
nobodyさん :2005/12/18(日) 09:39:12 ID:rUQVAAhd
IDE使え。終了
単に $GLOBALS["a"] = new a(); すればいいだけじゃないのか? スーパーグローバルを使いたくないと言ってるが、 すでにやってることが同じことになってる気がするぞ
インスタンス化という概念を根本から否定してるよな
スレの終盤はいつも何かが起こる・・・ッ!!
過去スレは
>>2 以降にリストアップしてほしいです
フトモモまぶしい半ズボン少年からのお願いでした
何故?
削除人か?
IEな人だと思う。
何故冬なのに半ズボンなの?変態じゃないの?
さとるはPHPは使わないよ
萌え
>>994 不可能じゃないと思うが相当難しいと思う
_________________________ <○√ ‖ くく
1000ならアラビックのマニュアルができる
1001 :
1001 :
Over 1000 Thread このスレッドは1000を超えました。 もう書けないので、新しいスレッドを立ててくださいです。。。