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