简体   繁体   English

如何上传带文字的照片?

[英]How to upload photo with text?

This is student profile info form and its working fine when I submit the form all data save in to mysql table perfectly but I want to upload photo with info 这是学生档案信息表格,当我提交表格所有数据完全保存到mysql表格时它工作正常,但我想上传带有信息的照片

When I fill the form and attach the image after submit the form 当我填写表格并在提交表格后附上图片

No upload in image directory but in mysql table photo name save perfectly but not upload in to image folder. 没有在图像目录中上传,但在mysql表照片名称中保存完美,但没有上传到图像文件夹。

How can I do this please help me to fix this issue ? 我该怎么做才能帮我解决这个问题?

submit Form 提交表格

 <form action="" method="post">
 <div>
   <p><span class="style9"><strong>G.R.N No:</strong></span><strong>  *</strong>
     <input name="grn" type="text" value="<?php echo $grn; ?>" size="50" />
   </p>
   <p><span class="style9"><strong>Name:</strong></span><strong>  *</strong>
     <input name="name" type="text" value="<?php echo $name; ?>" size="50" />
   </p>
   <p><span class="style9"><strong>Home Address:</strong></span><strong>  *</strong>
     <textarea name="address" cols="50"><?php echo $address; ?></textarea>
   </p>
   <p><span class="style9"><strong>Father Name:</strong></span><strong>  *</strong>
     <input name="fathername" type="text" value="<?php echo $fathername; ?>" size="50" />
   </p>
      <p><span class="style9"><strong>Mother Name:</strong></span><strong>  *</strong>
     <input name="mothername" type="text" value="<?php echo $mothername; ?>" size="50" />
    </p>
    <p><span class="style9"><strong>Date Of Birth :</strong></span><strong>  *</strong>
      <input name="age" type="text" value="<?php echo $age; ?>" size="50" />
   </p>
      <p><span class="style9"><strong>Religion :</strong></span><strong>  *</strong>
        <input name="religion" type="text" value="<?php echo $religion; ?>" size="50" />
   </p>
   <p><span class="style9"><strong>Parents Cell No :</strong></span><strong>  *</strong>
     <input name="phoneno" type="text" value="<?php echo $phoneno; ?>"/>
   </p>
   <p><strong>Home Phone No:</strong>
     <input name="phoneno2" type="text" value="<?php echo $phoneno2; ?>" />
   </p>
   <p><span class="style9"><strong>Date Of Join :</strong></span><strong>  *</strong>
     <input id="fullDate" name="dateofjoin" type="text" value="<?php echo $dateofjoin; ?>" size="50" />
   </p>
    <p><span class="style9"><strong>Class :</strong></span><strong>  *</strong>
      <input  name="class" type="text" value="<?php echo $class; ?>" size="50" />
   </p>
    <p><span class="style9"><strong>N.I.C :</strong></span><strong>  *</strong>
      <input name="nic" type="text" value="<?php echo $nic; ?>" size="50" />
   </p>
    <span class="style9"><strong>Branch:</strong></span><strong> *</strong>
    <input name="branch" type="text" value="<?php echo $branch; ?>" size="50">
<span class="style9"><strong>Photo:</strong></span><strong> *</strong>
             <input type="hidden" name="size" value="350000">
            <input type="file" name="photo"> 
    <br/>
   <p class="style1">* required</p>
 <input type="submit" name="submit" value="Submit">
 </div>
 </form> 

php code PHP代码

<?php 
 }


 //This is the directory where images will be saved
$target = "images/";
$target = $target . basename( $_FILES['photo']['name']);

//This gets all the other information from the form

$photo=($_FILES['photo']['name']);
//Writes the photo to the server
if(move_uploaded_file($_FILES['photo']['tmp_name'], $target))
{

//Tells you if its all ok
echo "The file ". basename( $_FILES['uploadedfile']['name']). " has been uploaded, and your information has been added to the directory";
}

 // connect to the database
 include('connect-db.php');



 // check if the form has been submitted. If it has, start to process the form and save it to the database
 if (isset($_POST['submit']))
 { 
 // get form data, making sure it is valid
 $grn = mysql_real_escape_string(htmlspecialchars($_POST['grn']));
 $name = mysql_real_escape_string(htmlspecialchars($_POST['name']));
 $address = mysql_real_escape_string(htmlspecialchars($_POST['address']));
 $branch = mysql_real_escape_string(htmlspecialchars($_POST['branch']));
 $phoneno = mysql_real_escape_string(htmlspecialchars($_POST['phoneno']));
 $phoneno2 = mysql_real_escape_string(htmlspecialchars($_POST['phoneno2']));
 $fathername = mysql_real_escape_string(htmlspecialchars($_POST['fathername']));
 $mothername = mysql_real_escape_string(htmlspecialchars($_POST['mothername']));
 $age = mysql_real_escape_string(htmlspecialchars($_POST['age']));
 $religion = mysql_real_escape_string(htmlspecialchars($_POST['religion']));
 $nic = mysql_real_escape_string(htmlspecialchars($_POST['nic']));
 $class = mysql_real_escape_string(htmlspecialchars($_POST['class']));
 $dateofjoin = mysql_real_escape_string(htmlspecialchars($_POST['dateofjoin']));
 $photo = mysql_real_escape_string(htmlspecialchars($_POST['photo']));

 // check to make sure both fields are entered
 if ($grn == '' || $name == '' || $address == '')
 {
 // generate error message
 $error = 'ERROR: Please fill in all required fields!';

 // if either field is blank, display the form again
 renderForm($grn, $name, $address, $branch, $phoneno, $phoneno2, $fathername, $mothername, $age, $religion, $nic, $class, $dateofjoin,$error);
 }
 else
 {
 // save the data to the database
  mysql_query("INSERT admission SET grn='$grn', name='$name', address='$address', branch='$branch', phoneno='$phoneno', phoneno2='$phoneno2', fathername='$fathername', mothername='$mothername', age='$age', religion='$religion', nic='$nic', class='$class', dateofjoin='$dateofjoin', photo='$photo'")
 or die(mysql_error()); 
 echo "<center>Admission Complete!</center>";
 // once saved, redirect back to the view page

 }
 }
 else
 // if the form hasn't been submitted, display the form
 {
 renderForm('','','','','','','','','','','','','','');
 }




?>

change <form action="" method="post"> to <form action="" method="post" enctype="multipart/form-data"> <form action="" method="post">更改为<form action="" method="post" enctype="multipart/form-data">

See this w3schools page for more information: http://www.w3schools.com/php/php_file_upload.asp 有关更多信息,请参阅此w3schools页面: http//www.w3schools.com/php/php_file_upload.asp

enctype = multipart/form-data is missing in your form tag ... $_FILES array will not get populated if you dont have enctype set. 您的表单标记中缺少enctype = multipart/form-data ...如果您没有设置enctype则不会填充$_FILES数组。 so use 所以用

<form action="" method="post"> to <form action="" method="post" enctype="multipart/form-data">

check for the folder permissions and the following settings in php.ini 检查php.ini中的文件夹权限和以下设置

file_uploads
upload_max_filesize
max_input_time
memory_limit
max_execution_time
post_max_size

When you use this you cannot access file's information using $_POST but only by $_FILES like $_FILES['photo']['name'] 当你使用它时,你不能使用$_POST访问文件的信息,但只能使用$_FILES$_FILES['photo']['name']

FIX 固定

REPLACE 更换

$photo = mysql_real_escape_string(htmlspecialchars($_POST['photo']));

with

$photo = mysql_real_escape_string(htmlspecialchars($_FILES['photo']['name']));

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM