我在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”,我怀疑它是否允许?
答案 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脚本中显示用于故障排除的异常消息。