Visualizzazione dei risultati da 1 a 5 su 5

Discussione: Problema Include

  1. #1

    Problema Include

    Salve ho un problema con un include del mio sito hokutodestiny.com che mi permetteva di mostrare gli ultimi topics dal forum che si trova ad un altro indirizzo hokutodestinyforum.com

    Ha tutto funzionato bene per anni,poi ha smesso di farlo e mi da questo errore:


    Warning: include() [function.include]: URL file-access is disabled in the server configuration in D:\inetpub\webs\hokutodestinycom\ultimi_topics.php on line 8

    Ho contattato l'assistenza e mi hanno detto che c'è da modificare lo script utilizzato per prendere i topics dal forum e adattarlo al php 5.2.5.

    Lo script è questo:

    <?php

    // **************************************** //
    // Original mod submitted by Miles Johnson. //
    // Completely rewritten by Anthony Petito.. //
    // V2.0: 4 April 2005...................... //
    // V2.1: 10 April 2005..................... //
    // **************************************** //

    // This mod will pull the latest X posts from your forum and display them on your website.
    // This new version will also handle forums that you do not wish to show (excluded forums)

    // Put this file where your FORUMS are located (e.g, http://domain.tld/forum).
    // This should be in the same path as your conf_global.php file
    // I've commented most of the code so that it's fairly understandable, however,
    // if you're unsure of what's going on here, stick to the comments on where to edit this file for your site.

    // For this to work properly, copy the following code into your website. Change it to match the link to THIS file.
    /* <?php include("http://domain.tld/forum/latest_posts.php");?> */

    /////////////////////////////
    // User Editable variables //
    /////////////////////////////

    // Change this to the number of posts you would like to show.
    $posts = 10;

    // If you would like this mod to cut topics after a certain character length, leave this at 1. Otherwise, change it to 0.
    $showtopiclength = 1;

    // Length of title to display before cutting off. If topic title length exceeds this value, it is followed by ellipses (...)
    // Only useful if the above varaible is set to 1.
    $topiclength = 40;

    // Add forumid's to exclude from. For example, you might want to exclude your private forums so that posts from it
    // do not show up. Seperate each forumid by a comma and ensure there's no spaces in between.
    $forumexclude = "17,18,19,33,34,38";

    // The following 2 lines can be changed to however you want the date and time to be displayed.
    // Default date: dd month year
    // Default time: hh:mm ampm TIMEZONE (12 hour time)
    // For more information on how the next 2 lines can be changed, please reference the README file.
    $datedisplay = 'd F Y';
    $timedisplay = 'h:i A T';

    //////////////
    // Required //
    //////////////

    require "ips_kernel/class_db_mysql.php";
    require "conf_global.php";

    //////////////
    // Database //
    //////////////

    $db = new db_driver;
    $db->obj['sql_database'] = $INFO['sql_database'];
    $db->obj['sql_user'] = $INFO['sql_user'];
    $db->obj['sql_pass'] = $INFO['sql_pass'];
    $db->obj['sql_host'] = $INFO['sql_host'];
    $db->obj['sql_tbl_prefix'] = $INFO['sql_tbl_prefix'];

    // Connect to DB
    $db->connect();

    // Query the DB with the supplied user inputted variables.
    $getposts = $db->query("SELECT posts, last_poster_name, last_poster_id, title, tid, forum_id, last_post FROM ibf_topics WHERE (forum_id NOT IN ($forumexclude)) ORDER BY last_post DESC LIMIT $posts");

    // Format and display the results.
    while ($post = $db->fetch_row($getposts)) {
    $post[full_title] = $post[title];
    if ($showtopiclength == 1 AND strlen($post[full_title]) > $topiclength) {
    $post[short_title] = substr($post[full_title],0,$topiclength);
    $post[short_title] = $post[short_title]."...";
    }
    else {
    $post[short_title] = $post[full_title];
    }

    $posted_on = date($datedisplay, $post[last_post]); // Need to change mySQL timestamp to something more human readable.
    $today_date = date($datedisplay, time()); // Grab today's date so we can compare it against the posted date

    // If it was posted today, we want to display "Today, hh:mm AMPM"
    If ($posted_on == $today_date) {
    $datefield = "Today";
    $datefield = $datefield . ", " . date($timedisplay, $post[last_post]);
    }

    // If it was posted yesterday, we want to display "Yesterday, hh:mm AMPM"
    elseif (date('d F Y',strtotime("-1 day")) == $posted_on) {
    $datefield = "Yesterday";
    $datefield = $datefield . ", " . date($timedisplay, $post[last_post]);
    }

    else {
    $datefield = $today_date;
    }

    echo
    /////////////////
    // Post Format //
    /////////////////
    // Between the EOD markers you can put whatever you want in HTML format. Just ensure that the link stays somewhat the same.
    <<<EOD

    $post[short_title] by
    $post[last_poster_name]

    $datefield, with $post[posts] replies.



    EOD;
    }

    ?>


    Spero ci sia qualche Maestro disposto ad aiutarmi.
    Grazie mille.

  2. #2
    La configurazione del php non ti permette più di fare include per un file remoto

    prova con questo codice

    <? echo implode("\n",file('http://www.hokutodestinyforum.com/latest_posts.php')); ?>

    se va, siamo tutti contenti, altrimenti dovresti provare con cURL

    saluti

  3. #3

    Re: Problema Include

    Originariamente inviato da *Imperator*
    Warning: include() [function.include]: URL file-access is disabled in the server configuration in D:\inetpub\webs\hokutodestinycom\ultimi_topics.php on line 8
    L'errore è piuttosto chiaro. Non puoi fare un include HTTP ne utilizzare file_get_contents() con un URL.

    Se i due domini risiedono sullo stesso server, puoi provare a fare un include tramite path invece che tramite URL.

    In alternativa, puoi provare con CURL oppure fsockopen() anche se è probabile che non siano attive nemmeno queste due funzioni.

  4. #4
    Ho risolto con la dritta di moty66.
    Grazie mille!

  5. #5
    Se ti basta inviare il risultato al client è più performante utilizzare http://www.php.net/readfile . Se devi manipolare il contenuto prima di inviarlo al client, utilizza http://www.php.net/file_get_contents

    Utilizzare l'accoppiata file()/implode() introduce un inutile overhead.

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.