Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 13
  1. #1
    Utente di HTML.it
    Registrato dal
    Jun 2002
    Messaggi
    795

    [mx2] component loader, php, firefox,ie e header

    Ciao a tutti.
    Non sapevo se postare qua o su php, speriamo che vada bene qua.
    Ho delle immagini jpg in campi blob su un db mysql.
    Dopo essermi sbattuto un botto, ho capito perchè il component loader (e quindi il progressbar) non funziona con la pagina php che richiama queste immagini: è un problema di header ed internet explorer. infatti su firefox il tutto funziona egregiamente. Qualcuno ha mai avuto (e spero risolto) gli stessi problemi? Grazie mille, ciao!
    <sfogo> ma porco giuda, leggerlo l'help online ogni tanto! </sfogo>

  2. #2
    Utente di HTML.it
    Registrato dal
    Jun 2002
    Messaggi
    795
    ok, sto impazzendo. ho riprovato a fare così:
    -creo un file nuovo
    -metto un component loader
    -metto un component progressbar, source:loader
    -faccio loader.load("http://www.miosito.it/readimg.php?id=1");

    funziona.
    provo in ie: funge. provo in firefox: funge.

    ora:
    nel filmato vecchio, creo una window (window component) che carica un mc. Creata la window, creo dentro il suo content un loader. creato il loader, creo al suo interno una progressbar e faccio partire il load dello stesso indirizzo di prima. risultato: firefox funge, preview flash funge, internet explorer NO!
    la progressbar non si muove, ma l'immagine viene caricata. non solo, ma ie non capisce quando l'immagine è completa, tanto che non ridimensiona (scale automatico del laoder).
    aita!
    <sfogo> ma porco giuda, leggerlo l'help online ogni tanto! </sfogo>

  3. #3
    Utente di HTML.it
    Registrato dal
    Jun 2002
    Messaggi
    795
    codice AS:
    codice:
    barlistener = new Object();
    			barlistener.load = function(obb) {
    				obb.target.mode = "event";
    				obb.target.source = obb.target._parent.imgloaderbig;
    				//obb.target._parent.imgloaderbig.contentPath=(pathbig);
    				obb.target._parent.imgloaderbig.load("http://www.gruppoparpas.com/temp_site/bb.jpg?random="+int(Math.random()*100));
    			};
    			imglistener = new Object();
    			imglistener.load = function(obb) {
    				cont = obb.target._parent;
    				cont.createObject("ProgressBar", "imgbar", 1);
    				cont.imgbar.addEventListener("load", barlistener);
    			};
    			imglistener.complete = function(obb) {
    				win_pop.imgbar._visible = 0;
    				obb.target.setSize(260, 380);
    				larg = obb.target.width;
    				alt = obb.target.height;
    				if (larg>745) {
    					newlarg = 745;
    					newalt = Math.round(alt/(larg/745));
    				} else {
    					newlarg = larg;
    					newalt = alt;
    				}
    				if (newalt>400) {
    					newlarg = Math.round(newlarg/(newalt/400));
    					newalt = 400;
    				}
    				obb.target.scaleContent = true;
    				obb.target.setSize(newlarg, newalt);
    				img_win.setSize(obb.target.width, obb.target.height);
    				img_win.move((770-img_win.width)/2, (425-img_win.height)/2);
    			};
    			win_listener = new Object();
    			win_listener.click = function(obb) {
    				obb.target.deletePopUp();
    			};
    			win_listener.complete = function(obb) {
    				img_win.setStyle("backgroundColor", 0x999999);
    				win_pop = obb.target.content;
    				obb.target.move(280, 5);
    				obb.target.setSize(win_pop._width+6, win_pop._height+32);
    				win_pop.pathbig = pathbig;
    				win_pop.createObject("Loader", "imgloaderbig", 0, {scaleContent:false});
    				win_pop.imgloaderbig.addEventListener("load", imglistener);
    				win_pop.imgloaderbig.addEventListener("complete", imglistener);
    			};
    			img_win = mx.managers.PopUpManager.createPopUp(this, mx.containers.Window, true, {title:"Immagine News...", contentPath:"news_imagebig", closeButton:true});
    			img_win.addEventListener("complete", win_listener);
    			img_win.addEventListener("click", win_listener);
    codice PHP:

    codice:
    	$query="select image from $tabella where id=$id";
    		$result=mysql_query($query) or die("caricamento immagine non riuscito");
    		$oggetto=mysql_fetch_array($result);
    		mysql_close();
    		$size=mb_strlen($oggetto['image']);
    	 	$tmpimage=imagecreatefromstring($oggetto['image']);
    		//ob_start();
    		header("content-type: image/jpeg\n");
    		header("Content-Transfer-Encoding: binary");
    		header("Cache-Control: no-store, no-cache, must-revalidate");
    		/*header("Cache-Control: post-check=0, pre-check=0", false);
    		header("Pragma: no-cache");*/
    		if(isset($_GET['size'])){
    		//RIDIMENSIONO CON LE GD
    		$src_width=imagesx($tmpimage);
    		$src_height=imagesy($tmpimage);
    		$ratio=max($src_height,$src_width) / $_GET['size'];
    		$tmp_resized=imagecreatetruecolor($src_width / $ratio,$src_height / $ratio);
    		imagecopyresampled($tmp_resized, $tmpimage, 0, 0, 0, 0,
    		$src_width / $ratio,
    		$src_height / $ratio,
    		$src_width,
    		$src_height);
    		imagejpeg($tmp_resized);
    		imagedestroy($tmp_resized);
    		}else{
    		header("Content-Length: ".$size);
    		echo($oggetto['image']);
    		}
    		imagedestroy($tmpimage);
    <sfogo> ma porco giuda, leggerlo l'help online ogni tanto! </sfogo>

  4. #4
    Utente di HTML.it
    Registrato dal
    Jun 2002
    Messaggi
    795
    aggiungo che il tutto funziona perfettamente in entrambi i browser se invece di usare readimg.php come contentPath del loader uso una immagine jpg. Che sia un problema di header?
    <sfogo> ma porco giuda, leggerlo l'help online ogni tanto! </sfogo>

  5. #5
    Originariamente inviato da GunraY
    -faccio loader.load("http://www.miosito.it/readimg.php?id=1");
    dovrebbe darti un security domain violation ...

    1 usa l 'header giusto nella pagina php, nel senso che quella pagina richiamata direttamente da browser deve restituire un' immagine pulita senza alcuna scritta o codice html altrimenti non viene riconosciuta


    esempio:

    <?php
    header( 'Content-type:image/jpeg' );
    header( 'Content-Length:'.strlen( $immagine ) );
    echo $immagine;
    ?>

    e nient' altro, se non le operazioni senza mai alcun echo o codice html per prendere l' immagine dal db

    poi, se fatto cio' e verificato che la pagina restituisce la giusta immagine sia in FF che in IE ma ancora non funziona, prova a fare una putt*n*ta di questo tipo:

    loader.load("http://www.miosito.it/readimg.php?id=1&img.jpeg");


    l' ideale poi sarebbe tramite mod_rewrite rules chiamare l' immagine con

    loader.load("http://www.miosito.it/readimg_1_.jpeg");
    Formaldehyde a new Ajax PHP Zero Config Error Debugger

    WebReflection @WebReflection

  6. #6
    Utente di HTML.it
    Registrato dal
    Jun 2002
    Messaggi
    795
    credo di aver capito tutto tranne l'ultima: che è mod_rewrite rules?
    edit: scusa sono cotto, ora me lo cerco! Cmq mi fa inca**are la differenza di comportamento... perchè firefox si e ie no? mah!
    <sfogo> ma porco giuda, leggerlo l'help online ogni tanto! </sfogo>

  7. #7
    Originariamente inviato da GunraY
    credo di aver capito tutto tranne l'ultima: che è mod_rewrite rules?
    c'e' un articolo su freephp.html.it , e' un modo per parsare le informazioni tramite link "statico"


    un esempio lo trovi in devpro.it , in firma, e' tutto dinamico, ai motori di ricerca sembra statico e quindi lo apprezza meglio ( poi in questo caso specifico tutti tranne google, e' listato per intero su msn, altavista etc etc, google non legge oltre la pagina col flash ... lol, ma e' un mio problema perche' tempo fa apportai modifiche non ottimali )

    nel tuo caso fa sembrare a flash che stai caricando proprio un'i mmagine .jpeg e non una url con informazioni in get


    http://www.miosito.it/readimg_1_.jpeg

    in mod_reqrite dice al server di parsare

    http://www.miosito.it/readimg.php?id=1



    Formaldehyde a new Ajax PHP Zero Config Error Debugger

    WebReflection @WebReflection

  8. #8
    Originariamente inviato da GunraY
    Cmq mi fa inca**are la differenza di comportamento... perchè firefox si e ie no? mah!
    perche' hannno players differenti, non e' lo stesso e non sono riusciti a farli identici
    Formaldehyde a new Ajax PHP Zero Config Error Debugger

    WebReflection @WebReflection

  9. #9
    Utente di HTML.it
    Registrato dal
    Jun 2002
    Messaggi
    795
    grazie andr3a, mi applico subito!
    <sfogo> ma porco giuda, leggerlo l'help online ogni tanto! </sfogo>

  10. #10
    Utente di HTML.it
    Registrato dal
    Jun 2002
    Messaggi
    795
    scusa se rompo ancora i chitarrini,
    ho cercato l'articolo ma non lo trovo... ho trovato solo
    http://pro.html.it/articoli/id_219/i...pag_3/pag.html

    ... non è che hai il link sottomano? grazie, e scusa ancora!
    <sfogo> ma porco giuda, leggerlo l'help online ogni tanto! </sfogo>

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.