У меня есть завиток скачать функцию следующим образом:PHP: Target путь к файлу в FOPEN()
function down($url, $target){
set_time_limit(0);
$file = fopen(dirname(dirname(__FILE__)) . $target, 'w+');
$curl = curl_init($url);
curl_setopt_array($curl, [
CURLOPT_URL => $url,
CURLOPT_BINARYTRANSFER => 1,
CURLOPT_RETURNTRANSFER => 1,
CURLOPT_FILE => $file,
CURLOPT_TIMEOUT => 50,
CURLOPT_USERAGENT => 'Mozilla/4.0 (compatible; MSIE 5.01; Windows NT 5.0)'
]);
$response = curl_exec($curl);
if($response === false) {
throw new \Exception('Curl error: ' . curl_error($curl));
}
$response;
}
Мой сценарий по следующему пути:
как/самозагрузки/PHP/downloadscript. PHP
Моя цель состоит в том, чтобы сохранить загруженный файл по адресу:
в/бутстраповском/произношении/
Когда я запускаю этот скрипт, он загружает файл в папку bootstrap
, как ожидалось (я не добавил пути к папке pronunciations
еще потому, что я не знаю, как to), но имя файла добавляется с именем папки. Таким образом, если загруженный файл word1.mp3, файл сохраняется как bootstrapword1.mp3. Как я могу сохранить файл с исходным именем без предварительного и правильного пути?
Попробуйте отладить первый ... Скопируйте первый аргумент функции fipen в var_dump вызов, чтобы увидеть, что путь формирования и вы поймете, почему вы получаете самозагрузки строки в имени файла –
Это выглядит, как вы «Я сам отвечаю на ваш вопрос, поэтому я согласен с нижним рейтингом. Это ничего особенного, это базовые манипуляции с строкой и забывание проверить «var_dump (dirname (__ FILE __))», чтобы увидеть, содержит ли строка требуемую конечную косую черту (потому что это не так). –
Не знал, что неправильно отвечать на вопрос, если он действительно найдет ответ самостоятельно. Это не похоже на то, что искатель получает какие-либо повторители, отвечая на свой вопрос, поэтому я не знаю, почему они должны наказываться, но идти вперед. Счастливое издевательство. Я доволен, что у меня есть ответ, который мне нужен. :) – TheLearner