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

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

■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん2006/02/05(日) 22:35:34ID:sf8bx52D
PHPに関するくだらねぇ質問用スレです。
ここなら本スレで回答のないお前の下らない質問に回答があるかも知れません。

まず読め【PHP マニュアル】
http://www.php.net/manual/ja/

本スレ【PHP】質問スレッドpart32【php】
http://pc8.2ch.net/test/read.cgi/php/1136276300/
前スレ【PHP】下らねぇ質問はここに書き込みやがれpart15
http://pc8.2ch.net/test/read.cgi/php/1137236771/

過去スレは>>2
0446nobodyさん2006/02/15(水) 18:32:04ID:???
>>445
PDFLIBはしらべたのかい?
0447nobodyさん2006/02/15(水) 20:43:29ID:???
php pdf ライブラリ でググればいろいろ引っ掛かるんじゃないかな。
上に出てきてないやつだと fpdfとかもあるな。
0448nobodyさん2006/02/15(水) 21:12:05ID:HBKFx6cq
php5.xの最新版をzipをダウンロードしてきたんですが、
sqliteは入っているのでしょうか?どこにもないんです。
phpinfoもみましたがそれらしき文字も見当たりません。
なにかインストールする作業が必要なんでしょうか?
どなたかご教授おねがいします。
0449nobodyさん2006/02/15(水) 21:36:07ID:???
いりません。
sqlite_open()すればインストールされているかどうか分かる
0450nobodyさん2006/02/15(水) 22:19:37ID:???
>>448
Win版しか知らないが、最新版なら作業が必要。
5.1から標準ではなくなった。ライブラリ化されたっぽい。
php.iniの適切な位置に
extension=php_pdo.dll
extension=php_pdo_sqlite.dll
extension=php_sqlite.dll
の3行を順番に記述するがよろし。
Linux版とかでも何らかの作業が必要と思われ。
0451nobodyさん2006/02/15(水) 23:48:30ID:yhYCj6u7
そうだっけ?
04524502006/02/16(木) 00:08:24ID:???
んー、Linux版とか扱わないので確証はないけど、
Win版で非標準(デフォで組み込まれていない)になって、Linux版で標準のままだったら不公平かとw
Win版に関しては間違いなく5.1.0ではデフォでは組み込まれなくなった。
5.0.4→5.1.0Ver.UP時にphp.iniを流用してたらSQLite動かず、原因究明にえらい苦労した。
0453nobodyさんNGNG
ファイルのロック解除とか
クローズに失敗した場合
どう対処したらいいですか?
というかどういう状況になると
失敗するんですか?
0454nobodyさん2006/02/16(木) 01:07:23ID:???
多分OSが勝手にクローズしてくれると思うよ。
0455nobodyさん2006/02/16(木) 01:10:32ID:???
ロック解除の方は分からないけど
0456nobodyさん2006/02/16(木) 01:21:31ID:???
>>455
ロックも
0457nobodyさん2006/02/16(木) 01:21:37ID:???
>>455
そんなことじゃ、立派な泥棒さんにはなれないZO!
0458nobodyさんNGNG
へーそうなんですか。
じゃあスクリプトからしかアクセスしないような
ログファイルとかだったら
失敗してもそのまま終了してしまって問題ないですよね。
0459nobodyさん2006/02/16(木) 01:53:31ID:???
何だその揚げ足取るような口調は。
質問じゃないのか。
0460nobodyさん2006/02/16(木) 01:57:27ID:???
>>458
いいんじゃない?
貧弱なOSじゃなかったらスクリプト(PHPプログラム)が終了すると同時にファイルもクローズしてくれるだろうし。
0461nobodyさん2006/02/16(木) 02:06:41ID:???
くそぉ・・・またPerlの開発だよ・・・
もうPerl忘れちゃったよ('A`)
いや、そんなにPHPとは変わんないけどさ、気分の問題だよ
0462nobodyさん2006/02/16(木) 02:26:03ID:U/SzwaHV
>>450さんありがとうございます。あした会社でSQLiteを導入してみます。
データベースがはじめてなのに土曜日までに会員登録をつくらなあかんのです。
助かりました。ありがとうございます。
04634582006/02/16(木) 02:28:49ID:???
>>459
いやそんなつもりじゃなかったんです。
変な書き方してすみませんでした^^;

皆さんどうもありがとうございました。
0464nobodyさん2006/02/16(木) 02:53:13ID:???
>>461
Perl→PHPってあんまり難しくないけど
PHP→Perlって記号とか色々忘れてて結構きついよな
0465nobodyさん2006/02/16(木) 04:19:25ID:???
ちょっと疑問に思ったので・・・

xreaを使ってるんですが、
拡張子をphpにしてるにも関わらずhtmlとして扱われてしまいます。
もともとはMovable Typeのtmplという拡張子のファイルを、
PHPでカスタマイズしたものなのですが、
Movable Type側で、このファイルをhtmlとして扱うような
処理がしてあると考えるのが妥当でしょうか?
Perlはわからないのでサッパリです・・・

当然、ファイルは拡張子をかえたので、
そのファイルを使っているものに関しては、
拡張子の関連付けを変えました。
0466nobodyさん2006/02/16(木) 04:46:54ID:???
>>465
日本語でおk
0467nobodyさん2006/02/16(木) 05:10:39ID:???
function next(& $time)

↑の「&」ってどういう意味をなすんでしょうか?
くだらないかもですが、宜しくお願いします。
0468nobodyさん2006/02/16(木) 05:56:15ID:???
>>467
& $variable;みたいに&と$の間にスペース入れられるのかな。

ちなみにそれは参照渡しと呼んぶ。
$src = 100;
echo "$src\n";
hoge ($src);
echo "$src\n";
function hoge (&$src){$src=0}
----出力----
100
0
----終了----
となる。
詳しくは関数の引数を読んでくれ
ttp://www.php.net/manual/ja/functions.arguments.php
0469nobodyさん2006/02/16(木) 07:50:00ID:???
phpMyAdminでzip圧縮してエクスポートという機能がありますが、
PHPでzip圧縮なんて出来るんですか?
0470nobodyさん2006/02/16(木) 08:18:10ID:???
>>469
zlibを組み込んであれば、zipとgzipが扱える。
0471nobodyさん2006/02/16(木) 08:22:36ID:???
>>469
PHP自体はZIP読み込みしかできないが
PHPからUNIXのZIPコマンドを走らせれば一応できると思う
0472nobodyさん2006/02/16(木) 09:52:32ID:???
>>468
遅くなりましたがありがとうございました。
04734702006/02/16(木) 09:53:03ID:???
471さんの書き込みを見て説明不足かなと思ったので追記しときます。
PHP自体ではZIP読み込み関数しか用意されてないが、
phpMyAdminの話でいうとPHPからzlibを利用できる環境で
zipとgzipの出力ができる。詳しくはzip.lib.php参照
(PEARのArchive_Zipクラスみたいなもん)
0474nobodyさん2006/02/16(木) 13:18:39ID:???
if(isset($r)){echo"$r";}
$rにNULLを入れると、NULLと表示されてしまいます。
これって正しいですか?
0475nobodyさん2006/02/16(木) 14:18:09ID:???
>>474

"NULL"だったらぶっ殺す
04764742006/02/16(木) 15:05:23ID:???
>>475
formタグのvalue='NULL'で渡しているんですが、もしかしてこれって文字列になるんですか?
''としてもifの中を通ってしまいます。
ちなみに明らかに使っていないグローバル変数でif(isset())をしたら中を通ってしまったので、
ためしにNULLを渡してみたらやっぱりifの中を通ってしまいます。
さらにちなみにif(isset())は多用していて、機能する所と機能しない所があります。
なにが違うのかさっぱり分かりません。
どうかご教授下さい。
0477nobodyさん2006/02/16(木) 15:12:53ID:???
APACHEど素人、PHP駆け出しです。
APACHEを勉強しようと思い、マイPC(windows)にAPACHEをインストールし、
PHPを動作させました。
ところが、日本語の$_GET値が、勝手にURLデコードされてしまいます。

例えば、次のようなPHPファイルがあり、
test.php
<?php
print $_GET[key];
?>

以下のようにアクセスすると、
test.php?key=%A4%A2%A4%A2%A4%A2

実行結果
-----------------
あああ
-----------------
と表示されます。

正しくは、
-----------------
%A4%A2%A4%A2%A4%A2
-----------------

かと思うのですが、何が原因でしょうか。
お時間がある方教えていただけると助かりますm(__)m



0478nobodyさん2006/02/16(木) 15:13:32ID:???
こういう人にはC言語をやらせたいと思う俺C厨?
0479nobodyさん2006/02/16(木) 15:19:16ID:???
>>478の対象は>>476な、>>477もCやらせたいけどまた別。

>>476
$a = "NULL";
$b = "NULL";
$C = NULL;
echo "a = $a, b = $b, c = $c";
を実行してみて感想が欲しい。
ちなみにマニュアルでは、
引用符、二重引用符
ttp://www.php.net/manual/ja/language.types.string.php
NULL
ttp://www.php.net/manual/ja/language.types.null.php
に書いてあるから。
それでも分からなかったらまた質問しれい。
0480nobodyさん2006/02/16(木) 15:22:43ID:???
>>477
http://www.studyinghttp.net/uri
ここのパーセントエンコーディングを読んでみて
0481nobodyさん2006/02/16(木) 15:25:17ID:???
>>476
つかhtmlのformで渡せるのは"文字列"だけだよ。
文字列を受け取って、それをどう解釈するかは受信側に任されてるが。
04824742006/02/16(木) 16:01:57ID:???
a = NULL, b = NULL, c =
実行結果です。
引用符、二重引用符については一様分かっているつもりなのですが、
postで渡したNULLがどうしてもif(isset())を通ってしまいます。
value=NULL
value="NULL"
value='NULL'
$_POST[r]
$_POST['r']
$_POST["r"]
いずれもif(isset())を通ってしまいました。
仕方ないのでNULLの代わりに0を渡して、
if($_POST[r] != 0)としました。
if(isset())は他でも使っているので気持ちが悪いッス。
0483nobodyさん2006/02/16(木) 16:05:07ID:???
>>482
>>481
0484nobodyさん2006/02/16(木) 16:08:11ID:???
>>476
フォームでNULLを渡してissetで判定、ってのは基本的には無理。
やるなら
if($r == 'NULL') unset($r);
とかやって変数を消すしかない。

> 明らかに使っていないグローバル変数
これでisset()を通るのは意味不明。どっかで $r = ''; とかしてるんじゃないの?
isset()で偽になるのは unset($r); で変数自体を消す場合と $r = NULL; とプログラム中で書いたとき。
0485nobodyさん2006/02/16(木) 16:09:23ID:???
>>482
POSTで渡したデータ = "NULL"または’NULL'と同義でNULLとは別。
0486nobodyさん2006/02/16(木) 16:11:33ID:???
>>482
通常、フォームに対するissetは「そのフォーム自体が存在しない場合」をチェックするのに使う。
なので、<input type="hidden" name="a" value="">とやった時点でもうissetは必ず真。

普通は<input type="submit" name="a" value="aを押したときの処理">みたいにsubmitで使って
どのボタンが押されたかの判別に使う程度。値の内容判別にissetを使うのは間違い。
04874742006/02/16(木) 16:14:33ID:???
>>481
ぬあ、そうなんですか、ってそうなんですね。
ありがとうございます。

ところで、formタグに囲まれている input type='file' は、
参照されなくても$_FILESに値が入ってしまうんでしょうか?
参照されていないのにif(isset($_FILES))でifの中を通ってしまいます。
0488nobodyさん2006/02/16(木) 16:18:28ID:???
482を読む限り、文字列とbooleanとNULL型とかの
基本的な「型」の区別すら付けられていない気が・・・・
(481を読む前に482を投稿したとしても)
0489nobodyさん2006/02/16(木) 16:24:27ID:???
>>487
print_r($_FILES)してみれ
出てきた変数は総てissetで真となる
04904742006/02/16(木) 16:34:56ID:???
みなさん、ありがとうございます。
昨日は動いてた気がしたんですよ、夢でも見てたんですね。
勉強し直して来ます。
0491nobodyさん2006/02/16(木) 16:36:06ID:???
オマイラさん
ttp://www.gac.jp/article/index.php?stats=question&category=&id=17033&command=msg&page=all
こっちでも優しくしてやってくれよ…マイッタ
0492nobodyさん2006/02/16(木) 16:46:47ID:???
ちょとPHPからずれるかもしれませんが
例えばある表のパラメータとかを入れるレコードを作るとして
2回目から入れる場合
主キー=aとか調べてあればupdateなければinsertっていうのより
一旦レコード全部削除してinsertばっかってやってるのですが
何かまずいことありますか?
調べる処理分時間も短縮されるのでと思っているのですが・・・
0493nobodyさん2006/02/16(木) 16:51:48ID:???
>>491
PHP関係ない
0494nobodyさん2006/02/16(木) 16:51:55ID:???
PHPじゃないじゃんデータベースじゃん
全然ちょっとじゃないよっヽ(`Д´)ノ
0495nobodyさん2006/02/16(木) 16:53:32ID:???
>>492
すごい遅い
0496nobodyさん2006/02/16(木) 16:55:47ID:???
>>492
DBにもよるが、基本的に遅くなる。
詳しく知りたいならDB板行ってくれ
0497nobodyさん2006/02/16(木) 17:01:14ID:???
PHPとは関係ないかも知れませんが、
基本的にどの言語にもある変数や配列といった概念は昔からあるのですか?
0498nobodyさん2006/02/16(木) 17:09:10ID:???
コペルニクスの時代から
04994772006/02/16(木) 17:10:43ID:???
>>480
ありがとうございました。

PHPって勝手にデコードされるのが仕様だったんでしたね。
perlと行ったり来たりの開発でテンパッてました。
0500nobodyさん2006/02/16(木) 17:14:16ID:???
>>495-496
遅くなるのですか・・。
以外ですね。ありがとうございました。
0501nobodyさん2006/02/16(木) 17:37:27ID:???
>>500
消す範囲によるんじゃね?
インデックスの状態に寄るだろうし、
トランザクションではさめばいい場合もあるし
0502nobodyさん2006/02/16(木) 17:54:23ID:???
>>499
PHPじゃなくてApacheとかがデコードすんじゃないのかな。
何でもPHPのせいにするのやめい。
0503nobodyさん2006/02/16(木) 17:58:33ID:???
>>478は言えてたな。
Cでもやってりゃこんなアホな質問繰り返さない。
0504nobodyさん2006/02/16(木) 18:52:42ID:???
>>502
いやPHPだろ
0505nobodyさん2006/02/16(木) 19:19:04ID:???
>>504
今AN HTTPDのログ見たら、ログにはデコードされてなかった。
申し訳ない。
0506nobodyさん2006/02/16(木) 20:50:20ID:ZZ/v8PR0
http://www.geocities.jp/unamuhi/session.gif
↑これはレンタルサーバのphp.iniのセッション管理部分を抜き出した画像です。
このレンタルサーバでセッション管理は使えるでしょうか。
使える場合、なにか制限はあるでしょうか。

よろしくおねがいします。


0507nobodyさん2006/02/16(木) 21:18:47ID:???
>>506
削除されてる
05085062006/02/16(木) 21:30:26ID:???
>>507
ありがとうございました。
0509nobodyさん2006/02/16(木) 21:43:15ID:???
終わりかよ。
0510nobodyさん2006/02/16(木) 21:44:07ID:???
>>491
すげー。こんな奴見たことない。マイ人生のキチガイベスト1にランクインしますた。
0511nobodyさん2006/02/16(木) 22:17:03ID:???
>>506
使える
0512nobodyさん2006/02/16(木) 22:17:23ID:???
>>510
この人、同じ所の別スレで無謀な転職相談して、
コテンパンにされてる…
ってか40歳かよ…ヾ( ´ー`)
05135062006/02/16(木) 22:20:40ID:ZZ/v8PR0
>>507
>>509
あ、申し訳ない。
「削除されてる」というのは設定が削除されていて
セッション管理ができないことだと思ってました。
画像が削除されてましたね。

もう一度よろしくお願いします。
http://www.geocities.jp/unamuhi/sessioon.html
05145062006/02/16(木) 22:26:18ID:???
>>511
ありがとうございました。

なんかバタバタして申し訳ないっす。
0515nobodyさん2006/02/16(木) 22:47:18ID:???
>>512
ワロスwリストラでもされたのかね。人に聞かないと行動できないオジサン。
0516nobodyさん2006/02/17(金) 06:45:05ID:???
     ,へ^;,ヘへ、
     ´`^^i1^v~ヽ
        !|i
        ||゚
      ___」L__&/ヽ、
.:.:./ ̄        ̄\;:...;:.:.:.:.:.:.....:.:.:.........:.:.:.
.:...^.^:ー.:.:.:.:...::.:.:.:..:.:.:^^~.:.:.:.:.::::.:.::^::::... :. :.:.. .:.:
:::::::::::::::::::::::::::::,::::::::::::、::::::::::,::::::::::::....:.:.:......:.:.:....:.:
0517nobodyさん2006/02/17(金) 07:23:56ID:???
オッサンも必死なんだ。
今の日本が悪いんだ!だからオッサンを責めないでやってくれ!
0518nobodyさん2006/02/17(金) 08:44:49ID:???
オッサン、オッサン言うな!
by オッサン
0519nobodyさん2006/02/17(金) 11:30:00ID:???
歳をとると、若いヤツが気に入らなくなるのが人間というものだ。

0520nobodyさん2006/02/17(金) 11:45:07ID:???
ゆとり教育の弊害に違いあるまい
0521nobodyさん2006/02/17(金) 12:34:55ID:???
某サイトのサンプルスクリプトで
class指定の際に変数の型宣言をきっちりしている人がいるのですが、
自動判別にゆだねずあえて宣言するメリットは何なんでしょうか?
0522nobodyさん2006/02/17(金) 12:43:33ID:???
自動判別する処理が削減できる
0523nobodyさん2006/02/17(金) 12:54:47ID:???
>>522
速度に影響します?
0524nobodyさん2006/02/17(金) 12:55:47ID:???
結論から言うと、Cとかから流れて、PHPやってるやつ多いから、
自動判別は気持ち悪くて仕方が無いんだよ。
現場でも「気持ち悪い、気持ち悪い」とか言いながら「便利だよな」で。
0525nobodyさん2006/02/17(金) 12:56:31ID:U6ySh0xX
半角カナから全角カナへの変換スクリプト
ttp://pamo.dip.jp/blog/archives/000119.html

windowsで、c:\piyo\foo以下のディレクトリにある
ファイルに含まれる半角かなを全角カナに変換しようと
思ってぐぐったら、上野サイトがみつかりました。

そこで、上記のサイトの通り、以下のディレクトリを作成し、
beforeの方に、変換したいファイルをごっさり入れました。

c:\piyo\foo\before
c:\piyo\foo\after

そして、上野スクリプトをこう書き換えました。

$r_dir='.;c:\foo\before';
$w_dir='.;c:\foo\after';

ですが、うまく動きません。

何か他に設定すべき所はありますか?
どなたかご教示願います。
0526nobodyさん2006/02/17(金) 13:10:01ID:U6ySh0xX
525です。
質問がわかりにくくすみません。
自己解決しました。
0527nobodyさん2006/02/17(金) 13:48:34ID:???
教えてもらったんじゃに、という意味で自己解決と書くんだろうけど
こんな短時間で自分でミスを発見する程度のものを質問する時点で・・・

結局、 \\ なのか?
0528nobodyさん2006/02/17(金) 13:51:05ID:U6ySh0xX
>>527
はい、そうでしたorz
0529nobodyさん2006/02/17(金) 15:33:48ID:tkJ6TdC2
phpmyadminを安全のためpublic_htmlの外におきたいのですが、
そうするとhttpでアクセスできなくなりますよね。
自分はアクセスできるようにしたいのですが、
なにか良い案などありましたらご教授願えませんか?
よろしくお願いいたします。
0530nobodyさん2006/02/17(金) 15:40:33ID:???
安全の為って、普通に.htaccessでいいじゃん。
0531nobodyさん2006/02/17(金) 16:33:07ID:Jyi+qfsM
質問します。WindNT+Apache+PHP4.4.1です。
PHPでアニメーションGIFを自動生成しようと思い
GDでは出来ないということだったので、
ImageMagick(Windows版)というものを探してインストールしてみたのですが、
使い方がさっぱりわからなくて困っています。
どなたか、ご教示をお願いします。
05325292006/02/17(金) 16:46:16ID:tkJ6TdC2
>>530さん
.htaccessは信頼してもよろしいのでしょうか?
セキュリティーは慎重にいきたいと思ってます。
0533nobodyさん2006/02/17(金) 16:50:29ID:???
>>532
質問の意図が良く分からない・・・;
そんな事言ってたらキリが無いと思ったのは自分だけ?

そこまで気になるなら、httpd.confと.htaccessに書いてIPSTABLEにも書き加えれば流石に大丈夫かと
0534nobodyさん2006/02/17(金) 16:51:30ID:???
>>529
バーチャルドメインは?
0535nobodyさん2006/02/17(金) 16:55:44ID:???
連想配列に入ってるものを伸張したいんだけど
$hoge['A']='aaa';
$hoge['B']='ccc';
$hoge['C']='ggg';
↑
これを "A=aaa&B=ccc&C=ggg" みたいな文字列にしたい

泥臭くループ回せばとりあえずできる・できたんだけど、
格好良く惚れ惚れするコードは書くことが出来るだろうか
0536nobodyさん2006/02/17(金) 16:59:51ID:???
>>535
join() でどうか
0537nobodyさん2006/02/17(金) 17:03:25ID:???
>>536
$s[]="A=aaa";
$s[]="B=ccc";
$s[]="C=ggg";
を作らなきゃやっぱだめ?
0538nobodyさん2006/02/17(金) 17:04:01ID:???
$hoge['A']='aaa';
$hoge['B']='ccc';
$hoge['C']='ggg';
$result = "";

foreach ($hoge as $key => $val) {
$result .= $key . "=" . $val . "&";
}
0539nobodyさん2006/02/17(金) 17:05:00ID:???
>>535
array_walkでどうにかする
0540nobodyさん2006/02/17(金) 17:06:27ID:???
>>538
最後の & がアウアウアー
0541nobodyさん2006/02/17(金) 17:09:40ID:???
$s = array();
foreach( $hoge as $k=>$v ) $s[]="$k=$v";
$str = implode("&", $s);

どうしてもかっこよく出来ない。 $sが必要なのがダサすぎ。
0542nobodyさん2006/02/17(金) 17:27:24ID:???
ereg_replace ("&$", "", $result);
0543nobodyさん2006/02/17(金) 17:28:09ID:???
>>535
http_build_query($hoge);//PHP5 only
0544nobodyさん2006/02/17(金) 17:35:46ID:???
>>543
カッコイイ
05455432006/02/17(金) 17:37:57ID:???
俺も今回初めてこの関数の存在を知った
PHPならひょっとしてと思ってマニュアル見たらやっぱりあったって感じかな
■ このスレッドは過去ログ倉庫に格納されています