将多个文件上传到服务器& MySQL的 [英] Uploading multiple files to server & MySQL
问题描述
我在这里要做的是将视频上传到../video/文件夹,最多5张图片上传到../ images /文件夹。以及数据库信息,如标题,内容和每个文件的文件信息。
但我真的不知道如何做到这一点。整个move_uploaded_file部分显然是错误的,但是我不知道从哪里可以实现我的目的。
[php]
$ videoUploadDir =''../video/'';
$ imageUploadDir =''../ images /'';
if(isset($ _ POST) [''upload'']))
{
$ title = $ _POST [''title''];
$ content = $ _POST [''content''];
$ image_number = $ _POST [''image_number''];
$ imageName1 = $ _FILES [''image1'' ] [''name''];
$ tmpImageName1 = $ _FILES [''image1''] [''tmp_name''];
$ imageName2 = $ _FILES [''image2''] [''name''];
$ tmpImageName2 = $ _FILES [''image2''] [''tmp_name''];
$ imageName3 = $ _FILES [''image3''] [''name''];
$ tmpImageName3 = $ _FILES [''image3''] [''tmp_name'']; < br $>
$ imageName4 = $ _FILES [''image4''] [''nam e''];
$ tmpImageName4 = $ _FILES [''image4''] [''tmp_name''];
$ imageName5 = $ _FILES [''image5 ''] [''name''];
$ tmpImageName5 = $ _FILES [''image5''] [''tmp_name''];
$ fileName = $ _FILES [''video''] [''name''];
$ tmpName = $ _FILES [''video''] [''tmp_name''];
$ fileSize = $ _FILES [''video''] [''size''];
$ fileType = $ _FILES [''video''] [''type''] ;
//文件将保存在filePath中
$ filePath = $ videoUploadDir。 $ fileName;
$ imagePath1 = $ imageUploadDir。 $ imageName1;
$ imagePath2 = $ imageUploadDir。 $ imageName2;
$ imagePath3 = $ imageUploadDir。 $ imageName3;
$ imagePath4 = $ imageUploadDir。 $ imageName4;
$ imagePath5 = $ imageUploadDir。 $ imageName5;
$ imageName1 =''images /''。 $ imageName1;
$ imageName2 =''images /''。 $ imageName2;
$ imageName3 =''images /''。 $ imageName3;
$ imageName4 =''images /''。 $ imageName4;
$ imageName5 =''images /''。 $ imageName5;
//将文件移动到指定目录
//如果上传目录不可写或
//其他东西出错了$结果将是假的
$ result =(move_uploaded_file($ tmpName,$ filePath)&&($ tmpImageName1,$ imagePath1)&&($ tmpImageName2, $ imagePath2)&&($ tmpImageName3,$ imagePath3)&&($ tmpImageName4,$ imagePath4)&&($ tmpImageName5,$ imagePath5));
if(!$结果){
echo上传文件时出错;
退出;
}
if(!get_magic_quotes_gpc())
{
$ fileName = addslashes($ fileName);
$ filePath = addslashes($ filePath);
}
$ query =" INSERT INTO视频(标题,内容,image_number,image1,image2,image3,image4,image5,file_name,file_size, file_type,file_path)" ;.
" VALUES(''$ titl e'',''$ content'',''$ image_number'',''$ imageName1'',''$ imageName2'',''$ imageName3'',''$ imageName4'',''$ imageName5 '',''$ fileName'',''$ fileSize'',''$ fileType'',''$ filePath'')" ;;
mysql_query($ query )或死(''错误,查询失败:''。 mysql_error());
echo" SUCCESS";
}
[/ php]
What I''m trying to do here, is upload a video to the ../video/ folder, and up to 5 images to the ../images/ folder. As well as the database information like title, content and each file''s file information.
But I really have no idea how to do this. The whole move_uploaded_file part is obviously wrong, but I''m not sure where to go from here to achieve my ends.
[php]
$videoUploadDir = ''../video/'';
$imageUploadDir = ''../images/'';
if(isset($_POST[''upload'']))
{
$title = $_POST[''title''];
$content = $_POST[''content''];
$image_number = $_POST[''image_number''];
$imageName1 = $_FILES[''image1''][''name''];
$tmpImageName1 = $_FILES[''image1''][''tmp_name''];
$imageName2 = $_FILES[''image2''][''name''];
$tmpImageName2 = $_FILES[''image2''][''tmp_name''];
$imageName3 = $_FILES[''image3''][''name''];
$tmpImageName3 = $_FILES[''image3''][''tmp_name''];
$imageName4 = $_FILES[''image4''][''name''];
$tmpImageName4 = $_FILES[''image4''][''tmp_name''];
$imageName5 = $_FILES[''image5''][''name''];
$tmpImageName5 = $_FILES[''image5''][''tmp_name''];
$fileName = $_FILES[''video''][''name''];
$tmpName = $_FILES[''video''][''tmp_name''];
$fileSize = $_FILES[''video''][''size''];
$fileType = $_FILES[''video''][''type''];
// the files will be saved in filePath
$filePath = $videoUploadDir . $fileName;
$imagePath1 = $imageUploadDir . $imageName1;
$imagePath2 = $imageUploadDir . $imageName2;
$imagePath3 = $imageUploadDir . $imageName3;
$imagePath4 = $imageUploadDir . $imageName4;
$imagePath5 = $imageUploadDir . $imageName5;
$imageName1 = ''images/''. $imageName1;
$imageName2 = ''images/''. $imageName2;
$imageName3 = ''images/''. $imageName3;
$imageName4 = ''images/''. $imageName4;
$imageName5 = ''images/''. $imageName5;
// move the files to the specified directory
// if the upload directory is not writable or
// something else went wrong $result will be false
$result = (move_uploaded_file($tmpName, $filePath) && ($tmpImageName1, $imagePath1) && ($tmpImageName2, $imagePath2) && ($tmpImageName3, $imagePath3) && ($tmpImageName4, $imagePath4) && ($tmpImageName5, $imagePath5));
if (!$result) {
echo "Error uploading file";
exit;
}
if(!get_magic_quotes_gpc())
{
$fileName = addslashes($fileName);
$filePath = addslashes($filePath);
}
$query = "INSERT INTO video (title, content, image_number, image1, image2, image3, image4, image5, file_name, file_size, file_type, file_path)".
"VALUES (''$title'', ''$content'', ''$image_number'', ''$imageName1'', ''$imageName2'', ''$imageName3'', ''$imageName4'', ''$imageName5'', ''$fileName'', ''$fileSize'', ''$fileType'', ''$filePath'')";
mysql_query($query) or die(''Error, query failed : '' . mysql_error());
echo "SUCCESS";
}
[/php]
推荐答案
videoUploadDir =''../video/'';
videoUploadDir = ''../video/'';
imageUploadDir =''../ images /'';
if(isset(
imageUploadDir = ''../images/'';
if(isset(
_POST [''upload'']))
{
_POST[''upload'']))
{
这篇关于将多个文件上传到服务器& MySQL的的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!