Невозможно получить строку запроса в PHP (Новичок / Простой Вопрос?) - PullRequest
1 голос
/ 23 июня 2019

Я держу это коротким. У меня есть файл, который можно загрузить на наш сервер через PHP. Теперь я хочу переименовать этот файл на основе строки запроса в URL: https://XXX.de/QG_002a.html?tic=undefined

В этом случае я бы хотел, чтобы файл назывался "undefined".

Проблема в том, что загрузка работает, если я ввожу имя файла вручную, но не работает, если я пытаюсь получить для него строку запроса. Вот код:

$actual_link =  $_SERVER['REQUEST_URI'];
$parts = parse_url($actual_link);
parse_str($parts['query'], $query);
$newfilename = $target_dir . $query['tic'];

if (move_uploaded_file($_FILES["fileToUpload"]["tmp_name"], $target_dir . 
$newfilename)) 
{
    echo "The file has been uploaded.";
}

Я действительно много гуглил и перепробовал множество решений для получения текущего URL или получения строки запроса, например:

$_GET['tic'];

Но в моем случае ничего не работает. Может ли кто-нибудь, пожалуйста, кратко взглянуть на код? Может быть, это просто ошибка начинающих. Большое спасибо!

ПОЛНЫЙ ТЕКУЩИЙ КОД PHP

<?php
error_reporting(-1);
ini_set('display_errors', true);

$target_dir = "uploads/";
$target_file = $target_dir . basename($_FILES["fileToUpload"]["name"]);
$uploadOk = 1;
$imageFileType = strtolower(pathinfo($target_file,PATHINFO_EXTENSION));
// Check if image file is a actual image or fake image
if(isset($_POST["submit"])) {
    $check = getimagesize($_FILES["fileToUpload"]["tmp_name"]);
    if($check !== false) {
        echo "File is an image - " . $check["mime"] . ".";
        $uploadOk = 1;
    } else {
        echo "File is not an image.";
        $uploadOk = 0;
    }
}
if ($uploadOk == 0) {
    echo "Sorry, your file was not uploaded.";
// if everything is ok, try to upload file
} else {    

    if (move_uploaded_file($_FILES["fileToUpload"]["tmp_name"], $target_dir . $_GET['tic'];)) {
        echo "The file ". basename( $_FILES["fileToUpload"]["name"]). " has been uploaded.";
    } else {
        echo "Sorry, there was an error uploading your file.";
    }
}
?>

ТЕКУЩИЕ ОШИБКИ

VM46 uploadForm_Gallery.js:355 POST https://XXX.de/upload.php 500 (Internal Server Error)
saveToQueue @   VM46 uploadForm_Gallery.js:355
(anonymous) @   VM46 uploadForm_Gallery.js:245
dispatch    @   VM44 jquery.min.js:3
q.handle    @   VM44 jquery.min.js:3

JAVASCRIPT

const url = 'upload.php'
const request = new Request(url, {
method: 'POST',
body: formData
});

fetch(request)
...