Witam
Mam pewien problem ze skryptem. Pozwala wyłącznie na wysyłkę plików graficznych, sprawdzając jego wielkość i czy się nie powtarza do konkretnego folderu.
Działa, jeśli folder jest na w tej samej lokalizacji, co plik.php. Jeśli zmienię lokalizację wysyłki do innego folderu (./image/) też działa, ale zaprzestaje wysyłać komunikaty o postępach na poziomie sprawdzania czy się pliki nie dublują.
Tu działający kod:
<?php
function menu()
{
while(($element=readdir($katalog))!==FALSE) {
$spis[]=$element;
}
echo '<form ACTION="'.$PHP_SELF.'" method="post" enctype="multipart/form-data"> Upload Pliku: <input TYPE="file" name="plik" upload_max_filesize="3145728" size="50"><br>Do katalogu : <select name="cat">';
foreach($spis as $wartosc)
{
if($wartosc!='..') echo '<option value="'.$wartosc.'">'.$wartosc.'</option>'; }
echo '</select><br><input type="submit" value="Uploaduj"> <input type="hidden" name="action" value="upload">
</FORM>';
}
function upload() {
$ok=1;
$accept = array('jpg','png','gif','bmp'); $extension = substr($_FILES['plik']['name'],strrpos($_FILES['plik']['name'],'.')+1
);
if($_FILES["plik"]["size"] > 3145728)
{
print 'Plik jest za duży !<br>'; $ok=0;
}
{
echo 'Złe rozszerzenie, tylko jpg, gif, png, bmp.<br>'; $ok=0;
}
if ($ok==0)
{
print "Wybacz, twój plik nie dostał wysłany."; }
else
{
{
copy($_FILES['plik']['tmp_name'], "$cat/".$_FILES['plik']['name']); $plik=$_FILES['plik']['name'];
@chmod($cat.'/'.$_FILES['plik']['name'],0777);
if(file_exists($cat.'/'.$_FILES['plik']['name'])) echo 'Plik '.$plik.' został pomyślnie wgrany do katalogu '.$cat; else 'Podczas wgrywania pliku wystapił nieznany błąd !';
}
else echo 'Plik o takiej nazwie już istnieje, wybierz innš nazwę dla tego pliku !'; }
}
if (!isset($action)) $action="pokaz"; switch($action)
{
case "pokaz":
menu();
break;
default:
upload();
break;
}
?>
A tutaj ze zmianą lokalizacji:
<?php
function menu()
{
while(($element=readdir($katalog))!==FALSE) {
$spis[]=$element;
}
echo '<form ACTION="'.$PHP_SELF.'" method="post" enctype="multipart/form-data"> Upload Pliku: <input TYPE="file" name="plik" upload_max_filesize="3145728" size="50"><br>Do katalogu : <select name="cat">';
foreach($spis as $wartosc)
{
if($wartosc!='..') echo '<option value="'.$wartosc.'">'.$wartosc.'</option>'; }
echo '</select><br><input type="submit" value="Uploaduj"> <input type="hidden" name="action" value="upload">
</FORM>';
}
function upload() {
$ok=1;
$accept = array('jpg','png','gif','bmp'); $extension = substr($_FILES['plik']['name'],strrpos($_FILES['plik']['name'],'.')+1
);
if($_FILES["plik"]["size"] > 3145728)
{
print 'Plik jest za duży !<br>'; $ok=0;
}
{
echo 'Złe rozszerzenie, tylko jpg, gif, png, bmp.<br>'; $ok=0;
}
if ($ok==0)
{
print "Wybacz, twój plik nie dostał wysłany."; }
else
{
if(!file_exists("./image/$cat.'/'".$_FILES['plik']['name'])) {
copy($_FILES['plik']['tmp_name'], "./image/$cat/".$_FILES['plik']['name']); $plik=$_FILES['plik']['name'];
@chmod("./image/$cat.'/'".$_FILES['plik']['name'],0777);
if(file_exists("./image/$cat.'/'".$_FILES['plik']['name'])) echo 'Plik '.$plik.' został pomyślnie wgrany do katalogu '.$cat; else 'Podczas wgrywania pliku wystapił nieznany błąd !';
}
else echo 'Plik o takiej nazwie już istnieje, wybierz innš nazwę dla tego pliku !'; }
}
if (!isset($action)) $action="pokaz"; switch($action)
{
case "pokaz":
menu();
break;
default:
upload();
break;
}
?>
Może ktoś mi podpowiedzieć gdzie albo w czym jest błąd?