Autor Zpráva
zedna
Profil
Zdravím vás, mám tenhle script na upload obrázků, jenže mi nefunguje přejmenování obrázku a soubory se nahrávají s původním názvem. Nevím si rady,kde je chyba.
<html>
<body>

<form action="upload.php" method="post" enctype="multipart/form-data">
<label for="file"><span id="IL_AD12" class="IL_AD">Filename</span>:</label>
<input type="file" name="file" id="file"><br>
<input type="submit" name="submit" value="Submit">
</form>

</body>
</html>

<?php
$info_file_exts = array("jpg", "jpeg", "gif", "png");
$info_upload_exts = end(explode(".", $_FILES["file"]["name"]));
if ((($_FILES["file"]["type"] == "image/gif")
|| ($_FILES["file"]["type"] == "image/jpeg")
|| ($_FILES["file"]["type"] == "image/png")
|| ($_FILES["file"]["type"] == "image/pjpeg"))
&& ($_FILES["file"]["size"] < 2000000)
&& in_array($info_upload_exts, $info_file_exts))
{
if ($_FILES["file"]["error"] > 0)
{
echo "Return Code: " . $_FILES["file"]["error"] . "<br>";
}
else
{
$info_file_exts = array("jpg", "jpeg", "gif", "png");
if($info_file_exts[0]==’jpg’){
$ink=explode(‘.’.$info_file_exts[0],$_FILES["file"]["name"]);
$time=time();
$info_new_file_name =$ink[0].’_’.$time.’.’.$info_file_exts[0];
}
else if($info_file_exts[1]==’jpeg’){
$ink=explode(‘.’.$info_file_exts[1],$_FILES["file"]["name"]);
$time=time();
$info_new_file_name =$ink[0].’_’.$time.’.’.$info_file_exts[0];
}
else if($info_file_exts[2]==’gif’){
$ink=explode(‘.’.$info_file_exts[2],$_FILES["file"]["name"]);
$time=time();
$info_new_file_name =$ink[0].’_’.$time.’.’.$info_file_exts[0];
}
else if($info_file_exts[3]==’png’){
$ink=explode(‘.’.$info_file_exts[3],$_FILES["file"]["name"]);
$time=time();
$info_new_file_name =$ink[0].’_’.$time.’.’.$info_file_exts[0];
}

$info_old_file_path="images/" . $_FILES["file"]["name"];
$info_new_file_path="images/" . $info_new_file_name;

move_uploaded_file($_FILES["file"]["tmp_name"],
"images/" . $_FILES["file"]["name"]);
$name=rename($info_old_file_path,$info_new_file_path);
echo "<img src='images/" . $info_new_file_name."' style='width:300; height:250px;' />";
echo "</br>Your file is ".$_FILES['file']['name']."  uploaded.";
}
}





else
{
echo "<div class='error'>Invalid file</div>";
}
?>
Alphard
Profil
Fuj, naučte se odsahovat kód :-)

Ale k problému, není třeba řešit přejmenování jako samostatný krok, rovnou dejte jako druhý parametr move_uploaded_file() výsledný název souboru. Kdyby s tím byly nějaké problémy, zobrazte si chyby.
zedna
Profil
super, díky, pomohlo to, měl jsem problémy s přiřazením získané proměnné jako název, ale nakonec jsem ji vložil do formuláře jake echo $name = $_REQUEST["name"];
a s tím odsazováním se polepším ;)

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: