Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/317.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
C# 在PHP根目录外访问JSON文件_C#_Php_Json - Fatal编程技术网

C# 在PHP根目录外访问JSON文件

C# 在PHP根目录外访问JSON文件,c#,php,json,C#,Php,Json,我有一个正在创建JSON文件的应用程序和一个使用该JSON文件更新数据库的PHP页面。现在,我希望应用程序和PHP页面在两台不同的机器上运行。所以,我在机器1上运行了应用程序,从应用程序创建的JSON文件存储在“Public”目录中,该目录位于PHP文件根目录之外。 我如何确保PHP能够访问这个文件,或者更确切地说,我可以在哪里以及如何存储JSON文件,以便PHP可以使用它 来自C#的JSON结构: 如果将“JSON_superproject.JSON”保存到例如K:\Public\ABC中,我

我有一个正在创建JSON文件的应用程序和一个使用该JSON文件更新数据库的PHP页面。现在,我希望应用程序和PHP页面在两台不同的机器上运行。所以,我在机器1上运行了应用程序,从应用程序创建的JSON文件存储在“Public”目录中,该目录位于PHP文件根目录之外。 我如何确保PHP能够访问这个文件,或者更确切地说,我可以在哪里以及如何存储JSON文件,以便PHP可以使用它

来自C#的JSON结构:

如果将“JSON_superproject.JSON”保存到例如K:\Public\ABC中,我尝试像这样使用它:
file_get_contents@(“K:\Public\ABC\JSON_superproject.JSON”)它不工作。
它给出了一个错误,即位于K:\Public\ABC\JSON\u superproject.JSON的文件不在根目录中

我该如何解决这个问题? 有什么想法吗

谢谢,,
Revathy

我认为您至少有以下选择:

  • 在树中创建一个PHP脚本可以访问的目录,并与第一台机器共享它,更新第一个应用程序以将文件放在那里
  • 创建一个任务调度程序作业,定期将文件从Public复制到PHP脚本可以访问的树中的某个位置
  • 使用HTTP-POST-to-PHP脚本将文件推送到第二台计算机,该脚本只保存文件以供进一步处理,或者直接处理它
  • 使文件可以通过web访问(即启动一个新的web服务器实例,其根目录是包含该文件的目录),并通过http/https访问该文件。文件是从第一台服务器还是从第二台服务器提供并不重要
  • 退出PHP的安全功能,该功能拒绝访问PHP根目录以外的文件(请参阅)。基本上,这个选项不是一个好的选择
    尝试将同一个目录放在站点所在的位置。但该目录无法从运行应用程序的第二台计算机访问。文件\u get\u内容在服务器端而不是客户端执行。如果您将该文件存储在其他地方,则无法访问。我明白了。但是,在PHP中,有没有其他方法可以访问PHP根以外的文件?不同的函数,除了file_get_contents?我不确定您是否想要,但如果您想将json文件数据读取到php应用程序中。大多数情况下,先将文件上传到该服务器,然后再处理该文件。很好,感谢您提供了不同的选项。我要试试这些。。!!°-°我刚刚添加了一个新选项(3)。这太棒了。非常感谢你的想法。我正在尝试使用REST将JSON数据直接推送到MYSQL中!!所有这些东西都是压倒性的--__--
    public class User_Group
    {
        public int ID_UserGroup { get; set; }
        public string Name_UserGroup { get; set; }
        public int UserID { get; set; }
    }
    public class User_Role
    {
        public int ID_User { get; set; }
        public string Role_User { get; set; }
        public string User_Role_Description { get; set; }
        public List<User_Group> UserGroup { get; set; }
    }
    
    public class Stand_Orte
    {
        public int ID { get; set; }
        public string Bezeichnung { get; set; }
        public List<Modul> modul { get; set; }
    }
    
    public class Modul
    {
        public string ID { get; set; }
        public string Seriennummer { get; set; }
        public string Bezeichnung { get; set; }
        public string StandortID { get; set; }
        public List<Mess_Kanal> MessKanal { get; set; }
    }
    
    public class Mess_Kanal
    {
        public string ID { get; set; }
        public string ModulID { get; set; }
        public List<LogMess_Daten> LogMessDaten { get; set; }
    }
    
    public class LogMess_Daten
    {
        public string KanalID { get; set; }
        public string Zeitstempel { get; set; }
    
    }
    
    
    public class RootObject
    {
        public int ID_Project { get; set; }
        public string Name_Project { get; set; }
        public int Receiver_ID { get; set; }
        public string Receiver_Name { get; set; }
        public int UserID { get; set; }
        public User_Role UserRole { get; set; }
        public Stand_Orte Standorte { get; set; }
    }
    
    $jsonData = file_get_contents("JSON_superproject.json");
    $phpArray = json_decode($jsonData);