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

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

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

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

本スレ【PHP】質問スレッドpart33【php】
http://pc8.2ch.net/test/read.cgi/php/1140027592/

前スレ【PHP】下らねぇ質問はここに書き込みやがれpart17
http://pc8.2ch.net/test/read.cgi/php/1140786348/

過去スレは>>2-3あたり
0608nobodyさん2006/03/28(火) 22:22:34ID:???
金払ってPHPの相談に乗ってくれる会社って無いの?
無料のにちゃんで、馬鹿丁寧な対応は無い。
0609nobodyさん2006/03/29(水) 00:20:54ID:???
自分が作った結構大規模なPHP検索システムがあるのですが、
個人でやるには限界に思ってきたので、希望とする会社にソースや販売権を
含めてすべて譲与したいと思っています。

個人で切り売りしていた時は、割と問い合わせや購入希望もあったので、
需要もあるかと思います。要はサポートをするには辛いという事で・・。

そういう価値を見てシステムごと買い取ってくれる会社ってあるのでしょうか?
もしくは販売サイトなどご存じないでしょうか?
0610nobodyさん2006/03/29(水) 00:40:07ID:???
>>609
>個人で切り売りしていた時は、割と問い合わせや購入希望もあったので、

だったら、まずはそこに売り込めば?
0611nobodyさん2006/03/29(水) 01:09:38ID:???
後々のサポート含めて、もう全部会社に売っちゃう
後のことはもう無関係だからね!
会社にどうして欲しいとかサポート求められてもしらねぇ

って事でしょ。
06126092006/03/29(水) 01:10:52ID:???
>>611
そういうことです。
0613nobodyさん2006/03/29(水) 01:17:43ID:???
夢見がちなニートがいるスレはここですか?
0614nobodyさん2006/03/29(水) 02:07:46ID:???
夢見がちなニートしかいません。
0615nobodyさん2006/03/29(水) 06:02:32ID:???
>>609
> そういう価値を見てシステムごと買い取ってくれる会社ってあるのでしょうか?
世間に山ほどある会社に頑張って足を運んで価値を力説して売り込む。
営業ってのはそういうもんだ。

> もしくは販売サイトなどご存じないでしょうか?
無サポートで、ってことだと、オープンソースで公開して、無料で
使いたいやつは使っていーよーってばら撒くくらい?
0616nobodyさん2006/03/29(水) 07:21:45ID:ARuclu74
てかスレ違い。
0617nobodyさん2006/03/29(水) 10:32:03ID:???
このスレにスレ違いはない
0618nobodyさん2006/03/29(水) 10:46:38ID:???
PHPに関係なければさすがにスレ違いだけど…
0619nobodyさん2006/03/29(水) 13:21:47ID:???
ちょっと教えてください

$hoge=0;
if($hoge=='あ'){echo " 工エ(´д`)ェェエ";}

↑のように0を入れた変数を適当な文字列と==すると全部trueになるのですが
これはどうしてなのでしょうか?
0620nobodyさん2006/03/29(水) 13:26:33ID:???
>>619
文字列が数値変換されて0として扱われるから。
0621nobodyさん2006/03/29(水) 13:29:26ID:???
こういう場合は===を使うべきって事か。
0622nobodyさん2006/03/29(水) 13:29:59ID:???
>>619
===
06236192006/03/29(水) 13:30:57ID:???
>>620
へーそうなんですか。どうもありがとうございました。
0624nobodyさん2006/03/29(水) 13:32:13ID:???
>>619
文字列の比較は、
===
!==
を使おうな。
0625nobodyさん2006/03/29(水) 13:32:27ID:???
もしくは
if("$hoge" == 'あ')
とする手もある。
06266192006/03/29(水) 13:37:48ID:???
>>621-625
サンクス。 == != ばっか使ってました・・orz
0627nobodyさん2006/03/29(水) 14:29:22ID:???
>>619の人気に便乗して俺も人気になってもいいですか?
0628nobodyさん2006/03/29(水) 14:40:30ID:???
>>627
スレ違い。回線切れ
0629nobodyさん2006/03/29(水) 14:56:24ID:???
>>628
ごめんなさい。
0630nobodyさん2006/03/29(水) 20:43:43ID:???
オープンソースビジネスだもんなあ。
PHP使ってようがスレ違い。
0631nobodyさん2006/03/30(木) 06:21:53ID:Jn5NDcrv
リソースイメージを<IMG SRC="">でブラウザに表示させる方法って無いでしょうか?
imagejpeg()だと文字列だとかと一緒に表示できず画像が化けた文字列で出てきてしまいます
0632nobodyさん2006/03/30(木) 08:39:59ID:???
マニュアルに書いてあるけどね。わからんなら永遠にできないだろうけど
http://jp.php.net/manual/ja/function.imagejpeg.php
0633nobodyさん2006/03/30(木) 09:09:54ID:???
リソースイメージをHTMLコンテンツと一緒には表示できないよ。
一度鯖のディレクトリーに落としてそれを正規(?)のイメージとしてしか
<IMG SRC="">では表示できないと思うよ。
0634nobodyさん2006/03/30(木) 10:03:02ID:???
>>633
別にわざわざファイル保存する必要はないぞ?
0635nobodyさん2006/03/30(木) 12:48:33ID:X8Czu4HD
header("Location: http://" . $_SERVER["SERVER_NAME"] . "/hoge/");

今こういう感じで別ページへ飛ばしてるのですが、
これだと、https でのアクセスでも http へ飛ばしてしまうので

http → http
https → https

これをする方法(環境変数)はありますでしょうか?
0636nobodyさん2006/03/30(木) 13:07:09ID:???
>>635
_$SERVER 変数の解説見れば分かる。
0637nobodyさん2006/03/30(木) 13:09:02ID:???
>>635
試してないけど
(($_SERVER['HTTPS'] == 'on')? 'https': 'http')
でいけるらしい
0638nobodyさん2006/03/30(木) 13:09:06ID:???
>>636
俺もhttps取得できるかなぁって思ってマニュアルの_SERVER見てたんだけど、見あたらないんだよね。
何入れたら取得できるん?
0639nobodyさん2006/03/30(木) 13:09:31ID:???
>>635
httpsで環境変数見たことないけど
SERVER_PROTOCOL
SERVER_PORT
はどうかな
0640nobodyさん2006/03/30(木) 13:10:37ID:???
httpsかどうか判定して条件分岐すりゃいいだろ
0641nobodyさん2006/03/30(木) 13:12:56ID:???
自己解決しました。

$_SERVER['HTTPS'] を使用するのがよさそうです。
ttp://jp.xoops.org/modules/newbb/viewtopic.php?topic_id=1536&forum=11&viewmode=flat&order=ASC&start=40
ttp://q.hatena.ne.jp/1101709304

リロードしたら沢山のレスありがとんです。
0642nobodyさん2006/03/30(木) 13:15:41ID:???
>>639
SERVER_PROTOCOLはhttpでもhttpsでもどっちでもHTTP/*.*が返る
SERVER_PORTはhttpの標準が80または8080というだけで固定ではないため基準がない
>>638
$_SERVER['HTTPS']の説明は本家php.netのマニュアルには記載されているが、
それ以外の日本語翻訳版ではことごとく抜け落ちているらしい。
0643nobodyさん2006/03/30(木) 13:16:11ID:???
$request_type = (getenv('HTTPS') == 'on') ? 'SSL' : 'NONSSL';
0644nobodyさん2006/03/30(木) 13:25:55ID:???
>>643
getenv()は使える場面が限られる
0645nobodyさん2006/03/30(木) 14:42:39ID:???
'on'が (o'n')みたいな感じに見えて萌えてしまった
0646nobodyさん2006/03/30(木) 15:30:47ID:???
すいません、正規表現教えてください。
$hogeの値が 空白 or "hello"という文字を含む 場合っていうのは
どうすればよいのでしょうか?
06476462006/03/30(木) 15:37:35ID:???
自己レスです。
preg_match("/(^$|hello)/i",$hoge)
でいけました多分。失礼しました。
0648( |hello)2006/03/30(木) 15:38:38ID:???
だから正規表現スレいけよ
0649nobodyさん2006/03/30(木) 15:39:40ID:???
空白(スペース)じゃなくて null かよ!!
0650nobodyさん2006/03/30(木) 15:44:22ID:???
いまごろ気づいたんだけど、WebProgの正規表現道場ってなくなっちゃったの?
06516462006/03/30(木) 16:06:17ID:???
正規表現スレってあるんですか?
すいません知りませんでした。
もいっこ質問でてきたのですが調べてそっちへ逝ってきます。
0652nobodyさん2006/03/30(木) 16:09:32ID:???
(1). mysql_query
(2). mysql_db_query

この2つの関数では(1)のほうが推奨になったと思いますが、
明確な理由はありますでしょうか?

予めデータベース指定してサーバにクエリを送信することで、実行速度面がいいとか?

3年ほど前のソース群を修正しようかどうか迷ってます。
まあ mysql_select_db 加えて mysql_db_query を mysql_query に置換する単純作業ですが
ファイル数が多いので、便利なフリーの置換(grep)ソフトなどありましたら宜しくおながいします
0653nobodyさん2006/03/30(木) 16:39:19ID:???
つttp://www.vector.co.jp/vpack/filearea/win/util/text/conv/index.html
0654nobodyさん2006/03/30(木) 16:44:28ID:???
>>652
それこそphpでディレクトリさらって全て置換させろよw
0655nobodyさん2006/03/30(木) 16:54:04ID:???
>>652
> ファイル数が多いので、便利なフリーの置換(grep)ソフトなどありましたら宜しくおながいします
sed
0656nobodyさん2006/03/30(木) 17:12:35ID:???
>明確な理由はありますでしょうか?

文字数が少ない
0657nobodyさん2006/03/30(木) 17:43:57ID:???
>>652
>この2つの関数では(1)のほうが推奨になったと思いますが、
特にそういうこともなかったと思うけど?
mysql_db*がmysql_db_*になったのは名称統一性のため。

>予めデータベース指定してサーバにクエリを送信することで、実行速度面がいいとか
やってることは、データベースを切り替え(共通)た後、クエリーを送信(共通)してるだけなので
他の単体機能の関数を組みせた場合と速度面で劇的な違いはない。

>ソフトなどありましたら
自分の開発環境(OS等)に合った別板スレにて。
0658nobodyさん2006/03/30(木) 19:07:12ID:hmhd9dG6
助けて〜
アパッチ入れたのはいいけどポートの設定ができません。80ではな8080にしたいのですけど教えてください。
0659nobodyさん2006/03/30(木) 19:14:38ID:???
>>658
httpd.conf => [Listen] & [ServerName]
判ったら、スレ違いだからカエレ!
0660nobodyさん2006/03/30(木) 19:17:59ID:???
>>658
氏ね〜
0661nobodyさん2006/03/30(木) 19:30:10ID:hmhd9dG6
>>659
ありがとう。
>>658
師にます。
0662nobodyさん2006/03/31(金) 04:46:38ID:???
PHPの組み込まれた標準関数には
is_alpha()やis_digit()のような文字・文字列の英数かどうかをシェックスる関数はないのでしょうか?
0663nobodyさん2006/03/31(金) 04:58:50ID:???
>>662
ctype_alpha ctype_digit
0664nobodyさん2006/03/31(金) 05:37:58ID:???
$str=" str";//全角スペースだけど半角ね。
$len1=strlen($str);
$str=trim($str);
$len2=strlen($str);
ってすると、$len1と$len2の長さが同じになってしまいます。
単純に確保されたバイトサイズを返してるのかと思い。
$str2=trim($str);
unset($str);
$str=$str2;
unset($str2);
$len2=strlen($str);
ってやって、領域を確保しなおしても同じ結果です。
どうにかして空白スペース文きちんと減るようにしたいのですが・・・。
0665nobodyさん2006/03/31(金) 05:57:36ID:???
$str=" str";
$len1=strlen($str);
print "<br>$len1";
$str=trim($str);
$len2=strlen($str);
print "<br>$len2";

何の問題も無く
4
3
って出るんだけど?

実は提示してるコードだけじゃない?
06666642006/03/31(金) 06:01:26ID:???
すみません・・・。勘違いでした・・・。
その上の部分のコードが悪さしてました。
スレ汚しスマソ・・・
0667nobodyさん2006/03/31(金) 06:03:41ID:???
そうか、素直だから許してやる
0668nobodyさんNGNG
ファイルのアップロードについてなんですが、
register_globalsをオフにしたら「$_FILES〜」に値が代入されなくなりました。
register_globalsがオンなら動作するんですが、オフのままではアップロードは不可能なんでしょうか?
PHPのバージョンは4.23です。
0669nobodyさん2006/03/31(金) 08:00:28ID:???
>>657
マニュアル読め
mysql_db_query
この関数は廃止予定です。使用しないでください。かわりに mysql_select_db() あるいは mysql_query() を使用してください。
0670nobodyさん2006/03/31(金) 08:18:37ID:???
>>668
そんな話は聞いたことがない
お前のスクリプトのバグ
0671nobodyさん2006/03/31(金) 08:47:54ID:???
>>634
ファイルを生成せずにってどうやるの?
0672nobodyさん2006/03/31(金) 09:41:19ID:???
>>671
hogehoge.html.phpに出力されるhtmlタグが
<img src="hogeimage.php">
になってればokでは
0673nobodyさん2006/03/31(金) 10:50:46ID:???
ややこしいんですけど
$array=array("a","b","c");等の配列があり
この配列の前2つの値が"a"と"b"ならtrueを返すにはどうしたらよいでしょうか?
array("a","c","e")は偽 array("a","b","d")は真
0674nobodyさん2006/03/31(金) 10:59:42ID:???
reset($a);
return list($k,$v) = each($a) && $v='a' && list($k,$v) = $each($b) && $v='b';
0675nobodyさん2006/03/31(金) 11:35:31ID:???
>>674
ありがとうございました。
0676nobodyさん2006/03/31(金) 12:54:04ID:???
>>662
is_numeric()
0677nobodyさん2006/03/31(金) 13:37:51ID:3Hv4iuAG
質問です。
PHPで、サーバ上にあるファイルを操作するプログラムを書いているのですが、
その際ファイルそれぞれにユニークなIDを取得したく考えています。

例えば「test.jpg」というファイルがあれば、"test.jpg101250byte2005/03/04"あたりでMD5を取るという手もありますが、
更新日やファイル名が変更されても同じファイルからは同じIDを取りたいのですが、
何かいい方法はないでしょうか?

環境はLinux上のPHP4.4.1です。よろしくお願いします。
0678nobodyさん2006/03/31(金) 13:54:21ID:???
>>677
具のハッシュを取るんじゃだめなの?
0679nobodyさん2006/03/31(金) 14:12:31ID:???
>>677
md5_file("./test.jpg")
0680nobodyさん2006/03/31(金) 15:27:56ID:???
おまいら join() と implode() どっち派?
俺は昔 Perl やってたんで join() なんだが
0681nobodyさん2006/03/31(金) 15:30:50ID:???
>>680
join()
0682nobodyさん2006/03/31(金) 15:32:32ID:???
>>680
implode()
0683nobodyさん2006/03/31(金) 15:51:51ID:???
explodeもよく使うからそれに対応してimplodeの方
joinだとsplitだよね
joinの方がタイプ数は少ないんだけどね
0684nobodyさん2006/03/31(金) 17:31:44ID:???
>>683
分かってて言ってるんだと思うけど、 split() と explode() は同じようで違うじゃん。
正規表現を使用しないなら explode() のほうが高速
0685nobodyさん2006/03/31(金) 17:50:26ID:???
そういやsplitとpreg_splitで単純な正規表現を使った場合ではどっちが速いんだろ。
$arr = split(" *, *", $str);
程度でもpreg_splitの方が速かったりするのか?
0686nobodyさん2006/03/31(金) 17:59:27ID:???
(" *. *")<ぅぅぅ
0687nobodyさん2006/03/31(金) 19:50:42ID:???
いいだしっぺの法則
0688nobodyさん2006/03/31(金) 19:55:41ID:???
きめぇwww
0689nobodyさん2006/03/31(金) 21:57:55ID:???
すごい初歩的な質問ですが
SQLインジェクションというのを気にして
mysql_real_escape_stringで入力値をエスケープしようと
mojaviのfilterで単純に

foreach($param as $key => $val)
{
$param[$key] = htmlspecialchars($param[$key]);
$param[$key] = mysql_real_escape_string($param[$key]);
}

という処理を入力値全部が通るようにして安心してたのですが
改行のあるデータ(掲示板記事など)では改行コードが
\r\nという文字列になってしまいます。
だからエスケープなんだといわれればそれまでなんですが
上の処理に改行コードだけは通すように書けますか?
よろしくお願いします。
0690nobodyさん2006/03/31(金) 22:08:34ID:???
書けますか?と問われれば、
書けますよ、と答える。

そもそもhtmlspecialcharsを通しておきながら、\r\nを残す意味は?
0691nobodyさん2006/03/31(金) 22:30:36ID:???
>>689
あらかじめ改行を自分で決めたマジックキャラに置換しておくか、
表示する時に戻せばいいだけじゃね?
0692nobodyさん2006/03/31(金) 23:03:20ID:???
>>690
すいません、どういうふうに書きますか?
教えてください。

>そもそもhtmlspecialcharsを通しておきながら、\r\nを残す意味は?

htmlspecialcharsはhtmlタグをエスケープするだけじゃないですか?
mysql_real_escape_stringを通して\r\nを残す意味は
mysqlに収めるデータは他のシステムでも使えるように(web以外)
素の状態で収めておきたいからです。

>>691
表示はsmartyでやっています。
表示部はテンプレートで{$data.ddetail|nl2br}というように
nl2br修飾子を使って表示しています。
できれば表示部はこのままで行いたいと考えていますので
データベース入力前に素の形で突っ込めるような方向で考えてるわけです。

要は今までSQLインジェクションを気にしてなかったものに
mysql_real_escape_stringを採用した改造を行っていて
なるべく労力を減らそうとしています。
06936892006/03/31(金) 23:06:56ID:???
試しに
$param[$key] = ereg_replace("\\r\\n", "\r\n", $param[$key]);
とか書いて戻そうとしましたが何の反応もありませんでした。
0694nobodyさん2006/03/32(土) 00:42:56ID:???
3/32
0695nobodyさん2006/03/32(土) 02:12:58ID:???
どうやっても新年度に突入したくないみたいだなw
0696nobodyさん2006/03/32(土) 02:37:49ID:???
エイプリルフールは中止ですか
0697nobodyさん2006/03/32(土) 07:16:06ID:???
FFTを行いたいのですが、ライブラリか何かありませんか?
0698nobodyさん2006/03/32(土) 07:20:56ID:???
あ、なるほど、エイプリルフールだから
わざと「3/32」にしてるのね。
2chのバグかと思った。
0699nobodyさん2006/03/32(土) 07:31:10ID:???
>>698
こういうバグはわざとじゃなきゃ出せないと思う
0700nobodyさん2006/03/32(土) 07:42:21ID:???
速報Headlineは4/1だったりしてるし、わざとやってるね。
http://headline.2ch.net/bbynews/

http://www.2ch.net/
にも説明あるし
0701nobodyさん2006/03/32(土) 09:46:13ID:???
つか、わざわざ口に出して確認しないと、
この程度のネタの確証もてないレベルのヤツは2chくんなよ。
0702nobodyさん2006/03/32(土) 10:11:27ID:???
エイプリルフールだから>>701みたいな発言も納得出来るな
0703nobodyさん2006/03/32(土) 14:04:29ID:???
スレ違いしねよ
0704nobodyさん2006/03/32(土) 15:20:28ID:yVRxItMU
ファイルの行数を取得する方法は何かありますでしょうか?
0705nobodyさん2006/03/32(土) 15:27:40ID:???
$linenum = count(file($FILENAME));
07066892006/03/32(土) 15:32:38ID:???
ereg_replaceじゃなくstr_replaceなら思うようにいけました。
アドバイスいただいた方ありがとうございました。

$param[$key] = ereg_replace("\\r\\n", "\r\n", $param[$key]);
             ↓
$param[$key] = str_replace("\\r\\n", "\r\n", $param[$key]);
0707nobodyさん2006/03/32(土) 16:32:51ID:???
Win限定スクリプト?
誰も突っ込まないね。
0708nobodyさん2006/03/32(土) 16:41:00ID:???
ファイルの指定する文字が含まれた行を取得する方法はありますかね…。
■ このスレッドは過去ログ倉庫に格納されています