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


How to send image from main page to another?

我一直在寻找这个答案,但没有找到答案。也许是因为我不理解它们,不能把它们应用到我想做的事情上。

我使用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="upload_file.php"的形式下链接

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

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

另外,我试着在javascript中这样做,我将采取当前网页的url,删除开始的url,并与结束离开。所以它会像"adSEvF3A.html",然后我删除了"。html"部分,从那里我无法确定哪些扩展寻找。png .jpg等,所以我不能做document.getElementById('image').src=newImg;

提前感谢!

我意识到我需要把

session_start();

在我想从中获取变量的PHP文件的开头。当我使用session_start();我做错了,并且认为$_SESSION必须总是在session_start()下面声明;我知道你们很多人会认为这样想很愚蠢。但是,嘿,至少我弄明白了。

test1.php

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

我想声明的变量需要在$_SESSION上面,这样它就可以存储在$_SESSION里面。

index . html

<?php
include ('test1.php');
$image = $_SESSION['image'];
?>
<img src="upload/<?php echo $image ?>">

然后就成功了。

感谢CMKanode的帮助!