Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 14
  1. #1

    C'è un errore in questa funzione

    codice:
    <?php
    
    function img2big($src,$alt=NULL)
    {
    
    // Constants
    define(IMAGE_BASE, 'http://0x010.isf.it');
    define(MAX_WIDTH, 150);
    define(MAX_HEIGHT, 150);
    
    // Get image location
    $image_file = str_replace('..', '', $_SERVER['QUERY_STRING']);
    $image_path = IMAGE_BASE . "/$src";
    
    
    // Load image
    $img = null;
    $ext = strtolower(end(explode('.', $image_path)));
    if ($ext == 'jpg' || $ext == 'jpeg') {
        $img = @imagecreatefromjpeg($image_path);
    } else if ($ext == 'png') {
        $img = @imagecreatefrompng($image_path);
    // Only if your version of GD includes GIF support
    } else if ($ext == 'gif') {
        $img = @imagecreatefrompng($image_path);
    }
    
    // If an image was successfully loaded, test the image for size
    if ($img) {
    
        // Get image size and scale ratio
        $width = imagesx($img);
        $height = imagesy($img);
        $scale = min(MAX_WIDTH/$width, MAX_HEIGHT/$height);
    
        // If the image is larger than the max shrink it
        if ($scale < 1) {
            $new_width = floor($scale*$width);
            $new_height = floor($scale*$height);
    
            // Create a new temporary image
            $tmp_img = imagecreatetruecolor($new_width, $new_height);
    
            // Copy and resize old image into new image
            imagecopyresized($tmp_img, $img, 0, 0, 0, 0, 
                             $new_width, $new_height, $width, $height);
            imagedestroy($img);
            $img = $tmp_img;        
        }    
    }
    
    // Create error image if necessary
    if (!$img) {
        $img = imagecreate(MAX_WIDTH, MAX_HEIGHT);
        imagecolorallocate($img,0,0,0);
        $c = imagecolorallocate($img,70,70,70);
        imageline($img,0,0,MAX_WIDTH,MAX_HEIGHT,$c2);
        imageline($img,MAX_WIDTH,0,0,MAX_HEIGHT,$c2);
    }
    
    // Display the image
    header("Content-type: image/jpeg");
    imagejpeg($img);
    
    //echo "<img src=\"$img\" alt=\"$alt\" />";
    }
    
    
    ?>

    sembra tutto ok, ma perchè mi da errore:

    Warning: Cannot modify header information - headers already sent by (output started at /home/[io]/public_html/alexindex.php:2) in /home/[io]/public_html/funcs.php on line 62

    ??

    Qualcuno mi aiuta??

  2. #2
    Utente di HTML.it L'avatar di gianiaz
    Registrato dal
    May 2001
    Messaggi
    8,027
    non puoi scrivere nulla sulla pagina prima di usare la funzione header.

    ciao

  3. #3
    e come risolvo?

    Metto header prima oppure esiste un'altra funzione appropriata??

  4. #4
    Utente di HTML.it L'avatar di gianiaz
    Registrato dal
    May 2001
    Messaggi
    8,027
    Quando usi la funzione devi fare in modo di non scrivere nulla nella pagina prima di richiamarla..

  5. #5
    Non è possibile perchè è chiamata da pagine intere in php che richiamano la funzione solo quando gli serve a visualizzare una immagine!

  6. #6
    Utente di HTML.it L'avatar di gianiaz
    Registrato dal
    May 2001
    Messaggi
    8,027
    Originariamente inviato da AlexMark
    Non è possibile perchè è chiamata da pagine intere in php che richiamano la funzione solo quando gli serve a visualizzare una immagine!
    codice:
    // Display the image
    header("Content-type: image/jpeg");
    imagejpeg($img);
    
    //echo "<img src=\"$img\" alt=\"$alt\" />";
    }
    allora decommenta l'ultima linea e commenta l'header e l'imagejpeg.

  7. #7
    se lo facessi otterrei al posto del percorso dell'immagine (il src) una serie di segnacci che rappresentano l'immagine codificata.

  8. #8
    Utente di HTML.it
    Registrato dal
    Dec 2005
    Messaggi
    434
    usa (o no, correggetemi) ob_start()

  9. #9
    Utente di HTML.it L'avatar di gianiaz
    Registrato dal
    May 2001
    Messaggi
    8,027
    Originariamente inviato da AlexMark
    se lo facessi otterrei al posto del percorso dell'immagine (il src) una serie di segnacci che rappresentano l'immagine codificata.
    hai provato?

    Comunque è ovvio che non vada, tu vuoi mettere in una pagina del testo, e poi dirgli "la pagina è una immagine jpg" e ovviamente php si altera perchè sa meglio di te che non è cosi.

    ciao

    ob_start in questo caso non va bene comunque

  10. #10
    C'è una soluzione dunque?

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.