Archief - file uploaden

Het archief is een bevroren moment uit een vorige versie van dit forum, met andere regels en andere bazen. Deze posts weerspiegelen op geen enkele manier onze huidige ideeën, waarden of wereldbeelden en zijn op sommige plaatsen gecensureerd wegens ontoelaatbaar. Veel zijn in een andere tijdsgeest gemaakt, al dan niet ironisch - zoals in het ironische subforum Off-Topic - en zouden op dit moment niet meer gepost (mogen) worden. Toch bieden we dit archief nog graag aan als informatiedatabank en naslagwerk. Lees er hier meer over of start een gesprek met anderen.

het.pc.schaap

Legacy Member
<form action="?actie=insert_go&mode='.$mode.'" method="post" enctype="multipart/form-data">
<p><input size="40" name="titel" type="text" value="Hier de titel van het artikel" /></p>
<p><input size="40" name="auteur" type="text" value="Hier de auteur" /></p>
<p><input size="40" name="pdf" type="file" /></p>
<p><textarea name="tekst" size="20" cols="65" rows="50" ></textarea></p>
<p><input type="submit" value="Submint" /></p>
</form>

dat is mijn form
en hieronder is dan mijn upload 'functie'
move_uploaded_file($_FILES['pdf']['tmp_name'], "pdf/");

dit geeft echter in al zjin simeplheid al een fout :/

weet iemand waar die zit?

alvast bedankt

Tyfius

Legacy Member
De oplossing is vrij eenvoudig: u doet iets verkeerd.

Ik gok die if() die ge niet in uw code hebt vermeld hier.

Tyfius

Legacy Member
Dat moet gij weten. Ge post hier hoop en al 8 nutteloze regels. Post is wat meer.

het.pc.schaap

Legacy Member
hier onder het form dat bij ?actie=insert wordt opgeroepen
Code:
if ($actie == "insert")
{
echo '
<form action="?actie=insert_go&mode='.$mode.'" method="post" enctype="multipart/form-data">
<p><input size="40" name="titel" type="text" value="Hier de titel van het artikel" /></p>
<p><input size="40" name="auteur" type="text" value="Hier de auteur" /></p>
<p><input size="40" name="pdf" type="file" /></p>
<p><textarea name="tekst" size="20" cols="65" rows="50" ></textarea></p>
<p><input type="submit" value="Submint" /></p>
</form>
';
}

dan bij ?actie=insert_go&mode=' *dit is de naam van de DB waarin ik de andere gegevens in op sla * ':

Code:
if ($actie == "insert_go")
{
	$titel = $_POST['titel'];
	$auteur = $_POST['auteur'];
	$pdf = $_FILES['file']['name'];
	$tekstPOST = $_POST['tekst'];
	$volgorde   = array("\r\n", "\n", "\r");
	$vervang = '<br />';
	$tekst = str_replace($volgorde, $vervang, $tekstPOST);

	$insertGO = mysql_query("INSERT INTO `artikels_". $mode ."` 
	(id,titel,auteur,pdf,tekst)
	VALUES ('','". $titel ."','". $auteur ."','". $_FILES['pdf']['name'] ."','". $tekst ."')
	");

	move_uploaded_file($_FILES['pdf']['name'], "pdf/"); 

	if ( !$insertGO ) {
		echo "De gegevens konden niet ingevoerd worden om volgende reden(en): <br>". mysql_error();
	}
	else
	{
		$insertnieuws = mysql_query("INSERT INTO `nieuws` (id,titel,info,auteur,tekst) VALUES ('','". $titel ."','Het artikel ". $titel ." is toegevoegd aan de". $mode ."e artikels','Mommaerts','Het artikel ". $titel ." is toegevoegd aan de ". $mode ."e artikels') ");
		header('Location:?actie=home&mode=succes');
	}
}

BuZz.LiGhTYeAr

Legacy Member
$pdf = $_FILES['file']['name'];

$_FILES['pdf']['name']

mss eens aanpassen ;)

het.pc.schaap

Legacy Member
BuZz.LiGhTYeAr zei:
$pdf = $_FILES['file']['name'];

$_FILES['pdf']['name']

mss eens aanpassen ;)

ow die variabele wordt niet eens gebruikt xD, staat er dus voor niets tussen.

is dus geen oplossing voor mijn probleem, maar tg bedankt, das al weer een regel minder code

het.pc.schaap

Legacy Member
The_Assman zei:
move_uploaded_file($_FILES['pdf']['tempname'], "pdf/" . $_FILES['pdf']['name']);
Zie PHP: move_uploaded_file - Manual

hij wil om een of andere reden de file niet opslagen. ook niet hier mee:/

(moet het trouwens niet :
move_uploaded_file($_FILES['pdf']['temp_name'], "pdf/" . $_FILES['pdf']['name']);

zijn? temp_name ipv tempname)

bijde werken echter niet :s

alavst bedankt

Zir0h

Legacy Member
het.pc.schaap zei:
hij wil om een of andere reden de file niet opslagen. ook niet hier mee:/

(moet het trouwens niet :
move_uploaded_file($_FILES['pdf']['temp_name'], "pdf/" . $_FILES['pdf']['name']);

zijn? temp_name ipv tempname)

bijde werken echter niet :s

alavst bedankt

Blijkbaar tmp_name... :)
Pff CodeIgniter heeft mijn PHP kennis om zeep geholpen.

Tyfius

Legacy Member
Kijk eens eventuele file upload errors na. [1] Als dat OK is, kijk dan eens of de map waar je je bestand in wil uploaden wel over voldoende rechten beschikt en of die map ook effectief bestaat en het pad naar die map correct is. Je kan misschien ergens in een subdirectory zitten terwijl je in de root directory zou moeten zitten. Op [2] staat een klein voorbeeld.

Tenslotte, elke functie geeft een of andere waarde terug. In het geval van move_uploaded_file() is dat FALSE on error, vang dat eens op vooraleer verder te gaan met je script.

@The_Assman: Ik ken dat probleem. Eens je met een deftig framework hebt gewerkt waarbij alles netjes wordt afgehandeld en die namen anders zijn mis je je wel is vaak. :)

[1] PHP: Error Messages Explained - Manual
[2] PHP: Handling file uploads - Manual
Het archief is een bevroren moment uit een vorige versie van dit forum, met andere regels en andere bazen. Deze posts weerspiegelen op geen enkele manier onze huidige ideeën, waarden of wereldbeelden en zijn op sommige plaatsen gecensureerd wegens ontoelaatbaar. Veel zijn in een andere tijdsgeest gemaakt, al dan niet ironisch - zoals in het ironische subforum Off-Topic - en zouden op dit moment niet meer gepost (mogen) worden. Toch bieden we dit archief nog graag aan als informatiedatabank en naslagwerk. Lees er hier meer over of start een gesprek met anderen.
Terug
Bovenaan