2012-04-16 61 views
0

我有一个简单的html表单,它发送一个电子邮件,带有多个附件(最多5个)。我在phpadmin保存电子邮件地址。现在我想保存多个附件。 如何保存多个附件,然后再回到其他页面。保存多个附件并对它们进行检索

我使用的PHPMailer发送电子邮件和附件,发送附件的循环是:

$MyUploads = array(); 
    foreach(array_keys($_FILES['attach']['name']) as $key) 
{ 
$filesize = $_FILES['attach']['size'][$key]; 
$extention = pathinfo ($_FILES['attach']['name'][$key] ,PATHINFO_EXTENSION); 
$name=$_FILES['attach']['name'][$key]; 
    $filePath = $Location . $name; 
    $tmpName = $_FILES['attach']['tmp_name'][$key]; 


if(move_uploaded_file($tmpName, $filePath)) 
    {$MyUploads[] = $Location;} 
    else 
    {$MyUploads[]='';} 
    print_r($MyUploads); 


$source = $_FILES['attach']['tmp_name'][$key]; 
$filename = $_FILES['attach']['name'][$key]; 
$mail->AddAttachment($source, $filename); 

} 

以及在数据库中插入这些文件位置的查询是

$insert = "INSERT INTO upload (name, type, size, file1, file2, file3, file4, file5, 
    created) VALUES 
      ( 
      '".$name."', 
      '".$extention."', 
      '".$filesize."', 
      '".$MyUploads[0]."', 
      '".$MyUploads[1]."', 
      '".$MyUploads[2]."', 
      '".$MyUploads[3]."', 
    '".$MyUploads[4]."' , 
    now() 
      )"; 
     $result = $dbLink->query($insert); 

请现在怎么样我可以在另一个php页面上检索这些文件吗?请我是一个初学者,所以任何toturial。

+0

相关:[从数据库检索图像和显示所有页面](http://stackoverflow.com/questions/10196929/retrieving-images-from-database-and-displaying-all-on-a-page) – hakre 2012-05-18 22:45:08

回答

2

这已经在这里找到答案多次..请参阅

multi image upload wrong quantity on file-upload

limiting the checking condition while uploading swf files

编辑1

什么,我认为你的表应该像

CREATE TABLE IF NOT EXISTS `upload` (
    `uploadID` int(10) unsigned NOT NULL AUTO_INCREMENT, 
    `uploadExt` varchar(10) NOT NULL, 
    `uploadSize` varchar(50) NOT NULL, 
    `uploadPath` varchar(200) NOT NULL, 
    `uploadName` varchar(100) NOT NULL, 
    PRIMARY KEY (`uploadID`) 
) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=1 ; 

如何插入

$mysql = new mysqli("localhost","root","","test"); 
$sql = "INSERT INTO `upload` (
`uploadID` , 
`uploadExt` , 
`uploadSize` , 
`uploadPath` , 
`uploadName` 
) 
VALUES (
NULL , '%s', '%s', '%s', '%s');" 


foreach($image_you_have_uploaded as $valid) /// Am sure you know what this is 
{ 
    //Make sure you mysql_real_escape_string everthing 
    $mysql->query(sprintf($sql,$extention,$filesize,$filePath,$name)); 
} 

如何获得图像

$sql = "SELECT * FROM upload WHERE uploadName = '%s'" ; 
$result = $mysql->query(sprintf($sql,mysql_real_escape_string($name))); 

var_dump($result->fetch_assoc())// Output Result 

谢谢。

+0

谢谢你,我已经编辑了我的问题,在你做出修改之后。请你指定我现在可以做些什么来检索他们 – 2012-04-16 11:11:39

+0

我不同意你如何插入你的图片..我会更新我认为最好的解决方案..坚持 – Baba 2012-04-16 11:22:50

+0

看到更新的代码 – Baba 2012-04-16 11:50:39

相关问题