То, что я пытаюсь сделать, это загрузить mp3-файл на карту на сервере IIS. Затем возьмите этот файл и загрузите его прямо в мою учетную запись soundcloud.
Мне нужен абсолютный путь к файлу, чтобы загрузить файл. что дает мне E: / XXX / XXX / XXX. Но я думаю, что когда код проверяет этот путь, он проверяет на моем собственном компьютере, и файл не на моем диске так.
Поэтому я ищу способ загрузить файл в мою учетную запись soundcloud & желательно прямо к моей загружаемой карте.
редактировать: Другими словами, есть ли способ загрузить файл непосредственно в мое звуковое облако с выбором type = «file»
Вот что я получил, последний файл отладки / теста:
$target_dir = "..". DS . "database". DS . "tracks". DS;
$target_file = $target_dir . basename($_FILES["fileToUpload"]["name"]);
$uploadOk = 1;
$imageFileType = pathinfo($target_file,PATHINFO_EXTENSION);
// Check if file already exists
if (file_exists($target_file)) {
$error .= "Sorry, file already exists.<br />";
$uploadOk = 0;
}
// Check file size
if ($_FILES["fileToUpload"]["size"] > 5000000) {
$error .= "Sorry, your file is too large.<br />";
$uploadOk = 0;
}
// Allow certain file formats
if($imageFileType != "mp3" ) {
$error .= "Sorry, alleen mp3 is toegestaan.<br />";
$uploadOk = 0;
}
// Check if $uploadOk is set to 0 by an error
if ($uploadOk == 0) {
echo "Sorry, your file was not uploaded.";
echo $error;
// if everything is ok, try to upload file
//\\webserver\Websites\65647\database\tracks
} else {
if (move_uploaded_file($_FILES["fileToUpload"]["tmp_name"], $target_file)) {
echo "The file ". basename( $_FILES["fileToUpload"]["name"]). " has been uploaded.";
//$track_name = '@' . DS . DS . 'webserver' . DS . 'Websites' . DS . '65647' . DS . 'database'. DS . 'tracks' . DS . basename( $_FILES["fileToUpload"]["name"]);
$track_name = '@' . $_SERVER['DOCUMENT_ROOT'] . DS . 'database'. DS . 'tracks' . DS . basename( $_FILES["fileToUpload"]["name"]);
echo '@' . $_SERVER['DOCUMENT_ROOT'] . DS . 'database'. DS . 'tracks' . DS . basename( $_FILES["fileToUpload"]["name"]);
try{
$track = json_decode($soundcloud->post('tracks', array(
'track[title]' => 'Test',
'track[asset_data]' => '@' . $_SERVER['DOCUMENT_ROOT'] . DS . 'database'. DS . 'tracks' . DS . basename( $_FILES["fileToUpload"]["name"])
)));
echo ' - '.$track['asset_data'];
}catch(Services_Soundcloud_Invalid_Http_Response_Code_Exception $e){
exit($e->getMessage());
}
} else {
echo "Sorry, there was an error uploading your file.";
}
}
<h3>Upload</h3>
<form name="comment-form" method="post" action="" enctype="multipart/form-data">
<input type="file" name="fileToUpload" />
<br /><br />
<input type="submit" value="submit" name="submit" />
</form>
Задача ещё не решена.
Других решений пока нет …