В общем замутил я скрипт, который загружает архив с фотографиями и разархивирует его. По окончанию скрипта он переносит на другую страницу. Но мало того, что он не переносит на другую страницу, так он даже не загружает архив. В общем, посмотрите, где я накосячил...
HTML:
<form enctype="multipart/form-data" method="post" action="http://8bgsg.ru/storage/add_photos.php">
<span class="word">Прикрепить ZIP архив с фото:</span><br>
<input type="file" id="file" name="archive"><br>
<span class="word">Выберете альбом:</span><br>
<select id="combobox" name="album">
<?php
mysql_connect('127.0.0.1', 'root', '');
mysql_select_db('site');
$result = mysql_query("SELECT * FROM `albums`");
while ($row = mysql_fetch_array($result)) {
echo '<option value="' . $row['id'] . '">' . $row['title'] . '</option>';
}
?>
</select><br>
<input type="submit" id="button" value="Отправить"><br>
</form>
PHP:
<?php
mysql_connect('127.0.0.1', 'root', '');
mysql_select_db('site');
if (sizeof($_FILES) != 0 and $_FILES['archive']['type'] == "application/zip") {
$name = date("d_m_Y_H_i_s");
$zip_info = pathinfo($_FILES['archive']['name']);
$upload_dir = 'archives';
$upload_file = $upload_dir . $name . '.' . $zip_info['extension'];
if (move_uploaded_file($_FILES['name']['tmp_name'], $upload_file)) {
$zip = new ZipArchive();
if ($zip->open($upload_file)) {
$num_files = $zip->numFiles;
for ($i = 0; $i < $num_files; $i++) {
$result = $zip->statIndex($i);
$name = date("d_m_Y_H_i_s") . "_" . $i;
$img_info = pathinfo($result['name']);
$upload_dir = 'images/albums/';
$upload_file = $upload_dir . $name . '.' . $img_info['extension'];
if (move_uploaded_file($result['name'], $upload_file)) {
$disk = 'http://8bgsg.ru/storage/' . $upload_file;
$album = $_POST['album'];
mysql_query("INSERT INTO `photos` (`name`, `album_id`, `photo_url`, `date`) VALUES('$name', '$album', '$disk', NOW())");
header('Location: http://8bgsg.ru/photos');
}
}
}
$zip->close();
header('Location: http://8bgsg.ru/photos');
}
}
?>