Предполагается, что мой php-скрипт просто берет имя файла и в определенном каталоге выводит содержимое файла. Проблема заключается в том, что он делает это, НО, по-видимому, еще раз вызывает case, приводящее к ошибкам выбрасывания, я попытался заменить switch на if / else, но все равно он вызывает сам себя (код, связанный с case: «1»). Вот ошибка:
Warning: fopen(C:/xampp/htdocs/phptut/practice/) [function.fopen]: failed to open stream: No such file or directory in C:\xampp\htdocs\phptut\practice\fileuploadread.php on line 8
Warning: fread() expects parameter 1 to be resource, boolean given in C:\xampp\htdocs\phptut\practice\fileuploadread.php on line 9
Warning: fclose() expects parameter 1 to be resource, boolean given in C:\xampp\htdocs\phptut\practice\fileuploadread.php on line 10
И это код:
switch($_GET['id']){
case"1":
{ //here $file gets the pathtothefile + filename
$file="C:/xampp/htdocs/phptut/practice/" . $_POST["element"];
$fh=fopen($file,"r");
$contents=fread($fh,filesize($file));
fclose($fh);
//It does output the $contents at this point
echo $contents;
}
break;
default:{
echo"
<html>
<head>
<style type='text/css'>
fieldset{
background-color:lightblue;
border-color:blue;
width:50%;
margin-left:auto;
margin-right:auto;
margin-top:200px;
}
legend{
color:blue;
}
</style>
</head>
<body>
<fieldset>
<legend> Upload Your CV </legend>
<form method='POST' name='form' action='fileuploadread.php?id=1'>
<input type='input' name='element' size='20' /><br/>
<input type='submit' value='submit...'/>
</form>
</fieldset>
</body>
</html>
";
} }
?>