-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