我在我的Windows機器中有本地wamp服務器。 在www目錄中我有文件夾稱爲項目。 C:WWW /項目/ index.php文件。從URL URL的PHP curl下載文件
和下一個相同的路徑,我有目錄來保存目標位置c:www/project/downloads。
當我跑我的本地http://localhost:8089/curl/index.php
這是我的代碼:
<?php class download {
const URL_MAX_LENGTH = 3000;
protected function cleanUrl($url) {
if(isset($url)){
if(!empty($url)){
if(strlen($url) < self::URL_MAX_LENGTH) {
return strip_tags($url);
}
}
}
}
//is url
protected function isUrl($url) {
$url = $this->cleanUrl($url);
if(isset($url)) {
if(filter_var($url, FILTER_VALIDATE_URL, FILTER_FLAG_PATH_REQUIRED)) {
return $url;
}
}
}
protected function returnExtension($url) {
if($this->isUrl($url)) {
$end = end(preg_split("/[.]+/", $url));
if(isset($end)) {
return $end;
}
}
}
public function downloadFile($url) {
if($this->isUrl($url)) {
$extension = $this->returnExtension($url);
if($extension) {
echo $url;
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, false);
$return = curl_exec($ch);
$destination = "downloads/file.$extension";
$file = fopen($destination, "w+");
fputs($file, $return);
}
if(fclose($file)){
echo "File Download";
}
}
}
}
$obj = new Download();
if(isset($_POST['url'])) { $url = $_POST['url']; } ?>
<form action="http://localhost:8089/curl/index.php" method="post">
<input type="text" name="url" maxlength="3000"/>
<input type="submit" value="download"/>
</form>
<?php if(isset($url)) { $obj->downloadFile($url); } ?>
,你可以請一些這方面的一個幫助嗎?
非常感謝, 帕拉尼
HI周杰倫,謝謝你的帖子,現在它正在工作文件:) – user6420577
歡迎..... :) –