Pagina 1 di 3 1 2 3 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 23

Discussione: stampare nome file

  1. #1
    Utente di HTML.it
    Registrato dal
    Apr 2007
    Messaggi
    17

    stampare nome file

    Scusate la banalità della domanda, ma mi avvicino ora a PHP.


    Vorrei creare un frammento di codice che rilevi il nome del file, cioè della pagina caricata, ad esempio un semplice "Il nome della pagina è $page" dove $page = "index.php" e lo stampi. Ho provato ad utilizzare la variabile globale $_FILES[name] ma non sono riuscito a farlo funzionare.


    Qualche suggerimento?

  2. #2
    Utente di HTML.it L'avatar di nicola75ss
    Registrato dal
    Nov 2004
    Messaggi
    12,922
    Codice PHP:
    <?php
    echo basename($_SERVER['PHP_SELF']);
    ?>

  3. #3
    Utente di HTML.it L'avatar di dottwatson
    Registrato dal
    Feb 2007
    Messaggi
    3,012
    si... qualche suggerimento

    se vuoi sapere il nome del file di cui fai l' upload devi accedere alla variabile $_FILES['nome_del_campo_file_nel_form']['name']

    sono poi disponibili altre info...

    scrivi sto codice e provalo... ti aiuterà a capire

    Codice PHP:
    <?
    if (isset($_POST['invia']))
    {
    foreach (
    $_FILES['pippo'] as $key=>$name)
    echo 
    "chiave $key e valore $name
    "
    ;
    }

    ?>
    <html>

    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=windows-1252">
    <title>Nuova pagina 1</title>
    </head>

    <body>

    <form method="POST" enctype="multipart/form-data" action="form.php">
        <p align="center"><input type="file" name="pippo" size="20"></p>
        <p align="center"><input type="submit" value="invia" name="invia"><input type="reset" value="Reimposta" name="B2"></p>
    </form>

    </body>

    </html>
    Non sempre essere l'ultimo è un male... almeno non devi guardarti le spalle

    il mio profilo su PHPClasses e il mio blog laboweb

  4. #4
    Utente di HTML.it
    Registrato dal
    Apr 2007
    Messaggi
    17
    Che stupido, l'avevo anche visto nella guida!


    Grazie mille per la rapidità



    EDIT: Grazie dottwatson, ma ancora c'è tempo


    Ho iniziato ora a studiare php da autodidatta e per prima cosa sto prendendo confidenza trasformando il mio piccolo sito in html con semplici implementazioni di php per parti comuni come header, footer e cose del genere.

    La funzione che ho chiesto mi serve per creare un header dinamico che crei i tag <title> in base al nome della pagina che viene richiesta, per gli upload c'è tempo, grazie comunque

  5. #5
    Utente di HTML.it
    Registrato dal
    Apr 2007
    Messaggi
    17
    Ho provato una cosa di questo tipo:

    Codice PHP:

    function common_header(){

    switch (
    $_SERVER['PHP_SELF']){

            case 
    "home.php" :

            
    $page "Home";

            break;

            case 
    "media.php" :
            
            
    $page "Media";
            
            break;    
            
            case 
    "contatti.php" :
            
            
    $page "Contatti";
            
            break;
            
            case 
    "credits.php" :
            
            
    $page "Credits";
            
            break;

        }

    echo 
    '<title>'.$page.' - Miositoblablabla</title>';




    L'obiettivo sarebbe quello di creare un <title> che cambi automaticamente in base alla pagina, in modo da non doverlo riscrivere in tutte le pagine ma poter velocemente richiamare la funzione common_header.

    Lo switch non da errori però il risultato è che $page rimane vuota... dove sto sbagliando?





    (Se c'è un modo più ortodosso per arrivare al risultato che vorrei è ben accetto ogni consiglio)

  6. #6
    Utente di HTML.it L'avatar di dottwatson
    Registrato dal
    Feb 2007
    Messaggi
    3,012
    il tuo è proprio il concetto che è sbagliato.... quella che hai costruito è una funzione, ovvero porzione di codice che esegue determinate operazioni, che è possibile richiamare in tutte le situazioni..

    prova a scrivere

    Codice PHP:
    <?

    common_header
    ("media.php");


    function 
    common_header($call)
    {
    switch (
    $call){

            case 
    "home.php" :

           
    $page "Home";

            break;

            case 
    "media.php" :
            
            
    $page "Media";
            
            break;    
            
            case 
    "contatti.php" :
            
            
    $page "Contatti";
            
            break;
            
            case 
    "credits.php" :
            
            
    $page "Credits";
            
            break;

        }

    echo 
    '<title>'.$page.' - Miositoblablabla</title>';

    }

    ?>
    Non sempre essere l'ultimo è un male... almeno non devi guardarti le spalle

    il mio profilo su PHPClasses e il mio blog laboweb

  7. #7
    devi mettere lo slash prima del nome del file...

    $_SERVER['PHP_SELF'] è /nomefile.php


    ciaoo
    Ciao!

  8. #8
    Utente di HTML.it
    Registrato dal
    Apr 2007
    Messaggi
    17
    Aspetta, forse mi sono spiegato male. Io ho costruito la funzione che tengo in un file functions.php.

    Le pagine del mio sito però sono in html, hanno estensione .php solo per richiamare le funzioni contenute in functions.php per le cose comuni a tutte le pagine: menù, header, footer etc... (che poi è semplicemente una scusa per approcciarmi al php perchè mi piacerebbe impararlo, nella vita faccio tutt'altri studi )

    La porzione che ho scritto è appunto quella dell'header che nella pagina è richiamata con


    codice:
    <?php
    include (functions.php);
    common_header();
    
    ?>

    Quindi il richiamo alla funzione dovrebbe essere corretto... l'unico problema è che nello switch la variabile $page non viene assegnata infatti restituisce il campo echo, ma con uno spazio vuoto al posto di $page.


    Scusa ma non ho capito le modifiche che hai fatto tu... se togli $_SERVER['PHP_SELF'] come fa lo script a riconoscere la pagina?

  9. #9
    Utente di HTML.it
    Registrato dal
    Apr 2007
    Messaggi
    17
    Originariamente inviato da fmortara
    devi mettere lo slash prima del nome del file...

    $_SERVER['PHP_SELF'] è /nomefile.php


    ciaoo

    Ho provato a cambiare inserendo "/nomefile" in questo modo:

    Codice PHP:
    switch ($_SERVER['PHP_SELF']){
            case 
    "/home.php" :

            
    $page "Home";

            break;

    etcetc... 


    Ma non funziona lo stesso, la variabile rimane vuota.

  10. #10
    prova a fare un echo $_SERVER['PHP_SELF'] prima della chiamata alla funzione...
    Ciao!

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.