PHP 图片上传和点赞功能实现教程
由于ASP已经不再被广泛使用,我们建议使用现代Web开发技术(如Node.js,PHP等)来实现此功能。
以下是使用PHP实现上传图片并添加点赞功能的示例代码:
-
创建一个名为'upload.php'的文件,并在其中添加以下代码:
<?php if(isset($_POST['submit'])) { $file = $_FILES['file']; $fileName = $file['name']; $fileTmpName = $file['tmp_name']; $fileSize = $file['size']; $fileError = $file['error']; $fileType = $file['type'];$fileExt = explode('.', $fileName); $fileActualExt = strtolower(end($fileExt));
$allowed = array('jpg', 'jpeg', 'png');
if(in_array($fileActualExt, $allowed)) { if($fileError === 0) { if($fileSize < 1000000) { $fileNameNew = uniqid('', true).'.'.$fileActualExt; $fileDestination = 'uploads/'.$fileNameNew; move_uploaded_file($fileTmpName, $fileDestination); echo 'File uploaded successfully.'; } else { echo 'Your file is too big!'; } } else { echo 'There was an error uploading your file!'; } } else { echo 'You cannot upload files of this type!'; } } ?>
这个PHP代码片段将负责处理上传的图片并将其保存在服务器上。
-
在同一个文件中,添加以下HTML代码,以便用户可以上传图片:
<html> <head> <title>Upload Image</title> </head> <body> <form action='upload.php' method='POST' enctype='multipart/form-data'> <input type='file' name='file'> <button type='submit' name='submit'>Upload</button> </form> </body> </html>这个HTML代码片段将创建一个简单的表单,允许用户选择并上传图片。
-
最后,为了添加点赞功能,我们可以使用JavaScript和AJAX来向服务器发送请求并更新图片的点赞计数器。以下是示例代码:
<html> <head> <title>Upload Image</title> <script src='https://ajax.googleapis.com/ajax/libs/jquery/3.5.1/jquery.min.js'></script> <script> $(document).ready(function() { $('.like').click(function() { var id = $(this).attr('id'); $.ajax({ url: 'like.php', type: 'POST', data: {id: id}, success: function(data) { $('#likes-'+id).text(data); } }); }); }); </script> </head> <body> <?php // Display uploaded images $dir = 'uploads/'; $files = scandir($dir); foreach($files as $file) { if($file !== '.' && $file !== '..') { echo '<div>'; echo '<img src='' . $dir . $file . '' width='300'>'; echo '<button class='like' id='' . $file . ''>Like</button>'; echo '<span id='likes-' . $file . ''>0</span>'; echo '</div>'; } } ?> <form action='upload.php' method='POST' enctype='multipart/form-data'> <input type='file' name='file'> <button type='submit' name='submit'>Upload</button> </form> </body> </html>这个HTML代码片段将显示已上传的所有图片,并为每个图片添加一个点赞按钮和一个点赞计数器。当用户点击点赞按钮时,JavaScript将使用AJAX向服务器发送请求,并在成功响应后更新相应的点赞计数器。
-
最后,我们需要创建一个名为'like.php'的文件,负责处理点赞请求。以下是示例代码:
<?php if(isset($_POST['id'])) { $id = $_POST['id']; $likes = 0; if(file_exists('likes.txt')) { $likes = intval(file_get_contents('likes.txt')); } $likes++; file_put_contents('likes.txt', $likes); echo $likes; } ?>这个PHP代码片段将在每次收到点赞请求时读取当前的点赞计数器并将其增加1。然后,它将新的点赞计数器写入一个名为'likes.txt'的文件中,并将新的点赞计数器作为响应返回给JavaScript。
请注意,以上代码仅用于示例目的。在实际应用中,您需要对安全性和性能进行更多考虑,并对代码进行更多测试和优化。
原文地址: https://www.cveoy.top/t/topic/mkDY 著作权归作者所有。请勿转载和采集!