gpt4 book ai didi

javascript - 使用 jquery ajax 和 php 将文件发送到客户端

转载 作者:行者123 更新时间:2023-11-30 06:52:56 25 4
gpt4 key购买 nike

我正在尝试通过 jQuery、AJAX 和 PHP 将文件发送到客户端。我正在使用 jQuery v1.11.2 和 xampp v3.2.1,

这是我的 jQuery 代码:

<script>
$(document).ready(function(){
$("#myBtn").click(function(){
$.ajax({ // post file name
type: "POST",
data: {
file: "testfile.xlsx"
},
url: "sendfile.php",
context: $("#result"),
success: function(data, status, xhr){
$(this).html(data);
}
});
});
});
</script>

发送文件.php:

<?php

FUNCTION send_file($name) { // function ... send file to client
OB_END_CLEAN();
$path = $name;

//cek connection if lost connection with client
IF (!IS_FILE($path) or CONNECTION_STATUS()!=0) RETURN(FALSE);
//header
//-------------------------------------------------------------
HEADER("Cache-Control: no-store, no-cache, must-revalidate");
HEADER("Cache-Control: post-check=0, pre-check=0", FALSE);
HEADER("Pragma: no-cache");
HEADER("Expires: ".GMDATE("D, d M Y H:i:s", MKTIME(DATE("H")+2, DATE("i"), DATE("s"), DATE("m"), DATE("d"), DATE("Y")))." GMT");

//set last modified property
HEADER("Last-Modified: ".GMDATE("D, d M Y H:i:s")." GMT");
HEADER("Content-Type: application/octet-stream");
HEADER("Content-Length: ".(string)(FILESIZE($path)));
HEADER("Content-Disposition: inline; filename=$name"); // file
HEADER("Content-Transfer-Encoding: binary\n");
//-----------------------------------------------------------------
IF ($file = FOPEN($path, 'rb')) { // send file
WHILE(!FEOF($file) and (CONNECTION_STATUS()==0)) {
PRINT(FREAD($file, 1024*8));
FLUSH();
}
FCLOSE($file);
}
RETURN((CONNECTION_STATUS()==0) and !CONNECTION_ABORTED());
}

// send file
if(!send_file($_POST['file'])){
echo "error.";
}

当我按下按钮时,没有收到任何文件,而是 #result 中的随机句子

如果我直接在 PHP 中使用函数就可以正常工作

send_file("testfile.xlsx");

有没有更有效的方法?

最佳答案

如果您正在寻找另一种类似的方法,尝试免费且简单地使用“uploadify”--> http://www.uploadify.com/demos/

关于javascript - 使用 jquery ajax 和 php 将文件发送到客户端,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30182553/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com