0

複数の添付ファイル (最大 5 つ) を含む電子メールを送信する単純な html フォームがあります。メールメッセージ、アドレスを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ページで取得するにはどうすればよいですか。私は初心者なので、チュートリアルをお願いします。

4

1 に答える 1

2

これはここで何度も回答されています..ご覧ください

ファイルのアップロード時に複数の画像をアップロードすると、数量が間違っています

swfファイルのアップロード時のチェック条件の制限

編集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

ありがとうございました。

于 2012-04-16T10:30:31.410 に答える