HEX
Server: Apache/2.4.59 (Debian)
System: Linux keymana 4.19.0-21-cloud-amd64 #1 SMP Debian 4.19.249-2 (2022-06-30) x86_64
User: lijunjie (1003)
PHP: 7.4.33
Disabled: pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_get_handler,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,pcntl_async_signals,pcntl_unshare,
Upload Files
File: /var/www/dk/wp-content/themes/food/api/order/pay_order.php
<?php

require_once( ABSPATH . 'wp-admin/includes/image.php' );
require_once( ABSPATH . 'wp-admin/includes/file.php' );
require_once( ABSPATH . 'wp-admin/includes/media.php' );

$current_user = wp_get_current_user();
$current_id = $current_user->ID;

if($current_id == 0) {
  $rc = 1;
  return false;
}

$param = [
  'order_id' => true
];

$data_form = [];
foreach ($param as $key => $value) {
  if($value && !isset($_POST[$key])) {
    $rc = 1;
    return false;
  }else {
    $data_form[$key] = $_POST[$key];
  }
}

if(empty($_FILES['pay_file'])) {
  $rc = 1;
  return false;
}
$order = wc_get_order($data_form['order_id']);

$uploadedfile = $_FILES['pay_file'];
$filename = basename($uploadedfile['name']);
$etx = strtolower(pathinfo($filename,PATHINFO_EXTENSION));

$attachment_id = media_handle_upload('pay_file',0);

if(!is_wp_error($attachment_id)){
  $post = get_post($attachment_id);
  $note = '<img style="width:100%" src="'.$post->guid.'">';
  $order->add_order_note($note);
  $order->update_status("processing");
}else {
  $rc = 2;
  $msg = 'upload fail';
  $order->update_status("pending payment");
}