Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
MySQL на примерах. Авторы: Кузнецов М.В., Симдянов И.В. Социальная инженерия и социальные хакеры. Авторы: Кузнецов М.В., Симдянов И.В. PHP на примерах (2 издание). Авторы: Кузнецов М.В., Симдянов И.В. PHP 5/6. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. C++. Мастер-класс в задачах и примерах. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

HTML+CSS+JavaScript

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: "Дозагрузка файла"
 
 автор: Maestro   (14.09.2008 в 22:14)   письмо автору
 
 

Всем привет! Проблема в следующем: пользователь пытается скачать какой-то файл. После того как он нажимает на волшебную кнопочку "загрузить" открывается скрипт. На 6ой версии ослика загрузка начинается(ну то бишь возникает окошко, что типа куда надо слить файл...), а вот в 7ой возникает надпись" Что бы помочь обеспесчению безопастности IE заблокировал загрузку файла с этого веб-узла...". Если нажимаешь загрузка - то закачка не просходит, скрипт остается в том же состоянии.. Подскажите плз как беде помочь?

  Ответить  
 
 автор: Maestro   (15.09.2008 в 23:16)   письмо автору
 
   для: Maestro   (14.09.2008 в 22:14)
 

ну скажите плз кто-нибудь!!!

  Ответить  
 
 автор: Maestro   (15.09.2008 в 23:16)   письмо автору
 
   для: Maestro   (14.09.2008 в 22:14)
 

ну скажите плз кто-нибудь!!!

  Ответить  
 
 автор: koshka   (15.09.2008 в 23:36)   письмо автору
 
   для: Maestro   (14.09.2008 в 22:14)
 

Например:
1. При нажатии "Загрузить" создаете в cookie флаг, сообщающий, что пользователь инициировал загрузку файла.
2. При загрузке страницы проверяете наличие флага.
3. Если флаг установлен, запускаете загрузку, не дожидаясь нажатия кнопки, и обнуляете флаг.

  Ответить  
 
 автор: Maestro   (16.09.2008 в 23:47)   письмо автору
 
   для: koshka   (15.09.2008 в 23:36)
 

ХЕм, мне собсвтенно что и нужно: как отследить тот факт, что пользователь нажал правую кнопочку мышки" и выбрал функцию загрузить файл?

  Ответить  
 
 автор: koshka   (17.09.2008 в 21:36)   письмо автору
 
   для: Maestro   (16.09.2008 в 23:47)
 

Если пользователь сам выбрал загрузку из контесткного меню ("сохранить объект как" - вы, наверное, имеете в виду?), то ничего браузер не заблокирует.
Словом, приведите код, вызывающий загрузку файла, иначе ничего вам не посоветовать.

  Ответить  
 
 автор: Maestro   (17.09.2008 в 22:36)   письмо автору
 
   для: koshka   (17.09.2008 в 21:36)
 

Многоуважаемая Кошка, нет, я не это имею ввиду. Я имею ввиду, что когда пользователь нажимает <input type='submit' />, открывается впслывающее окно из скрипт начинает выгружать инфу, а винда блокирует. ВАм нужен код? Пожалуйста:


<?php 
session_start
();
function 
checkForJaDown($st){
for (
$i=0;$i<strlen($st);$i++){
    if (
$st[$i]=='Я')
        
$st[$i]='я';
    }
return 
$st;
}
if     (
$_SESSION["Reg"]!=true)
    
header("Location: /err.php");
    
include_once(
"PEAR/config_pear.php");
include_once(
"Spreadsheet/Excel/Writer.php"); 

require_once(
"mySqlOper.php");;
$id $_GET["id"];
$xls =& new Spreadsheet_Excel_Writer();
$xls->_codepage 0x04E3;
$titleFormat =&$xls->addFormat(); 
$titleFormat->setBorder(1);
$titleFormat->setLeft(1);
$titleFormat->setRight(1);
$titleFormat->setTextWrap();
$titleFormat->setAlign('center'); 
$conn connectDB();
$resmysql_query("select name from curtables where id=".$id);
$row mysql_fetch_row($res);
$name $row[0];
$sheet =&$xls->addWorksheet($name);
$conn connectDB();
$resmysql_query("show columns from `".$name."`");
$i=0;
mysql_fetch_row($res);
while (
$row mysql_fetch_row($res)){
$sheet->write(0,$i,checkForJaDown($row[0]),$titleFormat);
$i++;
}
$resmysql_query("select *  from `".$name."`");
$i=0;
$col=1;
while (
$row mysql_fetch_row($res)){
    
$i=0;$k=0;
    foreach(
$row as $el){
    if (
$k==0){
        
$k=1;
        continue;
    }
    
$sheet->write($col,$i,checkForJaDown($el),$titleFormat);
    
$i++;
    }
    
$col++;
}
$xls->send($name.".xls");
$xls->close();
?> 
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251" />
<title></title>
</head>
<body>
</body>
</html>


  Ответить  
 
 автор: koshka   (18.09.2008 в 16:32)   письмо автору
 
   для: Maestro   (17.09.2008 в 22:36)
 

Тогда зачем нужно отслеживать нажатие правой кнопокй мыши и т.д.?

В этом коде нет кнопки submit. У вас проблема на стороне клиента, так зачем вы мне серверный код выкладываете?

Как выглядит обработка на стороне клиента действий пользователя, которая должна приводить к загрузке файла, а приводит к описанной проблеме. Как выглядит в виде кода?

  Ответить  
 
 автор: Maestro   (18.09.2008 в 20:45)   письмо автору
 
   для: koshka   (18.09.2008 в 16:32)
 

Ув, koshka, если вам нужен sumbit, вот он:

<input type="submit" name="view" id="view" value="Загрузить" onclick="window.open
().location=Адрес Скрипта выше с некоторым $_get параметрами " />.

  Ответить  
 
 автор: Maestro   (18.09.2008 в 20:52)   письмо автору
 
   для: Maestro   (18.09.2008 в 20:45)
 

ДА, что бы разъяниьт все точки над i, похоже вы НЕ понимаете суть проблемы. Нажатие правой Кнопки я НЕ отслеживаю. При работе системы открывается скрипт показанный выше и в верхней части экрана всплывает сообщение, что "Загрузка ЗАблокаирована(подрузамеваю самим Браузером"). Такая вещь есть на многих сайтах,это стандартно. Если кликнуть по этому сообщению мышкой появляется мини-минющка, в ней несколько команд, одна из них "разрешить загрузку файла". По уму после нажатия начинается загрузка фалйа, а у меня остается все на "About blank". Как сделать все по уму.

  Ответить  
 
 автор: koshka   (20.09.2008 в 19:59)   письмо автору
 
   для: Maestro   (18.09.2008 в 20:52)
 

Да что вы?..

По уму - вообще не нужно открывать никаких окон, а сделать по щелчку переадресацию на скрипт, который никакого пустого html выводить не будет, а будет отдавать сформированный документ excel, послав предварительно заголовок content-type.

  Ответить  
 
 автор: Maestro   (20.09.2008 в 23:18)   письмо автору
 
   для: koshka   (20.09.2008 в 19:59)
 

Уважаемая koshka, спасибо за ответы, но мне кажется вы просто совершенно не обладаете необходимой компентностью в данном вопросе. Не надо разводить пустых слов и давать обходные пути. Я просил одно, вы мне предлагаете совершенно другое, либо просто не понимаете, о чем я конкретно говорю. Прошу больше не отвечать на данный вопрос. Либо кто-нибудь другой ответит, либо докапаюсь до истины сам.
З.Ы. Да, если вы работали с библиотекой PEAR и хоть чуть-чуть копались в коде, то знали бы, что conten-type высылается методом ->send().

  Ответить  
 
 автор: koshka   (21.09.2008 в 02:53)   письмо автору
 
   для: Maestro   (20.09.2008 в 23:18)
 

поправлено модератором...

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования