【发布时间】:2018-06-22 16:51:34
【问题描述】:
我正在尝试构建 a question I asked yesterday。
我能够使用 ajax 方法将文件传递给 PHP。但我需要能够将文件名更改为预订号。由于某种原因,预订没有传递给 PHP 脚本。所以我尝试了以下方法:
$('#uploadBtn').on('click', function()
{
var form_data = new FormData();
form_data.append("file", document.getElementById('pdfFile').files[0]);
var booking = $('#bookingNum').val();
var partner = $('#partnerCode').val();
$.post('process/fileUpload.php', {booking:booking, partner:partner}, function(data)
{
// Wasn't sure if I needed anything here
console.log(data);
});
$.ajax({
url: 'process/fileUpload.php',
method:"POST",
data: form_data,
contentType: false,
cache: false,
processData: false,
success: function(data){console.log(data);},
error: function(jqHHR, textStatus, errorThrown){console.log('fail: ' + errorThrown);}
});
});
正如您将在上面注意到的,我必须使用 $.post 方法将预订和合作伙伴发送到 php 脚本。
然后我使用 $.ajax 将 form_data 发送到同一个脚本。
(根据我昨天提出的问题,我无法在一个动议中实现这一点。所以这是我第二次尝试完成这个。如果有办法在一个动议中发送所有信息,请参考我链接的问题上面。)
所以在 PHP 脚本中,我可以通过几个函数获得我需要的所有项目:
<?php
// from the $.post method
if(isset($_POST['booking']))
{
$booking = $_POST['booking'];
$partner = $_POST['partner'];
getInfo($booking);
}
// from the $.ajax method
if($_FILES['file'])
{
$file = var_dump($_FILES['file']);
getFile($file);
}
function getInfo($booking)
{
return $booking;
}
function getFile($file)
{
return $file;
}
?>
我知道它不漂亮,但我可以得到预订(我现在不需要合作伙伴),我也可以得到文件信息。
我需要做的是将文件重命名为预订,然后最后将其上传到必要的目录。
我不确定是否必须组合这些功能,但我确实尝试过,但没有成功。
话虽如此,我可以在 PHP 脚本中获取预订和文件信息。现在我将如何将文件重命名为预订?
【问题讨论】:
-
不要这样做 - 解决上一个问题的问题。通过发送两个请求来解决您的问题是完全错误的方式!
-
@Phillipp - 会的。我已经放弃了。
-
请注意,我们更喜欢这里的技术写作风格。我们轻轻地劝阻问候,希望你能帮助,谢谢,提前感谢,感谢信,问候,亲切的问候,签名,请你能帮助,聊天材料和缩写 txtspk,恳求,你多久了被卡住、投票建议、元评论等。只需解释您的问题,并展示您尝试过的内容、预期的内容以及实际发生的情况。
标签: php jquery function file-upload file-rename