暂停PHP,直到javascript事件/函数完成


pause PHP untill event/function with javascript is complete

下面是我的代码:

<script type="text/javascript">
function SaveToDisk(fileUrl, fileName) {
    var hyperlink = document.createElement('a');
    hyperlink.href = fileUrl;
    hyperlink.target = '_blank';
    hyperlink.download = fileName || fileUrl;
    var mouseEvent = new MouseEvent('click', {
        view: window,
        bubbles: true,
        cancelable: true
    });
    hyperlink.dispatchEvent(mouseEvent);
    (window.URL || window.webkitURL).revokeObjectURL(hyperlink.href);
}
</script>
</head>
<body>
<?php
$newtarget = "0C004B290BF2D95F";
$filename = 'C:/Users/FOO/Downloads/'.$newtarget.'.txt';
if (file_exists($filename)) {
    unlink($filename);
} 
?>
<script type="text/javascript">
    SaveToDisk('http://www.ticketmaster.com/json/resale?command=get_resale_listings&event_id=<?php print $newtarget; ?>','<?php print $newtarget; ?>.txt')
</script>
<?php
$newlink = file_get_contents('C:''Users''FOO''Downloads'''.$newtarget.'.txt');

当文件被删除时,file_get_contents php函数在SavetoDisk重写磁盘上的文件之前运行。

"打开流失败:没有这样的文件或目录"。

当我不删除文件时,它工作。我试图在javascript函数调用后插入sleep(10),但仍然得到了错误,莫名其妙地文件在10秒后写入…对此有什么建议吗?

PHP是由服务器处理的,而Javascript是由用户的浏览器处理的,因此无论你在同一个. PHP文档中如何排序函数,Javascript总是在PHP处理完之后运行。

如果您需要在Javascript执行后运行PHP,请查看jQuery的post函数以从Javascript调用PHP文件。我强烈建议你看看一些在线学习工具,比如codecademy,以更好地掌握PHP/JS。

你不能那样做。PHP在服务器上执行,JavaScript在客户端(web浏览器)上执行。

右键单击您的web浏览器,并选择查看源检查内容。你不会在那里看到你的PHP。