我已经在这4天了。但由于我对编码很陌生,我建议先在这里问一下,因为我会节省很多时间从有经验的编码员那里获得帮助。有人告诉我这可能需要20分钟。这是有帮助的,因为我的截止日期是今晚。而且我还没弄清楚究竟发生了什么。
目标允许从adminpg.html页面上传图片,以便从adminpg.html和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>
如果有人能帮助我弄清楚我在哪里出错了,我会永远感激。
谢谢大家。
答案 0 :(得分:0)
我会告诉你我的所作所为。这是一个工作代码,你的图像将上传到我的php项目目录中名为'upload'的文件夹中,链接将被添加到数据库中,然后,我显示用户的链接,以便他们可以下载任何类型文件,不仅是图像,如果这是你想要的,这是我的代码: 这是在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时遇到困难,我希望这对您有所帮助。