buenos días amigos,
 
trato de arrancar una aplicación opensource, y php es nuevo para mi.
 
realizo una llamada:
 http://midominio.es/index.php?module=uploads&action=downloadfile&return_module=Documents&fileid=1243434&entityid=7  9945
 
el server es w2008+IIS, y la carpeta donde se encuentra el archivo a descargar tiene permisos modificación+lectura+ejecución+escritura,
el código del archivo en cuestión (downloadfile.php):
 
<?php
require_once('config.php');
require_once('include/database/PearDatabase.php');
global $adb;
global $fileId, $default_charset, $app_strings;
$attachmentsid = $_REQUEST['fileid'];
$entityid = $_REQUEST['entityid'];
$returnmodule=$_REQUEST['return_module'];
$deletecheck = false;
if(!empty($entityid)) $deletecheck = $adb->pquery("SELECT deleted FROM vtiger_crmentity WHERE crmid=?", array($entityid));
 
if(!empty($deletecheck) && $adb->query_result($deletecheck, 0, 'deleted') == 1) 
{echo $app_strings['LBL_RECORD_DELETE'];}
 
 else {
$dbQuery = "SELECT * FROM vtiger_attachments WHERE attachmentsid = ?" ;
$result = $adb->pquery($dbQuery, array($attachmentsid)) or die("Couldn't get file list");
	if($adb->num_rows($result) == 1)
	{
	$fileType = @$adb->query_result($result, 0, "type");
	$name = @$adb->query_result($result, 0, "name");
	$filepath = @$adb->query_result($result, 0, "path");
	$name = html_entity_decode($name, ENT_QUOTES, $default_charset);
	$saved_filename = $attachmentsid."_".$name;
	$disk_file_size = filesize($filepath.$saved_filename);
	$filesize = $disk_file_size + ($disk_file_size % 1024);
	$fileContent = fread(fopen($filepath.$saved_filename, "r"), $filesize);
 
	header("Content-type: $fileType");
	header("Content-length: $filesize");
	header("Cache-Control: private");
	header("Content-Disposition: attachment; filename=$name");
	header("Content-Description: PHP Generated Data");
	echo $fileContent;
	}
	else
	{
		echo $app_strings['LBL_RECORD_NOT_FOUND'];
	}
}
?> 
   
 



