Foros del Web » Programando para Internet » PHP »

Ayuda con brandwidth

Estas en el tema de Ayuda con brandwidth en el foro de PHP en Foros del Web. Saludos, pues no se en que categoría debería ir esto, pero lo voy a postear aquí. Em intentare explicarlo lo mejor posible para que entiendan ...
  #1 (permalink)  
Antiguo 21/06/2008, 09:32
Avatar de TxT
TxT
 
Fecha de Ingreso: junio-2008
Ubicación: Canada
Mensajes: 272
Antigüedad: 15 años, 10 meses
Puntos: 2
Ayuda con brandwidth

Saludos, pues no se en que categoría debería ir esto, pero lo voy a postear aquí.
Em intentare explicarlo lo mejor posible para que entiendan exactamente que es lo que quiero.

Me gustaria saber si saben algun script (un sistema ya fabricado, o no) con el cual puedo hacer para saber quien gasta brandwidth a una imagen.

Tengo una web de hosting de imagenes, y me gustaria saber en que web esta siendo usada dicha imagen para verificar para que la usan y eso. Ya que tenemos algunas reglas a respetar entonces no se si estan siendo respetadas o no.

Asi que es solo eso, solo saber digamos la imagen http://www.imagen.com/imagen.gif en que web y que tanto me gasta de brandwidth dicha imagen ;) Gracias!!!!
  #2 (permalink)  
Antiguo 21/06/2008, 10:16
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: Ayuda con brandwidth

te refieres a BANDWIDTH??? no brand -.-

mientras no controles el acceso del servidor, no puedes calcularlo... pero, si hicieras el envió de esta imagen por vía de un script PHP, seguro que sabrás de donde viene la llamada, con el referer ademas de cuanto pesa y su calculo de consumo, vía... filesize() supongo...

vaya, en ves de http://server/images/foo.jpg haces http://server/images/img.php?foo.jpg

bueno, eso pienso yo... ya que no conozco el "Brand" width, suerte!
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #3 (permalink)  
Antiguo 21/06/2008, 10:19
Avatar de TxT
TxT
 
Fecha de Ingreso: junio-2008
Ubicación: Canada
Mensajes: 272
Antigüedad: 15 años, 10 meses
Puntos: 2
Respuesta: Ayuda con brandwidth

Si hablaba de bandwidth perdon LoL puse una R de mas :S y bueno eso de server/images/img.php?foo.gif (o jpg) si el usuario pone eso en su web, va a salir la imagen de todas formas mismo si la imagen esta dentro de un archivo php?
  #4 (permalink)  
Antiguo 21/06/2008, 10:34
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: Ayuda con brandwidth

claro!!! es una técnica simple... ademas, de que controlas diversos datos provenientes del cliente que solicito la imagen... demás, es mas personalizable

img.php
Código PHP:
$img = isset($_GET['get'])? $_GET['get']: '';


// usando alguna carpeta no directa evitarias
// que la misma ruta sea usada "directamente"
// desde la barra de direcciones, por ejemplo
$path 'etc/datos/';
$img $path.$img:

if (!
is_file($img))
{  
// usamos, una imagen de error
  
$img 'img_error.png';
}

// en todo momento tienes datos por medio
// de la super global $_SERVER, no dudes en usarlos

$ext substr($imgstrrpos($img'.') + 1); // extension
$read file_get_contents($img); // contenido

header('content-length: '.strlen($read));
header('content-type: image/'.$ext);

echo 
$read;
exit; 
Ej. <img src="img.php?get=imagenes/logo.jpg"/>

la ruta hacia la imagen imagenes/logo.jpg debe existir, sino... envía una imagen de error... personalizable
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #5 (permalink)  
Antiguo 21/06/2008, 10:39
Avatar de TxT
TxT
 
Fecha de Ingreso: junio-2008
Ubicación: Canada
Mensajes: 272
Antigüedad: 15 años, 10 meses
Puntos: 2
Respuesta: Ayuda con brandwidth

Veo que la imagen que saca de error es tipo png, eso no importa? es decir si el usuario su imagen es tipo gif, y la imagen es borrada es decir ya no existe, no importa que la de error sea tipo png? o tendría que hacer un tipo de error para cada formato permitido?

Otra cosa, podrias explicarme esto:
Código PHP:
$img = isset($_GET['get'])? $_GET['get']: ''
  #6 (permalink)  
Antiguo 21/06/2008, 10:45
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: Ayuda con brandwidth

NO hay ningun problema, despues de todo, es la imagen de error... tu la eliges, pues

lo del ()?:, es un if-then-else corto, ej.

Código:
condicion ? true : false;
no se si se explica sola, pero.... es mas corto que hacer

Código PHP:
if (isset($_POST['foo']))
{  
// si existe la variable POST  "foo"
  
$variable $_POST['foo'];
}
else
// ton's, hay nada
  
$variable null;

es igual a...

Código PHP:
$variable = isset($_POST['foo']) ? $_POST['foo'] : null 
yo uso, siempre esta forma corta... para comprobar y definir variables, sin errores...
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #7 (permalink)  
Antiguo 21/06/2008, 10:48
Avatar de TxT
TxT
 
Fecha de Ingreso: junio-2008
Ubicación: Canada
Mensajes: 272
Antigüedad: 15 años, 10 meses
Puntos: 2
Respuesta: Ayuda con brandwidth

Wow muchisimas gracias, no conocia el If-Then-Else, acorta mucho el script ademas que hace el mismo resultado! :D Gracias!

Jaja me encanto esto del ? en verdad que no sabia absolutamente nada sobre el o_O mismo si lo habia visto varias veces antes nunca pense en preguntar que significaba! :D
  #8 (permalink)  
Antiguo 21/06/2008, 11:00
Avatar de TxT
TxT
 
Fecha de Ingreso: junio-2008
Ubicación: Canada
Mensajes: 272
Antigüedad: 15 años, 10 meses
Puntos: 2
Respuesta: Ayuda con brandwidth

No importa si pongo funciones dentro de ese script o si?
como digamos sacar el referido de dicha imagen (para saber donde se encuentra la imagen) y eso?? o puede dañar la imagen o algo?

:S perdon por el doble post no me acordaba que habia escrito antes :S

Última edición por TxT; 21/06/2008 a las 11:01 Razón: Doble Post! :S
  #9 (permalink)  
Antiguo 21/06/2008, 11:12
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: Ayuda con brandwidth

puedes hacer lo que quieras dentro del script, lo único que si no debes... es imprimir, ya que la única salida que necesitamos es la de la imagen... no mas

suerte!
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #10 (permalink)  
Antiguo 21/06/2008, 11:49
Avatar de TxT
TxT
 
Fecha de Ingreso: junio-2008
Ubicación: Canada
Mensajes: 272
Antigüedad: 15 años, 10 meses
Puntos: 2
Respuesta: Ayuda con brandwidth

em otra cosa :S me sale un error, El error es que siempre me sale (por mas que intento poner el patch como debería..) la imagen de error.

Mi patch si no me equivoco deberia ser:
/home/miweb/public_html/images/

Pero mismo si pongo solo images/ tampoco funciona, siempre me sale la imagen de error :S
  #11 (permalink)  
Antiguo 21/06/2008, 11:56
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: Ayuda con brandwidth

prueba con

Código PHP:
echo getcwd(); // carpeta actual

echo dirname(__FILE__); // script actual 
eso imprime donde estas trabajando, así sabrás donde esta el error... que es mas bien, de localización... suerte!

ya que puedo jurar que intentas referirte a images/ desde una carpeta que no esta arriba de esta ruta... o si?
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #12 (permalink)  
Antiguo 21/06/2008, 11:58
Avatar de TxT
TxT
 
Fecha de Ingreso: junio-2008
Ubicación: Canada
Mensajes: 272
Antigüedad: 15 años, 10 meses
Puntos: 2
Respuesta: Ayuda con brandwidth

Ahora me sale esto..
/home/miweb/public_html/home/miweb/public_html

Que es donde esta el script de img.php

y las imagenes estan en la carpeta /images/

Probe haciendo esto:
Código PHP:
$path getcwd()."/images/"
Y tampoco nada :S
  #13 (permalink)  
Antiguo 21/06/2008, 12:38
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: Ayuda con brandwidth

donde esta images?

/home/miweb/public_html/img.php <-- pues si aquí esta el script
/home/miweb/images/foo.jpg <-- y aquí están las imágenes

la ruta debería ser... (o se supone)

Código:
$path = '../images/';
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #14 (permalink)  
Antiguo 21/06/2008, 12:58
Avatar de TxT
TxT
 
Fecha de Ingreso: junio-2008
Ubicación: Canada
Mensajes: 272
Antigüedad: 15 años, 10 meses
Puntos: 2
Respuesta: Ayuda con brandwidth

Es asi:

/home/miweb/public_html/img.php <-- Script
/home/miweb/public_html/images/foo.jpg <--- Imagen

Y ya e intentado tambien ../images/ en patch y tampoco me funcionó :S
  #15 (permalink)  
Antiguo 21/06/2008, 13:08
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: Ayuda con brandwidth

y la imagen de error si carga???

donde esta esta imagen... seguro que esta bien la ruta como la escribes...
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #16 (permalink)  
Antiguo 21/06/2008, 13:18
Avatar de TxT
TxT
 
Fecha de Ingreso: junio-2008
Ubicación: Canada
Mensajes: 272
Antigüedad: 15 años, 10 meses
Puntos: 2
Respuesta: Ayuda con brandwidth

Sip 100% seguro que esta bien, y la imagen de carga esta en :

/home/miweb/public_html/error.gif

Donde esta el script img.php

Y la url que uso para ver la imagen es:

http://miweb.com/img.php?get=1213386376.jpeg

y Sale la imagen de error
  #17 (permalink)  
Antiguo 21/06/2008, 13:34
Avatar de TxT
TxT
 
Fecha de Ingreso: junio-2008
Ubicación: Canada
Mensajes: 272
Antigüedad: 15 años, 10 meses
Puntos: 2
Respuesta: Ayuda con brandwidth

Acabe de verificar algo, quite lo de patch y puse simplemente en la url:

http://miweb.com/img.php?get=images/1213386376.jpeg

Y asi si funciona, pero no logro entender entonces porque no funciona simplemente agregando el patch para que la url no sea dando la carpeta donde esta la imagen :S
  #18 (permalink)  
Antiguo 21/06/2008, 13:36
Avatar de TxT
TxT
 
Fecha de Ingreso: junio-2008
Ubicación: Canada
Mensajes: 272
Antigüedad: 15 años, 10 meses
Puntos: 2
Respuesta: Ayuda con brandwidth

Ahh listo, no se porque no funcionaba antes pero ahora en $patch solo puse images/ y no ../images/ o solo /images/ y me funciona correctamente o_O.

El problema es que ahora quiero usar un htaccess para que salga como por ejemplo miweb.com/imagenes/imagen.gif pero no funciona ya que no me funciona cuando pongo ../images/ :S

Tambien me di cuenta que poniendo en path esto:
/home/miweb/public_html/images/

me funciona para img.php pero en cuanto a la url imagenes/imagen.gif sigue sin funcionarme mismo si uso eso en el path :S sigue saliendome la imagen de error o_O

Última edición por TxT; 21/06/2008 a las 13:54
  #19 (permalink)  
Antiguo 21/06/2008, 14:59
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: Ayuda con brandwidth

el rewrite deberia ir asi... cierto?

Código:
RewriteRule ^images/(.+?)$ img.php?get=$1 [PT,L]
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #20 (permalink)  
Antiguo 21/06/2008, 15:10
Avatar de TxT
TxT
 
Fecha de Ingreso: junio-2008
Ubicación: Canada
Mensajes: 272
Antigüedad: 15 años, 10 meses
Puntos: 2
Respuesta: Ayuda con brandwidth

=D ya funciona!! Gracias! ^_^ ahora si que todo esta muy bien :D

Ahora como puedo hacer para saber donde esta dicha imagen? seguramente con alguna funcion la cual dice donde esta siendo mostrada o donde esta referida?

Gracias :)
  #21 (permalink)  
Antiguo 21/06/2008, 17:37
Avatar de TxT
TxT
 
Fecha de Ingreso: junio-2008
Ubicación: Canada
Mensajes: 272
Antigüedad: 15 años, 10 meses
Puntos: 2
Respuesta: Ayuda con brandwidth

Alguien me ayuda con esto plz, saber desde que web estan las imagenes? Thx!
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 13:56.