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

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

レス数が1000を超えています。これ以上書き込みはできません。
0001nobodyさん2005/11/01(火) 17:56:36ID:???
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/
0910nobodyさん2005/11/24(木) 13:51:59ID:???
漏れは面倒なのでいつもGDを使ってる
0911nobodyさん2005/11/24(木) 14:02:36ID:???
漏れは面倒なのでいつもPhotoshopを使ってる
09129102005/11/24(木) 14:03:35ID:???
それだけの用途にPhotoshopは高い・・・(´・ω・`)ショボーン
0913nobodyさん2005/11/24(木) 14:29:47ID:???
>>909
リサイズ、リサンプルならPHPのグラフィック関数(要するにGD)とか、ImageMagick。
それらを利用したサムネール作成のライブラリを利用してもいい。
phpThumbとか。他にもいっぱいあるから探してみな

あと「縦横比を変えずに」ってのは、算数の話だから。
0914nobodyさん2005/11/24(木) 14:30:25ID:???
>>912
GIMP使えよ…
0915nobodyさん2005/11/24(木) 15:12:04ID:???
以前、なんか導入するの('A`)マンドクセ、って感じだったので適当に
スクリプト書いてそれで済ましちゃったから、それっきりだ
0916nobodyさん2005/11/24(木) 16:04:22ID:???
>>909
1)リサイズしたい画像の種類を調べて、それに合わせた命令で画像を開く
2)画像の縦横サイズを読み込む
3)「算数」レベルの計算をする
4)新しい画像を作る(サイズは上で計算したやつ)
5)元の画像から新しい画像へ複製サイズ変換する
6)画像を書き出す
7)元の画像と作った画像のメモリを開放する
09179092005/11/24(木) 16:16:52ID:???
出来ました。みなさんありがとうございました。
一度作って保存して開放という流れなんですね。
このことは一生忘れません。
0918軟式PHP2005/11/24(木) 16:56:58ID:???
熱い奴だな。
0919nobodyさん2005/11/24(木) 17:48:03ID:???
>>917はマニュアル読んだら発火するんじゃまいか
0920nobodyさん2005/11/24(木) 17:53:41ID:C4QTlVLt
mysql_escape_stringでエスケープ処理した日本語を含むデータを
ブラウザに表示すると、改行とかが\nで表示されるのは当たり前なのですが、
このエスケープした文字を直すのにはどうすればいいのでしょうか?

リファレンス本に日本語を含むクエリ文字列をデコードとあったのですが
そのmb_parse_str()では結果が1になってしまい、
適切な文字列が表示されませんでした。
0921nobodyさん2005/11/24(木) 21:43:05ID:???
1行テキストをどこからインクルードしてもランダムで表示するスクリプトを作成してます。

■rawords.php ram.phpが読み込むファイルです
a行

b行

c行

■ran.php インクルードさせるファイルです
<?php
$quotes = file("http://domein/in/rawords.php");
$quote = rand(0, sizeof($quotes)-1);
echo <<<EOM
<p>$quotes[$quote]</p>
EOM;
?>

■whatever.php なんでも。
<?php include("ran.php"); ?>
インクルードパスを指定してあるのでどこからでもこれで良いのです。

こうすると
<p>b行
</p>
のように出力結果の際、改行まで変数に格納されてしまいます。
どうにかして出力結果を
<p >b行</p>
のように一行にまとめられないでしょうか。
ただし、c行(一番したのもの)を表示するときには一行にまとまっています。

どなたかお教え下さい。
09229212005/11/24(木) 21:44:36ID:???
なぜか
a行b行c行のところが辺に改行されてしまいましたが

実際は
a行
b行
c行
の3行だけが中身です
0923nobodyさん2005/11/24(木) 21:51:39ID:???
突っ込みどころ満載なのは置いておいて・・・
その出力で改行が含まれて何か不都合でもあるの?
0924nobodyさん2005/11/24(木) 21:53:18ID:???
改行消せばえぇやん('A`)
0925nobodyさん2005/11/24(木) 21:53:30ID:???
なにが問題になっているかを突き詰めていけば、
file()で読み込んだ配列の各要素のお尻に改行文字が付いてるってことだよね?
で、マニュアルのfile()を読めば分かるけど、これは正しい挙動。
なので、お尻の改行文字を削除する方法を考えればよい。
で、こういう処理をする関数がちゃんとあるわけだ。
0926nobodyさん2005/11/24(木) 22:01:41ID:???
実際の所、マニュアル読め で済む話なんだけどね。書いてあるから
http://php.net/file
0927nobodyさん2005/11/24(木) 23:37:20ID:N1UlY50b
delete関数ってどういうときに使うの?
0928nobodyさん2005/11/24(木) 23:42:32ID:???
delete(>>927);
0929nobodyさん2005/11/25(金) 00:37:49ID:D20eJ5kK
仕事でWebObjects→J2EE→.NETとWebアプリケーションを作ってきました。
この度、個人レベルのWebアプリケーションを作ってみたいと思い、
phpを勉強中なのですが、勝手の違いに戸惑っています。

悩んでいるのは、
1.ロジックとデザインの分離
2.処理や機能とphpファイルへの割り当て方
3.フォルダ構造
などです。

1.はsmartyを使ってみたり、xoopsを解読してみたりしています。
2.はかなり悩んでいます。機能ごとにファイルをわけた方がいいかとか
 ある程度の機能を1ファイルで処理する(クエリストリングで指定)とか
 (もちろんクラス分けはします)
3.は、今作りたいのが、トップページがあってログインしていくつかの
サービスを使えるというものなのですが、ファイルをフラットに並べた方がいいのか、
フォルダ分けした方がいいのかとか、共通のクラスをどう置いて、
それぞれのファイルからはどうincludeすればいいのかとかそういう事です。

非常に基本的な事だと思うのですが、このあたりが固まらないと
なかなかすすみません。

そこで、なにかしらの情報を得たいのですが、
サイト、本、サンプルコード等ありましたら教えてください。

ちなみに、現在以下の本で勉強中です。

「PHPによるWebアプリケーションスーパーサンプル」
http://www.amazon.co.jp/exec/obidos/ASIN/4797321288/qid=1132846479/sr=8-1/ref=sr_8_xs_ap_i1_xgl/250-3747813-9702656

「自分で作る blog ツール」
http://www.amazon.co.jp/exec/obidos/ASIN/4797327073/qid=1132846553/sr=1-1/ref=sr_1_2_1/250-3747813-9702656
0930nobodyさん2005/11/25(金) 00:47:20ID:???
>>929
仕事でwebアプリケーションを作っていた人間とは思えない発言だな…
とりあえず、どの言語でも基本だろうが「マニュアル嫁」
09319292005/11/25(金) 00:54:59ID:???
>>930
レスありがとうございます。

>仕事でwebアプリケーションを作っていた人間とは思えない発言だな…
>とりあえず、どの言語でも基本だろうが「マニュアル嫁」

ごもっともで申し訳ないです。仕事のレベル自体は高くないので。
ただ、マニュアルは参照程度に読んでいます。
作りたいものを作る事は出来そうなのですが、
拡張しやすいもの、綺麗なもの(可読性等)といったようなコツはやはり
マニュアルだけでは分からないかなと思い質問しました。

マニュアルはもっと読むべきだと思いますんで。マジメに読む事にします。どうもです。

0932nobodyさん2005/11/25(金) 00:58:33ID:???
束縛されるのに慣れちゃってそういう仕組みが無いPHPに戸惑ってるってことじゃないかな。
フレームワークスレがあるからそっちを眺めて自分に合いそうなのを探した方がよいかも知れず。
0933nobodyさん2005/11/25(金) 01:01:32ID:???
規約はありさえすれば何でもいいじゃない
適当なフレームワークに押し付けてみて
ダメならその時自分で作るとか
マニュアルは言語マニュアルなんで設計の話はゼロだよ
09349292005/11/25(金) 01:14:02ID:???
>>932
>束縛されるのに慣れちゃってそういう仕組みが無いPHPに戸惑ってるってことじゃないかな。

そういうことなのかもしれません。
束縛されているのに慣れていると感じた事はありませんでしたが
確かに、自由すぎて1段したから考えなければ行けないのに戸惑っています。

ロジックさえちゃんと分けておけば後から別の仕組みに置き換えることも
簡単かもしれませんが、結局の所みな大事な所は独学ということなんですかね?

フレームワークスレ見てみます。
ちょと調べた感じだとsmartyでいいかなという感じではありましたが。
フレームワーク選びに時間を費やすのもなんですけどね。

>>399
そうですよね。
でもフレームワークから作っていたら完成がずっと後になりそうです。
基本的に週末だけの作業ですから早くカリカリとコーディングしたいです。

0935nobodyさん2005/11/25(金) 01:16:24ID:???
設定ファイルで使うグローバル変数の
命名規則について迷っています。
候補は以下の二つなのですが、どちらがよいでしょうか?
できればPHPのスタンダードな記述方法が良いです。
あと、他にも良いのがあれば教えて下さい。

1、全て大文字で文字列の区切りはアンダーバー($FOO_BAR)
2、先頭はアンダーバー始まり、全て小文字で文字列区切りはアンダーバー($_foo_bar)
0936nobodyさん2005/11/25(金) 01:24:20ID:???
$GLOBALS['フーバー'] = '設定';
echo ${'フーバー'};

これをスタンダードにしようぜ
0937nobodyさん2005/11/25(金) 01:26:37ID:???
ちなみにPEARはこんな感じ
http://jp2.pear.php.net/manual/ja/standards.naming.php
0938nobodyさん2005/11/25(金) 01:33:09ID:???
pearは実際には$GLOBALS使ってるな。globalではグローバってない。
0939nobodyさん2005/11/25(金) 03:19:42ID:???
>>936
超COOLだぜ
0940nobodyさん2005/11/25(金) 04:13:50ID:???
会社の後輩がPHPのお勉強の為にホームページをこしらえました。
ttp://313ed.lolipop.jp/

今後も彼が益々上達しますよう、お便りを送ってあげてください。
0941nobodyさん2005/11/25(金) 04:41:43ID:vFK4F58j
キモッ!
0942nobodyさん2005/11/25(金) 07:40:56ID:???
>>920
mysql_escape_stringってデータをMySQLに入れるときに使う関数だよ。
今はmysql_real_escape_stringが推奨。
データベースからデータを引き出したときにはアンエスケープされてるから何もする必要はないけど。
改行が\nで表示ってmysql_escape_stringとは全然関係ないんだけど勘違いしてないか。
0943nobodyさん2005/11/25(金) 12:49:42ID:???
php.ini の short_open_tag って Off が奨励されているみたいだけど、
Off の状態で <? echo "test"; ?> と書いてブラウザでソース表示すると
PHPのソースが丸見えになっちゃうんだね。
今は <?php と書く癖がついているけど、昔書いたスクリプトで <? のままのがあって
アレレ〜になってしまった。
設定ミスでソースが見えてしまうのは避けたいので、防ぐ方法ってないかしらん?
0944nobodyさん2005/11/25(金) 13:05:17ID:???
>>943
古いそーすの<?を<?phpに変換する
0945nobodyさん2005/11/25(金) 13:25:52ID:???
>>943
またはshort open tagをonにする
0946nobodyさん2005/11/25(金) 13:32:49ID:???
>>943
あるいはCGIで動かす
09479432005/11/25(金) 13:50:50ID:???
みんなありがとね。根本的な対策ってなさげかな。
<? を修正したり、short_open_tag = On にしたりというのが正しいのだろうけど、
人間はミスするものだから、ミスでソース丸見えってのはツライな。
後は、丸見えになっても困らないように URL でアクセスできるスクリプトは
require() だけにするぐらいか。。。

>>946
CGIで動かしても同じだと思うのだけど、漏れが勘違いしてる?
0948nobodyさん2005/11/25(金) 13:56:03ID:???
>>947
根本的って……。
それが、タグの書き換えであり、short_open_tags=Onなんじゃねーのか?
いったい何を期待してたんだ?
09499432005/11/25(金) 14:04:13ID:???
>>948
あ〜、確かに意味が変だね。
"根本的な対策" → "ミスのしにくい対策"
って直しておきます。これで満足?
09509092005/11/25(金) 14:06:28ID:???
I Don't know what you're expecting of me.
Put under the pressure of walking in your shoes.
0951nobodyさん2005/11/25(金) 14:07:09ID:???
誤爆ごめんね・・・。
0952nobodyさん2005/11/25(金) 14:12:26ID:???
sedなりなんなりで <? →<?php に置き換えるスクリプトでもかましてからアップすれ


で、その次は、作ったタグ置き換えスクリプト通すのを忘れにくくする対策を考えるのさ
0953nobodyさん2005/11/25(金) 14:12:28ID:???
言葉面はどうでもいいけど、その2つしか方法は無いよ。
0954nobodyさん2005/11/25(金) 14:16:26ID:???
>>949
なに開きなおってんだ?
0955nobodyさん2005/11/25(金) 16:08:26ID:???
actionのurlと
そのinputのnameとvalue
をgetで取得して

getで受け取ったのを
postすることってJavaScript併用しないとできないですか?
ほんとくだらなくてすみません
0956nobodyさん2005/11/25(金) 16:17:29ID:???
>>955
真面目にやるなら、fsockopen()を使ってHTTPのPOSTメソッドの仕様にしたがってPOST先にデータを渡す。
キーワード [ HTTP RFC1945 RFC2616 POST fsockopen ]
pearのHTTP_Clientを使うと楽できる。
0957nobodyさん2005/11/25(金) 16:22:54ID:???
>>956
HTTP_Clientか
使ってみる
0958nobodyさん2005/11/25(金) 17:31:41ID:???
ファイルのアップロードのやりかたをおしえてください
0959nobodyさん2005/11/25(金) 17:34:04ID:???
>>958
FTP
0960nobodyさん2005/11/25(金) 17:38:01ID:???
楽するならfile_get_contentsでPOST
0961nobodyさん2005/11/25(金) 17:43:18ID:???
>>958
php ファイル アップロード
でぐぐってみなよ。
0962nobodyさん2005/11/25(金) 17:47:28ID:???
>>929
ブログツールの本も読んでるみたいだし、ならwordpressのフォルダ構造とか参考にしてみたら?
あとは、web上で公開されてるファイル数多めのphpツールをひたすらダウンロードして自分で解析しまくる。
0963nobodyさん2005/11/25(金) 17:51:07ID:???
wpはプロシージャ系だから参考にならないよ
0964nobodyさん2005/11/25(金) 18:15:44ID:???
>>963
うんじゃ、phpMyAdminとか
0965nobodyさん2005/11/25(金) 18:47:40ID:???
ものすごくくだらない質問ですみません。

GETで指定されていない場合、hogehogeを変数nameにいれたいのですが、
GETを取得していない場合という分岐ができません・・・

if(!$_GET['hoge']===TRUE){
$name="hogehoge";
}else{
$name =$_REQUEST['hoge'];
}

どうか教えてください・・・
0966nobodyさん2005/11/25(金) 18:53:17ID:???
if (empty($_GET['hoge'])) {}
とか
$name = empty($_GET['hoge']) ? 'hogehoge' : $_REQUEST['hoge'];
0967nobodyさん2005/11/25(金) 19:01:40ID:???
不特定回数繰り返された文字列を特定の文字に置換したいのですが、
できますでしょうか?

[ aaaaaa.... ]を[ a ]に置換する。
0968nobodyさん2005/11/25(金) 19:03:54ID:???
>>965
とりあえず解決はしたようだが、驚かないで聞いてくれ。
var_dump($_GET) してみれば分かるが、$_GETで渡ってくるデータはstring型だったんだっ!
なので存在する$_GETに対して===を使って比較する場合は、必ずstring型にある。
0969nobodyさん2005/11/25(金) 19:16:30ID:???
>>967
もちろん出来るよ。一行で
0970nobodyさん2005/11/25(金) 19:21:16ID:???
>>967
正規表現
09719652005/11/25(金) 19:47:29ID:???
>>966
ありがとうございますm(_ _)mペコリ
emptyを使うことを思いつきませんでした。

>>968
ままっまじすかっ(驚愕)


0972nobodyさん2005/11/25(金) 20:15:24ID:???
>>971
issetもお忘れなく
0973nobodyさん2005/11/25(金) 20:21:17ID:???
お世話になります。

pg_connect()を使って、郵便番号を郵政のデータベースから入手したいのだが

Fatal error: Call to undefined function:pg_connect()
in /home/userdir/www/postal/hogehoge.php on line 75

で実行不可になってしまいます(なぜに Call to undefined function になってしまうのでしょうか。。。)。
どうすれば解決できるでしょうか、お教え願います。
0974nobodyさん2005/11/25(金) 20:25:03ID:???
>pg_connect()を使って、郵便番号を郵政のデータベースから入手したいのだが
ホントにこんな事が出来たらワロス
0975nobodyさん2005/11/25(金) 20:28:01ID:???
ゆうびんホームページからCSV形式の郵便番号のデータを取得してテーブルにインポートする流れです。
0976nobodyさん2005/11/25(金) 20:29:57ID:???
ポスグレ用のモジュールが入ってねーから
0977nobodyさん2005/11/25(金) 20:37:18ID:???
ポスグレって呼ぶな
0978nobodyさん2005/11/25(金) 20:38:01ID:8jBg0Ry9
初歩的なことかと思いますがよろしくお願いします。
下記のようにやるとifを全く評価してくれません。
どうしてなんでしょうか・・・?
どこがおかしいのか教えてください。

・実験用ファイル
<?
$fp = @fopen("list.txt", "r");
while(!feof($fp)){
list($name,$address,$num) = explode("<>", fgets($fp));
if($num == "010"){
echo "あなたの番号は010です<br>";
}else{
echo "あなたは020番以降の方ですね?<br>";
}
}
fclose($fp);
?>

・list.txt
名前1<>住所1<>010
名前2<>住所2<>020
名前3<>住所3<>030
名前4<>住所4<>040
0979nobodyさん2005/11/25(金) 20:38:15ID:???
ポグスかよ
0980nobodyさん2005/11/25(金) 20:40:47ID:???
>>978
おかしいと思ったらならその変数をダンプしてみろよ
改行くっついてるから
09819732005/11/25(金) 20:45:02ID:???
PostgreSQL設定オプションの

pgsql.allow_persistent "1"
pgsql.max_persistent "-1"
pgsql.max_links "-1"
pgsql.auto_reset_persistent "0"
pgsql.ignore_notice "0"
pgsql.log_notice "0"

をどのように設定すれば設定を有効にできるのでしょうか
たびたびすみません
09829732005/11/25(金) 20:47:56ID:???
pgsql.allow_persistent = On
pgsql.auto_reset_persistent = Off

が抜けてました。汚しすみません・・・
0983nobodyさん2005/11/25(金) 20:48:28ID:???
>>981
参考URL書いておきまつね。
http://www.google.co.jp/search?hl=ja&c2coff=1&rls=GGGL%2CGGGL%3A2005-09%2CGGGL%3Aja&q=pg_connect+Fatal+error%3A+Call+to+undefined+function%3Apg_connect%28%29+&btnG=Google+%E6%A4%9C%E7%B4%A2&lr=lang_ja
0984nobodyさん2005/11/25(金) 20:49:38ID:8jBg0Ry9
>>980
ありがとうございます。
解決できました!
こういう場合、最後にも「<>」を入れないといけないんですね。
勉強になりました。
09859732005/11/25(金) 20:53:49ID:???
>>983
回答ありがとうございます

がっついていて、ググりませんでした・・失礼しました
0986ダメな9732005/11/25(金) 20:59:22ID:???
さくらサーバのphp.iniファイルに

extension=php_pgsql.dll

を追加したのですが、変更を認識してくれないのはなぜでしょうか?
スレ違いですみませんが
0987nobodyさん2005/11/25(金) 21:00:47ID:???
OSって知ってる?
0988nobodyさん2005/11/25(金) 21:01:18ID:???
レン鯖でテストキター
0989ダメな9732005/11/25(金) 21:09:53ID:???
>>987
えーと、BSDのようですが
0990nobodyさん2005/11/25(金) 21:10:15ID:???
>>984
いや、trimだろ普通は
0991nobodyさん2005/11/25(金) 21:11:04ID:???
次スレ次スレ
0992nobodyさん2005/11/25(金) 21:17:30ID:???
【PHP】下らねぇ質問はここに書き込みやがれpart13
http://pc8.2ch.net/test/read.cgi/php/1132921016/
09939782005/11/25(金) 21:18:51ID:???
>>990
trimも一番最初に思いついたんですが、
もしかしてと思い最後尾に<>を入れてみたらうまくいったんで・・・w
やっぱりtrim使う事にします!
0994nobodyさん2005/11/25(金) 21:20:50ID:???
埋めるか
0995nobodyさん2005/11/25(金) 21:22:40ID:???
たまにCSVの仕様で末尾かならずカンマ、みたいなのをもらったりするがオマイさんみたいなのが作ってたんだな…
0996nobodyさん2005/11/25(金) 21:24:31ID:???
CSV吐き出す側のルーチンが単純になるってのは利点とは言わんか…
0997nobodyさん2005/11/25(金) 21:25:45ID:???
>>995
>>996
テメーラこんなとこでくだらねー議論してんじゃねーよ
0998nobodyさん2005/11/25(金) 21:26:07ID:???
雪が降ってきましたねぇ
0999nobodyさん2005/11/25(金) 21:26:14ID:???
>>997
おいおいくだスレだからいいじゃないか
1000nobodyさん2005/11/25(金) 21:26:45ID:???
>>995-999
以上自演乙でした
10011001Over 1000Thread
このスレッドは1000を超えました。
もう書けないので、新しいスレッドを立ててくださいです。。。
レス数が1000を超えています。これ以上書き込みはできません。