2012-04-22 13 views
0


システムはアップロードパスを知っている必要があります。
画像パスは画像IDによって生成されます。例えば
:画像123456は、このパス画像/ 123もちろん/ 456
は、画像IDがあろう=最後に挿入された画像ID +を有する1
(データはデータベースに格納されている最後のアップロードされた画像のIDを取得する方法)

イメージをアップロードする前に、イメージIDでイメージパスを生成する方法

私は何ができる
select max(image_id) from images
または select image_id FROM images order by image_id desc limit 1



が、それらはたくさんのようです一部のユーザーが画像をアップロードするたびに作業が行われます。
最後のIDを取得する簡単な解決法はありますか

+0

あなたはmysqliまたはPDOを使用していますか? –

+0

私はmysqliを使用し、IDはもちろんauto_incrementです。最後に挿入されたIDを簡単な方法で取得する方法。組み込み関数Last_insert_idが検索の前に新しい行を挿入しないで動作しない – phpEnthusiast

+0

パス作成時にIDを挿入していませんか?わかりません。 – Blake

答えて

0

これはいくつかのステップで行う必要があります。

  1. ユーザーは、この新しいレコードのID
  2. プロセス/この新しいID
  3. 更新にスケルトンを使用して、アップロードされたファイルを移動得ることができるので、あなたは、データベース内のスケルトンレコードを挿入画像
  4. をアップロード

アップロードが完了するまでPHPが実行を開始しないため、アップロードする前にこれを行うことはできません。

安全性を最大限に高めるために、トランザクションでデータベース操作を実行します。アップロードに問題がある場合(ファイルタイプが間違っている、アップロードが失敗した、ファイルを処理できないなど...)、トランザクションをロールバックしてすべてを元に戻します。

+0

このステップのおかげで本当に便利な情報です! – phpEnthusiast

関連する問題