【PHP】下らねぇ質問はここに書き込みやがれ 67 at PHP
[2ch|▼Menu]
[1からを表示]
50:nobodyさん
08/04/12 19:46:20
>>48
書き方がいつも同じでワロタ

一ページで構成、文章長い。
途中に体験談が出てきて、
最後に、金額。

51:nobodyさん
08/04/12 20:00:26
でいつまでも値下げ

52:nobodyさん
08/04/12 20:57:30
SQL書くのマンドクセからフレームワークの使い方覚えたけど
結局複雑なリレーションはSQL書かないといけないのね、イヤン!


53:nobodyさん
08/04/12 20:59:17
SQLのほうが楽でいいじゃん

54:nobodyさん
08/04/12 21:10:36 pm7T1kPT
PHPでSQL文意識せずにクエリ作れるライブラリってどんなのがあるの?

55:nobodyさん
08/04/12 21:17:35
意識しろ

56:nobodyさん
08/04/12 21:49:43
感じろよ

57:nobodyさん
08/04/12 22:07:14
getdate()['year']って書けないのは何の嫌がらせなの?

58:nobodyさん
08/04/12 22:10:44
まぁ確かにPHPらしくないわな

59:nobodyさん
08/04/12 22:12:18
'functionHoge'()
これもだよな

60:54
08/04/12 22:22:06 pm7T1kPT
悪かった、SQL文をただ意識するだけなら構わない。
だが生のSQL文を弄れてしまうとSQLインジェクションの知識が必須になってしまうから
そこをライブラリ側で隠蔽化してやってくれるもので、なるべく独立したライブラリってないの?

61:nobodyさん
08/04/12 22:29:36
>>60
つプレースホルダ

62:nobodyさん
08/04/12 23:11:19
>>61
lol

63:54
08/04/12 23:31:51 pm7T1kPT
>>61
あ、なるほと、プレースホルダって何なのか今理解した。
PDOってのを使ってprepareではユーザ入力値を入れないようにすれば良いわけか。
何かこれ常識なことを質問してしまったみたいだな。皆ごめん、どうもありがとう。

64:nobodyさん
08/04/12 23:36:36
てかSQLインジェクションの知識もなしでよくシステム作る気になれるね。
損害賠償くらわないようにね。

65:nobodyさん
08/04/12 23:55:06
損害賠償については皆が皆仕事のWebプログラム書いてるわけじゃないし。
末端プログラマが皆セキュリティ技術者では居られないし。
公表されたセキュリティ問題に低リスク/コストで対応するためにライブラリを使うんだし。

66:nobodyさん
08/04/13 00:12:05
末端でもSQLインジェクションは解ってないといけないと思います。webプログラム書くなら。
個人的にはむしろ、入門書でも最初に教えるぐらいしないと。と、思う。

67:nobodyさん
08/04/13 00:22:36
SQLインジェクション知らない

ライブラリ使って楽しよう

とかいろんな意味で終わってる(笑)

68:nobodyさん
08/04/13 01:26:09
なんか意図せず極論になってしまってる気がするので物申したいんだけど、
SQLインジェクションにおいて新しい攻撃法が今後発見されることは100%ないの?
セキュリティ技術者ってのは最新の攻撃を常に把握してるよね、それが仕事だもん。
でもプログラムを書いたらその後運営には携わらない末端プログラマは居るでしょ。
そしてそのプログラマは当時のSQLインジェクションの知識で自前でサニタイズしていたら。
つまり「解っている」というのが、その時点についてのみではダメってことでしょ。

これを名の知れたライブラリと一般化したサニタイズ手法を使って文書として残しておけば、
保守として全てを理解していなければならないプログラマは不要であり、
かつ必要な最低限のセキュリティのチェックは可能になるでしょ。

俺はWebの仕事はやったことないからズレてること言ってるのかも知れないけど、
殆どの仕事はASP的な形態で同じプログラマがずっと関われるようなものなの?

69:nobodyさん
08/04/13 03:26:06
実用上はライブラリ通せば無問題だが、
概念上それくらい常識として知っておけ、
ってことじゃねーの?

70:nobodyさん
08/04/13 03:34:36
>>68
現実にそれが可能ならセキュリティ技術者なんて要らんわな

夢から覚めなさい

71:nobodyさん
08/04/13 03:54:16 bEpE13Rl
アップロードして保存されたファイルのその保存日を判別する方法ありますか?
ただし、画像ファイル名に保存日を書き込めないとします(20080413.jpgなどはダメ)
phpの関数でそんなのあるんでしょうか?
一定期間が過ぎたら削除する処理に利用したいと思っています

72:nobodyさん
08/04/13 04:24:29 hN58mjIP
毎朝6時以降、最初のアクセスでデータを更新するプログラムを作っています。
(クーロンを使えというのはなしで)
前回のデータ取得はキャッシュされていて更新時間は変数として使えます。

現在の日付時間、デーの更新時間、毎朝6時

これらをどう組み合わせて計算すればいいでしょうか?頭がこんがらがってしまいました(?_?)
よろしくお願いします。


73:nobodyさん
08/04/13 05:23:53
filemtime


if(date(更新時間-6時間)<date(今-6時間)){


74:nobodyさん
08/04/13 05:27:15
×date
○mktime
orz

75:nobodyさん
08/04/13 05:37:33
"6時間"じゃなくね?

>>72
宿題か?
デーの更新時間に日付が入ってないなら無理だ
頑張れ

76:nobodyさん
08/04/13 05:51:50 hN58mjIP
デーの更新時間はタイムスタンプなので日付に変換できます^^;

6時間じゃなくて朝6時です

6時以降の最初のアクセスをトリガーとして作動させたいのです



77:nobodyさん
08/04/13 06:49:43
if(更新日時 < 前日朝6時 or 更新時 < 朝6時 and 現在時 >= 朝6時) 更新;

78:nobodyさん
08/04/13 07:50:58
意外と難しいなw

>>77
これだと前々日の場合が駄目じゃね
毎日アクセスがあるとは限らない場合を想定すれば

79:nobodyさん
08/04/13 08:06:52
更新日時 < 前日朝6時 の所が2日前や1週間前もカバーしてるような?
入ってるデータが全部タイムスタンプなら>>77でよさそうだけど、寝起きだから自信ないな

80:nobodyさん
08/04/13 08:54:53 y9NKt7wS
PHPでサーバ上のセッションを全て廃棄する方法はありませんか?
(現在のセッションの、全てのセッションデータの廃棄ではありません)

マニュアルを見た感じではみつかりません。
URLリンク(jp2.php.net)

具体的には、PHPのプログラムを更新する場合に、その前からのセッションが生きてるのは、嫌だなぁって事なんですが。

PHPは5.2 使ってます。

81:nobodyさん
08/04/13 09:16:12
>>80
session.nameを変えるとか。
session.save_pathを変えるとか。



82:nobodyさん
08/04/13 09:25:53 y9NKt7wS
>>81
なるほど。
session.nameはPHP_INI_ALLだから session_startより前で設定すればできそうですね。

ありがとうございました。

83:nobodyさん
08/04/13 09:52:09 /FusEZA8
毎時間処理させるにはどうすればいいですか?

84:nobodyさん
08/04/13 09:53:02
>>83
cron

85:nobodyさん
08/04/13 10:05:23
>>83
手動

86:83
08/04/13 10:09:53 /FusEZA8
>>84-85
ありがとうございます。

cronについて調べてみましたが、いまいち使用方法がわかりません。
簡単なサンプルを示していただけませんか?
(1時間ごとにtest.PHPを呼び出す例など)

使用しているサーバはoroti.comのw8サーバです。
URLリンク(www.abcoroti.com)

87:nobodyさん
08/04/13 10:41:22
>>83
右手

88:nobodyさん
08/04/13 10:43:16
>>86
読んでないけど、クーロソが使えると言うならば、鯖屋の指示通りに
設定すればいいだけ

(本来は鯖の設定ファイルを書き換えるようなのだから、それなりの権限がなければできない)

使えなければ、前に出てたアクセスをトリガー
(アクセスがあったら、それを契機に)スクリプトで処理するという方法で解決

89:nobodyさん
08/04/13 10:43:55
>_

90:nobodyさん
08/04/13 10:46:12
>>86
どの程度まで調べたの?

91:nobodyさん
08/04/13 12:13:21
サウンドハウス事件は何故おきたのか検証してみないか?

92:nobodyさん
08/04/13 12:57:13
今日からPHP始める。






でっていうwww

93:83
08/04/13 13:02:10 /FusEZA8
>>87-91
ありがとうございます。

質問板にてcronに関するスレを発見しました。
質問者:cronは使えまか?
管理人:cronつかえますよ。

cronに関するスレはこれだけで、鮎の方にも設定方法が紹介されていませんでした。
この場合どうすればいいでしょうか?
htaccessみたいなかんじで毎時間処理するよう記述したファイルをUP
するんですか?

94:nobodyさん
08/04/13 13:14:28
simplexmlって名前空間つきの要素へのアクセスはどうすればいいの?
xpath使えって話?

95:nobodyさん
08/04/13 13:22:57 /XYVoWCv
PHPにて、
PEAR::Image_Graph(オープンソース)を使用して
円グラフを作成しています。
マーカー部分に、"項目名 XX%"の用に表示させたいと思っています。
項目名を表示する方法をわかる方がいれば教えてもらえないでしょうか?

PHPとは少し違いますがお願いします。

96:nobodyさん
08/04/13 13:28:26
最近Image_Graphの質問が立て続けに出てるが同一人物か?
いい加減PEARはスレ違いだっつうの

97:nobodyさん
08/04/13 13:37:47
時間処理の質問見てて思いついたのだが、
任意の引数でタイムスタンプ作成する、dateの逆関数みたいなものって無いものかね
mktimeより楽に使えると思うのだがどうか。

$timestamp=inv_date('08年04月13日13時40分','y年m月d日H時i分');
みたいな

98:nobodyさん
08/04/13 13:41:24
当然あるわボケ

99:nobodyさん
08/04/13 13:48:35
>>91
HACKER SAFE使ってたって書いてあるけど、
ああいう外部からのチェックサービスって
結局CGIプログラムのソースコードは見ないんだろうから、
その中にある脆弱性には甘いんだと思うよ。
色んなサービスを動かすサーバ建てて、
その中に脆弱性のあるバージョンや機能が無いか調べるには良いと思うけど。

100:nobodyさん
08/04/13 14:55:35 /XYVoWCv
>>96
すみませんでした。

101:nobodyさん
08/04/13 16:58:04 mSGmcBg3
質問です。
たとえば、数十個のディレクトリ名を定数として利用する場合、配列でなくdefineでも問題ないと思いますが、
状態遷移に必要な情報を管理する多次元の配列の定数が必要な場合、どのようにするのがベターなのでしょうか?
・グローバルなところに変数として置く(現在はこの考えを利用)
・オブジェクト定数で管理
・XML/YAMLなどでデータ分離
あたりが思いつくのですが、常套手段などがあったらご教授お願いします。

102:72
08/04/13 17:59:49
>>73-79
ありがとうございます
明日の6時になったら動作するか確認してみます

103:nobodyさん
08/04/13 18:29:39 cn35Eo4d
20で質問した者です。

ord()とchr()を使用することでバイナリの扱いを解決することができました。
答えてくださった方々、ありがとうございます。

もうひとつ質問なのですが、phpの配列の要素数に上限はあるのでしょうか?

要素数が100000くらいのときはプログラムが正常に動くのですが、
要素数が1000000くらいになると途中でプログラムが止まってしまいます。

どなたかご存知であれば教えてください。
お願いします。

104:nobodyさん
08/04/13 18:56:04 cn35Eo4d
103です。
追記します。
このようなプログラムを組んでおり、
容量が1MBを超えるようなファイルだとプログラムが途中で止まります。

$fno = fopen("sample.mp3", 'rb');
while (!feof($fno)) {
$data[] = fread($fno, 1);
}
fclose($fno);

105:nobodyさん
08/04/13 19:33:29
>>104
[PHP] 配列に値を入れていくとエラーになりプログラムが落ちます。
URLリンク(q.hatena.ne.jp)
と同じ現象じゃないかな。
つまりPHPスクリプト一つに許可されている使用メモリ量をオーバーしているんだと思うよ。

デフォルトでは8MBか16MBに設定されているらしいのに、
たった1Mのファイルでオーバーしちゃうなんておかしいと思われるかも知れないけど、
PHPは配列の要素毎にも変数の型を持っているだろうから、余計にメモリを食っちゃうんだろうね。

単純に読み込んだデータにバイト単位でアクセスしたいのなら、
$data = fread($fno, filesize("sample.mp3"));
として一つの変数へ一気に読んじゃえば、配列と同じに$data[0]って感じで読めるんじゃない?
上のは試してないから嘘かもしれないけど。

106:nobodyさん
08/04/13 21:43:31 RGnLfYK/
phpgroupwareを入れたら下記のエラーが出てしまいました

NOTE: You must have cookies enabled to use setup and header admin!*

ブラウザ側ではクッキーは有効にしてるんですが・・・・どうすればいいでしょう?


107:nobodyさん
08/04/14 00:14:07
このindex.cgiがエラーがでるんですが修正できますか?(属性755)
URLリンク(www.borujoa.org)


108:nobodyさん
08/04/14 00:42:56
そんな餌で(ry

109:nobodyさん
08/04/14 00:46:10
fscanfがおかしいですだって?

110:nobodyさん
08/04/14 04:32:32
>>98
教えてくれ

111:nobodyさん
08/04/14 07:07:30
>>110
>>1

112:nobodyさん
08/04/14 11:41:38 6hAyd3lA
浮動小数点を表示すると、元の数値によって指数形式になったり
ならなかったりします。どういうルールで変換されているんでしょうか。

php -n -r "print(floatval(1100000));" → 1100000 が表示される。
php -n -r "print(floatval(1200000));" → 1.2E+6 が表示される。
php -n -r "print(floatval(1300000));" → 1300000 が表示される。
php -n -r "print(floatval(1300000));" → 1.4E+6 が表示される。
php -n -r "print(floatval(1500000));" → 1500000 が表示される。

環境は以下の通りです。

$ php --version
PHP 5.2.5 (cli) (built: Mar 3 2008 14:30:26)
Copyright (c) 1997-2007 The PHP Group
Zend Engine v2.2.0, Copyright (c) 1998-2007 Zend Technologies
with eAccelerator v0.9.5.2, Copyright (c) 2004-2006 eAccelerator, by eAccelerator
with Xdebug v2.0.2, Copyright (c) 2002-2007, by Derick Rethans

OS:Windows XP SP2

113:nobodyさん
08/04/14 14:26:42
すごくくだらない質問ですが、教えて下さい。
PHP5に元から入っているSQLiteのバージョンは2ですよね?
これを、バージョン3にしたいのですがインストールがいまいち分かりません。
環境は、WinXP Apache2 PHP5 です。

DB板に書くべきか悩みましたが、
PHP関係なのでこちらに書きました。

114:nobodyさん
08/04/14 14:39:54
SQLite3はPDOでされます。

115:nobodyさん
08/04/14 15:31:07
>>114
日本語でおk

116:nobodyさん
08/04/14 17:23:23
えすきゅうらいとさんはぴーでぃーおでされます。

117:nobodyさん
08/04/14 18:17:04
質問です。

PHPを記述しているページのアドレスをhttp://○○.phpではなく
http://○○.htmlまたは.php以外のモノにしたいのですが
やりかたが分かりません。

PHPを使っていると思われるサイトでも
アドレスが、http://○○.htmlとなっているのを見かけるのですが
どうやっているのでしょうか?

知っている方がいましたら教えてください。



118:nobodyさん
08/04/14 18:24:35
>>117
htaccessのAdd-Type

119:nobodyさん
08/04/14 18:47:51
htaccessでリネーム?するんですね。
検索してやり方を調べてみます。ありがとうございました。

120:nobodyさん
08/04/14 19:11:38
リネームじゃない
Apacheに拡張子htmlをPHPとして動かすように指示するだけ
Add-Type application/x-httpd-php .html
とかにすれば拡張子htmlのものがApacheでPHPとして扱われる
まぁこれ以上は板違いなんで
.htaccessについて深く知りたければWeb制作板へどうぞ

121:nobodyさん
08/04/14 19:42:46
その昔、
拡張子phpを使いたいという理由だけでPHPを始めた俺が来ましたよ
(突っ込みは無用)

アドレスが*.phpなのがオサレなんだと思ってた時期もありました

122:nobodyさん
08/04/15 00:26:29
>>112
それってPHPじゃなくてもなるんじゃなかったっけ。
CPUに詳しい人に聞いた方が良いと思う。

123:すのっぶ
08/04/15 02:01:01 LJ3oHWbN
php限定という訳じゃなくてすいません。
md5だと32桁の16進数値になりますが、大文字小文字を区別した表示でもっと短いhashはどのようなものがありますか?
ある携帯サイトで送られてくるメールのURLにそれらしきものがあり、「RJgYbxmTqnN5」という表記でした。

124:nobodyさん
08/04/15 02:04:11


125:nobodyさん
08/04/15 02:12:30
それはbase64では

126:nobodyさん
08/04/15 02:38:46
crypt

127:nobodyさん
08/04/15 07:42:07 LJ3oHWbN
URLリンク(jp.php.net)
crypt だった。サンクス > 126

ちょっと古いサーバで試したんだけど、salt を指定しない場合、「$1$Qgv55ZYN$likCiswhSgaLSaWdJeObY.
」とかで、しかも毎回内容が変わってた。これはこれで役にたつものなの?どうやってパスワードチェックするんだろう。

ちなみにそのサーバの定数値は以下
CRYPT_SALT_LENGTH 12
CRYPT_STD_DES 1
CRYPT_EXT_DES 0
CRYPT_MD5 1
CRYPT_BLOWFISH 0

OS REDHAT 9

128:nobodyさん
08/04/15 09:26:21
指定されないソルトは乱数で生成されるから、それは正しい。

パスワードのチェックの時は、ソルトを読み取ってから
入力されたパスワードのハッシュを計算する

つ man 3 crypt


129:nobodyさん
08/04/15 14:10:49
ログ解析ソフトってあるじゃないですか。
あれの滞在時間とか、直帰率とか、再訪とか、
ああいうのの開発手法について、概要でも良いので
説明しているサイトをご存じないですか?
ググっても、ASPとかWeb屋とかが出てくるばかりで・・・・

130:nobodyさん
08/04/15 14:31:23
>>129
だいたいどういうことすればできるかイメージつくだろ。
クッキー、セッション、リファラーetc
それすらイメージできないうちは作れるレベルにないということ。

131:nobodyさん
08/04/15 14:43:24 tEWEzoyO
URLリンク(jp.php.net)
imapでpop3サーバーにつないで、読んだメッセージをDBにしまい
ごにょごにょしようかと思ってるのですが、
メッセージを既読にするにはどうしたらよいのでしょうか?

imap_setflag_full()
はimapでつないだ時だけ見たいだし、
imap_body()
に「既読フラグをたてないオプション」みたいのがあるので、読めば自動的に立つのかと思ったけど
だめっぽいです。

立てられないと、毎回すごい数のメールを見に行かなきゃならないのでちょっと現実的じゃないかなと。

わかりましたらお願いします。

132:nobodyさん
08/04/15 14:47:25
>>130
ログは取ってるんですよ。
IPアドレスとかUAとか、アクセス時刻とか。
それらをどういうふうにデータとして加工・保存していけばいいかのヒントになるようなものがあればということです

書き方が悪かったですね。スマソ

133:nobodyさん
08/04/15 15:31:02
藻前の望みをリストアップして1時間眺めれば判る。

134:nobodyさん
08/04/15 15:43:29 6h+mXfU6
うんかー02(urlつきだと書き込めないので省略)っていう2ちゃんねるビューワー機能のサイトがあるんだけど、
人大杉の板を.dat直読みさせることで、表示を可能にしてるらしい
.datがどこにあるか教えてください

例えば、ここのスレ スレリンク(php板) の.datってどこでしょうか

135:nobodyさん
08/04/15 15:49:37
アクセス毎に10MBぐらいのファイルの読み書きするのって負荷かかりますか?

あまり詳しくないのですがDB使う場合とファイルをそのまま読み書きするのでは
やっぱ違いますか


136:nobodyさん
08/04/15 16:02:39
>アクセス毎に10MBぐらいのファイルの読み書きするのって負荷かかりますか?
なんでこんな糞システムになるのか理解できないが改善できるなら改善してくれ
じゃないと色んなところに迷惑がかかる
アクセス数が1日数件なら問題ないけど

>DB使う場合とファイルをそのまま読み書きするのではやっぱ違いますか
違う
扱うデータ件数が多ければ多いほどDBのほうが有利

137:nobodyさん
08/04/15 16:19:15
10MBぐらいのファイルじゃわからんな。
10MBのログに吐き出すだけならデータベースよりも軽石。

138:135
08/04/15 16:28:06
レスどうもです
ちょっと説明不足でした
プログラムファイルが10MBというわけではなく読み書きするデータファイルが10MBあるということです
最初は0でだんだんたまっていくという仕組みです

cgiで動かしていたのですが10MBぐらいで鯖の限界がきました
なのでPHPで作り直そうと思い、どのやり方が負荷が少ないかということで聞いてみました

やはりDBの方がいいのでしょうか





139:nobodyさん
08/04/15 16:51:25
鯖の限界っていうのがどういうことかわからないけど
おそらく使用可能なメモリが足りてないんでしょ?
だとするとcgiがだめでphpなら平気そうとかそういうレベルじゃないような気がする
特にPHPやPerlでWebプログラム組んでる人は特段意識しないだろうけど
扱うファイルが膨大となるとメモリ管理を効率よくおこなうプログラムを意識しないとだめだと思う
全てを配列に読み込むとかしただけでも相当メモリ使用量が増えるから

というわけでどういうものなのか想像できないのでなんともいえないけど
プログラム側の設計とファイルの扱い方についてを根本的に変えないといけないと思う

140:nobodyさん
08/04/15 17:09:48
このindex.cgiがエラーがでるんですが修正できますか?(属性755)
URLリンク(www.filebank.co.jp)

141:nobodyさん
08/04/15 17:24:26
>>138
別にログにレコード追記するだけなら別に10Mが100Mでも遅くならんだろう。

ただまぁ、段々増えると言っている割りに、読み書きと言っているし、
なんとなく、file()とかで読み込んで...とか考えてそうだから素直にDBを使った方がいいね。
違ったらごめんよ


142:nobodyさん
08/04/15 17:41:39
アクセスログか何か?
配列に読み込んで追加して・・・とかやってるんなら追記モードでオープンすれば問題ないでしょ。
とりあえずもっと詳細な情報がないと何とも言えない。
>>136
データ件数が少なくてもリレーションや制約,データ構造のためにDB使う意味はあるよ。

143:nobodyさん
08/04/15 19:53:03
$binstr = "0x71,0x8E,0x01,0x00,0x00,0x00,0x00,・・・";
こんなデータの並びをバイナリにして、ブラウザからダウンロードさせたいと考えて
いるのですが上手くいきません。どなたアドバイスして頂けないでしょうか?

以下失敗例です・・・
$binarr = split(",", $binstr);
$bin = "";
for ($i=0; $i<count($binarr); $i++) {
$bin.= pack("c", $binarr[$i]);
}
header("Content-Type:application/octet-stream");
echo $bin;
exit();


144:nobodyさん
08/04/15 20:12:25
自己解決しました・・・
$bin.= pack("c", $binarr[$i]);

$bin.= pack("c", hexdec($binarr[$i]));

ん〜しかしpackの説明のとこで0xXXって感じで渡してるのに
なぜこれで上手くいったのかいまいち納得できず・・・

145:nobodyさん
08/04/15 20:38:20
HTTP_RequestでsetBasicAuth使わない場合は、
getResponseBodyでちゃんと返ってくるんだけど、
setBasicAuth使う&setMethod(HTTP_REQUEST_METHOD_POST)
すると
getResponseBodyしても何も文字列が返らない。

バグか何か?
どなたかご存じないですか?

146:145
08/04/15 20:39:06
ちなみに
setMethod(HTTP_REQUEST_METHOD_GET)
なら問題ありませんでした。

147:nobodyさん
08/04/15 21:11:59
変数に入ってる文字列を数式として評価できるのってevalだけですか?
$a="1+2";
とかがあったら3にしたいだけなんですが

148:nobodyさん
08/04/15 22:05:32
ども。
GDのimagecreatefromjpegを使っているのですが、
画像がでかいと死にます。
普通に死んでくれると問題ないんですが、
エラーメッセージも、返り血もなく、いきなり実行が中断されるので、エラートラップもしけません。
問題を回避する方法知ってる人いませんか?

149:nobodyさん
08/04/15 23:57:17
エログ見てみ。

150:nobodyさん
08/04/16 00:16:21
いつも見てますよエロゲ

151:nobodyさん
08/04/16 08:11:13 1M88tLAK
JpGraphで画像を出力したのですがどういうわけか携帯では見れません
もちろん画像形式はgifにしました
PCでは当然見れますし保存すると拡張子もgifです

考えられるのはキャッシュ化したファイルにはpngとなっているのですが
ダウンロードしてみると中身はちゃんとgifです。

どうすればいいでしょうか



152:nobodyさん
08/04/16 09:39:16
>>148
メモリーが足りてないんだろう。
memory_limitの値とかチェック。
あと、imagecreatefromjpegの前にファイルサイズとかチェックしろ。

153:151
08/04/16 10:28:41
自己解決しますた

154:nobodyさん
08/04/16 11:27:50 DHAOt7zZ
Dynamic EXtensionってなんですか?
これの設定がよくわかりません。
postgresqlやいろいろ入れていった場合
追加していけばいいのでしょうか?


155:nobodyさん
08/04/16 12:19:19 xAJOe1B+
関数の中でcookieを使うにはどうしたらいいのでしょうか?
下記のようにしているのですが、クッキーが有効となりません。

function cookieTest(){
if($_COOKIE["test"]<>"on"){
クッキーがない場合の処理
}
setcookie("test","on",time()+30);
}

156:nobodyさん
08/04/16 13:05:55
引数で渡す

157:nobodyさん
08/04/16 13:12:39 KGnhrG4i
.htmlの拡張子をphpファイルとして実行したいのですが、

.htaccessの

AddType application/x-httpd-php .htm .html

以外のやり方で、デフォルトで.htmlをphpファイルとして実行する方法はないでしょうか?
よろしくお願いします。

158:nobodyさん
08/04/16 13:16:48
httpd.conf(笑

159:nobodyさん
08/04/16 13:17:54
.htaccessも弄れないようなところで拡張子を誤魔化したいってのに不正のにほいがぷんぷんする。

160:nobodyさん
08/04/16 13:46:10
>>157
そんなにいやならフレームでも使ってろ
見た目はhtmlだろ

161:157
08/04/16 13:56:24 KGnhrG4i
>>160
いえ、ローカルのテストサーバ―として利用しているので、嫌とかではないんですが
毎回ディレクトリごとに.htaccessを設置するよりも、デフォルトで設定しておきたいのです。

AddType application/x-httpd-php .htm .html

これをhttpd.confに記述すればいいんでしょうか?

162:nobodyさん
08/04/16 14:05:29
>>161
>ディレクトリごとに
ルートに1つ置いとけばいいだろ

>これをhttpd.confに記述すればいいんでしょうか?
YES

まぁスレ違いもいいところだぜ・・・

163:nobodyさん
08/04/16 14:06:46
テストとして使ってるだけなら拡張子にこだわってるのはおかしいだろ。

164:131
08/04/16 14:11:58 QC7Y4msP
imap_setflag_full()
でフラグは立っていたみたいです。

imap_headerinfo()
で見ると、実際変わっていました。

しかし、imap_checkで変えるrecentの数や、
imap_searchでの検索でも、フラグが立っているとみなされません。

\\Flaggedをたてて、 UNFLAGGEDなんかでimap_searchしてみても
全権引っかかってしまいます。

From "hoge@hogehoge"
なんかで検索すると、うまく見つられてるようです。

常に1000件くらいメールがあるので、全部に対して処理をすると、読みこんで
メール解析したオブジェクト組み立てるだけで15秒〜30秒かかります。
DBに登録して・・・と考えると、ぜひ、新しいメールだけに処理をしたいのですが
なにか方法ありますでしょうか?

お願いいたします。

165:nobodyさん
08/04/16 14:32:44 KGnhrG4i
>>162
ありがとうございました

166:nobodyさん
08/04/16 14:36:42 pyqKRshm
>>155
$_COOKIEはグローバル変数だよ?

167:nobodyさん
08/04/16 14:41:52 pyqKRshm
>>155
あーわかった。それはクッキーに値が入ってない。
CやperlとかでCGI経験がないと、httpプロトコルが分らないから
クッキーはヘッダーで渡されているというのが分らないんだよね。

つまり、本文(html)を出力した後にクッキーは送出できないんだけど、
ここを理解しないと、今後同じデバッグに苦しむことになるよ。

解決策は、本文の前にsetcookieを呼ぶこと。
実装上のコツはノウハウだから、ケースバイケースでアドバイスが変わるよ。

168:nobodyさん
08/04/16 14:51:35
配列の最後の値をとりたいのですがそんな関数ありますでしょうか?
配列にいくつ値があるかはそのつど変わります。

以下のようにはできるのですが、もっと簡単な方法がありましたらよろしくお願いいたします。
$data = array('hoge','foo','fuga'...'bumobumo');
$str = $data[count($data)-1];

169:nobodyさん
08/04/16 15:02:38
>>168
ぱっと思い出せないけど、あるよ。

170:nobodyさん
08/04/16 15:06:13
>>168
$data[-1] を思い出してしまったたけど、end() があるよ。

171:nobodyさん
08/04/16 17:08:09
どなたかコレの使い方を教えていただけませんか?

AutoIndex PHP Script
URLリンク(www.moongift.jp)

どこで聞けばよいのか迷ったのですが、phpですのでこちらに書き込ませていただきました。
疑問点はこれを使う場合のディリクトリ構成です。
(AutoIndexフォルダ内に一覧表示したいものを入れるのか、その逆か)
また、必要があれば設定ファイルの変更箇所や、パーミッションの設定、アクセス制限の方法等も教えてください。

宜しくお願いします。

172:171
08/04/16 17:24:04
自己解決しました

173:nobodyさん
08/04/16 17:30:39
XML関係の関数について詳しく書かれた本/サイトを教えてください。

174:nobodyさん
08/04/16 17:36:18
>>171
ここで訊けばよいです。
URLリンク(autoindex.sourceforge.net)

175:nobodyさん
08/04/16 17:45:21
>>173
URLリンク(www.php.net)

176:nobodyさん
08/04/16 19:01:43
>>173
URLリンク(www.amazon.co.jp)とかいいんじゃないの?

177:173
08/04/16 19:16:54
>>175
マニュアル見ても訳が分からない・・・

178:nobodyさん
08/04/16 19:30:51
>>177
関数についてそこ以上に詳しく書かれたサイトは無いぞ.
メニューを上げれば他の関連モジュールもあるが。
URLリンク(jp.php.net)


179:nobodyさん
08/04/16 19:35:05
>>172で171を名乗っているのは別人です。
なので、完全には自己解決していませんが、>>174さんに教えていただいたフォーラムなどを参考に
ある程度進むことが出来ました。
一覧表示したいものがあるフォルダに、AutoIndexの内容物(index.phpなど)を入れたところ一覧表示されたのですが、
ユーザー名とパスワードによるアクセス規制がいまいちよく分りません。

初回動作で表示される設定画面で、「use_login_system」を「TRUE」にしたところまでは良いのですが、
どうやらそれに関係なく、誰でもファイルにアクセス出来る状態になってしまいます。
ユーザー名とパスワードを設定する.htpasswd.autoindexへの記述も、デフォルトで暗号化されているため
どうやってIDとパスを生成するのかもわかりません。
どなたかご教授願います。

180:154です。
08/04/16 19:35:21 DHAOt7zZ
だれか154の質問に答えてください。
よろしくお願いします


181:171
08/04/16 19:51:41
>>179
なんで私を名乗るんですか?
自己解決済みです。お騒がせしました。

182:nobodyさん
08/04/16 20:04:44
>>154
本当にDynamicに(実行時に)エクステンションをロードする必要があれば(って言うかその必要がある場面がわからんぞ)
dl関数使ってロードできる(けど使ったことない)。
実行時にロードする必要が無ければ
使いたいエクステンションを所定のフォルダに置いて
php.iniをいぢればOK(これは普通のやり方)

183:nobodyさん
08/04/16 21:09:13
>>147
substrを駆使すれば可能です

184:nobodyさん
08/04/16 22:33:34
>>168
array_pop

>>154
dllの事だろ
extension=php_pgsql.dll
こんな感じでiniに追記
詳しい事は環境がわからないと何とも言えない

185:nobodyさん
08/04/16 22:38:20 JLMZOI/r
PHPがオブジェクト指向になってから全然わかんないです。

関数メインで作っていたのを、今後の為に抽象化レイヤーに
書き換えようと思ってググリました。

$pdo = new PDO('hoge','huga','honya');な場合において
$pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);

$pdo->setAttribute(ATTR_ERRMODE,ERRMODE_EXCEPTION);
という表記を見たのですが、これは同じと考えて良いんでしょうか。

::hogeは静的メソッドなので、PDOのオブジェクトのインスタンスである$pdoの中では
多分PDO::を省いても良いって事なんだろうなぁと思うんですが
書き方の習慣として、どちらの書き方が推奨されますでしょうか。

186:nobodyさん
08/04/16 22:46:10
>>185
違う
PDO::ATTR_ERRMODE
これはクラス定数
ATTR_ERRMODE
これだと定数を参照する事になる


187:nobodyさん
08/04/16 22:48:55
>>185
あ、因みにクラスメソッド内での参照の仕方は
self::ATTR_ERRMODE
って感じになる
詳しくはここらあたりかな・・・
URLリンク(jp.php.net)

188:nobodyさん
08/04/16 23:05:09
>>185
おいおいおい・・・なぜ憶測でコードを書こうとする。他言語でOOPの経験があるわけでもないようだし。
ちゃんとマニュアルに書いてあることだから言語仕様で疑問に思うことがあったらこんなとこで聞く前に即参照しなされ。

189:nobodyさん
08/04/16 23:19:55
>>186-187
理解できました。
ありがとうございます。

グローバル定数のPDO_ATTR_ERRMODEが5.1まで使用されていたけれど
今後はどんどんPHPを拡張していくから、グローバル定数増やすの嫌だから
PDO::ATTR_ERRMODEの様にクラスで定義されてる定数で呼び出してくれって事ですね。

190:nobodyさん
08/04/16 23:25:36
>>188
php.netのクラスの部分は読んだんですけど
他言語でOOPの経験っていうか、特にJAVAの経験がないから
クラスの部分の説明が全然わかんないんですよ。
聞いても良いじゃないですか。

勉強してるだけで別に壊れて危険な物は作ったり公開してる訳じゃないんで
かっかしないでくださいよ。

191:nobodyさん
08/04/17 00:26:56
かっかじゃないよ。呆れてるんだよ。

192:nobodyさん
08/04/17 01:00:13
>>190
だったらJavaやってこいよ
PHPがOOPに対応してるのはJavaからの移行者のため
PHPしかやらないような人間が無理してOOPする必要はない
PDOは確かに便利だが使い方わからないならネイティブ関数使うとか他に方法はある
そんなにクラスを理解したいなら先にJavaのサイトまわってこいよ
OOPのプログラム手法でわからないとこの質問ならまだしも
OOP教えてくれっていうのはお門違いだろ
手取り足取り教えてやる義理はない

193:nobodyさん
08/04/17 02:10:19
       .ni 7       .M
     l^l | | l ,/)     | i|                 _/\/\/\/\/\/\_
     ', U ! レ' /   / ̄ ̄ ヽ,              \                 /
     /    〈   /        ',        .n      < こっこしないでくださいよ >
          ヽっ{゚}  /¨`ヽ {゚},       l^l.| | /)   /                 \
       /´ ̄ ̄ .l   ヽ._.イl  ',      | U レ'//)  ̄|/\/\/\/\/\/\/\/ ̄
     /  ィ-r--ノ   ヘ_/ノ   ',    ノ    /
        ,/        |! |    ヽ rニ     |
       丿'        W     ヽ、  `ヽ   l
     . !/                  ヽ、 |   |

194:nobodyさん
08/04/17 02:12:07
おまえはOOP言いたいだけちゃうんかと

195:nobodyさん
08/04/17 02:57:25
>>194
スレリンク(php板)
ほれこっち池

196:nobodyさん
08/04/17 08:49:20 YHuC7Xot
質問なんですが
例えばショップサイトで商品のデータをDBに入れます

それを呼び出すときは **.php?category=01&data=0000
とかで呼び出すわけですよね

それでこの商品の数が膨大になったりアクセスが増えると負荷がかかると思うのですが
どのような対処方があるのでしょうか?

鯖の性能を上げるといっても何がどうなってるのか概念みたいなものがわかりません
おおまかでいいのでご教授ください

197:nobodyさん
08/04/17 09:57:43
加齢に擦るー

198:nobodyさん
08/04/17 11:00:28 M2mwea+h
PHPで書いたWebページからサーバー上のプロセスを起動したいが、
終了するのを待ちたくない場合はどうすりゃいい?

一応execでC++で書いたプログラム(仮にaiueoという名前にする)を起動し、
aiueoの中でfork(), exec()してみた.親プロセス(aiueo)のほうはwaitを
しないで終了すればokかなと思ったら、aiueoがゾンビになって
結局起動した子プロセスが終了しないとwebページを操作できない・・

こーいう場合どうしたらええのん?

199:nobodyさん
08/04/17 11:11:15
>>196
俺の経験則。反論もあるだろうし、信じなくて良い。

まずJOINを一つも無くす。その状態で並び替え条件にインデックスを張る。
そして一つのテーブルをシーケンシャルに検索する。

これはパフォーマンスをあげるための方法、
普通の設計ではJOINを無くすなんてことはしない。
むしろ逆。正規化をする。

検索条件にインデックスをはっても良い。
検索条件にインデックスをはることで遅くなることもある。注意。
like検索する所ははっても無意味。

10万件ぐらいならば、それが一番速い。

200:nobodyさん
08/04/17 11:53:39
場合によって「あえて正規化しない」ってのはアリだと思うけど
ドラゴンボール板向けのネタだよなとも思う。

201:nobodyさん
08/04/17 13:43:22 M2mwea+h
>>198
解決.親プロセスと子プロセスの両方で、fclose(stdout)が必要だった.

おさわがせしました

202:nobodyさん
08/04/17 15:08:09 yQIY/Upa
もし、そういった設計をされてる方がいらっしゃいましたら聞きたいのですが、
DBにバイナリ(画像等)を登録するメリットを教えてください。

203:nobodyさん
08/04/17 15:29:12 K4JzsNpf
フレームワークで入門用のものでおすすめありませんか?
シンプルなものからはじめてコード読んで勉強したいと思ってます

204:nobodyさん
08/04/17 15:34:59
すいません。くだらない質問ですが教えて下さい。

いま、無料の掲示板(PHP)を使おうと思っているのですが
googleを入れたく思っています。

表示エリアには
// 表示
echo " <tr><th colspan=¥"2¥" $_class><p class=¥"header_menu¥">$res$edit$del</p>$title</th></tr>¥n";
echo " <tr>¥n";
echo " <td class=¥"t_row1¥">$name<br /><br />$id</td>¥n";

とあり、$IDの後に入れたいと思っています。

入れるgoogleは

<script type="text/javascript"><!--google_ad_client = "pub-11111111111";/* 125x125, 作成済み 08/04/16 */google_ad_slot = "11111111111";google_ad_width = 125;google_ad_height = 125;//-->
</script><script type="text/javascript"src="URLリンク(pagead2.googlesyndication.com)">
</script>

となっております。

その場合どのよう入れれば表示しますでしょうか?
上の行で$で指定する文章を入れるのが良いのでしょうか?

恐れ入りますが、ご教授下さい。

205:nobodyさん
08/04/17 16:00:22
>>204
//表示 の直後に下記の5行
$google = <<<OMAEHAKUDARAN
<script type="text/javascript"><!--google_ad_client = "pub-11111111111";/* 125x125, 作成済み 08/04/16 */google_ad_slot = "11111111111";google_ad_width = 125;google_ad_height = 125;//-->
</script><script type="text/javascript"src="(p)URLリンク(pagead2.googlesyndication.com)">
</script>
OMAEHAKUDARAN;

であとはecho文の入れたいところに$googleを入れる。たとえば
echo " <td class=¥"t_row1¥">$name<br /><br />$id $google</td>¥n";


206:nobodyさん
08/04/17 16:01:34
あ、わりぃ。 rep2でリンクに付く(p)までコピーしてもた。
そこは無視でよろ。

207:nobodyさん
08/04/17 16:09:21
ちょっと酷いよ。
<<<OMAEHAKUDARAN

208:204
08/04/17 16:12:04
やっぱりうそですよね・・・。T_T

209:nobodyさん
08/04/17 16:14:58
いや、あってることはあってるよw

ヒアドキュメントをより先にまず "は\でエスケープすること学ぼう

210:204
08/04/17 16:35:24
やっぱり出来ない。現状

$google = <<<GOOGLE
<script type=¥"text/javascript¥"><!--google_ad_client =¥"pub-1111111111¥";/* 125x125, 作成済み 08/04/16 */google_ad_slot =¥"pub-1111111111¥";google_ad_width = 125;google_ad_height = 125;//-->
</script><script type=¥"text/javascript¥"src=¥"URLリンク(pagead2.googlesyndication.com)">
</script>
GOOGLE;


として入れてるんですが、HTMLはき出した後ソースを見ると円マークが残ったままになっています。本来HTMLにはき出した後のソースは消えていますよね・・・。

やはり初心者にはむりですかね・・・・。

211:nobodyさん
08/04/17 16:44:41
>>210
>205で言われた通りにやろうよ。
ヒアドキュメントに¥でエスケープは要らない

212:204
08/04/17 16:51:44
すいません。
ありがとうございます。
ヒアドキュメントという言葉を知らず、見落としました。

現状何となくエリアが出たのですが、表示はしていませんが
何となく出そうな感じまで行きました。


ちょっこり、色々いじってみます。ありがとうございました。

213:nobodyさん
08/04/17 17:03:04
ひゃあドキュメントってなんかエッチな感じがするな。なぜだろう?ひゃあ!

214:nobodyさん
08/04/17 17:50:59
またオマエか

215:nobodyさん
08/04/17 18:01:14
春は新しい出会いにときめく学生さんがここに遊びに来てるんだからオマエとかいわず温かい目でみてやれよ

216:nobodyさん
08/04/17 19:02:05
>>212
初心者か否かは関係ない。
真剣やる気があるかどうか、人の話を聞けるかどうかが問題。

217:nobodyさん
08/04/17 19:12:00
>>216
そんなくだらんレスするくらいなら、>>202>>203にでもレスしろよ。

218:nobodyさん
08/04/17 19:14:45
>>217
そんなくだらんレスするくらいなら、>>202>>203にでもレスしろよ。

219:217
08/04/17 19:23:39 yQIY/Upa
>>202
やったこと無い。
>>203
ちいたんじゃダメか?w

220:nobodyさん
08/04/17 19:45:53
すいません、教えてください。
Apache2.63にPHP5.25をインストールしました。
PHPファイルをモジュールで動かしてたのですが、勉強のため一部のファイルのみCGIとして動かしたいんです。

動かしたいファイルのソースはこれです。これを実行させるとechoで出力はできるのですが、#!C:/php5/php-cgi -qが文字列として表示されてしまいます
ということはCGIとして動いてないからなんでしょうか・・・?
#!C:/php5/php-cgi -q
<?php
echo 1111111;
?>

221:nobodyさん
08/04/17 20:19:24
CGIとして動かすためにしたことは?

222:nobodyさん
08/04/17 20:30:25
>>221さんありがとうございます
一行目に#!〜おまじないをいれてみましたができません

httpd.confにcgiとして設定しないとできないのでしょうか?

223:nobodyさん
08/04/17 20:46:52
httpd.confをCGIが動くように設定したのか?してなかったら恥

224:nobodyさん
08/04/17 21:23:22
てかid出せボケ

225:nobodyさん
08/04/17 21:31:27
>>224
氏ね答えられない低脳

226:nobodyさん
08/04/17 21:34:40
このスレはこの程度か!
どうもありがとうございました

227:nobodyさん
08/04/17 21:35:07
いえいえおよび出ないですよ

228:nobodyさん
08/04/17 21:39:06
>>225-227
無職乙

229:nobodyさん
08/04/17 21:40:04
>>228
ニート乙

230:nobodyさん
08/04/17 21:40:35
マジきめええwwww
答えられないならでてこなくていいからw

231:nobodyさん
08/04/17 22:08:12
つうかもういい加減id出してない質問にレスするのやめようぜ

232:nobodyさん
08/04/17 22:12:02
仕切り厨でましたね

233:nobodyさん
08/04/17 22:46:48
仕切り厨でもなんでもいいがルールぐらい守れミジンコ共が

234:nobodyさん
08/04/17 22:47:05
粘着妖精さんもスルー

235:nobodyさん
08/04/17 22:56:16
>>220=225=226=230=232=234
スレリンク(php板)
ほれこっち池

236:nobodyさん
08/04/17 22:57:36
phpで、携帯のサイトを作っているのですが、
セッション管理が必要なサイトで、
セッションIDの情報をURLに埋め込んでいます。

ただ、ユーザーの中にセッションIDが入ったURLをブックマークとして
公開する人がいて、セッションハイジャックが毎日行われています。

これって、仕様として客に説明しているのですが、
客が納得してくれず、携帯であるが故に技術的に不可能なことを説明しているのですが堂々巡りです。

こういう場合、どのような資料を提示して納得してもらえるのでしょうか?
宜しくお願いします。

237:236
08/04/17 22:58:55 8cCEOmJ0
すみません、下げていました。

238:nobodyさん
08/04/17 23:00:47
有効期間つければ?

239:nobodyさん
08/04/17 23:02:20
>>236
仕様って!!www
そんなサイトでセッションIDを生で埋め込むなよ

240:236
08/04/17 23:08:32 8cCEOmJ0
>>238
アドバイスありがとうございます。
有効期間はつけているのですが、
短いと、すぐにセッションが切れると苦情が来るし、
長いと、2chやブログでURLが貼られた場合に、セッションハイジャックが多発してしまします。
結局、有効期間ですと根本的には解決されないのではというのが結論です。

>>239
いや、携帯のサイトですから・・・

241:nobodyさん
08/04/17 23:13:21
>>240
IPの範囲みたりとかしたら?
あとauはクッキー使えるし

242:nobodyさん
08/04/18 00:07:02
IPアドレスや個体識別番号を持たせておけばいいだけじゃないの?

243:nobodyさん
08/04/18 00:09:22
URL埋め込みのSIDだけで何とかしようと思うほうがどうかしてる

244:nobodyさん
08/04/18 00:30:00
んむ クッキーがどうとか全く関係ないな
セッションハイジャックの対策をしていない事が問題なだけ

245:nobodyさん
08/04/18 00:33:53
「セッションハイジャックが毎日行われています。」

「fscanfがおかしいです。」も好きだけど、これも気に入った。

246:nobodyさん
08/04/18 00:40:53
無知なクライアントでよかったねぇ
うちの下請けが「これが仕様です」なんて言ってきたら二度と仕事回さないぞ

247:nobodyさん
08/04/18 00:52:58
>>240
> いや、携帯のサイトですから・・・
携帯サイトやからセッションIDを生で埋め込まへんねんて

248:nobodyさん
08/04/18 01:40:20
mixiとか大手はどうしてんだろ?

249:nobodyさん
08/04/18 01:46:33
uidじゃね?

250:nobodyさん
08/04/18 06:04:41
if (!isset($a))
$a = "hoge";

isset($a) ? $a : "hoge"
をもっと簡潔に(短く)書く方法はありますか?

251:nobodyさん
08/04/18 06:40:54
あるけどそんな微々たるところの効率なんか工夫しようとすんな

252:nobodyさん
08/04/18 13:48:09 VW/Du+vX
掲示板つくってます。
【日付,名前,本文,削除pass,IP】とデータをログファイルに残してます。
出力はこのログを頭から順にだしてます。

ここから返信機能つき掲示板に組み替えたいのですが、
ログファイルにどのようにデータを残し、
どのように出力するように動作させたらよろしいのでしょうか?
流れだけでもどうかご教授お願いいたします。




次ページ
最新レス表示
スレッドの検索
類似スレ一覧
話題のニュース
おまかせリスト
▼オプションを表示
暇つぶし2ch

5372日前に更新/238 KB
担当:undef