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

【PHP】下らねぇ質問はID出して書き込みやがれ 97

■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん2010/07/23(金) 06:24:51ID:3G71fl8i
質問者はまず>>1を良く読むこと(必須!)
過去スレ、関連スレ、FAQなどは>>2-10辺り
次スレは>>980が立てる。10分以内に立たない場合、宣言してから立てたい人が立てること。


【PHP】下らねぇ質問はID出して書き込みやがれ 96
http://pc11.2ch.net/test/read.cgi/php/1275032024/

◆質問用テンプレ
【OS名】CentOS
【PHPのバージョン】5.3
【連携ソフトウェア】MySQL ImageMagick
【質問内容】

◆質問する時の注意
・ スレを上げて自分のIDを表示させること。(メール欄に何も記述しない。専ブラのsageチェックを外す)
・ 己の行った操作、変更などを詳しく明記すること。
・ エラーメッセージはそのまま表記すること。「エラーが出ます」だけでは回答不可。
・ 質問者として、態度をわきまえること。
・ 事前に関連リンクの公式マニュアル、リファレンス本くらいはちゃんと目を通しておくこと。
(PHPで最良の教本はこの公式マニュアル。市販の書籍は嘘が多いので鵜呑みにしない。)

◆質問後の注意
・2回目以降は最初に質問した際のレス番号を入れて、偽者防止に必ずIDを表示させること。
・解決しなくても回答をもらった場合はお礼を言うこと。
 (荒らし、煽りは除く。煽られたときも、無闇に反論せずスルーすること。)

◆回答者への注意
・誰にレスしているのか分からないと困るので、>>(アンカー)をつけて回答すること。

【その他諸注意】
・SQL・正規表現・PEAR・テンプレート(Smarty等)・フレームワークは各該当スレへ
0168nobodyさん2010/08/10(火) 17:34:06ID:mBoLwcDd
test.txtに、
1行目 $test ="こんにちは";
と書いておき
sample.phpで
$sample = file(test.txt)で読み込み
$sample[1]とした時、文字列が[1]に入ってますが、

sample.php内で、
変数$testとして使いたい場合はどうすればよいのでしょうか?
0169nobodyさん2010/08/10(火) 17:36:31ID:???
>>168
PHP: include - Manual
http://jp2.php.net/manual/ja/function.include.php
0170nobodyさん2010/08/10(火) 17:51:37ID:???
>>168
$testでかくなら.txtじゃなくphpとして扱ってincludeしたほうがいい
どうしてもテキストがいいなら
test=こんにちわ

php側
list($a, $b) = preg_split("/=/",$c);
${$a} = $b;


これでいいはず
0171nobodyさん2010/08/10(火) 18:40:33ID:mBoLwcDd
ありがとうございました なんとかなりそうです
0172nobodyさん2010/08/10(火) 18:40:54ID:???
テキストがいいならparse_ini_file使えば?
http://php.net/manual/ja/function.parse-ini-file.php
0173nobodyさん2010/08/10(火) 18:55:47ID:mBoLwcDd
そうですね そっちのほうが良さげですが、なんとかなりそうなので次回やってみます
ご指導ありがとうございます。
0174nobodyさん2010/08/10(火) 23:27:55ID:f5P1YaX5
pg_fetch_arrayだと結果の配列の中身はすべて文字列だけど、fetchAll( PDO::FETCH_ASSOC )だと
データ型に応じた型で返るでおk?
0175nobodyさん2010/08/11(水) 19:42:33ID:???
メールの受信をトリガにPHPスクリプトを実行させる為に
.mailfilter に転送設定を行い abc.php を実行させようとしています。
受信メールの内容を取得し加工した上で
別のメールアドレスに送信しようとしているのですが、

/home/xxx/www/abc.php

abc.php の中に require_once('Mail/mimeDecode.php'); という宣言を入れた状態で
次の3パターンを実行した場合、(1)の場合のみエラーも出ずに正常に送信されますが
これは一体なぜでしょうか?
(Pearのパッケージは既にインストール済みです。)

(1)ブラウザからのアクセスした場合
 http://xxx.sakura.ne.jp/abc.php

(2)CUI上からキックした場合
 php abc.php

(3)起動元となるメールアドレスにメールを送信し
 .mailfilter経由で abc.php をキックした場合

※【abc.php】の中身
<?php
require_once('Mail/mimeDecode.php');
// 〜 略:別のメールアドレスへの送信処理 〜 //
?>
0176nobodyさん2010/08/11(水) 20:14:48ID:???
>>175
(2)と(3)は、何て言うエラーが出るの?ファイルが見つからないって言われてない?
0177nobodyさん2010/08/11(水) 20:18:48ID:???
>>176
(2)
→ TeraTerm上では何もエラーが表示されません。

(3)
→ メールを送信すると、送信元のメールアドレスに次のエラーメッセージが返って来ました。
The original message was received at Wed, 11 Aug 2010 20:16:33 +0900 (JST)
from ksav**.sakura.ne.jp [***.***.***.***]
----- The following addresses had permanent fatal errors -----
<***@xxx.sakura.ne.jp>
(reason: 255)
----- Transcript of session follows -----
554 5.3.0 unknown mailer error 255
0178nobodyさん2010/08/11(水) 22:29:45ID:hbz/oQrU
ファイルを
・外部からはアクセス不可
・PHPで操作(作成・削除など)可能
にするためには、そのファイルをドキュメントルートより上に置けばいいと思いますが、
その方法を使わずに、ドキュメントルートの下に置いて同じことを実現するためには
どうすれば良いのでしょうか?
0179nobodyさん2010/08/11(水) 22:55:16ID:???
Apacheなら.htaccessに
Order allow,deny
Deny from all
を書く、IISは知らん。
0180nobodyさん2010/08/12(木) 00:06:04ID:0qoFhKL3
>>179
環境を書き忘れててすみませんでした。
Ubuntu+Apacheなので、.htaccess試してみます。
ありがとうございました!
0181nobodyさん2010/08/12(木) 00:23:53ID:???
>>177
Pearへのパスをどうやって設定しているか知らないけど、
(2)でシェルから php -i 実行して、ちゃんとinclude_pathに入っている?

(3)も同じようにでメール受信をトリガに php -iの結果を
適当なファイルに保存して、あとで中身を確認すると何かわかるかも。

カレントディレクトリが、/home/〜/wwwだとは限らないよ
0182nobodyさん2010/08/12(木) 00:44:45ID:???
>>181
Pearへのパスは、php.iniより設定しています。
⇒ サーバコントロール > PHP設定の編集 > * php.ini 設定ファイル編集 *

;■Pearのインストールディレクトリの設定
include_path = ".:/home/xxx/www/pear/PEAR/"


しかし、php -i で include_path を調べたところ上記で指定したパスが表示されていませんでした。
include_path => .:/usr/local/php/5.2.13/lib/php => .:/usr/local/php/5.2.13/lib/php

しかし、php.iniではしっかりと指定している為おかしいと思い、
ブラウザから abc.php に次のコードを追記し確認したところ

$ip = get_include_path();
echo "get_include_path()=".$ip."<br>";

次の出力がされました。

get_include_path()=..:/home/xxx/www/pear/PEAR/

従って、インクルードパス指定は通っていると思われるのですがなぜ
CUI上からのコマンド実行をした場合 や メール受信のトリガからコールされた場合に
abc.phpに記載した require_once('Mail/mimeDecode.php');  の部分で
なぜ、失敗してしまうのか分りません・・・

うーん、参ったぁ〜〜〜
0183nobodyさん2010/08/12(木) 00:58:40ID:???
make時の設定によるが、apacheから実行した場合と、CUIから実行した場合で、
それぞれ別のphp.iniを参照するようになっている場合がある。

php -c 〜で直接iniファイルを指定する方法もあるから、調べてみ
0184nobodyさん2010/08/12(木) 01:14:46ID:???
ソース内でset_include_pathやini_setで設定する
0185nobodyさん2010/08/12(木) 03:26:14ID:???
>>183 >>184 
何だか出来たっぽいです!!
ほんとーにありがとうございます!!!

うれしぃーーーー!!
0186nobodyさん2010/08/12(木) 11:13:04ID:???
【OS名】WindowsXP
【PHPのバージョン】5.2.13
【連携ソフトウェア】MySQL
【質問内容】

PHPからMySQLに持続的接続をしたいのですが

mysqli_connect('p:localhost');
これを実行しても

Unknown MySQL server host
と言われてしまいます。

p:を外すと接続できます。
何か使い方間違えているのでしょうか…?
0187nobodyさん2010/08/12(木) 11:21:16ID:???
5.3からなのではないでしょうか
http://php.net/manual/ja/mysqli.persistconns.php
0188nobodyさん2010/08/12(木) 11:42:07ID:???
>>187
ほんとだΣ
ありがとございました!
0189nobodyさん2010/08/12(木) 17:20:40ID:PSNYtZ9G
JavaScriptでの文字数カウントとPHPでの文字数カウントが違うので調べたところ、
サーバに渡ってきている文字列の改行コードが\r\nになっていることに気づきました。
これはOSとブラウザによって変わる部分ですよね
今まで意識していなかったのですが、
本来は文字列のバリデーション等をする前に、
改行を\nに統一するフィルタをかける必要があったのでしょうか?
今までDBに格納したデータも混在した改行コードが入っていると思うとへこみます
0190nobodyさん2010/08/13(金) 01:39:53ID:CCRng8uM
http://経由で呼ばれてる時と
ローカルのコマンドラインから呼ばれてる時ってどのように判断したらいいでしょうか?

昨日あげたphpで
$debug = true;
としたままアップロードしてしまって大変な目に会ったんで
自動的に判断してくれるようにしたいのですが

0191nobodyさん2010/08/13(金) 02:01:26ID:???
>>190
各々で実行した時の$_SERVER変数の違いを確認してみたら?

または、コマンドラインからは引数付きで起動し、argc、argvの有無をみるとか
0192nobodyさん2010/08/13(金) 02:37:17ID:???
>>191
ありがとうこざいます。
0193nobodyさん2010/08/13(金) 04:16:01ID:???
fopen を a の追記のみで開いたファイルってロックする必要なし?
0194nobodyさん2010/08/13(金) 10:07:59ID:21Z4+sGW
変数に格納していない配列の値を任意の添字で取り出すのってできないのかなあ
イメージ的には array(1,2,3)[2] みたいな
0195nobodyさん2010/08/13(金) 11:16:26ID:???
そうする必要性がある事ってあるの?
0196nobodyさん2010/08/13(金) 11:36:45ID:???
perlはできるね まあ、一旦変数に入れればよろし。
0197nobodyさん2010/08/13(金) 11:43:14ID:???
>>195
たとえば $value に任意の値が入ってくるとして、

<?php
$kari[0] = 'yes';
$kari[1] = 'no';
?>
<b><?php echo $kari[$value]; unset($kari) ?></b>

こんなん書かずに

<b><?php echo array('yes', 'no')[$value] ?></b>

この1行で済ませられたらいいなと

あとはexplodeで分割した中からn番目を取り出すときに
一旦配列変数に格納するのもなんか嫌だ

>>196
うー、なんとかならんのかね
0198nobodyさん2010/08/13(金) 11:52:09ID:???
メールを受信したらPHPにて受信メールを解析するプログラムを
作成しているのですが、次のコードがどうしても分りません。
どの様に記述すれば良いかご伝授下さい。

<知りたいコード>
・添付されたファイルの総数
・添付されたファイル名称の取得
・送信先メールアドレス
 ⇒ 送信元では無く、送信先のメールアドレスです。


<参考にしているサイト>
http://www.aiwake.co.jp/modules/bulletin/index.php?page=article&storyid=4
0199nobodyさん2010/08/13(金) 14:45:22ID:???
case "image": 以下でカウント取れば?
ファイル名は $part->ctype_parameters['name'] 
あて先は $structure->headers['to']

いろんな形でメールくるので、携帯の対応したかったら
いろんなメール送って $structure 見てみるといいよ。いろいろ足りない。
0200nobodyさん2010/08/13(金) 15:06:36ID:???
>>197
array_searchってやつを使ってみたら?
俺は使ったことないけどそれっぽいと思う
0201nobodyさん2010/08/13(金) 15:54:50ID:???
>>199
ありがとうございます。
添付ファイル数については、

$cnt = count($structure->parts);

として取得する事が出来ました。

しかし、実際の添付ファイル数 + 1 が $cnt には入る様なのですがこれは仕様なのでしょうか?
0202nobodyさん2010/08/13(金) 16:21:00ID:???
>>201
それだと本文の分がプラスされてるでしょ
0203nobodyさん2010/08/13(金) 16:26:28ID:???
まず198はメールの仕様を知るべきだ
0204nobodyさん2010/08/13(金) 16:35:58ID:???
>>201
蛇足だが、本文無しで添付だけされた場合に
multipartになる場合もあるし、そうでない場合もある
>>198のサイトのサンプルは、>>199さんが言うように色々足りないよ

あと次からIDだしてね
0205nobodyさん2010/08/13(金) 16:45:15ID:???
>>202
ありがとうございます。

>>203
正直メールの仕様と言うかプロトコル的な部分をあまり理解していませんでした。
勉強します。

>>204
本文無しで投稿した場合に mutipart になるなんて予想もしてませんでした。
他にも幾つか、こういった内容を詳しく解説しているサイトも同時に見ていたのですが、
無駄にコードが長くて >>198 のサイトは短くて凄い!
と思ってましたがそれが間違いだと気付かされました。

IDの表示・非表示を同制御したら分りません。
0206nobodyさん2010/08/13(金) 17:00:52ID:???
>>205
>>1
>◆質問する時の注意
>・ スレを上げて自分のIDを表示させること。(メール欄に何も記述しない。専ブラのsageチェックを外す)
0207nobodyさん2010/08/13(金) 17:21:45ID:2GOnN1Mf
sage 外しのチェック
02082052010/08/13(金) 20:09:13ID:2GOnN1Mf
>>198のサンプルコードはやはり抜けが多い様なので
より詳しく信頼出来る解説サイトを探しまして何とか
それらしきサイトを見つけました。

http://d.hatena.ne.jp/ya--mada/20080415/1208318475

ただ、一点このコードでも漏れがある様で、
添付ファイルに日本語が含まれている場合に、
ファイル名称を正常に取得する事が出来ません。

文字化けを回避する為に次の様に取得したファイル名に
対しても文字コードをSJISにする様にしたのですが
やはりダメでした。

$fileName = mb_convert_encoding($fileName,"SJIS","auto");

メールに添付されたファイル名が日本語の場合でも
文字化けせずにファイル名を取得するにはどうすれば良いでしょうか?
0209nobodyさん2010/08/13(金) 20:28:38ID:???
メールだと文字コードはISO-2022-JPでしょauto指定しても含まれてないから意味無い
02102052010/08/13(金) 20:33:21ID:2GOnN1Mf
>>209
どうすれば日本語が含まれるファイル名を
文字化けせずにファイル名称を取得する事ができますでしょうか?
0211nobodyさん2010/08/13(金) 21:35:25ID:Ps4VPPCk
質問です。
配列をarray_mergeで結合したいのですが
配列の数が可変の場合はどのように処理すればいいのでしょうか

以下のように試行錯誤しているのですが・・・

$count = count($data);
for ($i=0; $i<$count; $i+=2) {
     $arr[] = array_merge($data[$i], $data[$i+1]);
}
0212nobodyさん2010/08/14(土) 03:25:34ID:QXgWu0QA
昨日XAMPPをインストールしてPHPをはじめた初心者なのですが
count(array);の部分で
Fatal error: Call to undefined function conut() in C:\xampp\htdocs\index.php on line 41
とのエラーがでます

count()が無いってことは標準関数が読み込めていないってことですよね……?
PathはC:\xampp\php;には通しました
どうすればいいのかさっぱり分からなくて困っています……
初歩的ですが自分にはどうしようもないのでアドバイスをお願いします
02132052010/08/14(土) 03:29:45ID:???
どなたか >>208 についてご存知の方はいませんか?
0214nobodyさん2010/08/14(土) 04:27:01ID:???
>>205
ttp://www.emaillab.org/essay/japanese-filename.html
0215nobodyさん2010/08/14(土) 05:55:53ID:???
>>212
おちついてエラーメッセージをよく読みなされ。
コナットなんて知らないよっと。
0216nobodyさん2010/08/14(土) 07:48:33ID:???
>>211
何をしたいのか分からない。
こうしたいというサンプルだして。
0217nobodyさん2010/08/14(土) 11:05:56ID:???
>>213
どう文字化けするのか分からないから答えようがない
0218nobodyさん2010/08/14(土) 12:00:34ID:???
>>217
日本語のファイル名を取得した場合に

isoSFKAJEIWWRJOEIASIFAJSDFLFKDSLFAS

isoから始まる文字化けしたファイル名になります。
0219nobodyさん2010/08/14(土) 12:52:09ID:???
>>218
mb_decode_mimeheaderは試したの?
http://jp.php.net/manual/ja/function.mb-decode-mimeheader.php
02202112010/08/14(土) 14:27:48ID:FqgoYzWt
>>216
$data[] = array('aaa', 'bbb', 'ccc');
$data[] = array('xxx', 'yyy', 'zzz');
$data[] = array('111', '222', '333');
$data[] = array('555', '666', '777');

$arr = array_merge($data[0], $data[1], $data[2], $data[3]);

print_r ($arr);

$dataをプログラム内で生成するため、数が可変になります。
array_mergeの引数を、動的に対応させるにはどうすればいいのでしょうか
0221nobodyさん2010/08/14(土) 15:07:04ID:???
>>219
日本語も文字化けせずにファイル名を取得する事が出来る様になりました。
どうもエスパー!!

ありがとうござます!!
0222nobodyさん2010/08/15(日) 00:14:01ID:???
>>220
$arr = array();
foreach ($data as $val)
$arr = array_merge( $arr , $val);
print_r ( $arr );
0223nobodyさん2010/08/15(日) 02:05:05ID:i1OePLJX
さくらインターネットでは、
mcrypt_module_open
この関数って使えないのですか?

Call to undefined function とかエラーが出ます。
さくら鯖は、phpがcgiとして定義されているから無理なのかな・・・?

02242232010/08/15(日) 03:20:13ID:???
Pearを使用して暗号化する事にしました。
そこで解説サイトを参考に、次のコードを記述したところ
関数が無いとエラーが出てしまいます。

■記述したコード
include_once "Crypt/Blowfish.php";
$key = "this is secret";
$iv = substr(md5(uniqid(rand(), 1)), 0, 8);
$blowfish =& Crypt_Blowfish::factory('cbc', $key, $iv); //←ここでエラー発生

■エラー内容
Fatal error: Call to undefined method Crypt_Blowfish::factory()
in /home/XXXXX/www/test_xxxxx.php on line xx

■参考にしてるサイト
http://www.phppro.jp/phptips/archives/vol17/3

■サーバ名
さくらインターネット

■補足事項
Crypt_Blowfishのパッケージのインストールは完了しているのに
一体なぜだろう?思い、 Crypt_Blowfish.php のコードを直接確認したところ
factory() という関数は定義されていませんでした。

一体どうすれば
Crypt_Blowfish::factory
でエラーが出なくなるのかお教え下さい。
0225nobodyさん2010/08/15(日) 12:15:50ID:???
223ですが
自己解決しました。
0226nobodyさん2010/08/15(日) 15:11:23ID:???
phpのオブジェクトを作るときに、staticとインスタンス作る方法と
違いがありますか?

staticは若干速いって聞いたことが理ます。
0227nobodyさん2010/08/15(日) 15:22:07ID:???
理ます でうすか。そうですか。
0228nobodyさん2010/08/15(日) 17:35:36ID:???
リクエストされたURLをサーバ側で文字列関数を使用してチマチマと
必要なデータを取得しているのですが、
あまりスマートでは無い気がするので、

PHPで正規表現を使用して一度に効率よく取得したいです。

例)

次の様なURLのリクエストが来た場合に

http://hogehoge.co.jp/name=tarou&age=25&nick_name=tarou_chan

name > tarou
age > 25
nick_name > tarou_chan

という具合に、一度にデータを取得したいです。
ご指南の程宜しくお願い致します。

※正規表現が苦手です。
0229nobodyさん2010/08/15(日) 18:02:09ID:???
いい加減テンブレ100回見てから書き込もうぜ
0230nobodyさん2010/08/15(日) 18:56:40ID:???
co.jp/?name=tarou
echo $_GET['name']; tarou
0231nobodyさん2010/08/16(月) 01:28:27ID:qDGyYfXE
>>230
すみません。
GETパラメータでは無く特定の文字列の中から
正規表現を使用して取得したいです。

ご指南の程宜しくお願いします。
0232nobodyさん2010/08/16(月) 03:06:42ID:???
なにをしたいのかわからんが/([=|&])/
02331352010/08/16(月) 10:48:34ID:???
FPDFを使っている皆さんは、文字を書き込む座標は
どういう方法で調べてるんでしょうか?
印刷して定規でとか?
0234nobodyさん2010/08/16(月) 15:22:34ID:si4Gdkye
質問させてください。
imgchanger.inc.phpというプラグインを導入しようとココを見ながら
勉強しているのですが動きません。↓
http://dpura.web6.jp/dc/index.php?imgchanger1

そもそも説明に書いてある、サーバのアップ先「plugin」が見当たらないので、
適当な場所にアップして使っているのですが、それが原因でしょうか。
何処にアップすれば動くのでしょうか?
サーバーはさくらのスタンダードを使っています。

使用時は #imgchanger(〜〜〜 と一行書いた.phpファイルをアップして
アクセスすれば任意の画像が表示されるのでしょうか?
下らねぇ質問ですみませんがよろしくお願いします。
0235nobodyさん2010/08/16(月) 15:38:37ID:???
そのサイトが売っているソフトのプラグインだから単体じゃ動かないよ
0236nobodyさん2010/08/16(月) 15:51:06ID:???
>235
なんとそうでしたか。
とんだマヌケ野郎で失礼しました!首つってきます。

ありがとうございました。
0237nobodyさん2010/08/16(月) 16:41:51ID:si4Gdkye
度々すみません。
10分に一回くらい画像を自動で切り替えたいんですが、
PHPっていうのはサイトを読み込んだ時に一回動くだけなんですかね?
↑みたいな事をやるのには向いて無いんでしょうか。

ほんっとに下らねぇ質問ですみませんが、
これでも半日いろいろやってダメでして、、どなたか教えて頂けると助かります。
0238nobodyさん2010/08/16(月) 16:46:35ID:???
リフレッシュすりゃいいんじゃね?
0239nobodyさん2010/08/16(月) 16:49:13ID:???
meta refreshでぐぐれ
0240nobodyさん2010/08/16(月) 16:51:50ID:???
そんなもんはPHPじゃなくてjavascriptでやれボケ
0241nobodyさん2010/08/16(月) 17:05:18ID:???
>>237
>>240
0242nobodyさん2010/08/16(月) 17:12:53ID:???
>>238・239
ありがとうございます。
refreshだと全体が一度に更新されたりしないですかね?
試してみます!

>>240
javaの方が良いんですか。。
javaって何故かブラウザにoffにするオプションとか有って怖いんですが。
ちょっと検討してみます。
レスありがとうございました!
0243nobodyさん2010/08/16(月) 17:13:48ID:???
>>241
240に同意って事ですか。ありがとうございますー。
0244nobodyさん2010/08/16(月) 17:33:40ID:???
javaとjavascriptの違いも知らんやつまだいるのか
0245nobodyさん2010/08/16(月) 17:37:55ID:???
PHPで文字列を日付型文字列に整形したいのですが、
どう記述すれば良いでしょか?

具体的には、 <A>という文字列を<B>の
形式に整形したいです。

date()関数を使用して色々と試したのですが
うまくいきません。

<A>
"20100816173025"

<B>
"2010-08-16 17:30:25"

宜しくお願いします。
0246nobodyさん2010/08/16(月) 17:51:13ID:???
>>245
date("Y-m-d H:i:s",strtotime("20100816173025"));
0247nobodyさん2010/08/16(月) 18:00:19ID:???
>>246
わんだほぉー!
ありがとうございます。
0248nobodyさん2010/08/16(月) 23:05:38ID:NVc5DNIf
神IDに期待
0249nobodyさん2010/08/17(火) 01:53:23ID:N/NOPdMX
【OS名】CentOS
【PHPのバージョン】PHP 5.1.6
【連携ソフトウェア】MySQL
【質問内容】 現在、PHPのあるページにアクセスすると、
直接DBを参照してしまいます。
DBに負荷をかけないようキャッシュを設けたいのですが、どのようにして作成したら
よいか分かりません。
まず、何を始めたらよいのか、とっかかりになるHPでもよいので紹介していただけたらと思います。
0250nobodyさん2010/08/17(火) 04:25:44ID:???
PEAR::Cache_Liteで検索してみるといいかも
0251nobodyさん2010/08/17(火) 09:31:04ID:uKPof48B
あるディレクトリ以下の特定の名前のファイルをすべて数えるにはどうしたらいいでしょうか?
02522512010/08/17(火) 09:44:28ID:uKPof48B
追記
あるディレクトリ以下にはさらにたくさんのサブディレクトリがあります。
0253nobodyさん2010/08/17(火) 09:47:21ID:AKU20fgm
syoboi situmon suruna kasu
0254nobodyさん2010/08/17(火) 13:14:29ID:???
>>250
ありがとうです
0255nobodyさん2010/08/17(火) 18:07:04ID:???
今からPHP5の勉強しようと思ってるのですが皆さんどうやって勉強しましたか?
最初はHTMLの基本から勉強すべきですかね?
0256nobodyさん2010/08/17(火) 18:52:59ID:???
Pearで使う頻度が高くて便利な機能の一覧を解説している
サイトをご存知の方がいましたら教えて下さいませんか?

これまでは、我流スクリプトで独自実装してましたが、
Pearには、便利な機能がFWとして提供されているらしいので、
そちらを使った方が効率が良さげなので使いたいです。
0257nobodyさん2010/08/17(火) 19:54:24ID:???
Pearに限らないけど、phpspotとmoongiftはRSS登録していると
たまにいい情報に巡り会える。
0258nobodyさん2010/08/18(水) 14:35:15ID:???
ディレクトリ内のjpeg画像ファイルを001.jpg,002.jpg,003.jpgといった具合に連番にリネームしたいのですが、
最初の一枚しかリネームされないか、ファイルが壊れてしまいます。
rename関数を使ってループさせるのだと思うのですが、
他の関数と組み合わせて動かすことができず困っています。
よろしくお願いします。
0259nobodyさん2010/08/18(水) 14:46:19ID:???
>>258
renameの代わりにprintfして君が思ったとおりのファイル名を
作れてるかどうか確認してみ。まずはそこからだ。
0260nobodyさん2010/08/18(水) 15:20:58ID:???
>>258
小学生でも分る様な質問をするなカス。
0261nobodyさん2010/08/18(水) 15:34:26ID:???
テンプレも読めねぇんじゃ扱えねぇよカス
0262nobodyさん2010/08/18(水) 17:20:00ID:N2bGiHq+
ある文章をhtmlspecialchars()して、その文に含まれるURLをpreg_replace()にてリンクに置き換える処理を行っているのですが
hrefの中だけ「&」が勝手に「&」になってしまいます。

この現象が起きる原因、対策をお教えください。
PHPVersionは 5.3.1 です。

■ サンプル
$str = 'http://test.com/?test=aaa&test2=bbb';
$str = htmlspecialchars($str); // この時点では&'

$link = preg_replace('/(http.+)/', '<a href="$1">$1</a>', $str);
// 結果 => '<a href="http://test.com/?test=aaa&test2=bbb">http://test.com/?test=aaa&;test2=bbb</a>'
// hrefの中だけ「&」となってしまう。
0263nobodyさん2010/08/18(水) 17:20:23ID:???
printfで表示させたらimg_1.jpgimg_2.jpegimg_3.jpg…と画像ファイル名が連続で表示されます。
ここからがわからないです。
このままrename()を使うと画像が一枚だけ9.jpgにリネームされて(元々ディレクトリの中に画像は9枚)残りの画像は消えてしまいます。

配列に入れて操作するのでしょうか?
だとしても、その関数が調べたんですが分かりません。


あと、人のことカスとか言うんじゃありません。
0264nobodyさん2010/08/18(水) 17:21:31ID:???
>>263は、>>258です。
0265nobodyさん2010/08/18(水) 17:22:43ID:N2bGiHq+
ある文章をhtmlspecialchars()して、その文に含まれるURLをpreg_replace()にてリンクに置き換える処理を行っているのですが
hrefの中だけ「&amp;」が勝手に「&」になってしまいます。

この現象が起きる原因、対策をお教えください。
PHPVersionは 5.3.1 です。

■ サンプル
$str = 'http://test.com/?test=aaa&test2=bbb';
$str = htmlspecialchars($str); // この時点では&amp;

$link = preg_replace('/(http.+)/', '<a href="$1">$1</a>', $str);
// 結果 => '<a href="http://test.com/?test=aaa&test2=bbb">http://test.com/?test=aaa&amp;test2=bbb</a>'
// hrefの中だけ「&」となってしまう。



&amp;が消えてたので2byteで再投稿ですorz
0266nobodyさん2010/08/18(水) 17:48:13ID:???
別にそんなことにはならん
ブラウザで表示したときの話?
0267nobodyさん2010/08/18(水) 18:03:20ID:N2bGiHq+
原因がわかりました
別途行っているXSSの処理で置換されていたようです
エスパーさせてごめんなさい
>>266さんありがとう!
■ このスレッドは過去ログ倉庫に格納されています