Képfeltöltés után hivatkozás kiírása, kép megjelenítése
upload.php tartalma:
És ezt szeretném úgy megcsinálni, hogy képfeltöltés után kiírja a kép linkjét, esetleg magát a képet is mutassa, de megelégednék az előzővel is. Előre is nagyon köszönöm...
■ <?php
$imagesonly = false;
$basedir = ".";
$filetypesinf = "filetypes.txt";
$allowfiletyopesonly = true;
// <--- NO USER EDITABLE PARTS BELOW THIS LINE --->
session_start();
if($imagesonly == false AND $allowfiletyopesonly == true)
{
$fa = fopen($filetypesinf, 'r');
while($line = fgets($fa, 1024))
{
if(ereg("\n",$line))
{
$line = ereg_replace("\n","", $line);
}
$filetypes[$line] = $line;
}
fclose($fa);
}
define("STEP1","<html>\n<head>\n<title>Feltöltés</title>\n</head>\n<form action=\"" .
$_SERVER['php_self'] . "\" method=\"get\">\nHány fájlt szeretnél feltölteni? <input
type=\"text\" size=\"1\" value=\"5\" name=\"filestoupload\"/>\n<br />\n<input
type=\"submit\">\n</form>\n</body>\n</html>");
$step2 = "<html>\n<head>\n<title>Feltöltés</title>\n</head>\n<form action=\"" .
$_SERVER['php_self'] . "\" method=\"post\" enctype=\"multipart/form-data\">\n{FORM}\n<input
type=\"submit\" name=\"upload\" value=\"Feltöltés\" />\n</form></body>\n</html>";
function map_dirs($path)
{
if(is_dir($path))
{
if($contents = opendir($path))
{
while(($node = readdir($contents)) !== false)
{
if($node!="." && $node!="..")
{
if(is_dir($path."/".$node) AND is_writable($path .
"/" . $node))
{
$_SESSION['path'] .= "<option value=\"" .
$path . "/" . $node . "\">" . $path . "/" . $node . "</option>\n";
map_dirs($path . "/" . $node);
}
}
}
}
}
}
$_SESSION['path'] = "";
map_dirs($basedir);
if(Empty($_POST['upload']))
{
if(Empty($_GET['filestoupload']))
{
die(STEP1);
}
else
{
$counter = 1;
for($i=0; $i != $_GET['filestoupload']; $i++)
{
$form .= "File " . $counter++ . "\n<br />\n<input type=\"file\"
name=\"" . $i . "\" /> Helye: <select name=\"place" . $i . "\" size=\"1\">\n" .
$_SESSION['path'] . "</select>\n<br />\n";
}
die(ereg_replace('{FORM}', $form, $step2));
}
}
else
{
foreach($_FILES as $file)
{
if(!empty($file['tmp_name']))
{
if($imagesonly == true)
{
$size = getimagesize($file['tmp_name']);
if(!$size)
{
print $file['name'] . " feltöltése <font
color=\"ff0000\">sikertelen</font>, mivel az nem kép!\n<br />\n";
}
else
{
if(@copy($file['tmp_name'], $_POST['place' .
key($_FILES)] . '/' . $file['name']))
{
print $file['name'] . " feltöltése <font
color=\"00ff00\">sikeres</font>\n<br />\n";
}
else
{
print $file['name'] . " feltöltése <font
color=\"ff0000\">sikertelen</font>, mivel belső hiba történt...\n<br />\n";
}
}
}
else
{
if($allowfiletyopesonly == false AND
!empty($filetypes[$file['type']]))
{
print $file['name'] . " feltöltése <font
color=\"ff0000\">sikertelen</font>, mivel a file típus nem megengedett...(" . $file['type']
. ")\n<br />\n";
}
else
{
if(!Is_dir($_POST['place' . key($_FILES)]))
{
print $file['name'] . " feltöltése <font
color=\"ff0000\">sikertelen</font>, mivel a megadott könyvtár nem létezik...\n<br />\n";
}
else
{
if(@copy($file['tmp_name'], $_POST['place'
. key($_FILES)] . '/' . $file['name']))
{
print $file['name'] . " feltöltése
<font color=\"00ff00\">sikeres</font>\n<br />\n";
}
else
{
print $file['name'] . " feltöltése
<font color=\"ff0000\">sikertelen</font>, mivel belső hiba történt...\n<br />\n";
}
}
}
next($_FILES);
}
}
}
}
?>
filetypes.txt
tartalma:text/plain
image/gif
application/octet-stream
image/gif
application/octet-stream
És ezt szeretném úgy megcsinálni, hogy képfeltöltés után kiírja a kép linkjét, esetleg magát a képet is mutassa, de megelégednék az előzővel is. Előre is nagyon köszönöm...
<Nincs cím>
<Nincs cím>
<Nincs cím>
Olvass doksit
A PHP dokumentációjában (php.net) az opendir parancs dokumentációjánál legalább 10 példát találsz hasonló dolgokra. Mielőtt postolsz, illene elolvasni a dokumentációkat.