Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: Допишите загрузку файла.

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (1): [1]   

> Без описания
Predator
Отправлено: 01 Сентября, 2012 - 12:19:09
Post Id



Частый посетитель


Покинул форум
Сообщений всего: 619
Дата рег-ции: Март 2012  
Откуда: Ярославль


Помог: 0 раз(а)

[+][+][+]


Вообщем замучился. Как из фром убрать action и сделать обращение к php скрипту через js.

CODE (javascript):
скопировать код в буфер обмена
  1.  <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js" type="text/javascript"></script>
  2.  <script type="text/javascript">    
  3.  function hideBtn(){
  4.           $('#upload').hide();
  5.           $('#res').html("Идет загрузка файла");
  6.         }
  7.        
  8.       function handleResponse(mes) {
  9.             $('#upload').show();
  10.             if (mes.errors != null) {
  11.              $('#res').html("Возникли ошибки во время загрузки файла: " + mes.errors);
  12.             }else {
  13.                 $('#res').html("Файл " + mes.name + " загружен");  
  14.             }  
  15.         }  
  16.            
  17.    function  copyfileName() {
  18.         var div = $('<div><br>');
  19.         var name;
  20.         var file = document.upload.elements["file"];
  21.         var file_name = document.upload.elements["fileName"];
  22.         var alt = document.upload.elements["shorty"];
  23.         if (file.length > 0){
  24.             for (i = 0; (i < file.length); i++) {
  25.                 if (file_name[i].value != file[i].value){
  26.                     file_name[i].value = file[i].value;
  27.                     name = file_name[i].value.slice(file_name[i].value.lastIndexOf("\\")+1,file_name[i].value.lastIndexOf('.'));                
  28.                     alt.value = alt.value+name.replace(/ |-/g," ");
  29.                 }
  30.                
  31.             }
  32.         } else{
  33.             file_name.value = file.value;
  34.             name = file_name.value.slice(file_name.value.lastIndexOf("\\")+1,file_name.value.lastIndexOf('.'));          
  35.             alt.value = alt.value+name.replace(/ |-/g," ");
  36.         }
  37.     }                  
  38.     </script>



CODE (html):
скопировать код в буфер обмена
  1.  
  2. <div id="res" ></div>
  3. <iframe  name="hiddenframe" style="width:0px; height:0px; border:0px"></iframe>      
  4. <form method="post"
  5. action="http://www.i.ru/upload.php" name="upload" target="hiddenframe" enctype="multipart/form-data" onsubmit="if(checkxf()=='fail') return false;">      
  6.      
  7.    
  8. <input type="text"   name="fileName"  readonly="readonly" />
  9. <input type="file" name="file"   onchange="javascript: copyfileName()" />  
  10. <input type="submit" name="upload" value="Загрузить"  />    
  11. <br>
  12. <textarea type="text" name="shorty" onclick=setFieldName(this.name)  style="width:650px; border-radius: 0px 0px 3px  3px;"  rows="7"></textarea>    
  13. </form>
  14.  



PHP:
скопировать код в буфер обмена
  1. if(isset($_POST['upload'])){
  2.  
  3.  
  4.         $folder =  'test/';//директория в которую будет загружен файл
  5.         $uploadedFile =  $folder.basename($_FILES['file']['name']);
  6.         if(is_uploaded_file($_FILES['file']['tmp_name'])){
  7.             if(move_uploaded_file($_FILES['file']['tmp_name'],$uploadedFile)){
  8.                 $data = $_FILES['file'];
  9.             }
  10.             else {  
  11.                 $data['errors'] = "Во время загрузки файла произошла ошибка";
  12.             }
  13.         }
  14.         else {  
  15.             $data['errors'] = "Файл не  загружен";
  16.         }
  17.  
  18.     //Формируем js-файл  
  19.     $res = '<script type="text/javascript">';
  20.     $res .= "var data = new Object;";
  21.     foreach($data as $key => $value){
  22.         $res .= 'data.'.$key.' = "'.$value.'";';
  23.     }
  24.     $res .= 'window.parent.handleResponse(data);';
  25.     $res .= "</script>";
  26.      
  27.     echo $res;
  28.  
  29. }

Огорчение

(Отредактировано автором: 01 Сентября, 2012 - 12:20:06)

 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Напишите за меня, пожалуйста »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB