无法使用php将上载的图像导入上载文件
创建表单并键入php代码后,我有了一个表单,可以在其中输入文件,特别是图像,并且不会收到任何错误消息,也不会在url中获得成功消息,上载的图像仍然无法在其目标文件夹中找到 这是HTML无法使用php将上载的图像导入上载文件,php,html,Php,Html,创建表单并键入php代码后,我有了一个表单,可以在其中输入文件,特别是图像,并且不会收到任何错误消息,也不会在url中获得成功消息,上载的图像仍然无法在其目标文件夹中找到 这是HTML <form action="" class="navbar-form navbar-right" role="search"> <div class="form-group"> <input ty
<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!";
}
在表单中添加以下内容
enctype="multipart/form-data"
范例
<form method="post" class="login-form" enctype="multipart/form-data"
action="my.php">
您是如何与$\u文件进行通信的?你需要使用
type=“file”
在您的输入中您必须做的第一件事是将enctype=“multipart/form data”
和method=“post”
添加到您的表单
-标记:
<form action="" method="post" enctype="multipart/form-data">
如果仍然不起作用,请检查php.ini中的upload\u max\u filesize
和post\u max\u size
设置。如果您的文件太大,只有移动上传的文件()
将返回false
,因此也要检查该函数。您的
缺少一个属性来发送文件:
enctype="multipart/form-data"
为了确保上传完成,请将移动上传的文件()
置于一个条件下,因为该函数返回一个布尔值:
if (move_uploaded_file($fileTmpName, $fileDestination)) {
header("Location: index.php?uploadsucess");
} else {
header("Location: index.php?uploadfail");
}
另外,获取文件扩展名的更好方法是使用pathinfo()
:
- 您的表单中没有任何
- 您可能错误地发送了上载目录:uplaods
1)在表单标签中添加enctype=“多部分/表单数据”
。
2) fileDestination='uplaods/'。$filenamew代码>文件名拼写错误。(如果是故意的,那么我的错)。
3)
类型应该是file。只要检查一下你的html元素,我想你遗漏了一些你正在上传的文件夹-uplaods或uploads。这是打字错误还是你故意这么做?我做了所有这些更改并修复了它,但我仍然无法上传到“上传”文件夹。这是新的密码:谢谢你的邀请look@nickwiseman您还没有改变一切:获取文件扩展名的方式,最重要的是:将move\u uploaded\u file()
置于一个状态,以了解它是否有效!正确文件的输出是什么?可能尝试在上传路径之前添加,如:$fileDestination=\uuuuuuu DIR\uuuuu.'/beta/vangogh/upload/.$filenamew代码>?
pathinfo($fileName, PATHINFO_EXTENSION);