尝试上传图片但不保存到服务器

时间:2015-01-15 02:52:26

标签: php html forms file-upload

比我发布的常见垃圾简单得多! 尝试创建“上传”按钮,以允许用户上传自己的照片。然后应该将图片重命名为pid,并保存到images文件夹中。

我不确定它为什么不起作用,特别是当firebug显示正在发布fileField时。

<?php 
// Parse the form data and add inventory item to the system
if (isset($_POST['picID'])) {
    $pid = $_SESSION["pid"];
    // Place image in the folder 
    $newname = "$pid.jpg";
    move_uploaded_file( $_FILES['fileField']['tmp_name'], "images/$newname");
    header("location: index.php"); 
    exit();
    }   
?>

图片上传字段

 <form method='post' enctype='multipart/form-data' action='playerparent-profile.php?pid=<?=$pid?>'>
            <td><label>
          <input type="file" name="fileField" id="fileField" />
                  <input type="hidden" name="picID" id="picID" value="<?=$pid?>">
                 <input type="submit" name="button" id="button" value="UPLOAD" />
        </label></td>
        </form>

只是想弄清楚我做错了什么?任何帮助表示赞赏!

2 个答案:

答案 0 :(得分:0)

我相信这是由PHP脚本的$newname变量引起的。由于您使用双引号,PHP将尝试解析以“$”符号开头并以该字符串中的空格结尾的任何变量。因此,在您的情况下,PHP可能会尝试查找变量$pid.jpg,但找不到变量。

尝试使用单引号连接:

  

$ newname = $ pid。名为.jpg;

     

move_uploaded_file($ _ FILES ['fileField'] ['tmp_name'],'images /'。$ newname);

答案 1 :(得分:0)

那是因为这条线路错了我猜。 $ pid = $ _SESSION [“pid”];  你应该使用 $ pid = $ _POST [“pid”];

你的$ newname变量没有得到它将始终存储的任何名称.png

希望这会对你有所帮助