2016-03-02 42 views
2

我使用此代码如何上传文件到蔚蓝的wwwroot文件夹

move_uploaded_file($file_tmp,$us_id.".jpg");

但运行之后,该脚本难道不是错误,但文件不会出现到文件夹中,该怎么做呢?

这些之前,我在localhost测试它的工作。

+0

确保该文件夹可供Web用户使用? – Epodax

+0

我该如何检查 –

+0

不知道,从来没有玩过蔚蓝之前 – Epodax

回答

0

编辑基于@大卫的意见,并捻的Azure runtime environment

在云环境中,将文件保存到您的网站的当前的文件系统,不建议应用。如果您只是通过FTP上传您的站点,则可能没有问题,但如果您依赖于Continuous Integration或自动部署方案,则站点文件夹可能会更改或者内容被覆盖。

这就是为什么要存储未来需要加载的文件或者需要被保存的文件,您可能需要使用类似的Azure Blob存储。不仅非常便宜,而且可以通过CDN来改善文件传输。

以下是如何对use it on PHPAzure SDK for PHP

+0

这不回答OP问的问题:您建议使用blob而不是Web应用程序存储,以提高耐用性。网络应用程序有自己的存储在网络共享上,在所有正在运行的实例之间共享,并且耐用(我不是指本地临时存储)。除非您完全删除您的网络应用程序,否则您的存储空间不会到达任何地方。 'd:\ home \ site'下的所有内容都位于此持久共享上,而不在本地暂存磁盘上。 –

+0

这是不正确的。如果容器出现故障并且新副本占用它的位置,或者扩大/缩小,则无法共享持久性共享,因此无法依靠上传进行上传。 OP询问为什么上传的文件没有出现在文件夹中,假设上传的PHP代码是正确的(没有完整代码的证据),我正在以云模式解释,不建议依赖文件系统,因为提供请求的服务器可能与处理上载的服务器不同,即使他的代码可能正确,该文件也不能存在。 –

+1

对于Azure Web Apps(以前称为Web站点),事实上的确如此。 –

0

您尚未指定$file_tmp包含的内容,但是...在Azure Web App中,根文件夹位于d:\home\site\wwwroot。你会发现%HOME%环境变量设置为d:\home

0

正如我利用自己在Azure window sever can't upload file from php代码在我的测试项目,它完美的作品在我身边,连我自己都不珍惜在代码中$us_id,画面依然更新到uploadimg文件夹名称.jpg

我怀疑你的Web Apps的磁盘空间是否已经达到了你的App Service计划的限制。

由于每个App Service定价层具有有限的磁盘空间,并将在此App Service计划中的所有Web应用程序中共享。您可以在Web应用程序门户的仪表板页面上查看度量标准,例如 enter image description here

有关详细信息,请参阅https://azure.microsoft.com/en-us/pricing/details/app-service/

相关问题