Php 正在尝试上载图片但未保存到服务器

Php 正在尝试上载图片但未保存到服务器,php,html,forms,file-upload,Php,Html,Forms,File Upload,一些比我通常发布的废话简单得多的东西! 正在尝试创建“上载”按钮,以允许用户上载自己的照片。然后,图片应重命名为pid,并保存到“图像”文件夹中 我不知道为什么它不起作用,特别是当firebug显示fileField正在发布时 <?php // Parse the form data and add inventory item to the system if (isset($_POST['picID'])) { $pid = $_SESSION["pid"]; //

一些比我通常发布的废话简单得多的东西! 正在尝试创建“上载”按钮,以允许用户上载自己的照片。然后,图片应重命名为pid,并保存到“图像”文件夹中

我不知道为什么它不起作用,特别是当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>

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

请尝试使用单引号连接:

$newname=$pid'。jpg'

移动上传的文件($文件['fileField']['tmp\u name'],'images/'.$newname)


那是因为我猜这句话是错的。 $pid=$\会话[“pid”]; 你应该使用 $pid=$_POST[“pid”]

您的$newname变量未获得它将始终存储的任何名称。png


希望这将帮助您

确保它指向正确的路径,因为如果没有斜杠,它将相对于当前脚本的目录而不是发送
POST
的页面目录移动它。我不确定你的文件结构,但值得检查一下。还要确保设置了
$\u SESSION[“pid”]
。有很多安全漏洞,但这个不断出现的
$pid
到底是什么?我相信你不能在服务器上这样做,不管怎样,你用的是什么主机?因为你不能在戈达迪那样做!hi@Arqetech,我在使用LCN。这与Chan先前的回答混合在一起,使它起作用。非常感谢。