-4
A
回答
0
這裏的例子:你需要用文件創建輸入表單。然後,如果是isset,則檢查擴展名和大小,然後移動它。
private function _uploadAvatar() {
if (isset($_POST["uploadImage"])) {
$finfo = finfo_open(FILEINFO_MIME_TYPE);
$params = explode('/', PARAMS);
$userId = end($params);
$temp = $_FILES["avatar"]["tmp_name"]; // Temporary name of image
$name = $_FILES["avatar"]["name"]; // Name of image
$size = $_FILES["avatar"]["size"]; // Size
$ext = finfo_file($finfo, $temp);
$uploadMaxSize = $this->convertMegabytestoBytes(ini_get('upload_max_filesize'));
$postMaxSize = $this->convertMegabytestoBytes(ini_get('post_max_size'));
$extensions = array("image/jpeg", "image/jpg", "image/png", "image/gif");
if ($size > $uploadMaxSize || $size > $postMaxSize) {
echo 'File is too big';
}
if (!in_array($ext, $extensions)) {
echo 'File is not valid image';
}
if (empty($_SESSION['errors'])) {
move_uploaded_file($temp, __SITE_PATH . "/pictures/" . $name);
$path = URL . '/pictures/' . $name;
$user = new user($this->registry);
$user->uploadAvatar($userId, $path);
echo 'Image was successful upload';
header("Refresh:2");
}
}
}
1
首先,確保PHP配置爲允許文件上傳。
在您「的php.ini」文件,搜索php.ini的file_uploads指令,並將其設置爲開:
file_uploads = On
接下來,創建一個HTML表單,使用戶可以選擇他們想要上傳的圖片文件:
<!DOCTYPE html>
<html>
<body>
<form action="upload.php" method="post" enctype="multipart/form-data">
Select image to upload:
<input type="file" name="fileToUpload" id="fileToUpload">
<input type="submit" value="Upload Image" name="submit">
</form>
</body>
</html>
,打造 「upload.php的」 文件如下所示:
<?php
$target_dir = "/";
$target_file = $target_dir . basename($_FILES["fileToUpload"]["name"]);
$uploadOk = 1;
$imageFileType = pathinfo($target_file,PATHINFO_EXTENSION);
// Check if image file is a actual image or fake image
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;
}
}
// Check if file already exists
if (file_exists($target_file)) {
echo "Sorry, file already exists.";
$uploadOk = 0;
}
// Check file size
if ($_FILES["fileToUpload"]["size"] > 500000) {
echo "Sorry, your file is too large.";
$uploadOk = 0;
}
// Allow certain file formats
if($imageFileType != "jpg" && $imageFileType != "png" && $imageFileType != "jpeg"
&& $imageFileType != "gif") {
echo "Sorry, only JPG, JPEG, PNG & GIF files are allowed.";
$uploadOk = 0;
}
// Check if $uploadOk is set to 0 by an error
if ($uploadOk == 0) {
echo "Sorry, your file was not uploaded.";
// if everything is ok, try to upload file
} else {
if (move_uploaded_file($_FILES["fileToUpload"]["tmp_name"], $target_file)) {
echo "The file ". basename($_FILES["fileToUpload"]["name"]). " has been uploaded.";
} else {
echo "Sorry, there was an error uploading your file.";
}
}
?>
https://www.w3schools.co m/php/php_file_upload.asp
相關問題
- 1. 如何使用此腳本重命名上傳圖像文件
- 2. 如何:上傳文本文件,並與PHP腳本中使用
- 3. 如何使用php腳本將圖像上傳到數據庫?
- 4. php多圖像上傳腳本不會上傳一些圖像文件
- 5. PHP腳本不上傳圖像
- 6. PHP圖像上傳腳本問題
- 7. 上傳的PHP腳本錯誤的運動圖像文件夾
- 8. 如何使用PHP腳本從文件夾中刪除圖像
- 9. 用php腳本上傳多個文件
- 10. 使用php腳本在Android應用程序中上傳圖像
- 11. 帶圖像上傳腳本的文件上傳
- 12. 如何使用php和mysql上傳圖像文件夾
- 13. 如何保護PHP圖像上傳腳本免受攻擊?
- 14. PHP文件上傳腳本不上傳文件
- 15. 我將如何顯示使用此PHP腳本上傳的圖像?
- 16. PHP圖像上傳腳本沒有上傳但沒有失敗
- 17. Rackspace雲文件:圖像使用PHP上傳到rackspace雲文件
- 18. 如何使用Ajax將文件上傳到php腳本使用XAMPP
- 19. 安全的PHP文件上傳腳本
- 20. 錯誤上傳文件thorugh PHP腳本
- 21. php腳本文件沒有上傳
- 22. PHP:文件上傳腳本和move_upload_file
- 23. PHP腳本將文件上傳到FTP
- 24. PHP上傳文件腳本在ASP transcipted
- 25. PHP文件上傳腳本失敗
- 26. php多文件上傳腳本
- 27. Php OOps文件上傳工作腳本
- 28. php - 如何使文件上傳唯一圖像 - Laravel
- 29. PHP的圖像/文件共享腳本
- 30. 使用curl和php腳本上傳圖片和文字
做一些搜索谷歌和按照一些教程... –
可能的解決方案https://stackoverflow.com/questions/34702910/how-to-upload-an-image-onto-localhost -server-同時-路徑被存儲的功能於MySQL的數據 – Naincy