首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >文件上传失败php

问文件上传失败php
EN

Stack Overflow用户
提问于 2016-11-01 07:24:29
回答 4查看 57关注 0票数 1

它不停地说faI诱惑,我失去了理智,我尝试了每一个修复和谷歌搜索,我可以想到形式上的名字是file

这是我的剧本,很抱歉我把这个写在我的手机上。

代码语言:javascript
复制
        <?
         if(isset ($_POST ['submit'])){
         $name = $_POST ['name'];
         $pub = $_POST ['author'];
         $price = $_POST ['price'];
         $size = $_POST ['size'];
         $icon = $_POST ['icon'];

           $fname = str_replace (" ", "", $name);
           $make = mkdir  ("/membri/deathcrow/0android/appmarket/appmarket/downloads/$fname");
           $dir = "/membri/deathcrow/0android/appmarket/appmarket/downloads/$fname";
           $source = "/membri/deathcrow/0android/appmarket/appmarket/downloads/$fname/$fname.apk";
          $file = $_FILES ["file"]["tmp_name"];
          $filen = $_FILES ["file"]["name"];
                   if(move_uploaded_file($file,"/membri/deathcrow/0android/appmarket/appmarket/downloads/ ". $fname . $filen)){
        /*$sql = "INSERT INTO appmarketapps SET name='$name', publisher='$pub', price='$price', picture='$icon', src='$source'";
             $query = mysql_query ($sql); */
             echo "<script>alert ('Success'); </script>";
              }else {
        echo "<script>alert ('Failure'); </script>";
              }
            }
            ?>

这里是相关的html。

代码语言:javascript
复制
        <!-- form start -->
        <form method='post' role="form">
          <div class="box-body">
          <div class="form-group">
              <label for="appname">Name:</label>
              <input type="text" name='name' class="form-control" id="appname" placeholder="Enter App Name">
            </div>
            <div class="form-group">
              <label for="publisher">Publisher:</label>
              <input type="text" name='author' class="form-control" id="publisher" placeholder="App Publisher">
            </div>
            <div class="form-group">
              <label for="publisher">Price:</label>
              <input type="text" name='price' class="form-control" id="publisher" placeholder="App Price">
            </div>
            <div class="form-group">
              <label for="size">Size:</label>
              <input type="text" name='size' class="form-control" id="size" placeholder="Size (KB, MB, GB)">
            </div>
            <div class="form-group">
              <label for="icon">Icon:</label>
              <textarea name='icon' rows="5" cols="80" class="form-control" id="icon" placeholder="Icon..."></textarea>
            </div>
            <!-- select -->
            <div class="form-group">
              <label>Select Category:</label>
              <select class="form-control" name='catagory'>
                <option>Games</option>
                <option>Utilities</option>
                <option>Applications</option>
                <option>System</option>
                <option>Other/Uncategorized</option>
              </select>
            </div>
            <div class="form-group">
              <label for="fileupload">File upload</label>
              <input type="file" name='file' id="fileupload">

              <p class="help-block">Upload Application</p>
            </div>
            <div class="checkbox">
              <label>
                <input type="checkbox"> Is this an update?
            <p class="help-block">Only check this box if the file being uploaded is an update. (i.e. v0.2.1 --> v0.2.2)</p>
              </label>
            </div>
          </div>
          <!-- /.box-body -->

          <div class="box-footer">
            <button type="submit" name='submit' class="btn btn-primary">Submit</button>
            <button type="reset" class="btn btn-danger">Reset</button>
          </div>
        </form>
      </div>
      <!-- /.box -->
EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2016-11-01 07:48:52

上传文件时,需要将enctype设置为multipart/form-data,如下所示:

代码语言:javascript
复制
   <!-- form start -->
    <form method='post' role="form" enctype="multipart/form-data"> 
      <div class="box-body">
      <div class="form-group">
          <label for="appname">Name:</label>
          <input type="text" name='name' class="form-control" id="appname" placeholder="Enter App Name">
        </div>
        <div class="form-group">
          <label for="publisher">Publisher:</label>
          <input type="text" name='author' class="form-control" id="publisher" placeholder="App Publisher">
        </div>
        <div class="form-group">
          <label for="publisher">Price:</label>
          <input type="text" name='price' class="form-control" id="publisher" placeholder="App Price">
        </div>
        <div class="form-group">
          <label for="size">Size:</label>
          <input type="text" name='size' class="form-control" id="size" placeholder="Size (KB, MB, GB)">
        </div>
        <div class="form-group">
          <label for="icon">Icon:</label>
          <textarea name='icon' rows="5" cols="80" class="form-control" id="icon" placeholder="Icon..."></textarea>
        </div>
        <!-- select -->
        <div class="form-group">
          <label>Select Category:</label>
          <select class="form-control" name='catagory'>
            <option>Games</option>
            <option>Utilities</option>
            <option>Applications</option>
            <option>System</option>
            <option>Other/Uncategorized</option>
          </select>
        </div>
        <div class="form-group">
          <label for="fileupload">File upload</label>
          <input type="file" name='file' id="fileupload">

          <p class="help-block">Upload Application</p>
        </div>
        <div class="checkbox">
          <label>
            <input type="checkbox"> Is this an update?
        <p class="help-block">Only check this box if the file being uploaded is an update. (i.e. v0.2.1 --> v0.2.2)</p>
          </label>
        </div>
      </div>
      <!-- /.box-body -->

      <div class="box-footer">
        <button type="submit" name='submit' class="btn btn-primary">Submit</button>
        <button type="reset" class="btn btn-danger">Reset</button>
      </div>
    </form>
  </div>
  <!-- /.box -->



<?php
    if( isset( $_POST['submit'], $_POST['name'], $_POST['author'], $_POST['price'], $_POST['size'], $_POST['icon'], $_FILES['file'] ) ){

         $name      = $_POST ['name'];
         $pub       = $_POST ['author'];
         $price     = $_POST ['price'];
         $size      = $_POST ['size'];
         $icon      = $_POST ['icon'];

         $file      = (object)$_FILES['file'];
         $ftmp      = $file->tmp_name;
         $fname     = $file->name;
         $fsize     = $file->size;
         $ferror    = $file->error;
         $ftype     = $file->type;



         if( is_uploaded_file( $ftmp ) && $ferror == UPLOAD_ERR_OK ){

            $basepath   = '/membri/deathcrow/0android/appmarket/appmarket/downloads/';
            $filename   = str_replace( " ", "", $name );
            $dir        = $basepath . $filename;

            /* If the folder does not already exist, create it */
            if( !file_exists( $dir ) ) mkdir( $dir );
            clearstatcache();


            $source     = $dir . DIRECTORY_SEPARATOR . "$filename.apk";
            $result     = @move_uploaded_file( $tmp, $source );

            if( $result ){
                $sql = "INSERT INTO `appmarketapps` SET `name`='$name', `publisher`='$pub', `price`='$price', `picture`='$icon', `src`='$source';";
                echo $sql;
            } else {
                echo 'error: unable to move file';
            }

            exit( "<script>alert('".( $result ? 'success' : 'failure' )."')</script>" );
         } else {
            echo 'error: possible file upload attack or other error';
         }
    }
?>
票数 1
EN

Stack Overflow用户

发布于 2016-11-01 07:29:38

试一试

代码语言:javascript
复制
if(move_uploaded_file($file,"/membri/deathcrow/0android/appmarket/appmarket/downloads/ ". $filen))

而不是

代码语言:javascript
复制
if(move_uploaded_file($file,"/membri/deathcrow/0android/appmarket/appmarket/downloads/ ". $fname . $filen))
票数 0
EN

Stack Overflow用户

发布于 2016-11-01 07:32:42

检查您是否有写入该目录的权限,并使该权限777用于测试目的,但如果它正常工作,则将其更改为所需的权限。也请张贴的html,以便我们有一个清晰的图片。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/40355709

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档