图片文件上传无法正常运行

时间:2017-09-29 20:27:25

标签: php html image upload

我正在开发一个已经运行良好的登录系统。现在我决定添加注册功能,用户可以上传图像设置为他的个人资料图片。我的代码大部分都已完成,但它似乎无法正常工作,我无法弄清楚原因。在下面的代码中我做了2关于图像的陈述,首先我试图检查图像是否是一个实际的图像文件,然后我将上传的图像复制到我的目录中的文件夹,路径在$ avatar中说明上传图片并提交表单时。当我上传图片时,我设法传递第一个if语句但是它给了我else语句,表明文件没有上传。当我尝试上传不同的扩展名时,那些允许的扩展名完全没有错误,并且脚本会返回一个空白屏幕,在任何这种情况下都不会发布任何用户数据。



<?php
require_once('../connect.php');

if(isset($_POST) AND !empty($_POST)){
	
	$firstname = mysqli_real_escape_string($connection, $_POST['firstname']);
	$lastname = mysqli_real_escape_string($connection, $_POST['lastname']);
	$email = mysqli_real_escape_string($connection, $_POST['email']);
	$username = mysqli_real_escape_string($connection, $_POST['username']);
	$password = password_hash($_POST['password'], PASSWORD_DEFAULT);
	$avatar = mysqli_real_escape_string($connection, 'avatars/'.$_FILES['avatar']['name']);

	$extension = pathinfo($avatar, PATHINFO_EXTENSION);
	if(in_array($extension, array('jpg', 'png', 'jpeg'))){

		if(copy($_FILES['avatar']['tmp_name'], $avatar)){

			$sql = "INSERT INTO `login` (Firstname, Lastname, Email, Username, Password, Avatar) VALUES ('$firstname', '$lastname', '$email', '$username', '$password', '$avatar')";



			$result = mysqli_query($connection, $sql);
			if($result){
				$url = "../index.php";
				$messageok = "User registration succesfull!";
				echo "<script type='text/javascript'>alert('$messageok');</script>";
				echo '<script>window.location = "'.$url.'";</script>';
				

			}else{
				$url = "../index.php";
				$messagenok = "User registration failed!";
				echo "<script type='text/javascript'>alert('$messagenok');</script>";
				echo '<script>window.location = "'.$url.'";</script>';
			}
		}	else{
				$url = "../index.php";
				$messageok = "Picture was not uploaded to database! plz try again";
				echo "<script type='text/javascript'>alert('$messageok');</script>";
				echo '<script>window.location = "'.$url.'";</script>';
			}
	}else{
				$url = "../index.php";
				$messageok = "Uploaded images must have one of following extensions, jpg, jpeg, png. Please try again!";
				echo "<script type='text/javascript'>alert('$messageok');</script>";
				echo '<script>window.location = "'.$url.'";</script>';
		}
   
}?>
&#13;
<?php session_start(); ?>




<div class="popupscreen" id="registerpopup">
	<div class="formwrapper">
		<div class="login-form">
		<form action="includes/register.php" method="POST" enctype="multipart/form-data">
			<label class="popuplabel">First-name</label>
			<input name="firstname" placeholder="first-name" class="popupinput" required />

			<label class="popuplabel">Last-name</label>
			<input name="lastname" placeholder="last-name" class="popupinput" required />

			<label class="popuplabel">Email</label>
			<input name="email" placeholder="email" class="popupinput" required />

			<label class="popuplabel">Username</label>
			<input name="username" placeholder="username" class="popupinput" required />

			<label class="popuplabel">Password</label>
			<input name="password" placeholder="password" class="popupinput" required/>

			<label class="popuplabel">Upload profile picture</label>
			<input type="file" name="avatar" accept="image/*" />

			<button class="popupbutton" type="submit">Register</button>
		</form>
			<button onclick="closeregister()" class="popupbutton">Close</button>
	</div>
		
	</div>
</div>
&#13;
&#13;
&#13;

0 个答案:

没有答案
相关问题