Archief - PHP: Uploaden wil maar niet lukken

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.

Brock

Legacy Member
Hey,

Ik zit nu al een tijdje te sukkelen aan een eenvoudig upload dingetje en omdat het nu al té veel van m'n tijd in beslag aan't nemen is en ik er echt niet aan uitraak post ik het hier maar eens.

Ik heb een formulier:

Code:
  <h1>album: {albumName}</h1>
  <form name="form1" method="post" action="{link}">
    <table width="440" border="0" cellspacing="0" cellpadding="0">
  	<tr>
  	  <td width="135">Select single file </td>
  	  <td width="305">
  		  <input type="file" name="txtSingleFile" enctype="multipart/form-data">
 		 <input name="btnSingleUpload" type="submit" id="btnSingleUpload" value="Upload">
  	  </td>
  	</tr>
  	<tr>
  	  <td>&nbsp;</td>
  	  <td>supported types: .gif .jpg</td>
  	</tr>
  	<tr>
  	  <td>or</td>
  	  <td>&nbsp;</td>
  	</tr>
  	<tr>
  	  <td>&nbsp;</td>
  	  <td>&nbsp;</td>
  	</tr>
  	<tr>
  	  <td>Select zip file </td>
  	  <td>
  		  <input type="file" name="txtBatchFile" enctype="multipart/form-data">
 		 <input name="btnBatchUpload" type="submit" id="btnBatchUpload" value="Upload">
  	  </td>
  	</tr>
  	<tr>
  	  <td>&nbsp;</td>
  	  <td>supported types: .zip .rar </td>
  	</tr>
    </table>
  </form>

{link} wordt ingevuld als index.php?action=do_creategallery

in de index.php heb ik hetvolgende staan:

PHP:
  	case "do_creategallery":
  	{
  		if(isset($_POST["btnSingleUpload"]))
  		{
  			if ($_FILES['txtSingleFile']['type'] == "image/pjpg")
  			{
 		 	copy ($_FILES['txtSingleFile']['tmp_name'], "userdata/BroQ/test.jpg") or die ("Could not copy"); 
  				$imageURL = "test.jpg";
  			}
  			if ($_FILES['txtSingleFile']['type'] == "image/gif")
  			{
 		 	copy ($_FILES['txtSingleFile']['tmp_name'], "userdata/BroQ/test.jpg") or die ("Could not copy"); 
  				$imageURL = "test.gif";
  			}
  			//echo $imageurl;
  			else 
  			{
 		 	echo "De foto kon niet geupload worden, het moet ofwel een .jpg bestand zijn, ofwel een .gif bestand.";
  			}
 		 //move_uploaded_file($_FILES['txtSingleFile']['name'], "userdata/BroQ/test.jpg");
  		}
  		else
  		{
  			die("nok :'(");
  		}
 		//move_uploaded_file($_FILES['userfile']['tmp_name'], "/plaats/om/heen/te/verplaatsen");
  		break;
  	}

Ik krijg steeds volgende melding bij de upload van een .gif of een .jpg bestand: "De foto kon niet geupload worden, het moet ofwel een .jpg bestand zijn, ofwel een .gif bestand." terwijl het wel degelijk een bestand van het correcte formaat is.
De upload doe ik via deze:

<input type="file" name="txtSingleFile" enctype="multipart/form-data">

die batchupload moet ik nog doen ( als ik dees aan het werken krijg natuurl ijk eerst :) )

Wat zie ik over het hoofd?
Normaal zouden er geen fouten in de php code mogen zitten. Het is alsof hij helemaal geen file doorkrijgt.

Poutie

Legacy Member
volgens mij wordt uwe foto gewoon niet upgeload... dus heeft ie geen img-type ook.
ge kunt eerst es checken of uwe foto wel wordt upgeload met:

Code:
if (is_uploaded_file($_FILES['txtSingleFile']['tmp_name']))

en dan

Code:
copy ($_FILES['txtSingleFile']['tmp_name'], "userdata/BroQ/test.jpg")

enne, moet die enctype="multipart/form-data niet in uwe form tag staan?

maT'

Legacy Member
ipv van copy kan je mss ook beter move_uploaded_file() gebruiken.

btw:
je form-headers zouden als volgt moeten zijn:
<form enctype="multipart/form-data" name="form1" method="post" action="{link}">

en het hoort dus niet bij <input type="file" name="txtSingleFile" enctype="multipart/form-data">

Brock

Legacy Member
de fout was "image/jpeg" ivp "image/pjpg" of "image/jpg"

soit :)
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