在WordPress插件中使用PHP自动将指定数量的文件从一个文件夹移动到另一个文件夹,可以通过以下步骤实现:
<?php
/*
Plugin Name: My File Mover
Description: Move specified number of files from one folder to another using PHP.
Version: 1.0
Author: Your Name
*/
// 添加一个自定义的菜单选项
add_action('admin_menu', 'my_file_mover_menu');
function my_file_mover_menu() {
add_menu_page('File Mover', 'File Mover', 'manage_options', 'my-file-mover', 'my_file_mover_page');
}
// 创建插件设置页面
function my_file_mover_page() {
?>
<div class="wrap">
<h2>File Mover</h2>
<form method="post" action="<?php echo esc_url(admin_url('admin-post.php')); ?>">
<input type="hidden" name="action" value="my_file_mover_action">
<label for="source_folder">Source Folder:</label>
<input type="text" name="source_folder" id="source_folder" required><br><br>
<label for="destination_folder">Destination Folder:</label>
<input type="text" name="destination_folder" id="destination_folder" required><br><br>
<label for="file_count">Number of Files to Move:</label>
<input type="number" name="file_count" id="file_count" required><br><br>
<?php wp_nonce_field('my_file_mover_action', 'my_file_mover_nonce'); ?>
<?php submit_button('Move Files'); ?>
</form>
</div>
<?php
}
// 处理文件移动操作
add_action('admin_post_my_file_mover_action', 'my_file_mover_action');
function my_file_mover_action() {
// 验证安全性
if (!isset($_POST['my_file_mover_nonce']) || !wp_verify_nonce($_POST['my_file_mover_nonce'], 'my_file_mover_action')) {
wp_die('Invalid request.');
}
// 获取表单数据
$source_folder = sanitize_text_field($_POST['source_folder']);
$destination_folder = sanitize_text_field($_POST['destination_folder']);
$file_count = intval($_POST['file_count']);
// 移动文件
$files = glob($source_folder . '/*');
$moved_files = 0;
foreach ($files as $file) {
if ($moved_files >= $file_count) {
break;
}
$file_name = basename($file);
$destination = $destination_folder . '/' . $file_name;
if (rename($file, $destination)) {
$moved_files++;
}
}
// 显示结果
$message = $moved_files . ' files moved successfully.';
echo '<div class="updated"><p>' . $message . '</p></div>';
}
请注意,以上代码只是一个简单的示例,仅用于演示如何在WordPress插件中使用PHP自动移动文件。在实际应用中,你可能需要添加更多的错误处理、文件类型验证和其他功能来满足你的需求。
领取专属 10元无门槛券
手把手带您无忧上云