Intereting Posts
Использование класса базы данных в моем классе пользователя У вас есть ошибка в синтаксисе SQL; проверьте руководство, соответствующее версии вашего сервера MySQL, для правильного синтаксиса для использования рядом с '' '') 'в строке 2 PHP: Stomp – Возможно ли уловить ошибки на «send ()»? PHP продолжается внутри функции Laravel 5 и WordPress 4.1.1 на одном сервере Не удается отправить сгенерированную форму Как обеспечить, чтобы значения атрибутов, содержащие кавычки, не нарушали форматирование? строка поиска не работает при использовании mysqli API REST Laravel с параметрами запроса Неверный размер ключа при переносе шифрования Crypto ++ AES на mcrypt PHP Есть ли какая-то особая разница между intval и casting для int – `(int) X`? Ошибка выражения Isset Google Script отправляет значения формы по электронной почте, ошибка: невозможно прочитать свойство "namedValues" Множественный фильтр с использованием jquery с атрибутом data Codeigniter – не указан входной файл

ограничение условий проверки при загрузке swf-файлов

Я создаю приложение для загрузки swf-файлов в папку с помощью php .. мой скрипт работает, кроме первого условия if, когда я проверяю, является ли расширение swf или нет … но у меня, похоже, есть некоторая ошибка. ..i'm не уверен, является ли video/swf допустимым параметром проверки для swf-файлов или нет … Пожалуйста, помогите мне в отношении этого скрипта. Мой полный скрипт находится ниже … Я проверяю размер swf используя getimagesize (). некоторые люди могут задаться вопросом, что getimagesize работает для изображения, но я видел несколько примеров, где getimagesize () использовался для получения размера swf-файлов …

пожалуйста, помогите мне в моем сценарии. это дает мне сообщение «inavalid swf file», что означает, что он не удовлетворяет первому условию проверки вообще.

 <?php foreach($_FILES['item_swf']['tmp_name'] as $key=>$val) { list($width, $height) = getimagesize($_FILES['item_swf']['tmp_name'][$key]); if (( ($_FILES["item_swf"]["type"][$key] == "video/swf") || ($_FILES["item_swf"]["type"][$key] == "video/SWF") ) && ($_FILES["item_swf"]["size"][$key] < 800000)) { if ($_FILES["item_swf"]["error"][$key] > 0) { echo "Error: " . $_FILES["item_swf"]["error"][$key] . "<br />"; } else if($width==1000 && $height==328) { if (file_exists('../../swf_folder/header_swf/' . $_FILES["item_swf"]["name"])) { echo $_FILES["item_swf"]["name"][$key] . " already exists. "; } else { move_uploaded_file($val, '../../swf_folder/header_swf/'.$_FILES['item_swf']['name'][$key]); echo "done"; } } else { echo "size doest permit"; } } else { echo "Not a valid swf file::"; } } ?> 

приведенная ниже строка

 move_uploaded_file($val, '../../swf_folder/header_swf/'.$_FILES['item_swf']['name'][$key]); 

отлично работает, поскольку он загружает файлы в выделенную папку, так или иначе кажется, что параметры проверки только для файлов SWF не установлены должным образом, пожалуйста, помогите мне в этом вопросе

РЕДАКТИРОВАТЬ

хорошо, я получил свой ответ

хорошо, я получил свой ответ ….

вместо использования video/swf мне нужно использовать application/x-shockwave-flash

поэтому окончательный код будет

 <?php foreach($_FILES['item_swf']['tmp_name'] as $key=>$val) { list($width, $height) = getimagesize($_FILES['item_swf']['tmp_name'][$key]); if (($_FILES["item_swf"]["type"][$key] == "application/x-shockwave-flash") && ($_FILES["item_swf"]["size"][$key] < 800000)) { if ($_FILES["item_swf"]["error"][$key] > 0) { echo "Error: " . $_FILES["item_swf"]["error"][$key] . "<br />"; } else if($width==1000 && $height==328) { if (file_exists('../../swf_folder/header_swf/' . $_FILES["item_swf"]["name"])) { echo $_FILES["item_swf"]["name"][$key] . " already exists. "; } else { move_uploaded_file($val, '../../swf_folder/header_swf/'.$_FILES['item_swf']['name'][$key]); echo "done"; } } else { echo "size doest permit"; } } else { echo "Not a valid swf file::"; } } ?> 

Solutions Collecting From Web of "ограничение условий проверки при загрузке swf-файлов"

можешь попробовать

 $savePath = "PATH_TO_SAVE"; $errors = array (); $output = array (); // if (isset ( $_FILES ['item_swf'])) { foreach ( $_FILES ['item_swf'] ['tmp_name'] as $key => $val ) { $fileName = $_FILES ['item_swf'] ['name'] [$key]; $fileSize = $_FILES ['item_swf'] ['size'] [$key]; $fileTemp = $_FILES ['item_swf'] ['tmp_name'] [$key]; $fileExtention = pathinfo ( $fileName, PATHINFO_EXTENSION ); $fileExtention = strtolower ( $fileExtention ); if ($fileExtention != ".swf") { $errors [$fileName] [] = "Invalid File Extention"; continue; } if ($fileSize > 800000) { $errors [$fileName] [] = "File Too large"; continue; } list ( $width, $height ) = getimagesize ( $fileTemp ); if ($width != 1000 && $height != 328) { $errors [$fileName] [] = "Wrong File dimention "; continue; } if (file_exists ( $savePath . DIRECTORY_SEPARATOR . $fileName )) { $errors [$fileName] [] = "File Exist"; continue; } if(!is_writable($savePath )) { $errors [$fileName] [] = "File Destination not writeable"; } if(count($errors [$fileName]) == 0) { if(@move_uploaded_file ( $fileTemp, $savePath . DIRECTORY_SEPARATOR . $fileName)) { $output[$fileName] == "OK" ; } else { $errors [$fileName] [] = "Error Saving File"; } } } var_dump($errors, $output); } 

Дайте мне знать, если у вас есть еще одна проблема

хорошо, я получил свой ответ ….

вместо использования video/swf мне нужно использовать application/x-shockwave-flash

поэтому окончательный код будет

 <?php foreach($_FILES['item_swf']['tmp_name'] as $key=>$val) { list($width, $height) = getimagesize($_FILES['item_swf']['tmp_name'][$key]); if (( ($_FILES["item_swf"]["type"][$key] == "application/x-shockwave-flash") || ($_FILES["item_swf"]["type"][$key] == "video/SWF") ) && ($_FILES["item_swf"]["size"][$key] < 800000)) { if ($_FILES["item_swf"]["error"][$key] > 0) { echo "Error: " . $_FILES["item_swf"]["error"][$key] . "<br />"; } else if($width==1000 && $height==328) { if (file_exists('../../swf_folder/header_swf/' . $_FILES["item_swf"]["name"])) { echo $_FILES["item_swf"]["name"][$key] . " already exists. "; } else { move_uploaded_file($val, '../../swf_folder/header_swf/'.$_FILES['item_swf']['name'][$key]); echo "done"; } } else { echo "size doest permit"; } } else { echo "Not a valid swf file::"; } } ?>