Hallo,
ik zit nu al enkele dagen te broeden op een probleem van multi file downloader.
Mijn vereniging (zangkoor) heeft een aantal midi files dat ze aan de leden wil aanbieden. Per stem zouden ze een aantal midi_files kunnen afhalen, en opslaan op hun locale map. Echter kan ik niet bepalen waar die zullen terecht komen en of ze wel volledig overgezet zijn.
Hier mijn code:
<?php
define('BASE_DIR','./downloads/vivaldi/');
define('LOG_DOWNLOADS',true);
// log file name
define('LOG_FILE','downloads.log');
function file_array($path, $exclude = ".|..", $recursive = true) {
$path = rtrim($path, "/") . "/";
$folder_handle = opendir($path);
$exclude_array = explode("|", $exclude);
$result = array();
while(false !== ($filename = readdir($folder_handle))) {
if(!in_array(strtolower($filename), $exclude_array)) {
if(is_dir($path . $filename . "/")) {
if($recursive) $result[] = file_array($path, $exclude, true);
} else {
$result[] = $filename;
}
}
}
return $result;
}
if ($_SERVER['REQUEST_METHOD'] == 'POST') {
$allowed_ext = array (
'zip' => 'application/zip',
// images
'gif' => 'image/gif',
'png' => 'image/png',
'jpg' => 'image/jpeg',
'jpeg' => 'image/jpeg',
// audio
'mp3' => 'audio/mpeg',
'wav' => 'audio/x-wav',
'mid' => 'audio/midi' ,
'avi' => 'video/x-msvideo'
);
$my_array = explode(",",$_POST['single_value']);
$date = date('d:m:Y');
$time = date('H:i');
$to = '[email protected]';
if(isset($_POST['submit'])) {
if(isset($_POST['frmslct'])) {
foreach( $_POST['frmslct'] as $key => $value) {
$urls[]=$my_array[$value];
}
$mh = curl_multi_init();
foreach ( $urls as $i => $url) {
$g=$save_to.basename($url);
if(!is_file($g)){
$conn[$i]=curl_init($url);
$fp[$i]=fopen ($g, "w");
curl_setopt ($conn[$i], CURLOPT_FILE, $fp[$i]);
curl_setopt ($conn[$i], CURLOPT_HEADER ,0);
curl_setopt($conn[$i],CURLOPT_CONNECTTIMEOUT,60);
curl_multi_add_handle ($mh,$conn[$i]);
}
}
do {
$n=curl_multi_exec($mh,$active);
}
while ($active);
foreach ($urls as $i => $url) {
curl_multi_remove_handle($mh,$conn[$i]);
curl_exec($conn[$i]);
curl_close($conn[$i]);
fclose ($fp[$i]);
}
curl_multi_close($mh);
}
} */
}
else
{
$stem_file_arr = array();
$ip = getenv('REMOTE_ADDR');
$ip = $_SERVER['REMOTE_ADDR'];
$file_arr =array();
$file_arr = file_array(BASE_DIR);
$file_count = count($file_arr);
$stem = 'alt' ;
$stem_file_arr = array();
foreach ($file_arr as $key => $value) {
global $stem_file_arr;
if(preg_match("/".$stem."/", $value)){
$stem_file_arr[] = $value;
}
}
$single_value = implode(",", $stem_file_arr);
?>
<form name='frm1' id='frm1' action="<? $_SERVER['PHP_SELF']; ?>" method='post'>
<input type='hidden'>
<select id="frmslct" multiple name='frmslct[]' size='15'>
<optgroup label='<? echo $stem ?>'>
<?php
foreach ($stem_file_arr as $key => $value) {
echo "<option value =".$key.">".$value."</option>";
}
?>
</optgroup>
</select>
<input type='hidden' name='single_value' value='<? echo htmlspecialchars($single_value); ?>'>
<p><input type='submit' name='submit' id='submit' value='Verzenden' align='left'></p>
</form>
<?php
}
?>
Kan iemand me hierin helpen
849 views