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

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

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

お前の下らない質問に回答があるかも知れないスレッドです。
0348nobodyさん05/01/16 17:32:25ID:???
くだスレはワナビー君も歓迎しますよ
0349nobodyさん05/01/16 17:36:02ID:???
そこなハードゲイも熱烈歓迎ですよ
0350nobodyさん05/01/16 18:53:47ID:???
連想配列のキーの値を変えた連想配列を作りたいと考えているのですが
array_walkですと第二引数に渡す関数の第一引数を参照で渡せばよいのですが

function change_val(&$val, $key)
{
     $val = $val + 5;
}

array_walk($array, 'change_val');

同様にキーを変更する時に参照で渡せばできるかもと考えやってみたのですができませんでした。

function change_key($val, &$key)
{
     $key = 'prefix_' . $key;
}

array_walk($array, 'change_key');

foreachを使って新しい配列に入れるということならできるのですが
上手くできる方法・関数をご存知の方がいらっしゃいましたらご教授頂けないでしょうか。
どうかよろしくお願い致します。
0351nobodyさん05/01/16 19:13:50ID:???
残念ながらキーのみ書き換えることはでけん
0352nobodyさん05/01/16 23:22:06ID:???
無理ですかorz
ありがとうございました
0353nobodyさん05/01/17 01:03:31ID:???
php5が本格的に商用サイトで使われるようになるのは、いつくらいだとおもいますー?
0354nobodyさん05/01/17 01:20:21ID:???
おととい
035535305/01/17 01:26:26ID:???
やまだくん、 >>354 のざぶとん5枚もってって
0356nobodyさん05/01/17 11:25:58ID:???
マニュアル見てたらSPLで汎用的な例外クラスが定義されてた。
どこぞの商用ライブラリなんかが出してくるという話もあったけど、
オフィシャルで対応してくれるのはありがたいな。
ファイルI/Oなんかも扱ってくれる予定はないんだろか。

6) Exceptions
SPL provides a set of standard exception classes each meant to indicate a certain problem type.

class LogicException extends Exception
class BadFunctionCallException extends LogicException
class BadMethodCallException extends BadFunctionCallException
class DomainException extends LogicException
class InvalidArgumentException extends LogicException
class LengthException extends LogicException
class OutOfRangeException extends LogicException
class RuntimeException extends Exception
class OutOfBoundsException extends RuntimeException
class OverflowException extends RuntimeException
class RangeException extends RuntimeException
class UnderflowException extends RuntimeException
035728105/01/17 11:55:23ID:???
>>284と>>285は俺じゃないです。

すみません、>>281の件ですが、本当にわからないんです。
XMLに詳しい方どなたか教えてください。
SimpleXMLのバグならバグであきらめますので・・・
0358nobodyさん05/01/17 14:09:25ID:SCuNVMMV
この仕事って学歴関係ある?完全に実力主義?
0359nobodyさん05/01/17 14:19:20ID:???
>>358
どの仕事??
0360nobodyさん05/01/17 14:27:40ID:???
>>358
まぁマジレスすると、他の職種よりは、学歴は重視されない。
っが!若かりしころに勉強を放棄して低学歴になったような奴では、絶対にできない仕事。

こつこつマジメに努力してようやく勤まるか?って感じだ。
そもそも、こつこつマジメに努力するような奴に低学歴は少ないってこった。

学歴不問でプログラミングを仕事にするには、
最低 C/C++/VC/VB/Javaの5つの言語、そしてRDBを根本から理解し完全マスターしない限り採用されないだろ。
PHPだけ覚えても全くの無駄。
0361nobodyさん05/01/17 14:44:23ID:???
アルゴリズムと物理コンポーネント構成・ハードウェアは必須じゃね?
サーバサイドだとVB/VBSは微妙だなあ。うちがMSで固めた仕事をあんま受けてない所為かも知れんけど。
*nixの勉強したほうがよさげ。PCばっかり弄ってて大学卒業できませんでしたって履歴は諸刃ですなあw
0362nobodyさん05/01/17 15:09:11ID:???
>>361
個人で弄ってても業務のコアな知識は身につかんだろ
036335805/01/17 16:26:52ID:???
むう・・。なるほど。
専門学校より大学のほうがよさそうですね。
親切さんどうもでした。
036429105/01/17 17:32:22ID:???
興味ない人がほとんどだろうけど、
原因がわかったので書いときます。
$word,$wstart,$wendのいずれかに" / "(スラッシュ)があったから
エラーが起きてたみたいです。

Warning: Unknown modifier 'a'
→</a>を含んでいた

Warning: Unknown modifier 't'
→</td>を含んでいた

preg_match()を理解してなかったのが原因か・・・汗
まだまだPHP初心者だけどがんばります。
0365nobodyさん05/01/17 18:16:10ID:???
>>294で気づいてくれ
036629105/01/17 18:25:01ID:???
>>365
すまそ
0367nobodyさん05/01/17 18:30:39ID:???
>>291と同じネタで躓いた未来の君へ。
http://jp.php.net/preg_quoteを参照のこと。
0368nobodyさん05/01/17 22:24:38ID:???
20050117.dat
等の日付を名前にして作られたファイルが存在すれば
<p> 2005/01/17</p>
と、正しい日付表示を書かせる方法は無いでしょうか?
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:???
空ログだけ作りたいんです。
ひと月に一度だけ生成するので。
書き込みもしたほうがよいです?
■ このスレッドは過去ログ倉庫に格納されています