php

在linux上用curl上傳檔案到伺服器

curl -X POST -F “file=@./download.pdf” https://127.0.0.1/index.php -k

上面這樣就可以把這個目錄下的download.pdf 上傳到伺服器去 -k只是因為單純不驗證SSL憑證錯誤用而已

然後你的php程式碼就可以如下這樣寫

<?php
// 確保只有 POST 請求可以訪問此處理程式
if ($_SERVER['REQUEST_METHOD'] === 'POST') {
    // 檢查是否有上傳的檔案
   if (isset($_FILES['file'])) {
      $file = $_FILES['file'];

      // 檢查是否有錯誤發生
      if ($file['error'] === UPLOAD_ERR_OK) {
         $targetFilePath = '/var/www/html/file/'; // 指定要儲存檔案的路徑和檔名

         // 將暫存檔案移動到目標位置
         if (move_uploaded_file( $file['tmp_name'], $targetFilePath.rand(1,1000) ."-".$file['name'])) {
            echo '檔案上傳成功!';
         } else {
            echo '檔案上傳失敗。';
	print_r($_FILES);
         }
      } else {
            echo '檔案上傳錯誤:' . $file['error'];
      }
   } else {
      echo '沒有收到檔案。';
   }
} else {
   echo '只允許 POST 請求。';
}
?>
Be the First to comment.

Leave a Comment

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *

(若看不到驗證碼,請重新整理網頁。)