所以我想打开一个文件并在函数上声明这个文件的路径。 在这个函数中我上传文件并返回它的路径..
$file = upload(); <- where i declare the variable
function upload(){
//UPLOAD
if (isset($_FILES['datei'])) {
ini_set("auto_detect_line_endings", true);
$upload_folder = getcwd().'/uploads/'; //Das Upload-Verzeichnis
$filename = pathinfo($_FILES['datei']['name'], PATHINFO_FILENAME);
$extension = strtolower(pathinfo($_FILES['datei']['name'], PATHINFO_EXTENSION));
//Überprüfung der Dateiendung
$allowed_extensions = array('csv');
if(!in_array($extension, $allowed_extensions)) {
die("Ungültige Dateiendung. Nur csv-Dateien sind erlaubt");
}
//Pfad zum Upload
$new_path = $upload_folder.$filename.'.'.$extension;
//Neuer Dateiname falls die Datei bereits existiert
if(file_exists($new_path)) { //Falls Datei existiert, hänge eine Zahl an den Dateinamen
$id = 1;
do {
$new_path = $upload_folder.$filename.'_'.$id.'.'.$extension;
$id++;
} while(file_exists($new_path));
}
//Alles okay, verschiebe Datei an neuen Pfad
move_uploaded_file($_FILES['datei']['tmp_name'], $new_path);
echo 'Datei erfolgreich hochgeladen';
return $new_path;
}
}
这就是我要打开文件的地方
$row = 1;
if (($handle = fopen($file, "r", 1)) !== FALSE) {
while (($data = fgetcsv($handle, 1000, ";")) !== FALSE) {
rowformating($data);
}
fclose($handle);
}
编辑:
似乎只有在我检查文件错误时才出现错误。如果我执行该文件并上传smth“$ file”ist填充上传文件的路径