将图像存储到php中的文件夹,无需单独的上载按钮

将图像存储到php中的文件夹,无需单独的上载按钮,php,image,forms,Php,Image,Forms,我是php新手,请原谅我的愚蠢 我有一个表单,在提交时更新表单中的更改 现在我添加了一个图像上传字段,字段类型为file。我的问题是,我不想通过单独点击上传按钮来上传,相反,我想使用与表单更新相同的旧提交按钮。我试了好几种方法,但都失败了。另外,我只想保存在名称admin中,它应该只允许.jpg扩展 我的表单页面代码如下 <?php if(isset($_POST['update'])) { $info = pathinfo($_FILES[

我是php新手,请原谅我的愚蠢

我有一个表单,在提交时更新表单中的更改

现在我添加了一个图像上传字段,字段类型为file。我的问题是,我不想通过单独点击上传按钮来上传,相反,我想使用与表单更新相同的旧提交按钮。我试了好几种方法,但都失败了。另外,我只想保存在名称
admin
中,它应该只允许
.jpg
扩展

我的表单页面代码如下

 <?php

         if(isset($_POST['update'])) {

            $info = pathinfo($_FILES['imagefile']['name']);
            $ext = $info['extension']; // get the extension of the file
            $newname = "admin.".$ext; 

            $target = WEB_URL .'img/'.$newname;
            move_uploaded_file( $_FILES['imagefile']['tmp_name'], $target);

            $name_a = $_POST['name'];
            $email_a = $_POST['email'];
            $pass_a = $_POST['password'];

$sql = "UPDATE admin SET a_name = '$name_a', a_email = '$email_a', password = '$pass_a' where aid='$update_id' ";
            $retval = mysql_query($sql,$link);

            if(! $retval ) {
               die('Could not update data: ' . mysql_error());
            }
           // echo "Updated data successfully\n";

         } 
$result = mysql_query("SELECT * FROM admin where aid='$update_id' ",$link);
    while($row = mysql_fetch_array($result)){

        $name = $row['a_name'];
        $email = $row['a_email'];
        $password = $row['password'];

    }
     mysql_close($link);

            ?>

      <div class="box box-widget widget-user-2">
       <div class="widget-user-header bg-yellow">
              <div class="widget-user-image">
                 <?php echo '<img src="' . $img . '" class="img-circle" alt="User Image">'; ?>
              </div>
              <!-- /.widget-user-image -->
              <h3 class="widget-user-username"><?php echo "$name"; ?></h3>
              <h5 class="widget-user-desc"><?php echo "$role"; ?></h5>
            </div>
            <div class="box-footer no-padding">
              <form role="form" method = "post" action = "<?php echo $_SERVER['PHP_SELF']; ?>">
              <div class="box-body">
              <div class="form-group">
                  <label for="exampleInputName1">Name</label>
                  <input type="text" class="form-control" id="exampleInputName1" name="name" value="<?php echo $name; ?>">
                </div>
                <div class="form-group">
                  <label for="exampleInputEmail1">Email address</label>
                  <input type="email" class="form-control" id="exampleInputEmail1" name="email" value="<?php echo $email; ?>">
                </div>
                <div class="form-group">
                  <label for="exampleInputPassword1">Password</label>
      <input type="password" class="form-control" id="exampleInputPassword1" name="password" value="<?php echo $password; ?>">
                </div>
                <div class="form-group">
                  <label for="exampleInputFile">Profile picture</label><br/>
                  <img id="preview" src="<?php echo $img; ?>" /><br/><br/>
                  <input type="file" onchange="readURL(this);" id="exampleInputFile" name="imagefile">
                </div>

              </div>
              <!-- /.box-body -->

              <div class="box-footer">
                <button type="submit" name="update" id="update"  class="btn btn-primary">Submit</button>
              </div>
            </form>
            </div>
          </div>
          <!-- /.widget-user -->

您忘记将
enctype=“multipart/form data”
写入您的
中,如果没有此属性,您无法上载任何图像

您应该更改:

<form role="form" method = "post" action = "<?php echo $_SERVER['PHP_SELF']; ?>" enctype="multipart/form-data">

很抱歉问了一些愚蠢的问题,伙计,这实际上应该是从哪里来的,你是说在TagThank里面,现在它显示了两个警告
警告:移动上传的文件(http://localhost/su/img/admin.jpg):无法打开流:HTTP包装器不支持第21行C:\xampp\htdocs\su\profile.php中的可写连接:无法将'C:\xampp\tmp\php6165.tmp'移动到'http://localhost/su/img/admin.jpg'在第21行的C:\xampp\htdocs\su\profile.php中
您对文件夹有任何权限或检查图像上载文件夹路径。@RajaGopalya changing
WEB\u URL.img/。$newname
'img/。$newname工作。但现在的问题是,只有当我强制刷新页面时,更改才会反映其他内容。旧pic显示此问题是否有解决方法;)mate@RajaGopal你能解释一下这个问题吗。可能重复的注意事项是,如果你把所有的图片都放在同一个文件夹中,似乎是这样,总是给它取相同的名字可能是一个非常糟糕的主意。。。
<form role="form" method = "post" action = "<?php echo $_SERVER['PHP_SELF']; ?>" enctype="multipart/form-data">