我正在使用代码来上传文件,如下所示:
$uploaddir = "./images/";
$uploadfile = $uploaddir . basename($_FILES['userfile']['name']);
if (move_uploaded_file($_FILES['userfile']['tmp_name'], $uploadfile)) {
echo "File is valid, and was successfully uploaded.\n";
} else {
echo "Upload failed";
}
代码可以上传图像,但我希望能够在文字后将文件名发布到SQL数据库。
我需要获取上传的文件名并将其设为名为$filename
的变量,以便我可以使用:
$image = $_POST[$filename];
我已尝试使用此功能将其变为变量
$filename = $_FILES['userfile']['name'];
我得到的是$_POST
上未定义索引:image.jpg的错误,我不确定为什么。它列出了错误中的图像文件名,所以为什么不能上传它。
答案 0 :(得分:1)
如果您要发布名为" image.jpg"的输入,则我只能访问$_POST[$filename]
,我猜你不是。
您已经从$ _FILES数组中获取了文件名,为什么不再使用它呢?
$image = basename($_FILES['userfile']['name']);
...或者使用您已经拥有的$filename
变量(无法查看示例中定义的位置,但它显然包含" image.jpg&# 34)
注意: name
数组的$_FILES['input_name']
部分包含上传文件的原始文件名。这就是你所需要的一切。