попытка добавить название группы к загрузке mp3 с помощью $ _SESSION ['bandname']; - PullRequest
0 голосов
/ 09 января 2019

Попытка добавить $ _SESSION ['bandname']; к загрузке mp3 файла, Концепция Когда кто-то загружает песню, он добавляет название группы в mp3 bandname_songname.mp3, если это имеет смысл. вот мой код до сих пор. проблема в этой строке, я думаю, $ aditionalnewFileName = $ bandname. = "_". $ aditionofileName; эта странная часть, когда я использую var_dump ($ bandname); ну вместо названия группы это песня, которую я тестирую со строкой (88) "_police.ogg_police.ogg_police.ogg_police.ogg_police.mp3_police.mp3_police.mp3_police.wav". может быть mysqli будет проще?

<code><?php
session_start();
if (isset      ($_SESSION ['band_id'  ]))
{
$band_id  = $_SESSION ['band_id'  ];
$bandname = $_SESSION ['bandname' ];
$username = $_SESSION ['username' ];
}
var_dump($_SESSION['bandname']);

ini_set( "max_execution_time", "3600" ); // sets the maximum execution 
time of this script to 1 hour.

$uploads_dir     = $_SERVER['DOCUMENT_ROOT'].'/mp3';

$aditiontmp_name = $_FILES['song_name']['tmp_name']; // get client 
//side file tmp_name 
// '/[^A-Za-z0-9\-_\'.]/', ''   //$_FILES['song_name']['name']);
$aditionofileName  = preg_replace('/[^A-Za-z0-9\-_\'.]/', 
'',$_FILES['song_name']['name']); // get client side file name remove 
the special character with preg_replace function.

// remove time() to edit name of mp3
$aditionalnewFileName = $bandname.="_".$aditionofileName; //filename 
changed with current time

if ( move_uploaded_file($aditiontmp_name, 
"$uploads_dir/$aditionalnewFileName")) //Move uploadedfile
{

$uploadFile = $uploads_dir."/".$aditionalnewFileName; //Uploaded file 
path

 $ext = pathinfo($uploads_dir."/".$aditionalnewFileName, 
 PATHINFO_EXTENSION); //Get the file extesion.

$uploadFilebasename = basename($uploads_dir."/".$aditionalnewFileName, 
".".$ext); //Get the basename of the file without extesion.

$exName = ".mp3";

$finalFile = $uploads_dir."/".$uploadFilebasename.$exName; //Uploaded 
file name changed with extesion .mp3

$encode_cmd = "/usr/bin/ffmpeg -i $uploadFile -b:a 256000 $finalFile 
2>&1"; // -i means input file -b:a means bitrate 2>&1 is use for debug 
command.

exec($encode_cmd,$output); //Execute an external program.

echo "<pre>";
// will echo success , for debugging we can uncomment echo 
print_r($output);

// also want to add redirect to this script to send back to profile 
after upload

echo "The file was uploaded";

//echo print_r($output); //  Report of command excution process.

            echo "
"; if ($ ext! == 'mp3') {// Если загруженный файл mp3 не удаляется из загруженного каталога, потому что нам нужно конвертировать в .mp3 unlink ($ uploadFile); } // 0644 против 0777 chmod ($ finalFile, 0777); // Установить загруженному файлу разрешение. } еще { echo "Ошибка загрузки"; // Если загрузка не удалась. } ?>

1 Ответ

0 голосов
/ 09 января 2019

поэтому через некоторое время я решил пойти по другому пути. Я использовал mysqli, я запросил имя пользователя и имя группы, затем использовал цикл while, используемый var_dump заметил имя группы после того, как посмотрел на мой код, я увидел, что редактировал неправильную строку, поэтому я меняю $ aditionofileName = preg_replace ('/ [^ A-Za- z0-9 -_ \ '.] /', '', $ bandname. $ _FILES [ 'SONG_NAME'] [ 'имя']); и измените строку, которую я считал проблемой, на $ aditionalnewFileName = "_". $ aditionofileName; Revmoed переменная и удалил.
новый код ниже.

<?php
session_start();

if (isset      ($_SESSION ['band_id'  ]))
{
$band_id  = $_SESSION ['band_id'  ];
$bandname = $_SESSION ['bandname' ];
$username = $_SESSION ['username' ];
}

if (isset      ($_GET ['band_id']))
{                               // Yes
$showband = $_GET ['band_id'];
}
else
{                               // No
  echo "ID not set";       // Just show the member 
}

include 'connect.php';

$sql     = "SELECT * from members WHERE band_id=$showband";

$result  = mysqli_query ($dbhandle, $sql);

while ($row = mysqli_fetch_array ($result))
{
$username = $row ["username"    ];
$bandname = $row ["bandname"    ];
}

var_dump($bandname);

ini_set( "max_execution_time", "3600" ); // sets the maximum execution time of 
this script to 1 hour.

$uploads_dir     = $_SERVER['DOCUMENT_ROOT'].'/mp3';

$aditiontmp_name = $_FILES['song_name']['tmp_name']; // get client side file 
tmp_name 
// '/[^A-Za-z0-9\-_\'.]/', ''   //$_FILES['song_name']['name']);
$aditionofileName  = preg_replace('/[^A-Za-z0-9\-_\'.]/', '',$bandname . 
$_FILES['song_name']['name']); // get client side file name remove the special 
character with preg_replace function.

// remove time() to edit name of mp3
$aditionalnewFileName = "_".$aditionofileName; //filename changed with current 
time
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...