0

(初心者)

ファイルのアップロードに問題があります。ファイル名がデータベースにポストされているのがわかりますが、ファイルが images フォルダーにポストされていません。まるで何も起こっていないようです。これが私の次のコードです。何を変更する必要があるか教えてください。

<?php
//the $art variable gets posted to a database eventually
    $art = mysql_real_escape_string(stripslashes($_FILES["art"]["name"]));
$art_ext = pathinfo($art, PATHINFO_EXTENSION);
$art = md5($art).".".$art_ext;
if($art!=""){
    move_uploaded_file($art, "images/".$art );
}
?>
<script type="text/javascript">
$(function(){
    image_upload = {
        UpdatePreview: function(obj){
          // if IE < 10 doesn't support FileReader
          if(!window.FileReader){
             // don't know how to proceed to assign src to image tag
          } else {
             var reader = new FileReader();
             var target = null;

             reader.onload = function(e) {
              target =  e.target || e.srcElement;
               $("#imageupload").attr("src", target.result);
             };
              reader.readAsDataURL(obj.files[0]);
          }
        }
    };
});
    </script>
    <form action="new.php" method="post" enctype="multipart/form-data">
<input type='file' name='art' id="file" onchange='image_upload.UpdatePreview(this)' value="Upload"  accept="image/gif,image/jpeg,image/png"/>
        </p>
        <p>upload a image! (.gif, .jpg, .png formats allowed. 5MB max)</p>
        <img id="imageupload" src="1x1.png" alt="test" />
<input type="submit" class="smallbtn4" style="cursor:pointer;" value="post"/>
</form>
4

2 に答える 2

1

move_uploaded_files()を使用する場合、宛先パスにはファイルの名前も含める必要があります....現在、宛先パスは次のとおりです。

images/

そのはず:

images/nameOfImg.ext

お役に立てれば!

編集:

@enhzflep のコメントを見た後、move_uploaded_file(); で使用する前に、ファイル名をハッシュしてファイル名文字列を作成する必要があります。

于 2013-08-28T22:52:16.640 に答える