通过数据库为图像创建上传/下载功能
Creating an upload / download function for images via a database
我已经做了4天了。但由于我对编码还很陌生,有人建议我先问这里,因为我可以节省很多时间从经验丰富的程序员那里获得帮助。有人告诉我这可能需要20分钟。这很有帮助,因为我的截止日期是今晚。我还没有弄清楚到底发生了什么。
GOAL允许从adminpg.html页面上传图像,从adminpghtml和userpg.html页面查看和下载图像。为了将这些图像存储在数据库中(我正在使用MAMP,但对如何让我的代码正确连接到我的MAMP数据库几乎没有经验/了解)
upload.php:http://scratchpad.io/absent-boot-2909
adminpg.html:http://scratchpad.io/hesitant-visitor-5291
userpg.html代码:(因为我不能再发布链接了)
<head>
<meta charset="utf-8">
<title>-=The Portfolio Website=-</title>
<link rel="stylesheet" type="text/css" href="../css/stylesheet.css">
</head>
<body>
<header id = "MainHeader">
<h1>Viewing / Download page</h1>
<nav>
<ul>
<li>
<a href="../index.html">Home</a>
</li>
<li>
<a href="pages/about.html">About Me</a>
</li>
<li>
<a href="pages/contact.html">Contact</a>
</li>
</ul>
</nav>
</header>
<main>
<button type="button" style = "position:absolute; top:400px; left:50%; transform:translate(-50%); transform:scale(3,3);">Download Entire Folio</button>
<div> <img src="../images/SC.jpg" alt="Cover Image">
<p>
This page is where you can access all the softcopy files of my folio.</p>
</main>
<footer>
<ul>
<li>
<a href="http://www.instagram.com">INSTAGRAM</a>
</li>
<li>
<a href="http://www.facebook.com">FACEBOOK</a>
</li>
<li>
<a href="mailto:someone@yoursite.com">EMAIL</a>
</li>
</ul>
<p>© 2015 Designed by Julian</p>
</footer>
</body>
如果有人能帮我弄清楚我在哪里出了问题,我将永远感激。
谢谢大家。
我将向您展示我的产品。这是一个工作代码,你的图像将被上传到我的php项目目录中一个名为"上传"的文件夹中,链接将被添加到数据库中,然后,我向用户显示链接,这样他们就可以下载任何类型的文件,而不仅仅是图像,如果这是你想要的,这里是我的代码:这是在PHP-PDO中:当我的提交按钮被点击时,我的文件的名称和保存它的链接将从HTML表单中获取,然后如果上传到文件夹成功,它将被添加到数据库中。
if ($_SERVER['REQUEST_METHOD'] === 'POST') {
if(isset($_POST['submit_map'])){
$name = isset($_POST['name_of_map']) ? $_POST['name_of_map'] : '';
$message='';
$path = "../uploads/".$_FILES['file']['name'];
try{
$ext = pathinfo($path, PATHINFO_EXTENSION);
if(move_uploaded_file($_FILES["file"]["tmp_name"], $path)){
//$path = "./uploads/".$path;
$sql = "INSERT INTO maps(name_of_map, projects_id, map) VALUES (:name, :id, :file)";
$stmt = $conn->prepare($sql);
$stmt->bindValue(":name", $name);
$stmt->bindValue(":id", $id);
$stmt->bindValue(":file", $path);
$count = $stmt->execute();
//var_dump($_FILES);
//die();
header("location: maps.php?id=".$id);
}
}
catch(PDOException $e) {
echo $e->getMessage();
var_dump($_FILES);
header("location: insert_map_false.php?id=".$id);
}
unset($_POST['submit_map']);
}
}
?>
然后下载:将此代码保存到新的PHP文件中,我称之为download_PopUp.PHP
<?php
$data = $_REQUEST['data'];
header('Content-Type: application/octet-stream');
header("Content-Transfer-Encoding: Binary");
//header("Content-disposition: attachment; filename='"" . basename($data) . "'"");
header("Content-disposition: attachment; filename='"" . basename($data) . "'"");
readfile($data);
?>
这是我的HTML代码,我在其中显示下载文件的链接:
<?php
$sql_map = "SELECT * FROM maps WHERE projects_id = :id_m";
$stmt_map = $conn->prepare($sql_map);
$stmt_map->bindValue(":id_m", $id);
$count_m = $stmt_map->execute();
$result = $stmt_map->fetchAll();
?>
<form action="" name="show_maps" method="post" enctype="multipart/form-data">
<table border="1" cellpadding="2" cellspacing="1" align="center" dir="rtl">
<th bgcolor="#666666" align="center">
الخريطة
</th>
<td>
<?php foreach ($result as $map) {
$data = $map['map'];
$dataFile = str_replace('/', '''', $data);
?>
<tr align="center">
<td>
<?php if($map['name_of_map']==''): ?>
<a href='download_PopUp.php?data=<?php echo $dataFile; ?>'><?php echo $dataFile?></a>
<?php else: ?>
<a href='download_PopUp.php?data=<?php echo $dataFile; ?>'><?php echo $map['name_of_map']?></a>
<?php endif; ?>
<?php } ?>
</td>
</tr>
</tr>
</table>
</form>
如果您发现使用JavaScript有困难,我希望这对您有所帮助。
- 如何在生成下载文件时显示加载动画
- 直接下载文件,而不是从window.open(url)
- 添加文字和评论功能更新Div
- JavaScript打印功能使日历停止工作
- 如何使用javascript或html下载PDF格式的填写表单
- Javascript运行php文件,然后下载文件
- 在单击href链接的同时下载文件
- 尽管链接成功并已成功下载,但未找到NPM模块
- 通过php页面中的js强制下载txt
- 每当您在选择器内移动鼠标时,悬停功能就会重复
- 使用angularjs向浏览器发送servlet响应(下载功能)
- 跨浏览器javascript下载功能
- jQuery文件下载插件总是在失败功能
- 纯JavaScript或jQuery文件下载功能
- 如何通过点击实现下载功能?[使用电话间隙]
- 在IE中下载文件时运行功能
- 通过数据库为图像创建上传/下载功能
- 类型错误:回调不是下载谷歌驱动器文件时的功能
- 通过Parse Cloud Code功能下载图像
- 下载功能不起作用