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

Discussione: socket

  1. #1

    socket

    dalla mia homepage uso una connessione socket sul mio stesso server per far eseguire una pagina ('stamp.php') dove è presente un window.print() per stampare la stessa senza doverci arrivare via url.
    in pratica:
    if(isset($_GET['stampa'])){
    $fp = fsockopen ("www.scommessecalcio.net", 80, $errno, $errstr, 30);
    if (!$fp) {
    echo "$errstr ($errno)
    \n";
    } else {
    fputs ($fp, "GET /stampa.php HTTP/1.0\r\nHost: www.scommessecalcio.net\r\n\r\n");
    while (!feof($fp)) {
    print $stampa=fread ($fp,1024);
    }
    fclose ($fp);
    }
    }
    così facendo funziona perfettamente tranne per il fatto che mi visualizza le intestazioni della connessione per il print eseguito, ma se tolgo print la variabile $stampa non viene interpretatata e non mi stampa la pagina stampa.php.
    Come posso risolvere, se esiste una soluzione migliore della connessione socket pure può andare bene l'importante che riesco ad esguire la pagina stampa.php senza richiamarla via url.
    Grazie

  2. #2
    allora, la pagina stampa la puoi modificare?

    se si, metti un commento all'inizio prima di tutto,

    poi fai questa modifica:

    $stampa = "";
    while (!feof($fp)) {
    $stampa .= fread ($fp,1024);
    }
    fclose ($fp);
    }
    }

    $output = explode("",$stampa);
    echo $output[1];
    CORROBORANTE
    GLEEEEEERRB!

  3. #3
    complimenti è stata un ottima idea,onestamente non ci avevo pensato proprio.
    grazie

  4. #4
    ho parlato troppo presto.secondo te perchè me lo stampa due volte?

  5. #5
    non saprei passami il codice intero che ci diamo un occhio,... magari è rimasto il vecchio print.
    CORROBORANTE
    GLEEEEEERRB!

  6. #6
    Ciao,
    fai un explode su \r\n\r\n nel risultato che ottieni dalla lettura dal socket.

    Il primo elemento conterrà gli headers, il secondo il body
    per favore NIENTE PVT TECNICI da sconosciuti

  7. #7
    nel file stampa oltre il commento ci sono molte query per visualizzare dei contenuti dal database e anche la funzione per stampare
    <script language="javascript">
    function stampa(){
    window.print();
    }
    </script>
    <body onload="javascript:stampa()">
    la funzione stampa non è ripetuta due volte perchè se tolgo onload non fa niente.

    nel file index.php c'è
    //processo di Stampa.
    if(isset($_GET['stampa'])){
    $fp = fsockopen ("www.scommessecalcio.net", 80, $errno, $errstr, 30);
    if (!$fp) {
    echo "$errstr ($errno)
    \n";
    } else {
    fputs ($fp, "GET /stampa.php HTTP/1.0\r\nHost: www.scommessecalcio.net\r\n\r\n");
    $stampa="";
    while (!feof($fp)) {
    $stampa.=fread ($fp,1024);

    }


    fclose ($fp);
    }
    $output = explode("",$stampa);
    echo $output[1];

    }

    e su un pulsante
    stampa

    questo è tutto quello che ci interessa per far funzionare la stampa.
    il sito il ìn questione è scommessecalcio.net se ti può essere di aiuto

  8. #8
    io ho provato e funziona,... ho fatto anche una modifica per poter vedere le immagini:

    http://new.selit.it/md5.php?stampa=2

    codice:
    <?
    if(isset($_GET['stampa'])){ 
    $host = "www.scommessecalcio.net";
    $fp = fsockopen ($host, 80, $errno, $errstr, 30); 
    if (!$fp) { 
    echo "$errstr ($errno)
    \n"; 
    } else { 
    fputs ($fp, "GET /stampa.php HTTP/1.0\r\nHost: ".$host."\r\n\r\n"); 
    $stampa=""; 
    while (!feof($fp)) { 
    $stampa.=fread ($fp,1024); 
    
    } 
    
    fclose ($fp); 
    }
     
    $output = explode("",eregi_replace("img src=\"","img src=\"http://$host/",$stampa)); 
    echo $output[1]; 
    
    } 
    ?>
    CORROBORANTE
    GLEEEEEERRB!

  9. #9
    questo fatto è strano.
    come richiami tu il file funziona, però tu non apri la connessione con il socket ma apri direttamente il file stampa.php e in questo modo funziona pure a me.prova da un file ad aprire la connessione socket a stampa.php e fammi sapere

  10. #10
    no,.. io ho fatto una copia del tuo script e l'ho mandata in print,... il risultato che ottieni è dal socket... che ci sia qualcosa che non quadra?

    Prova a spiegarti meglio, ti rispondo oggi pomeriggio alle 3 dopo la pausa pranzo.
    CORROBORANTE
    GLEEEEEERRB!

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.