トップページ⇒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等)・フレームワークは各該当スレへ
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出せ
0546nobodyさん2013/07/07(日) NY:AN:NY.ANID:zB7I9fCC
まともな頭持ってたら各段階でデータがどうなってるか確認する
つまりここに書き込むまでもなくわかるということ

一言で言うと
馬鹿には無理
0547nobodyさん2013/07/07(日) NY:AN:NY.ANID:???
質問者になりすまして煽るパターンは、もうおなか一杯です。
0548nobodyさん2013/07/07(日) NY:AN:NY.ANID:UBLgc+ap
>>546
めちゃくちゃ荒らしてあとで申し訳ないないけど、 データがどうなってるかは最初からわかってるし、データどうなってるかがわかったところで根本的解決にはならない。そもそもヘッダを含めちゃいけないってしらなかったんだから。
0549nobodyさん2013/07/07(日) NY:AN:NY.ANID:zB7I9fCC
自称わかってる(笑)の本質なんてこの程度のもんだということを馬鹿がさらに宣伝してるだけだな
元本と比べれば小学生でも違いはわかるんだからさ(笑)
0550nobodyさん2013/07/08(月) NY:AN:NY.ANID:Ut6Bx/oC
>>549
君はバイナリデータがよめるのか
へーすごいね
0551nobodyさん2013/07/08(月) NY:AN:NY.ANID:JakHMzbX
【OS名】Windows7 【PHPのバージョン】5.3.8 【連携ソフトウェア】Xampp , Twitter BootStrap

PHPとMYSQLを用いてテーブルの表示し、表示されたページからボタンを押下して
ステータスを0⇒1⇒0⇒1と更新したいと考えてます。
現在、テーブルを表示させることはできてますがボタンを押下した際に対象となる列を指定して更新することができません。
対処法をご教示頂ければと思います。
$row[0]にはコードが、$row[1]にはステータスが挿入されてます。以下ソース抜粋となります。

while ($row = mysql_fetch_row($list_result)){
switch ($row[1]){
case '0':
$aaa = row[0];
$status = '<button name=test class="btn btn-small btn-primary">Statu0</button>';
break;

case '1':
$status = '<button name=test class="btn btn-small btn-danger">Status1</button>';
break;
}
echo <<<list2
<tr align="center" >
<td>$row[0]</td><td>$status</td>
</tr >
</form>
list2;
}

if (isset($_POST['test'])) {
echo $aaa;
}
0552nobodyさん2013/07/08(月) NY:AN:NY.ANID:???
>>551
>テーブルの表示し、
日本語すらまともに使えないゴミは消えろ
0553nobodyさん2013/07/08(月) NY:AN:NY.ANID:???
出力コードだけで更新系のコードが一切記述されてない状況で何を判断しろとw
そもそもボタン押下時のスクリプトは成功してるんかね?
0554nobodyさん2013/07/08(月) NY:AN:NY.ANID:???
>>548
知らなかったことを責める馬鹿は気にするな。
知って学んで二度目は自力で解決できることが大切。
0555nobodyさん2013/07/08(月) NY:AN:NY.ANID:TuBZgbNe
テキストエディタででも画像ファイル開いてみてから言えよ馬鹿
0556nobodyさん2013/07/08(月) NY:AN:NY.ANID:TuBZgbNe
解決手法を学習しない548みたいなのは迷惑にしかならないから
早いトコやめた方がいいよ
0557nobodyさん2013/07/08(月) NY:AN:NY.ANID:???
>>551も大概にしろよ。
お前みたいな知恵遅れが使うからPHPのイメージが悪くなるんだ。
0558nobodyさん2013/07/08(月) NY:AN:NY.ANID:Ut6Bx/oC
>>555
さすがにそれはやったよ。ただそれで解決できるなら質問なんかしない。
壊れたバイナリをみてどんな行動をとればいいのかと聞いているんだが。バイナリデータ意味わかってる?
0559nobodyさん2013/07/08(月) NY:AN:NY.ANID:???
まず、base64のデータを普通にでコードしたら正常なpngができたこと、
異常な方と正常なpngで最初の100バイトほどダンプしたらあきらかに全然違っていたのと
ファイルのサイズが異常な方は数バイト大きかったので、
この大きくなった分がどこから来たか推測して(先頭から違うんだから最初がおかしいと推測できる)
試しにヘッダごとデコードしてみたら、問題のデータと全く同じものができた。
という手順で検証した。

$_FILES使えって
0560nobodyさん2013/07/08(月) NY:AN:NY.ANID:???
PDOで書く時、$dbhとか$stmtとかの変数で書く人が多いんだけど
これはどういう意味?
データベースヘッダー?
0561nobodyさん2013/07/08(月) NY:AN:NY.ANID:???
DataBaseHandler
STateMenT
0562nobodyさん2013/07/08(月) NY:AN:NY.ANID:???
>>561
意味は>>560の通りなんだけど、そう書く人が多いのはマニュアルがその省略形を使ってるからだと思う。
例えば、
http://www.php.net/manual/ja/pdo.errorinfo.php
0563nobodyさん2013/07/08(月) NY:AN:NY.ANID:???
俺は$dbhじゃなくて$pdo
$stmtじゃなくて$psとかにするかもな
0564nobodyさん2013/07/08(月) NY:AN:NY.ANID:???
>>558
主題と逸れてるのは理解したうえで言うけど、
適当な画像ファイルをテキストエディタで開いてみるといいよ。
読める文字が先頭についてるから。
0565nobodyさん2013/07/08(月) NY:AN:NY.ANID:???
マジックナンバーね。
0566nobodyさん2013/07/08(月) NY:AN:NY.ANID:???
まあpngはすぐわかるなw
0567nobodyさん2013/07/08(月) NY:AN:NY.ANID:Ut6Bx/oC
>>564
エディタで開いたんだからさすがに気づいてたけど、それが解決にはならん気がする。

>>559
>base64のデータを普通にでコードしたら正常なpngができた
→「普通にデコード」の意味がわからんけど、img src=base64データ で表示はできたんだからデータが間違ってないのはわかってるよ

>この大きくなった分がどこから来たか推測して(先頭から違うんだから最初がおかしいと推測できる)
→それならヘッダ以外の後のほうは、元データもヘッダ付きデータも同じなんだから後の方が違うのはおかしいと思っちゃう

>$_FILES使えって
→ドラッグアンドドロップで画像をアップロードするものを作っていて、一番自分でカスタマイズできそうなサンプルを探し、それが結果的にbase64で送るものだったんです
普段は勿論 $_FILES使います。


「推測すればいい」 というけれどもちろん私はエスパーでもなければ感のいいほうではありません。今回は完全にバイナリファイルの扱いが初めてだったことと、質問時にそれを伝え損ねた事が原因だと思うので今後は気をつけていこうと思います。
0568nobodyさん2013/07/08(月) NY:AN:NY.ANID:???
>>567
今後は?
コイツ社会経験のないksニートか?w
二度目はねーんだよ二度と来るな恥知らずwww
0569nobodyさん2013/07/08(月) NY:AN:NY.ANID:???
>>567
まぁ、いらいらすることもあるさ。
次は、base64エンコードされるというのはどういうことかって言うのを調べておけばいいんじゃない?
意味もわからず使うからそうなるわけで、それすらも省略される近道を求めちゃいけないと思う。
0570nobodyさん2013/07/08(月) NY:AN:NY.ANID:???
よっぽど暇なんだな
0571nobodyさん2013/07/09(火) NY:AN:NY.ANID:k7B6tgkb
あーいえば上祐(笑)
全力で言い訳する暇があったら一言礼だけ言って次に進めよ
全力で言い訳してる時点でもうだめだわ
0572nobodyさん2013/07/09(火) NY:AN:NY.ANID:???
>>567
お前のできない理由なんて誰も興味ないのもわからんのか
0573nobodyさん2013/07/09(火) NY:AN:NY.ANID:k7B6tgkb
馬鹿しかいないこの板でも桁外れに頭が悪いんだよそいつは
0574nobodyさん2013/07/09(火) NY:AN:NY.ANID:???
>>567
キミの問題は、結果がおかしい時に何も調べずに
phpの仕様のせいにして先に進めなかったtことと
結果がわかっても自分のせいにしたくなくて
今後のやり方をあらめようともしないところ

今後人に聞くのはやめろよな、環境作っていろいろ調べて結果を出したのに後味悪すぎる
0575nobodyさん2013/07/09(火) NY:AN:NY.ANID:???
>>567みたいなクズが今後中学高校大学と進学して社会に出てくると思うと絶望的だな
0576nobodyさん2013/07/09(火) NY:AN:NY.ANID:???
うわうぜぇ。また回答者にも質問者にもなれない人が増えた。夏休みってもう始まったの?
0577nobodyさん2013/07/09(火) NY:AN:NY.ANID:???
>>576
つ鏡
0578nobodyさん2013/07/09(火) NY:AN:NY.ANID:???
>>576
IDだせゴミクズ
0579nobodyさん2013/07/09(火) NY:AN:NY.ANID:k7B6tgkb
576=567
0580nobodyさん2013/07/09(火) NY:AN:NY.ANID:???
567叩いてるおれカッケーwwww
0581nobodyさん2013/07/09(火) NY:AN:NY.ANID:???
>>567が糞すぎる

どんな教育受けてきたんだ
0582nobodyさん2013/07/09(火) NY:AN:NY.ANID:eZcG40Bc
>>578
はい。
でももっかい彼が書かないことにはどうにもならんなこれ
0583nobodyさん2013/07/09(火) NY:AN:NY.ANID:IrNQ7IWS
>>578
はい。
でももっかい彼が書かないことにはどうにもならんなこれ
0584nobodyさん2013/07/09(火) NY:AN:NY.ANID:eZcG40Bc
さすがだわw
0585nobodyさん2013/07/09(火) NY:AN:NY.ANID:7W64c/4q
>>578
はい。
でももっかい彼が書かないことにはどうにもならんなこれ
0586nobodyさん2013/07/10(水) NY:AN:NY.ANID:???
驚異の糞スレ
0587nobodyさん2013/07/10(水) NY:AN:NY.ANID:CN5V3Wu/
そもそも最底辺が集まる板だし
0588nobodyさん2013/07/10(水) NY:AN:NY.ANID:???
少し前の状況に戻っただけだな。最近マシになりすぎてた感すらある。
0589nobodyさん2013/07/10(水) NY:AN:NY.ANID:BysYyNl3
よんだ?
0590nobodyさん2013/07/10(水) NY:AN:NY.ANID:hhzOdqYq
PHPの3項演算子について質問です。
コロンの後に、exit()を用いても大丈夫ですか?
以下の文は、期待通りに動くのですが、後々、問題になるのを避けたいです。

$val = !empty($arg) ? $arg : exit('error');
0591nobodyさん2013/07/10(水) NY:AN:NY.ANID:???
>>590
or die使った方がいいね。
05925902013/07/10(水) NY:AN:NY.ANID:E8EpK5eU
なるほど。
と思いましたが、次のようにするとTRUEかFALSEが代入されてしまいます。
どのように or die を使えば良いのでしょうか。

$val = !empty($arg) or die('error');
0593nobodyさん2013/07/10(水) NY:AN:NY.ANID:???
>>592
http://codepad.org/iVif3kSL
05945902013/07/10(水) NY:AN:NY.ANID:E8EpK5eU
>>593
<?php
$arg = 1;
$val = !empty($arg) or die('error');
echo $val, PHP_EOL;
結果 1

これは確かに1を出力します。
なぜなら、!empty($arg) の返り値がTRUEであり、出力すると1になるから。

しかし、$arg = 5;にしても1になってしまいます。
この点は不具合です。

<?php
$arg = 5;
$val = !empty($arg) or die('error');
echo $val, PHP_EOL;
結果 1
0595nobodyさん2013/07/10(水) NY:AN:NY.ANID:85QoHIBq
>>594
1じゃなく、何になって欲しいの?
不具合というなら、期待していた結果もお願いします
05965902013/07/10(水) NY:AN:NY.ANID:E8EpK5eU
>>595

$arg = 5;
$val = !empty($arg) ? $arg : exit('error');
結果 5

これと同じ結果になるように or die を使う例を教えてください。
というか最初の質問とずれてきていますが。。
■ このスレッドは過去ログ倉庫に格納されています