0

我试图让 DropzoneJS 工作,我已经走了很远,但似乎我遇到了一个我无法解决的问题。

所以基本上我想要的是上传文件并在同一页面中获取下载链接。

所以我将此代码添加到我的 index.php 中:

<form action="index.php" class="dropzone" id="my-awesome-dropzone"></form>

并将php代码放入index.php:

<?php
include('config.php');

if($_SERVER['REQUEST_METHOD'] == 'POST') {

$dirname = uniqid();
mkdir( $filedir.'/'.$dirname);
    mkdir( $filedir.'/'.$dirname.'/file');

copy("template/d.php", "d/$dirname/index.php");
    copy("template/dl.php", "d/$dirname/dl.php");

preg_match('/\.([a-zA-Z0-9]+?)$/', $_FILES['file']['name'], $matches);

if(in_array(strtolower($matches[1]), $accepted)) {

    if($_FILES['file']['size'] <= $maxsize) {

        $newname = ($_FILES['file']['name']);

        // file name encryption
        //$newname = md5_file($_FILES['file']['tmp_name']).'.'.$matches[1];

        move_uploaded_file($_FILES['file']['tmp_name'], $filedir.'/'.$dirname.'/file/'.$newname);

        $linkurl = 'http://'.$_SERVER['HTTP_HOST'].preg_replace('/\/([^\/]+?)$/', '/', $_SERVER['PHP_SELF']).'#'.$newname;

        $imgurl = 'http://'.$_SERVER['HTTP_HOST'].preg_replace('/\/([^\/]+?)$/', '/', $_SERVER['PHP_SELF']).$filedir.'/'.$dirname.'/file/'.$newname;
        $alt = $_POST["alt"];
    $dlurl = 'http://'.$_SERVER['HTTP_HOST'].preg_replace('/\/([^\/]+?)$/', '/', $_SERVER['PHP_SELF']).$filedir.'/'.$dirname;

        print '<h2>Picture Uploaded Successfuly!!!!</h2> <p id="codes">

      <img src="'.$imgurl.'" height="300" alt="Uploaded Picture" >

        <label for="codebb">BBCode:</label>
        <input type="text" id="codebb" value="[URL='.$siteurl.'][IMG]'.$dlurl.'[/IMG][/URL]" onclick="javascript:this.focus();this.select();" readonly="true" /><br />
        <label for="codehtml">HTML Code: </label>
        <input type="text" id="codehtml" value=\'&lt;a href="'.$siteurl.'"&gt;&lt;img src="'.$dlurl.'" alt="'.$alt.'" /&gt;&lt/a&gt;\' onclick="javascript:this.focus();this.select();" readonly="true" /><br />
        <label for="codedirect">Direct Link:</label>
        <input type="text" id="codedirect" value="'.$dlurl.'" onclick="javascript:this.focus();this.select();" readonly="true" /></p>';

        echo ".$newname";
    } else 

        print '<p>Sorry, Max Picture size is 10Mb</p>';

}
}

?>

当我上传文件时,php 可以正常工作,并且文件已成功上传到其文件夹中,因此 php 可以正常工作。

我现在的问题是为什么我不能从 php 脚本中得到打印。

完全工作的脚本:

http://37.34.62.131/test/uploader%201.0/

不工作新脚本:

http://37.34.62.131/test/

我认为这与上传者有关,因为我的旧脚本使用提交按钮,而我的新版本使用自动提交。

我非常感谢你的时间!

4

0 回答 0