Hallo, warum wird die return-anweisung im unteren if-zweig nicht abgearbeitet?
PHP-Code:
<?php
class file_check {
var $index = 0;
function file_c( $filename ) {
if( file_exists( $filename ) ){
$this->index++;
$chunks = explode(".", $filename );
$chunksnum = count( $chunks ) - 1;
if( substr_count( $filename, "_") ){
//echo "enthält _";
$filenr = "_" . substr( $chunks[ $chunksnum - 1 ], strrpos( $chunks[ $chunksnum - 1 ], "_") + 1 ); $filenr++;
$prefile = "." . substr( $chunks[ $chunksnum - 1 ], 0, strrpos( $chunks[ $chunksnum - 1 ], "_"));
$postfile = "." . $chunks[ $chunksnum ];
$this->file_c( $prefile.$filenr.$postfile );
} else {
$filenr = "_" . $this->index;
$postfile = "." . $chunks[ $chunksnum ];
unset( $chunks[ $chunksnum ] );
$prefile = "." . implode( $chunks );
$this->file_c( $prefile.$filenr.$postfile );
}
} else {
if( $this->index > 0 ){
// echo gibt hier den gewünschten dateinamen aus.
echo "<br />testausgabe: " . $filename;
$output = $filename;
//das folgende return wird nicht abgearbeitet.
return "output: " . $output;
} else {
$output = $filename;
return $output;
}
}
//echo $output;
}
function put_test(){
return $this->test;
}
}
$test = new file_check;
$valid_file = $test->file_c( $_SESSION['uploaddir'] . $_FILES['newPic']['name'] );
echo "<br /><br />valid_file: " . $valid_file;
Kommentar