提交后保留浏览器文件 - PHP

时间:2013-05-21 04:46:16

标签: php file photo

<?
$img="";
$comment="";
if(isset($_POST['save']))   
{
    $e="0";
    $comment=trim($_POST['comment']);
    if($comment=="")
    {
       $sel5="<--Enter Ur Opinon";
       $e="5";
       $code5="";
    }
    if($_FILES['photo']['name']=="")
    {
       $sel6="<--Select Your Photo";
       $e="6";
       $code6="";
    }
    else
    {
       $rand=rand().time();
       $photo_name=$_FILES['photo']['name'];
       $photo_tmp_name=$_FILES['photo']['tmp_name'];
       $photo_name1=explode(".",$photo_name);
       list($width,$height) = getimagesize($photo_tmp_name);
       if($photo_name1[1]=="jpeg"||$photo_name1[1]=="jpg"||$photo_name1[1]=="gif")
       {
         if($width<=365)
         {
            $img="1";
            $photo_name1=$photo_name[0].$rand.".".$photo_name[1];
            move_uploaded_file($photo_tmp_name,"Images/{$photo_name1}");
         }
         else
         {  
            $sz1="";
            $e="7";
            $sz_err="Not Perfect Size";
            $code6="";  
         }
     }
     else
     {
        $sz2="";
        $e="8";
        $sz_err="Not correct Type";
        $code6="";
     }  
     }
     if($e==0)
     {
        $suc="Success";
        $comment="";
     }
     }
?>

<html>
<body>
<style type="text/css" >
.message{color: red; font-weight:bold; }
.error{border:1px solid red; }
        </style>
            <table>
            <tr>
            <td>Verdict Of Sport</td>
            <td>
            <textarea name="comment" cols="40" rows="6" <? if(isset($code5))
            {echo "class=error" ;} ?>> <? echo $comment; ?>
            </textarea>
            </td>
            <td><? if(isset($sel5)){ echo "<p class='message'>".$sel5."</p>"; }?>
            </td>
            </tr>
            <tr>
            <td>Your Picture</td>
            <td <?php if(isset($code6)) {echo "class=error" ;} ?>>
            <input type="file" name="photo" value="<? if($img==="1") { echo $photo_name; } ?>"/>
            </td>
            <td>
            <? if(isset($sel6)){ echo "<p class='message'>".$sel6."</p>"; }?>
            <? if(isset($sz1)){ echo "<p class='message'>".$sz_err."</p>";}?>
            <? if(isset($sz2)){ echo "<p class='message'>".$sz_err."</p>";}?>
            </td>
    </tr>
    <tr>
    <td colspan="3" align="center">
    <input type="submit" name="save" /><?=$suc;?>
    </td>
    </tr>
            </table>
            </body>
            </html>

此程序正常运行。当我输入Verdict of Sport然后点击save时,会显示Select Your Photo以及我在Verdict of Sport中输入/输入的内容。
但是没有输入Verdict of Sport,我选择照片 - >点击'保存', 它显示'Enter Ur Opinon'。 我选择的照片消失了。

所以我需要解决浏览文件不应该在我'保存'时消失。

2 个答案:

答案 0 :(得分:0)

有一种更简单的方法来处理图片上传。试试wideimage.sourceforge.net/

话虽如此,你究竟想做什么?您想上传图片并正确显示吗?为此,您必须将src设置为文件路径的块。

答案 1 :(得分:0)

您可以将AJAX提交用于“保存”功能。这样您就可以在不刷新页面的情况下发送请求并获得响应。 JQuery是一个很棒的JavaScript库,具有很好的AJAX集成。