Rumah  >  Artikel  >  pembangunan bahagian belakang  >  请问php上传文件出错 求解!

请问php上传文件出错 求解!

WBOY
WBOYasal
2016-06-23 13:57:191064semak imbas

在windows下正常 但是linux 就提示移动文件失败 求救啊!
代码如下

<?phpinclude "../connss.php";include "../checkA.php";?><html><head><script language="javascript">function check(){	if(upform.filesname.value==""){		alert("名称不能为空!");upform.filesname.focus();return false;	}}</script><style type="text/css">  body{font-size: 9pt;}  input{background-color: #66CCFF;border: 1px inset #CCCCCC;}  </style>  </head><body><p> </p><center><form enctype="multipart/form-data" method="post" name="upform">  轮播管理    :      <table width="616" border="1">    <tr>      <td width="54">标题:</td>      <td width="269"><input name="title" id="title" type="text" size="30"></td>      <td width="67">轮播序号</td>      <td width="198"><select name="id"id="id" onChange="showfont(this.options[this.selectedIndex].value)">                              <option value="1" selected>1</option>                              <option value="2">2</option>                              <option value="3">3</option>                            </select></td>    </tr>    <tr>      <td>链接:</td>      <td height="24" colspan="3"><input name="linke" id="linke" type="text" size="50" value="#"></td>    </tr>    <tr>      <td> </td>      <td colspan="3"><input name="upfile" type="file">      <input name="submit" type="submit" value="上传" onClick="return check();"></td>    </tr>  </table></form></body></center><?php  $uptypes=array(      'image/jpg',      'image/jpeg',      'image/png',      'image/pjpeg',      'image/gif',      'image/bmp',      'image/x-png',);  $max_file_size=2000000;$destination_folder="../../img/slider/";$filesname=$_POST[title];$id=$_POST[id];$link=$_POST[linke];if ($_SERVER['REQUEST_METHOD'] == 'POST')  {      if (!is_uploaded_file($_FILES["upfile"][tmp_name]))      //是否存在文件      {           echo "图片不存在!";           exit;      }          $file = $_FILES["upfile"];      if($max_file_size < $file["size"])      //检查文件大小      {          echo "文件太大!";          exit;      }        if(!in_array($file["type"], $uptypes))      //检查文件类型      {          echo "文件类型不符!".$file["type"];          exit;      }        if(!file_exists($destination_folder))      {          mkdir($destination_folder);      }        $filename=$file["tmp_name"];      $image_size = getimagesize($filename);      $pinfo=pathinfo($file["name"]);      $ftype=$pinfo['extension'];      $destination = $destination_folder.time().".".$ftype;      if (file_exists($destination) && $overwrite != true)      {          echo "同名文件已经存在了";          exit;      }        if(!move_uploaded_file ($filename, $destination))      {          echo "移动文件出错";          exit;      }        $pinfo=pathinfo($destination);      $fname=$pinfo[basename];  	$sql=mysql_query("update slider set pic='/img/slider/$fname',title='$filesname',link='$link' where id='$id'");	echo "<script language='javascript'>alert(' 轮播上传成功!');location='up_img.php';</script>";  }?>  </body></html>


回复讨论(解决方案)

救命啊!!!!!

那个目录存在吗? 打开错误提示功能看看。

那个目录存在吗? 打开错误提示功能看看。

目录存在。windows下可以。如何打开错误提示功能,谢谢

应该是linux权限问题吧 ,你把要上传到的目录的父目录权限该为777试试,命令 chmod -R 777 你的文件夹路径

应该是linux权限问题吧 ,你把要上传到的目录的父目录权限该为777试试,命令 chmod -R 777 你的文件夹路径

权限没问题 我都试过了 

php.ini 中令 display_errors=On , 然后重启下服务器。

php.ini 中令 display_errors=On , 然后重启下服务器。

都是提示 没有错误

改对了文件没有。echo ini_get('display_errors'); 看看是什么值。

php.ini 中令 display_errors=On , 然后重启下服务器。

Warning: move_uploaded_file(../../img/slider/1399728610.jpg): failed to open stream: Permission denied in /alidata/www/www.7yuan.net/admin/fuction/up_img.php on line 106

Warning: move_uploaded_file(): Unable to move '/tmp/phpZ55hws' to '../../img/slider/1399728610.jpg' in /alidata/www/www.7yuan.net/admin/fuction/up_img.php on line 106
这样两处警告 不太懂 求赐教
Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn