Php 为什么赢了';t图像目录保存在MYSQL中
该脚本似乎可以将图像上传到一个文件夹,这样就可以了。但它应该将图像上传到会话名称匹配的行中 而是返回值“0”。我不知道为什么?这和我的问题有关吗Php 为什么赢了';t图像目录保存在MYSQL中,php,Php,该脚本似乎可以将图像上传到一个文件夹,这样就可以了。但它应该将图像上传到会话名称匹配的行中 而是返回值“0”。我不知道为什么?这和我的问题有关吗 <? error_reporting(E_ERROR | E_PARSE); $name = $fgmembersite->UserFullName(); if (!$name) { echo "Boo!"; } if ($_POST['submit']) { //get file attrib
<?
error_reporting(E_ERROR | E_PARSE);
$name = $fgmembersite->UserFullName();
if (!$name) {
echo "Boo!";
}
if ($_POST['submit']) {
//get file attributes
$Name = $_FILES['myfile']['name'];
$tmp_name = $_FILES['myfile']['tmp_name'];
error_reporting(E_ERROR | E_PARSE);
if ($Name) {
$location = "avatars/$Name";
move_uploaded_file($tmp_name, $location ) or die('Failed to upload picture');
$query = mysql_query("UPDATE fgusers3 SET imagelocation='$location' WHERE name='$name'"); die("Your profile image has been uploaded!");
if (!$query) {
die("Did not upload correctly");
}
}}
error_reporting(E_ERROR | E_PARSE);
echo "Upload your image below:
<form action='profilepic.php' method='POST' enctype='multipart/form-data'>
Profile Picture: <input type='file' name='myfile'> <input type='submit' name='submit' value='upload'>
</form>
";
?>
您所说的“我被返回值0”是什么意思?另外,在设置$query的行的末尾,在调用die()
之前有一个分号。这意味着无论mysql\u query()
返回什么,都将调用die()
函数。这还意味着该行下方的if()
函数将永远不会执行。您在数据库中放置的所有查询都是图像的位置字符串avatars/$Name
,而不是二进制数据(通常存储在SQL数据库中是个坏主意)。从何处返回0?请立即停止使用此代码。通过允许将任何类型的文件上载到服务器上的任何位置,您正在将服务器完全远程化。您还非常容易受到SQL注入攻击。在您学会如何安全地处理上载之前,请停止。我正在将其返回到我的记录“imagelocation”中