Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/258.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用PHP上传文件后执行操作?_Php_File Upload - Fatal编程技术网

使用PHP上传文件后执行操作?

使用PHP上传文件后执行操作?,php,file-upload,Php,File Upload,我有一个具有以下结构的页面: 1. Text 2. Form with SUBMIT button that allows users to upload files 3. PHP code to handle the files 我想在进入3之前完成2(等待用户点击提交)。我也想保持活动在同一页上。。。现在,如果用户点击SUBMIT,他/她将被重定向到upload.php脚本 鉴于我是PHP新手,实现这一点最简单的方法是什么?谢谢你抽出时间 代码如下: HTML(我想保留此页面上的所有内

我有一个具有以下结构的页面:

1. Text

2. Form with SUBMIT button that allows users to upload files

3. PHP code to handle the files
我想在进入3之前完成2(等待用户点击提交)。我也想保持活动在同一页上。。。现在,如果用户点击SUBMIT,他/她将被重定向到upload.php脚本

鉴于我是PHP新手,实现这一点最简单的方法是什么?谢谢你抽出时间

代码如下:

HTML(我想保留此页面上的所有内容):



上载文件:




仅使用PHP无法实现这一点。如果希望流程位于同一页面上(无需刷新),则需要使用AJAX,即javascript。尝试阅读jQueryAjax部分

当您上传文件时,您不能使用纯ajax(xmlhttprequest对象不支持文件上传)进行文件上传,因此您可能需要寻找插件来完成此操作,或者您可以使用隐藏的IFRAME作为表单的目标。

1)在表单的操作中指定同一文件的名称

2) 指定要提交的名称按钮lits say name=“submit”

3) 在同一页上:

if(isset($_POST['submit']))
{
  write file handliig code here..
  all file processing code you were doing in that redirected php script do here..
}

您是否可以发布您迄今为止尝试过的代码,并指出哪里出现了错误/问题?您可能希望向标记中添加Javascript,因为这需要它。请澄清您的问题。PHP的工作方式是,脚本只在上传完成后执行,因此“我想在执行脚本之前完成上传”的问题无关紧要。
<?php
error_reporting(E_ALL);


for ($i=1; $i<4; $i++)
    {
    $file = "file" . $i;
    if (($_FILES[$file]["size"] < 20000))
      {
      if ($_FILES[$file]["error"] > 0)
        {
        echo "Return Code: " . $_FILES[$file]["error"] . "<br />";
        }
      else
        {
        echo "Upload: " . $_FILES[$file]["name"] . "<br />";
        echo "Type: " . $_FILES[$file]["type"] . "<br />";
        echo "Size: " . ($_FILES[$file]["size"] / 1024) . " Kb<br />";
        echo "Temp file: " . $_FILES[$file]["tmp_name"] . "<br />";


        $moved = move_uploaded_file($_FILES[$file]["tmp_name"], "C:/inetpub/wwwroot/PHP_Ramp/upload/" . $_FILES[$file]["name"]);

        if ($moved) {
            echo "Move: Success <br/>";
        }
        else {
            echo "Move Failed <br/>";
        }


          echo "Stored in: " . "C:/inetpub/wwwroot/PHP_Ramp/upload/" . $_FILES[$file]["name"];
          }
        }

    else
      {
      echo "Invalid file";
      }

}
?>
if(isset($_POST['submit']))
{
  write file handliig code here..
  all file processing code you were doing in that redirected php script do here..
}