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

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

■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん2005/11/25(金) 21:16:56ID:???
PHPに関するくだらねぇ質問用スレです。
ここなら本スレで回答のないお前の下らない質問に回答があるかも知れません。
次スレは>>970あたりが建てて下さい

・過去スレ
【PHP】くだらねぇ質問はここに書き込みやがれ
http://pc5.2ch.net/test/read.cgi/php/1099322141/
【PHP】くだらねぇ質問はここに書き込みやがれpart2
http://pc5.2ch.net/test/read.cgi/php/1105218084/
【PHP】くだらねぇ質問はここに書き込みやがれpart3
http://pc5.2ch.net/test/read.cgi/php/1107780435/
【PHP】くだらねぇ質問はここに書き込みやがれpart4
http://pc8.2ch.net/test/read.cgi/php/1110697712/
【PHP】くだらねぇ質問はここに書き込みやがれpart5
http://pc8.2ch.net/test/read.cgi/php/1114787573/
【PHP】くだらねぇ質問はここに書き込みやがれpart6
http://pc8.2ch.net/test/read.cgi/php/1117945031/
【PHP】くだらねぇ質問はここに書き込みやがれpart7
http://pc8.2ch.net/test/read.cgi/php/1121100429/
【PHP】くだらねぇ質問はここに書き込みやがれpart8
http://pc8.2ch.net/test/read.cgi/php/1123431535/
【PHP】くだらねぇ質問はここに書き込みやがれpart9
http://pc8.2ch.net/test/read.cgi/php/1125716012/
【PHP】下らねぇ質問はここに書き込みやがれpart10
http://pc8.2ch.net/test/read.cgi/php/1127581425/
【PHP】下らねぇ質問はここに書き込みやがれpart11
http://pc8.2ch.net/test/read.cgi/php/1129582431/
【PHP】下らねぇ質問はここに書き込みやがれpart12
http://pc8.2ch.net/test/read.cgi/php/1130835396/
07847832005/12/14(水) 12:44:48ID:TiHY5j3U
ID表示します。
0785nobodyさん2005/12/14(水) 12:49:52ID:???
数字が出現した以降の文字列を取得したいのですが、
strstr($data,"[0-9]*")
ではだめでした。
なにかよい方法はないでしょうか。
0786nobodyさん2005/12/14(水) 12:54:55ID:???
>>785
strstrでは正規表現使えない。
自分で関数を書く
0787nobodyさん2005/12/14(水) 13:08:05ID:???
>>783
ヒント:引数
0788nobodyさん2005/12/14(水) 13:10:37ID:???
>>783
だから、一部だって書いたのに……。
mb_encode_numericentity
07897852005/12/14(水) 13:15:21ID:???
>>786
やはりそれしかないですか。
ありがとうございました。
07907252005/12/14(水) 13:29:00ID:???
move_uploaded_fileの件なんだけどファイル名に数字入るとだめなんですね
バグと言って良いのかなぁ・・・
誰か検証頼みます

Apache2.0.54.0+PHP5.1.1+WindowsXP PS2

move_uploaded_file($_FILES['a']['tmp_name'][$i],'./test.jpg'); ← 成功

move_uploaded_file($_FILES['a']['tmp_name'][$i],'./test1.jpg'); ← 失敗
0791nobodyさん2005/12/14(水) 13:40:16ID:???
>>790
お前、まさかその2行を同時に書いてるわけじゃないよな
moveは移動だから一回移動したら元は無くなるからね
07927252005/12/14(水) 13:55:55ID:???
>>791
それはない(^^;
なんかmove_uploaded_fileの前に他の処理をすると影響を受けている感じかな
07937252005/12/14(水) 14:19:12ID:???
わかった!!
apacheをインストールしたディレクトリに作成されてた(笑
apache入れ替える時に気づいたよ・・・
って、これって問題ないのか(−−;
0794nobodyさん2005/12/14(水) 16:12:36ID:???
>>785
preg_replace('/([0-9].*)/)', '\\1', $data);
07957942005/12/14(水) 16:13:24ID:???
書き間違った
preg_replace('/([0-9].*)/', '\\1', $data);
0796nobodyさん2005/12/14(水) 16:15:27ID:???
>>793
環境変数TEMPの設定ミスじゃないの?
0797nobodyさん2005/12/14(水) 16:40:39ID:???
>>796
TEMPじゃなくTMP
07987252005/12/14(水) 17:22:09ID:???
>>796
いや、tmpにしてもアップロードフォルダにしても弄ってないからc:\woindows\tmp or tempだよ
それに一時ファイルはPHPの処理が終了した時点で消えるしファイル名も違うから間違いないよ
絶対パスを指定しない時に問題があるファイル名とそうでないファイル名があるみたい。
絶対パスで指定したら問題ないみたいだし、まぁ良いかなぁ。
0799nobodyさん2005/12/14(水) 18:13:36ID:???
>>793
カレントディレクトリの問題?
DOCUMENT_ROOTはどこになってるんだそれ
08007252005/12/14(水) 18:29:23ID:???
ServerRoot "C:/Server Files/Apache2"
DocumentRoot "C:/public_html"

おそらくカレントディレクトリの問題。
あぁ、これってroot権限で動いてるような馬鹿鯖でスペース提供してたり
するとはっくれるかもね。私は興味ないから挑戦しないけど(^^;。
0801nobodyさん2005/12/14(水) 19:00:12ID:???
┐(´ー`)┌
0802nobodyさん2005/12/14(水) 21:12:10ID:???
phpでディレクトリ作ってそのディレクトリの中にlogファイルをこしらえようとした。
mkdirでディレクトリの生成には成功したものの、その中にlogファイルをfopenの
"a"モードで作成しようとしたらエラーが返された。

Warning: fopen(): SAFE MODE Restriction in effect. The script whose uid is 11040
is not allowed to access /tmp/directory_A owned by uid 1000

よく調べてみると、mkdirで生成したdirectory_Aというディレクトリの所有者がapacheに
なっていて、他のuploadしたファイルの所有者が自分のアカウント名だったのと比べて
違っていることが分かった。もうひとつ気になった点は属性が755(rwxr-xr-x)となっていた点かな。

なんとかこのディレクトリの中にファイルを生成できるようにならないかな?
0803nobodyさん2005/12/14(水) 21:31:32ID:???
CGI版PHPまたはFTP
0804nobodyさん2005/12/14(水) 21:47:40ID:???
>>803
なんで素のPHPじゃディレクトリ作ってその中にファイル作れないかね・・・?
0805nobodyさん2005/12/14(水) 22:56:50ID:???
XREAスレの人ですか?
0806nobodyさん2005/12/14(水) 23:03:05ID:???
>>804
Apacheさんが作ったディレクトリをどこの馬の骨とも知れない
お前なんぞに弄らせるかよwww ってこと
0807nobodyさん2005/12/14(水) 23:31:12ID:???
>>804
つーかsafe_modeの方が素では無い罠
08088022005/12/14(水) 23:48:49ID:???
>>805
( ´∀`)ノ < そうそう、あっちのスレから島流しにあってきた

>>806-807
xreaに限らずレン鯖はどこもsafe_modeでの運用が多いってことかね( ゚Д゚)?

cgiならディレクトリつくってその中にいくらでもファイル作成できるっていうのに
なんかPHPだけ不公平って感じやな。ディレクトリ作って中にファイル作りたい
なんて需要は結構あるやろ。つ〜か何層も入れ子にしてディレクトリを作りたい
なんて贅沢なことは言わないから、せめて1層のディレクトリを作ってそのなかに
ファイルを生成することくらい許可してくれってことよ、俺が言いたいのは(´ー`)y−~~~
0809nobodyさん2005/12/14(水) 23:57:11ID:6RnHukHD
簡単そうに思えて、全然思いつかないです。
変数内に$hoge='"hoge1" . "hoge2"'
と入っていて、$hogeから、最終的に
hoge1hoge2
を得たいのですが、どのようにしたら良いでしょうか?
0810nobodyさん2005/12/14(水) 23:59:01ID:???
ディレクトリもファイルも好きなだけ作れる
UIDかGIDでの同一性が要求されるだけ

要は「他人のファイルが覗ける」状態をどう考えるか
0811nobodyさん2005/12/15(木) 00:05:51ID:???
>>809
それだけなら余計なものを空白に置換するだけでいい
どういうデータを前提してるのかわからんから答えようが無い
CSV的なものなら正規表現で拾ったら?
0812nobodyさん2005/12/15(木) 00:14:05ID:???
正直safe_modeなんていう怪しい動きのする機能は使わないのが正解では?
0813nobodyさん2005/12/15(木) 00:14:18ID:???
>>808
1個くらいなら自分で作れ
0814nobodyさん2005/12/15(木) 00:14:50ID:???
>>812
具体的に
08158022005/12/15(木) 01:09:42ID:???
>>813
> 1個くらいなら自分で作れ

残念ながら月毎に一つフォルダが作られる。
年に1個くらいならそりゃ自分でフォルダくらいつくってもいいですよ、って思えるが
流石に月一は(;´Д`)・・・
0816nobodyさん2005/12/15(木) 01:11:47ID:???
そんな物Perlと併用すれば良いだけだろ
0817nobodyさん2005/12/15(木) 01:12:05ID:???
読んでないけどまたエスパー希望のアホ質問か
ディレクトリの有無なんて設計でどうとでもなるだろうに
0818nobodyさん2005/12/15(木) 01:16:40ID:???
読め
即行解答でてる
0819nobodyさん2005/12/15(木) 01:17:46ID:???
>>815
今日12個作れよ
08208022005/12/15(木) 01:31:58ID:???
>>810
> ディレクトリもファイルも好きなだけ作れる
> UIDかGIDでの同一性が要求されるだけ
>
> 要は「他人のファイルが覗ける」状態をどう考えるか

user権限でPHPにアクセスした結果作られるディレクトリの所有者はapacehだったけど
さらにその中に作られるファイルの所有者もapacheということにすればUID/GIDは同一
だから問題ない気がするけど・・・

>>819
> 今日12個作れよ

( ゚д゚)・・・

(゚Д゚)ハッ!
0821nobodyさん2005/12/15(木) 01:33:47ID:???
そのファイル作成を実行してるスクリプトが誰のものか考えろ
つーかまずマニュアル読め
0822nobodyさん2005/12/15(木) 01:35:25ID:???
>>820
こっち見んなw
0823nobodyさん2005/12/15(木) 01:42:58ID:???
まあぶっちゃけこんなとこで聞くよりマニュアル読んだほうが速いよな
0824nobodyさん2005/12/15(木) 02:29:19ID:???
プログラム以前にやる気ぐらい出せよ
08258022005/12/15(木) 02:33:07ID:???
やる気か・・・
ニートの俺が今一番欲しいものの中の一つだな(´・ω・`)・・・
0826nobodyさん2005/12/15(木) 02:38:49ID:???
systemでmkdir→chmod 777ってのは無理?
0827nobodyさん2005/12/15(木) 02:46:08ID:???
chmodしてもumaskの影響があるしなぁ。
まぁ、それ以前にchmod自体が許可されない場合もあるが。
0828nobodyさん2005/12/15(木) 02:48:13ID:???
>>809
$hoge='"hoge1" . "hoge2"';
eval('$hogehoge = ' . $hoge . ';');
print $hogehoge;
0829nobodyさん2005/12/15(木) 02:49:52ID:???
>>816
せめてCLI版PHPとの併用にしよーぜw
0830nobodyさん2005/12/15(木) 02:51:44ID:???
セーフモードでsystem?
だいたいパーミッション関係ないし
08318022005/12/15(木) 02:55:55ID:???
>>826
chmodでアクセス権は変更できたけど、ファイルを生成する段階でやはり
「UIDが違う」という理由で失敗するみたい(´・ω・`)ショボーン
0832nobodyさん2005/12/15(木) 03:00:29ID:???
mkdir→chown…はさすがに無理か?
0833nobodyさん2005/12/15(木) 03:06:50ID:???
>>829
すでにある資源を使えばいいと思うが
XREAがオフィシャルで用意してるものがあるわけで
0834nobodyさん2005/12/15(木) 04:58:52ID:???
>>802
だからさ、mod_phpのsafe_modeはそういう仕様なんだから諦めろっての。
CGIで動かすなり何なり手段は残されてるんだからさ。
0835nobodyさん2005/12/15(木) 05:18:35ID:???
>>808
> なんかPHPだけ不公平って感じやな。
実行速度を高速にする代わり共有で使うにはセキュリティ的に危険な
Webサーバーのモジュールとして動かそうとしてるための措置。
別に、Perlと同じCGIで動かすようにすればその辺の弊害はなくなる。
その代わり、PerlなCGIよりもっと遅いけどw
0836nobodyさん2005/12/15(木) 05:27:51ID:???
プロセスとスレッドで実行速度が変わるというのは新説だな
0837nobodyさん2005/12/15(木) 05:30:46ID:???
CGIはシェル経由で呼び出すんだから
レスポンスが当然遅いだろが
0838nobodyさん2005/12/15(木) 05:37:41ID:???
実行速度
0839nobodyさん2005/12/15(木) 05:39:11ID:???
処理速度は一緒。実行速度は遅い。ってことじゃねーの?
0840nobodyさん2005/12/15(木) 05:47:44ID:???
>>837
パスを解釈してバイナリ叩いてるのはWeb鯖じゃないのん?
0841nobodyさん2005/12/15(木) 05:53:02ID:???
もしかしたらSynchronizeのコストのことを言ってるんです
0842nobodyさん2005/12/15(木) 05:53:40ID:???
あー。Winodwsサーバーだとそういう動きになるのか。
0843nobodyさん2005/12/15(木) 05:54:24ID:???
Winodwsってなんだw
0844nobodyさん2005/12/15(木) 06:13:00ID:???
>>840
いやWinの話じゃないよ
0845nobodyさん2005/12/15(木) 06:37:41ID:TFBuiRij
女という生き物は、大体、シャワーついでに風呂場でシッコもしてて
便秘で、パンツにウンスジが付いてて、パンツはオムツみたいにオールウェイズ汚くて
めこが臭くて、男より足も臭くて、寝起きが別人で、寝起きの息が臭くて
隠し事が好きで、オパーイがデカイと喜んで、オケーツがデカイと悲しんで
愚痴、陰口、人の噂話が好きで、相談が趣味で、基本的に甘えん坊将軍で
基本的にMっ気があって、取り扱い危険物で、基本的にちょっとアホで
泣き虫で、ムッツリスケベで、変なところで深読み、裏読みして自爆して、男に振り回されるのが趣味で、一喜一憂するのが好きで
お金が好きで、基本的に臆病だけど反面、冒険が好きで、芋系統が好きで
男によく騙されるのが趣味で、でもそのかわり、化粧と詰め物と補正下着で男を騙すのが趣味で
ダイエット中らしいのに何故か甘い物とかお菓子食ってて、イベントごととか行事ごと、記念ごととかが好きで
Hしたい時は恥ずかしいから基本的に自分からHしたいとは言わず、Hな下着を装備して
男から言わせたり、誘導したりするのが趣味で、実はよくおならします
0846nobodyさん2005/12/15(木) 07:32:55ID:???
そうだったの( ̄□ ̄;)!!
0847nobodyさん2005/12/15(木) 07:33:53ID:???
>>845
シッコまで読んだ
0848nobodyさん2005/12/15(木) 07:49:08ID:dK1AjZcq
すれ違いかも知れないですが、受信したメールの整形の仕方を解説したサイトを知ってる方いませんでしょうか。
もしくはpearのNet/POP3の使い方を説明してるサイトでもいいんですが。。
0849nobodyさん2005/12/15(木) 08:25:50ID:???
もっとボーイッシュな女の子に出会いたい(´・ω・)
0850nobodyさん2005/12/15(木) 08:28:34ID:???
俺の彼女もうんこついてたけど愛してやったぞ。昔ね。
0851nobodyさん2005/12/15(木) 11:33:24ID:UeTwmalZ
異なるパスに相対参照でincludeしているライブラリにさらに別のパスからincludeするとうまくいかないです

例:

~user/public_html/hoge/hoge.php
-----------------------
<?php
include '../library.php';
-----------------------
↓
~user/public_html/library.php
-----------------------
<?php
include '../db/db_control.php'';
-----------------------
↓ ここ失敗 failed to open stream: No such file or directory in ...
~user/db/db_control.php
-----------------------
<?php ...
-----------------------

しかし~user/public_html/library.phpから同じディレクトリのファイルはincludeできます。
何が原因なのでしょうか・・・
0852nobodyさん2005/12/15(木) 11:38:28ID:???
>>851
最初に実行したファイルのディレクトリをカレントディレクトリとして、
そこからの相対パスで探すから。
0853nobodyさん2005/12/15(木) 11:39:31ID:???
どのファイルでもhoge.php(include元)からのパスを記述する

インクルードされる側のスクリプトからの相対パスを指定したいなら
dirname(__file__)を使う

定数を使って設定ファイルでパスを管理


のいずれか
0854nobodyさん2005/12/15(木) 11:45:05ID:???
呼び出し元である
user/public_html/hoge/hoge.php
が基準となるからでしょ。
0855nobodyさん2005/12/15(木) 11:53:59ID:???
やっぱり呼び出し元が基準なんですね・・
だとすると
~user/public_html/library.phpから同じディレクトリのファイルなら呼び出せるのは何故なのでしょうか。
include_pathに./が含まれてるとしても変な感じがする

ともかくdirnameなど試してみます、ありがとうございました

0856nobodyさん2005/12/15(木) 11:55:06ID:???
呼び出し元つーかワーキングディレクトリね
0857nobodyさん2005/12/15(木) 17:12:18ID:???
こんにちは。
少しお聞きしたいのですが、textに書き込む処理をするプログラムを作った時、
txtに書き込まれたものが文字化けするのですが、どうしてでしょうか?

euc-jpモードでtxtを読み込むときちんと表示されましたが、
普通に開くと文字化けという感じです。

実際、euc-jpで言語書いてるので仕方ないんですかねぇ・・・(´・ω・`)
0858nobodyさん2005/12/15(木) 17:18:06ID:???
>>857
普通に開くってのはどういう意味さ。

euc-jpで書き込まれたテキストを
euc-jpに対応してないエディタで開いたなら、
文字化けしてあたりまえだぞ。
0859nobodyさん2005/12/15(木) 17:18:36ID:???
>>857
他の文字エンコードで書き込みたいのなら、mb_convert_encodingしたものを書き込みましょう。
0860nobodyさん2005/12/15(木) 17:20:51ID:???
>>858,859
即レスありがとうございます。
確かにそうですよね・・・。
失礼しましたorz

mb_convert_encoding勉強してきます。
0861nobodyさん2005/12/15(木) 17:43:03ID:x48kBhXK
メモ帳とかじゃ見れねえよ。
0862nobodyさん2005/12/15(木) 17:58:13ID:???
includeとかで他のPHPファイルとか読み込むととたんに変数の扱いが難しくならない?
PHPって基本的に変数はグローバルだから読み込み先のPHPファイルとかでいきなり
見ず知らずの変数とかが登場したりするじゃん。
「この変数は一体どのファイルで定義されたんだろう」
ってことで探したり把握するので一苦労って経験無い?
0863nobodyさん2005/12/15(木) 18:15:40ID:tNJHcKWR
配列Aと配列Bがあるとします。
このAからBと重複する部分を削除した配列Cを出したいのですが、
簡単な方法などはないでしょうか?

イメージとしては 配列C=配列A-配列Bという感じです。
配列Aの中から配列Bの要素を消したいと思っています。
0864nobodyさん2005/12/15(木) 18:16:49ID:???
>>862
>基本的に変数はグローバル

includeでベタソース読もうとするからそうなるんだろ。
functionにまとめるとか、ちゃんと考えて作れば何も苦労しないけど。
0865nobodyさん2005/12/15(木) 18:19:33ID:???
>>863
array_diff
じゃだめか?
0866nobodyさん2005/12/15(木) 18:44:29ID:z/EbHORg
掲示板の書き込みなんかで20行より多いのを20行まで縮めたりするで、
改行ごとに区切って配列に入れて上から20個取り出すより良いやり方ありますか?
0867nobodyさん2005/12/15(木) 18:52:08ID:???
>>866
つttp://jp2.php.net/manual/ja/function.file.php
0868nobodyさん2005/12/15(木) 19:08:32ID:???
書き方が悪かったのですが
その掲示板の書き込みというのは
$kakikomi = "あ\nあ\nあ\nあ\nあ\nあ\nあ\nあ\nあ\nあ\nあ\nあ\nあ\nあ\nあ\nあ\nあ\nあ\nあ\nあ\nあ\nあ\nあ\nあ\nあ";
みたいなデータです。
この$kakikomiを
$kakikomi = "あ\nあ\nあ\nあ\nあ\nあ\nあ\nあ\nあ\nあ\nあ\nあ\nあ\nあ\nあ\nあ\nあ\nあ\nあ\nあ";
こんな風にしたいんです。
0869nobodyさん2005/12/15(木) 19:14:09ID:???
>>868
1:explode
2:数合わせ
3:join

でどう?
0870nobodyさん2005/12/15(木) 19:16:59ID:???
>>869
それにします
ありがとうございました
0871nobodyさん2005/12/15(木) 19:26:36ID:???
PHPでは画像やFLASHなど作れますが、将来的にMIDIも作れるようになるんでしょうか。
0872nobodyさん2005/12/15(木) 19:31:19ID:???
>>871
今でも作ろうと思えば作れますぜ
0873nobodyさん2005/12/15(木) 19:33:46ID:???
>>871
PHPでFlash作れるの?知らなかった・・・。
0874nobodyさん2005/12/15(木) 19:35:12ID:???
ファイルの生成だけならphpに限らず大概の言語で出来るがな
0875nobodyさん2005/12/15(木) 20:26:42ID:???
>>873
CGIったら、ああPerlスクリプトのことが言いたいんだなと同程度には
Flashムービーファイルだと理解してやれよ。
0876nobodyさん2005/12/15(木) 21:08:55ID:lIkliCzn
Smartyのテンプレートにカタカナの「マ」が入っていると
エラーがでてしまいますorz...

文字コードの問題なんだと思いますが、池沼なのでどうす
ればいいか分かりません。

アドバイスおねがいします。
0877nobodyさん2005/12/15(木) 21:10:22ID:???
MIDIってFlashのことなのか?????
0878nobodyさん2005/12/15(木) 21:19:41ID:???
>>875
さすがエスパー伊達じゃないぜ
0879nobodyさん2005/12/15(木) 21:21:06ID:???
エスパー伊東に見えた
0880nobodyさん2005/12/16(金) 00:44:30ID:???
$dateが23か0じゃなかった場合にaaaを出力して、それ以外の場合はbbbを出力します。

if (($date !== 23)or($date !== 0)){
echo "aaa";
}else{
echo "bbb";
}

これだと$dateが23の場合でもaaaが出力されてしまうのですが、どこが間違っているのでしょうか。
0881nobodyさん2005/12/16(金) 00:56:20ID:???
ANDじゃろ
0882nobodyさん2005/12/16(金) 01:01:37ID:???
>>880
$date が 23 の時

$date !== 23 は false
$date !== 0 は true

false or true = true

∴どんな数字を入れても成り立つ。

基本中の基本、というかこんな事で悩むなら作るの向いてないんじゃないか・・?
0883nobodyさん2005/12/16(金) 01:07:43ID:???
>>881-882
ありがとうございました解決しました。
前にも向いてないって言われました…。でも好きなんです。
■ このスレッドは過去ログ倉庫に格納されています