login  Naam:   Wachtwoord: 
Registreer je!
 Forum

Copy foto werkt niet (Opgelost)

Offline juser100 - 09/11/2007 14:32
Avatar van juser100MySQL interesse Ik heb een aantal bestanden waarin ik eerst een 'fotogroep' aanmaak waarna ik foto's aan die groep koppel. Bij het aanmaken van de groepen wordt er op de server ook een map gemaakt met diezelfde naam en hierin moeten dan ook de foto's komen.

Alles werkt, ook de verwijzingen naar de mappen etc. alleen wordt het de foto zelf niet daadwerkelijk geupload naar de betreffende map.

Dit is tabel in sql:
  1. CREATE TABLE `foto` (
  2. `FotoID` int(11) NOT NULL AUTO_INCREMENT,
  3. `Fotogroep` varchar(50) DEFAULT NULL,
  4. `Titel` varchar(200) NOT NULL DEFAULT '',
  5. `Foto` varchar(200) NOT NULL DEFAULT '',
  6. `Datum` date NOT NULL DEFAULT '0000-00-00',
  7. `Omschrijving` varchar(200) NOT NULL DEFAULT '',
  8. UNIQUE KEY `FotoID` (`FotoID`)
  9. ) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=33 ;


Dit gebruik ik voor het copyen van de foto naar de server:
  1. <?
  2. {
  3. INCLUDE("connect.php");
  4.  
  5. $naam = $_FILES['Foto']['name'];
  6. $type = $_FILES['Foto']['type'];
  7. $size = $_FILES['Foto']['size'];
  8. copy($_FILES['foto']['tmp_name'], "image/".$Fotogroep."/".$naam);
  9.  
  10. $Foto = "image/".$Fotogroep."/".$naam;
  11. $Datum = "$yyyy$mm$dd";
  12.  
  13. $sql="INSERT INTO foto(FotoID,Fotogroep,Titel,Foto,Datum,Omschrijving) VALUES('".$FotoID."','".$Fotogroep."','".$Titel."','".$Foto."','".$Datum."','".$Omschrijving."')";
  14. $result = mysql_query($sql) OR die(mysql_error());
  15.  
  16. ECHO"<META HTTP-EQUIV=\"refresh\" CONTENT=\"0; URL=foto.php\">";
  17. }
  18. ?>


Iemand tips?

8 antwoorden

Gesponsorde links
Offline Mad_Mike - 09/11/2007 14:33
Avatar van Mad_Mike PHP beginner kijk eens naar de functie: http://nl2.php.net/is%20uploaded%20file
Offline juser100 - 09/11/2007 14:39 (laatste wijziging 09/11/2007 14:44)
Avatar van juser100 MySQL interesse Daarbij ga je ervan uit dat er toch al iets geuploaded is toch? Dat is bij mij niet het geval, het maakt netjes de verwijzing in de tabel aan maar er wordt niks daadwerkelijk op de server gezet.

Als ik de copy gebruik op deze manier zou 't er toch ook op moeten komen??
Offline Mad_Mike - 09/11/2007 14:45
Avatar van Mad_Mike PHP beginner Nee, daar is die functie niet voor bedoeld.
Eventueel kan je ook kijken naar: http://nl2.php....d-file.php
Offline juser100 - 09/11/2007 14:48
Avatar van juser100 MySQL interesse Ik zal 't wel niet begrijpen maar dat is toch ook weer om iets wat al reeds online staat te verplaatsen binnen het domein? Ik zoek iets van een fout of dergelijke waarom 't bovenstaande niet werkt zoals 't zou moeten..
Offline Mad_Mike - 09/11/2007 14:50
Avatar van Mad_Mike PHP beginner Nee volgens mij begrijp jij het niet nee... jij wilt de copy functie gebruiken om bestanden van de client naar de server te kopieren, maar dit kan niet. Daarvoor heb je de functie nodig zoals ik hierboven aangaf. Lees ook even de omschrijving en voorbeelden voor die op de php.net pagina staan. En dan ook meteen voor de copy functie.
Offline juser100 - 09/11/2007 14:57 (laatste wijziging 09/11/2007 15:00)
Avatar van juser100 MySQL interesse Ik heb ook een script gepoogd te gebruiken dat onder tutorials staat maar daarmee werkt 't ook niet. Ik zou graag een praktische oplossing zien in plaats van dat ik met een kluitje het riet in word gestuurd!
Offline Mad_Mike - 09/11/2007 15:08
Avatar van Mad_Mike PHP beginner Zoek en gij zult vinden....
http://www.site...amp;cat=14

Hier staan meer dan genoeg goede voorbeelden. Probeer dan eerst gewoon de foto te uploaden naar de server, als dat goed gaat koppel het database gedeelte eraan.
Offline juser100 - 09/11/2007 15:56 (laatste wijziging 09/11/2007 16:26)
Avatar van juser100 MySQL interesse Dit heb ik er nu uitgekregen:
  1. <?
  2. INCLUDE("connect.php");
  3.  
  4. $naam = $_FILES['foto']['name'];
  5.  
  6. $locatie="image/".$Fotogroep."/".$naam."";
  7. $toegestaan = array ("jpg", "gif", "png");
  8.  
  9. if(isset($_POST['OK']))
  10. {
  11. if(is_uploaded_file($_FILES['Foto']['tmp_name']))
  12. {
  13. $extensie_bestand = pathinfo($_FILES['Foto']['name']);
  14. $extensie_bestand = $extensie_bestand[extension];
  15.  
  16. $extensies_toegestaan = explode(", ", $toegestaan);
  17.  
  18. $ok = in_array($extensie_bestand, $toegestaan);
  19.  
  20. if($ok == 1)
  21. {
  22. if(!move_uploaded_file($_FILES['Foto']['tmp_name'],$locatie.$_FILES['Foto']['name']))
  23. {
  24. Het bestand kan niet worden verplaatst";
  25. }
  26. $Foto = "image/".$Fotogroep."/".$naam."";
  27. $Datum = "$yyyy$mm$dd";
  28.  
  29. $sql="INSERT INTO foto(FotoID,Fotogroep,Titel,Foto,Datum,Omschrijving) VALUES('".$FotoID."','".$Fotogroep."','".$Titel."','".$Foto."','".$Datum."','".$Omschrijving."')";
  30. $result = mysql_query($sql) or die(mysql_error());
  31.  
  32. ECHO"<META HTTP-EQUIV=\"refresh\" CONTENT=\"0; URL=fotoitem.php\">";
  33. }
  34. ELSE
  35. {
  36. Verkeerde extentie";
  37. }
  38. }
  39. ELSe
  40. {
  41. Het uploaden is mislukt
  42. ";
  43. }
  44. }
  45. ?>


Hij upload de foto nu wel, maar zet de bestandsnaam er dubbel neer, zoals: "foto.jpgfoto.jpg". In de database werkt 't verder wel
Gesponsorde links
Dit onderwerp is gesloten.
Actieve forumberichten
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.201s