Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/238.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/actionscript-3/7.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
PHP中的$#u文件[';文件';][&';类型';]不';当从Flash AS3上传文件时,此选项不起作用_Php_Actionscript 3_Flash - Fatal编程技术网

PHP中的$#u文件[';文件';][&';类型';]不';当从Flash AS3上传文件时,此选项不起作用

PHP中的$#u文件[';文件';][&';类型';]不';当从Flash AS3上传文件时,此选项不起作用,php,actionscript-3,flash,Php,Actionscript 3,Flash,我使用这段PHP代码将音频(mp3)文件从FlashAS3上传到服务器。当文件从html表单上传时,它工作,但当文件从AS3端上传时,它不工作。当我删除*$\u文件['Filedata']['type']=='audio/mpeg'*条件时,它也适用于AS3。我不知道是什么问题 <?php if($_FILES['Filedata']['size'] < 500000 && $_FILES['Filedata']['type']=='audio/mpeg'){

我使用这段PHP代码将音频(mp3)文件从FlashAS3上传到服务器。当文件从html表单上传时,它工作,但当文件从AS3端上传时,它不工作。当我删除*$\u文件['Filedata']['type']=='audio/mpeg'*条件时,它也适用于AS3。我不知道是什么问题

<?php
if($_FILES['Filedata']['size'] < 500000  &&  $_FILES['Filedata']['type']=='audio/mpeg'){

$uploads_dir = './upload/';
if( $_FILES['Filedata']['error'] == 0 ){
    if( move_uploaded_file( $_FILES['Filedata']['tmp_name'], 
 $uploads_dir.$_FILES['Filedata']['name'] ) ){
        echo 'ok';
        exit();
    }
}
echo 'error';
exit();

}else 
exit();
?>

是否使用html标准作为多部分/表单数据上载文件


如果没有,请参阅添加
echo$_文件['Filedata']['type']
echo$_文件['Filedata']['size']if
语句上方编码>并查看它的输出。第二个
echo
语句如何?61380。问题在于文件类型。为什么从html上载文件时它能正常工作,但从AS3上载文件时它不能正常工作。您应该删除此检查,因为键入
$\u FILES
数组是由客户端发送的,因此它不受信任。攻击者可以轻松发送类型为
audio/mpeg
的恶意php文件并接管您的服务器。您必须检查服务器端上传的文件,并确保它们以不可执行的形式存储。@dev-null-alliner。感谢您的帮助和建议。我说过从HTML上传时它可以正常工作。我需要从AS3上传。我的意思是你正在为AS3代码添加标题。尝试链接可能会有所帮助。