WRInaute discret
Bonjour tout le monde voilà un formulaire qui me casse la tête depuis des heures, si quelqu'un peut m'aider svp
dès que je clique sur envoyer ça me donne l'erreur "Unsupported Zip File!"
Code:
<?php
include('config.php');
$UploadDirectory = 'uploaded_images/';
$PSBDirectory = 'uploaded_files/';
if (!@file_exists($UploadDirectory)) {
//destination folder does not exist
die("Make sure Upload directory exist!");
}
if($_POST)
{
if(!isset($_POST['category']) || strlen($_POST['category'])<1)
{
//required variables are empty
die("Please select a category.");
}
if(!isset($_POST['mName']) || strlen($_POST['mName'])<1)
{
//required variables are empty
die("Please add a title.");
}
if(!isset($_POST['aName']) || strlen($_POST['aName'])<1)
{
//required variables are empty
die("Please tell us author of the file.");
}
if(!isset($_POST['nSet']) || strlen($_POST['nSet'])<1)
{
//required variables are empty
die("Please tell us how many items in the list.");
}
if(!isset($_POST['description']) || strlen($_POST['description'])<1)
{
//required variables are empty
die("Please add a small description.");
}
if(!isset($_POST['license']) || strlen($_POST['license'])<1)
{
//required variables are empty
die("Please select a license.");
}
if(!isset($_FILES['mFile']))
{
//required variables are empty
die("Please add a image");
}
if(!isset($_FILES['zFile']))
{
//required variables are empty
die("Please add file in zip format");
}
if(!isset($_POST['Tags']) || strlen($_POST['Tags'])<1)
{
//required variables are empty
die("Please enter few tags.");
}
if($_FILES['mFile']['error'])
{
//File upload error encountered
die(upload_errors($_FILES['mFile']['error']));
}
$FileName = strtolower($_FILES['mFile']['name']); //uploaded file name
$FileTitle = $mysqli->escape_string($_POST['mName']); // file title
$ImageExt = substr($FileName, strrpos($FileName, '.')); //file extension
$active = 0;//File active
$FileType = $_FILES['mFile']['type']; //file type
$FileSize = $_FILES['mFile']["size"]; //file size
$RandNumber = rand(0, 9999999999); //Random number to make each filename unique.
$uploaded_date = date("c",time());
$Author = $mysqli->escape_string($_POST['aName']); // file author
$Website = $mysqli->escape_string($_POST['aURL']); // Website
$ItemSet = $mysqli->escape_string($_POST['nSet']); // number in the set
$Description = $mysqli->escape_string($_POST['description']); // description
$Category = $mysqli->escape_string($_POST['category']); // description
$License = $mysqli->escape_string($_POST['license']); // license
$Tags = $mysqli->escape_string($_POST['Tags']); // tags
//Zip File
$PSBName = strtolower($_FILES['zFile']['name']);
$ZipExt = substr($PSBName, strrpos($PSBName, '.'));
$ZipType = $_FILES['zFile']['type']; //file type
$ZipSize = $_FILES['zFile']["size"]; //file size
switch(strtolower($ZipType))
{
//allowed file types
case ".zip": $type = "application/zip";
break;
default:
die('Unsupported Zip File!'); //output error
}
switch(strtolower($FileType))
{
//allowed file types
case 'image/png': //png file
case 'image/gif': //gif file
case 'image/jpeg': //jpeg file
case 'image/bmp': //bmp file
break;
default:
die('Unsupported Image File!'); //output error
}
//Image File Title will be used as new File name
$NewFileName = preg_replace(array('/\s/', '/\.[\.]+/', '/[^\w_\.\-]/'), array('_', '.', ''), strtolower($FileTitle));
$NewFileName = $NewFileName.'_'.$RandNumber.$ImageExt;
//Zip File Title will be used as new File name
$NewZipName = preg_replace(array('/\s/', '/\.[\.]+/', '/[^\w_\.\-]/'), array('_', '.', ''), strtolower($FileTitle));
$NewZipName = $NewZipName.'_'.$RandNumber.$ZipExt;
//Rename and save uploded image file to destination folder.
if(move_uploaded_file($_FILES['mFile']["tmp_name"], $UploadDirectory . $NewFileName ))
{
//Rename and save uploded zip file to destination folder.
if(move_uploaded_file($_FILES['zFile']["tmp_name"], $PSBDirectory . $NewZipName ))
{
// Insert info into database table.. do w.e!
$mysqli->query("INSERT INTO resource(img_title, file_title, zip_file, author, website, item_set, description, category, license, tags, uploaded_date, active) VALUES ('$NewFileName', '$FileTitle', '$NewZipName','$Author','$Website','$ItemSet','$Description','$Category','$License','$Tags','$uploaded_date','$active')");
die('Thank you for your submission.');
}
}else{
die('There seems to be a problem. please try again.');
}
}
//function outputs upload error messages, http://www.php.net/manual/en/features.file-upload.errors.php#90522
function upload_errors($err_code) {
switch ($err_code) {
case UPLOAD_ERR_INI_SIZE:
return 'The uploaded file exceeds the upload_max_filesize directive in php.ini';
case UPLOAD_ERR_FORM_SIZE:
return 'The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in the HTML form';
case UPLOAD_ERR_PARTIAL:
return 'The uploaded file was only partially uploaded';
case UPLOAD_ERR_NO_FILE:
return 'No file was uploaded';
case UPLOAD_ERR_NO_TMP_DIR:
return 'Missing a temporary folder';
case UPLOAD_ERR_CANT_WRITE:
return 'Failed to write file to disk';
case UPLOAD_ERR_EXTENSION:
return 'File upload stopped by extension';
default:
return 'Unknown upload error';
}
}
?>