webForumDet fria alternativet

Ladda upp filer

21 svar · 764 visningar · startad av Viking

VikingMedlem sedan maj 20003 652 inlägg
#1

Hej

Går det att ladda upp filer med PHP? Jag är nästan säker på att det går, men har ingen aning om hur! :)

Sen undrar jag också om det går att skapa mappar med PHP, hur? :)

SPiNMedlem sedan mars 20007 896 inlägg
#2

För att ladda upp filer; kolla i wF-Script. Det är enkelt. :)

För att skapa en mapp;

<?php
mkdir ( "/sokvag/till/mapp", 0777 ); // 0777 är filemod ( Som man vanligtvis sätter med chmod () )
?>
VikingMedlem sedan maj 20003 652 inlägg
#3

Tack! :)

Jag sökte i wF-skript, men hittade inget för att ladda upp... Gillar inte sökfunktionen riktigt ;)

SPiNMedlem sedan mars 20007 896 inlägg
VikingMedlem sedan maj 20003 652 inlägg
#5

Tack!

En till fråga :r ;) Hur tar man bort en mapp/fil? Går det?

SPiNMedlem sedan mars 20007 896 inlägg
#6

För att ta bort mappar;

<?php
rmdir ( "/sokvag/till/mapp" );
?>

För att ta bort filer;

<?php
unlink ( "/sokvag/till/fil.php" );
?>
VikingMedlem sedan maj 20003 652 inlägg
#7

Tack så mycket! :D

SPiNMedlem sedan mars 20007 896 inlägg
#8

Se bara till att du har filemode 777 på dina filer/mappar, så att du kan ta bort dem också. :)

Enklast gör du det så här:

<?php
chmod ( $filEllerMapp, 0777 );
?>

Här är en smart funktion för att ta bort en fil, eller alla filer i en mapp + mappen om det är en mapp:

function TaBort ( $filEllerMapp ) {
   if ( !file_exists ( $filEllerMapp ) )
      return false;

   if ( is_dir ( $filEllerMapp ) ) {
      chmod ( $filEllerMapp, 0777 );

      $mappPekare = opendir ( $filEllerMapp ); 
      while ( $fil = readdir ( $mappPekare ) ) {
         if ( substr ( $fil, 0, 1 ) != "." ) {
            unlink ( $filEllerMapp  . "/" . $fil );
         }
      }
      closedir ( $mappPekare );
      return rmdir ( $filEllerMapp );
   }
   else {
      chmod ( $filEllerMapp, 0777 );
      return unlink ( $filEllerMapp );
   }
}

Exempel på anrop:

<?php
$filEllerMapp = "/mapp/mappEllerFil";

if ( TaBort ( $filEllerMapp ) ) {
   echo "Det gick bra!";
}
else {
   echo "Det gick tyvärr inte så bra.";
}
?>
VikingMedlem sedan maj 20003 652 inlägg
#9

Wee :D :D :D

SPiNMedlem sedan mars 20007 896 inlägg
#10

Redigerade lite, kolla igenom inlägget igen. :)

ChavezMedlem sedan maj 20001 953 inlägg
#11

Kan inte låta bli. Men detta inlägget får mig osökt och tänka på en sak ...

Manualen

Nu skall jag sova, ha det bra allihop!

VikingMedlem sedan maj 20003 652 inlägg
#12

Hmm, ser ni något fel? :)

R: $inloggad är namnet på den inloggade (dvs mappen dit bilden ska...)! :)

	$destination = "bilder/users/";
	$destination .= $inloggad;
	chmod ($destination, 0777);
	copy($destination, $file);

Formuläret:

<FORM ACTION="index.php?show=change_image" METHOD="post">
Sökväg:<BR><INPUT TYPE="file" NAME="bild"><BR>
<INPUT TYPE="submit" VALUE="Ändra">
</FORM>

Felmeddelandet:

Warning: Unable to open 'bilder/users/Viking' for reading: Permission denied in C:\Program\Apache Group\Apache\htdocs\webbis\dejta.com\change_image.php on line 11
jonneMedlem sedan jan. 20011 154 inlägg
#13
<FORM ACTION="index.php?show=change_image" METHOD="post">

ska vara

<FORM ACTION="index.php?show=change_image" METHOD="post" [B]ENCTYPE="multipart/form-data"[/B]>
VikingMedlem sedan maj 20003 652 inlägg
#14

Ingn skillnad :(

VikingMedlem sedan maj 20003 652 inlägg
#15

Ingen? :q

SPiNMedlem sedan mars 20007 896 inlägg
#16

Ja, du måste chmodda mappen/-arna så att du får skrivrättigheter.

Helst ska du också sätta ett / längst fram, och utgå från roten på web-mappen.

VikingMedlem sedan maj 20003 652 inlägg
#17
	$destination = "bilder/users/";
	$destination .= $inloggad;
	chmod ("bilder/", 0777);
	chmod ("bilder/users", 0777);
	chmod ($destination, 0777);

Det som inte fungerar är ju att man inte får access dit, jag får inget annat felmeddelande :l

SPiNMedlem sedan mars 20007 896 inlägg
#18

Är det din egen server?

Med Windows:
Öppna Utforskaren > Högerklicka på webmappen > Egenskaper > Välj fliken Säkerhet > Se till så att användaren IUSR_<dindator> har skrivrättigheter på mappen

Med Linux:
I prompten > Skriv "chmod /mapp/till/webmapp 0777

Man måste ju ha rättigheter för att chmodda via PHP också. :)

VikingMedlem sedan maj 20003 652 inlägg
#19

Ok, ska testa :)

R: Gick inte :l Fanns bara en flik, nämligen allmänt... Kör på win 98, påverkar det...? :o

SPiNMedlem sedan mars 20007 896 inlägg
#20

Jag har tyvärr absolut ingen aning om hur man gör med W98/PWS. :(

139 ms totalt · 3 externa anrop · v20260731065814-full.30151723
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
136 ms — hämta tråd, inlägg och bilagor (db)