所以我嘗試了這個簡單的上傳代碼,但它對我來說不能正常作業。cFos Speed 顯示檔案上傳程序正常,150kb 的圖片正在上傳,但最終檔案不在目錄中。此外 mkdir 不會創建新檔案夾。盡管我完全授予了我正在處理的檔案的所有權限,例如 az rwx chmod 和 apache:apache chown。這是 html 和 ajax 的代碼:
<input type="file" name="authform" id="authform" accept="image/png">
和
$(document).ready(function()
{
$("#authform").on("change", function()
{
var input = $(this);
var inputLength = input[0].files.length;
var file;
var formData = new FormData();
for (var i = 0; i < inputLength; i )
{
file = input[0].files[i];
formData.append( 'authform[]', file);
};
$.ajax({
url: "file_upload.php",
type: "POST",
data: formData,
processData: false,
contentType: false,
});
對于 file_upload.php:
<?php
if (!file_exists('uploads')) {
mkdir('uploads', 0777);
}
$filename = time()."_".$_FILES['file']['name'];
if ( 0 < $_FILES['file']['error']) {
echo 'Error: ' . $_FILES['file']['error'] . '<br>';
}
else {
move_uploaded_file($_FILES['file']['tmp_name'], 'downloads/user-files/' . $filename);
}
echo 'downloads/user-files/'.$filename;
die;
?>
是的!我使用了不同的目錄,因為如前所述 mkdir 不起作用......那么你們有什么建議嗎?
uj5u.com熱心網友回復:
您的檔案輸入沒有該multiple屬性,因此無需遍歷它,因為它只有一個與之關聯的檔案。
$("#authform").on("change", function()
{
var formData = new FormData();
formData.append('authform', this.files[0]);
$.ajax({
url: "file_upload.php",
type: "POST",
data: formData,
processData: false,
contentType: false
});
});
在您的 php 代碼中,您使用引數參考檔案,file但您authform在 js中將其設定為。
<?php
if (!file_exists('uploads')) {
mkdir('uploads', 0777);
}
$filename = time()."_".$_FILES['authform']['name'];
if ( 0 < $_FILES['file']['error']) {
echo 'Error: ' . $_FILES['authform']['error'] . '<br>';
}
else {
move_uploaded_file($_FILES['authform']['tmp_name'], 'downloads/user-files/' . $filename);
}
echo 'downloads/user-files/'.$filename;
die;
?>
uj5u.com熱心網友回復:
答案是我應該用 copy() 而不是 move_uploaded_file() 來做到這一點。我只需要一個帶有 enctype="multipart/form-data" 的表單和帶有 type="file" 的輸入,然后使用提交操作執行以下操作:
copy($_FILES['authform']['tmp_name'], "/var/www/html/test/app/downloads/user-files/" . $_FILES['authform']['name']);
就是這樣!像寶石一樣作業!
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/326299.html
