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

Trying to upload picture but does not save to server

比我 post 说的那些废话简单多了! 尝试创建一个 'Upload' 按钮以允许用户上传自己的照片。然后将图片重命名为pid,并保存到images文件夹中..

我不确定为什么它不起作用,尤其是当 firebug 显示 fileField 正在 posted 时。

<?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 会尝试解析该字符串中以“$”符号开头并以 space 结尾的任何变量。因此,在您的情况下,PHP 可能正在尝试查找变量 $pid.jpg 但找不到。

尝试使用单引号连接:

$newname = $pid . '.jpg';

move_uploaded_file($_FILES['fileField']['tmp_name'], 'images/' . $newname);

那是因为我猜这行是错误的。 $pid = $_SESSION["pid"]; 你应该使用 $pid = $_POST["pid"];

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

希望对您有所帮助