Frage

Ich glaube nicht wp-content/uploads.

Was die Frage aufwirft - muss ich wirklich den gesamten Prozess durchlaufen Filesystem API (einschließlich treffender Bitten nach FTP -Anmeldeinformationen bei Bedarf) oder wp_mkdir_p() Ist dafür gut genug?

War es hilfreich?

Lösung

wp-content/uploads/ sollte für den Server beschreibbar sein (ansonsten wäre es unmöglich, eine Datei hochzuladen, nein?). Wenn Sie unter diesem Verzeichnis etwas erstellen wollen, ist es sicher zu bedienen wp_mkdir_p().

Ich würde nur benutzen WP_Filesystem Wenn es die Möglichkeit gibt, dass der Server keine Berechtigungen hat, an den Ort zu schreiben, wie in wp-content/plugins/, Was muss nicht für den Server beschreibbar sein (zumindest denke ich, dass es nicht sein muss?).

Randnotiz: Die Seite "Dateiberechtigungen" des Codex spricht auch über a wp-content/cache/ Verzeichnis. Wäre dies ein "mehr Standard" -Port für Cache -Dateien?

Andere Tipps

Ich würde etwas Einfaches ausprobieren, bevor ich mich mit einem endlosen Meer von Möglichkeiten/Hosting -Setups herumspiele:

$target = 'wherever';
wp_mkdir_p( $target );

if ( wp_mkdir_p( $target ) === TRUE )
{
    echo "Folder $target successfully created";
}
else
{
    new WP_Error; #... etc. Just tell where the user has to make a new folder with the name xy
    // or if you're kool, you use _doing_it_wrong(); ... ;-)
}

Nur ein Kopf, um Ihr Plugin Dateien/Ordner zu erstellen: Mein Plugin hat das auch getan, und ich habe eine Reihe von Problemen mit Dateiberechtigungen für verschiedene Benutzer gestoßen. Einige sind Fenster, andere sind Unix, andere gehostet und andere zu Hause. Es war meine Nr. 1 Support -E -Mail, als ich das Plugin geteilt habe.

Ich habe meinen Code neu gestellt, um die Notwendigkeit zu minimieren, die Dateisysteme zu berühren, und das Upload -Verzeichnis ist das einzige, das ich jetzt verwende, um solche Probleme zu vermeiden.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit wordpress.stackexchange
scroll top