我需要你的脚本帮助。我有一个页面,我用这个签名将用户信息上传到根文件夹中的签名文件夹 我的代码的这一部分如下:
{
$uploaddir = "uploads";
$file = str_replace(' ', '_', $_FILES
['signature']['name']);
switch($_FILES['signature']['type']) {
case "image/gif":
case "image/jpeg":
case "image/pjpeg":
case "image/png":
$uploaddir .= 'signatures';
break;
}
foreach($_FILES as $signature)
$tmp_name = $signature['tmp_name'];
$type = $signature['type'];
$name = $signature['name'];
$size = $signature['size'];
if (move_uploaded_file($_FILES
['signature']['tmp_name'], $uploaddir. $file)) {
$query = "INSERT INTO users (users_id, tmp_name, type, name, size)
VALUES (NULL, '$tmp_name', '$type' , '$name' , '$size')"
mysql_query($query) or
die (mysql_error());
}
这是我用来调用我想要的文件名的查询。
$query10 = mysql_query("SELECT name
FROM users
WHERE username = '".$_SESSION ['logged_username']."'") or
die (mysql_error());
$signature = mysql_fetch_array ($query10);
我是如何尝试显示我使用php脚本上传的签名。
echo "<img src = \"uploads\""?><?php echo $signature['name'] ;?>"/<? php "width=\"50\" height=\"100\">" ;
图片没有显示,虽然它显示了一个里面没有任何东西的小盒子。我很确定图片已经上传到我的root的签名文件夹中。
请原谅我的格式。我的意思是对这个社区没有任何不满。 我对您的意见,答案和建议非常满意。 提前谢谢。
答案 0 :(得分:0)
用以下代码替换显示图像的代码:
$uploadpath="uploads/";
echo "<img src ='".$uploadpath.$signature['name']."' width='50' height='100'>" ;
答案 1 :(得分:0)
最明显的原因似乎是您从不同的路径读取图像而不是存储图像。如您所述,您将图像保存在“签名”文件夹中,但您正在从“上传”文件夹中读取。试试这个回声:
echo '<img src = "signatures"' . $signature['name'] . ' width="50" height="100">';
如果上面仍然没有显示图像,则需要进行一些调试。
在PHP代码中,有两个可能存储图像的目的地 - “上传”和“签名”文件夹。请确保保存图像的文件夹。也许您应首先检查图像存在哪条路径(使用file_exists),然后相应地决定使用哪条路径作为源。
请确保图片实际上传
顺便说一句,是否有一个特定的原因可以在PHP代码中转义\(反斜杠):
$uploaddir = "uploads\\";
$uploaddir = "signatures\\";
希望以上有帮助!
答案 2 :(得分:0)
$uploadpath="uploads/signatures/";
echo "<img src =".$uploadpath. $signature['name']." width=\"50\" height = \"100"\>" ;