uploadify php使用,php-无法使用uploadify上传文件

本文探讨了在PHP中使用Uploadify遇到上传失败问题的原因,涉及HTML表单设置、文件大小限制、服务器权限及SQL注入防范。作者提供了代码审查和解决方案,强调了正确的表单结构、文件权限设置以及安全编码实践的重要性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

我有上载的问题.

在客户端上,它的工作非常好

(按钮,进度等所有功能和文件都可以上传到客户端)

但是在托管服务器上,该文件无法上传.

在服务器上,另一个(按钮,进度,要上传的脚本)正在工作,

只有我要上传的文件无法上传.

否则,我有一些要插入数据库的过程(文件的路径),我将插入sql查询放在脚本上以进行上载过程,该查询有效,但无法上载文件

我的脚本(upload_file.php):

$file_id = $_POST['file_id'];

if (!empty($_FILES))

{

$tempFile = $_FILES['Filedata']['tmp_name'];

$targetPath = $_SERVER['DOCUMENT_ROOT'] . $_REQUEST['folder'] . '/';

$targetFile = str_replace('//','/',$targetPath) . $_FILES['Filedata']['name'];

$destinationFile = "files/". $_FILES['Filedata']['name'];

move_uploaded_file($tempFile,$targetFile);

//additional - query to insert the path

include("database_connection.php");

$query = "insert into file (file_id,path) values ('$file_id','$destinationFile')";

$result = mysql_query($query);

mysql_close();

} ?>

和javascript:

$('#file').uploadify

({

'uploader' : '/myweb/shockwaves/uploadify.swf',

'script' : '/myweb/process/upload_file.php',

'cancelImg' : '/myweb/images/uploadify/cancel.png',

'folder' : '/myweb/files',

'auto' : true,

'buttonText' : 'Upload',

'scriptData' : {'file_id':'001'}

});

谢谢 :)

解决方法:

我们需要更多信息,但是想到的可能性是:

>您的表单HTML不正确.

>文件太大.

>文件名太长.

>服务器上的文件写入权限问题.

确保您的HTML表单具有“ enctype”

确保页面上的HTML表单具有enctype =“ multipart / form-data”,例如

诊断PHP错误/文件写入错误

如果是文件/权限问题,则可能会发现PHP错误,因此请尝试在页面上启用错误报告,如下所示:

error_reporting(E_ALL);

ini_set("display_errors", 1);

?>

将file_id更改为自动生成

您还应该更改数据库,以便它生成您的file_id(即自动递增的主键/标识),而不是传入一个.如果您没有自动生成数据库,则存在重复file_id条目的风险(或失败的查询(如果file_id列应为主键).

大概您实际上也没有使用’scriptData’:{‘file_id’:’001’},因为这意味着您将为每个记录插入001的file_id.但是,即使是这种客户端大小的生成,也冒着以下风险:a)人们选择自己的file_id并破坏您的数据,b)禁用JS时发生错误(uploadify无效,但文件可能仍然有效),并且c)复制file_id生成.

您的样本容易受到SQL注入的攻击

您当前的示例特别容易受到SQL注入的攻击,因为您没有转义参数.您可能会认为这是“哦,没关系,它是一个内部应用程序,因此没有安全风险”,但即使是偶然的SQL注入也会引起问题.如果这是一个面向公众的网站,那么您刚刚公开了数据库.我将假定这是一个简化的示例,但是即使这样,也不建议发布未转义的SQL(至少没有评论),因为这只会导致其他经验不足的开发人员将其复制/粘贴到某个地方的应用程序中.

标签:uploadify,php,jquery

来源: https://codeday.me/bug/20191208/2091603.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值