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

【PHP】下らねぇ質問はID出して書き込みやがれ 85

■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん2009/06/15(月) 22:53:52ID:???
質問者はまず>>1を良く読むこと(必須!)
過去スレ、関連スレ、FAQなどは>>2-10辺り
次スレは>>980が立てる。10分以内に立たない場合、宣言してから立てたい人が立てること。

◆前スレ
【PHP】下らねぇ質問はID出して書き込みやがれ 84
http://pc11.2ch.net/test/read.cgi/php/1240835951/

◆質問用テンプレ
【OS名】vine linux
【PHPのバージョン】php5.26
【連携ソフトウェア】mysql
【質問内容】

◆質問する時の注意
・ スレを上げて自分のIDを表示させること。(メール欄に何も記述しない。専ブラのsageチェックを外す)
・ 己の行った操作、変更などを詳しく明記すること。
・ エラーメッセージはそのまま表記すること。「エラーが出ます」だけでは回答不可。
・ 質問者として、態度をわきまえること。
・ 事前に関連リンクの公式マニュアル、リファレンス本くらいはちゃんと目を通しておくこと。
(PHPで最良の教本はこの公式マニュアル。市販の書籍は嘘が多いので鵜呑みにしない。)

◆質問後の注意
・2回目以降は最初に質問した際のレス番号を入れて、偽者防止に必ずIDを表示させること。
・解決しなくても回答をもらった場合はお礼を言うこと。
 (荒らし、煽りは除く。煽られたときも、無闇に反論せずスルーすること。)

◆回答者への注意
・誰にレスしているのか分からないと困るので、>>(アンカー)をつけて回答すること。

【その他諸注意】
・SQL・正規表現・PEAR・テンプレート(Smarty等)・フレームワークは各該当スレへ
0444nobodyさん2009/07/11(土) 09:22:18ID:???
ああ、比較するだけじゃなかったね。
>>443は忘れてくれ。ヌマヌ
0445nobodyさん2009/07/11(土) 10:05:22ID:???
>>442
違うファイル読み込んでるんでしょ?
0446nobodyさん2009/07/11(土) 14:24:39ID:MrwFrSXN
フォームのボタンが押されたら、もしくはリンクをクリックしたら、
現在のファイルに記述されている関数を呼び出すことって出来ますか?

やりたいのは、ユーザーが操作したら、現在のページで作った変数の値のデータを
そのまま、自身のURLにPOSTして、現在のページを再読み込みしたいのです。
0447nobodyさん2009/07/11(土) 14:31:32ID:???
>>446
Hiddenに埋め込んで値を引き継ぐか、
セッション変数の中に値を保持するようにすればいい
0448nobodyさん2009/07/11(土) 15:33:50ID:MrwFrSXN
>>447
Hiddenしりませんでした、ありがとうございます。
0449nobodyさん2009/07/11(土) 16:05:06ID:???
【OS名】CentOS
【PHPのバージョン】php5.26
【連携ソフトウェア】なし
【質問内容】
PHPで画像を表示するWebページを作っているのですが、質問があります。
目次のページを作り、見たい画像の一覧を作って、一覧から画像を選択すると
そこにジャンプし、ジャンプ先には画像とその画像が載っている本の表紙が表示されるという
ページを作りたいのですが、どうもうまくいきません。
考えているのは、目次のページのリンクでは、クエリ文字配列で、以下のように設定をし、
※擬似コードっぽくなってます。

# imgid 画像名を読み込み、格納

<a href="gazou.php?imgid=$imgid">$imgid</a>

ジャンプ先では、

# 表紙画像 hyousi.$imgid.jpg

<img src="$imgid.jpg">
<img src="hyousi.$imgid.jpg">

といった風に、目次ページの$imgidを読み込んで、
ジャンプ先の画像表示ページでは$imgidに沿った画像を表示させるというページを作りたいです。
どのようにすれば、目次ページでクエリ文字列とIDを設定でき、ジャンプ先のページに値を渡すことができるのでしょうか?

長文失礼致します。
0450nobodyさん2009/07/11(土) 16:07:09ID:BAvUHxXp
>>449
新参乙
まぁ>>1でも読んで落ち着けよ

動的に画像を読み込みたいってことね
0451nobodyさん2009/07/11(土) 16:07:13ID:EDbsXnZV
【OS名】CentOS
【PHPのバージョン】php5.26
【連携ソフトウェア】なし
【質問内容】
PHPで画像を表示するWebページを作っているのですが、質問があります。
目次のページを作り、見たい画像の一覧を作って、一覧から画像を選択すると
そこにジャンプし、ジャンプ先には画像とその画像が載っている本の表紙が表示されるという
ページを作りたいのですが、どうもうまくいきません。
考えているのは、目次のページのリンクでは、クエリ文字配列で、以下のように設定をし、
※擬似コードっぽくなってます。

# imgid 画像名を読み込み、格納

<a href="gazou.php?imgid=$imgid">$imgid</a>

ジャンプ先では、

# 表紙画像 hyousi.$imgid.jpg

<img src="$imgid.jpg">
<img src="hyousi.$imgid.jpg">

といった風に、目次ページの$imgidを読み込んで、
ジャンプ先の画像表示ページでは$imgidに沿った画像を表示させるというページを作りたいです。
どのようにすれば、目次ページでクエリ文字列とIDを設定でき、ジャンプ先のページに値を渡すことができるのでしょうか?

長文失礼致します。
0452nobodyさん2009/07/11(土) 16:07:56ID:EDbsXnZV
>>450
専ブラのsageチェック外すの忘れていました。
すいません。
0453nobodyさん2009/07/11(土) 16:11:56ID:BAvUHxXp
おkk

何か質問の意味がわかるようでわからない
目次で
<a href="image.php?imgId=1">1</a>
<a href="image.php?imgId=2">2</a>
<a href="image.php?imgId=3">3</a>
<a href="image.php?imgId=4">4</a>
<a href="image.php?imgId=5">5</a>

表示で
<img src="<?php echo $imgid; ?>.jpg" />
<img src="hyousi.<?php echo $imgid; ?>.jpg" />
じゃだめなん?
0454nobodyさん2009/07/11(土) 16:22:16ID:EDbsXnZV
>>453
レスありがとうございます。質問分かりにくくてすいません。

画像ファイルの数が多いため、目次ページでは
テキストに別途まとめた画像ファイル名の一覧を読み込んで、
それを単純に出力表示させるようにしています。
なので、目次ページで

<a href="image.php?imgId=1">1</a>
<a href="image.php?imgId=2">2</a>
番号続く

という風に書くことができません。
所有しているPHPの教本では、クエリ文字列を使って値を渡すのは
formじゃないと無理的な事が書かれているので…。

このWebページみたいに、ttp://php.thm.jp/index.php
ひとつのPHPでコンテンツだけ色々変わるという風にしたいのですが。
0455nobodyさん2009/07/11(土) 16:57:04ID:???
<?php
  $dir = "/home/erosuke/images/";
  $mode = $_GET["mode"];

  if(strcmp($mode,"index")){
   目次HTML出力コード
  }

  if(strcmp($mode,"showimage")){
    if( $_GET["ファイル名"] があったら){
      画像データ送信
    }else{
      エラー処理。ブランク画像送るとかでも
    }
  }

よくわからんけどこんなの?
クエリ文字列の渡し方は、URL欄のパラメータと
して表示されるGETという方法がある。

POSTでも、画像参照元のHTMLにForm書くだけ
だからそれほど難しくないぞ。

つーかHTTPは勉強しとこうぜ。

http://www.studyinghttp.net/
0456nobodyさん2009/07/11(土) 17:08:21ID:EDbsXnZV
>>455
レス、ありがとうございます。
参考にしてやってみます。
Webプログラミングは最近始めたもので、HTTPの知識皆無で申し訳ありません。
参考になるWebサイトの紹介もありがとうございます。
また何かありましたら書き込みをしたいと思います。
0457nobodyさん2009/07/11(土) 17:16:51ID:MrwFrSXN
また質問させていただきます。

今ローカルで動くかテストして、アップロードしてみたんですけど
サーバ上では上手く動かないみたいです(途中から何も出力されなくなりました)

file_get_contents
unserialize
mb_strimwidth
mb_convert_encoding

こういった関数を呼び出している部分です、このような関数は対応していないというか
許可していないレンタルサーバって多いのでしょうか?
0458nobodyさん2009/07/11(土) 17:19:44ID:BAvUHxXp
>>457
何も表示されないのはエラー処理がOFFになってるだけ
あとレン鯖に入ってるPHPのバージョンとかも確認汁
0459nobodyさん2009/07/11(土) 18:45:45ID:???
>457
PHPのバージョン情報とかは絶対レン鯖のFAQだからまずそっち調べろカス
0460nobodyさん2009/07/11(土) 21:41:38ID:EDbsXnZV
>>455
すいません。
>>455を参考にページを作っているのですが、上手くいきません。
クエリ文字配列で、表示するWebページに飛ぶことができません。

http://s1.muryo-de.etowns.net/~seancovey/

こういった動作をphpでできるようにしたいのですが、上手くいきませんでした。

http://s1.muryo-de.etowns.net/~seancovey/sample/
0461nobodyさん2009/07/11(土) 23:25:33ID:EDbsXnZV
すいません。できました。
皆さん、ありがとうございました。
0462nobodyさん2009/07/12(日) 05:19:16ID:wh3eRKvy
if($hoge) echo 1;
displayerrorOFFでこういう場合issetを使う必要はあるのでしょうか?
見えなくても警告が出ないように書いておいた方が速度も早いのでしょうか?
よろしくお願いします。
0463nobodyさん2009/07/12(日) 07:51:57ID:???
変数はきちんと初期化して使うのがくだらないバグを避ける一つの手
0464nobodyさん2009/07/12(日) 08:18:43ID:???
isset使わないと、E-Noticeが出るよね?
0465nobodyさん2009/07/12(日) 08:58:12ID:???
issetを使わないからじゃなくて、undefinedだからでしょ?
0466nobodyさん2009/07/12(日) 11:40:20ID:???
if(isset($hoge))
if(!empty($hoge))
if($hoge != "")
if($hoge <> "")

どれが一番良いの?
0467nobodyさん2009/07/12(日) 11:44:58ID:???
そういう書き方をすると、Noticeを切らざるを得ない。
($hogeが初期化されていない事がある、という前提で)
そしてNoticeを切っていると、もっと複雑な場所のバグに気づかなくなるかもしれない。
エラーメッセージなしでコーディングするのは、懐中電灯だけで暗闇を歩くようなもの。
電気のスイッチが壁にくっついてるなら、点けておくに越した事はない。

速度は気にしない。
バグを未然に防ぐ事と、0.1msにも満たない処理速度の向上を天秤にかけて、後者を取るのは無能なアマチュアだけ。
つうか、そんな細かい処理の速度が気になるような状況なら、そもそもPHPを使う、という事自体大間違いだしな。
書き方で迷った時は、基本的に常に「速度が速いか」じゃなくて「バグを見つけやすいか」「コードを読みやすいか」で判断するべき。

>466
そもそも意味が違う。
$hogeに0、null、空文字列("")を代入した場合、$hogeを初期化しない場合、の4パターンで実行結果がどう違うか試してみれ。
0468nobodyさん2009/07/12(日) 12:08:06ID:???
早いからという理由で三項演算子をネストしまくってバグを入れたり、書いてるうちに
訳がわからなくなったとか言ってたりするのはもう見てらんない
0469nobodyさん2009/07/12(日) 16:05:02ID:D+DGjsUg
>>458
>>459
ありがとうございます、ところがFAQにもどこにも乗っていないんですよね・・・。
ちなみにここttp://www.i-paradise.nu/です
どちらにせよ今の関数が使えないということは諦めないとダメですよね?
代替用の関数とかありませんよね?
0470nobodyさん2009/07/12(日) 16:29:39ID:???
documentrootの外にあるjpgを出力させるプログラムを書いたんですが動きません(画面真っ白になります)
どこがおかしいのでしょうか。。

<?php
include_once "config.inc.php";
i18n_http_output("pass");
header("Content-type: image/jpg");

echo "<html><body>";
echo "<img src='";
readfile(_HOGE_DIR."123.jpg");
echo "' />";
echo "</body></html>";
?>

定数_HOGE_DIR は保存用ディレクトリ /var/www/hoge/を出力 します
画像のパーミッションは644でも755でもダメでした
よろしくお願いします

参考にした情報はここの一番下です
http://www.stackasterisk.jp/tech/php/php02_01.jsp
0471nobodyさん2009/07/12(日) 17:10:22ID:???
> header("Content-type: image/jpg");
>
> echo "<html><body>";

お前は何をやってるんだ
0472nobodyさん2009/07/12(日) 17:14:16ID:eWzEgYjh
>>471
ホントすみません。今、変だとおもって

imgOutput.php
---------------------------
<?php
i18n_http_output("pass");
header("Content-type: image/jpeg");
readfile("/var/www/hoge/123.jpg");
?>

img.html
---------------------------
<html>
<body>
<img src="imgOutput.php" />
</body>
</html>

に分割しました。が、画像欠けマークが出ます
なんででしょうか
0473nobodyさん2009/07/12(日) 17:15:30ID:???
imgOutput.php
を開いてみ
0474nobodyさん2009/07/12(日) 17:24:01ID:eWzEgYjh
>>473
何も出力されないです。。
パスがおかしいのかなぁ
ソースも真っ白だし、 パーミッションの問題でしょうか?
hogeディテクトリは755です
0475nobodyさん2009/07/12(日) 17:46:13ID:???
とりあえずi18n_http_output("pass"); を外せ
0476nobodyさん2009/07/12(日) 17:49:29ID:eWzEgYjh
>>475
どひゃー! うまくいきました!
これで作業が進みます、ありがとうございました!
あの一行は何だったんでしょうか、意味もわからず書いてましたが
0477nobodyさん2009/07/12(日) 17:58:56ID:???
自分で意味のわからない関数を書く男の人って……
0478nobodyさん2009/07/12(日) 22:55:44ID:???
もうさ、いい加減テンプレにdisplay_errorsとerror_reportingについて載せようぜ
0479nobodyさん2009/07/13(月) 00:45:29ID:???
>>478
反対のハンタイなのだ
0480nobodyさん2009/07/13(月) 10:49:55ID:???
>>424
文章の流れからするとそれっぽいんだけど、

>例えば「cの前にbがついていると無効」みたいな設定が出来て
>「bc」のみを取得したい

って、「bcがないときにbcを取得したい」って読めるんだよ。
俺が馬鹿なだけだったらすまん。
0481nobodyさん2009/07/13(月) 10:51:21ID:???
>>480
すまんアンカーミス。
>>426だな。
0482nobodyさん2009/07/13(月) 12:35:32ID:YQaPJde3
ttp://jp.php.net/manual/ja/function.imagecreate.php#53879
のImageCreateFromBMP関数とかユーザ定義関数がないとGDでbmpファイル取り扱えないの?・・
ImageCreateFromPNGでもbmpはいけます、
みたいのをどっかでみたんだけど・・
よろしくおねがいします。
0483nobodyさん2009/07/13(月) 12:43:59ID:???
GD側でBMP対応させてないと無理だろう
別にユーザー関数でいいじゃない?
0484nobodyさん2009/07/13(月) 14:37:17ID:???
クラスのメソッドに、標準関数と同じ名前は定義しちゃいけないの?
動作はするのにEclipseがエラー吐くのでキモイです…。

$user->list();
みたいな。
04854842009/07/13(月) 14:41:02ID:dllOgc2X
sageてしまいたいへんうんこでした申し訳ないです。
0486nobodyさん2009/07/13(月) 15:47:57ID:???
自宅鯖にphpブログを設置して設置できてるかの確認までは問題なかったんですけど
管理者画面に入ろうとすると真っ白なページが一瞬読み込まれてその後トップページに戻ってしまいます。
ここで質問することなのか分かりませんがどなたか助けてくださいませんか?
04874862009/07/13(月) 15:49:20ID:OhNG2SXC
すみませんID出し忘れました
ちなみにDLしたのはPHPウェブログシステム3.1です
0488nobodyさん2009/07/13(月) 15:54:47ID:???
webサーバのログに何かでてない?
0489nobodyさん2009/07/13(月) 15:58:04ID:???
使ったことないしソース読まないから勘だけど
管理画面ってことはクッキーまわりとかじゃないのかな
クッキー発行できなかったらトップに飛ばす処理とかしてそう
((まぁ普通はクッキーONにしてくださいって出すだろうから違うかもしれないけど)
ブラウザの設定は問題ない?
04904862009/07/13(月) 16:06:28ID:OhNG2SXC
返信ありがとうございます
>>488
見てみたら 「CGI TerminateProcess 4856 error 5」とエラー出てました
調べてみたらエラーコード5はアクセス拒否らしいんですが心当たりがないです・・
>>489
クッキーはONです。
0491nobodyさん2009/07/13(月) 16:20:00ID:???
>>484
設定でどうにかなるか知らないけどEclipseの設定でどうにか汁
とりあえず定義しちゃいけないなんてことはない
ただ避けたほうがいいとは思う
何をするメソッドか知らないけどlistってメソッド名はちょっとどうかと思う
set get add append remove clear findとか前になんかつけたほうがいいんじゃないかと思う
04924842009/07/13(月) 16:54:04ID:dllOgc2X
>>491
ありがとうございます。
どうにかしてみようとしましたが、たぶんどうにもならないようです。

いろいろ検証したところ、
microtime()などのメソッド名ではエラーにならないので、
どうやら「標準関数と名前が重複しているからエラー」ではなく、
「(標準関数と誤解した上で、)代入先なし&引数なしの文法エラー」のようです。
(かといってmicrotime()の場合になぜ誤解しないのか不明ですが)

というわけで、PHPではなくEclipseのQ&Aになってしまいました。
すみません。

// list()という名前については、
// まぁ本格コーディングの前のプリコードなので実際には変えると思いますが、
// 今後、本番で遭遇しないとも限らず、きもちわるいと思って質問させていただきました。
0493nobodyさん2009/07/13(月) 17:25:30ID:???
>>490
見慣れないメッセージとおもってググったらAnHTTPDでWindowsかい。
環境詳しく書いてくれ。
0494nobodyさん2009/07/13(月) 17:47:02ID:OhNG2SXC
>>493
winXPSP3+AnHTTPD+PHP5.3です
winでの鯖運用はトラブルが多いと言われているのは知っていたんですが、
気まぐれではじめたものでしたので、、それにまさかこんな小さなことでもトラブるとは思ってませんでしたorz
ブログはレンタルサーバではじめようと思います これ以上はスレ違いになりそうですし、、
0495nobodyさん2009/07/13(月) 18:06:43ID:???
PHPでCGIエラーというのがよくわからんがAnHTTPDだとそういう動作なのかなあ
まあレンタルサーバではすんなり動くと思うし使い方、設置の質問だとスレ違いな気も。
0496nobodyさん2009/07/13(月) 18:14:17ID:OhNG2SXC
>>495
ですよね。スレ汚し申し訳なかったです。
レスしてくださった方々ありがとうございました。
0497nobodyさん2009/07/13(月) 19:27:58ID:???
どこのサービスでもやってる、メアド入れてユーザー登録→確認メールが届く→一定時間内にメールに書いてあるURLをクリックすると登録完了→ユーザー名&パスワードでログイン
というのを簡単に実装できるライブラリみたいのないでしょうか?
ぐぐったらありそうだったけど見つからなかったので
0498nobodyさん2009/07/13(月) 19:37:34ID:???
>>497
CMSならそういうの実装しているものが多い。
0499nobodyさん2009/07/13(月) 19:57:05ID:???
自分で実装してみるのも勉強になるよ
0500nobodyさん2009/07/13(月) 21:04:13ID:???
>>497
そういうのを楽にやりたいならフレームワーク(CMS含む)
0501nobodyさん2009/07/13(月) 22:31:08ID:???
>484
listは関数ではなく言語構造。
0502nobodyさん2009/07/13(月) 22:43:39ID:aQVGItnX
$var = "hoge.php?width=100&height=100"
$var2 = "<a href=\"".$var."\">link</a>";
print $var2

というような処理をしてて、htmlとして$var2のaタグを出力してるんですが
そのhtmlが
hoge.php?width=100&height=100 となって正しく処理できないことがあります
(期待通り hoge.php?width=100&height=100 となることもある)

どうしたら良いですか? 
0503nobodyさん2009/07/13(月) 22:54:48ID:aQVGItnX
あ、書き間違えてました、
間違えてる方の表記は width=100 &.a.m.p.; height=100 ってなります
(勝手にserializeがかかった状態?になってる)
*ampの間の「.」は無視してください
どうしたら良いんでしょうか?
0504nobodyさん2009/07/13(月) 23:00:59ID:???
>正しく処理できないことがあります

何回かやって違う結果が出るということならなにか勘違いしてるか壊れてるかだろうね
0505nobodyさん2009/07/13(月) 23:11:56ID:aQVGItnX
>>504
どうもありがとうございます
もう少し確認してみます
0506nobodyさん2009/07/13(月) 23:18:55ID:???
どっかで htmlspecialsharとかやってないのかな
05075032009/07/14(火) 01:43:49ID:+BJ8SPET
解決しました、ありがとうございました
0508nobodyさん2009/07/14(火) 02:44:11ID:???
どのように解決したのさ
0509nobodyさん2009/07/14(火) 10:39:27ID:???
&amp;が&になるなら、&amp;amp;amp;と書けばいいのだよw
0510nobodyさん2009/07/14(火) 12:02:12ID:lTtAPwXi
質問です。
某管理システムの作成を依頼されました。
しかし、そのシステム自体はスタンドアローンのみで使用するということでした。
後DBもフリーのもの(未確定)を使用して欲しいとのこと。

技術的には可能であるけど、導入する際の手間もありますし
スタンドアローンならPHPじゃなくて、VBAでも良さそうに思えます。

依頼先にそう伝えたいと考えているのですが、私の見方はおかしいでしょうか?
0511nobodyさん2009/07/14(火) 12:05:34ID:???
>>510
客が何の目的でフリーのシステムを要望しているのかわからんじゃないか。

ある程度LinuxやBSDのインストールや設定ができる人が客先にいて、必要
とあらば規模拡張が自分でできる、ということなら、フリーのツールで揃える
のは悪くない。

MSのツールの方が開発効率がいいなら、初期導入に必要な機材、ソフトの
コスト、開発コストを上げて比較して先方に提案するのがいいんじゃないか。

スタンドアロンなら、OOoのDBを使うって手もあるぞ、要件が合致してるなら。
05125102009/07/14(火) 12:25:39ID:lTtAPwXi
>>511
返信有難うございます。
依頼先とは長い付き合いですが、Linux、BSDのインストール、設定が出来る人はいません。
また、管理システムを提供する先にいるかは後ほど確認してみようと思います。(多分居ないと思います)
0513nobodyさん2009/07/14(火) 12:52:46ID:pcPGspml
腕試しにyoutubeのような類似サイトを形だけ作ってみたいのですが
動画の変換というプロセスに関しては
コマンドラインで動作する外部プログラムを使用してexec関数などで変換するのでしょうか?
PHPで何か簡単に変換できるようなマルチメディア関数みたいのってないですかね?
動画形式はflvかoggあたりがいいのですが
0514nobodyさん2009/07/14(火) 14:02:52ID:???
ffmpegでシェル経由でやってみたら?

タイムアウトあると思うから、一時ファイルなり、DBなりを使って、
別プロセスで変換プロセスをキックするのがいいんじゃないかな。
0515nobodyさん2009/07/14(火) 15:23:52ID:bh9ZWFGS
$db = sql_connect("hoge_db");
$query = "select * from foo_bar_table";
$res = mssql_query($query, $db);
$row = mssql_fetch_row($res);

mssqlを使ってるのですが、取得した文章が途中で切れてしまいます。
なぜでしょうか?
300文字くらいあるのが、150文字くらいで切れてしまいます。
0516nobodyさん2009/07/14(火) 15:50:50ID:ToMbC0F2
>>515
tinytext(256バイト)のカラムが日本語128文字くらいで切れてるとかじゃなくて?
0517nobodyさん2009/07/14(火) 15:51:58ID:???
>>515
ひとまず思いつくのは
・実際はカラム型の文字数が足らなくて150文字くらいしか入ってない
・なんか途中に特殊な文字が入っていて切れてる
ぐらいしか思いつかなかった。

役に立ちませんかすいません。
まずはそこから確認してみては・・。

書いてるうちに>>516さんが書いてるわ。
>>516も言っているがカラム型からチェックを進める。
0518nobodyさん2009/07/14(火) 15:55:34ID:???
300あることと、150で切れてるのはどうやって確認した?
05195152009/07/14(火) 15:57:50ID:bh9ZWFGS
返信ありがとうございます。
nvarchar(4000)
でテーブルにはちゃんと文字列が入ってます。
php.iniにもそんな制限ないです.デフォルト値を用いています。
0520nobodyさん2009/07/14(火) 16:07:47ID:???
http://pc11.2ch.net/test/read.cgi/php/1238936666/488-499

こういうケースとか?
0521nobodyさん2009/07/14(火) 16:15:18ID:???
>>520
横やりだがこんな原因もあるんだなぁ
eclipse使ってないけど
05225132009/07/14(火) 16:24:44ID:???
>>514
アドバイスどうもありがとうございます。
早速簡単な実装して実験してみたいと思います。
05235152009/07/14(火) 16:39:52ID:???
>>520
違います
今分かったのはテーブルにinsertするのも115文字しかできません。
windows server 2003 SQL server 2005 php ver 5.2.x
0524nobodyさん2009/07/14(火) 16:42:25ID:???
>>523
518 名前: nobodyさん [sage] 投稿日: 2009/07/14(火) 15:55:34 ID:???
300あることと、150で切れてるのはどうやって確認した?
0525nobodyさん2009/07/14(火) 16:43:19ID:???
バイト数と文字数の違い?
「あ」は 2byte だけど 1 文字、みたいな。
05265152009/07/14(火) 16:48:28ID:???
エディタで文字数カウントしました。
0527nobodyさん2009/07/14(火) 16:57:52ID:ToMbC0F2
>>526の書き込みによって、
>>515氏の直面している問題以上に>>515氏本人が手強い相手であることがわかった(笑)

1. insertでも115文字しか入らないなら、300文字あるはずの既存データはどうやって入れたの?
入ったのは日本語で115文字?既存の300文字は日本語?ちなみに文字コードは?
全部半角のASCII文字でも115文字?2倍の230文字?ひょっとして256文字?

2. selectで150文字程度、insertで115文字の意味するところは?
毎回115文字?文字列の中身(全角半角比率など)によって誤差がけっこうある?
誤差があるとはいえselectのほうがたくさん文字が入るのは確かだったり?
投げたselect文とinsert文を差し支えなければフルで見せてほしい。

とか。
0528nobodyさん2009/07/14(火) 17:02:12ID:???
>>526
ID出したほうがいいよ、混乱するし。

あと
nvarchar(4000)
であることをどうやって確認したのかも一応聞いておきたい。
0529nobodyさん2009/07/14(火) 17:02:21ID:NN1hGdEX
昔自分が作ったプログラムを直す時、
糞過ぎて泣きそうになると気ないですか?
0530nobodyさん2009/07/14(火) 17:06:17ID:ToMbC0F2
select文は>>515にフルでシンプルなのが書かれてたね、すまん。
可能なら、$rowをその後どう扱って「150文字くらい」を表示させたのかまで書いてほしい。

- いつか alter table したつもりなだけで実際には256だったりするのではないかと疑ってみたり…
- 4000じゃなくて400だったり…

SHOW COLUMNS FROM foo_bar_table;
を試してみてほしい。可能なら。
0531nobodyさん2009/07/14(火) 17:12:05ID:???
phpmyadmin でも入れて、そこからテーブル定義とか、
SQL文の応答とかみてみてはどう?>>515

>>529
いやぁ、作ったものは、なんだか愛着あって嬉しいよ。
実装がひどいってのはあるけどなw

逆に、こういうところ苦労してたんだ、と知ることで、
もっと堅実な、またはもっと効率のいい設計や、製作方法
を勉強する機会になったりもすると思う。
05325152009/07/14(火) 18:42:20ID:bh9ZWFGS
DBのデータ型をnvarcharからtextに変えたら直りました。
みなさんありがとうございました。
0533nobodyさん2009/07/14(火) 19:04:31ID:???
原因は何なの?
0534nobodyさん2009/07/14(火) 21:09:07ID:O9yJ0RDj
>>529
君が成長してる証だよ
0535nobodyさん2009/07/14(火) 23:20:43ID:???
>529
半年前の自分のコードを見直して糞だと思えないなら、その方がよほど問題。
なんとかしたいなら、ファウラーの『リファクタリング』でも買って読め。
05365292009/07/15(水) 00:11:00ID:VnFaQFKD
みなさん、ありがとうございます!

2〜3年前に作ったプログラムが糞過ぎて涙目でしたw
テンプレート(HTML部分)と処理するPHPが混雑してて見難かったり
変数名や表示名がわかりづらかったり、色々あります。

とりあえず、修正する上でセキュリティ向上を意識して
直せる限り直したいと思います。
0537nobodyさん2009/07/15(水) 00:13:57ID:???
何でもクラスにしたがる奴と自作クラスは作らない奴では、どっちが好き?
0538nobodyさん2009/07/15(水) 00:17:24ID:???
関数好きな奴
0539nobodyさん2009/07/15(水) 00:50:15ID:???
何でもクラスに入れたがる人って、クラスが好きなのかOOPやってんだぜという
満足感が欲しいのかどっちなんだ
0540nobodyさん2009/07/15(水) 01:45:37ID:???
windows + lighttpd + fastcgi + php 5.2-nts なんですが
virtual host毎にinclude_pathを設定したいので
vhost毎に php-cgi.exe -b 127.0.0.1:%PORT% -d include_path="."
とかやってますが、これ以外に方法ないでしょうか。

起動はバッチですればいいんですが、vhostが増えると保守も面倒だし
その分だけ起動されちゃうのでイマイチ感が満天です。
PHPRC環境変数にphp.iniのパスを設定しても読んでくれないし、
-d include_path だと複数パスの指定に問題があるしで。

apache でいう php_value include_path とかできれば幸せなんですが
どなたかいい方法ご存じでしたらお願いします。
0541nobodyさん2009/07/15(水) 05:10:47ID:???
>>539
オブジェクト指向パラダイムを理解しているやつはそんなこと思いもしないよ
自然と書いてるもの
そもそもオブジェクト指向でしか設計できない言語もあるわけで
そういうところから来た人間はわざわざ手続き型でやるなんてことはしないでしょ
設計思想を理解していないやつが無理に書いてるという話ならば
オブジェクト指向を理解するには通らないといけない道だから
熟練者には失笑ものでも生暖かく見守ってやらないといけない
0542nobodyさん2009/07/15(水) 10:27:10ID:???
>>535
ズレてるうえに超上から目線だなw
0543nobodyさん2009/07/15(水) 13:50:45ID:yniO2VZr
includeで外部のphpファイルを読み込んでいますが、
この外部phpファイルが構文エラーでも停止させない方法はありませんか?

requireと違いincludeはファイルが無くても停止しないけど、
それでも構文エラーだと停止してしまいます。

構文エラーで停止させたくない理由は、この外部phpファイルは、
システム稼動中に例外的な理由で修正する必要があるが、
その修正にミスっても完全停止まではさせたくないからです。
■ このスレッドは過去ログ倉庫に格納されています