您好,登錄后才能下訂單哦!
copy()
函數在 PHP 中用于復制一個文件到另一個位置。當結合文件上傳時,您可以使用 $_FILES
超全局變量來處理用戶上傳的文件,然后使用 copy()
函數將這些文件移動到服務器上的指定目錄。
以下是一個簡單的示例,說明如何將 copy()
函數與文件上傳結合使用:
<!DOCTYPE html>
<html>
<head>
<title>File Upload</title>
</head>
<body>
<form action="upload.php" method="post" enctype="multipart/form-data">
Select file to upload:
<input type="file" name="fileToUpload" id="fileToUpload">
<input type="submit" value="Upload File" name="submit">
</form>
</body>
</html>
upload.php
的 PHP 文件,該文件將處理文件上傳:<?php
// 設置上傳目錄
$target_dir = "uploads/";
// 獲取上傳文件的基本信息
$target_file = $target_dir . basename($_FILES["fileToUpload"]["name"]);
$uploadOk = 1;
$imageFileType = strtolower(pathinfo($target_file, PATHINFO_EXTENSION));
// 檢查文件是否為有效的圖像文件
if (isset($_POST["submit"])) {
$check = getimagesize($_FILES["fileToUpload"]["tmp_name"]);
if ($check !== false) {
echo "File is an image - " . $check["mime"] . ".";
$uploadOk = 1;
} else {
echo "File is not an image.";
$uploadOk = 0;
}
}
// 檢查文件是否已存在
if (file_exists($target_file)) {
echo "Sorry, file already exists.";
$uploadOk = 0;
}
// 允許上傳的最大文件大小(以字節為單位)
if ($_FILES["fileToUpload"]["size"] > 500000) {
echo "Sorry, your file is too large.";
$uploadOk = 0;
}
// 允許上傳的文件格式
if ($imageFileType != "jpg" && $imageFileType != "png" && $imageFileType != "jpeg" && $imageFileType != "gif") {
echo "Sorry, only JPG, JPEG, PNG & GIF files are allowed.";
$uploadOk = 0;
}
// 如果沒有錯誤,則嘗試上傳文件
if ($uploadOk == 1) {
if (move_uploaded_file($_FILES["fileToUpload"]["tmp_name"], $target_file)) {
echo "The file " . htmlspecialchars(basename( $_FILES["fileToUpload"]["name"])) . " has been uploaded.";
} else {
echo "Sorry, there was an error uploading your file.";
}
}
?>
在這個示例中,我們首先設置了上傳目錄($target_dir
),然后獲取了上傳文件的基本信息。接下來,我們對文件進行了一系列檢查,例如檢查文件是否為有效的圖像文件、檢查文件是否已存在以及允許上傳的文件大小和格式。
如果所有檢查都通過,我們將使用 move_uploaded_file()
函數將文件從臨時目錄移動到指定的上傳目錄。move_uploaded_file()
函數類似于 copy()
函數,但專門用于處理通過 HTTP POST 上傳的文件。
請注意,這個示例僅適用于圖像文件。如果您希望允許上傳其他類型的文件,您需要相應地修改代碼。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。