如何使图片只上传php

如何使图片只上传php,php,Php,你好,我想问一些关于我的代码,我想过滤上传的文件只是图像,这个代码是工作,但当我上传一部电影,它不断上传,并没有执行我的条件,任何人都可以修复它?谢谢 <?php include "connect.php"; $username = $_POST['username']; $fullname = $_POST['fullname']; $phone =$_POST['phone']; $email = $_POST['email'];

你好,我想问一些关于我的代码,我想过滤上传的文件只是图像,这个代码是工作,但当我上传一部电影,它不断上传,并没有执行我的条件,任何人都可以修复它?谢谢

    <?php

    include "connect.php";

    $username = $_POST['username'];
    $fullname = $_POST['fullname'];
    $phone =$_POST['phone'];
    $email = $_POST['email'];
    $password = $_POST['password'];
    $encryptPassword = md5($password);
    $sex = $_POST['sex'];
    $pict = $_FILES['pict']['name'];

    $tmp = $_FILES['pict']['tmp_name'];
    $newpict = date('dmYHis').$pict;
    // Set path folder tempat menyimpan fotonya 
    $path = "../../CRUD/user/images/".$newpict;
    $foto_size = $_FILES["pict"]["size"];
    $info = getimagesize($tmp);

if ($info === FALSE) {?>
   <script language="javascript">alert("Sign Up Failed");</script>
    <script>document.location.href='daftar.php';</script><?php

}
if (($info[2] !== IMAGETYPE_GIF) && ($info[2] !== IMAGETYPE_JPEG) && ($info[2] !== IMAGETYPE_PNG) ) {?>
    <script language="javascript">alert("Sign Up Failed");</script>
    <script>document.location.href='daftar.php';</script>
    <?php
}
else{ 

if($foto_size < 1000000 && (strlen(trim($password))>=8)){
    if(move_uploaded_file($tmp, $path)){
        $sql_buat = "INSERT INTO user(id_user, username, fullname, email,phone, password, sex,user_picture) VALUE('','$username','$fullname','$email','$phone','$encryptPassword','$sex','$newpict')";

            if(isset($_POST['username'])&&($_POST['email']))
                {
                    $name=$_POST['username'];
                    $email=$_POST['email'];
                    $checkdata=" SELECT * FROM user WHERE email='$email' and username='$name' ";
                    $query=mysqli_query($conn,$checkdata);
                    if(mysqli_num_rows($query)>0)
                        {?>
                            <script language="javascript">alert("Username and Email Already Exist");</script>
                            <script>document.location.href='daftar.php';</script><?php
                        }
            }   
            if(isset($_POST['username']))
            {
                $name=$_POST['username'];
                $checkdata=" SELECT username FROM user WHERE username='$name' ";
                $query=mysqli_query($conn,$checkdata);
                if(mysqli_num_rows($query)>0)
                    {?>
                        <script language="javascript">alert("Username Already Exist");</script>
                        <script>document.location.href='daftar.php';</script><?php
                    }
            /*else
                {
                    echo "OK";
                }
            exit();
        }*/
            }

            if(isset($_POST['email']))
                {
                    $email=$_POST['email'];
                    $checkdata=" SELECT email FROM user WHERE email='$email' ";
                    $query=mysqli_query($conn,$checkdata);
                    if(mysqli_num_rows($query)>0)
                        {?>
                            <script language="javascript">alert("Email Already Exist");</script>
                            <script>document.location.href='daftar.php';</script><?php
                        }
                /*else
                    {
                        echo "OK";
                    }
                    exit();

*/
                }
            if (mysqli_query($conn, $sql_buat)){
?>
                <script language="javascript">alert("Sign up Successful");</script>
                <script>document.location.href='../login/login.php';</script>
            <?php
            }
            else{
    ?>
                <script language="javascript">alert("Sign up failed");</script>
                <script>document.location.href='daftar.php';</script>
            <?php
            }
            mysqli_close($conn);
            }
    else{
            echo "Sorry picture cant upload.";
            echo "<br><a href='inputitems.php'>Back to Form</a>";
        }
    }
else{?>
    <script language="javascript">alert("Sign up failed");</script>
    <script>document.location.href='daftar.php';</script><?php
  }
 }

            mysqli_close($conn);

?>

警报(“注册失败”);
document.location.href='daftar.php';
警报(“注册失败”);
document.location.href='daftar.php';
关于HTML5的使用

<input type="file" name="myImage" accept="image/x-png,image/gif,image/jpeg" />

这就是总体思路。

您正在检查它是否是PHP上的图像。PHP只能在上传后进行。在用javascript发送表单之前做一些检查。您可以检查这个问题以获得建议:md5不适合哈希密码。使用“它一直在上传”-这到底意味着什么?您还应该使用带有绑定参数的准备语句。您的脚本容易受到SQL注入攻击。
     $ext_array = array("jpg", "gif", "png");
    $type = $_FILE['type'];
    $temp = explode(".", $_FILE["name"]);
    if(stristr($type, 'image') && in_array(end($temp), $ext_array)){
        move_uploaded_file($_FILE["tmp_name"], 'upload/' . 'newname.jpg')
    }