【PHP】くだらねぇ質問はここに書き込みやがれpart2
■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん
05/01/09 06:01:24ID:tJkdKk+eお前の下らない質問に回答があるかも知れないスレッドです。
0369nobodyさん
05/01/17 22:47:04ID:???0371nobodyさん
05/01/17 23:54:36ID:rYi/da2g板違いでしたらご指摘お願いします。
perlで書かれたあるプログラムを使おうとすると以下の様なエラーが出ます。
Can't locate Config/Simple.pm in @INC
色々とサイトを巡ってConfig::Simple;とやらをインストールすれば改善されることがわかったのですが、
ppm install Confing-Simple
でインストールすることが出来ませんでした。
行き詰まってしまったのでどなたか手を差し伸べていただけないでしょうか。
宜しくお願いします。
0372371
05/01/17 23:55:39ID:???申し訳ありません。
0373nobodyさん
05/01/17 23:56:58ID:???0374だいすけ ◆P0//Gikoow
05/01/18 00:14:23ID:5AwhPu67コマンドラインのphpで、
foreachのなかでsprintfしたら、
<sprintfの中身の最後に「\n」いれる>か<sprintfの直前に print "\n";をいれる>かしないと、
無限ループしてしまいます?
いや、sprintfの返値をprintしても表示されないから、無限ループじゃないのかな?
これってバグですかね???
0375nobodyさん
05/01/18 00:37:49ID:???0378nobodyさん
05/01/18 00:56:19ID:VNKbaYT9バイナリとしてDBに入れたいのですが、
バイナリとして取り出す関数がないようです。
いったんファイルに落としてから読み込むしか方法はないのでしょうか?
0379nobodyさん
05/01/18 01:16:44ID:???0380262初心者
05/01/18 11:14:56ID:RETkWYlswarningですが、出るときと出ないときがあって
あまりよくわからなくなってます。エディタは「サクラディタ」ってのを
使っています。warning部分ですが、
$password = $_POST["password" ];
POSTされたものを変数に入れるところです。
たまに出るくらいなのであまり気にしてませんけど。
0381nobodyさん
05/01/18 11:50:56ID:???わざわざ「初心者」って書いてあるのを見ると「ムカッ」っと来るのは俺だけですか?
0385nobodyさん
05/01/18 17:31:03ID:bJTxBb/gif ($chara == "a"){}
上のようにアルファベットとの比較なら可能なのですが、これが
if ($chara =="あ"){}
とひらがなになると比較ができません
なにか方法はないでしょうか?
0388385
05/01/18 18:25:58ID:bJTxBb/gご指摘の通りどうやら文字コードが違うのが原因のようです。
$charaにはmysqlのデータベースから読み込んだ文字列が入っています。
mysqlのdefault-char-setはsjisで、phpのファイルもsjisで保存してあるんですが
原因がよくわかりません。php.iniの設定も見直す必要があるんでしょうか?
0389nobodyさん
05/01/18 19:17:33ID:???JavaScriptはブラウザ側でスイッチ切られちゃうけどPHPは有無を言わさず
佐波川で実行しちゃうでしょ?
0390nobodyさん
05/01/18 19:29:03ID:???0395nobodyさん
05/01/18 22:31:12ID:yzPT/NPiやsha1関数と比較してみたのですが、アルファベットや数字だけなら
JSもPHPも同じハッシュ値になるのですが、ひらがなや漢字などの入力
ではJSとPHPでハッシュ値が違っているのですが、これは何が原因なのでしょう?
0397nobodyさん
05/01/18 23:56:43ID:???0398nobodyさん
05/01/19 00:00:54ID:/wCL7OotPHP4+Apache1+FreeBSD4という組み合わせでやってます。
この環境だと、LAN内でのファイルアップロードが非常に遅いのです。
OSがRedHat9だとLANとしての速度が出ます。
Sambaもインストールしてあるのですが、これもLANの速度でコピーできました。
Apacheを2に代えてみても現象変わらず。
PHP側の設定で速度を速くするものがあるのでしょうか?
RedHatのphp.iniをそのままコピーしてFreeBSDの方へ入れてみたのですが
やはり現象変わらずでした。
0399nobodyさん
05/01/19 00:04:13ID:???0401nobodyさん
05/01/19 14:02:01ID:???その変数から関数のコールって可能?
$func = 'getAAA';
xxxxx($func); <-- getAAA()がコールされる
0402nobodyさん
05/01/19 14:15:46ID:???ttp://jp.php.net/manual/ja/functions.variable-functions.php
もっと間単にできるよ。基本部分のマニュアルには目を通しときましょう。
わかりづらくなるから、限定的に使うのが吉だと思うけどね。
0403nobodyさん
05/01/19 14:16:48ID:???無理じゃないの?
どうせ、予め特定できる関数なんだから、
もう一個、関数呼び出しようの関数でも作って、
その中でcaseでも使って個々の関数を呼び出せば?
ってか、なんか関数の使い方間違ってない?
>xxxxx($func); <-- getAAA()がコールされる
0409nobodyさん
05/01/20 03:24:24ID:???どうすればいいのでしょうか。
0412nobodyさん
05/01/20 03:58:44ID:???0413nobodyさん
05/01/20 15:29:09ID:n01d2Bgc�Aを
array(5) { [0]=> int(0) [1]=> int(1) [2]=> int(2) [3]=> int(3) [4]=> int(4) }
のような結果にするにはどのように書き換えればよいですか?
$array = array(3,4,2,0,1);
var_dump($array); // ←�@
$array = sort($array);
var_dump($array); // ←�A
�@の結果
array(5) { [0]=> int(3) [1]=> int(4) [2]=> int(2) [3]=> int(0) [4]=> int(1) }
�Aの結果
bool(true)
0414nobodyさん
05/01/20 15:40:59ID:???0416nobodyさん
05/01/20 16:50:43ID:???↑
0417nobodyさん
05/01/20 20:48:12ID:???0418nobodyさん
05/01/20 20:59:14ID:???0421nobodyさん
05/01/21 00:20:31ID:???引数の順番とかあきらかにまちまち
0422nobodyさん
05/01/21 09:50:11ID:???each(), reset(), current(), next()などの内部ポインタを使った
古い関数群からはじまって、あとからあとから考えなしに
そのとき便利だろうと思いついた関数が追加されまくっているのだよ。
統一性も思想もなにもあったもんじゃないぞ。
0423nobodyさん
05/01/21 10:13:18ID:???0424nobodyさん
05/01/21 11:48:09ID:???仕様変更による書き換えに苦しんでいまつ・・・・・・
すまん、裏が白いチラシがなかったもんで。
0425nobodyさん
05/01/21 11:53:33ID:3XYRh2Rh自動でログファイルを生成する方法はないでしょうか?
今は空ファイルをコピーすることで対応しています。
$getmon = gmdate("Ym", time()+9*3600);
$monlog = "./log/$getmon.log";
$empdata = "./log/empty.log";
if(!file_exists("$monlog")){
copy($empdata, $monlog);
chmod($monlog, 0666);
}
しかし、この方法だとエラーが起きてしまいます。
何かいい方法があれば教えてください。
0427nobodyさん
05/01/21 12:17:21ID:???0428425
05/01/21 12:19:23ID:3XYRh2Rhaとは?なんでしょう?
PHP5だとOKなんですがPHP4だとだめみたいで、
ちなみnレンタルサーバーがPHP4なんで…orz イミナイ
0429425
05/01/21 12:22:16ID:3XYRh2Rhパーミッションなんたら…
./log/200501.logファイルが見つかりません
ちなみにempty.logのパーミッションは666です。
0430nobodyさん
05/01/21 12:52:06ID:???あるサイト(全部php4とmysql)で、
IDとパスワード(Basic認証でなくformの)で入れるページがあり、
入ったあと、特定のURLのページのソースをまるごとゲットしたいのですが、
どう新しくスクリプトをかけばいいのでしょうか?
なお、「あるサイト」と「新しいスクリプト」は同じサーバ上にあり、
fopenやソケット通信は許可の設定になってます
0431nobodyさん
05/01/21 13:05:57ID:???http://jp2.php.net/manual/ja/function.fopen.php
のオプションかと。
でもそれ以前に
"./log"ディレクトリが見えてないとおもわれ
>>430
http://pear.php.net/package/HTTP_Request
これでも使ってブラウザをエミュレートしれ。
ログイン→受け取ったCookieをセットして欲しいページへリクエスト
でできるかと
0434430
05/01/21 14:01:27ID:???で、lynxコマンドはいってません(いれなれない)
で、wgetははいってます。
systemコマンドは使えます。
なお、4.9-RELEASE FreeBSD です
0435430
05/01/21 14:14:16ID:???0436nobodyさん
05/01/21 14:29:35ID:???ならperlでやれ。
それかPEARを入れられない理由を述べよ。
入れられなくてもコードを参考にすることはできるんだから見てみれば。
#我ながら支離滅裂w
0437nobodyさん
05/01/21 14:29:57ID:???それができるならperlのをphpに書き直せばいいだでは。。。
ttp://jp2.php.net/manual/ja/function.fsockopen.php
でソケット開いてHTTPをしゃべればいいだけかと
0439nobodyさん
05/01/21 14:57:51ID:???var_dump($a); //←natsort前
$a[] = natsort($a);
var_dump($a); //←natsort後
natsort前
array(4) { [0]=> string(2) "12" [1]=> string(2) "40" [2]=> string(1) "9" [3]=> string(2) "01" }
natsort後
array(5) { [3]=> string(2) "01" [2]=> string(1) "9" [0]=> string(2) "12" [1]=> string(2) "40" [4]=> bool(true) }
以上のように、配列を並び変えを行ったところ、
並び替えは正常に行われるのですが、配列の一番最後に「[4]=> bool(true)」のようなものが加わってしまいます。
natsort後の結果を
array(5) { [3]=> string(2) "01" [2]=> string(1) "9" [0]=> string(2) "12" [1]=> string(2) "40" }
のようにするには、どのようにすればよいのでしょうか?
0441nobodyさん
05/01/21 15:03:53ID:???0443nobodyさん
05/01/21 15:08:05ID:???コード以前の質問はここ。
具体的なPHPのコードに関する質問は↓
【PHP】質問スレッドpart26【php】
http://pc5.2ch.net/test/read.cgi/php/1103636095/
■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆
★ ★
☆ 新規質問は名前欄・メール欄を空にして行え ☆
★ ★
☆ 質問者が返信する際は、名前欄に「最初に質問したレス番号」を入れろ ☆
★ ★
☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆
0444nobodyさん
05/01/21 16:48:01ID:???$hone = new Hogehoge;
$_SESSION['hoge'] = &$hoge;
ではできないんでしょうか?
0446nobodyさん
05/01/21 17:25:19ID:???0447nobodyさん
05/01/21 18:00:33ID:???なんか前にやって失敗した気がするんだけど
効率面ではどうなんだろう
0448425
05/01/21 18:11:38ID:???ひと月に一度だけ生成するので。
書き込みもしたほうがよいです?
0449軟式PHP
05/01/21 18:12:36ID:???0451nobodyさん
05/01/21 18:19:27ID:???0452nobodyさん
05/01/21 18:46:00ID:???0455425
05/01/21 20:53:04ID:???ごめんなさいm(_ _)m
0456nobodyさん
05/01/21 22:20:06ID:???PHPのバージョンアップをする際、
バックアップしておくべきファイル・フォルダはどれですか?
0457nobodyさん
05/01/21 22:24:55ID:???0458nobodyさん
05/01/21 22:33:11ID:???バージョンアップで上書きされるファイル全部。
該当ファイルの調べ方は、インストールの仕方によるし
場合によっては調べる方法が無い(or泥臭い方法しか無い)場合もある。
0459nobodyさん
05/01/21 23:56:35ID:???アップしたファイルをpostgresにラージオブジェクトとして登録したり
取り出すといった一連の動きは分かったのですが、
私の作った物だとダウンロード後、すべて同じ名前になってしまいます
ダウンロードする時に名前を変える方法がどうしても思い浮かびません
どなたか救いの手をお願いします
(以下作成した物)
<a href="./Get_Object.php?loid=".$file_loid."&type=".$file_type.">ダウンロード</a>
<以下、Get_Object.php内部>
/* PostgreSQL接続 */
$database = 接続用の自作関数が入ります;
/* HTTPヘッダの送信 */
header("Content-Type: ".$_GET['type']);
/* ラージオブジェクトの取得 */
pg_query($database, "BEGIN");
$handle = pg_lo_open($database, $_GET['loid'], "r");
pg_lo_read_all($handle);
pg_lo_close($handle);
pg_query($database, "COMMIT");
/* PostgreSQL切断 */
DB_Close($database);
0462nobodyさん
05/01/22 00:18:26ID:???早速の返事ありがとうございます
move_uploaded_file は確かアップロード時に
TEMPに入っているファイルを指定ディレクトリに
移動させる物ですよね?
今回はラージオブジェクトとしてファイルを管理したいのですが
ダウンロード時にも使用する事は出来るんでしょうか?
0463nobodyさん
05/01/22 00:23:03ID:???>>461が言ってるようにheaderを使ってファイル名をブラウザに渡す。
こんな感じ。
header ("Content-Disposition: attachment; filename=$filename");
ブラウザの種類やバージョンによって効果が無い場合があるので、
更に幾つかヘッダーを付け足す必要があったかと。
0465nobodyさん
05/01/22 00:32:52ID:???>>461
なるほど!
調べたら出てきました
ありがとうございます
>>463
そうですね
header("Content-Disposition: attachment; filename=ファイル名");
で行けそうですありがとうございます
>>464
ファイル名はアップロード時に$_FILES['file']['name']
で取ってきて同じくDBに保存してます
0466nobodyさん
05/01/22 04:20:49ID:j0dmlBBwお分かりになる方よろしくお願いします
先ほどまではDBに$_FILES['file']['name'] でとった名前をそのまま
上げていたのですが、バグ取り中に日本語名のファイルをアップロード
しようとしたらInvalid EUC_JP character sequence found (0x8e51)
と言われて怒られてしまいました
とりあえず怒られている内容はEUC_JPなファイル名じゃないからダメって
事だと思ったので、エンコード関数使ってエンコードして見たり
色々して見たのですがさっぱりダメでした
仕方ないので
ereg('[0-9A-Za-z._]',$flie_name)
として英字だけに限定しようかとも思ったのですが、今度は半角英数
だけを入れても上記の判定の部分で止まって上手く行きませんでした。
ファイル名はテキスト文字と何が違うのでしょうか?
回避策を知ってる方教えていただけ無いでしょうか
0467nobodyさん
05/01/22 05:01:04ID:???Invalid 〜 は、PHPではなくPostgreSQLが出してるエラーで、
「EUC-JPのキャラクタセットでは無いものを見つけた」という意味。
enctype=multipart/form-data の時の入力文字に関しては
PHPのバージョンによって違いがあって、
ttp://www.php.net/manual/ja/ref.mbstring.php#mbstring.http あたりを参照。
0468nobodyさん
05/01/22 07:34:39ID:???>色々して見たのですがさっぱりダメでした
>色々して見たのですがさっぱりダメでした
■ このスレッドは過去ログ倉庫に格納されています