audio — в php ошибка при загрузке файла на сервер

Я использую этот скрипт для загрузки файла на сервер.

<?php
$name = $_FILES["file"]['name'];
echo $tmp_name = $_FILES['file']['tmp_name'];if (isset($name))
{
if (!empty($name))
{
$location = 'uploads/';
if (move_uploaded_file($tmp_name, $location.$name))
{
echo 'Uploadded';
}
else
{
echo "there was an error";
}
}
else
{
echo 'please choose a file.';
}
}?>
<form action="#" method="POST" enctype="multipart/form-data">
<input type="file" name="file"><br><br>
<input type="submit" value="submit">
</form>

Этот скрипт хорошо работает на локальном хосте (мой собственный компьютер). Но когда я загружаю этот код в онлайн, то этот код выдает следующую ошибку.

500 — внутренняя ошибка сервера.
Возникла проблема с ресурсом, который вы ищете, и он не может быть отображен.

Во-вторых, я также хочу повторить метатеги mp3, такие как жанр, исполнитель и т. Д. Спасибо.

0

Решение

Я думаю, что в сценарии PHP произошла ошибка, но сервер выдает код HTTP 500 вместо того, чтобы показать эту ошибку. Попробуйте добавить error_reporting(E_ALL); ini_set('display_errors', 'On'); в начале сценария.

Я могу догадаться, возможная ошибка undefined index связанные с.

Это потому, что ваш PHP-скрипт предполагает $_FILES всегда там, не ожидая этого только при отправке формы.

Попробуйте обновить скрипт следующим образом:

<?php

// turn on error reporting
error_reporting(E_ALL);
ini_set('display_errors', 'On');

// proceed if there is a form post
if (count($_FILES))
{
$name = $_FILES["file"]['name'];
echo $tmp_name = $_FILES['file']['tmp_name'];

if (isset($name)) {
if (!empty($name)) {
$location = 'uploads/';
if (move_uploaded_file($tmp_name, $location . $name)) {
echo 'Uploadded';
} else {
echo "there was an error";
}
} else {
echo 'please choose a file.';
}
}
}?>
1

Другие решения

Других решений пока нет …