Форум Flasher.ru
Ближайшие курсы в Школе RealTime
Список интенсивных курсов: [см.]  
  
Специальные предложения: [см.]  
  
 
Блоги Правила Справка Пользователи Календарь Сообщения за день
 

Вернуться   Форум Flasher.ru > Flash > Серверные технологии и Flash

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 19.05.2011, 17:47
Leopardile вне форума Посмотреть профиль Отправить личное сообщение для Leopardile Найти все сообщения от Leopardile
  № 1  
Ответить с цитированием
Leopardile

Регистрация: May 2011
Сообщений: 4
По умолчанию PHP и загрузка файла

Извините, вопрос может быть глупым, так как я новичок ещё.
Есть такой as-3 файл (сам скрипт помещен на первом кадре, и кнопка uploadButton тоже на первом кадре. Скрипт выполняет соединение с js, после чего выполняется функция main(). Потом при нажатии на кнопку вызывается функция upload().

Код AS3:
import flash.net.FileReference;
import flash.external.ExternalInterface;
import flash.net.URLRequest;
import flash.events.DataEvent;
import flash.text.TextField;
import flash.events.MouseEvent;
 
if (ExternalInterface.available){
	var containerReady:Boolean = isContainerReady(); 
	if (containerReady){
		main(); 
	} 
	else{
		var readyTimer:Timer = new Timer(100); 
		readyTimer.addEventListener(TimerEvent.TIMER, timerHandler); 
		readyTimer.start(); 
	} 
} 
else{
	trace("External interface is not available for this container."); 
}
 
function main():void
{
	uploadButton.addEventListener(MouseEvent.MOUSE_UP,upload);
	ExternalInterface.call("isflashReady"); //говорит JS, что флэш уже готов.
}
 
function upload(e:MouseEvent):void{
	var file:FileReference = new FileReference();
	var phpScript:URLRequest = new URLRequest("/uploadScript2.php");
	phpScript.method = URLRequestMethod.POST;
 
	file.browse();
 
	file.addEventListener(Event.COMPLETE,completeListener);
	file.addEventListener(Event.SELECT,selectListener);
 
	function completeListener():void{
		ExternalInterface.call("alert","Загрузка завершена");
	}
	function selectListener():void{
		file.upload(phpScript,"userfile");
	}
}
 
function isContainerReady():Boolean 
{ 
    var result:Boolean = ExternalInterface.call("isjsReady"); 
    return result; 
}
 
function timerHandler(event:TimerEvent):void 
{ 
    var isReady:Boolean = isContainerReady(); 
    if (isReady) 
    { 
        Timer(event.target).stop(); 
        main(); 
    } 
}
И здесь проблема. Вот сам /uploadScript2.php:

PHP код:
<?php
if(isset ($_FILES['userfile'])){
  
$allowedlist = array(".png"".jpg"".jpeg"".gif");
  foreach (
$allowedlist as $item) {
   if(
preg_match("/$item\$/i"$_FILES['']['name'])) {
    
$format=$item;break;
    }
   }
   if(!isset(
$format)) {echo false; exit;}

   
$uploaddir 'uploads/';
   
$uploadfile $uploaddir .md5(time()).$format;

  echo 
move_uploaded_file($_FILES['userfile']['tmp_name'], $uploadfile);
}
else echo 
false;
?>
По какой-то причине в папке uploads/ ничего не появляется. Если этот php включить в другой файл, то загрузка будет выполняться, а так - нет. В чем может быть проблема?
P.S. Точнее не могу сформулировать, т.к. не знаю, где искать эту ошибку.
P.P.S. Выполняю в отладочной среде, ошибок не выскакивает. Вместо этого появляется alert 'Загрузка завершена'.

Создать новую тему Ответ Часовой пояс GMT +4, время: 10:33.
Быстрый переход
  « Предыдущая тема | Следующая тема »  

Теги
php , upload , загрузка файлов

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


 


Часовой пояс GMT +4, время: 10:33.


Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.