PHPとSQLを使って画像を取得するサイトを作っているのですが昨日新しく入れた画像の一部が黒くなってしまいました。
エラーかと思って同じ画像をもう一度保存して取得したところ同じように一部が黒くなりました。
他の画像を試してみると黒くなるのと、そうでないのがあります。
これはファイルのサイズの問題なのでしょうか。
その場合、PHP.iniのpost_max_size=ooMBを変更すれば大丈夫なのでしょうか。
それとも別のやり方があるのでしょうか。
よろしくお願いします。
*追加
先ほどphp.iniの「post_max_size」サイズを倍にしてみましたが一部黒いまま保存されてしまいます。
別の問題があるということでしょうか。
気になる質問をクリップする
クリップした質問は、後からいつでもMYページで確認できます。
またクリップした質問に回答があった際、通知やメールを受け取ることができます。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
回答5件
0
元ファイル、データ投入時、データ呼び出し時、各サイズを確認してみてください
データ投入に失敗しているだけではないでしょうか?
ただしくプレースホルダで処理されていますか?
投入時に壊れているだけではないですか?
投稿2016/10/03 07:10
総合スコア114572
0
今回はデータベースのカラムの問題でした。
BLOBだと最長65,535バイトまでとのことでそれ以上の画像を保存する場合はMEDIUMBLOBやLONGBLOBにすると画像の保存や出力はうまくいきます。
alter table テーブル名 modify カラム名 MEDIUMBLOB;
ただやり方としては回答してくださった方がいように
「ディレクトリへの保存」が普通で一般的だそうです。
今回はあくまでカラム定義BLOBで画像がキレイに入らないのはカラムの定義(容量)の問題でMEDIUMBLOBやLONGBLOBで治るです。
投稿2016/10/03 07:37
退会済みユーザー
総合スコア0
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
0
ベストアンサー
「SQLを使って」というのが意味不明ですが、おそらく「PHPで取得してきた画像をデータベースに入れている」という意味ですかね?
もしそうだとしたらまず「SQL」および「データベース」という単語・概念の意味についてググって違いを理解してください。
で、具体的な解決についてですが、
1:画像を入れているデータベースのカラムの種別と制限サイズはどうなっていますか?
2:そもそもなぜ画像をDBに入れたいのですか? ファイルのままディレクトリに保存すればいいのでは?
以上2点をお知らせください。
投稿2016/10/03 06:53
総合スコア907
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2016/10/03 07:18
退会済みユーザー
2016/10/03 07:26
退会済みユーザー
2016/10/03 07:32
2016/10/03 07:37
あなたの回答
tips
太字
斜体
打ち消し線
見出し
引用テキストの挿入
コードの挿入
リンクの挿入
リストの挿入
番号リストの挿入
表の挿入
水平線の挿入
プレビュー
質問の解決につながる回答をしましょう。 サンプルコードなど、より具体的な説明があると質問者の理解の助けになります。 また、読む側のことを考えた、分かりやすい文章を心がけましょう。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。