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

Вернуться   Форум Flasher.ru > Flash > ActionScript 3.0

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

Регистрация: May 2007
Сообщений: 21
Question Может ли пхп узнать тип файла?

Здравствуйте! Решил вот вместо штмл сделать флеш форму для загрузки файлов, код вот здесь:
Код:
package {
	import flash.display.Sprite;
	import flash.net.*;
	import flash.events.*;
	import flash.system.*;
	public class ExampleApplication extends Sprite
	{
		public function ExampleApplication()
		{
			//Security.allowDomain("http://localhost/");
			var canDwnld = false;
			loadFileProBar.mode = "manual";

			function onSelectFile()
			{
				var mytexts = fileReference.name;
				if(!canDwnld)
				{
					canDwnld = true;
				}
				//trace(mytexts);
				swtText.text = mytexts;
			}
			function onSDButtonClick()
			{
				fileReference.browse([fileFilter]);
			}
			function onStartDwnld()
			{
				if(canDwnld)
				{					
					fileReference.upload(urlRequest, "uploadfile");				
				}
			}			
			function onFileComplete()
			{
				loadFileProBar.mode = "manual";
			}			
			var urlRequest:URLRequest = new URLRequest("upload.php"); // http://localhost/sait_zn/upload.php
			var fileReference:FileReference = new FileReference();
			fileReference.addEventListener(Event.SELECT, onSelectFile);
			selectDwnldButton.addEventListener(MouseEvent.CLICK, onSDButtonClick);
			startDwnldButton.addEventListener(MouseEvent.CLICK, onStartDwnld);
			fileReference.addEventListener(ProgressEvent.PROGRESS, onFileProgress);
			fileReference.addEventListener(Event.COMPLETE, onFileComplete);
			var fileFilter:FileFilter = new FileFilter("Images", "*.png; *.gif; *.jpg");
			//fileReference.browse([fileFilter]);
		}

		private function onFileProgress(event:ProgressEvent):void
		{
			loadFileProBar.mode = "event";
			FileProgressField.text = event.bytesLoaded + " из " + event.bytesTotal + " байтов";
		}
	}	
}
Так вот, обычная форма кроме имени файла посылает пхп скрипту еще и его тип(который можно узнать например отсюда: $_FILES['uploadfile']['type']), а как на счет флеш? Можно ли узнать тип файла если запрос на его upload был послан из флеша?
P.S. Если качать при помощи флеш формы, то в $_FILES['uploadfile']['type'] записывается значение application/octet-stream.

Старый 12.09.2009, 20:26
Mirk. вне форума Посмотреть профиль Отправить личное сообщение для Mirk. Найти все сообщения от Mirk.
  № 2  
Ответить с цитированием
Mirk.

Регистрация: Sep 2009
Сообщений: 4
меня интересует этот же вопрос =)
мб кто-нибудь поможет?
заранее спс =)

Старый 12.09.2009, 20:56
$mival вне форума Посмотреть профиль Отправить личное сообщение для $mival Найти все сообщения от $mival
  № 3  
Ответить с цитированием
$mival
 
Аватар для $mival

Регистрация: Oct 2005
Адрес: Russia, Irkutsk
Сообщений: 742
а расширение смотреть не подходит?
__________________
smival.com

Старый 12.09.2009, 21:27
Mirk. вне форума Посмотреть профиль Отправить личное сообщение для Mirk. Найти все сообщения от Mirk.
  № 4  
Ответить с цитированием
Mirk.

Регистрация: Sep 2009
Сообщений: 4
можно конечно, но не безопасно, его подделать проще чем Content-Type.


Последний раз редактировалось Mirk.; 13.09.2009 в 01:05.
Старый 12.09.2009, 21:29
flash33 вне форума Посмотреть профиль Отправить личное сообщение для flash33 Найти все сообщения от flash33
  № 5  
Ответить с цитированием
flash33
 
Аватар для flash33

Регистрация: Nov 2005
Сообщений: 1,155
Только анализируя заголовок файла в байтаррей, но по расширению проще, хотя расширение можно изменить. По крайней мере узнать что jpg, png и gif а не что то другое можно по любому

Старый 12.09.2009, 21:50
wvxvw вне форума Посмотреть профиль Отправить личное сообщение для wvxvw Найти все сообщения от wvxvw
  № 6  
Ответить с цитированием
wvxvw
Modus ponens
 
Аватар для wvxvw

модератор форума
Регистрация: Jul 2006
Адрес: #1=(list #1#)
Сообщений: 8,049
Записей в блоге: 38
Для картинок:
http://il2.php.net/manual/en/functio...-mime-type.php
__________________
Hell is the possibility of sanity

Старый 13.09.2009, 01:28
Mirk. вне форума Посмотреть профиль Отправить личное сообщение для Mirk. Найти все сообщения от Mirk.
  № 7  
Ответить с цитированием
Mirk.

Регистрация: Sep 2009
Сообщений: 4
Цитата:
Сообщение от flash33 Посмотреть сообщение
Только анализируя заголовок файла в байтаррей, но по расширению проще, хотя расширение можно изменить. По крайней мере узнать что jpg, png и gif а не что то другое можно по любому
Вот именно по заголовку и хотелось бы определить. Опишите пожалуйста как это сделать, если реализуемо конечно =)

Цитата:
Сообщение от wvxvw Посмотреть сообщение
ммм, ну я полагал что флеш и выдасть мне как mime-type. Если я не правильно понял мысль, плз объясните


Последний раз редактировалось Mirk.; 13.09.2009 в 03:09.
Старый 13.09.2009, 04:13
wvxvw вне форума Посмотреть профиль Отправить личное сообщение для wvxvw Найти все сообщения от wvxvw
  № 8  
Ответить с цитированием
wvxvw
Modus ponens
 
Аватар для wvxvw

модератор форума
Регистрация: Jul 2006
Адрес: #1=(list #1#)
Сообщений: 8,049
Записей в блоге: 38
А какой смысл проверять то, что пишется в заголовок запроса? Вам все равно нужно проверять содержание, а не заголовок, в заголовок можно написать что угодно... Если вам это нужно отправлять на сервер, то, из соображений безопасности нет смысла делать проверки на клиенте т.как они в полпинка обходятся...
__________________
Hell is the possibility of sanity

Старый 13.09.2009, 11:25
flash33 вне форума Посмотреть профиль Отправить личное сообщение для flash33 Найти все сообщения от flash33
  № 9  
Ответить с цитированием
flash33
 
Аватар для flash33

Регистрация: Nov 2005
Сообщений: 1,155
Заголовок файла, wvxvw, а не запроса Но подделать можно что хочешь, тут Вы правы
Mirk. Есть спецификации файлов, где описана их структура и заголовки. Ковыряйте сами, если хотите

Старый 13.09.2009, 13:15
wvxvw вне форума Посмотреть профиль Отправить личное сообщение для wvxvw Найти все сообщения от wvxvw
  № 10  
Ответить с цитированием
wvxvw
Modus ponens
 
Аватар для wvxvw

модератор форума
Регистрация: Jul 2006
Адрес: #1=(list #1#)
Сообщений: 8,049
Записей в блоге: 38
Цитата:
Сообщение от flash33 Посмотреть сообщение
Заголовок файла, wvxvw, а не запроса Но подделать можно что хочешь, тут Вы правы
Mirk. Есть спецификации файлов, где описана их структура и заголовки. Ковыряйте сами, если хотите
Флеш ничего не пишет в файл... только в запрос, не хватало еще чтобы флеш изменял файлы на клиенте перед отсылкой... об этом как раз и речь, что когда флеш формирует запрос multipart-form-data или как он там называется, то вместо того, чтобы писать mimeType image/jpeg например для JPEG'ов, он пишет application/octet-stream.
__________________
Hell is the possibility of sanity

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

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

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


 


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


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