Распаковка zip после загрузки

nemo

Новичок
Распаковка zip после загрузки

PHP:
<?php
$login=!empty($_POST['upload_login'])?$_POST['upload_login']:null;
$date_load=date('YmdHis');
if(isset($_FILES['upload_demo'])&&$_FILES['upload_demo']['error']===0){
if($_FILES["upload_demo"]["type"]=="application/zip"){
if($_FILES['upload_demo']['size']<"100000000"){
if(!file_exists('./loads/'.$login.'')){mkdir("./loads/$login",0700);}
if(!file_exists('./loads/'.$login.'/demo')){mkdir("./loads/$login/demo",0700);}
mkdir("./loads/$login/demo/$date_load",0700);
if(move_uploaded_file($_FILES['upload_demo']['tmp_name'],'./loads/'.$login.'/demo/'.$date_load.'/'.$_FILES['upload_demo']['name']));
}}}
?>
<body onload="parent.document.getElementById('upload_demo_ok').innerHTML=document.body.innerHTML"><?php if(is_dir('./loads/'.$login.'/demo/'.$date_load.'')){echo('Готово. Демо загружено<style type="text/css">.upload_demo_form{display:none} .error_lesson, .error_demo{display:none!important}</style>');}else{echo'<style type="text/css">.error_lesson, .error_demo{display:block}</style>';}?></body>
<iframe id="iframe_load_demo" class="none" onload="parent.document.getElementById('upload_demo_final').innerHTML=document.getElementById('iframe_load_demo').innerHTML"><?php $login=!empty($_POST['upload_login'])?$_POST['upload_login']:null; if(file_exists('./loads/'.$login.'/demo/'.$date_load.'')){echo('http://youexpert.ru/modules/lessons/loads/'.$login.'/demo/'.$date_load.'/example');}?></iframe>

// это скрипт распаковки, его проблема в том что он не дожидается загрузки файла, и поэтому не видит файла. Вопрос, как заставить этот скрипт дождаться завершение загрузки файла, чтобы он его потом мог распаковать?
<?php 
// если путь до папки куда скидывается файл есть 
if(is_dir('./loads/'.$login.'/demo/'.$date_load.''))
{
// путь до папки в котором находится файл который нужно извлечь
$archive_dir=('./loads/'.$login.'/demo/'.$date_load.'');
// куда извлечь
$dest_dir=('./loads/'.$login.'/demo/'.$date_load.'/example');
//функция
$zip=new ZipArchive();
// название файла
$fileName=$archive_dir.($_FILES['upload_demo']['name']);
//функция
if($zip->open($fileName)!==true){exit(1);}$zip->extractTo($dest_dir);$zip->close();exit(0);
}

?>
 

prolis

Новичок
запускать надо его после
PHP:
move_uploaded_file($_FILES['upload_demo']['tmp_name'],'./loads/'.$login.'/demo/'.$date_load.'/'.$_FILES['upload_demo']['name']));
 

dmmd

Новичок
Дорогой nemo.
Я читаю этот форум во время обеда, именно этот раздел, уже несколько лет. Именно ради таких вопросов, как твои. Особенно удачные темы я показываю коллегам, наслаждаемся вместе. Твое появление на форуме украсило его, я с нетерпением жду твоих новых постов, рассылаю цитаты друзьям.
Спасибо тебе.

Я не регистрировался, просто читал. Но больше не могу. ВОН ИЗ ПРОФЕССИИ! Такие, как ты - позорят не только php, но и вообще веб-программирование. Ты никогда не заработаешь на этом, никогда не научишься, не стоит.
Я не спрашиваю про ВУЗ, но школу ты как, успел закончить? Там ты тоже учился, спрашивая соседей по классу, вместо того, чтоб читать учебники?

PS. Название сайта, который ты "пишешь", особенно иронично выглядит.
Я идиот, убейте меня кто-нибудь.
 

Sigorma

Новичок
dmmd
трололо?

nemo
код не смотрел, но полагаю что поможет [m]is_uploaded_file[/m]
 

Beavis

Banned
dmmd кстати дело советует...
я вообще удивляюсь почему этого капитана немо ещё не забанили)
 

dmmd

Новичок
Beavis
Нет-нет, банить нельзя, столько удовольствия ведь.
 

nemo

Новичок
prolis
не получается, как правильней будет написать можешь привести пример? Пожалуйста.

Sigorma
Не помог

dmmd
Эмоциональный пост, сначала благодарите, потом гоните, потом критикуете. Но главное зарегистрировались.. только чтобы я прочел это? Мне неважен формат критики, покажи свое портфолио "Супер программист" что бы я знал с кем имею честь беседовать. Нет портфолио - в моих глазах человек без профиля.
 

dmmd

Новичок
nemo
Пост не для тебя, а для таких же, как я.
Воспользуйся гуглом, найдешь мое портфолио моментально.

Для оценки твоих способностей к программированию не нужно даже иметь портфолио. Овладей русским языком (кстати, последний коммент отличается в лучшую сторону), затем займись тем, к чему есть способности.
 

Adelf

Administrator
Команда форума
dmmd
Здравствуйте, Сергей!
Извините, что сразу не узнали.
А у нас вот тут... php-клуб. Программируем потихоньку...
 

dmmd

Новичок
Adelf как ты искал, интересно? Я не Сергей.
И это все оффтопик, конечно.
 

prolis

Новичок
Автор оригинала: nemo
prolis
не получается, как правильней будет написать можешь привести пример? Пожалуйста.
include("scriptname.php");
-где scriptname.php - название того твоего файла, где:
<?php
// если путь до папки куда скидывается файл есть
 

nemo

Новичок
prolis
я так писал, невыходит, есть тимвиер? дай icq плз
 

Krishna

Продался Java
dmmd


Дорогой nemo.
Я читаю этот форум во время обеда, именно этот раздел, уже несколько лет. Именно ради таких вопросов, как твои. Особенно удачные темы я показываю коллегам, наслаждаемся вместе. Твое появление на форуме украсило его, я с нетерпением жду твоих новых постов, рассылаю цитаты друзьям.
Спасибо тебе.

Я не регистрировался, просто читал. Но больше не могу. ВОН ИЗ ПРОФЕССИИ! Такие, как ты - позорят не только php, но и вообще веб-программирование. Ты никогда не заработаешь на этом, никогда не научишься, не стоит.
Я не спрашиваю про ВУЗ, но школу ты как, успел закончить? Там ты тоже учился, спрашивая соседей по классу, вместо того, чтоб читать учебники?

PS. Название сайта, который ты "пишешь", особенно иронично выглядит.
Я идиот, убейте меня кто-нибудь.
Спасибо, что называется made my day! :-D
 

nemo

Новичок
фух разобрался, делал какраз через отдельный includ как посоветовал prolis, после submit
проблему сразу неувидел в пути и долго думал
разобрался.
 

grigori

( ͡° ͜ʖ ͡°)
Команда форума
Как говорит фанат, у троллей традиционное пред-весеннее обострение
 
Сверху