Azure窗口服务器无法从php上传文件

时间:2016-03-01 12:54:30

标签: php azure

我在localhost和其他websever上测试一下就可以了。

但是当我在azure服务器上传时,它无法将文件上传到文件夹

这是我的代码

    if(isset($_FILES['pic'])){
      $errors= array();
      $file_name = $_FILES['pic']['name'];
      $file_size = $_FILES['pic']['size'];
      $file_tmp = $_FILES['pic']['tmp_name'];
      $file_type = $_FILES['pic']['type'];
      $file_ext=strtolower(end(explode('.',$_FILES['pic']['name'])));

      $expensions= array("jpeg","jpg","png");

      if(in_array($file_ext,$expensions)=== false){
         $errors[]="extension not allowed, please choose a JPEG or PNG file.";
      }

      if($file_size > 2097152) {
         $errors[]='File size must be excately 2 MB';
      }

      if(empty($errors)==true) {
         move_uploaded_file($file_tmp,"uploadimg/".$us_id.".jpg");
         echo "ican";

      }else{
         print_r($errors);
      }
   }

但它回应“ican”,我怀疑它是否允许?

2 个答案:

答案 0 :(得分:0)

Azure Web应用程序仅授予您写入根文件夹的权限。看起来你正在写一个" uploadimg"夹。

强烈建议您上传到Azure Blob Storage。

您可以在此处找到有关PHP的说明:

https://azure.microsoft.com/en-us/documentation/articles/storage-php-how-to-use-blobs/

答案 1 :(得分:0)

请仔细检查您是否在根目录中创建了名为uploadimg的文件夹。

默认情况下,Azure Web Apps不显示PHP错误,因此如果您的目录中没有uploadimg文件夹,PHP进程将引发Waring异常并且不会停止该过程,所以你可以看到“ican”,也没有图片。

您还可以添加句子:

error_reporting(E_ALL);
ini_set('display_errors', 'On');
在PHP脚本中

显示用于故障排除的异常消息。