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

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

■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん2006/01/14(土) 20:06:11ID:???
PHPに関するくだらねぇ質問用スレです。
ここなら本スレで回答のないお前の下らない質問に回答があるかも知れません。
次スレは流れを見て970/980/990の誰かが建てれ

まず読め【PHP マニュアル】
http://www.php.net/manual/ja/

本スレ【PHP】質問スレッドpart32【php】
http://pc8.2ch.net/test/read.cgi/php/1136276300/
前スレ【PHP】下らねぇ質問はここに書き込みやがれpart14
http://pc8.2ch.net/test/read.cgi/php/1134868212/

過去スレは>>2
FAQは>>3
0202nobodyさん2006/01/18(水) 14:51:23ID:???
なんで何処の下らない質問系スレは住人が荒いの
ウザい回答するぐらいなら答えんなボケ
0203nobodyさん2006/01/18(水) 14:58:08ID:???
あっかんべーだ ;-P
0204nobodyさん2006/01/18(水) 20:00:42ID:???
ttp://www.asial.co.jp/products/ioncube/
ここの販売しているソフトがPHPスクリプトの暗号化で有名ですが、
日本語でここより安くて単純に暗号化出来るソフトってないでしょうか?
0205nobodyさん2006/01/18(水) 20:38:43ID:???
>>204
"日本語で"つうのが、日本語も対応しているという意味なら無料のものもあるが、
日本語で手取り足取り導入解説からサポートまであるという意味のものなら、それは無い。
日本人が作ったBコードコンパイラはあったと思うけどね。
0206nobodyさん2006/01/18(水) 21:04:14ID:???
Zend Encoderは詐欺価格だからなぁ。
安いのは英語で良ければSource Guardianかな。
0207nobodyさん2006/01/18(水) 21:06:39ID:l30CFxYx
php初心者です、おしえてください。
他のファイルにstaticメソッドを宣言して、インクルードするとエラーが起こるのですが、
なぜでしょうか、staticじゃないのは普通に呼び出せるのですが、
宜しくお願いします。(_ _)
0208nobodyさん2006/01/18(水) 21:18:00ID:???
>>207
うちではエラーにならないから、エラーが発生する最低限のコードくらい書いてくれ
0209nobodyさん2006/01/18(水) 21:38:28ID:???
>>207
エラーメッセージ読め
02102072006/01/18(水) 21:52:41ID:l30CFxYx
>>208,209
すみません、ソース、本など会社で、
大体下のような感じだと思います。
うろ覚えで書いてるので間違ってるかもしれませんが、


<?
require('staticTest.php');

$data = ->testfunction();
print $data;
?>

<?
class staticTest{

public static function testfunction(){
$data="1";
return $data;
}

}
?>
0211nobodyさん2006/01/18(水) 23:12:39ID:zipv+nb6
locationで一回飛ばして、HTTP REFERERをとると、飛ばす前のURLになりますよね。imodeの場合うまくいかないのですが。ezwebだと普通に$ SERVER[HTTP REFERER]でとれるのですが
0212nobodyさん2006/01/18(水) 23:40:56ID:???
そうですか。
ところでスレタイは読まれましたでしょうか。
0213nobodyさん2006/01/19(木) 00:28:06ID:???
>>211
だから?
0214nobodyさん2006/01/19(木) 01:35:01ID:???
>>207
> $data = ->testfunction();
こんなの Syntax Error だ、アフォ。
マニュアルを全然見てないだろ。
いますぐ >>1 からマニュアルを参照してくるんだな。
0215nobodyさん2006/01/19(木) 03:12:55ID:wmue64mu
文字コードEUC-JPで
下記のソースを書き、ブラウザで見てみました。

echo("<html xmlns=\"http://www.w3.org/1999/xhtml\">");
echo("<head>");
echo("<meta http-equiv=\"content-type\" content=\"text/html; charset=utf-8\"/>");
echo("</head>");
echo("<body>");
echo("テスト");
echo("</body>");
echo("</html>");

すると
ブラウザがUTF-8ではなく、
EUC-JPでHTMLを読み込んでしまうのですが、
どうすれば解消できるでしょうか?
0216nobodyさん2006/01/19(木) 03:30:10ID:???
>>215
Webサーバの適正な設定。
0217nobodyさん2006/01/19(木) 03:37:08ID:???
テストのとこをUTF-8に変換して出力すればいいんじゃにの?
0218nobodyさん2006/01/19(木) 03:47:05ID:???
mb_http_output("UTF-8")では?
0219nobodyさん2006/01/19(木) 04:30:52ID:???
>>215
釣り?
0220nobodyさん2006/01/19(木) 04:54:25ID:???
>>216
PHP.iniは

default_charsetEUC-JP

mbstring.detect_order      auto
mbstring.encoding_translation Off
mbstring.func_overload     0
mbstring.http_input        auto
mbstring.http_output       pass
mbstring.internal_encoding   no value
mbstring.language        Japanese
mbstring.substitute_character no value

という感じになってますが、
これはちょっとワケ有りで変更でないのです。
そのためソース側で対処しないといけません。

>>217
echo( mb_convert_encoding("テスト", "UTF-8", "EUC-JP"));
とやると、「テスト」だけはUTF-8に変換されますが、
ブラウザの読み込みモードがEUC-JPで読み込んでしまうのです。

>>218
default_charsetがEUC-JPになっているのが
原因だと思い、同じようにやってみたのですが、
どうしてもブラウザがEUC-JPで読み込んでしまいます。


0221nobodyさん2006/01/19(木) 04:56:12ID:???
>>220
php.iniじゃなくて「ウェブサーバの設定」だぞ
0222nobodyさん2006/01/19(木) 05:18:30ID:???
ttp://httpd.apache.org/docs/2.0/mod/core.html
ttp://httpd.apache.org/docs/1.3/mod/core.html
02232202006/01/19(木) 05:21:24ID:???
>>221
おっと、ウェブサーバーの設定でしたか、
ウェブサーバーの設定は・・
・・不明です。。。お恥ずかしいですが。。
唯一わかっているのはApache2系ということだけです。
PHPの関数で対応できると思っていたのですが
あまかったですか??
0224nobodyさん2006/01/19(木) 06:48:14ID:???
Apacheのhttpd.confを見直してみな。
あとxhtmlで書くなら、ちゃんとDTDで定義しとこうな。
0225nobodyさん2006/01/19(木) 07:21:41ID:???
>>215
<meta>タグなんかで指定しないでちゃんとheader()で指定しろってこと
ブラウザはresponse headerの方を優先するからね
0226nobodyさん2006/01/19(木) 17:15:52ID:???
配列をsubmitで飛ばして受け取りたいのですがどうすればよいのでしょうか?
一要素ずつhiddenで記述してやるしかないのでしょうか?
簡単な方法があればよろしくお願いします。
0227nobodyさん2006/01/19(木) 17:19:18ID:???
カンマ区切りの文字列にして飛ばして、アプリ側で配列を作るってのはだめ?よくやるんだけど
0228nobodyさん2006/01/19(木) 17:24:06ID:???
>>226
session使う
serializeする
0229nobodyさん2006/01/19(木) 18:02:59ID:???
俺は普通にforで数の分だけhiddenを生成しちゃうかな。
それで困るほどでかいデータならそもそもsubmitで飛ばさない。
02302262006/01/19(木) 18:43:27ID:???
>>227-229
なるほど、十人十色なんですね。
参考になりました。ありがとうございました。
0231nobodyさん2006/01/19(木) 20:47:26ID:???
>>230
十人十色だが、セッションを使うのがベター。
hiddenで持ち回すと汚染される可能性が出てくる。
0232nobodyさん2006/01/19(木) 21:50:34ID:???
セッションだって汚染される可能性あるぞ。
ユーザーのクッキーから情報を取得してる場合だけど。
0233nobodyさん2006/01/19(木) 22:33:15ID:???
何でもセッションに頼っちゃうと今度はウインドウを2枚出したときとかに
ややこしい状態になることがあるんで、安易にそれをベターというのもどうかと。
「そのユーザにとって最新の状態は常にどの画面でも同じもの」ってデータ以外は
セッションに入れるべきじゃないと思うんだけど?
0234nobodyさん2006/01/20(金) 03:43:15ID:???
"A B"

「A」と「B」の間にあるスペースを
1個のスペースに置き換える場合、
for(),while()を使わずに処理する方法ってありますか?
0235nobodyさん2006/01/20(金) 03:55:25ID:???
あります
02362342006/01/20(金) 04:09:04ID:???
>>235
あるの?
0237nobodyさん2006/01/20(金) 04:28:24ID:???
>>236
あるってば。
0238nobodyさん2006/01/20(金) 05:18:21ID:???
>>237
どうやんの?
0239nobodyさん2006/01/20(金) 05:27:20ID:???
php5をsuse linuxにインストールする方法を教えてください
0240nobodyさん2006/01/20(金) 05:35:41ID:???
スレ違い
0241nobodyさん2006/01/20(金) 07:35:50ID:???
>>238
preg_replace("/( | )+/", "1", "A        B")
0242nobodyさん2006/01/20(金) 07:36:57ID:???
"1"ってなんだ(´・ω・`)
preg_replace("/( | )+/", " ", "A        B")
0243nobodyさん2006/01/20(金) 08:36:42ID:kKXqMXNs
全然わからない!教えてください
仮に○○.phpってファイルをアップロードしたのだけど、
実行してみると「ページを表示できません」ってなってしまう。
何かほかにやらないといけないの?
助けてください。
0244nobodyさん2006/01/20(金) 08:40:54ID:???
>>243
そもそもphpが使えるサーバーにアップロードしてるのか?
0245軟式PHP2006/01/20(金) 09:14:07ID:???
>>243
近年稀に見る馬鹿だな。
0246nobodyさん2006/01/20(金) 09:34:48ID:???
>>244
いやいや、PHP云々以前にアップロード出来ているのかが怪しい
0247nobodyさん2006/01/20(金) 10:00:55ID:???
たまたまアップロードして確認しようとした時、
ネットワークがきれてたんじゃないの?
phpが使えない鯖なら、phpの中身が表示されるか
ダウンロードマネージャが起動するはず。
404なら「ページが見つかりません」と出るはず。
phpは特に鯖側でパーミッションとかいじったりしなくても使える。
(ログファイルとかは別だけど)
0248nobodyさん2006/01/20(金) 10:03:25ID:???
>>247
さくらとか、phpがCGIでしか動かないってパターンもあるね
0249nobodyさん2006/01/20(金) 10:13:04ID:???
何にせよ、エスパーキボンて事だな
0250nobodyさん2006/01/20(金) 10:17:36ID:VgY7exIA
ウィンドウズのローカルでphpをブラウザで見たいんですがこれはphpをインスコする以外に
サーバーソフトもインスコしないとみれるようになりませんか?
0251nobodyさん2006/01/20(金) 10:26:47ID:???
>>250
もちろんです。
ただ、結果だけみたいならコマンドラインでxxxx.htmlに
リダイレクトすれば見られます。
0252nobodyさん2006/01/20(金) 11:04:18ID:???
鯖PC経由の書き込みをしない設定にすると、公式に直接飛ばす事になってしまいます。
公式に飛ばさずに直接値を渡すにはどうすれば良いのでしょうか。
0253nobodyさん2006/01/20(金) 11:05:12ID:???
あ、p2スレと勘違いした_| ̄|○
0254nobodyさん2006/01/20(金) 11:06:08ID:???
>>250
正確な用語の使い方ではないので、YesともNoとも回答ができる。
でも多分Yesだと思われ。
0255nobodyさん2006/01/20(金) 11:06:09ID:???
>>252
鯖PCって何? 公式って何? 値って何?
前提がすっぽ抜けすぎてて何が聞きたいのかまったくわかりません。
0256nobodyさん2006/01/20(金) 11:06:53ID:???
誤爆かよ!
02572542006/01/20(金) 11:08:52ID:???
ごめん。多分「なりません」が正解ということ。
0258nobodyさん2006/01/20(金) 14:14:53ID:+oUGIFYt
function()文で数値を戻り値として返す場合、
"で囲ってあがないといけないんですよね?

function(){
return "0";
}

みたいに。
0259nobodyさん2006/01/20(金) 14:20:31ID:???
>>258
だから何?
0260nobodyさん2006/01/20(金) 14:50:22ID:???
>>259
あってんの?あってないの?
0261nobodyさん2006/01/20(金) 14:57:20ID:???
>>259
スレタイ嫁
0262nobodyさん2006/01/20(金) 15:13:24ID:???
>>258
数字じゃなくて数値なんだろ?なら括る必要はない。
裸で気になるんだったら()で括っとけ
0263nobodyさん2006/01/20(金) 16:06:28ID:utcSO+tE
PHP 4.4.2で eaccelerator使えてます?FreeBSDなんですが。
0264nobodyさん2006/01/20(金) 17:19:01ID:???
>>258
どっちでも大して変わらない
0265nobodyさん2006/01/20(金) 17:30:09ID:???
>>258>>264
そのまま戻り値をprintしたときに0って出るか何も出ないかの差はあるかな。
0266nobodyさん2006/01/20(金) 17:56:01ID:???
>>265
どっちでも出る。
0267nobodyさん2006/01/20(金) 18:15:36ID:???
>>264
型を含んだ比較の結果がかわったりする
仕様上の型でかえすべき
0268nobodyさん2006/01/20(金) 19:24:34ID:???
質問です。
<html>
<body>
<?php
$page = @readfile("http://www.yahoo.co.jp");
?>
</body>
</html>
と言うような感じで他サイトを読み込んだのですが
読み込んだサイトにあるリンクのURLが自分のドメインを
含んでしまい、リンク先に正常に飛べません。
リンクのURLが読み込んだファイルと同様のドメイン
上の例ですとhttp://yahoo.co.jp/hogehoge.htmにするにはどうすればよいのでしょうか?
今の状態ですとhttp://hogehoge.jp/hogehoge.htmとなってしまいます。

よろしくお願いします。
0269nobodyさん2006/01/20(金) 19:29:21ID:???
>>268
preg_replaceで相対パスを絶対に置き換えれば言い。
02702682006/01/20(金) 19:42:50ID:???
>>269

preg_replaceを使用するということは
fileで一度ソースを読み込んで置換してという
順序になると思うのですが

readfileでやることは不可能なのでしょうか?

get? post? あたりを駆使してムリでしょうか?
0271nobodyさん2006/01/20(金) 19:44:05ID:???
>>270
むり。
0272nobodyさん2006/01/20(金) 19:44:50ID:???
>>270
<base href="〜">
02732682006/01/20(金) 19:52:51ID:???
すげえええええええええええ
来ました出来ました。有難うございます。

>>272様感謝します。

>>269様 >>271様
ご意見有難うございました。
0274nobodyさん2006/01/20(金) 20:01:45ID:???
ttp://pear.php.net/manual/ja/package.http.http-download.php
これとsetGzip()で特定のディレクトリを圧縮しつつダウンロード、
ということをしたいのですが、以下のどこがおかしいか
教えてくださいませ。
疑問点はまずsetFile()がディレクトリを指定するのが不可能っぽいですが、
解決方法はないか、setFileをファイルで試しても
setGzipの部分が上手く動作していないようです、何か間違っているでしょうか?
お願いしますm(_ _)m

<?php
require_once("HTTP/Download.php");
$dl = &new HTTP_Download();
$dl->setFile($directory);
$dl->setGzip(TRUE);
$dl->setContentType('application/x-gzip');
$dl->setContentDisposition(HTTP_DOWNLOAD_ATTACHMENT, 'latest.tgz');
$dl->send();
?>
0275nobodyさん2006/01/20(金) 20:16:39ID:???
>>274
ディレクトリに対応してないので HTTP_Download だけじゃダメ。
Archive_Tar も併用すべき。
オンザフライ圧縮する必要はなくなるが
一時ファイルを生成する必要が出てくる。
あとは頑張れ
http://pear.php.net/manual/ja/package.filesystem.archive-tar.archive-tar.php
0276nobodyさん2006/01/20(金) 23:10:38ID:yP1RJnKV
入力された文字が例えば100文字以上なら100文字以降なら切り捨てて保存する場合どうしたらいいのでしょうか?
0277nobodyさん2006/01/20(金) 23:17:32ID:???
>>276
substrかmb_strcut
0278nobodyさん2006/01/21(土) 10:57:51ID:???
sedコマンドについてです。(sedじゃなくてもいいんですが)
tab区切りのテキストファイルがあるんですが、そのファイルの
先頭の列のみ残してあとのデータを削除したいんです。

sed "s/\t*//g" test.txt

ではうまくいきませんでした。(削除されないファイルが出てきます。)
誰か、、、よろしくお願いします。
02792782006/01/21(土) 11:04:40ID:???
あ、質問すれ間違えました、、、すいません
0280nobodyさん2006/01/21(土) 15:41:37ID:???
ロギングプログラムを作ろうと思ってるのですが、
log.txt(300MB)で
fopen("log.txt", "a")した場合ってメモリ300MB消費されませんよね?
逆に
fopen("log.txt", "r")としたらメモリ300MB消費される、
この考えあってますでしょうか?
0281nobodyさん2006/01/21(土) 15:49:37ID:???
>>280
> fopen("log.txt", "a")した場合ってメモリ300MB消費されませんよね?
合ってる。

> fopen("log.txt", "r")としたらメモリ300MB消費される、
間違ってる。正しくはその後の処理方法次第。
0282nobodyさん2006/01/21(土) 15:55:59ID:???
>>280
やってみりゃ分かるが、fopenはファイルを開く「準備」をするだけ。
メモリに読み込むのは別の関数のお仕事。
0283nobodyさん2006/01/21(土) 16:40:25ID:1jcdXAZV
DBからとり出したデータに特定の文字列があるかどうか調べるのはfor文を回してeregなどで使うのでしょうか。
0284nobodyさん2006/01/21(土) 16:43:47ID:???
何のための DB なんだ…
0285nobodyさん2006/01/21(土) 16:59:44ID:???
>>283
SQLでselect
0286nobodyさん2006/01/21(土) 21:35:07ID:???
今月から1ヶ月前の月を算出する最も簡単な記述方法ってどんな感じでしょうか?
unixタイムスタンプから1か月分引くとかいう面倒な方法しか
思いつきませんでしたorz
0287nobodyさん2006/01/21(土) 21:45:49ID:???
>>286
$lastmonth = mktime(0, 0, 0, date("m")-1, date("d"), date("Y"));
echo date ("M-d-Y", $lastmonth);
これでいいのかな・・・?
0288nobodyさん2006/01/21(土) 22:12:08ID:???
>>286
print date("Y/m", strtotime("-1 month"));
0289nobodyさん2006/01/21(土) 22:47:59ID:???
>>286じゃないけど、ふと思った。
月から1引くやり方って、1月の時も大丈夫…なように作ってあるはずだよねぇ。
0290nobodyさん2006/01/21(土) 22:52:20ID:???
>>289
少なくとも>>287と>>288は自動的に前年になる。
0291nobodyさん2006/01/21(土) 23:00:46ID:???
初めてmktime()を使った時にここまで面倒見てくれるのかー!って感動した記憶があるよ。
マニュアルを読まなかったら、自力で繰り上げやら繰り下げ処理を書いたり、
その辺の面倒を見てくれそうなカレンダーライブラリを探そうとしてただろうなぁ。
0292nobodyさん2006/01/21(土) 23:23:32ID:???
おまえの面倒はオレが見るよ。
0293nobodyさん2006/01/21(土) 23:37:40ID:E6I0jSws
ポッ(照)
0294nobodyさん2006/01/22(日) 02:16:59ID:???
下らない質問ですが、PHPで行列は使えますでしょうか…。
例えば

10 11 12 13 14 15

とあったとすると
両者の合計が出来るだけ平等になるように二つに分けたいのです。
この場合ですと
10 15 12
11 14 13
の二つに分けたいのです。
よろしければお力添えお願いします。
0295nobodyさん2006/01/22(日) 02:28:43ID:???
>>294
行列じゃなくて行列問題?
0296nobodyさん2006/01/22(日) 02:37:50ID:???
>>294さん
行列問題…になるのかもです。
12種類の数字を合計値が出来るだけ平等になるように二つのグループに分けるような動作をするのをPHPによる記述で作ろうと思ったのですが、
全ての組み合わせを記述してすると12C6で膨大な記述が必要になってしまうので
何かスマートな方法がありましたらご教授願いたいです
0297nobodyさん2006/01/22(日) 02:52:54ID:???
>>294>>296
どっちかっつーとアルゴリズムの問題だと思うので言語関係ないんじゃ…。
(これを一発で解決するような言語ってどっかにあるの?)
でも記述は長くならないと思うけどね。
長いのはループ回数&処理時間じゃないの?
0298nobodyさん2006/01/22(日) 03:21:41ID:???
そうですか〜。
ありがとうございます。一つずつ組み合わせを記述してベストな組み合わせを導いてみようと思います
0299nobodyさん2006/01/22(日) 03:23:41ID:???
>>298
アホカ
0300nobodyさん2006/01/22(日) 03:32:18ID:???
>>294
線形計画法で解けるとおもわれ。
0301nobodyさん2006/01/22(日) 04:38:46ID:pSXDGSqg
perlは経験しPHPを勉強中の者です。

PHPにHTMLを吐き出させたら、ソース通りに行きません。
どうなってるのでしょうか?

PHP5+apache+winxpと、PHP4+apache+赤帽の2種類のマシンで試してみましたが、どうにもうまくいきませんでした。
ブラウザはIE6.0です。

現状は、EUC+LFで保存したPHPファイルをブラウザで見ようとすると、CSSで指定していた色やborderの線がちゃんと表示されない。
やりたいことは、外部呼出しを設定しているHTMLをコード通りに表示させたい。
やったことは、PHPで吐き出した画面上でブラウザのエンコードの種類をEUCからShift_JISに変えたらCSSの通りに色がついたり、borderもきちんと表示されました。
あとは、ソースの見直しとHTML単独での表示テスト。

EUCっていうのはCSSとの相性が悪いのでしょうか?
PHPでちゃんとCSSの表示が上手くいくやり方を教えていただけませんか。
どうしても原因がわからないので、よろしくお願いします。
0302nobodyさん2006/01/22(日) 05:22:08ID:???
>>301
それはPHPがどうのこうのってのは全然関係ないと思われ。
EUCコード自体はHTMLとの相性も問題ない。
CSSにShift-JISでコメント入れちゃってるとかいうオチじゃないよな?
■ このスレッドは過去ログ倉庫に格納されています