文章详情
更多工具

如何把相册作品做成链接分享(PHP+JS)完成源代码

以下是完整的PHP+JS实现方案,包含图片上传、生成分享链接和访问验证功能,功能实现参照将图片变成链接网页工具的具体逻辑,经过深度加工设计了一套将个人相册作品做成链接的逻辑,代码复制即可使用:
<?php
header('Content-Type: application/json');
if($_SERVER['REQUEST_METHOD'] === 'POST'){
    $uploadDir = 'uploads/';
    $ext = pathinfo($_FILES['image']['name'], PATHINFO_EXTENSION);
    $filename = uniqid().'.'.$ext;
    $target = $uploadDir.$filename;
    
    if(move_uploaded_file($_FILES['image']['tmp_name'], $target)){
        $shareCode = substr(md5($filename), 0, 8);
        file_put_contents('links.db', $shareCode.'|'.$filename."\n", FILE_APPEND);
        echo json_encode(['code'=>$shareCode]);
    }else{
        http_response_code(500);
        echo json_encode(['error'=>'上传失败']);
    }
}

<!DOCTYPE html>
<html>
<head>
    <title>相册作品分享</title>
    <style>
        #uploadBox { border:2px dashed #ccc; padding:40px; text-align:center }
        #preview { max-width:300px; display:none }
    </style>
</head>
<body>
    <div id="uploadBox">
        <input type="file" id="imageInput" accept="image/*">
        <img id="preview">
        <button id="uploadBtn">生成分享链接</button>
        <div id="result"></div>
    </div>

    <script>
        document.getElementById('imageInput').addEventListener('change', function(e){
            const file = e.target.files[0];
            if(file){
                const preview = document.getElementById('preview');
                preview.src = URL.createObjectURL(file);
                preview.style.display = 'block';
            }
        });

        document.getElementById('uploadBtn').addEventListener('click', function(){
            const file = document.getElementById('imageInput').files[0];
            if(!file) return alert('请选择图片');
            
            const formData = new FormData();
            formData.append('image', file);
            
            fetch('upload.php', {
                method: 'POST',
                body: formData
            }).then(res => res.json())
            .then(data => {
                const shareUrl = `${window.location.href}view.php?code=${data.code}`;
                document.getElementById('result').innerHTML = 
                    `分享链接:<a href="${shareUrl}" target="_blank">${shareUrl}</a>`;
            });
        });
    </script>
</body>
</html>

php
$code = $_GET['code'] ?? '';
if($code && file_exists('links.db')){
    $lines = file('links.db');
    foreach($lines as $line){
        list($savedCode, $filename) = explode('|', trim($line));
        if($savedCode === $code){
            header('Content-Type: image/jpeg');
            readfile("uploads/$filename");
            exit;
        }
    }
}
http_response_code(404);
echo '图片不存在或已过期';
 
————————————————

                            版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
                        
原文链接:https://blog.csdn.net/jishuyucaifu/article/details/147978451
上一篇:
【视频链接生成】视频上传生成链接
下一篇:
将图片变成链接(PHP+JS)完整源代码
沪公网安备31011502400823 沪ICP备16005294号-9 增值电信业务经营许可证:沪B2-20180459©上海闪擎网络科技有限公司