当前位置: 首页 > 知识库问答 >
问题:

文件上载不是以组合php形式工作,而是单独工作

东门子昂
2023-03-14
<?php //include config
require_once('../includes/config.php');

include("function.php");
//if not logged in redirect to login page
if(!$user->is_logged_in()){ header('Location: login.php'); }
?>
<!doctype html>
<html lang="en">
<head>
  <meta charset="utf-8">
  <title>Admin - Add Post</title>
  <link rel="stylesheet" href="../style/normalize.css">
  <link rel="stylesheet" href="../style/main.css">
  <script src="//tinymce.cachefly.net/4.0/tinymce.min.js"></script>
  <script>
          tinymce.init({
              selector: "textarea",
              plugins: [
                  "advlist autolink lists link image charmap print preview anchor",
                  "searchreplace visualblocks code fullscreen",
                  "insertdatetime media table contextmenu paste"
              ],
              toolbar: "insertfile undo redo | styleselect | bold italic | alignleft aligncenter alignright alignjustify | bullist numlist outdent indent | link image"
          });
  </script>
</head>
<body>

<div id="wrapper">

    <?php include('menu.php');?>
    <p><a href="./">Blog Admin Index</a></p>

    <h2>Add Post</h2>

    <?php

if(isset($_POST['submit']))
    {



        $cn=makeconnection();


    $target_dir = "subcatimages/";
    $target_file = $target_dir.basename($_FILES["t4"]["name"]);
    $uploadok = 1;
    $imagefiletype = pathinfo($target_file, PATHINFO_EXTENSION);
    //check if image file is a actual image or fake image
    $check=getimagesize($_FILES["t4"]["tmp_name"]);
    if($check!==false) {
        echo "file is an image - ". $check["mime"]. ".";
        $uploadok = 1;
    }else{
        echo "file is not an image.";
        $uploadok=0;
    }
    //check file size
    if($_FILES["t4"]["size"]>5000000){
        echo "sorry, your file is too large.";
        $uploadok=0;
    }


    //aloow certain file formats
    if($imagefiletype != "jpg" && $imagefiletype !="png" && $imagefiletype !="jpeg" && $imagefileype !="gif"){
        echo "sorry, only jpg, jpeg, Png & gif files are allowed.";
        $uploadok=1;
    }else{
        if(move_uploaded_file($_FILES["t4"]["tmp_name"], $target_file)){



    $s="insert into picture(Filename)values('" . basename($_FILES["t4"]["name"]) . "')";
    mysqli_query($cn,$s);

    echo "<script>alert('Record Save');</script>";


        } else{
            echo "sorry there was an error uploading your file.";
        }}  
    //if form has been submitted process it


        //collect form data

        extract($_POST);



        //very basic validation
        if($postTitle ==''){
            $error[] = 'Please enter the title.';
        }

        if($postDesc ==''){
            $error[] = 'Please enter the description.';
        }

        if($postCont ==''){
            $error[] = 'Please enter the content.';
        }

        if(!isset($error)){

            try {



                $postSlug = slug($postTitle);

                //insert into database
                $stmt = $db->prepare('INSERT INTO blog_posts_seo (postTitle,postSlug,postDesc,postCont,postDate) VALUES (:postTitle, :postSlug, :postDesc, :postCont, :postDate)') ;
                $stmt->execute(array(
                    ':postTitle' => $postTitle,
                    ':postSlug' => $postSlug,
                    ':postDesc' => $postDesc,
                    ':postCont' => $postCont,
                    ':postDate' => date('Y-m-d H:i:s'),


                ));

                $postID = $db->lastInsertId();

                //add categories
                if(is_array($catID)){
                    foreach($_POST['catID'] as $catID){
                        $stmt = $db->prepare('INSERT INTO blog_post_cats (postID,catID)VALUES(:postID,:catID)');
                        $stmt->execute(array(
                            ':postID' => $postID,
                            ':catID' => $catID
                        ));
                    }
                }

                //redirect to index page
                //header('Location: index.php?action=added');
                //exit;

            } catch(PDOException $e) {
                echo $e->getMessage();
            }

        }


    }

    //check for any errors
    if(isset($error)){
        foreach($error as $error){
            echo '<p class="error">'.$error.'</p>';
        }
    }

    ?>


    <form action="" method="post">

        <p><label>Title</label><br />
        <input type='text' name='postTitle' value='<?php if(isset($error)){ echo $_POST['postTitle'];}?>'></p>


        <input type='file' name='t4'>

        <p><label>Description</label><br />
        <textarea name='postDesc' cols='60' rows='10'><?php if(isset($error)){ echo $_POST['postDesc'];}?></textarea></p>

        <p><label>Content</label><br />
        <textarea name='postCont' cols='60' rows='10'><?php if(isset($error)){ echo $_POST['postCont'];}?></textarea></p>
                <fieldset>

            <legend>Categories</legend>

            <?php   

            $stmt2 = $db->query('SELECT catID, catTitle FROM blog_cats ORDER BY catTitle');
            while($row2 = $stmt2->fetch()){

                if(isset($_POST['catID'])){

                    if(in_array($row2['catID'], $_POST['catID'])){
                       $checked="checked='checked'";
                    }else{
                       $checked = null;
                    }
                }

                echo "<input type='checkbox' name='catID[]' value='".$row2['catID']."'  > ".$row2['catTitle']."<br />";
            }

            ?>

        </fieldset>

        <p><input type='submit' name='submit' value='Submit'></p>

    </form>

</div>

这是我的php与html表单代码的示例,请建议我,当我单独使用文件和表单代码,但不一起工作时,我能够上传文件。

显示如下错误

注意:F:\xampp\htdocs\new\u travel\blog\admin\add post中未定义的索引:t4。php在线48

注意:F:\xampp\htdocs\new\u travel\blog\admin\add post中未定义的索引:t4。php在线52

警告:getimagesize():文件名在F:\xampp\htdocs\new\u travel\blog\admin\add post中不能为空。第52行的php文件不是图像。注意:F:\xampp\htdocs\new\u travel\blog\admin\add post中未定义的索引:t4。php第61行

注意:未定义的变量:F:\xampp\htdocs\new\u travel\blog\admin\add post中的ImageFileType。php第68行对不起,只有jpg,jpeg,Png

共有1个答案

孙绍辉
2023-03-14

从超文本标记语言表单上传文件将无法工作,除非您正确设置表单的内容类型:

<form action="" method="post" enctype="multipart/form-data">

没有这个,文件数据就不会被传输到服务器。

 类似资料:
  • 问题内容: 我正在使用php下载文件,而不是在新窗口中打开文件本身。对于较小的文件似乎可以正常工作,但对于较大的文件则无法工作(我需要在大型文件上使用)。这是我必须下载文件的代码: 但是,当我尝试下载大文件(例如265mb)时,浏览器告诉我找不到文件吗?文件一定在服务器上,脚本对于较小的文件也可以正常工作。有什么方法可以下载类似于我已有的大文件? 问题答案: PHP对脚本可以运行多长时间以及可以使

  • 我正在本地运行一个Flask-Restful API,并从另一个端口发送一个包含JSON的POST请求。我得到了错误 我得到 它将“Access-Control-Allow-Origin”显示为“*”。GET工作正常,只是POST给出了这个错误。会出什么问题?如果相关,对于前端,我使用react并通过Axios请求。

  • 我正在开发一个带有文件上传的web应用程序。 我只是写了一个PHP代码来上传一个图像。 当我运行此代码时,我可以在文件上传时获得输出,如果上传错误 我给了777权限来访问pic文件夹 有什么问题,有什么想法吗,, 类型 Print_R 数组 谢啦

  • 我最近在我的机器上安装了nginx和php 7.0.16,但是由于某种原因,nginx下载了php文件,而不是执行它们。我已经花了几天时间在网上实施了所有可用的解决方案,但都是徒劳的。 我的nginx。配置文件是: conf.d文件夹中没有文件,启用的站点只有如下所示的默认文件 有人能告诉我,有什么问题吗?

  • 我使用Bootstrap,在Modalbox中有一个窗体。 还有一个文件上传,我想上传图像,但如果我点击提交按钮,网站看起来像重新加载瞬间,没有文件上传... 这是我的Ajax脚本 这是用于上传的html表单字段 这里是PHP的事情 但它不起作用。。。 如果我将其从php文件中删除,它将使用type=“text”和数字保存我的其他字段 但是文件上传不起作用,我已经尝试了很多我在谷歌上找到的

  • 我已经将firebase crashlytics库和crashlytics gradle插件添加到我的项目中 我为我的版本生成类型显式设置了 但映射文件不幸没有上传。我在firebase crashlytics console中验证了它-对于我的测试崩溃,stacktrace指向。以下是我在gradle日志中发现的内容: [DEBUG][com.google.firebase.crashlytic

  • 问题内容: 我正在将站点安装在Droplet中(数字海洋)。我在使用PHP正确安装NGINX时遇到问题,但是当我尝试运行一些.php文件正在下载…例如,它正在工作,但是…如果我进入主目录,它将下载我的index.php:/ 任何的想法? 我的/ etc / nginx / sites-available / default …评论其他“位置”(#) 问题答案: 尝试这个: 编辑 取消注释两个侦听行

  • 我已经在我的Java项目中复制了IE exe并导出了Java项目,包括IE exe。当我运行JAR时,它无法选择IE exe路径。请救命!蒂亚!