2012-05-07 3 views
2

Я написал сценарий загрузки, который будет загружать файл из каталога. После успешной загрузки мне нужно обновить базу данных, чтобы написать следующий код.как обновить базу данных при успешной загрузке?

$path = $_SERVER['DOCUMENT_ROOT']."/upload/"; // change the path to fit your websites document structure 

$fullPath = $path.$_GET['download_file']; 

if ($fd = fopen ($fullPath, "r")) { 
    $fsize = filesize($fullPath); 
    $path_parts = pathinfo($fullPath); 
    $ext = strtolower($path_parts["extension"]); 
    switch ($ext) { 
     case "pdf": 
     header("Content-type: application/pdf"); // add here more headers for diff. extensions 
     header("Content-Disposition: attachment; filename=\"".$path_parts["basename"]."\""); // use 'attachment' to force a download 
     break; 
     default; 
     header("Content-type: application/octet-stream"); 
     header("Content-Disposition: filename=\"".$path_parts["basename"]."\""); 
    } 
    header("Content-length: $fsize"); 
    header("Cache-control: private"); //use this to open files directly 
    while(!feof($fd)) { 
     $buffer = fread($fd, 2048); 
     echo $buffer; 
    } 
} 
fclose ($fd); 
$update = mysql_query("Update query"); 
if($update) { 
echo "updated"; 
} 
else { 
echo 'error'.mysql_error(); 
} 
exit; 

Но когда я нажимаю на ссылку для загрузки и браузер всплывающее окно появляется во всплывающем окне при нажатии на кнопку отмены, он не должен выполнить запрос на обновление, как файл не загружен, но когда в использовании выше кода, даже если я нажму кнопку «Отмена», выполнил запрос на обновление.

Так в чем же ошибка в моем коде?

+0

любой, кто может сказать мне решение моей проблемы? – Ahmad

ответ

3

Вам нужно будет проверить, не отменил ли пользователь запрос, а если нет, то только тогда вставьте строку.

if (connection_status() == CONNECTION_NORMAL) { 
    // do query here 
} 

См:

+0

Где я должен помещать код в свой код? – Ahmad

+0

@ Амад вокруг запроса на обновление – Petah

+0

Я поставил свой запрос на обновление в 'if (connection_status()! = CONNECTION_NORMAL) {}', но теперь, если файл загружен успешно, запрос обновления не выполняется. – Ahmad

Смежные вопросы