Foros del Web » Programando para Internet » PHP »

Sustituir cadenas en PHP

Estas en el tema de Sustituir cadenas en PHP en el foro de PHP en Foros del Web. Tengo un problema y es que en un formulario las imágenes que subo (cuyo enlace guardo en una base de datos) no se pueden mostrar ...
  #1 (permalink)  
Antiguo 29/06/2012, 10:36
 
Fecha de Ingreso: diciembre-2008
Mensajes: 738
Antigüedad: 15 años, 4 meses
Puntos: 15
Sustituir cadenas en PHP

Tengo un problema y es que en un formulario las imágenes que subo (cuyo enlace guardo en una base de datos) no se pueden mostrar porque dicho enlace está mal.

Por ejemplo, la dirección de la imagen se guarda con esta URL

/home/consul/public_html/wp-content/themes/Consultte/curri/a8c05d_Comic.jpg

pero para que la reconozca, debería aparecer así

http://www.consultte.com/wp-content/...c05d_Comic.jpg

¿Cómo le hago para sustituir en PHP la parte inicial del enlace y quede como la segunda?

Saludos
  #2 (permalink)  
Antiguo 29/06/2012, 11:24
Avatar de vicram10  
Fecha de Ingreso: enero-2009
Ubicación: Asuncion
Mensajes: 326
Antigüedad: 15 años, 3 meses
Puntos: 27
Respuesta: Sustituir cadenas en PHP

y como esta hecho tu formulario?... como se guarda?.. cual es tu codigo php?

ya que la ruta que se guarda es la absoluta y no la URL...
  #3 (permalink)  
Antiguo 29/06/2012, 11:26
 
Fecha de Ingreso: diciembre-2008
Mensajes: 738
Antigüedad: 15 años, 4 meses
Puntos: 15
Respuesta: Sustituir cadenas en PHP

Así

$destino = "".get_template_directory()."/curri/".$prefijo."_".$nombre_archivo;

copy($_FILES['fotografia']['tmp_name'],$destino);
  #4 (permalink)  
Antiguo 29/06/2012, 11:28
Avatar de vicram10  
Fecha de Ingreso: enero-2009
Ubicación: Asuncion
Mensajes: 326
Antigüedad: 15 años, 3 meses
Puntos: 27
Respuesta: Sustituir cadenas en PHP

asi como hay un get_template_directory (que seria la ruta absoluta)
debe haber la funcion que te devuelva la URL del lugar donde quieres guardar.. ahi esta tu problema.. pero esto es mas cosa del WordPress.. y entonces creo que debe ir dentro de aplicaciones prefabricadas que en el foro php...
  #5 (permalink)  
Antiguo 29/06/2012, 11:32
 
Fecha de Ingreso: diciembre-2008
Mensajes: 738
Antigüedad: 15 años, 4 meses
Puntos: 15
Respuesta: Sustituir cadenas en PHP

Si, pero simplemente ya que saque la ruta de la base de datos para que me muestre la imagen, quiero ver si esa parte de la cadena se puede modificar, como expliqué, porque con eso listo.
  #6 (permalink)  
Antiguo 29/06/2012, 11:46
Avatar de Eleazan  
Fecha de Ingreso: abril-2008
Ubicación: Ibiza
Mensajes: 1.879
Antigüedad: 16 años
Puntos: 326
Respuesta: Sustituir cadenas en PHP

Prueba con esto: str_replace

De todas formas, es mejor con las funciones de wp... por si algún día cambias de host, no tener q modificar tu script ;)
__________________
>> Eleazan's Source
>> @Eleazan
  #7 (permalink)  
Antiguo 29/06/2012, 11:46
Avatar de zalito12  
Fecha de Ingreso: noviembre-2011
Ubicación: Coruña, España
Mensajes: 430
Antigüedad: 12 años, 5 meses
Puntos: 67
Respuesta: Sustituir cadenas en PHP

Hombre, estas trabajando con wordpress, ahora no recuerdo bien las variables que trae predefinidas y tal, pero siva a ser siempre esa ruta haz algun apaño asi, en la ruta que se guarda en la db cambia:
$destino = "".get_template_directory()."/curri/".$prefijo."_".$nombre_archivo;
por
$destino1 = "www.consultte.com/wp-content/themes/Consultte/curri/".$prefijo."_".$nombre_archivo;

o simplemente

$destino1 = "/curri/".$prefijo."_".$nombre_archivo;
y el resto lo añades donde las muestres
  #8 (permalink)  
Antiguo 29/06/2012, 13:49
 
Fecha de Ingreso: diciembre-2008
Mensajes: 738
Antigüedad: 15 años, 4 meses
Puntos: 15
Respuesta: Sustituir cadenas en PHP

usé el str_replace() y con eso me funcionó, yo creí que solo reemplazaba palabras completas, pero vi que pude sustituir esa parte que quería.

Muchas gracias.

Etiquetas: cadenas, formulario, html, sustituir
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:52.