创建表单并输入php代码后,我有一个表单,我可以输入文件,特别是图像,没有收到任何错误消息,以及在我的网址中获取成功消息,图像上传仍然无法在目标文件夹中找到。
这是HTML
<form action="" class="navbar-form navbar-right" role="search">
<div class="form-group">
<input type="text" class="form-control" placeholder="Find Art Here">
</div>
<button type="submit" class="btn btn-primary">Search</button>
</form>
这里是php
<?php
if (isset($_POST['submit'])) {
$file = $_FILES['file'];
$fileName = $file['name'];
$fileTmpName = $file['tmp_name'];
$fileSize = $file['size'];
$fileError = $file['error'];
$fileType = $file['type'];
$fileExt = explode('.', $fileName);
$fileActualExt = strtolower(end($fileExt));
$allow = array('jpg', 'jpeg', 'png', 'pdf');
if (in_array($fileActualExt, $allow)) {
if($fileError === 0){
if($fileSize < 5000000) {
$fileNameNew = uniqid('', true).".".$fileActualExt;
$fileDestination = 'uplaods/'.$fileNameNew;
move_uploaded_file($fileTmpName, $fileDestination);
header("Location: index.php?uploadsucess");
} else{
echo "Your file is too big";
}
} else {
echo "There was an error uplaoding your file!";
}
} else{
echo "You cannot upload files of this type!";
}
}
代码基于此视频并进行了修改:https://www.youtube.com/watch?v=JaRq73y5MJk
非常感谢任何帮助!
答案 0 :(得分:1)
.modal-body {
width: 400px;
overflow-x: scroll;
}
.scoll-tree{
width: 800px;//ideally you it is better to make js script which will calculate this value
height:80px;
}
例如
enctype="multipart/form-data"
答案 1 :(得分:0)
您是如何与$_FILES
沟通的?你需要使用
输入中的type="file"
答案 2 :(得分:0)
您要做的第一件事是将enctype="multipart/form-data"
和method="post"
添加到您的form
标记中:
<form action="" method="post" enctype="multipart/form-data">
如果它仍然不起作用,请检查upload_max_filesize
中的post_max_size
和php.ini
设置。如果您的文件太大,则只有move_uploaded_file()
会返回false
,因此请检查该功能。
答案 3 :(得分:0)
您的<form>
错过属性来发送文件:
enctype="multipart/form-data"
为确保上传完成,请将move_uploaded_file()
置于某个条件中,因为该函数返回布尔值:
if (move_uploaded_file($fileTmpName, $fileDestination)) {
header("Location: index.php?uploadsucess");
} else {
header("Location: index.php?uploadfail");
}
此外,获取文件扩展名的更好方法是使用pathinfo()
:
pathinfo($fileName, PATHINFO_EXTENSION);
<input type="file">
答案 4 :(得分:0)
1)在表单标记中添加enctype="multipart/form-data"
。
2)文件名上的fileDestination = 'uplaods/'.$fileNameNew;
拼写错误。 (如果是有意的,那么我的坏)。
3)<input type='file'>
类型应该是文件。