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

【PHP】くだらねぇ質問はここに書き込みやがれpart2

■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん05/01/09 06:01:24ID:tJkdKk+e

お前の下らない質問に回答があるかも知れないスレッドです。
0369nobodyさん05/01/17 22:47:04ID:???
ナニ人?
0370nobodyさん05/01/17 23:26:56ID:???
>>368
readdir()を勉強して後は自分の頭で考えれ
ヒント!
0371nobodyさん05/01/17 23:54:36ID:rYi/da2g
プログラムのプの字もわからない人間です。
板違いでしたらご指摘お願いします。
perlで書かれたあるプログラムを使おうとすると以下の様なエラーが出ます。

Can't locate Config/Simple.pm in @INC

色々とサイトを巡ってConfig::Simple;とやらをインストールすれば改善されることがわかったのですが、

ppm install Confing-Simple

でインストールすることが出来ませんでした。
行き詰まってしまったのでどなたか手を差し伸べていただけないでしょうか。
宜しくお願いします。
037237105/01/17 23:55:39ID:???
上げてしまいました。
申し訳ありません。
0373nobodyさん05/01/17 23:56:58ID:???
はいはい
0374だいすけ ◆P0//Gikoow 05/01/18 00:14:23ID:5AwhPu67
4,2,2ですが、
コマンドラインのphpで、

foreachのなかでsprintfしたら、
<sprintfの中身の最後に「\n」いれる>か<sprintfの直前に print "\n";をいれる>かしないと、
無限ループしてしまいます?

いや、sprintfの返値をprintしても表示されないから、無限ループじゃないのかな?

これってバグですかね???
0375nobodyさん05/01/18 00:37:49ID:???
お客さんに納品するスクリプトでmojavi使ってる人いますか?
0376nobodyさん05/01/18 00:48:36ID:???
>>371 >>374
みんな学校始まったの?
0377nobodyさん05/01/18 00:50:15ID:???
>>375
で?っていう
0378nobodyさん05/01/18 00:56:19ID:VNKbaYT9
imageで作成した画像を
バイナリとしてDBに入れたいのですが、
バイナリとして取り出す関数がないようです。
いったんファイルに落としてから読み込むしか方法はないのでしょうか?
0379nobodyさん05/01/18 01:16:44ID:???
DBによる
0380262初心者05/01/18 11:14:56ID:RETkWYls
答えてくれた方、ありがとうございます。
warningですが、出るときと出ないときがあって
あまりよくわからなくなってます。エディタは「サクラディタ」ってのを
使っています。warning部分ですが、

$password           = $_POST["password"          ];

POSTされたものを変数に入れるところです。
たまに出るくらいなのであまり気にしてませんけど。
0381nobodyさん05/01/18 11:50:56ID:???
380 名前:262初心者[] 投稿日:05/01/18(火) 11:14:56 ID:RETkWYls

わざわざ「初心者」って書いてあるのを見ると「ムカッ」っと来るのは俺だけですか?
0382nobodyさん05/01/18 12:49:11ID:???
>>381
初心者と書かれるより質問の内容が・・・・笑
ある意味、面白いけどね
0383nobodyさん05/01/18 14:03:59ID:???
>>371
スレタイトルに丁寧にも【PHP】って書いてあるのにPerlの質問をするところがステキ。
0384nobodyさん05/01/18 14:10:36ID:???
>>381
うぜーと思うが我慢しよる。
0385nobodyさん05/01/18 17:31:03ID:bJTxBb/g
if文に関しての質問なのですが、
if ($chara == "a"){} 
上のようにアルファベットとの比較なら可能なのですが、これが
if ($chara =="あ"){}
とひらがなになると比較ができません
なにか方法はないでしょうか?
0386nobodyさん05/01/18 17:43:02ID:???
>>385
if( mb_ereg("^あ$",$chara) )

たぶん・・・
0387nobodyさん05/01/18 18:01:05ID:???
>>385
$charaに入っている「あ」と、スクリプトが書かれているPHPソースの
文字コードが違うんざしょ。
038838505/01/18 18:25:58ID:bJTxBb/g
>>387さん
ご指摘の通りどうやら文字コードが違うのが原因のようです。
$charaにはmysqlのデータベースから読み込んだ文字列が入っています。
mysqlのdefault-char-setはsjisで、phpのファイルもsjisで保存してあるんですが
原因がよくわかりません。php.iniの設定も見直す必要があるんでしょうか?
0389nobodyさん05/01/18 19:17:33ID:???
なぁ。PHPがあればJavaScriptなんてイラネーなんて思ったりしたこと無い?
JavaScriptはブラウザ側でスイッチ切られちゃうけどPHPは有無を言わさず
佐波川で実行しちゃうでしょ?
0390nobodyさん05/01/18 19:29:03ID:???
アホか・・・
0391軟式PHP05/01/18 19:59:09ID:???
>>389
お前頭いいな・・・夢がひろがりんぐww
0392nobodyさん05/01/18 20:24:25ID:???
>>389
君の脳内は天気がいいようだな。
0393nobodyさん05/01/18 21:05:03ID:???
>>389を読んで、目からウコロが落ちた
0394nobodyさん05/01/18 21:07:03ID:???
>>389
化学調味料つかってるな このえさ。
0395nobodyさん05/01/18 22:31:12ID:yzPT/NPi
JSで書かれたmd5.jsやsha1.jsなどを見つけたので,PHPのmd5関数
やsha1関数と比較してみたのですが、アルファベットや数字だけなら
JSもPHPも同じハッシュ値になるのですが、ひらがなや漢字などの入力
ではJSとPHPでハッシュ値が違っているのですが、これは何が原因なのでしょう?
0396nobodyさん05/01/18 22:42:06ID:???
>>395
文字コードが違うんじゃねーの?
0397nobodyさん05/01/18 23:56:43ID:???
md5等がどういうものか考えればわかるとおもわれ
0398nobodyさん05/01/19 00:00:54ID:/wCL7Oot
ファイルのアップロードについてなのですが。

PHP4+Apache1+FreeBSD4という組み合わせでやってます。
この環境だと、LAN内でのファイルアップロードが非常に遅いのです。
OSがRedHat9だとLANとしての速度が出ます。
Sambaもインストールしてあるのですが、これもLANの速度でコピーできました。
Apacheを2に代えてみても現象変わらず。

PHP側の設定で速度を速くするものがあるのでしょうか?
RedHatのphp.iniをそのままコピーしてFreeBSDの方へ入れてみたのですが
やはり現象変わらずでした。
0399nobodyさん05/01/19 00:04:13ID:???
phpの設定にはないんじゃない?
0400nobodyさん05/01/19 01:23:26ID:???
>>398
鯖コンフィグレーションの問題
0401nobodyさん05/01/19 14:02:01ID:???
変数に関数名を入れて
その変数から関数のコールって可能?

$func = 'getAAA';
xxxxx($func); <-- getAAA()がコールされる
0402nobodyさん05/01/19 14:15:46ID:???
>>401
ttp://jp.php.net/manual/ja/functions.variable-functions.php

もっと間単にできるよ。基本部分のマニュアルには目を通しときましょう。
わかりづらくなるから、限定的に使うのが吉だと思うけどね。
0403nobodyさん05/01/19 14:16:48ID:???
>>401
無理じゃないの?
どうせ、予め特定できる関数なんだから、
もう一個、関数呼び出しようの関数でも作って、
その中でcaseでも使って個々の関数を呼び出せば?

ってか、なんか関数の使い方間違ってない?
>xxxxx($func); <-- getAAA()がコールされる
0404nobodyさん05/01/19 14:20:59ID:???
>>401
call_user_func()
とか
0405nobodyさん05/01/19 14:31:08ID:???
>>402,404
サンクス!
出来ないかと思ったら意外と簡単に出来てビックリ

0406nobodyさん05/01/19 14:39:56ID:???
>>405
calll_user_funcのほうは
配列つかえばオブジェクトのメソッドも呼べるよ
0407nobodyさん05/01/19 15:29:26ID:???
>>406
聞いてないことまで喋るな!
0408nobodyさん05/01/19 16:34:37ID:???
>>407
せっかく教えてくれてるんだろ。お前こそ喋るな!
エク○ルでもやって喜んでろ
0409nobodyさん05/01/20 03:24:24ID:???
telnetでログインし 階層下の.phpファイルすべての属性を755にしたいんですけど
どうすればいいのでしょうか。
0410nobodyさん05/01/20 03:46:34ID:???
>>409
どうすればって何が?
0411nobodyさん05/01/20 03:56:24ID:???
>>409
何がわからんのかわからんけど、そんなこと聞いているようじゃ
危険だから、FTPでやれ。
0412nobodyさん05/01/20 03:58:44ID:???
find ./ -name "*.php" | ???
0413nobodyさん05/01/20 15:29:09ID:n01d2Bgc
数字を昇順に並び替えようと「sort」(以下プログラム)を実行したところ、�Aのようになってしまいました。
�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:???
sort($array);
0415nobodyさん05/01/20 15:47:10ID:???
>>413
マニュアルをジーーーーーっと10分間。
0416nobodyさん05/01/20 16:50:43ID:???
void sort ( array array [, int sort_flags])
↑
0417nobodyさん05/01/20 20:48:12ID:???
ぶっちゃけこの仕様の方がどうかと思う木曜日の夜
0418nobodyさん05/01/20 20:59:14ID:???
配列をコピーしまくるのはイカガ谷^hなものかと。
0419nobodyさん05/01/20 21:46:00ID:???
>>398の件ですが、FreeBSDのRWINが小さすぎるのが原因と判明しました。
増やしたら直りました。
0420nobodyさん05/01/20 23:10:09ID:???
>>417
何のためのハッシュか
0421nobodyさん05/01/21 00:20:31ID:???
配列関数ってまだ開発途中まきがする。
引数の順番とかあきらかにまちまち
0422nobodyさん05/01/21 09:50:11ID:???
PHPの配列関数は、
each(), reset(), current(), next()などの内部ポインタを使った
古い関数群からはじまって、あとからあとから考えなしに
そのとき便利だろうと思いついた関数が追加されまくっているのだよ。

統一性も思想もなにもあったもんじゃないぞ。
0423nobodyさん05/01/21 10:13:18ID:???
だがそれがいい
0424nobodyさん05/01/21 11:48:09ID:???
システム入れ替えでPHPのバージョンがズガーンと上がってしまい
仕様変更による書き換えに苦しんでいまつ・・・・・・

すまん、裏が白いチラシがなかったもんで。
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);
}

しかし、この方法だとエラーが起きてしまいます。
何かいい方法があれば教えてください。
0426nobodyさん05/01/21 11:58:15ID:???
>>425
aでいけたんじゃなかったっけ?
0427nobodyさん05/01/21 12:17:21ID:???
エラー内容は?
042842505/01/21 12:19:23ID:3XYRh2Rh
>>426
aとは?なんでしょう?
PHP5だとOKなんですがPHP4だとだめみたいで、
ちなみnレンタルサーバーがPHP4なんで…orz イミナイ
042942505/01/21 12:22:16ID:3XYRh2Rh
>>427
パーミッションなんたら…
./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:???
>>428
http://jp2.php.net/manual/ja/function.fopen.php
のオプションかと。
でもそれ以前に
"./log"ディレクトリが見えてないとおもわれ

>>430
http://pear.php.net/package/HTTP_Request
これでも使ってブラウザをエミュレートしれ。
 ログイン→受け取ったCookieをセットして欲しいページへリクエスト
でできるかと
0432nobodyさん05/01/21 13:37:16ID:???
>>429
logディレクトリのパーミッションを707とかにすればいいと思う
0433nobodyさん05/01/21 13:53:35ID:???
>>425
なんでログ生成時に書き込みしないの?
空ログだけを作りたいの?
043443005/01/21 14:01:27ID:???
すみません、pearいれてない(キマリでいれられない)んです。。。
で、lynxコマンドはいってません(いれなれない)
で、wgetははいってます。
systemコマンドは使えます。

なお、4.9-RELEASE FreeBSD です
043543005/01/21 14:14:16ID:???
ちなみに、perlでhttpクライアントを自作したことはあります
0436nobodyさん05/01/21 14:29:35ID:???
>>430
ならperlでやれ。
それかPEARを入れられない理由を述べよ。
入れられなくてもコードを参考にすることはできるんだから見てみれば。

#我ながら支離滅裂w
0437nobodyさん05/01/21 14:29:57ID:???
>>435
それができるならperlのをphpに書き直せばいいだでは。。。
ttp://jp2.php.net/manual/ja/function.fsockopen.php
でソケット開いてHTTPをしゃべればいいだけかと
0438nobodyさん05/01/21 14:36:13ID:???
>>430
fopen()ぢゃ駄目なの?
0439nobodyさん05/01/21 14:57:51ID:???
$a = array('12', '40', '9', '01');
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" }
のようにするには、どのようにすればよいのでしょうか?
0440nobodyさん05/01/21 15:02:50ID:???
>>439
413と同じやつか?それともネタか?
$a[] = natsort($a);
↓
natsort($a);
0441nobodyさん05/01/21 15:03:53ID:???
ネタだろ…
044242505/01/21 15:04:50ID:???
>>431-432
その通りですね。
家帰ったら試してみます
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;

ではできないんでしょうか?
0445nobodyさん05/01/21 16:48:51ID:???
間違えた 一行目は

$hoge = new Hogehoge;

です。 >>444
0446nobodyさん05/01/21 17:25:19ID:???
できなかったの?
0447nobodyさん05/01/21 18:00:33ID:???
横やりで申し訳ありませんが、出来るものなの?
なんか前にやって失敗した気がするんだけど
効率面ではどうなんだろう
044842505/01/21 18:11:38ID:???
空ログだけ作りたいんです。
ひと月に一度だけ生成するので。
書き込みもしたほうがよいです?
0449軟式PHP05/01/21 18:12:36ID:???
普通に出来るよ。
0450軟式PHP05/01/21 18:17:14ID:???
>>447
ショッピングカートを作る際に実装したけど便利だったよ。
0451nobodyさん05/01/21 18:19:27ID:???
遷移先でHogeHogeクラスの定義が見つからないとか
0452nobodyさん05/01/21 18:46:00ID:???
セッション変数にする場合、そのセッション使うページでクラス定義読み込まないとデータが壊れる罠。
0453nobodyさん05/01/21 18:49:02ID:???
>>448
空ファイルを作るならtouchでいいじゃん
045442505/01/21 20:36:15ID:???
>>453
そんな関数があったんですね。
今回の場合、どんな記述をするのがスマートですかね?
045542505/01/21 20:53:04ID:???
あ、touch(空ログ);でいいのね。
ごめんなさいm(_ _)m
0456nobodyさん05/01/21 22:20:06ID:???
とてつもないバカ質問かもしれませんが、
PHPのバージョンアップをする際、
バックアップしておくべきファイル・フォルダはどれですか?
0457nobodyさん05/01/21 22:24:55ID:???
php.ini
0458nobodyさん05/01/21 22:33:11ID:???
>>456
バージョンアップで上書きされるファイル全部。
該当ファイルの調べ方は、インストールの仕方によるし
場合によっては調べる方法が無い(or泥臭い方法しか無い)場合もある。
0459nobodyさん05/01/21 23:56:35ID:???
PHPとpostgresでアップロード掲示板みたいな物を作っています
アップしたファイルを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);
0460nobodyさん05/01/22 00:10:34ID:???
>>459
move_uploaded_file
0461nobodyさん05/01/22 00:15:27ID:???
>>459
headerでfilename指定したらどうかね
0462nobodyさん05/01/22 00:18:26ID:???
>>460
早速の返事ありがとうございます
move_uploaded_file は確かアップロード時に
TEMPに入っているファイルを指定ディレクトリに
移動させる物ですよね?
今回はラージオブジェクトとしてファイルを管理したいのですが
ダウンロード時にも使用する事は出来るんでしょうか?
0463nobodyさん05/01/22 00:23:03ID:???
>>462
>>461が言ってるようにheaderを使ってファイル名をブラウザに渡す。
こんな感じ。
header ("Content-Disposition: attachment; filename=$filename");
ブラウザの種類やバージョンによって効果が無い場合があるので、
更に幾つかヘッダーを付け足す必要があったかと。
0464nobodyさん05/01/22 00:26:08ID:???
>>462
ファイル名はどんな形で保存しているの?
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
459で質問した物です。もう1つ分からない部分が出てきたので
お分かりになる方よろしくお願いします

先ほどまでは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:???
>>466
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:???
>色々して見たのですがさっぱりダメでした
>色々して見たのですがさっぱりダメでした
>色々して見たのですがさっぱりダメでした
■ このスレッドは過去ログ倉庫に格納されています