我正在尝试制作图像压缩工具,其中我想用滑块定义压缩率。 滑块的值是php-function 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>
这是我的 Javascript 和 PHP - 代码:
<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>
Slider是Javascript中滑块的值。当我使用我的滑块时,Javascript变量会发生变化,但是php变量($ _POST [&#39; compressSlider&#39;])不会...
答案 0 :(得分:0)
提交按钮在哪里? 您无法与客户端同步更新服务器端。 什么时候重新加载页面并发送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;">