Billede opload fejler?
Hej Eksperter, jeg skal ligge et billede op i 2 mapper, men i den ene mappe som hedder "forside" må den kun få navnet "forside.jpg" og i den anden mappe som hedder "test" lige nu er det ligegyldigt hvad navn den får.jeg har en kode der ser sådan her ud:
<?php
if (isset($_FILES['upfile'])) {
//til brug for info om filtyper
$str1 = $_FILES['upfile']['name'];
$str2 = $_FILES['upfile']['size'];
$str3 = $_FILES['upfile']['type'];
//Filer som kan uploades
$filetyper = array("image/gif", "text/html", "text/plain", "image/jpeg", "image/pjpeg", "image/png");
//stien, hvortil filerne skal placeres
$dist = "../forside/";
//Tjek om der er en fil, samt om den overholder filtypen som kan uploades
if (isset($_FILES['upfile']['name']) && $_FILES['upfile']['name'] == "") {
echo"Ingen fil valgt! <a href=\"$_SERVER[HTTP_REFERER]\">tilbage</a></td>\n";
echo"</tr></table>\n";
echo"</center>\n";
echo"</body></html>";
exit;
}elseif (!in_array($_FILES['upfile']['type'], $filetyper)) {
echo "Filen kan ikke uploades.<br>\n<b>$str3</b> er ikke tilladt for upload! <a href=\"$_SERVER[HTTP_REFERER]\">tilbage</a></td>\n";
echo"</tr></table>\n";
echo"</center>\n";
echo"</body></html>";
exit;
}
echo"Ønsket fil til upload:<p>\n";
if (isset($_FILES['upfile']['name']) && $_FILES['upfile']['name'] !="") {
//se http://dk.php.net/manual/en/function.is-uploaded-file.php for "is_uploaded_file"
if(is_uploaded_file($_FILES['upfile']['tmp_name'])) {
//Flyt filen fra upload-tmp til et dir. Husk at ændre "$dist" ovenover så det passer med din server :O)
$fil = "skifttal.txt";
if (!($fp = fopen($fil, "r"))) die ("Kan ikke åbne tæller fil.");
//Læser de første 20 chars
$filer = (int) fread($fp, 20);
fclose($fp);
++$filer;
$fp = fopen($fil, "w");
fwrite($fp, $filer);
fclose($fp);
// Array med filtyper, til brug for det endelige filnavn
$filetypes = array(1 => "gif", 2 => "jpg", 3 => "png");
$str = getimagesize($_FILES['upfile']['tmp_name']);
$type = strtr($str[2], $filetypes);
$nytnavn = "forside.jpg";
move_uploaded_file($_FILES['upfile']['tmp_name'], $dist . $nytnavn);
}else{
echo"Desværre, men upload skete IKKE!";
}
echo "<b>Navn:</b> $str1, <b>størrelse:</b> $str2 bytes, <b>filtype:</b> $str3<br>\n";
echo"</p>";
}
}else{
echo "Du skal vælge en fil til upload. <a href=\"upload.php\">upload.php</a>";
}
?>
<?php
if (isset($_FILES['upfile'])) {
//til brug for info om filtyper
$str1 = $_FILES['upfile']['name'];
$str2 = $_FILES['upfile']['size'];
$str3 = $_FILES['upfile']['type'];
//Filer som kan uploades
$filetyper = array("image/gif", "text/html", "text/plain", "image/jpeg", "image/pjpeg", "image/png");
//stien, hvortil filerne skal placeres
$dist = "../test/";
//Tjek om der er en fil, samt om den overholder filtypen som kan uploades
if (isset($_FILES['upfile']['name']) && $_FILES['upfile']['name'] == "") {
echo"Ingen fil valgt! <a href=\"$_SERVER[HTTP_REFERER]\">tilbage</a></td>\n";
echo"</tr></table>\n";
echo"</center>\n";
echo"</body></html>";
exit;
}elseif (!in_array($_FILES['upfile']['type'], $filetyper)) {
echo "Filen kan ikke uploades.<br>\n<b>$str3</b> er ikke tilladt for upload! <a href=\"$_SERVER[HTTP_REFERER]\">tilbage</a></td>\n";
echo"</tr></table>\n";
echo"</center>\n";
echo"</body></html>";
exit;
}
echo"Ønsket fil til upload:<p>\n";
if (isset($_FILES['upfile']['name']) && $_FILES['upfile']['name'] !="") {
//se http://dk.php.net/manual/en/function.is-uploaded-file.php for "is_uploaded_file"
if(is_uploaded_file($_FILES['upfile']['tmp_name'])) {
//Flyt filen fra upload-tmp til et dir. Husk at ændre "$dist" ovenover så det passer med din server :O)
$fil = "test.txt";
if (!($fp = fopen($fil, "r"))) die ("Kan ikke åbne tæller fil.");
//Læser de første 20 chars
$filer = (int) fread($fp, 20);
fclose($fp);
++$filer;
$fp = fopen($fil, "w");
fwrite($fp, $filer);
fclose($fp);
// Array med filtyper, til brug for det endelige filnavn
$filetypes = array(1 => "gif", 2 => "jpg", 3 => "png");
$str = getimagesize($_FILES['upfile']['tmp_name']);
$type = strtr($str[2], $filetypes);
$nytnavn = ($filer+1) .".". $type;
move_uploaded_file($_FILES['upfile']['tmp_name'], $dist . $nytnavn);
}else{
echo"Desværre, men upload skete IKKE!";
}
echo "<b>Navn:</b> $str1, <b>størrelse:</b> $str2 bytes, <b>filtype:</b> $str3<br>\n";
echo"</p>";
}
}else{
echo "Du skal vælge en fil til upload. <a href=\"upload.php\">upload.php</a>";
}
?>
kan det bruges?
