Foros del Web » Programando para Internet » PHP »

Ayuda con URL de imagen

Estas en el tema de Ayuda con URL de imagen en el foro de PHP en Foros del Web. Buenas a todos, Tengo un componente para Joomla que me deja subir una imagen para usarla en él. Para no consumir mi ancho de banda, ...
  #1 (permalink)  
Antiguo 19/01/2010, 14:48
 
Fecha de Ingreso: agosto-2009
Ubicación: Girona
Mensajes: 14
Antigüedad: 14 años, 8 meses
Puntos: 0
Ayuda con URL de imagen

Buenas a todos,

Tengo un componente para Joomla que me deja subir una imagen para usarla en él. Para no consumir mi ancho de banda, quiero que sea posible que use una URL de una imagen en un servidor externo en vez de usar la imagen que yo suba desde mi ordenador.

El trozo referente a la imagen en el archivo es el siguiente:

Código:
//screen
			if($screen['name'] != ""){
				$newscreenname		= str_replace(".gif", "", $screen['name']);
				$newscreenname		= str_replace(".jpg", "", $newscreenname);
				$newscreenname		= str_replace(".jpeg", "", $newscreenname);
				$newscreenname		= str_replace(".png", "", $newscreenname);
				$newscreenname		= str_replace(".", "", $newscreenname);
				$newscreenname		= str_replace(" ", "", $newscreenname);
				$newscreenname		= str_replace("-", "", $newscreenname);
				$newscreenname		= "screen_" . strtolower(date('dMY_His')) . "_" . strtolower($newscreenname); //screen_ + date + hour + original filename
				$uploadedscreen		= $screen['tmp_name'];
				if($screen['type'] == "image/gif"){
					$newscreenname		= $newscreenname . ".gif";
				}else if($screen['type'] == "image/png"){
					$newscreenname		= $newscreenname . ".png";
				}else if($screen['type'] == "image/jpg" || $screen['type'] == "image/jpeg"){
					$newscreenname		= $newscreenname . ".jpg";
				}else{
					$mainframe->redirect("index.php?option=com_tpshowcase&type=showcases", JText::_('TP_ERROR_FILEEXT_NOTVALID'));
				}
				
				$newfilepath_screen	= JPath::clean($pathtosave.strtolower($newscreenname));
				JFile::move($screen['tmp_name'], $newfilepath_screen);
				@rename($filepathscreen, $newfilepath_screen); // renamefile
				@chmod($newfilepath_screen, 0755); // change chmod
			}
										
			//save to database
			if(!$id){
				$q	= 	"INSERT INTO #__tpshowcase_showcase VALUES('','$name','$email','$url','$title','$newthumbname','$newscreenname','$desc','$tags','$date','$status')";
			}else{
				$tname	= (isset($thumb['name']) && $thumb['name'] != "") ? " filename_thumb='" . $newthumbname . "', " : "";
				$sname	= (isset($screen['name']) && $screen['name'] != "") ? " filename_screen='" . $newscreenname . "', " : "";
				$q	= "UPDATE #__tpshowcase_showcase SET fullname = '$name', email = '$email', url = '$url', title = '$title', $tname $sname description = '$desc', tag = '$tags', status = '$status' WHERE id=" . $db->Quote($id);
			}
			$db->setQuery($q);
			$db->Query();
			$mainframe->redirect("index.php?option=com_tpshowcase&type=showcases", $msg);
		}
		
		function canUpload( $file, &$err ){
			jimport('joomla.filesystem.file');
			if($file['name'] !== JFile::makesafe($file['name'])){
				$err = JText::_('TP_ERROR_FILENAME_NOTVALID!');
				return false;
			}
			
			$format = strtolower(JFile::getExt($file['name']));
	
			$allowable = explode( ',', "gif,jpg,jpeg,png");
			$ignored = explode(',', "bmp,exe,doc,zip,rar,xls,swf,html,html,php,asp,ppt,bat,pdf");
			if(!in_array($format, $allowable) && !in_array($format,$ignored)){
				$err = JText::_('TP_ERROR_FILEEXT_NOTVALID');
				return false;
			}
	
			$maxSize = 1000000; //max 1MB
			if($maxSize > 0 && (int) $file['size'] > $maxSize){
				$err = JText::_('TP_ERROR_FILEMAXSIZE_NOTVALID');
				return false;
			}
	
			$imginfo = null;
			if(true){
				$images = explode( ',', "gif,jpg,jpeg,png");
				if(($imginfo = getimagesize($file['tmp_name'])) === FALSE){
					$err = JText::_('TP_ERROR_FILENAME_NOTVALID');
					return false;
				}
			}
	
			$xss_check =  JFile::read($file['tmp_name'],false,256);
Sé muy poco de Php y no sé ni por dónde empezar, ¿Me echáis un cable? Creo que va a ser complicado ésto, porque en primer lugar tendría que saber si habría que modificar la base de datos, en caso que lo veáis especialmente complicado no os preocupéis porque voy a tener que buscar una alternativa a ese sistema para acabar mi proyecto.

Gracias

Etiquetas: 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 11:25.