ホームページ >バックエンド開発 >PHPチュートリアル >phpでファイルのアップロード中にエラーが発生しました。解決してください。

phpでファイルのアップロード中にエラーが発生しました。解決してください。

WBOY
WBOYオリジナル
2016-06-23 13:57:191111ブラウズ

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>


ディスカッションに返信 (解決策)

ヘルプ! ! ! ! !

そのディレクトリは存在しますか?エラープロンプト機能をオンにして確認してください。

そのディレクトリは存在しますか?エラープロンプト機能をオンにして確認してください。

ディレクトリは存在します。はい、窓の下です。エラー プロンプト機能をオンにする方法、ありがとうございます

これは Linux の権限の問題であるはずです。アップロードしたいディレクトリの親ディレクトリの権限を 777 に設定してみてください。コマンド chmod -R 777 をフォルダ パスに設定してください

Linux 権限である必要があります。問題は、アップロードしたいディレクトリの親ディレクトリ権限を 777 に設定してみてください。コマンド chmod -R 777 です。フォルダー パス

権限はすべて OK です

php.ini でコマンド display_errors=On を指定し、サーバーを再起動します。

php.ini で display_errors=On をコマンドし、サーバーを再起動します。

すべてのプロンプトにエラーはありません

ファイルは修正されましたか? echo ini_get('display_errors'); 値が何であるかを確認します。

php.ini で display_errors=On をコマンドし、サーバーを再起動します。

警告: move_uploaded_file(../../img/slider/1399728610.jpg): ストリームを開けませんでした: /alidata/www/www.7yuan.net/admin/fuction/up_img.php の 106 行目で許可が拒否されました

警告: move_uploaded_file(): '/tmp/phpZ55hws' を /alidata/www/www.7yuan.net/admin/fuction/up_img の '../../img/slider/1399728610.jpg' に移動できません。 php の 106 行目
これら 2 つの警告がよくわかりません。教えてください。
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。