Avviso durante l'utilizzo di <?php include 'thefile.php'; ?>

20 nov 2011, 06:13:47
Visualizzazioni: 24K
Voti: 1

Avrei bisogno di ulteriore aiuto con questo problema

Ho fatto una domanda su come importare del codice con PHP, in questo caso si tratta di una sidebar che verrà utilizzata in alcune pagine del sito web. È WordPress e può eseguire PHP da post/pagine e l'ho anche testato direttamente nel codice principale

Quando ho posto la domanda, la soluzione migliore e più semplice sarebbe stata quella di creare un file e utilizzare include

Ho creato thefile.php e l'ho messo nella directory del tema dove si trovano tutti gli altri file .php utilizzati. Nel file ho inserito solo del HTML base come

<div id=the-id"> 
      <p> un testo di prova </p>
</div> 

Poi ho inserito il codice include scritto come sotto nel mio template

<?php include 'thefile.php'; ?>

Facendo questo vedo il mio testo "un testo di prova" ma ricevo anche diversi avvisi

Warning: include(/wp-content/themes/thetheme/thefile.php) [function.include]: failed to open stream: No such file or directory in /home/cplac/public_html/wp-content/plugins/exec-php/includes/runtime.php(42) : eval()'d code on line 22

E anche questo

Warning: include() [function.include]: Failed opening '/wp-content/themes/thetheme/thefile.php' for inclusion (include_path='.:/usr/lib/php:/usr/local/lib/php:/home/cplac/public_html/wp-content/plugins/wpsyndicator:/home/cplac/public_html/wp-content/plugins/wp-external-links/includes/phpQuery/:/home/cplac/public_html/wp-content/plugins/wp-external-links/includes/phpQuery/plugins/') in /home/cplac/public_html/wp-content/plugins/exec-php/includes/runtime.php(42) : eval()'d code on line 22

Qualcuno può aiutarmi con questo? Ho testato sia nelle pagine che nei file del tema e così via!

php
0
Tutte le risposte alla domanda 3
1

Il metodo di Wordpress per includere file php è utilizzare questa funzione:

<?php get_template_part('myfile'); ?>

che includerà il file myfile.php presente nella stessa directory del template.

Vedi http://codex.wordpress.org/Function_Reference/get_template_part per altri parametri.

20 nov 2011 07:08:59
Commenti

Dato che l'OP (@Mathias) sta utilizzando WordPress come framework, questo sarebbe effettivamente il metodo migliore.

Johannes Pille Johannes Pille
20 nov 2011 08:32:16
2

Devi aggiungere /home/cplac/public_html/ al tuo percorso di inclusione.

20 nov 2011 06:19:32
Commenti

Grazie, questo ha risolto il problema :D

User User
20 nov 2011 06:24:33

@MathiasÅsberg, dovresti contrassegnare questa risposta come accettata, se ha risolto il tuo problema. Per favore leggi le FAQ: http://stackoverflow.com/faq

User User
20 nov 2011 06:45:39
3

include è simile a

include = 'thefile.php';

d'altro canto è necessario specificare anche il percorso corretto al file a partire dal livello root o dal livello adiacente in cui risiede il file.

Ad esempio, supponiamo di inserire un file nella cartella "images" sul mio server. E il percorso del file sarebbe /images/thefile.php

quindi con questo l'include apparirebbe così

include = '/images/thefile.php';

nota a margine, lavorare con WP può a volte essere frustrante.. ma in generale WP è PHP quindi tutto ciò che funziona in PHP funzionerà anche con WP nel complesso.

nel tuo caso, basandoti sull'errore, potrebbe essere qualcosa tipo..

include = '/wp-content/themes/thetheme/thefile.php';

Ma dovresti, tramite il tuo client ftp o equivalente, navigare fino a quel percorso e caricare il file all'interno.

20 nov 2011 06:18:36
Commenti

1) La sintassi include va bene senza parentesi. 2) A cosa è relativo "/images"?

User User
20 nov 2011 06:20:45

Hai ragione... Sono solo molto abituato a scrivere con una sintassi diversa a causa degli MVC che uso ultimamente. E images era solo un esempio... niente di più

User User
20 nov 2011 06:23:32

Per quanto ne so, questo è totalmente sbagliato! Questo genera un errore di sintassi in PHP. include è una parola chiave, non puoi assegnargli alcun valore.

Mike Mike
5 ott 2018 09:06:54