我要求用戶上傳的文件,可以通過以下形式進行POST請求到另一個頁面upload.php的錯誤上傳文件中使用PHP
<form name="input" action="upload.php" method="post" enctype="multipart/form-data">
Username: <input type="text" name="username" /><br/>
<input type="file" name="file" /> <br/>
<input type="submit" value="Submit" />
</form>
在upload.php的,我用的填充數據在前面的表格,要使用捲曲功能,我寫了下面的代碼中的POST請求:
$data = array(
"username" => $username,
"password" => $password,
"title" => $title,
"srcfile" => "@".$_FILES['file']['tmp_name']);
$ch = curl_init();
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_setopt($ch, CURLOPT_RETURNTRANSFER,1);
curl_setopt($ch, CURLOPT_URL, $api);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $data);
$response=curl_exec($ch);
echo $response;
這樣我能夠成功上傳該文件,但上載的文件有一個名稱,沒有任何擴展名是由此設定
$ _FILES [ '文件'] [ 'tmp_name的值']
,因此我不能夠使用服務器上的文件。
我應該如何使用從POST請求中獲得的文件來創建另一個POST請求?
在此先感謝。
嗨,歡迎來到StackOverflow!看看你的代碼,你似乎對PHP文件上傳工作缺乏瞭解。看看手冊,再試一次並更新你的問題,如果你仍然有困難實現你的目標:http://www.php.net/manual/en/features.file-upload.post-method.php –
有也嘗試過使用「srcfile」=>「@」。$ _ FILES ['srcfile'] ['tmp_name']。「; type =」。$ _ FILES ['srcfile'] ['type']但仍然不起作用 – Decoded
跨越這** PHP的錯誤**雖然我使用PHP 5.3.1 https://bugs.php.net/bug.php?id=48962 – Decoded