プレビュー機能ちょい機能↑

PHP
広告

いやはや、懸念していたのものを指摘されてしまいました^^;

内容は、画像アップ→プレビュー→戻り→再プレビュー(投稿)にて
画像が反映されません。。
ログに画像データを持っているため、画像処理ってかなり大変なんです。

プレビュー機能の概要が、
一度、tmpのファイルへログを書き出します、
この時点でログ番号は決める事ができないため、tmpという番号をつけます。
そしてhtmlファイルを作成し、プレビューします。ここまではいいのですが、、、
1回目にimg1画像アップ→ログ吐き出し。
戻って2回目にimg2画像アップ→ログ吐き出し。この時点でimg1は指定されていないので、img1部分のパラメータはなしで送られてきます。
よって、img1はなし、img2に今アップロードした画像→img1表示しない
ということになります。
(2回目に画像なしという場合もフォームからのデータは画像なしで来るので、、、単純にログの上書きだけではだめなのです。)

毎回フォームに戻ったときは画像を選んでいただけると助かるのですが、
それだと使い勝手は悪いですね。。。


そこで、こういう処理を足しました。
1回目img1画像アップ→プレビュー→戻る(この時点でアップロードされたものをhiddenでもちます。)
→2回目img2画像アップ→ログに吐き出す前に、画像ログのみ比較します。
持ち回ったhiddenの1回目のデータと今回のデータを比べます。
今回はimg1画像無し、ただし、hiddenで持ち回ったものに画像アップ履歴があるので、img1の分のログを入れ替え→1,2回目とも画像があるようになります。
(もちろん2回目に画像がアップロードされたりされなかったりでログも変わるので、、、さらに処理追加)

といった、よくわからない複雑な処理をしています。

普通の新規書き込みならまだ良いのですが、、、修正の場合はさらに複雑な処理が入ります。
なぜなら、tmpという番号ではなく、すでに記事番号を持っているので、そのログを見て、ログ自体をtmpとしてコピー、画像もある場合はtmp-1…のようにしてコピー
プレビューして戻ってきた場合は、それを持ち回り、最後にGoを押したとき、
そのtmpのものを記事番号のログと入れ替え、画像もリネームし、前の画像を上書き等々かなり厳しいことをやってます。。

と前振りはこのくらいにして^^;
といった機能を盛り込みました。使い勝手は良くなったと思いますが、
多分、バグ有り。。。。かなぁ^^;
かなり時間を要しました。。。というわけで今日はおしまいです^^;
久しぶりにかなり頭使いました。

使い勝手がよくなったなぁと感じていただければ幸いです。