Pagina 2 di 6 primaprima 1 2 3 4 ... ultimoultimo
Visualizzazione dei risultati da 11 a 20 su 54
  1. #11
    Addirittura potresti usare solo l'include_path e mettere un

    @ davanti all'inclusione, se si verifica un errore lo intercetti, senza file_exists
    per favore NIENTE PVT TECNICI da sconosciuti

  2. #12
    Originariamente inviato da Fabio Heller
    Addirittura potresti usare solo l'include_path e mettere un

    @ davanti all'inclusione, se si verifica un errore lo intercetti, senza file_exists
    non voglio usare include_path, vogio essere libero di scegliere 1 file, piu' files predefiniti, tutti i files ...


    ora gli ho dato una ritoccatina, mi dici cosa ne pensi ?



    [edit]
    no, questa non va, impedisce di usare il solo nome della classe , obbliga invece a scrivere il file completo ... scomodo se non si usa l' asterisco ...
    Formaldehyde a new Ajax PHP Zero Config Error Debugger

    WebReflection @WebReflection

  3. #13
    FIGATA!

    stavo per fare una funzione che data una directory mi includeva tutti i file php, ma questo e' molto molto meglio


    p.s.=mi sembra che non fai il controllo che i file siano solo .php
    Kaworu.it
    Bookmarks on line i tuoi preferiti ovunque
    il tempo è il miglior dottore.....solo che è parecchio lento ...troppo lento
    wxKonTEXT Editor di testi(linux, win e mac), new version

  4. #14
    Originariamente inviato da kaworuskench
    p.s.=mi sembra che non fai il controllo che i file siano solo .php
    si, non avevo provato, l' avevo scritta al volo senza testarla, quella sopra invece funziona bene ma forse come dice Fabio e' un po' oneroso il listing della cartella ...
    Formaldehyde a new Ajax PHP Zero Config Error Debugger

    WebReflection @WebReflection

  5. #15
    ok, per come e' pensata e strutturata penso sia inevitabile il listing della directory

    comunque questa e' la versione definitiva, un po' migliorata ma il listing rimane

    codice:
    
    <?php //4 //5
    /**
     * Functions "FROM path IMPORT data"
     * 	A list of functions to import from a folder one or more files.
     *      Emulates python sintax with something like:
     *      	from('classes') . import('*');
     * How to:
     * 	from( $files_folder ) . import( $array_string_or_all );
     *      @param		String		path where you want import* files
     *      					*import as require_once
     *      @param		Mixed		single char '*' to import all files
     *      				class or file name 'Example' without extensions
     *                                      array with a list of files without extensions
     * -----------------------------
     * EXAMPLE:
     * 		require_once('from_import.php');
     *              from('classes') . import(Array('MyDBClass', 'MyOtherClass'));
     * ______________________________
     * @author	Andrea Giammarchi
     * @date	2005/06/01 15:40
     * @site	www.devpro.it
     * ______________________________
     */
    
    function from($folder){
    	$temp_folder = $folder;
    	do
    	{
    		$last = substr($temp_folder, -1);
    		$temp_folder = substr($temp_folder, 0, -1);
    		$pos = isSet($pos) ? $pos++ : 0;
    	}
    	while(in_array($last, Array('\\\', '/')));
    	$folder = $pos === 0 ? $folder : substr($folder, 0, $pos);
    	$GLOBALS['__FROM_IMPORT_FOLDER__'] = &$folder;
    }
    
    function import($what) {
    	if(
    		isset( $GLOBALS['__FROM_IMPORT_FOLDER__'] ) &&
    		is_dir( $GLOBALS['__FROM_IMPORT_FOLDER__'] )
    	)
    		if(@$handle = &opendir( $GLOBALS['__FROM_IMPORT_FOLDER__'] ))
    		{
    			while(($file = readdir($handle)) !== false)
    				__fileImporter($file, $what);
    			closedir($handle);
    		}
    		unset( $GLOBALS['__FROM_IMPORT_FOLDER__'] );
    }
    
    function __fileImporter(&$file, &$what) {
    	if(
    		$file !== '.' &&
    		$file !== '..' &&
    		isset( $GLOBALS['__FROM_IMPORT_FOLDER__'] ) && 
    		!is_dir( $GLOBALS['__FROM_IMPORT_FOLDER__'] .'/'. $file ) &&
    		is_file( $GLOBALS['__FROM_IMPORT_FOLDER__'] .'/'. $file )
    	)
    	{
    		$required = false;
    		$temp_file = array_shift(explode('.', $file));
    		if(!class_exists($temp_file))
    		{
    			if($what === '*')
    				$required = true;
    			elseif(!is_array($what) && $temp_file === $what)
    				$required = true;
    			elseif(is_array($what) && in_array($temp_file, $what))
    				$required = true;
    		}
    		if($required === true)
    			@require_once( $GLOBALS['__FROM_IMPORT_FOLDER__'] .'/'. $file );
    	}
    }
    ?>
    
    Formaldehyde a new Ajax PHP Zero Config Error Debugger

    WebReflection @WebReflection

  6. #16
    ok, file addato in devpro , se pensate sia utile, scaricatelo pure
    http://www.devpro.it/php4_id_87.html



    P.S. sinceramente tra include_path e un loop in directory non so di fatto quanto cambi, in fondo php usa funzioni di sistema per scorrere la dir, non penso che Apache faccia qualcosa di diverso , ma non ne sono certo
    Formaldehyde a new Ajax PHP Zero Config Error Debugger

    WebReflection @WebReflection

  7. #17
    antré ma perché non usi glob?

    glob('percorso/*.php');

    ti restituisce un array ... in questo modo fai quello che devi fare sull'array (ovvero un in_array o un bell import all)
    The fastest Redis alternative ... cachegrand! https://github.com/danielealbano/cachegrand

  8. #18
    Originariamente inviato da kaworuskench
    p.s.=mi sembra che non fai il controllo che i file siano solo .php
    riguardo questa avevo risposto male, nel senso che la prima modifica proprio non includeva i files se non con l' asterisco ... il discorso e' quello del package, inteso come una directory diclassi o funzioni comuni, portabili, da includere o richiedere nei vari applicativi ... io comincio ad averne minimo 10 (piu' eventuali dedicate), quindi una cartella classes fa al caso mio ma do per scontato che la cartella in questione contenga solo files di tipo .php

    se hai immagini, testi, quant' altro non vedo perche' dovresti metterli nella cartella dei packages, insomma perderebbe un po' di utilita' o senso il discorso package .... o no ?

    volendo si aggiunge facilmente anche quel controllo ( rallentando un po' ... ) ma imho non e' questo che intendevo per package
    Formaldehyde a new Ajax PHP Zero Config Error Debugger

    WebReflection @WebReflection

  9. #19
    Originariamente inviato da daniele_dll
    antré ma perché non usi glob?

    glob('percorso/*.php');
    glob
    PHP 4 >= 4.3.0, PHP 5

    l' ho scritta per una cosa che devo fare ora su un vecchio PHP


    potrebbe essere interesante, solo che come ho detto non penso che glob o include_path faccia qualcosa di diverso a livello di chiamate al sistema rispetto a un readdir ... in piu' c'e' da dire che glob prende anche le info sul size di ogni file, quindi probabilmene e' anche piu' lento di readdir o include_path ... per non considerare chi ha l' abitudine di scrivere files php4 come .php4 , php5 come .php5 o che magari ha modificato le estensioni ed ha detto al server di farle interpretare come .php ... boh, lo trovo comodo ma forse piu' lento e sicuramente meno portabile ... tu che dici ? :master:
    Formaldehyde a new Ajax PHP Zero Config Error Debugger

    WebReflection @WebReflection

  10. #20
    si ma è + facile da gestire ... devi scrivere infatti meno codice ^^
    The fastest Redis alternative ... cachegrand! https://github.com/danielealbano/cachegrand

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 © 2026 vBulletin Solutions, Inc. All rights reserved.