【PHP】くだらねぇ質問はここに書き込みやがれ
■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん
04/11/02 00:15:41ID:???0612nobodyさん
04/12/26 21:55:56ID:???どうしたらいいでしょうか?
0613nobodyさん
04/12/26 22:03:27ID:???【PHP】質問スレッドpart26【php】
http://pc5.2ch.net/test/read.cgi/php/1103636095/71,74
0614nobodyさん
04/12/26 22:11:00ID:???mod_mimeモジュールがこの役割を果たす。
ttp://httpd.apache.org/docs-2.0/ja/mod/mod_mime.html
PHPのマニュアルのインストールの項目に書かれている、
AddType application/x-httpd-php .php
ってのは、このmod_mimeの中の設定(ディレクティブ)の1つで、
phpという拡張子の時に特定の動作をさせることを示しているわけだ。
で、こいつの書式を上のURLから参照してみると、
AddType MIME-type extension [extension] ... となっとる。
どこに書けばいいかも書いてあるな。
サーバ設定ファイル, バーチャルホスト, ディレクトリ, .htaccess に書けることになる。
0616nobodyさん
04/12/26 23:42:00ID:???0617612
04/12/27 00:01:19ID:???どうもです(・∀・)!
ということは.htaccessに
AddType application/x-httpd-php .html
AddType application/x-httpd-php .htm
といった感じに追加していけばいいわけですね?
0618610
04/12/27 00:29:12ID:???なるほど。ありがとうございます。
>>617
AddType application/x-httpd-php .html .htm
な感じで一行にまとめれますよ。
0619612
04/12/27 00:38:04ID:???> AddType application/x-httpd-php .html .htm
> な感じで一行にまとめれますよ。
( ´∀`)ノ
0620nobodyさん
04/12/27 13:56:51ID:???0621nobodyさん
04/12/27 14:27:13ID:???0622620
04/12/27 15:54:17ID:???「もはび」かなぁとも思ったんですが、
なんだか「もじゃび」って書いてあったりもして・・・
0623nobodyさん
04/12/28 08:45:39ID:???タイムスタンプって何だ?ググッてもムズいメーリングリストとかしか出てこないんだが。
0624623
04/12/28 09:03:41ID:???0625nobodyさん
04/12/28 14:01:44ID:NN7ShV+Kリンクがindex以外のページにされている場合に、
強制的にindexに一度飛ばす操作をしたいのですが、
検索のしかたが悪いのかそれらしいものにひっかかれません。
くだらねえ質問誘導頼んます。
0626nobodyさん
04/12/28 14:22:27ID:???変数、定数、変数の参照、式と文、演算子、条件分岐、if文条件分岐、switch文、ループ文while、ループ文for、配列array、変数の受渡し
等を覚えればいいのですか?
これ等を駆使すればどんなスクリプトも作れますか?
0627nobodyさん
04/12/28 14:35:04ID:???全コンテンツがPHPで書かれてるのでなければ、
Apacheなりhttpdのお仕事だな、それ。
あとリファラーのチェックとか、トップのindexで
クッキー食わせてチェックとかにになるんだろうけど、
判断が危うい条件になりそう。
0629nobodyさん
04/12/28 15:56:51ID:64WbgjnWa
b
c
3つのチェックボックスがあって、
チェックを付けたやつだけ、
inputボタンを押した後に表示したいんですが、
どうすればいいでしょうか?
例:aとcにチェックを付けたら、次の画面で、
aとcを表示させる。
あと、perlだと、フォームで同じnameで複数項目入力させても
配列に格納されます?
perlのスクリプトだとどうもそうっぽいので。
phpじゃこれは無理でしょうか?
やってみますたが、むりっぽかったので
0630nobodyさん
04/12/28 16:09:56ID:???http://www.kondo-net.gr.jp/softca/php/
0631nobodyさん
04/12/28 16:12:49ID:???perlは自分で配列に入れないといけない。
hoge=a&hoge=c
PHPはフォームのnameに[]をつける
<input name=hoge[]
0634nobodyさん
04/12/28 16:32:51ID:NN7ShV+Khttp://www.itmedia.co.jp/news/articles/0412/28/news006.html
新種。(((((;゚Д゚)))))
0635nobodyさん
04/12/28 17:05:07ID:???正直突かれるようなスクリプトを未だに書いてるのが…
サニタイズしろって。
参考:http://xoops.sourceforge.jp/wiki/xoops2/index?cmd=read&page=TECH%2FAgenda-X%20%A4%CE%C0%C8%BC%E5%C0%AD%CC%E4%C2%EA
0636nobodyさん
04/12/28 17:53:38ID:???新しいファイルを作成するのって
どのようにすればいいのでしょうか?
mkdirみたいなのねーでしょうか?
0638636
04/12/28 18:16:45ID:???fopenとかだと、パーミッション気にしなきゃならなくて
厳しくないでしょうか?
今、
一時的にchmodでアクセス権限777にして
書き込む方法思いついたのですが、セキュリティ上よろしくない気がしますのでございます
0643nobodyさん
04/12/29 06:58:13ID:???<?php
function query($sql1, $con){
$resultsql1=mysql_query($sql1, $con);
if ($resultsql1==false){
echo ("Perform Query01 failed !!");
exit();
}
return $resultsql1;
}
?>
を
require_once("./lib/query01.php");
という感じで引き出してるのですが、どうやっても
Perform Query01 failed !
が返ってきてしまいます。
(使いまわししてる他のページでは問題なし)
多分くだらない事が原因なんだろうけど、自分じゃ見つけることができません。
間違いがあったら教えてくだしあ…(涙)
0644nobodyさん
04/12/29 07:22:15ID:???どーもこーもmysql_queryがFALSE返してんだろ
PHP通さずにmysqlに同じSQL文投げても通るか確かめた?
0646nobodyさん
04/12/29 09:27:28ID:???データが入っていない場合はimage02が表示されるという
PHPのコードを書きたいと思います。
if($data==""){
<img src="image01">
}else{
<img src="image02">
}
こういう風に記述しているのですが、データが入っても入って無くても
image01が表示されます。どういう記述の仕方をすればいいのでしょうか?
0647646
04/12/29 09:28:25ID:???$dataにデータが入っていない時はimage01が表示され
データが入っている場合はimage02が表示されるという
PHPのコードを書きたいと思います。
0649643
04/12/29 10:53:21ID:???レスthxです!
一応PHP通さずにやってみて通ったのでおかしいと思ったので…
あの後不貞寝して起きて、もう一回見たら
require_once("./lib/connect.php");
require_once("./lib/query01.php"); ←DB接続部分
のはずが
require_once("./lib/query01.php");
require_once("./lib/connect.php");
になってました(汗
ココを訂正&要らないスペース&改行を外したら正常に動作するようになりました。
やっぱり寝ないとダメってことですね…
0650nobodyさん
04/12/29 10:54:32ID:???require_once("./lib/connect.php");
が接続部分ですた。
とりあえずキチンと寝てきます………。
0651nobodyさん
04/12/29 12:44:24ID:???echoは書き忘れということにして
プログラムの通りなら$dataにデータが入っていると思い込んでることが間違いでしょう。
プログラムは書いたとおりにしか動きませんから。
if($data==""){
echo '<img src="image01"> ';
}
でimage01が表示さるなら$dataはゼッタイに空のはずです。
0652nobodyさん
04/12/29 13:15:23ID:???0653nobodyさん
04/12/29 13:30:52ID:61b8nv/Z現在、フォームからファイルアップロードできるページを作成中なのですが、
ファイル名に「可能」という日本語が入っているファイルをアップロードしたら、
ファイル名が消えてしまうという問題に気が付きました。
例えば、「アップ可能.txt」というファイルをアップロードすると、
$_FILES['file']['name'];で取得できるファイル名が「.txt」となって拡張子以外の部分が消えてしまいます。
「アップ可能1.txt」というファイル名だと、「1.txt」となって日本語の部分が消えてしまいます。
「可能」という文字列を使わない日本語ファイル名だと何も問題なく普通に取得できるのですが・・・
おそらくは、エスケープ文字関連だと思われるのですが、
stripslashes(stripcslashes)を使ってエスケープ文字を取り除く処理をしてもファイル名が消えたままです。
また、サーバ側の文字コード(EUC-JP)に変換したり、変換後のファイル名のエスケープ文字を取り除いたりしたのですが、解決しません。
これと同様の問題(「可能」という文字列が入るとおかしくなる)が、
ファイルアップロード時のコメント入力欄でも起きましたが、これは、strpslashes関数で問題解決したように見えます。
この「可能」という文字は、なんなんでしょうか?また、この問題解決の手段を教えていただきたいです。
#補足としまして、「可能」という文字列をEUC-JPにすると「イトヌス」となります。
#コメント欄で問題が出たときに「可能」という文字列を見ると「イトヌス\」となぜか、「\」が入っていました。
#それで、エスケープ文字を取り除く処理をすると、コメント欄ではうまく通りました。
0654653
04/12/29 13:40:43ID:61b8nv/Z環境は、WBEL3(RHEL3)のデフォルト状態です。
httpd-2.0.46-44.ent.WB1
php-4.3.2-19.ent
文字コード:EUC-JP
phpinfo()による、mbstringの項目
Multibyte Support enabled
Japanese support enabled
Multibyte (japanese) regex support enabled
mbstring extension makes use of "streamable kanji code filter and converter",
which is distributed under the GNU Lesser General Public License version 2.1.
Directive Local Value Maste Value
mbstring.detect_order no value no value
mbstring.encoding_translation Off Off
mbstring.func_overload 0 0
mbstring.http_input pass pass
mbstring.http_outputpass pass
mbstring.internal_encoding none none
mbstring.language Japanese Japanese
mbstring.substitute_character no value no value
0655nobodyさん
04/12/29 15:43:08ID:IA0GuuO9自分のプロバイダの鯖がpearが使えるかどうかわからないもので。
0656nobodyさん
04/12/29 16:55:29ID:???プロバイダに聞けば一発で分かるんだけどね。
もしインストールされて無くても、pearはPHPだけで作成されているので、
利用したいpearを適切に修正してアップロードすれば使える。
0657nobodyさん
04/12/29 16:56:57ID:???例えば、こんなイメージ
$aaa = 100;
$bbb = 200;
print <<<_CALC_
計算はこうやる。<br>
{$aaa} + {$bbb} = {$aaa + $bbb}
_CALC_;
ちなみに、↑はエラーになりますた。
0658nobodyさん
04/12/29 16:59:43ID:???ttp://www.php.net/ChangeLog-4.php#4.3.10
Version 4.3.3
Fixed corruption of multibyte character including 0x5c as second byte in multipart/form-data
0660nobodyさん
04/12/29 20:40:30ID:???function Timer(){ }でかこったら条件に関係なく期間外が表示されてしまします。
記述自体あまり自身が無いのでアドバイスとかもらえると嬉しいです
$startdate = "2004-12-28"; //開始日付
$limit = "5"; //表示日数
$n = date("H:i:s");
$now = date("U");
$start = strtotime("$startdate $n");
$end = date($now+$limit*60*60*24);
function Timer(){
if($start < $now && $end > $now){
echo "期間内";
}else{
echo "期間外";
}
}
0662660
04/12/29 21:11:23ID:gc8v5X4nここですか? ttp://www.php.net/manual/ja/language.functions.php
読みましたがよくわかりませんでした、すいません
0664660
04/12/29 21:25:22ID:gc8v5X4nもう1度読み返してみます
0665nobodyさん
04/12/29 22:48:25ID:???の方がよいよ。つか、17 章だけじゃなく、他の章も読もうね。
0666nobodyさん
04/12/29 23:31:23ID:ZtiJWjsG0667nobodyさん
04/12/29 23:37:00ID:???0668nobodyさん
04/12/29 23:40:05ID:???それこそピンキリ。
4〜5万円から、4〜5千万円クラスまで。(もっと上だってある)
ま、でかいのはインフラから資材からひっくるめてだけど。
0669660
04/12/29 23:40:11ID:gc8v5X4n↓で動くようになったんですが、これであってますか?
演算とか条件の指定方法とかは問題ないでしょうか?
$startdate = "2004-12-28";
$limit = "5";
function Timer(){
global $startdate, $limit;
$n = date("H:i:s");
$now = date("U");
$start = strtotime("$startdate $n");
$end = date($now+$limit*60*60*24);
if($start < $now && $end > $now){
echo "期間内";
}else{
echo "期間外";
}
}
0670nobodyさん
04/12/29 23:40:14ID:???木造の家注文したら幾らかかるのぐらい、曖昧な注文内容だな。
予算から内容を詰めていくか、内容から値段を弾くか。
5万ぐらいから500万ぐらい(CE含めたりるすともっとする)とかね。
5万以下だとプロとしての仕事だと、手間隙考えると友人関係での
価格ぐらいのものです。
0671nobodyさん
04/12/29 23:40:23ID:ZtiJWjsG0672nobodyさん
04/12/29 23:45:52ID:???それでも木造「2階」建てでぐらいに、詳細になったぐらい。
携帯対応のフリーな掲示板スクリプトは何種か公開されてるので
インストールだけなら、本当に低予算から出来るけどね。
0673nobodyさん
04/12/29 23:49:46ID:ZtiJWjsG何でも制作できますか?依頼したいのですが・・・
0674nobodyさん
04/12/29 23:51:38ID:???ぐぐれば制作を請け負ってくれるサイトはいくらでもあるからそっちに頼め。
お前相手じゃ制作費の数倍の相談料をもらわにゃ合わん。
0675nobodyさん
04/12/29 23:54:29ID:ZtiJWjsGで、どこにあるの?請け負ってくれるサイトは?
0676nobodyさん
04/12/29 23:57:10ID:???0678660
04/12/30 00:25:55ID:7YpfOIeBglobal入れたら動くようになったんですけど、違うんですか?
0679653
04/12/30 00:54:01ID:e1CYzGzW今、apacheとphpをソースからのインストールに切り替え完了しました。
Apache:2.0.52
PHP : 4.3.10
しかし、>>653-654の問題は解決しませんでした。
もちろん、php.iniでのmagic_quotesも全てOffにしています。
なぜ「可能.txt」の名前 だ け が取得できないのでしょうか?
引き続き、皆様からの情報をお待ちしております。よろしくお願いします。
また、phpを使ったアップローダーを作成された方や使用されている方に、
「可能」という文字列を含んだファイルをアップロードした場合どうなるか教えて頂きたいのですが・・・
今のままだと、こちらのコーディングの問題かPHPの問題かが判別付きにくいです。
0682nobodyさん
04/12/30 01:52:25ID:???0683nobodyさん
04/12/30 01:53:58ID:???0684nobodyさん
04/12/30 02:06:46ID:sIR6aofHWinなんですがmailparseをpearでインストールするために
pear install mailparse
をしたら、
downloading mailparse-2.0b.tgz ...
Starting to download mailparse-2.0b.tgz (33,547 bytes)
.........done: 33,547 bytes
9 source files, building
The DSP mailparse.dsp does not exist.
となり、インストールできませんでした。
試しに別口で
pear download mailparse
で落としたmailparse-2.0b.tgzの中にはmailparse.dspなんて入ってませんでした。
環境はWinXP、PHP-5.0.2です。
原因とかわかる方いらっしゃいましたらご教授願います。
0685nobodyさん
04/12/30 02:24:10ID:???おいくらで?
0688nobodyさん
04/12/30 02:38:05ID:KJfyIQuIどちらからですか?近いなら直接希望など話たいのですが・・・
0690nobodyさん
04/12/30 02:45:11ID:KJfyIQuIえっ!?仕事として請け負ってくれるんじゃないんですか?
0691nobodyさん
04/12/30 02:52:45ID:???0692nobodyさん
04/12/30 02:56:08ID:KJfyIQuI0693nobodyさん
04/12/30 03:06:37ID:???会って聞いたところで同じだろう。
0694nobodyさん
04/12/30 03:14:50ID:???0695nobodyさん
04/12/30 03:19:57ID:???もう構うの飽きたから寝るわ。
0696nobodyさん
04/12/30 03:32:04ID:???何かと言えば、幼稚園児だの小学生だの・・・
社会を恐がる惨め大人よりはガキの方がマシか?
金ならあるから直接交渉しろ!の、どこが可笑しい?
一生、社会に脅えてれば?オタクくん!!
0697nobodyさん
04/12/30 03:34:03ID:???$var = hoge();
echo $var->foo;
のようにしたいのですが、これを簡単にして
echo hoge()->foo;
のようにはできませんでした。
新たに$varのような変数を定義しなくてすむ方法はありませんか?
教えてください。
0698684
04/12/30 04:22:18ID:???現時点でWinでは無理ですか・・・。
うーん、とりあえずソースはあるんだから、なんとかコンパイルとかして出来ないものでしょうか?
#includeのとこ探しまくってやるのは無謀ですか?w
mailparseはmbstringも使ってるみたいだし大変だな。
あ、でもライブラリとか何使うのかわからないですね。
っていうか誰かphp_mailparse.dllもってませんか?w
すいません、Winばっか使ってるとこんな風に考えちゃいます(^^;
0699nobodyさん
04/12/30 06:30:08ID:???$object->menbarなど何かの引数に使ったりすると問題なく使えます。
varにはどのような意味があるのでしょうか?
0700nobodyさん
04/12/30 06:35:25ID:e9lTqvWv$b['1'] = d; $b['2'] = e; $b['3'] = f;
でforeach($a as $element)とした場合に
$aだけでなく、$bも同時にforeachさせたいのですが、
何か良い方法はないでしょうか?
(例えば上の例なら $a['2']のときに、$b['2']を表記させたい。)
気持ち的には foreach($a as $element1 and $b as $element2)
みたいなことをしたいのです。
0701nobodyさん
04/12/30 07:49:19ID:???array_merge($a, $b)でいけるよ。$element1と$element2にはわけれないけど。
foreach (array_merge($a, $b) as $element)で。
ただ文字列のキーが重複すると、上書きされるので注意。
$a['hoge'] = 'a'; $b['hoge'] = 'b'; の場合、array_merge($a, $b)後の['hoge']は'b'になる。
$a['1']の場合、$a[1]とみなされるのでセーフ。
参考までに
$a['1'] = 'a'; $a['2'] = 'b'; $a['3'] = 'c';
$b['1'] = 'd'; $b['2'] = 'e'; $b['3'] = 'f';
print_r(array_merge($a, $b));
結果
Array
(
[0] => a
[1] => b
[2] => c
[3] => d
[4] => e
[5] => f
)
0702nobodyさん
04/12/30 09:49:45ID:???こういうことをやりたいのではないかと予想してみる。
$a['1'] = 'a'; $a['2'] = 'b'; $a['3'] = 'c';
$b['1'] = 'd'; $b['2'] = 'e'; $b['3'] = 'f';
foreach (array_map(null, $a, $b) as $elements) {
echo $elements[0] . ' ' . $elements[1] . "\n";
}
0703nobodyさん
04/12/30 10:39:26ID:???激ワロタ…
0704nobodyさん
04/12/30 11:16:38ID:m83gYHkE「XML宣言は文書の先頭でなければなりません。」と怒られます。
echo '<?xml version="1.0" encoding="Shift_JIS"?>' . "\n";
と先頭に書いても、出力の1行目に空行が入ってしまう。
コレって回避策有りますか?
使っているサーバーが xrea.com だからかもしれないけど、
他に試せる環境が手元に無いもんで。
0705nobodyさん
04/12/30 11:25:44ID:???このエラーってどういう意味なのでしょうか?
具具っても英語ページしか見つからなくて。
ftp_putでファイルをアップロードしたいのですが、
このエラーが発生してうまくアップできません
0706nobodyさん
04/12/30 11:38:05ID:???ありがとうございます。
調べてみたところ
http://www.shtml.jp/mojibake/sjis_cgi.html
のページが見つかりました。
メッセージにいわゆる「ダメ文字」を入力してテストしてみたところ、全て問題なく表示出来ました。
やっぱり、$_FILES['file']['name'];での「ダメ文字」を含むファイル名の取得は不可能って事なんでしょうか?
0707706
04/12/30 12:09:08ID:???当然ですが、「可能.txt」や「分析表.txt」のファイル名が取得できたので、php.iniの設定をもうちょっと調べてみます。
0708nobodyさん
04/12/30 12:42:48ID:???基本的にファイル名に日本語とか記号文字とかを使うのはおすすめできないよ。
海外製のソフトウェアを使うときに問題が出ることもあるし、
OSの仕様とか文字コードの違いで問題が出ることもあるし。
今回のはPHPの不具合だけど。
どうしても日本語を使いたい理由があるわけ?
0709nobodyさん
04/12/30 13:50:15ID:???いや・・・あの・・・掲示板の一環のファイルアップロードサービスなんで・・・俺自身では、どうしようもない事なんです・・・
俺自身では、LinuxやらWindowsやら複数のOSを使っているので、日本語ファイル名とかは、言語道断なんですが・・・
アップロードしたファイル名をそのままユーザに返したいんで・・・
もちろん、実際にサーバに保存されるファイル名は、英数字の一意なファイル名で、アップロード自体にはなんの問題もありません。
■ このスレッドは過去ログ倉庫に格納されています