我使用PHP从输入中获取文件,并将其上传到我的服务器(在覆盆子pi上运行的apache)。
这是我的HTML:
<form action="admin/upload/" method="post" enctype="multipart/form-data">
<input type="file" name="image" accept="image/*">
<input type="submit" value="Upload">
</form>
将您带到upload.php文件:
$valid_file = true;
if ($_FILES['image']['name']) {
if (!$_FILES['image']['error']) {
$currentdir = getcwd();
$target = $currentdir .'/' . basename($_FILES['image']['name']);
echo $target;
if ($_FILES['image']['size'] > (1024000)) {
$valid_file = false;
$message = 'Oops! Your file\'s size is to large.';
}
if ($valid_file) {
$result = move_uploaded_file($_FILES['image']['tmp_name'], $target);
if ($result) {
$message = 'Congratulations! Your file was accepted.';
echo $message;
} else {
echo"Failed";
}
}
} else {
$message = 'Ooops! Your upload triggered the following error: '.$_FILES['image']['error'];
}
}
echo $message;
它传递前两个if条件,并计算将照片移动到的路径。
我使用的图像是200kb,所以它不是太大。
因为它是一个有效的文件,所以它运行move_uploaded_file()方法,将结果存储在$ result中。但是,它什么也没有返回。回显它是空白的,但isset()返回true。但是,它必须是假的,因为它没有if条件。
最后,没有上传照片,我无法弄清楚原因?