win xp下php图片上传可以正常使用,但是linux下就上传不了图片
前端view<divclass="control-group"><labelclass="notBrtitleMarginLefttopBottomMargin">图<s...
前端view
<div class="control-group"> <label class="notBr titleMarginLeft topBottomMargin">图<span class="addStyle">增增</span>片:</label> <input type="text" readonly="readonly" name="file_name" id="file_name" class="threeInput browseMarginLeft"/> <input type="button" value="浏览.." onclick="upfile.click();" name="get_file" class="btn btn-success titleMarginLeft topBottomMargin"/> <input type="file" name="upfile" style="display:none" onchange="document.getElementById('file_name').value=this.value;c(this);"/>
</div>
后端controller:
$img = $_FILES["upfile"];
//图片处理部分 $destination_folder = "images/index/"; //上传图片路径 if(!file_exists($destination_folder)){ //如果路径不存在,就创建 mkdir($destination_folder); } $filename = $img["tmp_name"]; $image_size = getimagesize($filename); //图片大小数组 $pinfo=pathinfo($img["name"]); //图片名信息数组 $ftype=$pinfo['extension']; //图片后缀名 $destination = $destination_folder.time().".".$ftype; //图片完整路径
if (move_uploaded_file ($filename, $destination)) {echo "ok";}else{echo "no";}exit; //linux下就这个返回NO, $_FILES["upfile"];返回没有错误信息
$model->slide_img = $destination;
框架是用的yii
用yii的图片上传也是本地OK,服务器上无法上传图片 展开
<div class="control-group"> <label class="notBr titleMarginLeft topBottomMargin">图<span class="addStyle">增增</span>片:</label> <input type="text" readonly="readonly" name="file_name" id="file_name" class="threeInput browseMarginLeft"/> <input type="button" value="浏览.." onclick="upfile.click();" name="get_file" class="btn btn-success titleMarginLeft topBottomMargin"/> <input type="file" name="upfile" style="display:none" onchange="document.getElementById('file_name').value=this.value;c(this);"/>
</div>
后端controller:
$img = $_FILES["upfile"];
//图片处理部分 $destination_folder = "images/index/"; //上传图片路径 if(!file_exists($destination_folder)){ //如果路径不存在,就创建 mkdir($destination_folder); } $filename = $img["tmp_name"]; $image_size = getimagesize($filename); //图片大小数组 $pinfo=pathinfo($img["name"]); //图片名信息数组 $ftype=$pinfo['extension']; //图片后缀名 $destination = $destination_folder.time().".".$ftype; //图片完整路径
if (move_uploaded_file ($filename, $destination)) {echo "ok";}else{echo "no";}exit; //linux下就这个返回NO, $_FILES["upfile"];返回没有错误信息
$model->slide_img = $destination;
框架是用的yii
用yii的图片上传也是本地OK,服务器上无法上传图片 展开
展开全部
你这个应该是文件夹没有授权的原因。windows目录权限控制比较弱。linux服务器上,必须取得写权限。尤其是你的php执行用户,和目录创建用户可能不一致。考虑尝试以下代码:
mkdir($destination_folder);
chmod( $destination_folder, 0777 );
如果还不行,就需要对上一级目录也授权
可以通过:is_readable之类的函数来进行文件夹权限判断
mkdir($destination_folder);
chmod( $destination_folder, 0777 );
如果还不行,就需要对上一级目录也授权
可以通过:is_readable之类的函数来进行文件夹权限判断
追问
一样的 还是返回no,那个文件夹是服务器上已经有勒的,而且权限也是777。
追答
你确信那个images/index/是有的吗?另外,index这个目录也是0777吗?
你可以把那个$destination echo出来看看,随便,执行一下:
if(is_readable(dirname($destination))) echo('dir ok');
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询