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

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

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

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

◆質問用テンプレ
【OS名】CentOS
【PHPのバージョン】5.3
【連携ソフトウェア】MySQL ImageMagick
【質問内容】

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

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

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

【その他諸注意】
・SQL・正規表現・PEAR・テンプレート(Smarty等)・フレームワークは各該当スレへ
0446nobodyさん2013/06/29(土) 20:02:16.89ID:???
>>445
うざい死ね
0447nobodyさん2013/06/29(土) 20:15:47.04ID:???
>>446
怒るなよハゲ
0448nobodyさん2013/06/29(土) 23:57:16.42ID:???
ハゲはキモいから全員死ね
0449nobodyさん2013/06/30(日) 04:50:55.38ID:???
はい 次の質問をお待ちしています♪
0450nobodyさん2013/06/30(日) 06:47:48.41ID:???
絵マン毛リオン
0451nobodyさん2013/06/30(日) 15:47:19.02ID:Y2w7UUzy?2BP(0)
いきなりのご質問で失礼します。
下記のような内容のcsvをphpで配列としたいと考えております。
================================
商品名,内容,色,価格
"鉛筆","字を書く","赤,青",100
================================

そこで、$○○=explode(',',$○○)といった関数を使用したのですが、
ダブルクォーテーションでの囲みが無視され、
色の部分が青と赤の2つに別れてしまいました。
$○○[0]="鉛筆"、$○○[1]="字を書く"、$○○[2]="赤、$○○[3]=青"、$○○[4]=100

上記のデータを
$○○[0]=鉛筆、$○○[1]=字を書く、$○○[2]=赤,青、$○○[3]=100
とするにはどのようにすれば良いかどなたかご教示いただけませんか?
よろしくお願いします。
0452nobodyさん2013/06/30(日) 15:56:29.21ID:???
>>451
fgetcsv
04534512013/06/30(日) 16:30:56.42ID:Y2w7UUzy?2BP(0)
>>452
返答ありがとうございます。
fgetcsvにて、希望の形式の読み込みができました!
0454nobodyさん2013/06/30(日) 19:21:22.30ID:???
いいってことよ
0455nobodyさん2013/06/30(日) 19:36:22.61ID:???
配列のキーに日本語はありだと思う?
0456nobodyさん2013/06/30(日) 20:15:51.87ID:???
>>455
>>1
0457nobodyさん2013/07/01(月) NY:AN:NY.ANID:???
>>455
いいから失せろゴミクズ.
0458nobodyさん2013/07/01(月) NY:AN:NY.ANID:Kji7A4hl
windows限定かもしれないが。
stream_set_write_bufferの書込みバッファは効果ない。
file_put_contents( *, *, FILE_APPEND ) はfwriteより20倍は遅かった。
0459nobodyさん2013/07/01(月) NY:AN:NY.ANID:???
そうなんだ。今後の参考にさせてもらう。
0460nobodyさん2013/07/02(火) NY:AN:NY.ANID:rRFX7w31
{
"bigArr": [
{
"params": {
"p1": true
},
"title": "ttl1"
},
{
"params": {
"p1": false,
"p2": true,
"smallArr": [
"sml"
]
},
"title": "ttl2"
}
],
"id": "id"
}

以上のような文字列をdecode_jsonでデコードしたいのですが、resultがnullになってしまいます
(改行は含みません)

多次元の連想配列としてデコードする方法を教えてください

よろしくお願いします
0461nobodyさん2013/07/02(火) NY:AN:NY.ANID:???
>>460
decode_jsonなんて関数ないが
0462nobodyさん2013/07/02(火) NY:AN:NY.ANID:rRFX7w31
>>461
json_decodeの間違いでした。すみません
よろしくお願いします
0463nobodyさん2013/07/02(火) NY:AN:NY.ANID:???
>>460
君が想定する連想配列をJSONエンコードしてみたらいいんじゃね
0464nobodyさん2013/07/02(火) NY:AN:NY.ANID:Q5mgJSDQ
【OS名】CentOS
【PHPのバージョン】6.3
【連携ソフトウェア】MySQL ImageMagick
【質問内容】
メモリーの消費について質問なんですが
sessionなどで
$_SESSION['username'] = "hogehgoe";
と入れた場合一人あたり単純に8byteのメモリー消費となってこれが1万人になると8byte * 10,000 = 80kbyteのメモリーが消費されるという認識で良いのでしょうか?
0465nobodyさん2013/07/02(火) NY:AN:NY.ANID:???
>>464
PHP6.3って?
0466nobodyさん2013/07/02(火) NY:AN:NY.ANID:Q5mgJSDQ
すいません
打ち間違えました。
PHPは5.3です
0467nobodyさん2013/07/02(火) NY:AN:NY.ANID:???
OSのバージョンと間違えたんだろうな
0468nobodyさん2013/07/02(火) NY:AN:NY.ANID:???
>>466
【連携ソフトウェア】MySQL ImageMagick って?
0469nobodyさん2013/07/02(火) NY:AN:NY.ANID:???
>>468
お前馬鹿か?
0470nobodyさん2013/07/02(火) NY:AN:NY.ANID:???
>>469
お前馬鹿か?
04714602013/07/03(水) NY:AN:NY.ANID:/WzHO7Hb
>>463
$params1 = new stdClass();
$params1->p1 = true;
$title1 = new stdClass();
$title1 = "ttl1";
$params2 = new stdClass();
$params2->p1 = false;
$params2->p2 = true;
$title2 = new stdClass();
$title2->title = "ttl2";
$params2->smallArr = array();
$params2->smallArr[0] = "sml";
$noname1 = new stdClass();
$noname1->params = $params1;
$noname1->title = $title1;
$noname2 = new stdClass();
$noname2->params = $params2;
$noname2->title = $title2;
$bigArr= array();
$bigArr[0] = $noname1;
$bigArr[1] = $noname2;
$obj = new stdClass();
$obj->bigArr = $bigArr;
$obj->id = "id";
$json = json_encode($obj);

この$jsonは>>460で例として挙げた文字列と同じものになりますが、
そこで
$obj = json_decode($json);
としても原因不明のエラーが出てしまいます。phpのバージョンは5.4.8です。
どなたか解決策を教えてください。よろしくお願いします。
0472nobodyさん2013/07/03(水) NY:AN:NY.ANID:???
>>471
原因不明のエラーって?
0473nobodyさん2013/07/03(水) NY:AN:NY.ANID:???
>>471
http://codepad.org/XyHfgOLm
0474nobodyさん2013/07/03(水) NY:AN:NY.ANID:???
>>472
質問するときはID出せ春日
消えろよ知能障害
0475nobodyさん2013/07/03(水) NY:AN:NY.ANID:???
>>474
春日って?
0476nobodyさん2013/07/03(水) NY:AN:NY.ANID:???
小春日和の略だろ
お前日本人か?
04774602013/07/03(水) NY:AN:NY.ANID:/WzHO7Hb
>>472
文字コードを調べてもutf-8です
json_decodeの後にjson_last_errorを実行してみたら結果は0でした

>>473
ありがとうございます

codepadだと実行するんですね…ということは普通ならデコードできる文字列だということですね
さっぱりわからなくなりました
04784602013/07/03(水) NY:AN:NY.ANID:/WzHO7Hb
json_decodeが壊れているのかと思い
http://www.softel.co.jp/blogs/tech/archives/3663
の方法も試してみましたがこちらもうまくいきませんでした
0479nobodyさん2013/07/03(水) NY:AN:NY.ANID:???
>>476
質問するときはID出せ池沼
0480nobodyさん2013/07/03(水) NY:AN:NY.ANID:???
>>471
> としても原因不明のエラーが出てしまいます。phpのバージョンは5.4.8です。

エラーの内容を貼れ。
04814602013/07/03(水) NY:AN:NY.ANID:/WzHO7Hb
>>480
ありがとうございます。エラーコードは500です
0482nobodyさん2013/07/03(水) NY:AN:NY.ANID:???
全文貼れよ脳みそあんのか
0483nobodyさん2013/07/03(水) NY:AN:NY.ANID:???
Internal Server Error の全文貼ってきたりしてw
0484nobodyさん2013/07/03(水) NY:AN:NY.ANID:???
>>481
CLIで動かして、表示されたエラーメッセージ貼れ
04854602013/07/03(水) NY:AN:NY.ANID:/WzHO7Hb
納期まであと40分しかありません
死ぬことにします。ありがとうございました
0486nobodyさん2013/07/03(水) NY:AN:NY.ANID:???
エラーの詳細わかれば5分で解決するのにな
0487nobodyさん2013/07/03(水) NY:AN:NY.ANID:???
まあ、いずれにしてもエラー詳細の見方もわからないんじゃ、今回助かっても次駄目だろ
0488nobodyさん2013/07/03(水) NY:AN:NY.ANID:???
安い命だったな
0489nobodyさん2013/07/03(水) NY:AN:NY.ANID:???
成り済ましかと思ったらID同じだったwwwww
0490nobodyさん2013/07/03(水) NY:AN:NY.ANID:???
はかないのう
0491nobodyさん2013/07/03(水) NY:AN:NY.ANID:???
みなさん、こんばんは。
0492nobodyさん2013/07/04(木) NY:AN:NY.ANID:???
なかっち 動画
http://www.youtube.com/watch?v=z2qK2lhk9O0s



みんなで選ぶニコ生重大事件 2012
http://vote1.fc2.com/browse/16615334/2/
2012年 ニコ生MVP
http://blog.with2.net/vote/?m=va&;id=103374&bm=
2012年ニコ生事件簿ベスト10
http://niconama.doorblog.jp/archives/21097592.html


生放送の配信者がFME切り忘れプライベートを晒す羽目に 放送後に取った行動とは?
http://getnews.jp/archives/227112
FME切り忘れた生主が放送終了後、驚愕の行動
http://niconama.doorblog.jp/archives/9369466.html
台湾誌
http://www.ettoday.net/news/20120625/64810.htm
0493nobodyさん2013/07/04(木) NY:AN:NY.ANID:???
FME?
0494nobodyさん2013/07/05(金) NY:AN:NY.ANID:R8MDMfej
PHPTALに関する質問は何処ですれば良いでしょうか?
0495nobodyさん2013/07/05(金) NY:AN:NY.ANID:a6le42l8
【質問内容】オンライン対戦ゲームの作り方
現在、PHPで会員制の簡易対戦ゲームを作成中です。
その「対戦開始までの基本的な流れ」は、どう設計したら良いでしょうか?

チャットシステムを応用して、一応、対戦を実現できているのですが、
独学のため設計に不安があります。アドバイスお願いします。

(自分が作った対戦開始までの流れ)
1. 会員Xから会員Yに対戦を申込  (POSTにて「申込フラグ」をDBに登録)
2. 会員Yが「申込フラグ」を取得 (Ajaxで定期的にDBから取得)
3. 会員Yが対戦を承諾      (POSTにて「承諾フラグ」をDBに登録)
4. 会員Yが対戦を開始
5. 会員Xが「承諾フラグ」を取得 (Ajaxで定期的にDBから取得)
6. 会員Xが対戦を開始

なお、ゲームの内容は、一定時間内で同一クイズに対する総得点を競うものです。
よろしくお願いします。
0496nobodyさん2013/07/05(金) NY:AN:NY.ANID:???
>>495
基本的にはいいと思うけど、人が増えたときのサーバー負荷が高くなりそう。
もしアパッチでやってるなら
アパッチよりもnodejs等でリアルタイムWEBな方式を検討してみてる価値はあると思う。
04974952013/07/05(金) NY:AN:NY.ANID:a6le42l8
>>496
アドバイスありがとうございます。
AjaxやCometよりも、リアルタイムWEBとしては、node.jsを利用した
WebSocketに優位性があるようですね。勉強してみます。

なお、実際、以下のようなジレンマが悩ましいです。
Ajax、Cometについての言及。
http://www.atmarkit.co.jp/ait/articles/1010/05/news133_2.html
「1リクエスト/レスポンスヘッダー自体は数KBと、そう大きくありませんが、
リクエストの更新頻度が密になってくると、毎回のリクエスト量は馬鹿になりません。
更新頻度を遅くすると、欲しい情報がすぐに手に入らないし、更新頻度を上げると
サーバへのリソース要求が高くなる、というジレンマを抱えることになります。」
0498nobodyさん2013/07/05(金) NY:AN:NY.ANID:???
node.jsを使えば、そのようなジレンマは無い
0499nobodyさん2013/07/05(金) NY:AN:NY.ANID:???
>>497
Ajax、Cometについてはそういった問題があるけど、WebSocketにはないんだろ?
じゃあWebSocketでいいじゃん
0500nobodyさん2013/07/05(金) NY:AN:NY.ANID:???
なに使ったところでc10kに対応しないとダメなんじゃないの。
05014952013/07/05(金) NY:AN:NY.ANID:wXQJTLAZ
>>499
レスありがとうございます。
WebSocketについては今日知ったばかりなので、検討中です。
学習コストが高そうなのと、ブラウザの一部が未対応との情報が気になります。

なお、質問の主旨は、>>495のとおり「対戦開始までの基本的な流れ」は、
どう設計したら良いかです。 PHP側での注意点など、ご指摘してくださると
有り難いです。
0502nobodyさん2013/07/05(金) NY:AN:NY.ANID:???
>>501
何を心配しているのか具体的に書いてくれないと具体的に答えようがない
データの矛盾?パフォーマンス?不正操作の穴?ユーザビリティ?
0503nobodyさん2013/07/05(金) NY:AN:NY.ANID:HeBuTBQC
対戦ゲームの設計なんて言語と関係ない。
05044952013/07/05(金) NY:AN:NY.ANID:wXQJTLAZ
>>502
対戦ゲームの設計についてです。

対戦システムを作りたい。
例えば、オンライン将棋やオセロなどは、どのように対戦成立を実現しているのだろう。
チャットシステムを応用すればよいのかな?
とりあえず、>>495の設計の流れで出来た。でも、これで本当にいいの?

こういった疑問です。
PHPで作る対戦システムの設計やロジックを知りたいです。
0505nobodyさん2013/07/05(金) NY:AN:NY.ANID:???
node.js + socket.io + enchant.js でつくる、リアルタイム通信ゲーム
http://wise9.jp/archives/3930

ロブロブラボ - ROBROB LAB
http://rob2.jp/mmodev/net.html


MMORPG製作に使えそうな通信ライブラリ
RakNet ttp://www.rakkarsoft.com/
UDPベースのオブジェクト同期系ネットワークライブラリ

HawkNL http://www.hawksoft.com/hawknl/
LGPL、Windows、各種Un*x、MacOS 7〜9/X対応のネットワークライブラリ
オブジェクト同期までは持ってないが、ネットワーク越しのSignal、Mutexぐらいは持ってる。

Nevrax.org -- NeL
大規模なオンライン世界を開発するためのツールキット
http://wiki.game-develop.com/index.php?%A5%D7%A5%ED%A5%B0%A5%E9%A5%DF%A5%F3%A5%B0%2FMMORPG#y28807ac
0506nobodyさん2013/07/05(金) NY:AN:NY.ANID:???
>>504
他の対戦システムの設計が君の対戦システムにマッチするの?
0507nobodyさん2013/07/05(金) NY:AN:NY.ANID:???
ゲームサーバーの仕様
UDP:速いけれどデータが届くとは限らない
TCP:遅いけれど確実にデータが届く
アクションMMORPGでは通信速度が重要です。しかし、データの正確性もある程度は必要です。
http://gamemake.wiki.fc2.com/wiki/14.5%E3%82%B2%E3%83%BC%E3%83%A0%E3%82%B5%E3%83%BC%E3%83%90%E3%83%BC%E3%81%AE%E4%BB%95%E6%A7%98


ネットワークプログラミングの基礎知識
http://x68000.q-e-d.net/~68user/net/


WinSockプログラミング序章
「ネットワークゲームを作りたい!」
今までにそう思ったことはありませんか?
http://www.geocities.jp/playtown1056/program/zyoshou.htm

Linuxネットワークプログラミング
http://www.geekpage.jp/programming/linux-network/
05084952013/07/05(金) NY:AN:NY.ANID:wXQJTLAZ
>>505 >>507
ありがとうございます。
早速、読ませていただきます。
0509nobodyさん2013/07/06(土) NY:AN:NY.ANID:???
あ、ここってスレ違いの話題OKになったんだっけ?
ではこれから遠慮なくRubyの布教をさせてもらう
0510nobodyさん2013/07/06(土) NY:AN:NY.ANID:CYENJL3T
リアルタイム通信ゲームは、PHP外とは限らない、PHPとも限らない。
速度さえでるならサーバーはPHPで設計していい。
しかしユーザー側はPHPが動作する環境にないから、
JavaとかJavascriptとかflashとかC++とかC#とか別に作らないとダメだろ。
ブラウザでHTMLだけを表示してたらリアルタイムにならない。
05114952013/07/06(土) NY:AN:NY.ANID:Jrzu0zyx
すみません。誤解が生じたようなのでお詫びします。
リアルタイム通信については、質問の主旨ではありません。
質問の主旨は、「PHPで作る対戦システムの設計」です。
特に、対戦開始成立までの流れです。ただ、付随的にAjaxを利用しています。
ですから、PHPに関連する範囲でアドバイスをお願いしています。
0512nobodyさん2013/07/06(土) NY:AN:NY.ANID:???
設計ってPHP関係あるの?
0513nobodyさん2013/07/06(土) NY:AN:NY.ANID:???
それが許されるのならPHPで作る今夜の献立でも質問しようかな
0514nobodyさん2013/07/06(土) NY:AN:NY.ANID:???
Perlなどと一緒でPHPはおもにサーバーでテキスト処理する言語。
ネットワーク機能もあるがサーバーが外部とのやりとりするためでユーザー側を操れるわけでない。
ユーザー側の通信を制御するのはPHP以外の技術。
05154952013/07/06(土) NY:AN:NY.ANID:cPOigFzJ
>>495の1.〜6.までの流れで良いのか?悪いのか?を聞きたかったです。
悪いなら、どこが悪くて、どう直せばよいのか、
良いなら、他に改良点があるかです。
0516nobodyさん2013/07/06(土) NY:AN:NY.ANID:???
>>515
XとYの対戦は同期するの?
0517nobodyさん2013/07/06(土) NY:AN:NY.ANID:???
Webブラウザ同士を接続するP2Pライブラリ「PeerJS」 2013/02/26
http://www.moongift.jp/2013/02/20130226/

「PeerJS」でP2Pチャットを作ってみる http://tech.aainc.co.jp/archives/4798

WebSocketを使っていない、サーバ無用なリアルタイム通信ライブラリ「Easy WebSocket」
http://www.moongift.jp/2011/03/20110316-2/

Node.jsでWebSocketサーバを作ってみる。 http://d.hatena.ne.jp/sho322/20130610/1370844721

Node.jsとWebSocket.IOでチャットアプリを作る http://mawatari.jp/archives/make-a-chat-application-in-node-js-and-websocket-io

Tomcat、Jetty、Socket.IO/Node.js性能比較: WebSocketが一番速いアプリケーションサーバはどれだ
http://www.atmarkit.co.jp/ait/articles/1306/04/news021.html

リアルタイムWebを極める
ポーリングからCometへ
数年前まではチャットルームのようなサービスでは,一定時間ごとに新しい情報がないか調べるポーリングと呼ばれる方法が使われてきました。
しかし,ポーリングでは情報がない時にもサーバへアクセスする必要があるため,実際には10秒間隔といったように時間を空けることで,サーバの負荷を減らす手法がとられました。
その後,ロングポーリング(通称:Comet)と呼ばれる見かけ上はサーバからのプッシュ通信が行える技術を使ったチャットサービスなどが登場しました。
http://gihyo.jp/dev/serial/01/realtimeweb/0001

CometとAjaxを利用したチャットサーバの実装
http://codezine.jp/article/detail/733?p=2

リアルタイムWebを構築しやすくする「Socket.IO」とは
ポーリングを用いる手法 http://cdn.shoeisha.jp/cz/static/images/article/7075/7075_01a_s.gif
Comet http://codezine.jp/static/images/article/7075/7075_02a_s.gif
プラグインによるSocket接続 http://codezine.jp/static/images/article/7075/7075_03a.gif
WebSocket http://codezine.jp/static/images/article/7075/7075_04a.gif
http://codezine.jp/article/detail/7075
05184952013/07/06(土) NY:AN:NY.ANID:cPOigFzJ
>>516
なるべく対戦開始時間が近い方が良いですが、
数秒のズレがあっても良いと考えてます。
0519nobodyさん2013/07/07(日) NY:AN:NY.ANID:???
>>515
そもそもnode.jsとかを使うなら全然違う処理になるんだから、まずnode.js勉強しろ
0520nobodyさん2013/07/07(日) NY:AN:NY.ANID:UBLgc+ap
長文になりますが質問です

POSTされたbase64の画像データを受け取って保存してそれを表示したいのですが、相応のサイズのファイルは作成されているのですが、うまく画像ファイルになっていないみたいで画像として開けません。

環境 CentOS6.4
パッケージ一覧
php.x86_64 5.3.3-22.el6
php-cli.x86_64 5.3.3-22.el6
php-common.x86_64 5.3.3-22.el6
php-gd.x86_64 5.3.3-22.el6
php-mbstring.x86_64 5.3.3-22.el6
php-mcrypt.x86_64 5.3.3-1.el6
php-mysql.x86_64 5.3.3-22.el6
php-pdo.x86_64 5.3.3-22.el6
php-pear.noarch 1:1.9.4-4.el6
php-tidy.x86_64 5.3.3-22.el6
php-xml.x86_64 5.3.3-22.el6
php-xmlrpc.x86_64 5.3.3-22.el6


http://pontago.hatenablog.com/entry/20091028/1256743421
http://ameblo.jp/mingw/entry-10359267538.html
http://detail.chiebukuro.yahoo.co.jp/qa/question_detail/q1133306221

を参考にしてつくったのが下記のコードです
0521nobodyさん2013/07/07(日) NY:AN:NY.ANID:UBLgc+ap
>>520です
続きです
function is_img($img_path){
  if (!(file_exists($img_path) and $type=exif_imagetype($img_path))) return false;
  if (IMAGETYPE_GIF == $type) return 'gif';
  else if (IMAGETYPE_JPEG == $type) return 'jpg';
  else if (IMAGETYPE_PNG == $type) return 'png';
  return false;
}
0522nobodyさん2013/07/07(日) NY:AN:NY.ANID:UBLgc+ap
>>521です
続きです
$data = $_POST['files'];
$www_dir = "/img/upload_images/";
$file_path = $_SERVER['DOCUMENT_ROOT'] . $www_dir;
$file_name = "test";

if (touch($file_path . $file_name)) {
  $fp = fopen($file_path . $file_name, 'w');
  $data = base64_decode(str_replace(' ', '+', $data));
  fwrite($fp, $data);
  fclose($fp);
} else {
  echo 'No Writeing';
}

if ($ext = is_img($file_path . $file_name)) {
  if (rename($file_path . $file_name , $file_path . $file_name . ".org.$ext")) {
    echo "not rename exit";
    exit(0);
  }
} else {
  // ここが実行される!!
  echo 'image only';
  exit(0);
}
echo $file_path . $file_name . ".$ext";
0523nobodyさん2013/07/07(日) NY:AN:NY.ANID:???
なんかよくわからんけど、POSTされたファイルをうpしないと検証できないんじゃないの?
0524nobodyさん2013/07/07(日) NY:AN:NY.ANID:UBLgc+ap
>>520-522です

>>523
ファイルの内容が違うのはあきらかなんですがバイナリファイルをみてもそれがなんなのか、違う原因の突き止めかたが全然わからないので…。

参考の為に…
元画像:http://kobe.digi2.jp/test/test.png
エンコード→デコードしたやつ:http://kobe.digi2.jp/test/new_test.png
0525nobodyさん2013/07/07(日) NY:AN:NY.ANID:???
画像見れないし。
それと、エンコードデコードしたやつじゃなくて、POSTされたファイルそのものが
検証には必要なんじゃないかと思うけど。
0526nobodyさん2013/07/07(日) NY:AN:NY.ANID:???
あ、元画像じゃなくて、サーバに保存されたファイルをPOSTされたファイルって言ってるからね。
0527>>520-522です2013/07/07(日) NY:AN:NY.ANID:UBLgc+ap
>>525-526

>画像見れないし。
画像として見れないから困ってるんです。名前をつけて保存して見てください。

>あ、元画像じゃなくて、サーバに保存されたファイルをPOSTされたファイルって言ってるからね。
http://kobe.digi2.jp/test/new_test.png がサーバーに保存されたファイルです。

ちなみにPOSTしてデコードする前のデータをimgタグのsrcに設定するとちゃんと見れます。
http://kobe.digi2.jp/test/new_test.html
0528nobodyさん2013/07/07(日) NY:AN:NY.ANID:???
試しに>>522のfopenからfwriteまで抜き出して
その例のbase64食わしてみたらちゃんとデコードされたぞ
デコードするまえのbase64 のデータのまま保存したらどうなってる?
0529>>520-522です2013/07/07(日) NY:AN:NY.ANID:UBLgc+ap
>>528
>デコードするまえのbase64 のデータのまま保存したらどうなってる?

エンコード状態で保存しても画像としては見れないままです・・。


新たな発見がありました
下記のコードを実行すると
--------------------------------------------
$data = $_POST['files'];
$data = str_replace(' ', '+', $data);

echo '<img src="' .$data.'">'; // ←ちゃんと表示される

$decode_data = base64_decode($data);

$encode_data = base64_encode($decode_data);

if ($decode_data === $encode_data) {
echo '一致';
} else {
echo 'なぜか不一致';
}
--------------------------------------------
「なぜか不一致」が出力されてしまいました・・・orz
こんなことってあるんですか・・・?
0530nobodyさん2013/07/07(日) NY:AN:NY.ANID:???
>>529
画像として見るんじゃなくて、base64の文字が最初のほうだけでも目視でチェックできるだろう
0531nobodyさん2013/07/07(日) NY:AN:NY.ANID:???
つーかなんとなく想像ついたよ、ちと待ってなw
0532nobodyさん2013/07/07(日) NY:AN:NY.ANID:???
base64に食わす時に、
>data:image/png;base64,
この文字まで食わせてるだろう、それが原因だよ。
0533>>520-522です2013/07/07(日) NY:AN:NY.ANID:UBLgc+ap
>>530
これです
保存されたのをテキストエディタで開いて閲覧したときの値です
http://kobe.digi2.jp/test/test.html
0534nobodyさん2013/07/07(日) NY:AN:NY.ANID:???
直前のレスでわかったと思うけど、
base64_decode するときは base64,の次の iVBO〜から渡さないとダメだよ
0535nobodyさん2013/07/07(日) NY:AN:NY.ANID:UBLgc+ap
>>532
ああ……そういうことですか…
お騒がせしてしまってもうしわけない
MIMEとかなんやらのファイルに関しての知識がまったくなかったもので…
0536nobodyさん2013/07/07(日) NY:AN:NY.ANID:???
なんだそりゃ
0537nobodyさん2013/07/07(日) NY:AN:NY.ANID:UBLgc+ap
ここにいる方の言うとおりにヘッダ部分を省いてデコードすると無事表示できました。
PHPの関数の不具合かと思い込んでいたので危うくいつまで経っても解決できないところでした
ありがとうこざいました
0538nobodyさん2013/07/07(日) NY:AN:NY.ANID:???
うわぁ・・・
0539nobodyさん2013/07/07(日) NY:AN:NY.ANID:???
なんで無知ほど、バグや仕様の不具合のせいにしたがるんだろうね?
0540nobodyさん2013/07/07(日) NY:AN:NY.ANID:???
無知だからさ
0541nobodyさん2013/07/07(日) NY:AN:NY.ANID:???
>>539
>>520だけど、無知だからだよ。

「php base64_decode」や「php
base64_decode ファイル保存」ググって5ページくらいリンクを紫色で塗りつぶしたけど、ファイルのヘッダ部分を削除してファイルに保存してくれるコードには出会わなかったしどうすりゃいいんだよ
0542nobodyさん2013/07/07(日) NY:AN:NY.ANID:???
そういう意味の無知じゃない

知識がないことじゃなくて、行為と判断に対して言っている
0543nobodyさん2013/07/07(日) NY:AN:NY.ANID:???
$_FILES 使えよ
0544nobodyさん2013/07/07(日) NY:AN:NY.ANID:???
>>542
じゃあその行動と判断の模範解答例をお願いします。多分それが解決しないと何の意味もないし、今後の参考にしたいので。
0545nobodyさん2013/07/07(日) NY:AN:NY.ANID:???
>>544
ID出せ
■ このスレッドは過去ログ倉庫に格納されています