下面是从url下载文件的脚本。我想要的是多链接,如应该有三个或更多的输入url框,其中用户放置链接,脚本下载所有文件。我不想按一个按钮,并出现另一个url框;那不是我想要的,我已经尝试过了。或多重链接;这样的事情,我们可以把链接在每一行:需要帮助才能使此卷曲脚本多链接
<?php
class Download {
const URL_MAX_LENGTH=2000;
// clean url
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;
}
}
}
//return extension
protected function returnExtension($url){
if ($this->isUrl($url)){
$end = end(preg_split("/[.]+/", $url));
if (isset($end)){
return $end;
}
}
}
// file download
public function downloadFile($url){
if ($this->isUrl($url)){
$extension = $this->returnExtension($url);
if ($extension){
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$return = curl_exec($ch);
curl_close($ch);
// directory where files should be downloaded
$destination = "uploads/file.$extension";
$file = fopen($destination, "w+");
fputs($file, $return);
if (fclose($file)) {
echo "Successfully Download The File";
}
}
}
}
}
$obj = new Download();
if (isset($_POST['url'])) { $url = $_POST['url'];}
?>
<form action="index.php" method="post">
<input type="text" name="url" maxlength="2000">
<input type="submit" value="Download" />
</form>
<?php if (isset($url)) { $obj->downloadFile($url); }?>
你为什么不试试[爆炸](http://php.net/manual/en/function.explode.php)?打破它在新行 – Rohit
请你能解释多一点,因为我是一个新的即时通讯在PHP卷曲(:: – Abdulmanan