【PHP】質問スレッドpart33【php】
■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん
2006/02/16(木) 03:19:52ID:xwXojaq/【基本ルール】
・新規質問の方は上げてください。age進行でお願いします。
・質問者は2回目以降、最初のレス番号を名前欄に入れてください。
・回答者は質問者に対して>>(アンカー)をつけてください。
・煽り・荒らしは放置。荒らしに反応した香具師も荒(ry
・解決しなくてもこたえてもらったら礼を。
【質問テンプレ】
・マニュアルを調べたか、google検索したか(調べたキーワード)
・タイトル(禁:教えてください!etc) 例:requireとinclude
・内容 例:requireとincludeはどう違うのですか?
・質問する際には環境も明記。
【その他諸注意】
・正規表現・PEAR・テンプレート(Smarty等)・フレームワークはそれぞれの該当スレへ
・SQLについての質問はデータベース板(PCカテゴリ)の各スレで
・オブジェクト指向については良スレがないから本を買え
・速さについては自分でベンチをとってここに書け(違う環境の人も調べてくれるかも)
【PHP マニュアル】
http://www.php.net/manual/ja/
※マニュアル上部の「search for」から検索を活用すべし(便利)。
過去スレ、関連リンク、FAQ等>>2-10辺り
0652nobodyさん
2006/03/09(木) 00:00:31ID:???http://www.php.net/downloads.php
Complete Source Code
0654nobodyさん
2006/03/09(木) 00:48:32ID:???0658nobodyさん
2006/03/09(木) 11:44:36ID:???0659nobodyさん
2006/03/09(木) 12:41:04ID:???スルーせずにいちいちアゲアシ取っていくなんてメンドクサイことよくやるね
0660nobodyさん
2006/03/09(木) 12:46:20ID:???0662nobodyさん
2006/03/09(木) 14:41:42ID:???0665nobodyさん
2006/03/09(木) 19:58:42ID:???0666nobodyさん
2006/03/09(木) 21:04:59ID:???0667nobodyさん
2006/03/09(木) 21:23:30ID:???0668nobodyさん
2006/03/09(木) 21:51:36ID:???皮先ウザいんだけど
0669nobodyさん
2006/03/09(木) 21:52:43ID:???0671nobodyさん
2006/03/09(木) 23:13:16ID:SHZr9acF--enable-mbregex --enable-mbstring --enable-trans-sid --with-xsl
--with-pgsql=/usr/local/pgsql --with-gd --with-jpeg --with-jpeg-dir=/usr/local/lib
で、phpコンパイルしてるんですが、
[09- 3-2006 23:09:46] PHP Fatal error: Call to undefined function ImageCreateFromJPEG()
in /hogehoge/hoge.php on line 15
のようなエラーがでてしまいます。どうすれば解決できるでしょうか?
環境はRedHat9とphp5.1.2です
0672nobodyさん
2006/03/10(金) 00:03:00ID:???C言語であれば以下のようなコードで変数の値を入れ替える関数が作れます。
void swap ( int *x , int *y )
{
int t = *y;
*y = *x;
*x = t;
}
ポインタがないPHPでは同じような関数は実現できないのでしょうか?
入れ替えた2つの変数を返すのに
戻り値を配列にするといった方法しかないのでしょうか?
0673nobodyさん
2006/03/10(金) 00:09:18ID:???0674nobodyさん
2006/03/10(金) 00:46:33ID:???そんな関数を使わなくても
list($x, $y) = array($y, $x);
で普通に変数スワップできるけどね。
ま、ポインタの代わりにリファレンスを使うのももちろんアリだけど。
0675nobodyさん
2006/03/10(金) 01:14:59ID:???$userid = "abc";
$password = "def";
?>
このプログラムをサーバーにアップロードして、
HTTP(SSLなし)でアクセスすると abc と def は
平文でネットを流れることになるのでしょうか?
それともサーバー側でのみ処理されることになるのでしょうか?
0678nobodyさん
2006/03/10(金) 03:09:37ID:???サーバ側でのみ処理される(ネットを流れない)ケースが多いと思われる。
ファイル名が.txtや.htmlだったらどうなるか考えてみ。
また.phpでもそのまま表示される可能性はある。
0679nobodyさん
2006/03/10(金) 03:25:34ID:???0680nobodyさん
2006/03/10(金) 10:44:28ID:???って意味の質問じゃないのか、それ。
0682nobodyさん
2006/03/10(金) 15:58:10ID:???>>681の言うとおりじゃないかな。
libgdのconfig.log 調べてごらん。
jpegのライブラリは、make install-lib したかな
0683nobodyさん
2006/03/10(金) 16:07:52ID:???どうやればよいかご存知の方いますか?
0684nobodyさん
2006/03/10(金) 17:04:23ID:???0685nobodyさん
2006/03/10(金) 17:39:41ID:???0687nobodyさん
2006/03/10(金) 20:40:48ID:bPBa/0oNC言語の構造体のようなイメージで使いたくて
$a->s1 = "aaa";
$a->s2 = "bbb";
$a->b->n1 = 123;
$a->b->n2 = 456;
みたいな使い方をしてるのですが
この書き方って問題ないのでしょうか?
マニュアルを見てもこの書き方が正しいと
思える内容が見つからなくて気になってます。
別に正しい書き方とか使い方とかあるのでしょうか?
自分の認識としては、上の例でいうと
「a」と「b」がstdClassのオブジェクトとして自動的に作られて
そのメンバ変数として「s1」「s2」「n1」「n2」が追加される
と考えてますが、間違ってます?
0689nobodyさん
2006/03/10(金) 21:20:20ID:???0690nobodyさん
2006/03/10(金) 21:22:21ID:???0693671
2006/03/10(金) 22:48:17ID:8gj1xhR9レスありがとうございました。
調べてみます!
0694687
2006/03/11(土) 08:33:19ID:???みなさんありがとうございました
なんとなく安心しました
他の方は配列でやってるのでしょうか?
それともクラス定義?
最初はクラスで定義してたのですが
変数の宣言を忘れても間違ってても
エラーにならないのでやめてしまいました。
(もしかしてエラーのレベルのせい?)
もう1度いろいろ試してみます。
>>691
配列でやると構造をあらわしにくいと思います
0695nobodyさん
2006/03/11(土) 08:46:23ID:???気がつくと5次元6次元配列とかできてたりして
この辺は個人の作り易さとかあるだろうな
0696nobodyさん
2006/03/11(土) 08:47:02ID:???気がつくと5次元6次元配列とかできてたりして
この辺は個人の作り易さとかあるだろうな
0697nobodyさん
2006/03/11(土) 08:50:36ID:???いちおうPHPの配列はリスト、スタック、キュー、マップ(ハッシュ)、木構造などだいたい表現できるけど。
stdClassは使い捨てスクリプトとかテストスクリプトみたいな一時的なものに使う以外にはあんまり使い道ないよ。
全部配列で代替できるから。
構造の「定義」をしたいならクラスを使うべき。
0698972
2006/03/11(土) 11:53:34ID:???できました。
亀レスですがありがとうございました。
>>973
リファレンスで検索しても基本的な関数の一覧しかヒットしませんでした。
その様な関数はあるのでしょうか?
更に質問なのですが、
関数内で引数として渡された値実体を
直接変えることはできますか?
伝わりにくいかもしれませんが、
やはりCでのポインタを用いたswapのイメージでお願いします。
0700nobodyさん
2006/03/11(土) 12:00:18ID:???お前が>>672なら
function hoge(&$var) {
$var++;
}
$val = 1;
hoge($val);
echo $val;
0702nobodyさん
2006/03/11(土) 12:10:19ID:???function swap(& $a, & $b) {
$t = $a; $a = $b; $b = $t;
}
この&をつけて変数を渡すことをPHPではリファレンスっていうのです。C++の参照の構文に似せてあるね。
http://php.net/references
0703672
2006/03/11(土) 12:27:06ID:???調べてみました。
参照変数なんてあったんですね。
ポインタと比べて変数のアドレスは操作できないが、
アドレスの指す変数を操作していると解釈していいのでしょうか?
0704nobodyさん
2006/03/11(土) 12:34:58ID:???0705nobodyさん
2006/03/11(土) 13:20:09ID:???お前最悪だな
糞なおまえの糞スパゲティコードなんかメンテしたくねえや。
クラスくらい作って『集約(Aggregation)』くらいしやがれや
0708nobodyさん
2006/03/11(土) 15:53:32ID:???おかげでアホな外注が作ったワケ分からんスパゲッティーコードを
元請様がデバッグする羽目になる。
0710nobodyさん
2006/03/11(土) 17:08:56ID:???$a['s1'] = "aaa";
$a['s2'] = "bbb";
$a['b']['n1'] = 123;
$a['b']['n2'] = 456;
こんな感じ?
なんか気持ち悪いのはおれだけ?
0713nobodyさん
2006/03/11(土) 17:44:10ID:???まークラスにしても
PHPには型宣言もないし
宣言してない変数でも使えてしまうし
いっしょな気もする・・・
変数名で型とかがわかるようにするとしても
連想配列もクラス変数も一緒だしね
0714nobodyさん
2006/03/11(土) 17:48:15ID:???PHPもプロトタイプレスだし
0715nobodyさん
2006/03/11(土) 18:53:19ID:???$hoge1 = new Hoge();
$hoge1->num = 100;
$hoge2 = $hoge1;
$hoge2->num = 200;
echo $hoge1->num;
とした場合、
PHP4.3.10では 100 が
PHP5.1.2 では 200 が返されました。
PHP5で仕様が変わったのでしょうか?
マニュアルのどこかに記載がありましたら教えてください。
0716nobodyさん
2006/03/11(土) 18:56:25ID:???0720nobodyさん
2006/03/11(土) 20:39:49ID:???それくらいならまだまし
Javaでも二次元キーのハッシュはよく作るから。
List key = new ArrayList<String>();
key.add("book");
key.add("sound");
Map map = new HashMap<List, Integer>();
map.put(key,123);
key = new ArrayList<String>();
key.add("paper");
key.add("light");
map.put(key,456);
こんな感じで。
これで5次元のキーでもまあ、どうにかなるだろう。
しかしこれが5次元の配列となるとまた別。
最悪。5次元のキーを持つハッシュではなく配列ってのは読みにくくて超ウザイ。
そんなコードを書いて渡した奴に鉄拳制裁したくなる(できれば経済制裁したい)。
0721nobodyさん
2006/03/11(土) 21:01:41ID:???3次元画像はいらん
0722nobodyさん
2006/03/11(土) 21:17:29ID:???0723nobodyさん
2006/03/11(土) 21:35:40ID:???0724nobodyさん
2006/03/11(土) 21:43:45ID:???0727nobodyさん
2006/03/12(日) 00:09:02ID:yHHsI6Ak0728nobodyさん
2006/03/12(日) 00:24:10ID:d4WSeAj/例(1つ)->strip_tags($str,'<Font>');
例(2つ)->strip_tags($str,'<Font><b>');?
0729nobodyさん
2006/03/12(日) 00:26:02ID:???0732nobodyさん
2006/03/12(日) 11:19:33ID:???error_reporting関数では設定できないの?
E_ALLまでは指定できるけどE_STRICTだけ有効にならない
0733nobodyさん
2006/03/12(日) 11:43:11ID:???環境くらい書けと。
error_reporting(E_ALL | E_STRICT);
ちなみにE_STRICTはPHP5.0から
0734nobodyさん
2006/03/12(日) 11:54:05ID:???すんません、できるはずなんですね。
PHP5.1.2なんですが、
error_reporting(E_ALL | E_STRICT);
としても
error_reporting(4095);
としても有効にならないっす
httpd.confかphp.iniならできるんだけど・・・
0737nobodyさん
2006/03/12(日) 22:33:58ID:???CとかJavaで発注かけないと。
phpとかperlは仕様書見て作り直しが基本。
0738732
2006/03/13(月) 00:30:59ID:???コンパイル後に
error_reporting(xx)
でE_STRICTを有効にしても
時すでに遅しってことのようですね。
失礼しました
0739nobodyさん
2006/03/13(月) 06:00:06ID:???↑
変数の最初の10文字だけ取得したいのですが
適切な関数はないでしょうか?
0741nobodyさん
2006/03/13(月) 07:29:03ID:???0742nobodyさん
2006/03/13(月) 07:58:53ID:???http://www.php.net/manual/ja/ref.mbstring.php
●日付・時刻関数
http://www.php.net/manual/ja/ref.datetime.php
●配列関数
http://www.php.net/manual/ja/ref.array.php
●正規表現関数
http://www.php.net/manual/ja/ref.pcre.php
これくらいは読めヽ(`Д´)ノ ウワァァァン
0743nobodyさん
2006/03/13(月) 13:10:52ID:???どう考えても1度は目を通しとかないとPHPプログラマとしてまずかろう、って
レベルの基本の内容すら目を通してない連中がごろごろいるってのがなぁ…
0744nobodyさん
2006/03/13(月) 13:43:15ID:???って誰が判断するんだろう。
0745nobodyさん
2006/03/13(月) 13:50:28ID:???このスレに書く、ということですな。
0746nobodyさん
2006/03/13(月) 14:47:15ID:???そんなん自分だろ。
その自分が目を通すか通さないかの敷居を低くしていくと、
全体的なレベルが下がるから困るとも言いたいんじゃないか?
0747nobodyさん
2006/03/13(月) 19:00:58ID:???タイムアウトを設定することはできますか?
いつまでもページ全体が表示しないのはまずいので、つながらないときはエラーでもいいから
早めに諦めてほしいのです。
0748nobodyさん
2006/03/13(月) 19:02:04ID:???「ファイルシステム関数」にモロに書いてました・・・
0749nobodyさん
2006/03/13(月) 19:44:33ID:???なんか
php出来ます=低スキル、低単価、案件失敗確実
って風評が広まってる悪寒。
0750nobodyさん
2006/03/13(月) 19:46:15ID:???仕方ない事だと思うよ。
■ このスレッドは過去ログ倉庫に格納されています