目標文件路徑我有捲曲下載功能如下:PHP: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
我的目的是要下載的文件存儲在:
爲/引導/發音/
當我運行該腳本,它下載如預期(我還沒有添加路徑pronunciations
文件夾還因爲我不知道怎麼的文件到文件夾bootstrap
到),但文件名前面加上了文件夾的名稱。因此,如果下載的文件是word1.mp3,則該文件保存爲bootstrapword1.mp3。我怎樣才能使用原始名稱保存文件而不需要任何前置和正確的路徑?
嘗試調試第一... fipen函數的第一個參數複製到電話的var_dump看什麼路徑生成,你就會明白爲什麼你所得到的引導字符串中的文件名 –
它看起來像你我自己回答你的問題,所以我同意downvote。這沒什麼特別的,這是基本的字符串操作,並忘記檢查'var_dump(dirname(__ FILE __))'來查看字符串是否包含所需的尾部斜槓(因爲它沒有)。 –
如果提問者確實發現自己的答案,不知道自己回答問題是錯誤的。這並不像提問者通過回答他們自己的問題而獲得任何代表,所以我不知道他們爲什麼應該受到處罰,但繼續前進。快樂的欺負。我很滿意我有我需要的答案。 :) – TheLearner