-1

ここには、ユーザーが Mas の Ajax ファイル アップローダーを使用してファイルをアップロードできるアプリケーションがあります。ユーザーは、最初に [質問を追加] ボタンをクリックして行を追加する必要があります。その後、ファイル アップローダを使用できるようになります。私が知りたいのは、ユーザーが各行のファイルを選択するたびに、ユーザーが「アップロード」ボタンをクリックすると、ファイルの場所が挿入されるように、どのようにコーディングでき、どこにコードを配置できるかということですテキストボックスからデータベースへのその行ですが、ファイルの場所がデータベースになく、ファイルのアップロードが成功した場合にのみそれを行いますか?

「ImageFile」フィールドに値を挿入したいのですが、値が挿入されるたびに ImageId フィールドに文字列「IMG」を追加し、文字列の後に次の番号を追加する必要があります。たとえば、最後の ImageId が 'IMG3' の場合、値が挿入されると、次の ImageId は 'IMG4' である必要があり、次に挿入される値は、次の ID が 'IMG5' などであることを意味します。

以下は、私が現在持っているINSERT VALUESとクエリコードを含むphpコードです。

if (isset($_POST['fileImage'])) {

$_SESSION['fileImage'] = $_POST['fileImage'];

}

if (isset($_POST['submitImageBtn'])) {


$imagequery = "SELECT ImageId, ImageFile FROM Image";

    $insertimage[] = "'". mysql_real_escape_string( $_SESSION['fileImage'] ) ."'";


  $imagequery = "INSERT INTO Image (ImageId, ImageFile) 
  VALUES (" . implode('), (', $insertimage) . ")";


  mysql_query($imagequery);

以下は、各テーブル行にファイル アップローダを追加し、アップロード プロセスが発生するコードです:

以下は、ファイルをアップロードする php ページです。

<?php

   $destination_path = str_replace("//", "/", $_SERVER['DOCUMENT_ROOT']."/")."ImageFiles";

   $result = 0;

   $target_path = $destination_path . basename( $_FILES['fileImage']['name']);

   if(@move_uploaded_file($_FILES['fileImage']['tmp_name'], $target_path)) {
      $result = 1;
   }

   sleep(1);
?>

<script language="javascript" type="text/javascript">window.top.window.stopImageUpload(<?php echo $result; ?>);</script>   


 <script type="text/javascript">
         var sourceForm; 

        function insertQuestion(form) {   

            var $tbody = $('#qandatbl > tbody'); 
            var $tr = $("<tr class='optionAndAnswer' align='center'></tr>");
            var $image = $("<td class='image'></td>"); 


           var $fileImage = $("<form action='imageupload.php' method='post' enctype='multipart/form-data' target='upload_target' onsubmit='startUpload(this);' class='imageuploadform' >" + 
            "<p class='imagef1_upload_process' align='center'>Loading...<br/><img src='Images/loader.gif' /><br/></p><p class='imagef1_upload_form' align='center'><br/><label>" + 
            "File: <input name='fileImage' type='file' class='fileImage' /></label><br/><label>" + 
            "(jpg, jpeg, pjpeg, gif, png, tif)</label><br/><br/><label>" + 
            "<input type='submit' name='submitBtn' class='sbtn' value='Upload' /></label>" +
            "</p> <iframe class='upload_target' name='upload_target' src='#' style='wclassth:0;height:0;border:0px;solclass #fff;'></iframe></form>");

            $image.append($fileImage);

            $tr.append($image);  
            $tbody.append($tr); 

        }

       function startUpload(imageuploadform){
      $(imageuploadform).find('.imagef1_upload_process').css('visibility','visible');
      $(imageuploadform).find('.imagef1_upload_form').css('visibility','hidden');
      sourceForm = imageuploadform;
          return true;
    }

        function stopUpload(success){
              var result = '';
              if (success == 1){
                 result = '<span class="msg">The file was uploaded successfully!<\/span><br/><br/>';
              }
              else {
                 result = '<span class="emsg">There was an error during file upload!<\/span><br/> <br/>' ;
              }
              $(sourceForm).find('.imagef1_upload_process').css('visibility','hidden');
              $(sourceForm).find('.imagef1_upload_form').html(result + '<label>File: <input name="fileImage" type="file"/><\/label><br/><label>(jpg, jpeg, pjpeg, gif, png, tif)</label><br/><br/><label><input type="submit" name="submitBtn" class="sbtn" value="Upload" /><\/label>');
              $(sourceForm).find('.imagef1_upload_form').css('visibility','visible');     
              return true;   
        }
        </script>
4

1 に答える 1

0

INSERTあなたはあなたの中に置くことができます

if(@move_uploaded_file($_FILES['fileImage']['tmp_name'], $target_path)) {
    $result = 1;

    ... insert image details into database here ...
}

また、画像 ID に自動インクリメント ID を使用し、保存された画像の名前に安全なランダム文字列を使用することをお勧めします。その後、最後の挿入 ID または失敗した場合は -1 (またはこれらおよびその他の詳細を含む XML/JSON オブジェクト) を返すことができます。

幸運を

于 2012-04-11T05:49:12.050 に答える