上传完成后,php不会给出下载链接反馈

时间:2013-10-15 18:48:05

标签: php html

我试图让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/

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

我非常感谢你的时间!

0 个答案:

没有答案