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

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

■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん2007/11/16(金) 18:09:05ID:kurqBmt1
まず読め→【PHP マニュアル】http://www.php.net/manual/ja/
PHPで最良の教本はこの公式マニュアル。市販の書籍は嘘が多いので鵜呑みにしない。
過去スレ、関連スレ、FAQなどは>>2-10辺り

◆前スレ
【PHP】下らねぇ質問はここに書き込みやがれ 58
http://pc11.2ch.net/test/read.cgi/php/1194084457/

◆質問する時の注意
・ 自分のIDを表示させること。(メール欄に何も記述しないこと。空白も入力しちゃダメ)
・ サーバーのOS(Linux、Windows他)、WebサーバーとPHPの種類やバージョン等を明記すること。
・ 己の行った操作、変更などを詳しく明記すること。
・ エラーメッセージはそのまま表記すること。「エラーが出ます」だけでは回答不可。
・ 質問者として、態度をわきまえること。
・ 事前に公式マニュアル、リファレンス本くらいはちゃんと目を通しておくこと。

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

◆回答者への注意
・誰にレスしているのか分からないと困るので、>>(アンカー)をつけて回答すること。

【その他諸注意】
・正規表現・PEAR・テンプレート(Smarty等)・フレームワークは各該当スレへ
・SQLについての質問はデータベース板(PCカテゴリ)の各スレで
0376nobodyさん2007/11/22(木) 00:53:20ID:d6OHwmCn
エラーの文章で色々しらべたのですが、どうやら文字コードの問題らしいですが、解決方法が見つかりません。
やはり文字コードが違うということなのでしょうか?
0377nobodyさん2007/11/22(木) 00:56:05ID:???
試してから聞け
0378nobodyさん2007/11/22(木) 00:57:56ID:???
$dat = "開\発";
これじゃねーの?
$dat = "開\\発";
とかしてみれ
0379nobodyさん2007/11/22(木) 01:04:51ID:d6OHwmCn
>>387
アドバイスありがとうございます。早々試してみましたが、うまくいきませんでした。
英語の意味的には不正確な文字列を挿入したために出たエラーと解釈しても良いでしょうか?
しかし、文字コードは全て統一しているのにどうしてこのようなエラーがでてしまうのでしょうか
0380nobodyさん2007/11/22(木) 01:15:11ID:d6OHwmCn
文字コードをデフォルトのラテンでやると上手く文字が挿入できましたが、
なぜEUCではだめなのでしょうか?
0381nobodyさん2007/11/22(木) 01:21:40ID:???
ならラテンでいいだろ
たぶんmy.cnfのデフォルト設定がsjisになってるからじゃない
文字化けとかの場合はujisにすれば使えるけど、関係があるかは知らん
0382nobodyさん2007/11/22(木) 01:21:57ID:???
カラムの照合順序がlatinになっているから。
頼むからこれで最後にしてくれ。
0383nobodyさん2007/11/22(木) 02:08:30ID:???
  ,j;;;;;j,. ---一、 `  ―--‐、_ l;;;;;;
 {;;;;;;ゝ T辷iフ i    f'辷jァ  !i;;;;; 
  ヾ;;;ハ    ノ       .::!lリ;;r゙  レベル低っく …
   `Z;i   〈.,_..,.      ノ;;;;;;;;>
   ,;ぇハ、 、_,.ー-、_',.    ,f゙: Y;;f
   ~''戈ヽ   `二´    r'´:::. `!




0384nobodyさん2007/11/22(木) 02:13:02ID:???
わざわざ自己紹介しなくていいよ
0385nobodyさん2007/11/22(木) 02:15:40ID:???
  ,j;;;;;j,. ---一、 `  ―--‐、_ l;;;;;;
 {;;;;;;ゝ T辷iフ i    f'辷jァ  !i;;;;;  君たちどんだけレベルが低いんだよ・・・
  ヾ;;;ハ    ノ       .::!lリ;;r゙ 過去の産物で必死になるのはいいが、
   `Z;i   〈.,_..,.      ノ;;;;;;;;> ロジックはどんどん日進月歩してる。
   ,;ぇハ、 、_,.ー-、_',.    ,f゙: Y;;f  MITのレポートなんか読んだことないだろwww
   ~''戈ヽ   `二´    r'´:::. `!



0386nobodyさん2007/11/22(木) 03:35:53ID:???
はいはい

脳内板に【超上級者】PHP高度な質問スレその1【玄人歓迎】でも立ててやってね
0387nobodyさん2007/11/22(木) 03:37:23ID:???
マジで高度な質問用スレ作っといたほうがいいかもな。誘導できるし。
0388nobodyさん2007/11/22(木) 03:40:21ID:???
過疎るのが目に見えてる。
結局、自称上級者(笑)はココに戻ってくるのさ。
0389nobodyさん2007/11/22(木) 03:49:56ID:???
PHPなんて実際には触ったこともない部外者もいます

俺俺
0390nobodyさん2007/11/22(木) 07:04:57ID:???
>>380
skip-character-set-client-handshake
0391nobodyさん2007/11/22(木) 07:53:47ID:1BRgOth3
画像ファイルにうめこまれたPHPスクリプトがあるとします。
これをチェックするにはどうしたらよろしいでしょうか?
0392nobodyさん2007/11/22(木) 08:10:24ID:???
Content-Type:
0393nobodyさん2007/11/22(木) 08:16:37ID:1BRgOth3
Content-Typeは信用できるものなんですか?
0394nobodyさん2007/11/22(木) 08:18:12ID:???
実行したくないなら実行しなければいいんじゃね?
0395nobodyさん2007/11/22(木) 08:31:51ID:???
何言ってるかワカランな。この質問者は
Webシステムでクライアントから送られてくる画像ファイルの事言ってるのか、
それとも、スタンドアロンでの事なのか、
結果的に画像ファイルをどう処理したいのか、

全然書いてないじゃん
0396nobodyさん2007/11/22(木) 08:36:11ID:???
こんにちは
こんな事をしたいのですが、良い作りが思いつきません
火曜日ごとに1106.jpg 1113.jpg 1120.jpg 1127.jpgと更新するサイトがありまして
その画像をその日の午後になったら取得したいのですが…
time()にたいして一番近い火曜日の時間を決定するのはどんな式がいいでしょうか?
forでtime()から60*60*24引いて曜日検査のループ?
0397nobodyさん2007/11/22(木) 08:36:52ID:7QpoLgnt
こんにちは
こんな事をしたいのですが、良い作りが思いつきません
火曜日ごとに1106.jpg 1113.jpg 1120.jpg 1127.jpgと更新するサイトがありまして
その画像をその日の午後になったら取得したいのですが…
time()にたいして一番近い火曜日の時間を決定するのはどんな式がいいでしょうか?
forでtime()から60*60*24引いて曜日検査のループ?
0398nobodyさん2007/11/22(木) 08:50:01ID:???
>>397
画像を取得するようなPHPなり何なりを書いて
cronで毎週火曜に回るように設定すれば終わり
0399nobodyさん2007/11/22(木) 08:50:04ID:1BRgOth3
すみませんでした、補足します。
画像アップローダーです。
不特定ユーザーが画像をアップロードできるため、
攻撃コードをしくまれた画像をはじきたいと考えてます。
0400nobodyさん2007/11/22(木) 08:55:23ID:???
>>399
不特定ユーザーがアップする
攻撃コードをどうやって解析するつもりだ?
0401nobodyさん2007/11/22(木) 09:02:36ID:???
思いつきません。
やはり対応はできそうにないですよね
0402nobodyさん2007/11/22(木) 09:27:23ID:7QpoLgnt
>>398
レンタルサーバーなので
phpだけで実装したいのです・・・
0403nobodyさん2007/11/22(木) 09:55:09ID:???
ふと思ったんだけど、質問スレって初心者しかいないんじゃないかと思う。
他の板もそうだけどさ。
上級者は質問スレなんて見ないよな。見る必要ないし。

お前らもこんなところで質問してないでgoogleで回答やヒントを検索した方が早いと気が付いた22才の秋。

さて、この次にレスをする人はニート。

↓ ニート ↓
0404nobodyさん2007/11/22(木) 09:55:50ID:???
>>397
火曜日の月日がファイル名であるなら、
今日の日付と曜日を取得して、火曜日に変数をセットしてゲットすりゃいいじゃん
0405nobodyさん2007/11/22(木) 10:03:57ID:???
つーか>>397は
>forでtime()から60*60*24引いて曜日検査のループ?
これを>>398の返事より前に試して解決済みなんだろうw
0406nobodyさん2007/11/22(木) 10:20:21ID:7QpoLgnt
>>405
と、今試してみて動きました。
毎回ターゲットのサイトのソースを取ってきて、そこのurlを取って来れば?
なんて思ったのですか悪手ですよね
//w = 2 火曜日
if( date("w",time()) != "2")
{
//現在秒数
$time_count = time();

while( date("w",$time_count) != "2")
{
$time_count -= 60*60*24;
}
echo '<img src="http://???'.date("md",$time_count).'.jpg">';
}else{
echo '<img src="http://???'.date("md",time()).'.jpg">';
}
0407nobodyさん2007/11/22(木) 10:22:43ID:7QpoLgnt
外側のifいらないですね…ありがとうございました。
0408nobodyさん2007/11/22(木) 10:45:44ID:sPAH13/5
pearがインストールできない客先のサーバなどで、
pearを使いたい場合はどんな方法がありますか?
0409nobodyさん2007/11/22(木) 10:48:27ID:???
>>408
URL直下にならないとこに使いたいPEARをUploadして
htaccessなどでinclude_pathを指定してやればいいんじゃね?
インストールといっても展開だけだからな
0410nobodyさん2007/11/22(木) 11:03:41ID:???
408ではないけど、URL直下において、その中にhtaccessでdeny allにするのは
セキュリティ的に問題ありですか?
0411nobodyさん2007/11/22(木) 11:05:08ID:???
>>410
おそらく問題はないと思うが確実ではない
URL直下にしか置けない場合はそれでいいと思う
0412nobodyさん2007/11/22(木) 11:16:52ID:???
>>408
いくらインストールしてもサーバに必要なモジュールがなければpearなんて使えねえぞ
0413nobodyさん2007/11/22(木) 11:20:53ID:ucDTt70g
Test("example","test","hogehoge");

function Test(){

}

これで、受け取ったデータを配列に格納する方法ってどうやるんでしたっけ
度忘れしてしまいました
0414nobodyさん2007/11/22(木) 11:35:00ID:8EI8IvP2
自分自身にPOSTするプログラムで処理に20秒ほど時間がかかるのですが、
処理中に別人が違う値をPOSTしたらどうなりますか?

また、もし問題がある場合、どんなキーワードを調べれば良いですか?
0415nobodyさん2007/11/22(木) 11:37:03ID:???
>>414
別々だから問題ないよ
外部ファイルに書き込みとかなければ
そんときゃロック
0416nobodyさん2007/11/22(木) 11:38:07ID:???
>>413
Test("example","test","hogehoge");

function Test($a.$b.$c){

$a...

}
04174142007/11/22(木) 11:39:39ID:???
>>415
ありがとうございます!
0418nobodyさん2007/11/22(木) 11:40:11ID:???
>>413
array("example","test","hogehoge");

>>414
アパッチのアイドルが何とかするから気にするな
だめならサーバーが遅くなるか死ぬ
POSTで20秒もかかる処理があるほうが問題
04194132007/11/22(木) 11:40:40ID:???
>>416
書き方がわるかったみたいです・・・。

func_get_args()で自己解決できました。
有難うございました。
04204142007/11/22(木) 11:51:30ID:???
>>418
で、ですよね(汗

それどころかset_time_limit(60);にしてたりして・・・
0421nobodyさん2007/11/22(木) 12:16:42ID:ucDTt70g
PEARのDBを使っているのですが、
MySqlからPostgreSQLに移行させる場合はどのように手順を踏めば良いでしょうか
DNSをmysql://〜をpgsql://〜にするだけで良いのでしょうか?
0422nobodyさん2007/11/22(木) 13:17:37ID:???
>>421
逆に質問させてくれ。おまえはなぜpearを使うのだ?
0423nobodyさん2007/11/22(木) 13:34:40ID:???
現在実行中のスクリプトのパスって
どうやって取得するんですかね?

カレントパスではないです。
04244232007/11/22(木) 13:36:56ID:???
$_SERVER['SCRIPT_NAME']ではないです。
CakePHPなのですが、$_SERVER['SCRIPT_NAME']は
/app/webroot/index.php となっていました。

これではなく、index.phpから呼ばれていった
○○クラスが入っているphpファイルです。
0425nobodyさん2007/11/22(木) 13:36:59ID:???
>>423
phpinfo()をよくみろ!
04264232007/11/22(木) 13:38:12ID:???
__FILE__ これか・・?
0427nobodyさん2007/11/22(木) 13:43:23ID:ucDTt70g
>>422
ですよねー
0428nobodyさん2007/11/22(木) 13:46:20ID:???
>>425
そういうことじゃないのでは

>>426
http://php.mirror.camelnetwork.com/manual/ja/reserved.variables.php
もしくは
単に現在のphpファイルのディレクトリをしりたいってのなら、
dirname(__FILE__)
0429nobodyさん2007/11/22(木) 13:47:34ID:???
>>427
可憐さん?
0430軟式PHP2007/11/22(木) 13:58:48ID:???
いいえ、ケフィアです。
0431nobodyさん2007/11/22(木) 15:23:44ID:t/zyhRCZ
インストール時に--with-mysqlをするには
mysql-develが必要ですが、
mysql-develのバージョンはとりあえず一番新しいものを入れておけばいいのですか?
新しいmysql-develで
古いmysqlサーバにも
問題なく接続できるのでしょうか?
0432nobodyさん2007/11/22(木) 15:30:30ID:???
試してから言え
0433nobodyさん2007/11/22(木) 15:36:06ID:???
古いmysql-develを組み込んだPHPでも
新しいmysqlに接続できるよな…
どういう仕組みなんだろう?
0434nobodyさん2007/11/22(木) 15:41:35ID:???
fgetsとかfpassthruってEOFに当たるまでのデータを返すとのことですが
0バイトのファイルでいきなりEOFになるような場合だと
返ってくるのは空文字なのかそもそもエラーが出るのかどちらでしょうか?
0435nobodyさん2007/11/22(木) 15:41:35ID:???
使うライブラリ名(mysql.soとか?)と関数名が同じなら呼べるし、
仕様が変わってなければそのまま動くでしょ。
0436nobodyさん2007/11/22(木) 15:46:13ID:???
mysql1.0ってまだある?
0437nobodyさん2007/11/22(木) 15:47:57ID:???
func_get_args()ってどんな時につかうんだ?
0438nobodyさん2007/11/22(木) 15:49:07ID:???
>>437
引数が不定のときだろ
0439nobodyさん2007/11/22(木) 15:53:00ID:???
最近のレンタルサーバーでPHP5、MySQL使えるとこって
mysqliも使える物かな・・・
0440nobodyさん2007/11/22(木) 16:04:51ID:???
個別にお問い合わせ下さい
0441nobodyさん2007/11/22(木) 16:08:46ID:ucDTt70g
$str = '西鴻池町一丁目';
$preg = '/^(.*)([一二三四五六七八九十〇]丁目)$/';

preg_match($preg, $str, $match);
print_r($match);

として、○丁目というのを取得したいのですが、
これで取得するとなぜか、

Array(
[0]=>西鴻池町一丁目
[1]=>西鴻池町・・
[2]=>・丁目
)

のように文字化けします。
preg_matchで文字コードを指定してマッチするような引数はないみたいですが、
どうやって文字化けを防ぐことができるのでしょうか。

ちなみに上記はUTF-8を使用しています。
EUC-JPで試してみましたが同じところが文字化けします、。
0442nobodyさん2007/11/22(木) 16:10:35ID:???
/uにすると幸せになれるかも?
0443nobodyさん2007/11/22(木) 16:12:27ID:ucDTt70g
>>442
ありがとうございます、幸せになれました
これはマルチバイト対応なのですか
0444nobodyさん2007/11/22(木) 16:19:14ID:???
http://jp.php.net/manual/ja/reference.pcre.pattern.modifiers.php
0445nobodyさん2007/11/22(木) 16:33:57ID:???
UTF-8のみか・・・気をつけて使わないと・・・
0446nobodyさん2007/11/22(木) 16:39:46ID:sPAH13/5
>>409
どうもありがとうございます。
なぜ直下じゃだめなんでしょう??
0447nobodyさん2007/11/22(木) 16:46:20ID:???
>>446
おまえに指摘してやった>>412だがレスは読んだかな?
0448nobodyさん2007/11/22(木) 16:51:43ID:sPAH13/5
>>447
おおっと、見落としてしまってました。すみませんでした。
「サーバに必要なモジュール」とは例えばなんでしょうか?

今、PEARのサイトにいって、適当なものダウンロードしてみて解凍してみたんですが、
XMLファイルしか入ってなかったです。phpファイルが手に入ると思っていたんですが・・・。
0449nobodyさん2007/11/22(木) 17:14:23ID:???
mysqlのbegin,commit,rollbackってmysql_unbuffered_queryでやっちゃだめ?
mysql_queryじゃないとだめなのかな。
0450nobodyさん2007/11/22(木) 17:19:21ID:???
>>449
>>1
0451nobodyさん2007/11/22(木) 17:45:46ID:???
>>413
func_get_args()
0452nobodyさん2007/11/22(木) 19:42:29ID:???
>>448
PEARがあればなんでもできるってわけじゃないんだぞ・・・
サーバにインストールされたモジュールを確認してからにしろよ。。
0453nobodyさん2007/11/22(木) 20:37:58ID:???
<?php
if($_SERVER['HTTP_REFERER'] == "http://ほげほげ.com/" or "http://ちょめちょめ.com/") {
print "バカ";
}
?>

全然うまく動作しませんが、どのようにすればOKなのでしょうか?
0454nobodyさん2007/11/22(木) 20:48:17ID:???
ワラタ
0455nobodyさん2007/11/22(木) 20:53:50ID:???
>>454
真剣なんです。おしえてください。
0456nobodyさん2007/11/22(木) 20:57:39ID:???
>>455
じゃまず>>1を読め
0457print "バカ";2007/11/22(木) 21:01:26ID:xhtR9bCY
>>456
おねがいします
0458nobodyさん2007/11/22(木) 21:07:17ID:???
if ($a == $b || $a == $c)
0459print "バカ";2007/11/22(木) 21:21:53ID:xhtR9bCY
if($_SERVER['HTTP_REFERER'] == "http://穂下.com/" || $_SERVER['HTTP_REFERER'] == "http://バカ.com") {

これでもできませんが、致命的な間違いしてますか?

0460nobodyさん2007/11/22(木) 21:22:30ID:???
>>459
>>1
0461nobodyさん2007/11/22(木) 21:28:08ID:???
HTTP_REFERERに入ってるものを確認してみろ
0462nobodyさん2007/11/22(木) 21:38:13ID:???
>>461
たしかにNotice: Undefined index: HTTP_REFERER inってエラーがでます。
0463nobodyさん2007/11/22(木) 21:43:36ID:???
そういうことだ
0464nobodyさん2007/11/22(木) 21:54:26ID:???
根本的なことまちがえてました ^^;

HTTP_REFERER じゃなく SCRIPT_NAME でした・・・・
0465nobodyさん2007/11/22(木) 23:37:06ID:???
だからID無しに構うなって言ってるのに・・
0466nobodyさん2007/11/22(木) 23:38:01ID:???
>>456に指摘されて>>457で出してるじゃないか
0467nobodyさん2007/11/22(木) 23:46:05ID:???
つか1すら読んでないしなこいつ
0468nobodyさん2007/11/23(金) 00:49:06ID:???
質問者本人はおもしろいと思って書き込んでるんだから
生暖かい目でみろよ
0469nobodyさん2007/11/23(金) 01:43:42ID:C6lkXyua
PHPのセッション管理をしようと思っているのですが、
セッションでオブジェクトを正しく保持することができません。
下記のような単純なプログラムでもダメです。
(結果はいつも同じ”hello, 1 times. ”となってしまいます。)
<?php
class testFoo {
var $count;
function testFoo($i) {
$this->count = $i;
}
function inc() {
$this->count++;
}
function hello() {
$this->inc();
echo("hello, " . $this->count . " times.\n");
}
}
session_start();
if (!isset($obj)) {
$obj = new testFoo(0);
session_register("obj");
}
?>
<html>
<h1>
<?php $obj->hello(); ?>
</h1>
</html>
PHPの設定で何か不足しているのでしょうか?
環境:CentOS5, Apache2.2.3, PHP5.1.6
よろしくお願いします。
04704692007/11/23(金) 01:48:21ID:C6lkXyua
469の補足です。

セッションの格納先になっているディレクトリ
/var/lib/php/session/
を見ても一切ファイルは生成されていません。
0471nobodyさん2007/11/23(金) 01:49:32ID:???
それが問題じゃーん
0472nobodyさん2007/11/23(金) 01:52:49ID:???
>>469
まず原因の切り分けすべし
0473nobodyさん2007/11/23(金) 02:01:17ID:???
てかすまん、まともにソース読んでなかったけど
session_registerで登録したセッションの値はどうやって使うんだ?自動的に展開されるのか?
非推奨関数だし普通にやればいいんでないね
0474nobodyさん2007/11/23(金) 02:02:25ID:???
>>469
5.1系使うのやめろクズ
0475nobodyさん2007/11/23(金) 03:39:04ID:???
>>469
マニュアルから引用
>register_globals が有効な場合、全てのグローバル変数はセッション変数として登録するこ とが可能で、
>セッション変数は対応するグローバル変数として回復されます。

ただし>473の言うようにsession_registerは使うな。
0476nobodyさん2007/11/23(金) 08:55:04ID:pcPMqEAE
extentionをshared extentionに出来るかできないかは
実際に指定してみないと分からないですか?
■ このスレッドは過去ログ倉庫に格納されています