ftp_rename ist eine integrierte Funktion in PHP, die Dateien oder Verzeichnisse auf einem FTP-Server umgebaut. Die grundlegende Syntax ist wie folgt:
<span><span><span class="hljs-keyword">bool</span></span><span> </span><span><span class="hljs-title function_ invoke__">ftp_rename</span></span><span> ( resource </span><span><span class="hljs-variable">$ftp_stream</span></span><span> , </span><span><span class="hljs-keyword">string</span></span><span> </span><span><span class="hljs-variable">$from</span></span><span> , </span><span><span class="hljs-keyword">string</span></span><span> </span><span><span class="hljs-variable">$to</span></span><span> )
</span></span>$ ftp_stream : Der Ressourcenhandle für die FTP -Verbindung muss eine FTP -Verbindung sein, die durch Funktionen wie FTP_CONNECT oder FTP_SSL_CONNECT erstellt wurde.
$ von : Der Pfad zur Originaldatei oder zum zu umbenannten Verzeichnis.
$ TO : Der Pfad zur neuen Datei oder zum neuen Verzeichnis, dh den umbenannten Namen.
Diese Funktion gibt true zurück, wenn der Umbenennungsbetrieb erfolgreich ist, und fehlerhaft zurückgibt, wenn der Vorgang fehlschlägt.
Zunächst müssen Sie über die Funktion ftp_connect eine Verbindung zum FTP -Server herstellen. Wenn der FTP -Server eine Authentifizierung erfordert, müssen Sie auch die Funktion ftp_login verwenden, um sich anzumelden.
<span><span><span class="hljs-meta"><?php</span></span><span>
</span><span><span class="hljs-variable">$ftp_server</span></span><span> = </span><span><span class="hljs-string">"ftp.example.com"</span></span><span>;
</span><span><span class="hljs-variable">$ftp_username</span></span><span> = </span><span><span class="hljs-string">"username"</span></span><span>;
</span><span><span class="hljs-variable">$ftp_password</span></span><span> = </span><span><span class="hljs-string">"password"</span></span><span>;
</span><span><span class="hljs-comment">// GründenFTPverbinden</span></span><span>
</span><span><span class="hljs-variable">$ftp_conn</span></span><span> = </span><span><span class="hljs-title function_ invoke__">ftp_connect</span></span><span>(</span><span><span class="hljs-variable">$ftp_server</span></span><span>) </span><span><span class="hljs-keyword">or</span></span><span> </span><span><span class="hljs-keyword">die</span></span><span>(</span><span><span class="hljs-string">"无法verbinden到FTPServer"</span></span><span>);
</span><span><span class="hljs-comment">// EinloggenFTPServer</span></span><span>
</span><span><span class="hljs-variable">$login</span></span><span> = </span><span><span class="hljs-title function_ invoke__">ftp_login</span></span><span>(</span><span><span class="hljs-variable">$ftp_conn</span></span><span>, </span><span><span class="hljs-variable">$ftp_username</span></span><span>, </span><span><span class="hljs-variable">$ftp_password</span></span><span>);
</span><span><span class="hljs-keyword">if</span></span><span> (!</span><span><span class="hljs-variable">$login</span></span><span>) {
</span><span><span class="hljs-keyword">die</span></span><span>(</span><span><span class="hljs-string">"Fehler bei der Anmeldung。"</span></span><span>);
}
</span><span><span class="hljs-meta">?></span></span><span>
</span></span>Verwenden Sie die Funktion ftp_rename , um das Verzeichnis auf dem FTP -Server umzubenennen. Angenommen, wir müssen /old_directory in /new_directory umbenennen, können wir es mit dem folgenden Code implementieren:
<span><span><span class="hljs-meta"><?php</span></span><span>
</span><span><span class="hljs-variable">$old_dir</span></span><span> = </span><span><span class="hljs-string">"/old_directory"</span></span><span>;
</span><span><span class="hljs-variable">$new_dir</span></span><span> = </span><span><span class="hljs-string">"/new_directory"</span></span><span>;
</span><span><span class="hljs-comment">// Benennen Sie das Verzeichnis um</span></span><span>
</span><span><span class="hljs-keyword">if</span></span><span> (</span><span><span class="hljs-title function_ invoke__">ftp_rename</span></span><span>(</span><span><span class="hljs-variable">$ftp_conn</span></span><span>, </span><span><span class="hljs-variable">$old_dir</span></span><span>, </span><span><span class="hljs-variable">$new_dir</span></span><span>)) {
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"Verzeichnis erfolgreich umbenennen!"</span></span><span>;
} </span><span><span class="hljs-keyword">else</span></span><span> {
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"Umbenennung des Verzeichnisses fehl!"</span></span><span>;
}
</span><span><span class="hljs-meta">?></span></span><span>
</span></span>Nach Abschluss des Umbenennens des Verzeichnisses sollte die Verbindung zum FTP -Server geschlossen werden und die Ressourcen sollten veröffentlicht werden:
<span><span><span class="hljs-meta"><?php</span></span><span>
</span><span><span class="hljs-comment">// SchließungFTPverbinden</span></span><span>
</span><span><span class="hljs-title function_ invoke__">ftp_close</span></span><span>(</span><span><span class="hljs-variable">$ftp_conn</span></span><span>);
</span><span><span class="hljs-meta">?></span></span><span>
</span></span>Bei der Verwendung der Funktion ftp_rename gibt es mehrere Dinge zu achten:
Stellen Sie sicher, dass das FTP -Konto über ausreichende Berechtigungen verfügt, um den Verzeichnisnamen bei der Durchführung des Umbenennens zu ändern. Wenn das FTP -Konto nicht über die entsprechenden Berechtigungen verfügt, wird ftp_rename nicht erfolgreich ausgeführt.
Die Funktion ftp_rename überprüft nicht, ob das Quellverzeichnis existiert. Wenn das angegebene Quellverzeichnis nicht vorhanden ist oder der Pfad falsch ist, schlägt die Operation fehl. Um dies zu vermeiden, können Sie ftp_chdir oder ftp_nlist verwenden, um zu überprüfen, ob das Quellverzeichnis existiert.
<span><span><span class="hljs-meta"><?php</span></span><span>
</span><span><span class="hljs-keyword">if</span></span><span> (</span><span><span class="hljs-title function_ invoke__">ftp_chdir</span></span><span>(</span><span><span class="hljs-variable">$ftp_conn</span></span><span>, </span><span><span class="hljs-variable">$old_dir</span></span><span>)) {
</span><span><span class="hljs-keyword">if</span></span><span> (</span><span><span class="hljs-title function_ invoke__">ftp_rename</span></span><span>(</span><span><span class="hljs-variable">$ftp_conn</span></span><span>, </span><span><span class="hljs-variable">$old_dir</span></span><span>, </span><span><span class="hljs-variable">$new_dir</span></span><span>)) {
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"Verzeichnis erfolgreich umbenennen!"</span></span><span>;
} </span><span><span class="hljs-keyword">else</span></span><span> {
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"Umbenennung des Verzeichnisses fehl!"</span></span><span>;
}
} </span><span><span class="hljs-keyword">else</span></span><span> {
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"Das Quellverzeichnis existiert nicht!"</span></span><span>;
}
</span><span><span class="hljs-meta">?></span></span><span>
</span></span>Der in ftp_rename angegebene Pfad ist relativ zum Pfad des FTP -Root -Verzeichnisses, daher müssen Sie die Richtigkeit des Pfades sicherstellen. Wenn Sie das Verzeichnis oder die Datei im Stammverzeichnis umbenennen müssen, können Sie den Verzeichnisnamen direkt verwenden. Wenn es sich um ein Unterverzeichnis handelt, muss es einen vollständigen relativen Pfad enthalten.
Verwandte Tags:
FTP