簡體   English   中英

在PHP中移動上傳的文件

[英]move uploaded file in PHP

我想允許用戶在我的網站上上傳個人資料圖片的圖像(文件)。 他們通過HTML表單上傳圖像,但是我無法將文件移動到所需的文件夾中。 我不想弄亂php.ini文件來更改上傳路徑。 我想使用move_uploaded_file()。

這是我的HTML:

<form enctype="multipart/form-data" method="post" action="upload_img.php">
    <input type="hidden" name="MAX_FILE_SIZE" value="32768"/>
    <input type="text" name="name" value=""/>
    <input type="file" name="picture" value="picture"/>
    <input type="submit" name="submit" value="upload"/>
</form>

而我的PHP:

<?php
  define('GW_UPLOADPATH', 'images/');
  $picture= $_FILES['picture']['name'];
  $name= $_POST['name'];
  $tmp= $_FILES['picture']['tmp_name'];

  var_dump($picture);
  var_dump($name);
  var_dump($tmp);

  $connect= mysqli_connect(//connect params)
  or die('error connecting with the database');

  $query= "INSERT INTO pics (pic, name) VALUES ('$picture', '$name')";

  $target= GW_UPLOADPATH . $picture ;

  if (move_uploaded_file($_FILES['picture']['tmp_name'], $target);))
     {
      mysqli_query($connect, $query)
          or die('error with query');
     }

?>

我知道該文件已上傳到tmp文件夾,因為我可以看到它,但它名為sess_96bsj29ub3tndnd2853d24k38adrbqoo.file那應該怎么辦? 我究竟做錯了什么?

$_FILES['picture']['tmp_name'] 

將指向該文件夾中的文件,當您調用此行時

move_uploaded_file($_FILES['picture']['tmp_name'], $target);

您可以將temp文件夾中的文件保存到所需的位置。 只需將$ target設置為有效的現有目錄即可。

只需刪除分號形式,如果語句如下:

if (move_uploaded_file($_FILES['picture']['tmp_name'], $target)))
    {

    mysqli_query($connect, $query)
    or die('error with query');
    }

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM