Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/291.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 上传文件时如何获得通知?_Php_Notifications - Fatal编程技术网

Php 上传文件时如何获得通知?

Php 上传文件时如何获得通知?,php,notifications,Php,Notifications,我正在构建一个php应用程序。这是一个用户可以交换文件的平台 我首先让用户使用php将文件上载到本地服务器上的指定目录,现在我想知道如何在新文件上载到他们的目录时通知每个人 下面是我用于此目的的简单表单和php代码 <?php if(isset($_POST['submit'])){ $name = $_FILES['file']['name']; $temp_name = $_FILES['file']['tmp_name'];

我正在构建一个php应用程序。这是一个用户可以交换文件的平台

我首先让用户使用php将文件上载到本地服务器上的指定目录,现在我想知道如何在新文件上载到他们的目录时通知每个人

下面是我用于此目的的简单表单和php代码

<?php 
    if(isset($_POST['submit'])){
        $name       = $_FILES['file']['name'];  
        $temp_name  = $_FILES['file']['tmp_name'];  
        if(isset($name)){
            if(!empty($name)){      
                $location = 'soumissions/';      
                if(move_uploaded_file($temp_name, $location.$name)){
                    echo 'uploaded';
                }
            }       
        }else {
            echo 'please uploaded';
        }
    }
?>
<html>
<head>
</head>
<body>
    <form action="upload.php" method="post" enctype="multipart/form-data">
        <input type="file" name="file" id="file"><br><br>
        <input type="submit" value="submit" name="submit">
    </form>
</body>
</html>




您的代码只将所有文件上载到一个文件夹中,但根据您的问题,我假设每个用户都应该有自己的文件夹,并且每个用户都可以将文件上载到其他人的文件夹中。 如果我没有弄错,那么您的代码应该有以下更改: http:

同样对于HTML,您可能应该只让用户从现有文件夹中进行选择,而不让他们上传到任何他们想要的文件夹中。因此,一些文件夹列表,而不是文本输入。 最好的方法是获取所有用户名的mysql结果,制作与之对应的文件夹,并将这些文件夹列表生成到原始表单中的下拉菜单中

简历:

  • 用户将拥有自己的文件夹
  • 每个用户都可以上传到 任何人的文件夹,当他上传到其他人的文件夹时,它将 发送消息

您可以使用cronjob发送通知,并将这些通知存储在数据库中,这样您就不会发送两次相同的通知。您可以使用
is\u uploaded\u file()
函数告诉我们,您是发布问题、得到有效答案然后一言不发的人之一,或者接受回答;是的,我知道你的类型。我只是投票赞成一个答案,我希望这会帮助你,让你开心@Fred-ii-我在你的另一个问题下发表了评论,没有回应,所以我删除了它。我们不是你的贴身仆人,也不是在等你的门卫。我们有比等待更好的事情要做。好事情是另一个人知道如何
@
别人;我在他们的问题(度假?)下发表评论4天后收到了回复。我的标签打开的时间不会超过10分钟。英雄联盟
<form action="upload.php" method="post" enctype="multipart/form-data">
<input type="file" name="file" id="file"><br>
<input type="text" name="foldername" id="foldername"><br>
<input type="submit" value="submit" name="submit">
</form>
<?php 
    if(isset($_POST['file'])){
        $name       = $_FILES['file']['name'];  
        $temp_name  = $_FILES['file']['tmp_name'];
        if (isset ($_POST['foldername'])) 
          { $foldername = strip_tags($_POST['foldername']);}
        else
          { $foldername = $_SESSION['user_name']; } /* Make the uploader's folder as default, normally are sessions used to login, so I used it in my example */
        if(isset($name)){
            if(!empty($name)){      
                $location = 'soumissions/' . $foldername . '/';      
                if(move_uploaded_file($temp_name, $location.$name)){
                    echo 'uploaded';
                    send_message($foldername); /* Call function to message the folder owner where the file was uploaded */
                }
            }       
        }else {
            echo 'please uploaded';
        }
    }
?>
function send_message ($user)
{ if ( $_SESSION['user_name'] != $user) //to just send messages to other users
  {  /* do whatever you want here, you can send e-mail or anything else. As parameter of recipient, use the name of folder that it was uploaded to, assuming it is named same as some user's credentials, for example usernames*/}
}