Foros del Web » Administración de Sistemas » Software para Servers »

subir archivos al servidor mediante codigo php y jquery

Estas en el tema de subir archivos al servidor mediante codigo php y jquery en el foro de Software para Servers en Foros del Web. Hola Necesito la ayuda de alguien urgentemente , explico mi problema Hace un par de semanas contrate un servidor dedicado para un sistema que desarrolle, ...
  #1 (permalink)  
Antiguo 18/09/2013, 23:25
 
Fecha de Ingreso: diciembre-2010
Mensajes: 49
Antigüedad: 14 años
Puntos: 0
Mensaje subir archivos al servidor mediante codigo php y jquery

Hola
Necesito la ayuda de alguien urgentemente , explico mi problema
Hace un par de semanas contrate un servidor dedicado para un sistema que desarrolle, pero por la necesidad de la aplicacion, tuve que migrar el sistema de un servidor compartido a un servidor dedicado.
El problema es el siguiente, ay una parte en el sistema que se sube archivos a traves de un formulario, pero el problema es el siguiente es que no sube los archivos al sistema, en el servidor compartido donde se alojaba el sistema subia los archivos sin ningun problema, pero al hacer la migracion al servidor dedicado simplemente no lo sube.
Ya revise los permisos de carpeta puse lo que son los correctos, pero aun asi el problema sigue no se sube los archivos.
Anexo el codigo donde se hace la carga de los archivos
CODIGO DE FORMULARIO
<script>
$(document).ready(function(){
$("#registro").validationEngine();
$("#registro").submit(function(e){
e.preventDefault();
$(".loader").html('<img src="images/loader.gif" />');
if($("#file_list").val()==""){
$('#file-uploader').validationEngine('showPrompt', '* El archivo es obligatorio', 'error');
$(".loader").html('<input class="botonenviar enviar" name="insert" type="submit" value="Enviar" style="margin:0;" />');
}
else{
$('.file-uploaderformError').remove();
if($("#registro").validationEngine('validate')){
$.ajax({
type: "POST",
data: $(this).serialize(),
url: "acciones/registro_cfdi.php",
success: function(msg){
<?php if(isset($_SESSION['empresa'])){?>
timbres();
resumen();
<?php }?>
if(msg.indexOf("El RFC del receptor no corresponde con el RFC")!=-1){
alert(msg);
$.colorbox.close();
}else{
$.colorbox({html:msg});
$(".flexme3_cfdi").flexReload();
$(".loader").html('<input class="botonenviar enviar" name="insert" type="submit" value="Enviar" style="margin:0;" />');
$.colorbox.resize({'width':'600px', 'height':'670px'});
}
}
});
}else{$(".loader").html('<input class="botonenviar enviar" name="insert" type="submit" value="Enviar" style="margin:0;" />');}
}
});
var uploader = new qq.FileUploader({
element: document.getElementById('file-uploader'),
action: 'acciones/php.php',
multiple:false,
allowedExtensions: ['xml', 'zip'],
sizeLimit: 10*1024*1024,
onSubmit: function(id, fileName){
$.colorbox.resize();
},
onComplete: function(id, fileName, responseJSON){
$.colorbox.resize();
$("#file_list").val(fileName);
$("#prefix").val(responseJSON.prefix);
}
});
$( "#fecha_pago" ).datepicker({ dateFormat: "dd/mm/yy" });
});
</script>
<fieldset id="registrousuario">
<form id="registro" action="" name="registro">
<div id="file-uploader" style="margin-top:10px;">
<noscript>
<p>Active JavaScript para subir archivos.</p>

</noscript>
</div>
<?php if(!isset($_SESSION['proveedor'])){ ?>
<label for="archivo">Enviar a:</label>
<select class="texto texto_gde validate[required]" name="division" id="division" >
<option value="">Seleccione una opción</option>
<option value="matriz">Matriz</option>
<?php foreach($divisiones['divisiones'] as $p){
if( (count($permisos)==0 || in_array($p->getId_division(), $permisos) )
){
?>
<option value="<?php echo $p->getId_division();?>"><?php echo $p->getIdentificador();?></option>
<?php }
} ?>
</select>
<?php }else{ ?>
<input type="hidden" name="division" value="" />
<?php }?>
<label for="referencia">C&oacute;digo de referencia / Orden de compra:</label>
<input class="texto texto_gde" name="referencia" id="referencia" type="text" />
<?php if(!isset($_SESSION['proveedor']) && ($_SESSION['rol']==1 || $_SESSION['rol']==2)){?>
<label for="archivo">Fecha de pago:</label>
<input class="texto texto_gde" name="fecha_pago" id="fecha_pago" />
<label for="archivo">Número de cheque o transferencia:</label>
<input class="texto texto_gde" name="numero_cheque" id="numero_cheque" />
<label for="archivo">Observaciones:</label>
<input class="texto texto_gde" name="observaciones" id="observaciones"/>
<?php }?>
<input type="hidden" name="file_list" id="file_list" value="" />
<input type="hidden" name="prefix" id="prefix" value="" />
<span class="loader"><input class="botonenviar enviar" name="insert" type="submit" value="Enviar" style="margin:0;" /></span>
</form>
</fieldset>

codigo para subir los archivos
<?php
$filters = new FiltersForQuery();
if(isset($_SESSION['proveedor'])){
$filters->addFilter('id_proveedor', FiltersForQuery::OPERATOR_EQUAL, $_SESSION['proveedor']);
$proveedores['proveedor']=ProveedorFactory::loadList($filters);
$idEmpresa=$proveedores['proveedor'][$_SESSION['proveedor']]->getId_empresa();
}else $idEmpresa=$_SESSION['empresa'];
$idEmpresa=base64UrlEncode($idEmpresa);
@mkdir('../cfdi/'.$idEmpresa);
@chmod('../cfdi/'.$idEmpresa, 0777);
class qqUploadedFileXhr {
function save($path) {
$input = fopen("php://input", "r");
$temp = tmpfile();
$realSize = stream_copy_to_stream($input, $temp);
fclose($input);
if ($realSize != $this->getSize()){
return false;
}
$target = fopen($path, "w");
fseek($temp, 0, SEEK_SET);
stream_copy_to_stream($temp, $target);
fclose($target);
return true;
}
function getName() {
return $_GET['qqfile'];
}
function getSize() {
if (isset($_SERVER["CONTENT_LENGTH"])){
return (int)$_SERVER["CONTENT_LENGTH"];
} else {
throw new Exception('content length no soportado.');
}
}
}
class qqUploadedFileForm {
function save($path) {
if(!move_uploaded_file($_FILES['qqfile']['tmp_name'], $path)){
return false;
}
return true;
}
function getName() {
return $_FILES['qqfile']['name'];
}
function getSize() {
return $_FILES['qqfile']['size'];
}
}
class qqFileUploader {
private $allowedExtensions = array();
private $sizeLimit = 10485760;
private $file;
function __construct(array $allowedExtensions = array(), $sizeLimit = 10485760){
$allowedExtensions = array_map("strtolower", $allowedExtensions);
$this->allowedExtensions = $allowedExtensions;
$this->sizeLimit = $sizeLimit;
$this->checkServerSettings();
if (isset($_GET['qqfile'])) {
$this->file = new qqUploadedFileXhr();
} elseif (isset($_FILES['qqfile'])) {
$this->file = new qqUploadedFileForm();
} else {
$this->file = false;
}
}

private function checkServerSettings(){
$postSize = $this->toBytes(ini_get('post_max_size'));
$uploadSize = $this->toBytes(ini_get('upload_max_filesize'));

if ($postSize < $this->sizeLimit || $uploadSize < $this->sizeLimit){
$size = max(1, $this->sizeLimit / 1024 / 1024) . 'M';
die("{'error':' error de entorno'}");
}
}
private function toBytes($str){
$val = trim($str);
$last = strtolower($str[strlen($str)-1]);
switch($last) {
case 'g': $val *= 1024;
case 'm': $val *= 1024;
case 'k': $val *= 1024;
}
return $val;
}

function handleUpload($uploadDirectory, $replaceOldFile = FALSE){
if (!is_writable($uploadDirectory)){
return array('error' => "Error de servidor.");
}

if (!$this->file){
return array('error' => 'No se subieron archivos.');
}

$size = $this->file->getSize();

if ($size == 0) {
return array('error' => 'El archivo no tiene contenido');
}

if ($size > $this->sizeLimit) {
return array('error' => 'El archivo es muy grande');
}

$pathinfo = pathinfo($this->file->getName());
$filename = $pathinfo['filename'];
$ext = $pathinfo['extension'];

if($this->allowedExtensions && !in_array(strtolower($ext), $this->allowedExtensions)){
$these = implode(', ', $this->allowedExtensions);
return array('error' => 'tipo de archivo no permitido, solo se admite: '. $these . '.');
}
$prefix=time();
if(!$replaceOldFile){

while (file_exists($uploadDirectory.'/'.$prefix.$filename . '.' . $ext)) {
$filename .= rand(10, 99);
}
}

if ($this->file->save($uploadDirectory .'/'.$prefix.$filename . '.' . $ext)){
return array('success'=>true, 'prefix'=>$prefix);
} else {
return array('error'=> 'No se pudo subir el archivo.' .
'La operación fue cancelada, o error de servidor encontrado');
}

}
}
$allowedExtensions = array("xml", "zip");
$sizeLimit = 2 * 1024 * 1024;
$uploader = new qqFileUploader($allowedExtensions, $sizeLimit);
$result = $uploader->handleUpload('../cfdi/'.$idEmpresa);
echo htmlspecialchars(json_encode($result), ENT_NOQUOTES);

Espero contar con la ayuda de alguien.
Saludos Cordiales
  #2 (permalink)  
Antiguo 19/09/2013, 13:12
 
Fecha de Ingreso: octubre-2010
Mensajes: 374
Antigüedad: 14 años, 2 meses
Puntos: 34
Respuesta: subir archivos al servidor mediante codigo php y jquery

Si el script funcionaba en un server y no funciona en otro algo de la configuración es, si crees que el problema es el script, has publicado en el subforo equivocado.

Tienes que revisar la configuración del php / apache -> mod_segurity y ver los logs a ver por que esta fallando.
__________________
Administrador de Servidores -> yo[arroba]skamasle[puntito]com
| Debian | Centos |
| Solución de Problemas | Seguridad | Instalaciones y Configuraciones | Soluciones Anti-DDOS

Etiquetas: html, ip, jquery, mediante, php, red, server, servidor, servidores-web, url
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 06:46.