PHP Upload Script

14 minutes
Share the link to this page
Copied
  Completed
You need to have access to the item to view this lesson.
One-time Fee
$99.99
List Price:  $139.99
You save:  $40
€93
List Price:  €130.20
You save:  €37.20
£80.04
List Price:  £112.06
You save:  £32.01
CA$137.46
List Price:  CA$192.45
You save:  CA$54.99
A$152.16
List Price:  A$213.03
You save:  A$60.87
S$135.55
List Price:  S$189.78
You save:  S$54.22
HK$781.57
List Price:  HK$1,094.24
You save:  HK$312.66
CHF 90.85
List Price:  CHF 127.19
You save:  CHF 36.34
NOK kr1,092.22
List Price:  NOK kr1,529.15
You save:  NOK kr436.93
DKK kr693.66
List Price:  DKK kr971.15
You save:  DKK kr277.49
NZ$166.97
List Price:  NZ$233.77
You save:  NZ$66.79
د.إ367.25
List Price:  د.إ514.17
You save:  د.إ146.91
৳10,995.41
List Price:  ৳15,394.02
You save:  ৳4,398.60
₹8,350.38
List Price:  ₹11,690.87
You save:  ₹3,340.48
RM474.20
List Price:  RM663.90
You save:  RM189.70
₦140,430.95
List Price:  ₦196,608.95
You save:  ₦56,178
₨27,811.82
List Price:  ₨38,937.66
You save:  ₨11,125.84
฿3,694.61
List Price:  ฿5,172.60
You save:  ฿1,477.99
₺3,225.42
List Price:  ₺4,515.72
You save:  ₺1,290.29
B$507.43
List Price:  B$710.43
You save:  B$202.99
R1,857.85
List Price:  R2,601.07
You save:  R743.21
Лв182.19
List Price:  Лв255.08
You save:  Лв72.88
₩136,210.38
List Price:  ₩190,699.98
You save:  ₩54,489.60
₪370.57
List Price:  ₪518.82
You save:  ₪148.24
₱5,735.07
List Price:  ₱8,029.33
You save:  ₱2,294.25
¥15,537.84
List Price:  ¥21,753.60
You save:  ¥6,215.76
MX$1,691.01
List Price:  MX$2,367.48
You save:  MX$676.47
QR364.06
List Price:  QR509.70
You save:  QR145.64
P1,360.66
List Price:  P1,904.98
You save:  P544.31
KSh13,098.69
List Price:  KSh18,338.69
You save:  KSh5,240
E£4,756.64
List Price:  E£6,659.49
You save:  E£1,902.84
ብር5,704.16
List Price:  ብር7,986.06
You save:  ብር2,281.89
Kz83,693.62
List Price:  Kz117,174.42
You save:  Kz33,480.80
CLP$93,652.63
List Price:  CLP$131,117.43
You save:  CLP$37,464.80
CN¥722.46
List Price:  CN¥1,011.48
You save:  CN¥289.01
RD$5,816.45
List Price:  RD$8,143.26
You save:  RD$2,326.81
DA13,451.28
List Price:  DA18,832.33
You save:  DA5,381.05
FJ$227.46
List Price:  FJ$318.45
You save:  FJ$90.99
Q778.38
List Price:  Q1,089.77
You save:  Q311.38
GY$20,959.74
List Price:  GY$29,344.48
You save:  GY$8,384.73
ISK kr13,978.60
List Price:  ISK kr19,570.60
You save:  ISK kr5,592
DH1,004.51
List Price:  DH1,406.36
You save:  DH401.84
L1,772.88
List Price:  L2,482.10
You save:  L709.22
ден5,732.06
List Price:  ден8,025.12
You save:  ден2,293.05
MOP$807.08
List Price:  MOP$1,129.95
You save:  MOP$322.86
N$1,848.73
List Price:  N$2,588.30
You save:  N$739.56
C$3,687.79
List Price:  C$5,163.05
You save:  C$1,475.26
रु13,385.83
List Price:  रु18,740.70
You save:  रु5,354.86
S/373.68
List Price:  S/523.18
You save:  S/149.49
K387.85
List Price:  K543
You save:  K155.15
SAR374.99
List Price:  SAR525.01
You save:  SAR150.01
ZK2,715.07
List Price:  ZK3,801.21
You save:  ZK1,086.13
L462.80
List Price:  L647.94
You save:  L185.14
Kč2,329.86
List Price:  Kč3,261.90
You save:  Kč932.03
Ft36,210.88
List Price:  Ft50,696.68
You save:  Ft14,485.80
SEK kr1,090.42
List Price:  SEK kr1,526.63
You save:  SEK kr436.21
ARS$88,067.42
List Price:  ARS$123,297.91
You save:  ARS$35,230.49
Bs691.01
List Price:  Bs967.44
You save:  Bs276.43
COP$390,100.45
List Price:  COP$546,156.24
You save:  COP$156,055.78
₡51,233.50
List Price:  ₡71,728.95
You save:  ₡20,495.44
L2,475.71
List Price:  L3,466.09
You save:  L990.38
₲747,614.58
List Price:  ₲1,046,690.32
You save:  ₲299,075.74
$U3,836.09
List Price:  $U5,370.68
You save:  $U1,534.59
zł401.29
List Price:  zł561.83
You save:  zł160.53
Already have an account? Log In

Transcript

Hello, in this video we are going to take a look at implementing the PHP upload script. So we have the front end HTML form, which produces this and if we click Upload takes us to the upload dot php file which doesn't exist, hence the error 404. So let's first of all create that. So upload dot php. And also what we're going to do is so this is where all our files are, we're going to create a new folder, I'm gonna call it uploads. So this is basically where all your plugs are gonna be stored.

You can store them in some other folder or literally in here is going to separate a separated out via the moment it's empty. And what we're going to do now is put some PHP First of all, I'm going to do target dir which will be the target directory, and this will be uploads forward slash relatively So far just refresh for tree. So relatively to this, you know file it is in a folder next to it. And now we're going to do targets file equals the target directory. Dot, this is the append feature. And we're going to do base name.

So this will just return you know, the full name of the path. And we need to do dollar underscore files. And this is how we get the file. So we need to do file and what was the core so you got to make sure you put this so file uploading, file uploaded. Then from that we can get a bunch of different things. We want to get the name so essentially The name gives us the path, we have the path to it, we can actually use it, for example, uploading it.

Next, we're gonna say is dot amin dollar upload status equal one. So this will be the status if it's, you know, successfully uploaded or not, which we'll be using in a second. Next, we're going to say image for your type equal to str to lower. And what we're going to do is get the path info of the target file, then we're going to say, path. info extension, because that's what we want is the extension of the file. And now, we want to check if the image you know file is actually an image or not, or if it's maybe a text file.

So to do this really simple just do is is set And in here, just do dollar underscore post. And first of all you we want to check if the submit button was submitted, you know, basically pressed the form or submitted I should say, now we're going to see dollar check equals get image size. So if we get the image size from dollar foils, and we basically want this here and from that, we want the temp name. And if the check is, you know, false then it's not an image. So if we have a sois then is basically an image that's the way you would check and we are going to say if dollar check is easy To false, then we are going to echo out, not an image. And we'll do dollar upload status equals zero.

And we can use this status later on in the page for maybe checking and providing some styling for some sort of error message or showing something else, depending on you know what our website is. And then we'll say else if it fails this, then you file this then it's an image and we'll say echo file is an image. And what we'll say we'll append on dollar check. Mark mine was the morning property. Yeah so what we can do now is just set dollar upload status to one so one just means you know be successful and the other should be good to go so if we go back go to choose file to one upload mine for mine should be mine. Let's see if that's actually uploaded it though.

Okay, so it didn't actually upload it. Let's just try again with the undefined index online soul okay. So we are getting some files, file, upload in Okay, so type equals file that looks okay. Name, file upload in ID, file upload in and then type submit multi part form data. The method is post. Let's try running this again.

Okay, oh yeah, that's fine because I was trying to load the page without actually doing anything. So image, pm PNG, which is what this image is was trying to upload Okay, so seem to be uploading it. Let's refresh the file tree. Nothing there. So uploads it says file is an image which obviously it is. File uploading and get the name.

Base name down the school files. Just going to go through line by line make sure I haven't missed anything. image file type Equals str to lower path info, target file path info extension. So if the submit button has been clicked, get the image size file upload in temp name. say if it's false, not an image, upload status. The reality is if we go back and try and upload something that isn't a image like that, no image so, so that works in terms of being able to detect between the two of them.

But nothing is actually been uploaded, which is strange. actually think I know I've got to actually do the final stage is this check. Yeah. So after that, what we want to do is so we can do it down here. Or we can do it in the submit button, but we'll do it just in case we're doing some other checks as well. So we will say if upload status is equal to zero, then it's failed.

So we'll say echo. While was not uploaded the try again. But if he goes into the house, then That means it is a foil. And if it's for all you want to say is if you want to want to say if so in to move into real flow, so yes, move uploaded file. So it would be dollar underscore files, and then we would literally just need this from here. Then we just need to get the temp name and we need to get the target foil Like to be formatted a certain way.

And now, if this is successful, then it's basically uploaded. And we can say, we can echo foil. Now we can say, dot face name. And we're going to mention you know what the file is. So we'll literally get all of this. Just made a little mistake here, I should have quotation marks.

And we only want the name so we're going to get the extra name. So then the name dot been uploaded. And if this is an else, then we'll say echo. The uploading file, file. Yep. And now if we know again, you can see there is no image there.

Go back to the homepage, select it, go to one, upload it. Line 29 shouldn't have uploaded it gave us an error. Select it again. Upload. So it says move upload, unable to move to uploads and online deal with an arrow uploading file. Okay, so we're getting there with an arrow cloning file.

File Upload in temp name. Target file. We say move uploaded file. Okay, fell to open screen Permission denied. And here let me have a quick look at that error because I have enabled the permission so strange why this isn't working. Wonder if it's just the full grid cells then needs permissions to get info changes to read and write and read them.

Testing been uploaded, there we go. So yeah, you just need to make sure your folder has white permissions on it. And we have our file, which is this file, right here and is the exact size and the modification date and time will be the current time there it was uploaded at. And apart from that, that's all there is to it obviously made a couple of mistakes, but we fix them. And that is it. If you have any questions, feel free to pop me a message.

Over the next few videos, we're going to look at, you know, checking if the file even exists. We're gonna have a look at you know, limiting file size, file type and all of that good stuff. So yeah, if you have any questions, feel free to pop me a message and I look forward to seeing you in the next video.

Sign Up

Share

Share with friends, get 20% off
Invite your friends to LearnDesk learning marketplace. For each purchase they make, you get 20% off (upto $10) on your next purchase.