如何将图像从主页发送到另一个页面?

时间:2014-07-08 18:52:18

标签: javascript php jquery html

我一直在寻找这个答案,并且无法找到答案。也许是因为我不理解它们而且不能将它们应用到我想要做的事情上。

当用户按下提交时,我使用php在服务器上保存图像,当发生这种情况时,我希望图像显示在图像src的下一页上。正如您所看到的,我的下一页的名称是随机的,但与我的图像名称相似,除了扩展名。所以我想知道这是否会帮助我做一些事情?在我的PHP结束时,我直接进入创建的随机弦乐页面。

function findexts ($filename) { 
        $filename = $_FILES["file"]["name"]; 
        $exts = split("[/\\.]", $filename) ; 
        $n = count($exts)-1; 
        $exts = $exts[$n]; 
        return $exts; 
    }

        if(isset($_POST['submit'])){
        $allowedExts = array("gif", "jpeg", "jpg", "png");
        $temp = explode(".", $_FILES["file"]["name"]);
        $extension = end($temp);

        if ((($_FILES["file"]["type"] == "image/gif")
        || ($_FILES["file"]["type"] == "image/jpeg")
        || ($_FILES["file"]["type"] == "image/jpg")
        || ($_FILES["file"]["type"] == "image/pjpeg")
        || ($_FILES["file"]["type"] == "image/x-png")
        || ($_FILES["file"]["type"] == "image/png"))
        && ($_FILES["file"]["size"] < 3000000)
        && in_array($extension, $allowedExts)) {
            if ($_FILES["file"]["error"] > 0) {
                //echo "Return Code: " . $_FILES["file"]["error"] . "<br>";
            } else {
                $ext = findexts ($_FILES['file']['name']) ;
                $newName = generateRandomString();
                $fileName=$newName.".".$ext;
                    while (is_file("upload/" . $fileName)){
                        $newName = generateRandomString();
                        $fileName=$newName.".".$ext;
                    }   
                $target = "upload/";
                move_uploaded_file($_FILES["file"]["tmp_name"],
                $target . $fileName);
                $newfile = fopen("img/" . $newName.".html", "w") or die("Unable to open file!");
                $newImgWeb = $newName.".html";
                copy("img/template.html","img/" . $newImgWeb);
                fclose($newfile);
                header("Location: img/$newImgWeb");

            }
        } else {
            //echo "Invalid File"
        }
    } else {

    }

这是我的PHP,我不知道我会怎么做呢? 我的html和php也是单独的,但是在表单action =&#34; upload_file.php&#34;

下链接
<img src="../upload/<?php echo $fileName ?>">

但我只是得到了一堆错误,我不知道接下来应该做些什么。我只是一个初学者,通过这样做学到很多东西。

另外,我尝试在javascript中执行此操作,我将获取当前网页的网址,删除开始的网址并离开结束。所以它就像&#34; adSEvF3A.html&#34;然后我删除了&#34; .html&#34;部分从那里我无法确定要查找哪些扩展名.png .jpg等所以我无法做到document.getElementById(&#39; image&#39;)。src = newImg;

提前致谢!

1 个答案:

答案 0 :(得分:2)

我意识到我需要把

session_start();

在php文件的开头,我想从中获取变量。当我使用session_start();我做错了,并认为$ _SESSION必须始终在session_start()之下声明;我知道很多人会认为这是愚蠢的。但是,嘿,至少我想出来了。

test1.php

session_start();
$var = "hello.jpg";
$_SESSION['image'] = $var;

我想要声明的变量需要在$ _SESSION之上,以便它可以存储在其中。

的index.html

<?php
include ('test1.php');
$image = $_SESSION['image'];
?>

<img src="upload/<?php echo $image ?>">

然后它奏效了。

感谢CMKanode帮助我!