PHP - Subir archivos a servidor CENTOS

   
Vista:

Subir archivos a servidor CENTOS

Publicado por Marco (21 intervenciones) el 26/07/2013 18:05:18
miren ando haciendo un sistema de captura, tengo que subir archivos específicos (PDF y PNG) cuando lo trabajo de manera local (localhost) no me causa problemas al anexar el archivo, pero cuando ya quiero subir los archivos a mi pagina no los copea a que se debe, este es mi código php....


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
<?php
/* redimenciona php
$ruta_imagen = 'imagen_de_prueba.png';
$imagen_original = imagecreatefrompng($ruta_imagen);
$ancho_original = imagesx($imagen_original);
$alto_original = imagesy($imagen_original);
$ancho_final = 387;
$alto_final = 377;
$imagen_redimensionada = imagecreatetruecolor($ancho_final, $alto_final);
imagecopyresampled($imagen_redimensionada, $imagen_original, 0, 0, 0, 0, $ancho_final, $alto_final, $ancho_original, $alto_original);
imagepng($imagen_redimensionada, 'imagen_redimensionada.png');
imagedestroy($imagen_original);
imagedestroy($imagen_redimensionada);
*/
 
$rutaEnServidor='img/productos';
$ruta_imagen =$_FILES['imagen']['tmp_name'];
//$nombreImagen=$_FILES['imagen']['name'];
$nombreImagen=$_POST['Modelo'];
 
$srcImg_type = $_FILES["imagen"]["type"];
 
if($srcImg_type == "image/png"){
  //Codigo indicando si es png lo suba al servidor
  $rutaDestino=$rutaEnServidor.'/'.$nombreImagen;
$imagen_original = imagecreatefrompng($ruta_imagen);
$ancho_original = imagesx($imagen_original);
$alto_original = imagesy($imagen_original);
$ancho_final = 387;
$alto_final = 377;
$imagen_redimensionada = imagecreatetruecolor($ancho_final, $alto_final);
imagecopyresampled(
$imagen_redimensionada, $imagen_original, 0, 0, 0, 0, $ancho_final, $alto_final, $ancho_original, $alto_original);
imagepng($imagen_redimensionada, $rutaEnServidor.'/'.$nombreImagen.'.png');
imagedestroy($imagen_original);
imagedestroy($imagen_redimensionada);
}else{
  //manda error de formato de archivo
  //include ("cargar.html");
  // echo "error al intentar subir archivos intente de nuevo por favor con n archivo PNG <br>";
  ?>
<script language="javascript">
alert("Intenta subir un archivo PNG");
 
</script>
 
<?
include("pagina_usuario.php");exit;
}
 
 
if($_FILES['pdf']['tmp_name']!="" && $_FILES['pdf']['error']==0){
 
 //obtengo la extension de un archivo
 $aux=$_FILES['pdf']['name'];
 
 
 //$extension=strtolower(array_pop(explode(".",$aux)));
$trozos = explode(".", $aux);
$extension = end($trozos);
}
else{
	 ?>
	<script language="javascript">
alert("Intenta subir un archivo PDF");
 
</script>
<?php
include("pagina_usuario.php");exit;
    }
 
 
  // si es pdf sigo sino le alerto al usuario.
  if($extension=="pdf"){
 //  move_uploaded_file($_FILES['pdf']['tmp_name'],"docs/".str_replace(" ","_",$_FILES['pdf']['name']));
   move_uploaded_file($_FILES['pdf']['tmp_name'],"hyundaiitmexico.com.mx/docs/"."$nombreImagen".".pdf");
    }else{
	 ?>
	<script language="javascript">
alert("Intenta subir un archivo PDF");
 
</script>
<?php
include("pagina_usuario.php");exit;
    }
 
 
 include ("subir.php");
 
 ?>
	<script language="javascript">
alert("registro guardado");
</script>
<?php
 
include("pagina_usuario.php");
 
 
 
/* ruta al servidor php
$rutaEnServidor='imagenes';
$rutaTemporal=$_FILES['imagen']['tmp_name'];
$nombreImagen=$_FILES['imagen']['name'];
$rutaDestino=$rutaEnServidor.'/'.$nombreImagen;
move_uploaded_file($rutaTemporal,$rutaDestino);
*/
 
?>
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de xve

Subir archivos a servidor CENTOS

Publicado por xve (5520 intervenciones) el 26/07/2013 21:01:47
Hola Marco, te da algun error?

Podría ser que el usuario del servidor web, no tenga permisos en la carpeta destino?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Subir archivos a servidor CENTOS

Publicado por Marco (21 intervenciones) el 26/07/2013 22:01:03
no, no me marca ningún error, de echo las carpetas les di todos los permisos prácticamente esta en 777
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Subir archivos a servidor CENTOS

Publicado por xx (4 intervenciones) el 27/07/2013 05:40:55
Mira te cuento yo tuve algunos cientos de problemas al migrar de xampp para linux, casi me vuelvo loco y al menos ubuntu no te muestra ningun error en el navegador, para ello tenes que fijarte en los log's del apache claro esto es para ubuntu no se para centos, pero obviamente esto no funciona si en el php.ini tenes deshabilitado el error_reporting = E_ALL y no recuerdo que otros partes mas deberias cambiar para poder ver en los logs de apache

Saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de xve

Subir archivos a servidor CENTOS

Publicado por xve (5520 intervenciones) el 27/07/2013 10:43:17
Para que te muestre los errores en los logs, tienes que tener en el php.ini:
log_errors = On

Coméntanos que error es, ok? me tiene intrigado...
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Subir archivos a servidor CENTOS

Publicado por Marco (21 intervenciones) el 27/07/2013 20:41:58
ya pude resolver el problema era un detalle muy simple en efecto tenia modificado el php.ini pero ni así jalaba lo que hice fue poner toda la ruta desde el directorio raíz en donde va ser guardada la imagen y el pdf quedando así las dos lineas una de el PNG
$rutaEnServidor='/var/www/html/img/productos';

y la otra del PDF

move_uploaded_file($_FILES['pdf']['tmp_name'],"/var/www/html/docs/"."$nombreImagen".".pdf");


con eso funciono sin problemas...
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de xve

Subir archivos a servidor CENTOS

Publicado por xve (5520 intervenciones) el 28/07/2013 10:33:04
hay... si es verdad, hay que indicar la ruta entera...

Una muy buena manera de hacerlo es utilizar: $_SERVER['DOCUMENT_ROOT']... esto te devuelve la raíz de tu web, de esta manera, si cambias de hosting, no tendras nuevamente este problema.

Gracias por comentarlo Marco.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar