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

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

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

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

過去スレは>>2
0129nobodyさん2006/07/09(日) 23:06:11ID:???
>>127
基本的な発想はそれしかない

文字列の長さを調べる関数は少なくとも3つ
strlenとmb_strlenとmb_strwidthがあるけど
どれを選ぶかはケースバイケースだね
0130nobodyさん2006/07/09(日) 23:08:21ID:???
>>127
つ javascript
0131nobodyさん2006/07/09(日) 23:08:30ID:vjWeIelg
(例)$_POST["abc"]の値を削除するにはどうすればいいでしょうか?
0132nobodyさん2006/07/09(日) 23:20:56ID:???
>>128
マニュアルのセッションのページに書いてあるよ。
簡単に言うと、どういう形式でセッション情報を保持するかを指定するためのもの。
0133nobodyさん2006/07/10(月) 00:41:43ID:???
>>89
>>93
カメで申し訳ありません
ありがとうございます
お二人に指摘いただいたものでがんばってみます
0134nobodyさん2006/07/10(月) 08:05:28ID:pIRoiH69
>>131
unset
0135nobodyさん2006/07/10(月) 09:20:16ID:DXTeExGF
>phpの場合は、内部エンコーディングがUTF-8になっているので、
>明示的指定がなければ文字化けすることはあります。
>エンコーディングを指定してください。

と言われたのですが、どうやって指定すれば良いのでしょうか?
0136nobodyさん2006/07/10(月) 09:49:25ID:???
>>135
何をしようとして、そういわれたのかがわからないが
php.iniの設定を変えれば、もしかしたら、君が望む結果が得られるかも
0137nobodyさん2006/07/10(月) 09:50:29ID:???
SJISで書いて文字化けしているだけではないかな
01381352006/07/10(月) 10:14:35ID:DXTeExGF
>>136
すみません、サーバーにアプロードして、
セッションに格納すると文字化けするのですよ。
それを報告したらそのような返答が返ってきました。
どうにかして、エンコーディングを指定する方法はないのでしょうか?
0139nobodyさん2006/07/10(月) 13:07:21ID:???
色々あるよ
0140nobodyさん2006/07/10(月) 13:20:37ID:pIRoiH69
.hなんとか
01411352006/07/10(月) 14:35:25ID:Q6XjtIhe
今学校から帰ってきました。

>>139
良かったら教えていただけませんか?
.htaccessは使えないみたいです
0142軟式PHP2006/07/10(月) 15:51:50ID:???
ini_setは?
01431352006/07/10(月) 15:56:12ID:Q6XjtIhe
>>142
実行中に適用させるのですよね。
ini_set("internal_encoding","sjis");

と書くだけで良いのでしょうか?
0144nobodyさん2006/07/10(月) 15:57:23ID:???
>>143
試してみる。
マニュアルを読む。
http://jp.php.net/manual/ja/function.ini-set.php
01451352006/07/10(月) 16:01:17ID:Q6XjtIhe
mbstring.detect_order          「no value 」「no value 」
mbstring.encoding_translation          「On」「 Off 」
mbstring.func_overload          「0 」「0 」
mbstring.http_input          「auto」「 pass 」
mbstring.http_output          「SJIS」「 pass 」
mbstring.internal_encoding          「SJIS」「 no value 」
mbstring.language          「Japanese」「 neutral 」
mbstring.substitute_characte          「no value 」「no value 」

何を変更して良いのかちょっとわからないです・・・。
0146nobodyさん2006/07/10(月) 16:10:20ID:???
>>145
学生って何学生だ? もうちょっと人に伝えよう・理解してもらおうと努力しーや。

> 何を変更して良いのかちょっとわからないです・・・。
知らんがな。>>138
> どうにかして、エンコーディングを指定する方法はないのでしょうか?
に答えただけやがな。

そもそも >>138
> セッションに格納すると文字化けするのですよ。
の解決策はそれで合っているのか自分で考えたか?
01471352006/07/10(月) 16:30:53ID:Q6XjtIhe
セッションに文字を格納すると文字化けする
これを直したいだけなのですが、どうしていいかわからずさっぱりなのです。
0148asa2006/07/10(月) 16:33:32ID:my/rgI9c
ファイルダウンロードについて教えてください。
メールにあるURLを記載し、そのURLをクリックするとファイルをダウンロードできるというものを作成したいと思っています。
(urlはhttp://www.hoge.com/moe/download.php?file_no=1という感じです)
しかし条件として、ブラウザを画面上に表示させないという制約があります(瞬間的に表示されるのはOKです)。
現在、下記のソースでファイルダウンロードを実行すると
1.IDが立ち上がる
2.ファイルダウンロードするかの選択ダイアログの表示される
3.『保存』を選択するとファイルはDLさせるが、IEの画面がそのまま残り
  『取り消されたアクション Internet Explorer は、要求された Web ページにリンクできませんでした。
   要求された Web ページは現在、利用できない可能性があります。 』という画面になる。
という流れになります。
ここで3)において、エラー(?)が表示されたブラウザを
閉じさせるということはできますでしょうか。

zipやlzhは、IEが一瞬だけ表示されすぐに消え理想的な動作をするのですが、
txt,pdf,docなどはIEが開かれたままになってしまいます。

わかるかたがいらっしゃいましたら
ご教授お願い致します。
$file_name="/usr/local/docs/hoge.txt";
$len = filesize($file_name);
//ファイルタイプにより処理を変更
header("Expires: Mon, 26 Jul 1997 05:00:00 GMT");
header("Last-Modified: " . gmdate("D, d M Y H:i:s") . " GMT");
header("Content-Disposition: attachment ; filename=\"".basename($file_name)."\"");
header("Content-Length: ". $len);
header("Content-Type: application/octet-stream");
readfile($file_name); // ファイルを読み込んでHTTP出力
exit;
環境Linux9PHP4
0149nobodyさん2006/07/10(月) 16:35:06ID:???
>>147
それだけじゃ分からない。
文字化けする時は PHP ファイルの文字コードとか諸々の情報を提示しないと。

こんなやりとりが延々続くんだろうな…
0150nobodyさん2006/07/10(月) 16:36:20ID:???
自作のプログラムでapache_request_headersの結果得られる
リクエストヘッダを取得する処理をしていました。

サーバを移行して、cgi版PHPになりました。

apache_request_headers以外でリクエストヘッダを獲得する方法ってありますか?
0151nobodyさん2006/07/10(月) 17:11:24ID:???
>>150
取得したいフィールドによるんじゃないかと。
01521352006/07/10(月) 17:12:42ID:Q6XjtIhe
>>149
お付き合い頂ければ幸いです。
各種PHPの保存する時の文字コードも関係するのですね。

Dreamweaver8で、デフォルトで保存しているのですが、どうやって調べれば良いのでしょうか?
01531502006/07/10(月) 17:14:01ID:???
AUの携帯ブラウザで
ゲートウェイサーバから送信されるx-up-subnoフィールドです。

$_SERVERにも$_REQUESTにも引っかからないので
さあ困ったなぁと。
01541352006/07/10(月) 17:16:26ID:Q6XjtIhe
すみません、ありました、
初期設定がシフトJISで、コードの方は全然いじっていません。
サーバーはUTS-8を使っているらしいので、設定をそれにして上書きすれば大丈夫ということですね?
0155nobodyさん2006/07/10(月) 17:20:15ID:???
>>153
HTTP_X_UP_SUBNO にも出ないんだ?
01561502006/07/10(月) 17:28:02ID:???
>>153
マジ感謝。$_SERVER["SERVER"]で出ました!
0157nobodyさん2006/07/10(月) 17:28:29ID:???
>>154
確認はいいから、つべこべ言わずやってみろや。
やる前に聞いたって無駄なんだよ。
0158nobodyさん2006/07/10(月) 17:29:51ID:???
青山君今度はこっちで聞くことにしたのかね?
01591352006/07/10(月) 17:30:02ID:Q6XjtIhe
チャレンジしてみたところ、
サーバーに上げると何も表示されなくなってしまいました。
UTS-8ではダメみたいです。

真剣に行き詰りました・・・
0160nobodyさん2006/07/10(月) 17:31:04ID:???
>>159
UTS-8なんて文字コードは無い。
0161nobodyさん2006/07/10(月) 17:31:18ID:???
UTS-8ならそうなるのは当たり前
01621352006/07/10(月) 17:36:57ID:Q6XjtIhe
すみません、UTF-8です。
0163nobodyさん2006/07/10(月) 17:42:00ID:???
こうなると、スクリプト内は実際どうなってるのか疑問になる。
言われたことも間違ってやってそうな…
0164nobodyさん2006/07/10(月) 17:51:46ID:???
>セッションに文字を格納すると文字化けする

うそっぽーい
自分で問題を絞り込むことができないから、こういう文章に
なるんだな。
だいたい、こういう表現するやつに限ってセッションなんて
全く関係ないところでボンミスしてるにきまってる。

日本語使わなければ化けないだろうから即解決だよ。
それでいいじゃん。
01651352006/07/10(月) 17:51:50ID:Q6XjtIhe
$_SESSION['name'][$_GET['id']] = "アイウエオ";
echo $_SESSION['name'][$_GET['id']];

出力すると文字化けします
01661642006/07/10(月) 17:54:19ID:???
echo "アイウエオ"
でも化けてるんじゃないのー
01671352006/07/10(月) 17:57:09ID:Q6XjtIhe
>>166
「あああ」⇒「あああ」
「・・・」⇒「/font>」
0168nobodyさん2006/07/10(月) 18:01:21ID:???
.>>167
下の例の意味が分からん。
言いたいことをちゃんと伝える努力をしなさい、ってさっき言ったでしょ。
01691352006/07/10(月) 18:02:20ID:Q6XjtIhe
すみません、上記のように文字化けするということです。
01701642006/07/10(月) 18:02:34ID:???
はぁ?
何が言いたいのか全く意味わからんぞ・・・
それで伝わるとおもってるのか?俺はエスパーか?

ていうか、
echo "アイウエオ"
で化けるのか?化けんのか?
俺が言ってることは伝わってるのか?
あんたは宇宙人か?
01711352006/07/10(月) 18:06:26ID:Q6XjtIhe
>>170
すみません、アイウエオでは文字化けしません、
01721642006/07/10(月) 18:10:23ID:???
>> 165 の確認なんだが・・・

<?php
$_SESSION['name'][$_GET['id']] = "アイウエオ";
echo $_SESSION['name'][$_GET['id']];
?>

では化けて

<?php
echo "アイウエオ";
?>

は化けないってことか?

じゃぁ、

<?php
$_SESSION['name'] = "アイウエオ";
echo $_SESSION['name'];
?>

これは化けるのか?化けんのか?

<?php
$aaa = "アイウエオ";
echo $aaa;
?>

これは化けるのか?化けんのか?

0173nobodyさん2006/07/10(月) 18:16:38ID:???
とにかく文字コードの情報が欠如している。

・PHP から出力される HTML の文字コード
・HTML にて指定されている文字コード
・PHP スクリプトの文字コード

はどうなっているのか、と。
内部エンコーディングの問題以前に、上記のミスマッチによっては化けるものは化ける。
01741352006/07/10(月) 18:18:00ID:Q6XjtIhe
$_SESSION['var1'] = "12345";
$_SESSION['var2'] = "ABCDE";
$_SESSION['var3'] = "あいうえお";
$_SESSION['var4'] = "管表示線銃";
$_SESSION['var5'] = "ァエオケム";

$var1 = "12345";
$var2 = "ABCDE";
$var3 = "あいうえお";
$var4 = "管表示線銃";
$var5 = "ァエオケム";

全て正常に出力されました。
なぜ、他のではちゃんと出力されないか疑問です。
0175nobodyさん2006/07/10(月) 18:21:50ID:???
中学生だよな? ちょっと滅茶苦茶よ。

>>174
> $_SESSION['var1'] = "12345";
> $_SESSION['var2'] = "ABCDE";
> $_SESSION['var3'] = "あいうえお";
> $_SESSION['var4'] = "管表示線銃";
> $_SESSION['var5'] = "ァエオケム";
これと
> $var1 = "12345";
> $var2 = "ABCDE";
> $var3 = "あいうえお";
> $var4 = "管表示線銃";
> $var5 = "ァエオケム";
これの関連性が意味不明。何を例示しているつもり?

> なぜ、他のではちゃんと出力されないか疑問です。
「他」とは? 「ちゃんと出力されない」とは?
01761352006/07/10(月) 18:27:18ID:Q6XjtIhe
もしよければ、どなたか見ていただけませんか?
http://www.uploda.org/uporg441589.zip

ローカルサーバーでは実行できるのに、アップしたら文字化けします。
01771642006/07/10(月) 18:28:46ID:???
問題を整理する気あるのか?

$_SESSION['name'][$_GET['id']] = "アイウエオ";
echo $_SESSION['name'][$_GET['id']];

を最初の始まりとするなら、
そこから少しずつ(1条件ずつ)簡易なものに書き換えて
トライアンドエラーしないと意味無いだろ。

$_SESSION['name'][$_GET['id']] = "アイウエオ";
echo $_SESSION['name'][$_GET['id']];

を基点に原因探ってるのに、
>> 174
には "アイウエオ" が含まれてないのは
おかしいだろ?
文字列が"アイウエオ"のときだけ起きる動作不良だったら
みつけられないだろうが?


01781642006/07/10(月) 18:34:01ID:???
>> 176
>ローカルサーバーでは実行できるのに、アップしたら文字化けします。

おまえなぁ。。。
最初から質問の仕方まちがってるだろうがぁ!!!!!!!!!!!!

ちなみに言わしてもらうなら、
「ローカルサーバでは*実行*できるのに」
ってなんなんだ?
「ローカルサーバでは期待通り文字化けせず出力されるのに」
だろうが?

で、丸投げかよ・・・
こいつダメだな。。。
0179nobodyさん2006/07/10(月) 19:01:39ID:???
以後>>135は放置でヨロ
0180nobodyさん2006/07/10(月) 19:10:56ID:???
そりゃ>>164みたいなやつがいれば誰だって去るわなw
0181nobodyさん2006/07/10(月) 19:21:36ID:???
代わりに>>180が教えてやれば万事解決。
0182nobodyさん2006/07/10(月) 19:39:00ID:???
>>135
まぁ、所詮は2chだ、諦めろ
こんなクズはウヨウヨいる
他で聞くんだな
01831642006/07/10(月) 20:37:27ID:???
人格者の
>>180
がこれから
>>135
を導いてくれるってさ。
よかったね。
0184nobodyさん2006/07/10(月) 21:02:46ID:???
>>176
何?これを使って自鯖にチャットルームを設置せよとな?

関係ないけどコレ自分で作ったのか?
01851352006/07/10(月) 21:07:08ID:Q6XjtIhe
>>184
はい、全然未熟ですけど
あと、>>164さんみたいな方でも教えていただけると嬉しいです。
丸投げなやり方になってしまってすみません。
01861352006/07/10(月) 21:08:50ID:Q6XjtIhe
echo $name."<BR>";
echo $name_color."<BR>";
echo $com_color."<BR>";
echo $px."<BR>";
echo $log."<BR>";
echo $reload_time."<BR>";

$_SESSION['name'][$_GET['id']]= substr($name,0,20);
$_SESSION['name_color'][$_GET['id']]= $name_color;
$_SESSION['com_color'][$_GET['id']]= $com_color;
$_SESSION['px'][$_GET['id']]= $px;
$_SESSION['log'][$_GET['id']]= $log;
$_SESSION['reload_time'][$_GET['id']]= $reload_time;

echo $_SESSION['name'][$_GET['id']]."<BR>";
echo $_SESSION['name_color'][$_GET['id']]."<BR>";
echo $_SESSION['com_color'][$_GET['id']]."<BR>";
echo $_SESSION['px'][$_GET['id']]."<BR>";
echo $_SESSION['log'][$_GET['id']]."<BR>";
echo $_SESSION['reload_time'][$_GET['id']]."<BR>";

01871352006/07/10(月) 21:09:27ID:Q6XjtIhe
この辺りで文字化けが発生するみたいです。

あああ
#FFFF00
#00FF00
16
20
40

・BR>#
#
1
2
4

このように出力されました。(index.php)
まだお答えいただける方がいれば嬉しいです
0188nobodyさん2006/07/10(月) 21:10:08ID:???
>>185
ローカルサーバがあるなら、セッション内部に保存されているデータの文字コードを確認しなっせ。
0189nobodyさん2006/07/10(月) 21:20:21ID:???
おまいら!
DBに認証用のパスワード入れてるのかよ!
01901352006/07/10(月) 21:23:38ID:Q6XjtIhe
>>188
ローカルサーバーでは文字化けせずにスムーズに実行されるのですが、
サーバーにアップロードすると、どうしてもこの部分で文字化けがおきるのですよ
0191nobodyさん2006/07/10(月) 21:26:30ID:???
>>190
セッションファイルの中身を確認しろって言ってるの。
01921352006/07/10(月) 21:30:57ID:Q6XjtIhe
はい、tmpですよね。
全て中身は
「a|s:6:"あむろ";b|s:8:"ぶらいと";c|s:10:"きゃすばる";」
というのが書かれていました、
0193nobodyさん2006/07/10(月) 21:33:46ID:???
>>192
いや、だから、その文字コードを確認だって。
0194nobodyさん2006/07/10(月) 21:34:26ID:???
…え?
01951352006/07/10(月) 21:35:44ID:Q6XjtIhe
すみません、意味を取り違えてました。
SHIFT-JISでした。
0196nobodyさん2006/07/10(月) 21:40:20ID:???
どうみてもそのあむろ・ぶらいと・きゃすばるは
前々スレの>>36を実行した後の消し忘れです。
本当にありがとうございました。


本当は文字化けなんかじゃなくて、単にセッションに入ってねーんじゃねーの?
0197nobodyさん2006/07/10(月) 21:44:00ID:???
PHPのバージョンの違いによる問題だったりしてな
環境依存ってならエンコでもして入れとけば良いだろう
0198nobodyさん2006/07/10(月) 21:45:23ID:???
>>195
>>173>>145>>195 の関係から考察しな。
0199nobodyさん2006/07/10(月) 21:53:45ID:???
とにかくまずはprint_r($_SESSION)からすべきだと思う。

はっきり言って俺にはこれが文字化けの問題とは思えん。
02001352006/07/10(月) 21:56:56ID:Q6XjtIhe
>>199

//セッションに名前を全角10文字まで入力
$_SESSION['name'][$_GET['id']]= substr($name,0,20);
$_SESSION['name_color'][$_GET['id']]= $name_color;
$_SESSION['com_color'][$_GET['id']]= $com_color;
$_SESSION['px'][$_GET['id']]= $px;
$_SESSION['log'][$_GET['id']]= $log;
$_SESSION['reload_time'][$_GET['id']]= $reload_time;

print_r($_SESSION['name'][$_GET['id']]);
print_r($_SESSION['name_color'][$_GET['id']]);
print_r($_SESSION['com_color'][$_GET['id']]);
print_r($_SESSION['px'][$_GET['id']]);
print_r($_SESSION['log'][$_GET['id']]);
print_r($_SESSION['reload_time'][$_GET['id']]);

と、させてみたところ、出力は

#124

だけでした。
何がなんだかサッパリですorz
0201nobodyさん2006/07/10(月) 21:58:03ID:???
>>200
なんで >>199 に書かれている通りにしないの?
0202nobodyさん2006/07/10(月) 22:08:45ID:???
>>200
アホすぎて思わず萌えた。
02031352006/07/10(月) 22:13:39ID:Q6XjtIhe
>>201-202
すみません、勘違いです

Array ( [log] => 20 2 [name] => あああ [name_color] => #FFFF00 # [com_color] => #00FF00 # [px] => 16 1 [reload_time] => 40 4 [pass] => )

と、出力されました。
中にはちゃんと入っているということは、出力時に文字化けするということでしょうか
0204nobodyさん2006/07/10(月) 22:23:07ID:???
アップロードした時点でスクリプトの文字コードが変わってるとかいう落ちだったりしてなw
どのみち馬鹿とPHPが使えないのはハッキリしたな
0205nobodyさん2006/07/10(月) 22:33:38ID:???
>>203
試しに以下のコードを書いて実行してみたが、

<?php
$name = "0"; $name_color = "1"; $com_color = "2"; $px = "3";
$log = "4"; $reload_time = "5"; $g['id'] = "6";

$s['name'][$g['id']]= substr($name,0,20);
$s['name_color'][$g['id']]= $name_color;
$s['com_color'][$g['id']]= $com_color;
$s['px'][$g['id']]= $px;
$s['log'][$g['id']]= $log;
$s['reload_time'][$g['id']]= $reload_time;

print_r($s);
?>

結果として得られたのは以下だった。

Array (
[name] => Array ( [6] => 0 )
[name_color] => Array ( [6] => 1 )
[com_color] => Array ( [6] => 2 )
[px] => Array ( [6] => 3 )
[log] => Array ( [6] => 4 )
[reload_time] => Array ( [6] => 5 )
)
0206nobodyさん2006/07/10(月) 22:41:22ID:???
>>204
× 馬鹿とPHPが使えない
○ 馬鹿と>>135>>204にはPHPは使えない

俺は>>176見てないからあれだけど、
問題が文字化けだけじゃないのはもう間違いない。
0207nobodyさん2006/07/10(月) 22:53:01ID:???
見て答える気も無い奴が偉そうに断言して自己満足するスレとなりました
0208nobodyさん2006/07/10(月) 23:06:22ID:???
PHPを使えないからって拗ねるなよ。
0209nobodyさん2006/07/10(月) 23:13:06ID:???
>>203
> 中にはちゃんと入っているということは、

それが本当にprint_r($_SESSION)の結果だとしたら、
$_SESSION[name][$_GET['id']]であるべきものが$_SESSION[name]になってないか?
$_SESSION[name][$_GET['id']]が$_SESSION[$_GET['id']][name]の間違いで
さらにprint_r($_SESSION[$_GET['id']])でも見たならまた別だろうが、
それでも妙なゴミデータがくっついているように見える。

もう諦めて丸投げスレにでも行った方が良いと思う。
02101642006/07/10(月) 23:36:16ID:???
<?php

echo "phpversion(): ". phpversion() . "<br />";
echo "php_sapi_name(): ". php_sapi_name() . "<br />";
echo "php_uname(): ". php_uname() . "<br />";
echo "zend_version(): ". zend_version() . "<br />";
echo "<hr />";


echo "get_loaded_extensions(): <br />";
foreach (get_loaded_extensions() as $name) {
echo $name . ", ";
}
echo "<hr />";
02111642006/07/10(月) 23:37:33ID:???
echo "mbstring.language: ". ini_get("mbstring.language") . "<br />";
echo "mbstring.detect_order: ". ini_get("mbstring.detect_order") . "<br />";
echo "mbstring.http_input: ". ini_get("mbstring.http_input") . "<br />";
echo "mbstring.http_output: ". ini_get("mbstring.http_output") . "<br />";
echo "mbstring.internal_encoding: ". ini_get("mbstring.internal_encoding") . "<br />";
echo "mbstring.script_encoding: ". ini_get("mbstring.script_encoding") . "<br />";
echo "mbstring.encoding_translation: ". ini_get("mbstring.encoding_translation") . "<br />";
echo "mb_regex_encoding(): ". mb_regex_encoding() . "<br />";
echo "get_magic_quotes_gpc(): ". get_magic_quotes_gpc() . "<br />";
echo "get_magic_quotes_runtime(): ". get_magic_quotes_runtime() . "<br />";
echo "<hr />";
02121642006/07/10(月) 23:38:41ID:???
$teststr = "あいうえお";
$src_encoding = mb_detect_encoding($teststr, "auto");
echo "mb_detect_encoding(): $src_encoding <br />";
echo "<hr />";

echo "$src_encoding -> EUC-JP: " . mb_convert_encoding($teststr, "EUC-JP", $src_encoding) . "<br />";
echo "$src_encoding -> SJIS: " . mb_convert_encoding($teststr, "SJIS", $src_encoding) . "<br />";
echo "$src_encoding -> UTF-8: " . mb_convert_encoding($teststr, "UTF-8", $src_encoding) . "<br />";

?>

0213nobodyさん2006/07/11(火) 00:15:35ID:???
$arr = range('a', 'z');

array_rand($arr); // return $key
array_rand($arr, 1); // return $key
array_rand($arr, 2); // return array($key, $key);
っておかしくね?
1はarray($key)になってほしくね?
欲を言えばarray_rand($arr, 0)もエラーじゃなくてarray()が返ってくれなきゃ使いづらくね?
0214nobodyさん2006/07/11(火) 00:38:13ID:???
値のほうを返してくれるランダム関数はないのかと切に思う
0215nobodyさん2006/07/11(火) 01:31:09ID:???
前スレでも書いたんですが、
前スレ900後半で思いっきり誰の目にも触れられずあぼーんしたので
再度書かせてください。

サーバからFTPにログインして、指定のファイルをブラウザに出力、
訪問者にダウンロードダイアログが出るようにしたいんですが、
どんな方法があるでしょうか?

content typeのlocationで直接ftp://指定すれば、とレスをいただきましたが、
ftp://をブラウザ経由でしてしまうとパスワードが流れてしまいますし、
ブラウザの履歴にも残るので、
サーバーからlocalhostにftpに接続して、それをブラウザに出力、
という流れを取りたいと考えています。

この関数使え、とかのヒントでもいいので
教えて下さいませ
0216nobodyさん2006/07/11(火) 02:29:18ID:???
「設問者」なのにlocalhost?ftpd・httpd兼用サーバ?
そんな奇怪な方法をどういう経緯で選んだのか前スレ読み返しても分からなかった。
無駄なことしてるというのは十分伝わって来るんだけど…
0217nobodyさん2006/07/11(火) 02:32:35ID:???
>>215
何がやりたいのかよくわからんからスルーされるんじゃね?

>この関数使え、とかのヒントでもいいので
1.ftp_*()でファイルを取得
2.header()で適切なヘッダを出し
3.readfile()でもして出力

サーバのFTPDにアクセスするのかね?
ファイルがファイルシステムで直接読めるなら
header();
readfile();
でオワリ

どんなヘッダを送るのかとかはphpの問題じゃないので省略。
0218nobodyさん2006/07/11(火) 02:43:03ID:???
最近自身をなくしちまったぜ・・・
なぁ、お前ら「良いプログラム」って何だ?
PHPは確かにC言語チックな見た目でPerlなんかより全然見やすいコードが書けるけど
それでも俺のコードは醜い気がする・・・
0219nobodyさん2006/07/11(火) 02:59:24ID:???
>>218
「良い」てーのはそれを見る相手や状況によって違うんじゃないか
xxが良いとかなんか無いの?
それにしても誰に何を言われたんだかw
0220nobodyさん2006/07/11(火) 03:56:32ID:???
・読みやすい
・理解しやすい
・再利用しやすい
えーとそれから・・・なにがあったっけ?
0221nobodyさん2006/07/11(火) 04:39:51ID:???
何が醜いの?見にくいの?
人が理解しにくいとか?
0222nobodyさん2006/07/11(火) 07:15:25ID:???
>>145
mbstring.encoding_translation          「On」「 Off 」
これが原因じゃないかと思うけどね
02231352006/07/11(火) 08:59:10ID:BuTz0b5N
おはようございます。
>>222
自動でエンコーディングされるんですよね。
自分のローカルサーバーは両方Onになっています。
これは.htaccessで指定可能なのでしょうか?
02241352006/07/11(火) 09:06:23ID:BuTz0b5N
.htaccessが使えるようになったので、
全て自分の環境と同じにしようと思ったのですが、それは可能なのでしょうか?
0225nobodyさん2006/07/11(火) 09:27:24ID:???
>>224
つ ttp://www.php.net/manual/ja/configuration.changes.php

対象フォルダに"AllowOverride Options" もしくは "AllowOverride All" 権限があって、
PHPのマニュアルにおいて変更の可否がPHP_INI_ALL, PHP_INI_PERDIR, または PHP_INI_SYSTEM と
指定されているもののみ可能。
02262252006/07/11(火) 09:28:40ID:???
後はマニュアル見て実際に試して見てから質問しろよ。
02271352006/07/11(火) 09:34:49ID:BuTz0b5N
まとめ。

$_SESSIONにはちゃんと変数が格納されている。
$_SESSIONを出力する時に文字化けが起きる。
.htaccessが使える。
エンコーディングはSJIS
phpinfo()⇒>>145
サーバー管理者に問い合わせたところ、
「phpの場合は、内部エンコーディングがUTF-8になっているので、明示的指定がなければ文字化けすることはあります。
エンコーディングを指定してください。」と返ってきた。
0228軟式PHP2006/07/11(火) 10:01:30ID:???
>>227
自分のブログにでも書いとけ。
■ このスレッドは過去ログ倉庫に格納されています