php - 图片上传可以在本地主机上工作,但不能在线
问题描述
我知道这个问题已经回答了很多次了,但我仍然无法上传图片..
图片上传在本地主机上工作正常,但在远程服务器(linux)上不起作用
我已经尝试过与此问题相关的解决方案。而且我还尝试更改 777 和 755 的权限,但仍然无法正常工作。
但它仍然不起作用。
谢谢你的帮助。
//==================== Insert Section ========================
$tablename='tbl_slider';
if(isset($_REQUEST['submit']) && $_REQUEST['submit']=='Submit')
{
$heading=$_REQUEST['heading'];
$content = $_REQUEST['content'];
$data = array(
'heading' => $heading,
'content' => $content
);
$lastid=$obj->insert($tablename,$data);
if($lastid>0)
{
$uploadpath='../upload/slider/';
$img=$obj->ImageUpload('image',$uploadpath,'img-');
if(!empty($img))
{
$data['image']=$img['name'];
$result=$obj->update($tablename,$data,"id='".$lastid."'");
@unlink($uploadpath.$previous_pic);
}
$msg='<div class="alert alert-success alert-dismissable">
<button aria-hidden="true" data-dismiss="alert" class="close" type="button">×</button>
<strong> <i class="icon fa fa-check"></i>Success!</strong>
Product Added Successfully..!
</div>';
}
else
{
$msg='<div class="alert alert-danger alert-dismissable">
<button aria-hidden="true" data-dismiss="alert" class="close" type="button">×</button>
<strong> <i class="icon fa fa-check"></i>Warning!</strong>
An Unexpected Error.
</div>';
}
}
//============= Function For Image Uploading ==============
function ImageUpload($fieldname,$uploadpath,$pfx)
{
if(count($_FILES[$fieldname]['name'])>0)
{
if (!mkdir($uploadpath))
{
mkdir($uploadpath,077,true);
}
$targetpath = $uploadpath;
$ext=$_FILES[$fieldname]['name'];
$ext=explode(".",$ext);
if($ext[1]=="jpg" || $ext[1]=="jpeg" || $ext[1]=="png" || $ext[1]=="PNG" || $ext[1]=="JPEG" || $ext[1]=="JPG")
{
if($_FILES[$fieldname]['size'] <= 2000000) // 2MB
{
$filename=$targetpath.$pfx.time().".".$ext[1];
$name=end(explode('/',$filename));
if(move_uploaded_file($_FILES[$fieldname]['tmp_name'],$filename))
{
return array('source'=>$filename,'name'=>$name);
}
}
}
else
{
//echo "Please Choose Image Format";
}
}
}
//=============== Insert Into Datebase==========================
public function insert($table=null,$array_of_values=array())
{
if ($table===null || empty($array_of_values) || !is_array($array_of_values)) return false;
$fields=array(); $values=array();
foreach ($array_of_values as $id => $value) {
$fields[]=$id;
if (is_array($value) && !empty($value[0])) $values[]=$value[0];
else $values[]="'".$value."'";
}
$s = "INSERT INTO $table (".implode(',',$fields).') VALUES ('.implode(',',$values).')';
if ($this->con->query($s)) return $this->con->lastInsertId();
return false;
}
解决方案
存在目录权限问题。
give permission to the upload folder
推荐阅读
- c# - WPF - 控件的定位
- html - 在 jquery 中使用 css 边距为 div 左右设置动画
- node.js - 如何从 Node JS 应用程序更新 Cosmos DB 项目
- excel - 当前行的Excel公式
- word-wrap - Vega-lite:轴中标签的换行或自动换行
- google-bigquery - bigquery中两行之间的区别
- python - 使用 Python 从 .txt 文件中的一行获取值
- vb.net - VB .net 使用 Async 和 Await 与 while 真正的循环锁定 UI
- javascript - 在淘汰赛中将 JSON 数据转换为 Javascript 数组
- sql-server - SQLAlchemy 错误:系统版本化表上的数据修改失败