我使用Uploadify作为表单的一部分。让我给你一些背景,这可能会有所帮助。我有一个表单,用户可以将“项目”添加到网站。首先他们输入项目名称和描述。在提交时,这会更新一个名为“project”的PHP/MySQL数据库表并给出一个ID。Uploadify JQuery和PHP/MySQL - 更改上传文件名
用户可以将文件上传到服务器上的某个位置。我希望将项目名称添加到上传文件名的起始位置,并在上载开始前添加项目ID(我需要添加到数据库),然后上载完成时将文件详细信息添加到数据库表“image” - 通过项目ID链接到“项目”。
我知道我有点反弹,我需要知道如何做到这一点。两个数据库表要更新,一个用于表单提交,一个用于文件上传。我需要将项目名称和ID传递给uploadify上传脚本。
SOLUTION:
我不得不使用uploadify方法下的项目ID发送到uploadify脚本,此前充满变数pid
与mysql_insert_id
结果:
'onSelectOnce': function(event,data) {
$('#file_upload').uploadifySettings('scriptData', {'pid': pid});
}
然后我可以使用一个简单的帖子在PHP uploadify脚本中接收pid变量:
$pid = $_POST['pid'];
就在那时运行选择此脚本中获得我所需要的数据库(项目别名)的数据,并上传前将其添加到文件名的问题:
$targetPath = $_SERVER['DOCUMENT_ROOT'] . $_REQUEST['folder'] . '/' . $alias . '-';
$targetFile = str_replace('//','/',$targetPath) . $_FILES['Filedata']['name'];
希望这将有助于在人未来。
永远不要插入`$ _POST`领域中那样的查询。你刚刚创建了一个SQL注入漏洞。在所有输入上更好地使用`mysql_real_escape_string`,或者使用将值“绑定”到SQL字符串的现有数据库API。 – vdboor 2011-01-14 10:38:46
这是一个如何去做的例子,我敢肯定他知道他应该在更新到数据库之前清理他的数据= P – Eli 2011-01-14 10:54:10
没关系,我不打算离开我的网站公开攻击,这是原则我需要的代码设置,单个语法很好:) – 2011-01-14 15:51:45