你可以在php上传文件之前运行一些脚本吗?例如,我正在POST上传到upload.php,在那个文件中我想先检查他们的$ _SESSION,然后再开始浪费带宽并将文件统计信息上传到我的服务器。我在nginx上使用php 5.2.11。
<?php
if ($_SESSION['admin'] == 'YES') {
// do upload here
} else {
exit;
}
?>
答案 0 :(得分:2)
没有。在文件上传之前,请求才会进入PHP引擎。
答案 1 :(得分:1)
不,因为上传是请求的一部分,并且在PHP发挥作用之前完成。
使用基于PHP- / Perl的上传者的技术可能可以解决这个问题,这些上传者会以某种方式挂钩上传过程,但是,也可能没有。特别是当您使用其他Web服务器时。
我会对正确的会话进行基于Ajax的快速检查,并将其绑定到要上传文件的表单的submit
事件。它可能需要半秒钟,但对用户来说完全不显眼。
答案 2 :(得分:0)
您可以在提交表单的页面上进行ajax调用,以便在允许表单提交之前检查其会话状态。