表单发送数据但不上传文件到服务器

时间:2014-02-21 14:15:29

标签: javascript php forms

我正在使用包含个人数据的表单,我想将照片添加到我的远程服务器。 我第一次尝试使用下一个代码启动文件:

up_file.php

<?php

    error_reporting(E_ALL);

    $file = $_FILES["img"]["name"];
    $file_remote = $_FILES["img"]["tmp_name"];


if ($file){
    if(strstr($file,".jpg")||strstr($file,".jpeg")||strstr($file,".png")){
        $destino = "/absolute/route/directory/".$file;
        if(move_uploaded_file($file_remote, $destino)){
            echo "Moved in server";
        }
        else
            echo "Not moved";

    }

}
?>

如果我单独使用它,那就有效,但是当我尝试将它插入到我从表单中获取所有post params的代码中时,它就不起作用了,我不知道为什么。

我正在考虑使用2种不同的形式,但是需要上传一张带有表格的照片,然后我正在寻找一些JS代码,这些代码允许我使用相同的提交按钮发送2个表单,但可能不是好主意。

谢谢!

1 个答案:

答案 0 :(得分:0)

我不明白你的问题,但如果你想在页面请求中获得更多参数,你可以使用:

形式:

<form action="" method="post" enctype="multipart/form-data" name="formz" >
    Name:<br />
    <input type="text" name="name" /><br /><br />
    Email:<br />
    <input type="text" name="email" /><br /><br />
    Picture:<br />
    <input type="file" name="img" /><br /><br />
    <input type="submit" name="sub" value="GO!" />
</form>

PHP:

<?php

    error_reporting(E_ALL);

    //Get the vars
    $name  = $_POST['name'];
    $email = $_POST['email'];
    //---


    $file = $_FILES["img"]["name"];
    $file_remote = $_FILES["img"]["tmp_name"];


if ($file){
    if(strstr($file,".jpg")||strstr($file,".jpeg")||strstr($file,".png")){
        $destino = "/absolute/route/directory/".$file;
        if(move_uploaded_file($file_remote, $destino)){
            echo "Moved in server";
        }
        else
            echo "Not moved";

    }


    //Show up the values
    echo('Name: ' . $name);
    echo('Email: ' . $email);
    //---
}

您只需要将值放在数据库中。