Ver Mensaje Individual
  #1 (permalink)  
Antiguo 20/05/2010, 05:20
evoarte
 
Fecha de Ingreso: julio-2002
Mensajes: 813
Antigüedad: 21 años, 9 meses
Puntos: 2
no se abre ni se guarda el archivo

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'];
}
}
?>