Visualizzazione risultati 1 fino 18 di 18

Discussione: ASP to PHP

  1. #1
    Guest

    Predefinito Aiuto conversione ASP to PHP

    Salve,
    ho un problema per la conversione di uno script da asp a php.
    Ho provato anche con i vari traduttori, ma nonostante chi abbia scritto lo script in asp mi assicura (e io ne sono sicuro) che lo script funziona, quando lo converto in php la pagina mi restituisce questo errore: Parse error: syntax error, unexpected T_VARIABLE in [nome directory]

    lo script è il seguente:
    ASP:
    <%
    var folderName = "Artisti Italiani";
    var pagePath = Server.MapPath(Request.ServerVariables("Path_Info" ));
    var folderPath = pagePath.substr(0,pagePath.lastIndexOf("\\")) + "\\" + folderName;

    var fso = Server.CreateObject("Scripting.FileSystemObject");
    var folder = fso.GetFolder(folderPath);
    var fc = new Enumerator(folder.files);
    for (; !fc.atEnd(); fc.moveNext())
    {
    var fileName = String(fc.item())
    fileName = fileName.substr(fileName.lastIndexOf("\\")+1);
    Response.Write('<tr><td><a href="' + folderName + '/' + fileName + '">' + fileName + '</a></td></tr>');
    }

    %>



    PHP:
    <?
    $var $folderName = "Artisti Italiani";;
    $var $pagePath = Server.MapPath($_SERVER["Path_Info"]);;
    $var $folderPath = $pagePath.$substr[0,$pagePath.$lastIndexOf["\\"]] + "\\" + $folderName;;

    $var $fso = Server.CreateObject("Scripting.FileSystemObject"); ;
    $var $folder = $fso.$GetFolder[$folderPath];;
    $var $fc = $new $Enumerator[$folder.$files];;
    for (; !$fc.$atEnd(); $fc.$moveNext());
    {
    $var $fileName = String($fc.$item());
    $fileName = $fileName.$substr[$fileName.$lastIndexOf["\\"]+1];;
    echo (('<$tr><$td><$a $href="' + folderName + '/' + fileName + '">' + $fileName +; //</a></td></tr>');
    }
    ?>

    mi riuscite a dare una mano??
    grazie

    Ciao Leo
    Ultima modifica di nonsolofusion : 04-08-2009 alle ore 14.38.54

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

    Predefinito

    Comincerei a togliere quei doppi punti e vigola alla fine e a indicarci quale sia la riga incriminata. Il messaggio d'errore dovrebbe dirtelo.


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


  3. #3
    Guest

    Predefinito

    Citazione Originalmente inviato da saitfainder Visualizza messaggio
    Comincerei a togliere quei doppi punti e vigola alla fine e a indicarci quale sia la riga incriminata. Il messaggio d'errore dovrebbe dirtelo.
    Tolti anche i doppi punti e virgola , il messaggio di errore è il seguente :

    il messaggio è il seguente : Parse error: syntax error, unexpected T_VARIABLE in /membri/nonsolofusion/test.php on line 9

  4. #4
    Guest

    Wink

    Ho corretto quello che ho potuto: innanzitutto in php non ci vuole il var prima delle variabili, e nemmeno il $var, che è interpretato come una variabile e che quindi genera errore. Non mi convince affatto quel ciclo for, non sarebbe meglio un while?
    Codice PHP:
    <?
    $folderName
    = "Artisti Italiani";
    $pagePath = Server.MapPath($_SERVER["Path_Info"]);
    $folderPath = $pagePath.$substr[0,$pagePath.$lastIndexOf["\\"]] + "\\" + $folderName;

    $var $fso = Server.CreateObject("Scripting.FileSystemObject");
    $var $folder = $fso.$GetFolder[$folderPath];
    $var $fc = $new $Enumerator[$folder.$files];
    for (!
    $fc.$atEnd(); $fc.$moveNext();)
    {
    $fileName = String($fc.$item());
    $fileName = $fileName.$substr[$fileName.$lastIndexOf["\\"]+1];
    echo ((
    '<$tr><$td><$a $href="' + folderName + '/' + fileName + '">' + $fileName +; //</a></td></tr>');
    }
    ?>

  5. #5
    Guest

    Predefinito

    ho copiato e incollato l'intero script che mi hai modificato, ora l'errore è cambiato:

    Parse error: syntax error, unexpected ',', expecting ']' in /membri/nonsolofusion/test.php on line 10


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

    Predefinito

    Qual è la riga 10?


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


  7. #7
    Guest

    Predefinito

    Citazione Originalmente inviato da saitfainder Visualizza messaggio
    Qual è la riga 10?
    Questa è tutta la pagina html:

    <html>

    <body>

    <table>

    <?
    $folderName = "Artisti_Italiani";
    $pagePath = Server.MapPath($_SERVER["Path_Info"]);
    $folderPath = $pagePath.$substr[0,$pagePath.$lastIndexOf["\\"]] + "\\" + $folderName;

    $var $fso = Server.CreateObject("Scripting.FileSystemObject");
    $var $folder = $fso.$GetFolder[$folderPath];
    $var $fc = $new $Enumerator[$folder.$files];
    for (!$fc.$atEnd(); $fc.$moveNext();)
    {
    $fileName = String($fc.$item());
    $fileName = $fileName.$substr[$fileName.$lastIndexOf["\\"]+1];
    echo (('<$tr><$td><$a $href="' + folderName + '/' + fileName + '">' + $fileName +; //</a></td></tr>');
    }
    ?>

    </table>
    </body>
    </html>



    contando dall'alto suppongo sia questa:
    $var $fso = Server.CreateObject("Scripting.FileSystemObject");

    penso..

  8. #8
    Guest

    Predefinito

    Direi che non ci siamo, per convertire un codice da asp a php non basta mettere i $ davanti alle variabili e hai fatto. Studiati il php, oppure di quello che deve fare lo script.

  9. #9
    Guest

    Smile

    Citazione Originalmente inviato da stoner Visualizza messaggio
    Direi che non ci siamo, per convertire un codice da asp a php non basta mettere i $ davanti alle variabili e hai fatto. Studiati il php, oppure di quello che deve fare lo script.
    Diciamo che conosco Asp e non Php, e se avessi avuto tempo di studiarmi php non sarei venuto nel forum non credi?

    Ho fatto una coversione con un tool on line....e quello è il risultato...inoltre quello che ho postato è lo script che mi ha modificato gentilmente virtualcompiler di prima..

    cmq lo script deve leggere tutti i file che sono contenuti in una cartella e di conseguenza crearmi una tabella con il contuto della cartella..

    questo è quello che fa quello in asp...

  10. #10
    Guest

    Predefinito

    Leggere tutti i files in una cartella: scandir()

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

    Predefinito

    Citazione Originalmente inviato da nonsolofusion Visualizza messaggio
    contando dall'alto suppongo sia questa:
    $var $fso = Server.CreateObject("Scripting.FileSystemObject");
    Non c'entra nulla quel $var. Guardando un po' meglio direi che il tuo convertitore ha soltanto tentato di trasformare la sintassi, ma ci sono degli oggetti che in PHP non esistono.


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


  12. #12
    Guest

    Unhappy

    Citazione Originalmente inviato da saitfainder Visualizza messaggio
    Non c'entra nulla quel $var. Guardando un po' meglio direi che il tuo convertitore ha soltanto tentato di trasformare la sintassi, ma ci sono degli oggetti che in PHP non esistono.
    Infatti, immaginavo....
    cosa mi consigliate di guardare gli oggetti uno ad uno e convertirli?
    non riuscite a darmi una mano voi?


    il problema è che non so come li chiama php gli oggetti che vengono usati in asp....


  13. #13
    L'avatar di dementialsite
    dementialsite non è connesso Super Moderatore
    Data registrazione
    19-10-2004
    Residenza
    fuori Padova
    Messaggi
    5,046

    Predefinito

    Ehm... purtroppo la conversione da ASP e PHP non è così semplice, come hai potuto constatare.

    Dato che in questo forum non ci sono molti esperti di ASP, ti consiglierei di seguire questa strategia: inizia con il chiarire che cosa realizza il tuo script in ASP, riga per riga. Da quanto posso immaginare, dovrebbe essere qualcosa del genere:

    1. Crea una variabile "folderName" e assegnagli il valore "Artisti Italiani"
    2. Trova il percorso del file attuale ed mappalo da qualche parte (?!?) sulla variabile "pagePath"
    3. Crea una nuova stringa sulla variabile "filePath", estraendo la parte che va dall'inizio della stringa all'ultima occorrenza del carattere back-slash (\), e concatenando poi nuovamente il carattere back-slash e la variabile "folderName" di cui sopra
    ...

    ... e così via: meglio essere prolissi piuttosto che trascurare qualche dettaglio.

    Una volta ottenute queste informazioni, torchia quanto puoi zio Google per sapere come realizzare le stesse operazioni in PHP. O, se hai difficoltà, posta la lista che hai ottenuto su questo forum... qualcuno dovrebbe essere in grado di darti una mano.

    Stammi bene...
    Ultima modifica di dementialsite : 05-08-2009 alle ore 09.11.35 Motivo: Svarione galattico... ma qualcuno se n'era accorto?!?
    Le questioni tecniche hanno risposte migliori nel forum pubblico, non trovi?

    When you don't know your next step... improvise

    ALTERVISTA WANTS YOU!
    Vuoi diventare moderatore su AlterVista? Scopri come...

  14. #14
    Guest

    Predefinito

    Citazione Originalmente inviato da nonsolofusion Visualizza messaggio
    Diciamo che conosco Asp e non Php, e se avessi avuto tempo di studiarmi php non sarei venuto nel forum non credi?
    Non era una critica, infatti ti ho chiesto di dire cosa vorresti che lo script faceste per dare una mano.

    Citazione Originalmente inviato da nonsolofusion Visualizza messaggio
    cmq lo script deve leggere tutti i file che sono contenuti in una cartella e di conseguenza crearmi una tabella con il contuto della cartella..

    questo è quello che fa quello in asp...
    Codice PHP:
    <?php

    $out
    ="<table>";
    foreach(
    glob("*") as $filename)
    if(
    is_file($filename))
    $out.="<tr><td>{$filename}</td></tr>";

    $out.="</table>";

    echo
    $out;
    ?>
    sul forum ci sono anche altri esempi.

  15. #15
    Guest

    Predefinito

    Attualmente la pagina figura in questo modo:

    <html>

    <body>

    <table>


    <?php



    $folderName = "Artisti_Italiani";
    $pagePath = $_SERVER['DOCUMENT_ROOT'];


    $Path = $pagePath + $folderName;
    // Open the folder
    $DirHandle = @opendir($Path) or die("Unable to open $path");
    // Loop through the files
    $Files = array();
    while (false !== ($File = readdir($DirHandle))){
    echo $File;

    ?>

    </table>
    </body>
    </html>


    io non riesco a trovare il percorso assoluto, quindi il percorso fisico, della cartella, infatti quando cerca di aprirla php mi da l'errore "Unable to Open".
    Sono tutte istruzioni prese da internet.

    Mi sapede dire come si fa a sapere il percorso fisico dei file??

    Grazie

  16. #16
    Guest

    Predefinito

    Codice:
    $Path = $pagePath + $folderName;
    è sbagliato, la concatenazione in php si fa con il punto.
    Codice PHP:
    $Path = $pagePath."/".$folderName;

  17. #17
    Guest

    Predefinito

    Allora...
    diciamo che ho più o meno risolto..
    i dati che ci sono nella directory me li vede.....
    solo che c'è un piccolo problema che non vi ho detto...

    i dati che ci sono nella directory sono a loro volta delle directory,.....
    come faccio a visualizzarle come directory, una volta che me li vede, e magari a riuscirci ad entrare?

    grazie


  18. #18
    Guest

    Thumbs up

    Codice PHP:
    <?php
    function dir_list($directory = FALSE)
    {
    $dirs= array();
    $files = array();

    if (
    $handle = opendir("./" . $directory))
    {
    while (
    $file = readdir($handle))
    {
    if (
    is_dir("./{$directory}/{$file}"))
    {
    if (
    $file != "." & $file != "..") $dirs[] = $file;
    }
    else
    {
    if (
    $file != "." & $file != "..") $files[] = $file;
    }
    }
    }
    closedir($handle);

    reset($dirs);
    sort($dirs);
    reset($dirs);

    reset($files);
    sort($files);
    reset($files);

    echo
    "<strong>Cartelle:</strong>\n<ul>";
    while(list(
    $key, $value) = each($dirs))
    {
    $d++;
    echo
    "<li><a href=\"$_SERVER['PHP_SELF']?dir={$value}\">{$value}/</a>\n";
    }
    echo
    "</ul>\n";
    echo
    "<strong>Files:</strong>\n<ul>";
    while(list(
    $key, $value) = each($files))
    {
    $f++;
    echo
    "<li><a href=\"{$directory}{$value}\">{$value}</a>\n";
    }
    echo
    "</ul>\n";

    if (!
    $d) $d = "0";
    if (!
    $f) $f = "0";
    echo
    "Sono presenti <strong>{$d}</strong> cartelle e <strong>{$f}</strong> file(s).</strong>\n";
    }
    if(!
    $_GET['dir']){
    dir_list("/percorso/tua/cartella/");
    }else
    {
    dir_list($_GET['dir']);
    }
    ?>
    Questo è uno script preso da mrwebmaster.it.
    Mostra la lista di tutte le cartelle e i files presenti in una directory, l'ho modificato perchè cliccando sulle dyrectory vengano visualizzati a loro volat i file e le directory presenti.
    Purtroppo non posso fare di meglio perchè sono di fretta, ma se ci sono problemi fammelo sapere!


    EDIT:
    http://forum.it.altervista.org/php-m...ctory-php.html
    Guarda che ne basta uno di post perchè ti rispondano.
    Ultima modifica di virtualcompiler : 05-08-2009 alle ore 17.04.59

Regole di scrittura

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