Foros del Web » Programando para Internet » PHP »

codigo no funciona en servidores de 000webhost, porque?

Estas en el tema de codigo no funciona en servidores de 000webhost, porque? en el foro de PHP en Foros del Web. buenas!!! explico.... tengo un codigo php que sube y redimenciona una imagen en el servidor, fundiona perfectamente en forma local pero al subirla en servidor ...
  #1 (permalink)  
Antiguo 09/08/2010, 23:51
 
Fecha de Ingreso: abril-2003
Ubicación: Mexico
Mensajes: 604
Antigüedad: 21 años
Puntos: 23
Pregunta codigo no funciona en servidores de 000webhost, porque?

buenas!!!

explico.... tengo un codigo php que sube y redimenciona una imagen en el servidor, fundiona perfectamente en forma local pero al subirla en servidor gratuito de 000webhost no funciona
el error que dice es que no tiene permisos de escritura pero... la carpeta ya tiene permisos 777 y sube perfecto con otro codigo que NO redimenciona la imagen

pongo los dos codigos
este funciona perfecto:

Código PHP:
if (is_uploaded_file($HTTP_POST_FILES['userfile']['tmp_name'])) 
             { 
              
copy($HTTP_POST_FILES['userfile']['tmp_name'],$uploadfile ); 
              echo 
"<center><img src=\"$uploadfile\" border=\"0\" width=\"71\" height=\"85\"><br>"
              echo 
"<br><br><b>La Foto de : <b>$nomb</b> ha sido Cambiada Correctamente.\n </b><br>";
              echo 
"<br><br><b>Con el CUM : <b>$buscarug</b> .\n </b><br>";
} else { 
pero este no:
Código PHP:
  $uploaddir '../images/';
  
$uploadfile $uploaddir $buscarug.".jpg";
//echo $uploadfile;
//userfile es el campo del formulario 
//echo "<BR> HT POST : ".$HTTP_POST_FILES['userfile'];
       
if (is_uploaded_file($HTTP_POST_FILES['userfile']['tmp_name'])) {
              
copy($HTTP_POST_FILES['userfile']['tmp_name'],$uploadfile ); 

          
$original imagecreatefromjpeg($uploadfile); //para JPG exclusivamente
//            echo $original;
          
$thumb imagecreatetruecolor(71,85); // Lo haremos de un tamaño 150x150

          
$ancho imagesx($original);
          
$alto imagesy($original);

          
imagecopyresampled($thumb,$original,0,0,0,0,71,85,$ancho,$alto);
          
imagejpeg($thumb,"$uploadfile",90); // 90 es la calidad de compresión

              
echo "<center><img src=\"$uploadfile\" border=\"0\" width=\"71\" height=\"85\"><br>"
              echo 
"<br><br><b>La Foto de : <b>$nomb</b> ha sido Cambiada Correctamente.\n </b><br>";
              echo 
"<br><br><b>Con el CUM : <b>$buscarug</b> .\n </b><br>";
       } else { 
el codigo es un fragmento obviamente, y aparentemente no hay error alguno en la programacion, almenos de mi humilde opinion y escasos conocimientos no le encuentro.....
el caso es que en local con servidor XAMMP funciona perfecto pero en el host no

alguien que me apoye u oriente???

de antemano muchas gracias!!!

un saludo!!!
__________________
¡El Respeto al Derecho Ajeno Es la Paz!
  #2 (permalink)  
Antiguo 10/08/2010, 10:23
Avatar de lair  
Fecha de Ingreso: enero-2009
Ubicación: header('Location: Morelia");
Mensajes: 1.052
Antigüedad: 15 años, 3 meses
Puntos: 46
Respuesta: codigo no funciona en servidores de 000webhost, porque?

Hola.

Puedes poner exactamento lo que dice el error??

si es posible copia y pega

Espero respuesta.
  #3 (permalink)  
Antiguo 10/08/2010, 13:06
 
Fecha de Ingreso: abril-2003
Ubicación: Mexico
Mensajes: 604
Antigüedad: 21 años
Puntos: 23
Respuesta: codigo no funciona en servidores de 000webhost, porque?

Buenas!!!

Gracias por responder

este es el error:
Código:
PHP Error Message 

Warning: copy(../images/YUCG1ANRV93.jpg) [function.copy]: failed to open stream: Permission denied in /home/a4387993/public_html/jg/sube.php on line 92

Free Web Hosting 

PHP Error Message 

Warning: imagejpeg() [function.imagejpeg]: Unable to open '../images/YUCG1ANRV93.jpg' for writing: Permission denied in /home/a4387993/public_html/jg/sube.php on line 102
se que lo que dice es que no se tiene permisos de escritura... el caso es que los permisos de la carpeta estan en 777 por lo que no tengo idea

un saludo!!
__________________
¡El Respeto al Derecho Ajeno Es la Paz!
  #4 (permalink)  
Antiguo 10/08/2010, 15:32
Avatar de lair  
Fecha de Ingreso: enero-2009
Ubicación: header('Location: Morelia");
Mensajes: 1.052
Antigüedad: 15 años, 3 meses
Puntos: 46
Respuesta: codigo no funciona en servidores de 000webhost, porque?

Oye pero tu carpeta esta un directorio arriba que tu archivo php??
y tu carpeta images/ esta dentro de www o httpdocs o algo asi??
otra cosa, quien es el propietario de dicha carpeta?
  #5 (permalink)  
Antiguo 10/08/2010, 17:19
 
Fecha de Ingreso: abril-2003
Ubicación: Mexico
Mensajes: 604
Antigüedad: 21 años
Puntos: 23
Respuesta: codigo no funciona en servidores de 000webhost, porque?

buenas!!!

no, las carpetas estan asi

esta esta el script que sube las fotos
/home/a4387993/public_html/jg/

y la carpeta de las fotos esta aqui
/home/a4387993/public_html/images/

es por eso que para subir la imagen va en

../images/elnombre.jpg

todo funciona perfecto en local... pero en el host no

y no entiendo porque...

el problema que marca es de permisos de escritura, pero como ya dije la carpeta de
../images/
tiene privilegios 777
tenia 644 pero en vista del error lo cambie y no se quito el problema
repito que en local funciona con 644

haber si me orientas

un saludo!!
__________________
¡El Respeto al Derecho Ajeno Es la Paz!
  #6 (permalink)  
Antiguo 10/08/2010, 17:57
Avatar de lair  
Fecha de Ingreso: enero-2009
Ubicación: header('Location: Morelia");
Mensajes: 1.052
Antigüedad: 15 años, 3 meses
Puntos: 46
Respuesta: codigo no funciona en servidores de 000webhost, porque?

Hola.

mira segun yo, un 777 para algunos servidores es algo muy vulnerable y creo que no lo respetan, repito, segun yo.

prueba cambiando los privilegios a 766.
y la otra ve si es posible poner la carpeta como propiedad de apache (busca algo como owner), o que la carpeta la cree apache para que asi sea este quien tiene prioridad sobre ella.

suerte.

Edito: otra cosa que se me olvidava, verifica que los archivos no midan mas de 2mb.

esto debido a las directivas de php
post_max_size => esta por lo general es de 8mb
upload_max_filesize => y esta de 2mb

A demas si no te deja "asignarle" esa carpeta a apache haces un script con el siguiente codigo
Código PHP:
Ver original
  1. <?php
  2. mkdir("/ruta/a/mi/directorio", 0755);
  3. ?>

para que ya asi trabajes con esa carpeta.

suerte

Última edición por lair; 10/08/2010 a las 18:06
  #7 (permalink)  
Antiguo 11/08/2010, 00:27
 
Fecha de Ingreso: abril-2003
Ubicación: Mexico
Mensajes: 604
Antigüedad: 21 años
Puntos: 23
Respuesta: codigo no funciona en servidores de 000webhost, porque?

Buenas!!!

bueno.... descubri algo muy raro que me gustaria comentar haber si alguien sabe el motivo....

resulta que al migrar los registros al host se copiaron fotos y demas cosas la cosa es que el script marca error con fotos que se subieron con el ftp pero... NO con archivos que sube el mismo script

me Explico....

borro una foto y le pongo cambiar de foto y esto lo realiza perfectamente, pero... si la foto es de las subidas con el cliente FTP este marca error de permisos de escritura...

me puse a checar los permisos de los archivos y todos incluyendo los que subieron por FTP tienen los mismos privilegios... lo que me deja sin explicacion....
porque lo mas logico seria que marcara error cuando los privilegios o atributos fueran diferentes, pero al ser iguales... lo unico diferente es que unos suben por el script y otros por FTP

lo que solo me deja por opcion que tengo que borrar todos los archivos e ir cambiandolos uno por uno, cosa que no me agrada mucho ya que son mas de 150 registros actualmente... :S

haber si alguien tiene alguna explicacion logica.... o mejor aun... una solucion....

un saludo!!
__________________
¡El Respeto al Derecho Ajeno Es la Paz!
  #8 (permalink)  
Antiguo 11/08/2010, 09:50
Avatar de lair  
Fecha de Ingreso: enero-2009
Ubicación: header('Location: Morelia");
Mensajes: 1.052
Antigüedad: 15 años, 3 meses
Puntos: 46
Respuesta: codigo no funciona en servidores de 000webhost, porque?

Cita:
Iniciado por lair Ver Mensaje
ve si es posible poner la carpeta como propiedad de apache (busca algo como owner)
no es ta raro es parte de las soluciones que te planteo, en ese caso tus archivos son propiedad de el usuario del ftp ve si es posible cambiarlo por el mismo usuario que tienen los archivos que ya lograste subir con el script

Suerte.
  #9 (permalink)  
Antiguo 11/08/2010, 10:43
 
Fecha de Ingreso: junio-2009
Mensajes: 128
Antigüedad: 14 años, 10 meses
Puntos: 5
Respuesta: codigo no funciona en servidores de 000webhost, porque?

Buen día amigo,

Algunos servidores tienen sus propios permisos para este tipo de aplicaciones, por ejemplo yo tuve el mismo error y no se solucionaba con un 777, ni otros parecidos, sinio que escribí al soporte y me dijeron que con el

750 / 755 debería funcionar, y precisamente eso fue.

Escribe a tu soporte técnico por que claramente son los permisos y estoy seguro que este es el caso de "permisos predefinidos" para script por tu propio hosting.

Saludos
__________________
krowmx
Hostings y Dominios
Tú defines la idea, nosotros la desarrollamos
  #10 (permalink)  
Antiguo 11/08/2010, 11:58
Avatar de lair  
Fecha de Ingreso: enero-2009
Ubicación: header('Location: Morelia");
Mensajes: 1.052
Antigüedad: 15 años, 3 meses
Puntos: 46
Respuesta: codigo no funciona en servidores de 000webhost, porque?

quiza tienes razon KrowMx con lo que yo le proponia
Cita:
Iniciado por lair Ver Mensaje
prueba cambiando los privilegios a 766.
solo otorga privilegios de lectura y escritura
pero quiza son necesario mas bien
de lectura y ejecucion asi como dices tu 755

Etiquetas: servidores, webhost
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 04:55.