Page 1 sur 1

Upload d'image qui ne fonctionne pas

Posté : 22 août 2020, 19:21
par superNoob
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

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(); }
et voilà le fichier upload.php qui me renvoie au dernier else à chaque fois

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"); } } } } ?>

Re: Upload d'image qui ne fonctionne pas

Posté : 24 août 2020, 11:33
par Spols
il te faut remonter de ton message d'erreur trouver la condition qui n'est pas respecter, trouver pourquoi etc.
mais la sans aucune indentation de code difficile de t'aider.