Upload d'image qui ne fonctionne pas
Posté : 22 août 2020, 19:21
Hello, j'ai crée un formulaire pour uploader des images dans un répertoire, mais le script me plante à chaque fois sur
->setFlash('danger', "couln't move or download picture"); alors que j'aimerais créer le fichier...
Si quelqu'un pouvait m'aider ce serait super !
Je suis sûr que c'est la fonction create picture qui est incomplête , si quelqu'un a la solution svp !? Merci !
Voilà la fonction create_picture
et voilà le fichier upload.php qui me renvoie au dernier else à chaque fois
->setFlash('danger', "couln't move or download picture"); alors que j'aimerais créer le fichier...
Si quelqu'un pouvait m'aider ce serait super !
Je suis sûr que c'est la fonction create picture qui est incomplête , si quelqu'un a la solution svp !? Merci !
Voilà la fonction create_picture
Code : Tout sélectionner
function create_picture($db, $title, $width, $height, $tag, $filename, $price, $userid)
{
$high_quality_key = mt_rand(0, 10000000);
$high_quality_key = base64_encode($high_quality_key);
$db->query("INSERT INTO pictures SET title = ?, width = ?, height = ?, tag = ?, filename = ?, price = ?, high_quality = ?, created_on = NOW(), user_id = ?", [
$title,
$width,
$height,
$tag,
$filename,
$price,
$high_quality_key,
$userid
]);
$db->lastInsertId();
} Code : Tout sélectionner
else
{
$_POST['name'] = str_replace("..", "", $_POST['name']);
$_POST['name'] = str_replace(" ", "", $_POST['name']);
$_POST['name'] = str_replace("/", "", $_POST['name']);
if (!file_exists("/upload/{$_POST['tag']}/"))
{
mkdir("/upload/{$_POST['tag']}", 0777, True);
}
$filename = "/upload/{$_POST['tag']}/{$_POST['name']}";
$relfilename = "{$_POST['tag']}/{$_POST['name']}";
if ($_POST['price'] < 0)
{
$_POST['price'] = abs($_POST['price']);
}
if (file_exists($filename))
{
$new_name = tempnam("/upload", $filename);
if ($url) {
file_put_contents($new_name, file_get_contents($url));
}
else
{
move_uploaded_file($_FILES['pic']['tmp_name'], $new_name);
}
$id = Pictures::add_conflict($filename, $new_name, $_POST['tag'], $_POST['title'], $_POST['price'], $user['id']);
App::redirect(Pictures::$CONFLICT_URL . "?conflictid={$id}");
}
else
{
if ($url) {
file_put_contents($filename, file_get_contents($url));
}
else
{
move_uploaded_file($_FILES['pic']['tmp_name'], $filename);
}
if (file_exists($filename))
{
if ($id = Pictures::create_picture($db, $_POST['title'], 128, 128, $_POST['tag'], $relfilename, $_POST['price'], $user['id']))
{
Pictures::batch_resize($filename);
App::redirect(Pictures::$VIEW_PIC_URL . "?picid={$id}");
$file_uploaded = True;
}
else
{
Session::getInstance()->setFlash('danger', "Couldn't create your picture, something wrong with the database");
}
}
else
{
Session::getInstance()->setFlash('danger', "Couldn't move or download picture");
}
}
}
}
?>