Heim >Backend-Entwicklung >PHP-Tutorial >Yii lädt die Datei „move_uploaded_file' hoch und benennt die Funktion um. Es wird ein Fehler gemeldet
Das liegt daran, dass sich die Zeichenkodierung von PHP von der von Windows unterscheidet. Die vereinfachte chinesische Version von Windows verwendet im Allgemeinen die gbk- oder gb2312-Kodierung für die Benennung von Dateinamen. Die meisten Werte von Nicht-ASCII-Stringvariablen in PHP verwenden die UTF8-Codierung (dieser Standardwert kann natürlich geändert werden ...). Die Variable $name muss in die GBK-Kodierung konvertiert werden, bevor sie benannt und im Windows-Dateisystem gespeichert werden kann. Mit der Funktion mb_convert_encoding können Sie die Kodierung einer Zeichenfolge konvertieren.
Gehen Sie davon aus, dass PHP utf8-codiert ist, und ändern Sie dann move_uploaded_file($tmp_name,'upload/'.$name); im Code in move_uploaded_file($tmp_name,'upload/'.mb_convert_encoding (( $name));
Das Obige stellt den von move_uploaded_file gemeldeten Fehler und die Umbenennungsfunktion der von yii hochgeladenen Dateien vor, einschließlich des relevanten Inhalts. Ich hoffe, dass es für Freunde hilfreich ist, die an PHP-Tutorials interessiert sind.