我正在尝试上传2张图片,但似乎一切都很好但是move_uploaded_file()不会移动文件,也没有生成错误。
// Upload Image
function upload_image($tmp,$name) {
$ext = explode('.',$name);
if (preg_match('~(jpeg|jpg|gif|png)$~i', $name)) {
$ext = end($ext);
$name = substr(md5(rand()), 0, 10).'.' . $ext;
$upload_dir = '/music/uploads/' . $name;
echo $tmp;
move_uploaded_file($tmp,'/home/shadne/public_html'.$upload_dir);
return $upload_dir;
} else {
throw new ErrorException('File type not allowed');
}
}
文件/文件夹权限是0777,我在使用/上传之前使用了images / new
编辑1
处理上传和签入的代码
<?php
require_once '../config.php';
require 'includes/functions.php';
if (!empty($_FILES['artist_profile_image'])) {
$profile_image_name = $_FILES['artist_profile_image']['name'];
$profile_image_tmp = $_FILES['artist_profile_image']['tmp'];
$profile_image_dir = upload_image($profile_image_tmp, $profile_image_name);
}
if (!empty($_FILES['artist_thumb'])) {
$thumb_name = $_FILES['artist_thumb']['name'];
$thumb_tmp = $_FILES['artist_thumb']['tmp'];
$thumb_dir = upload_image($thumb_tmp, $thumb_name);
}
if (empty($_POST) === false) {
$required_fields = array('artist_name', 'artist_thumb', 'artist_profile_image', 'birthday');
foreach ($_POST as $key => $value) {
if (empty($value) && in_array($key, $required_fields) === true) {
$errors[] = 'Fields marked with an asterstrik are required';
break 1;
}
}
}
if (isset($_GET['success'])) {
echo 'You\'ve added a new artist.';
} else {
if (empty($_POST) === false && empty($errors) === true) {
$artist_data = array(
'artist_name' => $_POST['artist_name'],
'artist_thumb' => $thumb_dir,
'artist_profile_image' => $profile_image_dir,
'birthday' => $_POST['birthday'],
);
add_artist($artist_data);
//exit(header('Location: add_artist.php?success'));
} else if (empty($errors) === false) {
echo output_errors($errors);
}
?>
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8" />
<title>Admin Area</title>
</head>
<body>
<h1>Add Artist</h1>
<form action="" method="post" enctype="multipart/form-data">
<ul>
<li>
Artist Name*: <input type="text" name="artist_name" />
</li>
<li>
Artist Thumbnail*: <input type="file" name="artist_thumb" />
</li>
<li>
Artist Profile Image*: <input type="file" name="artist_profile_image" />
</li>
<li>
Birthday*:
<input type="date" name="birthday" />
</li>
<li>
<input type="submit" value="Add Artist" />
</li>
</ul>
</form>
<?php } ?>
</body>
</html>
答案 0 :(得分:1)
您需要检查move_uploaded_file是返回true还是false。如果输入文件不是有效的上载文件,它可以静默失败。 你送什么钱到$ tmp?
查看:http://php.net/manual/en/function.move-uploaded-file.php了解返回值。