获取 PHP 的滑块值

Get slider value to PHP

本文关键字:PHP 获取      更新时间:2023-09-26

我正在尝试制作一个图像压缩工具,我想在其中使用滑块定义压缩率。滑块的值是 php 函数 imagejpeg 的输入,这就是我卡住的地方......

我无法将滑块值输入 php...

正在使用我创建的 HTML 滑块,如下所示:

<form action="" method="POST">
    <input type="range" min="0" max="100" value="100" step="1" id="compressSlider" name="ratiovalue"  oninput="ratioCalculate(value)" style="width:400px;">
    <span id="volume">100</span>
</form>

这是我的JavascriptPHP代码:

<script>        
        function ratioCalculate(slider) {
            var slideval = document.getElementById("volume");
            var filesizekb = document.getElementById("Filesizekb");
            var filesizepro = document.getElementById("Filesizepro");
            <?php
                $compressed_image = new handledImage();
                $temp_image = imagecreatefromjpeg($_SESSION['targetfile']);
                if(isset($_POST['compressSlider'])) {  
                    imagejpeg($temp_image, 'uploads/compressedSliderImage.jpg', $_POST['compressSlider']);
                    $compressed_image->name = 'compressedSliderImage';
                    $compressed_image->type = 'jpg';
                    $compressed_image->size = filesize('uploads/compressedSliderImage.jpg');
                    $compressed_image->ratio = $_POST['compressSlider'];
                    $images[5] = $compressed_image;
               } 
               else {
                   $compressed_image->ratio = -1;
               }
            ?>
            slideval.innerHTML = slider;
            document.getElementById('compressed_shown').src = 'uploads/compressedSliderImage.jpg';
            filesizekb.innerHTML = 'Filesize (kB): '+<?php // echo convert_unit($images[5]->size); ?>;
            filesizepro.innerHTML = 'Filesize (%): '+<?php // echo calculate_percentage($images[5]->size, $images[0]->size); ?>;
        }
    </script>

滑块是 Javascript 中滑块的值。当我使用滑块时,Javascript 变量会发生变化,但 php varaible ($_POST['compressSlider']( 不会...

提交按钮在哪里?不能与客户端同步更新服务器端。何时重新加载页面并发送 POST 数据?我的意思是javascript函数中的数据是在加载页面时设置的。也许是更新按钮或应用?并使用 $_POST 重新加载页面?

而且名字是错误的..

<input type="range" min="0" max="100" value="100" step="1" id="compressSlider" name="ratiovalue"  oninput="ratioCalculate(value)" style="width:400px;">

应该是

<input type="range" min="0" max="100" value="100" step="1" id="compressSlider" name="compressSlider"  oninput="ratioCalculate(value)" style="width:400px;">