Visualizzazione risultati 1 fino 5 di 5

Discussione: Problema con inclusione di una funzione.

  1. #1
    Guest

    Predefinito Problema con inclusione di una funzione.

    sto provando a creare dei thumbnails dopo che l'utente invia le sue immagini in rete.
    ho trovato una funzione qui sul sito:
    Codice PHP:
    <?php

    /************************************************************\
    *
    * Basic Thumbnail Generator Copyright 2007 Derek Harvey
    * www.lotsofcode.com
    *
    * This file is part of Basic Thumbnail Generator.
    *
    * Basic Thumbnail Generator is free software; you can redistribute it and/or modify
    * it under the terms of the GNU General Public License as published by
    * the Free Software Foundation; either version 2 of the License, or
    * (at your option) any later version.
    *
    * Basic Thumbnail Generator is distributed in the hope that it will be useful,
    * but WITHOUT ANY WARRANTY; without even the implied warranty of
    * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
    * GNU General Public License for more details.
    *
    * You should have received a copy of the GNU General Public License
    * along with Basic Thumbnail Generator; if not, write to the Free Software
    * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
    *
    *
    \************************************************************/

    require_once 'thumbnail.class.php';
    $thumbnail = new thumbnail;

    if (!empty(
    $_REQUEST['submit']))
    {
    $tmp = $_FILES['uploaded_file']['tmp_name'];
    $org = $_FILES['uploaded_file']['name'];

    if (
    $tmp)
    {
    $directory = 'uploads'; // Upload files to here.
    $prefix = 'uploaded_'; // Filename prefixes

    // Upload all image files
    $lrgImage = $thumbnail->generate($tmp, $org, $directory, $prefix.'lrg', 300); // large file
    $medImage = $thumbnail->generate($tmp, $org, $directory, $prefix.'med', 200); // medium file
    $smlImage = $thumbnail->generate($tmp, $org, $directory, $prefix.'sml', 100); // small file

    if ($smlImage && $medImage && $lrgImage) // If all files are ok
    {
    $info = '
    <fieldset>
    <legend>Files uploaded successfully</legend>
    <img src="'
    .$lrgImage.'">
    <img src="'
    .$medImage.'">
    <img src="'
    .$smlImage.'">
    </fieldset><br />
    '
    ;
    }
    }
    else
    {
    $info = '<p>No file selected</p>';
    }
    }

    ?>
    che richiamo in un'altra pagina:
    Codice PHP:
    require_once('thumbnail.class.php');
    $t = $_FILES["file$k"]['tmp_name'];
    $sz = $_FILES["file$k"]['size'];
    $n = $_FILES["file$k"]['name'];
    $dest = "../img/immagini/";
    $smlImage = $thumbnail->generate($t, $n, $dest."/TB", 'TB_'.$n, 100);
    ma ricevo questo messaggio di errore: Fatal error: Call to a member function on a non-object in C:\WM\www\galleria\spt\add_imgs.php on line 50

    mi sapete spiegare dove sbaglio?
    grazie.

  2. #2
    L'avatar di funcool
    funcool non è connesso Utente storico
    Data registrazione
    05-02-2004
    Residenza
    Qui... Non lì, qui!
    Messaggi
    15,433

    Predefinito

    L'errore sembra che sia nel file "add_imgs.php". Se quel file è il primo di cui hai scritto il codice, prova a sostituire:
    Codice PHP:
    $info = '
    <fieldset>
    <legend>Files uploaded successfully</legend>
    <img src="'
    .$lrgImage.'">
    <img src="'
    .$medImage.'">
    <img src="'
    .$smlImage.'">
    </fieldset><br />
    '
    ;
    Con:
    Codice PHP:
    $info="
    <fieldset>
    <legend>Files uploaded successfully</legend>
    <img src=\"
    {$lrgImage}\">
    <img src=\"
    {$medImage}\">
    <img src=\"
    {$smlImage}\">
    </fieldset><br />
    "
    ;
    Mattia vi manda a FunCool - Matriz - Directory Gogol - Sfondo rosso per la Birmania
    «Tu mi dai fastidio perché ti credi tanto un Dio!» «Bè, dovrò pur prendere un modello a cui ispirarmi, no?» Woody Allen

  3. #3
    Guest

    Predefinito

    ciao fun. il fatto è un altro: io richiamo la funzione con:
    Codice PHP:
    $smlImage = $thumbnail->generate($t, $n, $dest."/TB", 'TB_'.$n, 100);
    e basta, non faccio altro, eppure mi genera quell'errore che ho riportato sopra.

    visto che la funzione non l'ho scritta io, se hai alternative che sai che funzionano bene per generare dei thumbnail mi aggiorno ai suggerimenti!
    voglio dire che migrerei volentieri ad un altro sistema già collaudato.

    grazie

  4. #4
    L'avatar di saitfainder
    saitfainder non è connesso Sëniör Stäff
    Data registrazione
    06-12-2002
    Residenza
    Torino
    Messaggi
    8,715

    Predefinito

    Se il codice che hai postato è tutto lì direi che...

    ...nel secondo pezzo di codice tu includi 'thumbnail.class.php', ma non includi il primo pezzo di codice che hai postato. In questo modo non istanzi da nessuna parte l'oggetto thumbnail (che invece viene creata nel primo pezzo tramite "$thumbnail = new thumbnail;"). Pertanto il $thumbnail che usi nel secondo pezzo è una variabile vuota e di sicuro non ha il metodo "generate" che vorresti usare.

    Infatti l'errore ti dice proprio che cerchi di usare un metodo di un non-oggetto.


    «È una mia peculiarità distorcere la verità e inventarne di nuove.»
    «I tuoi orientamenti hanno su di me un effetto prossimo allo zero.»


  5. #5
    Guest

    Predefinito

    grazie per le info.
    ora sono a lavoro. ci proverò stasera.

    e terrovvi informati :)

Regole di scrittura

  • Non puoi creare nuove discussioni
  • Non puoi rispondere ai messaggi
  • Non puoi inserire allegati.
  • Non puoi modificare i tuoi messaggi
  •