Witam!
Piszę swój serwis i mam problem z pewną instrukcją warunkową. Mianowicie tą:
if(isset($_POST['filesSubmit']))
{
if(is_uploaded_file($_FILES['gamefiles']['tmp_name']))
{
$gamefiles = $_FILES['gamefiles'];
$filename = $_FILES['gamefiles']['name'];
$extension = pathinfo($filename, PATHINFO_EXTENSION); //Get uploaded file extension.
echo $extension;
if($extension==="zip" || $extension==="rar" || $extension==="exe")
{
$codeGenerated = false;
while($codeGenerated === false)
{
$codeForGameFiles = substr(sha1(rand(1,100000)),0,5);
$sql = $connect->query(sprintf("SELECT * FROM game WHERE downloadLink='%s'",
mysqli_real_escape_string($connect, $codeForGameFiles)));
$numrows = $sql->num_rows;
if($numrows==0)
{
$sql = $connect->query(sprintf("SELECT `gametitle` FROM game WHERE id='%s'",
mysqli_real_escape_string($connect, $_GET['id'])));
$table = $sql->fetch_assoc();
echo "Zaraz zobaczę czy są foldery /n";
if(!file_exists("gamefiles/".$table['gametitle']))
{
mkdir("gamefiles/".$table['gametitle'], 0777, true);
mkdir("gamefiles/".$table['gametitle']."/tmp", 0777, true);
move_uploaded_file($gamefiles['tmp_name'], "gamesfiles/".$table['gametitle']."/tmp/".$gamefiles['tmp_name'].".".$extension);
$_SESSION['success'] = "Pliki zostały przesłane pomyślnie. Obecnie trwa ich weryfikacja. Jeżeli zostanie ona zakończona pomyślnie, pliki automatycznie zostaną udostępnione do pobrania.";
$codeGenerated = true;
}
else
{
$currentFiles = glob("gamesfiles/".$table['gametitle']."/tmp/*"); //Get all files in this folder.
foreach ($currentFiles as $file)
{
if(is_file($file))
{
unlink($file);
}
}
move_uploaded_file($gamefiles['tmp_name'], "gamesfiles/".$table['gametitle']."/tmp/".$gamefiles['tmp_name'].".".$extension);
$_SESSION['success'] = "Pliki zostały przesłane pomyślnie..";
$codeGenerated = true;
}
}
}
}
else
{
$_SESSION['error'] = "Przesyłane pliki, mogą mieć wyłącznie rozszerzenia .zip, .rar lub .exe";
}
}
}
Problem jest następujący: gdy spróbuję dodać plik z rozszerzeniem innym niż exe, zip i rar to instrukcja wykonuje się i pokazuje informacje "Przesyłane pliki, mogą mieć wyłącznie rozszerzenia .zip, .rar lub .exe", lecz gdy przesyłam pliki o poprawnym formacie, to instrukcja już się nie wykonuje. Próbowałem sprawdzić, w którym miejscu w kodzie jest błąd dodając po prostu echo "INFO" ale pokazywało się tylko wtedy, gdy przesyłałem plik ze złym rozszerzeniem. Ktoś wie gdzie może być byk?